comparison libpurple/protocols/silc/silcpurple.h @ 17568:980a104267da

Patch from Pekka Riikonen to update the SILC protocol plugin to work with SILC Toolkit 1.1 I added the fallback to SILC Toolkit 1.0 support (silc10 protocol directory) and configure.ac adjustments, any problems with this are 100% my fault.
author Stu Tomlinson <stu@nosnilmot.com>
date Sat, 09 Jun 2007 17:31:28 +0000
parents 6c3b44ac71f3
children 9a96d8711303
comparison
equal deleted inserted replaced
17567:ba1b50f114f6 17568:980a104267da
2 2
3 silcpurple.h 3 silcpurple.h
4 4
5 Author: Pekka Riikonen <priikone@silcnet.org> 5 Author: Pekka Riikonen <priikone@silcnet.org>
6 6
7 Copyright (C) 2004 Pekka Riikonen 7 Copyright (C) 2004 - 2007 Pekka Riikonen
8 8
9 This program is free software; you can redistribute it and/or modify 9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by 10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; version 2 of the License. 11 the Free Software Foundation; version 2 of the License.
12 12
64 64
65 /* The SILC Purple plugin context */ 65 /* The SILC Purple plugin context */
66 typedef struct SilcPurpleStruct { 66 typedef struct SilcPurpleStruct {
67 SilcClient client; 67 SilcClient client;
68 SilcClientConnection conn; 68 SilcClientConnection conn;
69 SilcPublicKey public_key;
70 SilcPrivateKey private_key;
69 71
70 guint scheduler; 72 guint scheduler;
71 PurpleConnection *gc; 73 PurpleConnection *gc;
72 PurpleAccount *account; 74 PurpleAccount *account;
73 unsigned long channel_ids; 75 unsigned long channel_ids;
83 unsigned int roomlist_canceled : 1; 85 unsigned int roomlist_canceled : 1;
84 unsigned int chpk : 1; 86 unsigned int chpk : 1;
85 } *SilcPurple; 87 } *SilcPurple;
86 88
87 89
90 void silc_say(SilcClient client, SilcClientConnection conn,
91 SilcClientMessageType type, char *msg, ...);
92 SilcBool silcpurple_command_reply(SilcClient client, SilcClientConnection conn,
93 SilcCommand command, SilcStatus status,
94 SilcStatus error, void *context, va_list ap);
88 gboolean silcpurple_check_silc_dir(PurpleConnection *gc); 95 gboolean silcpurple_check_silc_dir(PurpleConnection *gc);
89 void silcpurple_chat_join_done(SilcClient client,
90 SilcClientConnection conn,
91 SilcClientEntry *clients,
92 SilcUInt32 clients_count,
93 void *context);
94 const char *silcpurple_silcdir(void); 96 const char *silcpurple_silcdir(void);
95 const char *silcpurple_session_file(const char *account); 97 const char *silcpurple_session_file(const char *account);
96 void silcpurple_verify_public_key(SilcClient client, SilcClientConnection conn, 98 void silcpurple_verify_public_key(SilcClient client, SilcClientConnection conn,
97 const char *name, SilcSocketType conn_type, 99 const char *name,
98 unsigned char *pk, SilcUInt32 pk_len, 100 SilcConnectionType conn_type,
99 SilcSKEPKType pk_type, 101 SilcPublicKey public_key,
100 SilcVerifyPublicKey completion, void *context); 102 SilcVerifyPublicKey completion,
103 void *context);
101 GList *silcpurple_buddy_menu(PurpleBuddy *buddy); 104 GList *silcpurple_buddy_menu(PurpleBuddy *buddy);
102 void silcpurple_add_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group); 105 void silcpurple_add_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group);
103 void silcpurple_send_buddylist(PurpleConnection *gc); 106 void silcpurple_send_buddylist(PurpleConnection *gc);
104 void silcpurple_remove_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group); 107 void silcpurple_remove_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group);
105 void silcpurple_buddy_keyagr_request(SilcClient client, 108 void silcpurple_buddy_keyagr_request(SilcClient client,
106 SilcClientConnection conn, 109 SilcClientConnection conn,
107 SilcClientEntry client_entry, 110 SilcClientEntry client_entry,
108 const char *hostname, SilcUInt16 port); 111 const char *hostname, SilcUInt16 port,
112 SilcUInt16 protocol);
109 void silcpurple_idle_set(PurpleConnection *gc, int idle); 113 void silcpurple_idle_set(PurpleConnection *gc, int idle);
110 void silcpurple_tooltip_text(PurpleBuddy *b, PurpleNotifyUserInfo *user_info, gboolean full); 114 void silcpurple_tooltip_text(PurpleBuddy *b, PurpleNotifyUserInfo *user_info, gboolean full);
111 char *silcpurple_status_text(PurpleBuddy *b); 115 char *silcpurple_status_text(PurpleBuddy *b);
112 gboolean silcpurple_ip_is_private(const char *ip); 116 gboolean silcpurple_ip_is_private(const char *ip);
113 void silcpurple_ftp_send_file(PurpleConnection *gc, const char *name, const char *file); 117 void silcpurple_ftp_send_file(PurpleConnection *gc, const char *name, const char *file);
138 int silcpurple_chat_send(PurpleConnection *gc, int id, const char *msg, PurpleMessageFlags flags); 142 int silcpurple_chat_send(PurpleConnection *gc, int id, const char *msg, PurpleMessageFlags flags);
139 void silcpurple_chat_set_topic(PurpleConnection *gc, int id, const char *topic); 143 void silcpurple_chat_set_topic(PurpleConnection *gc, int id, const char *topic);
140 PurpleRoomlist *silcpurple_roomlist_get_list(PurpleConnection *gc); 144 PurpleRoomlist *silcpurple_roomlist_get_list(PurpleConnection *gc);
141 void silcpurple_roomlist_cancel(PurpleRoomlist *list); 145 void silcpurple_roomlist_cancel(PurpleRoomlist *list);
142 void silcpurple_chat_chauth_show(SilcPurple sg, SilcChannelEntry channel, 146 void silcpurple_chat_chauth_show(SilcPurple sg, SilcChannelEntry channel,
143 SilcBuffer channel_pubkeys); 147 SilcDList channel_pubkeys);
144 void silcpurple_parse_attrs(SilcDList attrs, char **moodstr, char **statusstr, 148 void silcpurple_parse_attrs(SilcDList attrs, char **moodstr, char **statusstr,
145 char **contactstr, char **langstr, char **devicestr, 149 char **contactstr, char **langstr, char **devicestr,
146 char **tzstr, char **geostr); 150 char **tzstr, char **geostr);
147 #ifdef SILC_ATTRIBUTE_USER_ICON 151 #ifdef SILC_ATTRIBUTE_USER_ICON
148 void silcpurple_buddy_set_icon(PurpleConnection *gc, PurpleStoredImage *img); 152 void silcpurple_buddy_set_icon(PurpleConnection *gc, PurpleStoredImage *img);