Merged pidgin/main into default
[pidgin-git.git] / libpurple / protocols / oscar / oscarcommon.h
blob2657f393eadccd34b1be767ccfae955e9c177505
1 /* purple
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
5 * source distribution.
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
24 * and libicq.c
27 #include "internal.h"
29 #include "accountopt.h"
30 #include "protocol.h"
31 #include "version.h"
32 #include "notify.h"
33 #include "status.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
48 * own key.
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"
65 #ifndef _WIN32
66 #define OSCAR_DEFAULT_CUSTOM_ENCODING "ISO-8859-1"
67 #else
68 #define OSCAR_DEFAULT_CUSTOM_ENCODING oscar_get_locale_charset()
69 #endif
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
78 #ifdef _WIN32
79 const char *oscar_get_locale_charset(void);
80 #endif
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);