3 * Purple is the legal property of its developers, whose names are too numerous
4 * to list here. Please refer to the COPYRIGHT file distributed with this
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
23 /* oscarcommon.h contains prototypes for the protocol functions used by libaim.c
29 #include "accountopt.h"
35 #define AIM_DEFAULT_LOGIN_SERVER "login.oscar.aol.com"
36 #define AIM_ALT_LOGIN_SERVER "login.messaging.aol.com"
37 #define AIM_DEFAULT_SSL_LOGIN_SERVER "slogin.oscar.aol.com"
38 #define ICQ_DEFAULT_LOGIN_SERVER "login.icq.com"
39 #define ICQ_DEFAULT_SSL_LOGIN_SERVER "slogin.icq.com"
41 #define AIM_DEFAULT_KDC_SERVER "kdc.uas.aol.com"
42 #define AIM_DEFAULT_KDC_PORT 443
45 * Using clientLogin requires a developer ID. This key is for libpurple.
46 * It is the default key for all libpurple-based clients. AOL encourages
47 * UIs (especially ones with lots of users) to override this with their
50 #define ICQ_DEFAULT_DIST_ID 1553
51 #define ICQ_DEFAULT_CLIENT_KEY "ma15d7JTxbmVG-RP"
52 #define AIM_DEFAULT_DIST_ID 1717
53 #define AIM_DEFAULT_CLIENT_KEY "ma19CwYN9i9Mw5nY"
55 #define OSCAR_DEFAULT_LOGIN_PORT 5190
57 #define OSCAR_OPPORTUNISTIC_ENCRYPTION "opportunistic_encryption"
58 #define OSCAR_REQUIRE_ENCRYPTION "require_encryption"
59 #define OSCAR_NO_ENCRYPTION "no_encryption"
61 #define OSCAR_MD5_LOGIN "md5_login"
62 #define OSCAR_CLIENT_LOGIN "client_login"
63 #define OSCAR_KERBEROS_LOGIN "kerberos_login"
66 #define OSCAR_DEFAULT_CUSTOM_ENCODING "ISO-8859-1"
68 #define OSCAR_DEFAULT_CUSTOM_ENCODING oscar_get_locale_charset()
70 #define OSCAR_DEFAULT_AUTHORIZATION TRUE
71 #define OSCAR_DEFAULT_HIDE_IP TRUE
72 #define OSCAR_DEFAULT_WEB_AWARE FALSE
73 #define OSCAR_DEFAULT_ALWAYS_USE_RV_PROXY FALSE
74 #define OSCAR_DEFAULT_ALLOW_MULTIPLE_LOGINS TRUE
75 #define OSCAR_DEFAULT_LOGIN OSCAR_CLIENT_LOGIN
76 #define OSCAR_DEFAULT_ENCRYPTION OSCAR_OPPORTUNISTIC_ENCRYPTION
79 const char *oscar_get_locale_charset(void);
81 PurpleMood
* oscar_get_purple_moods(PurpleAccount
*account
);
82 const char *oscar_list_icon_icq(PurpleAccount
*a
, PurpleBuddy
*b
);
83 const char *oscar_list_icon_aim(PurpleAccount
*a
, PurpleBuddy
*b
);
84 const char* oscar_list_emblem(PurpleBuddy
*b
);
85 char *oscar_status_text(PurpleBuddy
*b
);
86 void oscar_tooltip_text(PurpleBuddy
*b
, PurpleNotifyUserInfo
*user_info
, gboolean full
);
87 GList
*oscar_status_types(PurpleAccount
*account
);
88 GList
*oscar_blist_node_menu(PurpleBlistNode
*node
);
89 GList
*oscar_chat_info(PurpleConnection
*gc
);
90 GHashTable
*oscar_chat_info_defaults(PurpleConnection
*gc
, const char *chat_name
);
91 void oscar_login(PurpleAccount
*account
);
92 void oscar_close(PurpleConnection
*gc
);
93 int oscar_send_im(PurpleConnection
*gc
, PurpleMessage
*msg
);
94 void oscar_set_info(PurpleConnection
*gc
, const char *rawinfo
);
95 unsigned int oscar_send_typing(PurpleConnection
*gc
, const char *name
, PurpleIMTypingState state
);
96 void oscar_get_info(PurpleConnection
*gc
, const char *name
);
97 void oscar_set_status(PurpleAccount
*account
, PurpleStatus
*status
);
98 void oscar_set_idle(PurpleConnection
*gc
, int time
);
99 void oscar_change_passwd(PurpleConnection
*gc
, const char *old
, const char *new);
100 void oscar_add_buddy(PurpleConnection
*gc
, PurpleBuddy
*buddy
, PurpleGroup
*group
, const char *msg
);
101 void oscar_remove_buddy(PurpleConnection
*gc
, PurpleBuddy
*buddy
, PurpleGroup
*group
);
102 void oscar_add_permit(PurpleConnection
*gc
, const char *who
);
103 void oscar_add_deny(PurpleConnection
*gc
, const char *who
);
104 void oscar_rem_permit(PurpleConnection
*gc
, const char *who
);
105 void oscar_rem_deny(PurpleConnection
*gc
, const char *who
);
106 void oscar_join_chat(PurpleConnection
*gc
, GHashTable
*data
);
107 char *oscar_get_chat_name(GHashTable
*data
);
108 void oscar_chat_invite(PurpleConnection
*gc
, int id
, const char *message
, const char *name
);
109 void oscar_chat_leave(PurpleConnection
*gc
, int id
);
110 int oscar_send_chat(PurpleConnection
*gc
, int id
, PurpleMessage
*msg
);
111 void oscar_keepalive(PurpleConnection
*gc
);
112 void oscar_alias_buddy(PurpleConnection
*gc
, const char *name
, const char *alias
);
113 void oscar_move_buddy(PurpleConnection
*gc
, const char *name
, const char *old_group
, const char *new_group
);
114 void oscar_rename_group(PurpleConnection
*gc
, const char *old_name
, PurpleGroup
*group
, GList
*moved_buddies
);
115 void oscar_convo_closed(PurpleConnection
*gc
, const char *who
);
116 const char *oscar_normalize(const PurpleAccount
*account
, const char *str
);
117 void oscar_set_icon(PurpleConnection
*gc
, PurpleImage
*img
);
118 void oscar_remove_group(PurpleConnection
*gc
, PurpleGroup
*group
);
119 gboolean
oscar_can_receive_file(PurpleConnection
*gc
, const char *who
);
120 void oscar_send_file(PurpleConnection
*gc
, const char *who
, const char *file
);
121 PurpleXfer
*oscar_new_xfer(PurpleConnection
*gc
, const char *who
);
122 gboolean
oscar_offline_message(const PurpleBuddy
*buddy
);
123 gssize
oscar_get_max_message_size(PurpleConversation
*conv
);
124 GList
*oscar_get_actions(PurpleConnection
*gc
);
125 const gchar
*oscar_get_login_server(gboolean is_icq
, gboolean use_ssl
);
126 gboolean
oscar_uri_handler(const char *proto
, const char *cmd
, GHashTable
*params
);