Mercurial > pidgin.yaz
diff src/server.c @ 423:0d4e80bdb96b
[gaim-migrate @ 433]
No more --enable-oscar option. From now on, it's a toggle in the preferences.
PLEASE DO NOT USE OSCAR, even though it's very easy to.
committer: Tailor Script <tailor@pidgin.im>
| author | Eric Warmenhoven <eric@warmenhoven.org> |
|---|---|
| date | Wed, 21 Jun 2000 19:33:58 +0000 |
| parents | f9dc74875833 |
| children | 5db3734a1fe6 |
line wrap: on
line diff
--- a/src/server.c Mon Jun 19 21:58:32 2000 +0000 +++ b/src/server.c Wed Jun 21 19:33:58 2000 +0000 @@ -30,10 +30,8 @@ #include <sys/time.h> #include <unistd.h> #include <gtk/gtk.h> -#ifdef USE_OSCAR #include <aim.h> extern int gaim_caps; -#endif #include "gaim.h" static int idle_timer = -1; @@ -46,20 +44,23 @@ int serv_login(char *username, char *password) { -#ifndef USE_OSCAR - return toc_login(username, password); -#else - return oscar_login(username, password); -#endif + if (!(general_options & OPT_GEN_USE_OSCAR)) { + USE_OSCAR = 0; + return toc_login(username, password); + } else { + USE_OSCAR = 1; + debug_print("Logging in using Oscar. Expect problems.\n"); + return oscar_login(username, password); + } } void serv_close() { -#ifndef USE_OSCAR - toc_close(); -#else - oscar_close(); -#endif + if (!USE_OSCAR) + toc_close(); + else + oscar_close(); + gtk_timeout_remove(idle_timer); idle_timer = -1; } @@ -156,55 +157,55 @@ void serv_send_im(char *name, char *message, int away) { -#ifndef USE_OSCAR + if (!USE_OSCAR) { char buf[MSG_LEN - 7]; g_snprintf(buf, MSG_LEN - 8, "toc_send_im %s \"%s\"%s", normalize(name), message, ((away) ? " auto" : "")); sflap_send(buf, strlen(buf), TYPE_DATA); -#else + } else { if (away) aim_send_im(gaim_sess, gaim_conn, name, AIM_IMFLAGS_AWAY, message); else aim_send_im(gaim_sess, gaim_conn, name, 0, message); -#endif + } if (!away) serv_touch_idle(); } void serv_get_info(char *name) { -#ifndef USE_OSCAR + if (!USE_OSCAR) { char buf[MSG_LEN]; g_snprintf(buf, MSG_LEN, "toc_get_info %s", normalize(name)); sflap_send(buf, -1, TYPE_DATA); -#else + } else { aim_getinfo(gaim_sess, gaim_conn, name, AIM_GETINFO_GENERALINFO); -#endif + } } void serv_get_away_msg(char *name) { -#ifndef USE_OSCAR + if (!USE_OSCAR) { /* HAHA! TOC doesn't have this yet */ -#else + } else { aim_getinfo(gaim_sess, gaim_conn, name, AIM_GETINFO_AWAYMESSAGE); -#endif + } } void serv_get_dir(char *name) { -#ifndef USE_OSCAR - char buf[MSG_LEN]; - g_snprintf(buf, MSG_LEN, "toc_get_dir %s", normalize(name)); - sflap_send(buf, -1, TYPE_DATA); -#endif + if (!USE_OSCAR) { + char buf[MSG_LEN]; + g_snprintf(buf, MSG_LEN, "toc_get_dir %s", normalize(name)); + sflap_send(buf, -1, TYPE_DATA); + } } void serv_set_dir(char *first, char *middle, char *last, char *maiden, char *city, char *state, char *country, int web) { -#ifndef USE_OSCAR + if (!USE_OSCAR) { char buf2[BUF_LEN*4], buf[BUF_LEN]; g_snprintf(buf2, sizeof(buf2), "%s:%s:%s:%s:%s:%s:%s:%s", first, middle, last, maiden, city, state, country, @@ -212,54 +213,54 @@ escape_text(buf2); g_snprintf(buf, sizeof(buf), "toc_set_dir %s", buf2); sflap_send(buf, -1, TYPE_DATA); -#endif + } } void serv_dir_search(char *first, char *middle, char *last, char *maiden, char *city, char *state, char *country, char *email) { -#ifndef USE_OSCAR - char buf[BUF_LONG]; - g_snprintf(buf, sizeof(buf)/2, "toc_dir_search %s:%s:%s:%s:%s:%s:%s:%s", first, middle, last, maiden, city, state, country, email); - sprintf(debug_buff,"Searching for: %s,%s,%s,%s,%s,%s,%s\n", first, middle, last, maiden, city, state, country); - debug_print(debug_buff); - sflap_send(buf, -1, TYPE_DATA); -#else - if (strlen(email)) - aim_usersearch_address(gaim_sess, gaim_conn, email); -#endif + if (!USE_OSCAR) { + char buf[BUF_LONG]; + g_snprintf(buf, sizeof(buf)/2, "toc_dir_search %s:%s:%s:%s:%s:%s:%s:%s", first, middle, last, maiden, city, state, country, email); + sprintf(debug_buff,"Searching for: %s,%s,%s,%s,%s,%s,%s\n", first, middle, last, maiden, city, state, country); + debug_print(debug_buff); + sflap_send(buf, -1, TYPE_DATA); + } else { + if (strlen(email)) + aim_usersearch_address(gaim_sess, gaim_conn, email); + } } void serv_set_away(char *message) { -#ifndef USE_OSCAR - char buf[MSG_LEN]; - if (message) - g_snprintf(buf, MSG_LEN, "toc_set_away \"%s\"", message); - else - g_snprintf(buf, MSG_LEN, "toc_set_away \"\""); - sflap_send(buf, -1, TYPE_DATA); -#else - aim_bos_setprofile(gaim_sess, gaim_conn, current_user->user_info, - message, gaim_caps); -#endif + if (!USE_OSCAR) { + char buf[MSG_LEN]; + if (message) + g_snprintf(buf, MSG_LEN, "toc_set_away \"%s\"", message); + else + g_snprintf(buf, MSG_LEN, "toc_set_away \"\""); + sflap_send(buf, -1, TYPE_DATA); + } else { + aim_bos_setprofile(gaim_sess, gaim_conn, current_user->user_info, + message, gaim_caps); + } } void serv_set_info(char *info) { -#ifndef USE_OSCAR - char buf[MSG_LEN]; - g_snprintf(buf, sizeof(buf), "toc_set_info \"%s\n\"", info); - sflap_send(buf, -1, TYPE_DATA); -#else - if (awaymessage) - aim_bos_setprofile(gaim_sess, gaim_conn, info, - awaymessage->message, gaim_caps); - else - aim_bos_setprofile(gaim_sess, gaim_conn, info, - NULL, gaim_caps); -#endif + if (!USE_OSCAR) { + char buf[MSG_LEN]; + g_snprintf(buf, sizeof(buf), "toc_set_info \"%s\n\"", info); + sflap_send(buf, -1, TYPE_DATA); + } else { + if (awaymessage) + aim_bos_setprofile(gaim_sess, gaim_conn, info, + awaymessage->message, gaim_caps); + else + aim_bos_setprofile(gaim_sess, gaim_conn, info, + NULL, gaim_caps); + } } extern gboolean change_password; @@ -267,34 +268,34 @@ extern char *new_password; void serv_change_passwd(char *orig, char *new) { -#ifndef USE_OSCAR - char *buf = g_malloc(BUF_LONG); - g_snprintf(buf, BUF_LONG, "toc_change_passwd %s %s", orig, new); - sflap_send(buf, strlen(buf), TYPE_DATA); - g_free(buf); -#else - if (change_password) return; - change_password = TRUE; - old_password = g_strdup(orig); - new_password = g_strdup(new); - aim_bos_reqservice(gaim_sess, gaim_conn, AIM_CONN_TYPE_AUTH); -#endif + if (!USE_OSCAR) { + char *buf = g_malloc(BUF_LONG); + g_snprintf(buf, BUF_LONG, "toc_change_passwd %s %s", orig, new); + sflap_send(buf, strlen(buf), TYPE_DATA); + g_free(buf); + } else { + if (change_password) return; + change_password = TRUE; + old_password = g_strdup(orig); + new_password = g_strdup(new); + aim_bos_reqservice(gaim_sess, gaim_conn, AIM_CONN_TYPE_AUTH); + } } void serv_add_buddy(char *name) { -#ifndef USE_OSCAR - char buf[1024]; - g_snprintf(buf, sizeof(buf), "toc_add_buddy %s", normalize(name)); - sflap_send(buf, -1, TYPE_DATA); -#else - aim_add_buddy(gaim_sess, gaim_conn, name); -#endif + if (!USE_OSCAR) { + char buf[1024]; + g_snprintf(buf, sizeof(buf), "toc_add_buddy %s", normalize(name)); + sflap_send(buf, -1, TYPE_DATA); + } else { + aim_add_buddy(gaim_sess, gaim_conn, name); + } } void serv_add_buddies(GList *buddies) { -#ifndef USE_OSCAR + if (!USE_OSCAR) { char buf[MSG_LEN]; int n, num = 0; @@ -310,7 +311,7 @@ buddies = buddies->next; } sflap_send(buf, -1, TYPE_DATA); -#else + } else { char buf[MSG_LEN]; int n = 0; while(buddies) { @@ -323,50 +324,50 @@ buddies = buddies->next; } aim_bos_setbuddylist(gaim_sess, gaim_conn, buf); -#endif + } } void serv_remove_buddy(char *name) { -#ifndef USE_OSCAR - char buf[1024]; - g_snprintf(buf, sizeof(buf), "toc_remove_buddy %s", normalize(name)); - sflap_send(buf, -1, TYPE_DATA); -#else - aim_remove_buddy(gaim_sess, gaim_conn, name); -#endif + if (!USE_OSCAR) { + char buf[1024]; + g_snprintf(buf, sizeof(buf), "toc_remove_buddy %s", normalize(name)); + sflap_send(buf, -1, TYPE_DATA); + } else { + aim_remove_buddy(gaim_sess, gaim_conn, name); + } } void serv_add_permit(char *name) { -#ifndef USE_OSCAR - char buf[1024]; - g_snprintf(buf, sizeof(buf), "toc_add_permit %s", normalize(name)); - sflap_send(buf, -1, TYPE_DATA); -#else - serv_set_permit_deny(); -#endif + if (!USE_OSCAR) { + char buf[1024]; + g_snprintf(buf, sizeof(buf), "toc_add_permit %s", normalize(name)); + sflap_send(buf, -1, TYPE_DATA); + } else { + serv_set_permit_deny(); + } } void serv_add_deny(char *name) { -#ifndef USE_OSCAR - char buf[1024]; - g_snprintf(buf, sizeof(buf), "toc_add_deny %s", normalize(name)); - sflap_send(buf, -1, TYPE_DATA); -#else - serv_set_permit_deny(); -#endif + if (!USE_OSCAR) { + char buf[1024]; + g_snprintf(buf, sizeof(buf), "toc_add_deny %s", normalize(name)); + sflap_send(buf, -1, TYPE_DATA); + } else { + serv_set_permit_deny(); + } } void serv_set_permit_deny() { -#ifndef USE_OSCAR + if (!USE_OSCAR) { char buf[MSG_LEN]; int at; GList *list; @@ -401,7 +402,7 @@ buf[at] = 0; sflap_send(buf, -1, TYPE_DATA); } -#else + } else { /* oscar requires us to do everyone at once (?) */ /* I think this code is OK now. */ char buf[BUF_LONG]; int at; GList *list, *grp, *bud; @@ -439,30 +440,30 @@ aim_bos_changevisibility(gaim_sess, gaim_conn, AIM_VISIBILITYCHANGE_DENYADD, buf); } -#endif + } } void serv_set_idle(int time) { -#ifndef USE_OSCAR - char buf[256]; - g_snprintf(buf, sizeof(buf), "toc_set_idle %d", time); - sflap_send(buf, -1, TYPE_DATA); -#else - aim_bos_setidle(gaim_sess, gaim_conn, time); -#endif + if (!USE_OSCAR) { + char buf[256]; + g_snprintf(buf, sizeof(buf), "toc_set_idle %d", time); + sflap_send(buf, -1, TYPE_DATA); + } else { + aim_bos_setidle(gaim_sess, gaim_conn, time); + } } void serv_warn(char *name, int anon) { -#ifndef USE_OSCAR - char *send = g_malloc(256); - g_snprintf(send, 255, "toc_evil %s %s", name, - ((anon) ? "anon" : "norm")); - sflap_send(send, -1, TYPE_DATA); - g_free(send); -#endif + if (!USE_OSCAR) { + char *send = g_malloc(256); + g_snprintf(send, 255, "toc_evil %s %s", name, + ((anon) ? "anon" : "norm")); + sflap_send(send, -1, TYPE_DATA); + g_free(send); + } } void serv_build_config(char *buf, int len) { @@ -472,79 +473,77 @@ void serv_save_config() { -#ifndef USE_OSCAR - char *buf = g_malloc(BUF_LONG); - char *buf2 = g_malloc(MSG_LEN); - serv_build_config(buf, BUF_LONG / 2); - g_snprintf(buf2, MSG_LEN, "toc_set_config {%s}", buf); - sflap_send(buf2, -1, TYPE_DATA); - g_free(buf2); - g_free(buf); -#endif + if (!USE_OSCAR) { + char *buf = g_malloc(BUF_LONG); + char *buf2 = g_malloc(MSG_LEN); + serv_build_config(buf, BUF_LONG / 2); + g_snprintf(buf2, MSG_LEN, "toc_set_config {%s}", buf); + sflap_send(buf2, -1, TYPE_DATA); + g_free(buf2); + g_free(buf); + } } void serv_accept_chat(int i) { -#ifndef USE_OSCAR - char *buf = g_malloc(256); - g_snprintf(buf, 255, "toc_chat_accept %d", i); - sflap_send(buf, -1, TYPE_DATA); - g_free(buf); -#else + if (!USE_OSCAR) { + char *buf = g_malloc(256); + g_snprintf(buf, 255, "toc_chat_accept %d", i); + sflap_send(buf, -1, TYPE_DATA); + g_free(buf); + } else { /* this should never get called because libfaim doesn't use the id * (i'm not even sure Oscar does). go through serv_join_chat instead */ -#endif + } } void serv_join_chat(int exchange, char *name) { -#ifndef USE_OSCAR - char buf[BUF_LONG]; - g_snprintf(buf, sizeof(buf)/2, "toc_chat_join %d \"%s\"", exchange, name); - sflap_send(buf, -1, TYPE_DATA); -#else - sprintf(debug_buff, "Attempting to join chat room %s.\n", name); - debug_print(debug_buff); - /* aim_bos_reqservice(gaim_sess, gaim_conn, AIM_CONN_TYPE_CHATNAV); */ - /* aim_chatnav_createroom(gaim_sess, aim_getconn_type(gaim_sess, AIM_CONN_TYPE_CHATNAV), name, 0x0004); */ - aim_chat_join(gaim_sess, gaim_conn, 0x0004, name); -#endif + if (!USE_OSCAR) { + char buf[BUF_LONG]; + g_snprintf(buf, sizeof(buf)/2, "toc_chat_join %d \"%s\"", exchange, name); + sflap_send(buf, -1, TYPE_DATA); + } else { + sprintf(debug_buff, "Attempting to join chat room %s.\n", name); + debug_print(debug_buff); + aim_chat_join(gaim_sess, gaim_conn, 0x0004, name); + } } void serv_chat_invite(int id, char *message, char *name) { -#ifndef USE_OSCAR - char buf[BUF_LONG]; - g_snprintf(buf, sizeof(buf)/2, "toc_chat_invite %d \"%s\" %s", id, message, normalize(name)); - sflap_send(buf, -1, TYPE_DATA); -#else - GList *bcs = buddy_chats; - struct buddy_chat *b = NULL; + if (!USE_OSCAR) { + char buf[BUF_LONG]; + g_snprintf(buf, sizeof(buf)/2, "toc_chat_invite %d \"%s\" %s", id, message, normalize(name)); + sflap_send(buf, -1, TYPE_DATA); + } else { + GList *bcs = buddy_chats; + struct buddy_chat *b = NULL; - while (bcs) { - b = (struct buddy_chat *)bcs->data; - if (id == b->id) - break; - bcs = bcs->next; - b = NULL; + while (bcs) { + b = (struct buddy_chat *)bcs->data; + if (id == b->id) + break; + bcs = bcs->next; + b = NULL; + } + + if (!b) + return; + + aim_chat_invite(gaim_sess, gaim_conn, name, message, 0x4, b->name, 0x1); } - - if (!b) - return; - - aim_chat_invite(gaim_sess, gaim_conn, name, message, 0x4, b->name, 0x1); -#endif } void serv_chat_leave(int id) { -#ifndef USE_OSCAR - char *buf = g_malloc(256); - g_snprintf(buf, 255, "toc_chat_leave %d", id); - sflap_send(buf, -1, TYPE_DATA); - g_free(buf); -#else + if (!USE_OSCAR) { + char *buf = g_malloc(256); + g_snprintf(buf, 255, "toc_chat_leave %d", id); + sflap_send(buf, -1, TYPE_DATA); + g_free(buf); + } else { GList *bcs = buddy_chats; struct buddy_chat *b = NULL; struct chat_connection *c = NULL; @@ -576,45 +575,45 @@ } /* we do this because with Oscar it doesn't tell us we left */ serv_got_chat_left(b->id); -#endif + } } void serv_chat_whisper(int id, char *who, char *message) { -#ifndef USE_OSCAR - char buf2[MSG_LEN]; - g_snprintf(buf2, sizeof(buf2), "toc_chat_whisper %d %s \"%s\"", id, who, message); - sflap_send(buf2, -1, TYPE_DATA); -#else - do_error_dialog("Sorry, Oscar doesn't whisper. Send an IM. (The last message was not received.)", - "Gaim - Chat"); -#endif + if (!USE_OSCAR) { + char buf2[MSG_LEN]; + g_snprintf(buf2, sizeof(buf2), "toc_chat_whisper %d %s \"%s\"", id, who, message); + sflap_send(buf2, -1, TYPE_DATA); + } else { + do_error_dialog("Sorry, Oscar doesn't whisper. Send an IM. (The last message was not received.)", + "Gaim - Chat"); + } } void serv_chat_send(int id, char *message) { -#ifndef USE_OSCAR - char buf[MSG_LEN]; - g_snprintf(buf, sizeof(buf), "toc_chat_send %d \"%s\"",id, message); - sflap_send(buf, -1, TYPE_DATA); -#else - struct aim_conn_t *cn; - GList *bcs = buddy_chats; - struct buddy_chat *b = NULL; + if (!USE_OSCAR) { + char buf[MSG_LEN]; + g_snprintf(buf, sizeof(buf), "toc_chat_send %d \"%s\"",id, message); + sflap_send(buf, -1, TYPE_DATA); + } else { + struct aim_conn_t *cn; + GList *bcs = buddy_chats; + struct buddy_chat *b = NULL; - while (bcs) { - b = (struct buddy_chat *)bcs->data; - if (id == b->id) - break; - bcs = bcs->next; - b = NULL; + while (bcs) { + b = (struct buddy_chat *)bcs->data; + if (id == b->id) + break; + bcs = bcs->next; + b = NULL; + } + if (!b) + return; + + cn = aim_chat_getconn(gaim_sess, b->name); + aim_chat_send_im(gaim_sess, cn, message); } - if (!b) - return; - - cn = aim_chat_getconn(gaim_sess, b->name); - aim_chat_send_im(gaim_sess, cn, message); -#endif } @@ -883,16 +882,16 @@ static void chat_invite_callback(GtkWidget *w, GtkWidget *w2) { -#ifndef USE_OSCAR - int i = (int)gtk_object_get_user_data(GTK_OBJECT(w2)); - serv_accept_chat(i); - gtk_widget_destroy(w2); -#else - char *i = (char *)gtk_object_get_user_data(GTK_OBJECT(w2)); - serv_join_chat(0, i); /* for oscar, it doesn't use the id anyway */ - g_free(i); - gtk_widget_destroy(w2); -#endif + if (!USE_OSCAR) { + int i = (int)gtk_object_get_user_data(GTK_OBJECT(w2)); + serv_accept_chat(i); + gtk_widget_destroy(w2); + } else { + char *i = (char *)gtk_object_get_user_data(GTK_OBJECT(w2)); + serv_join_chat(0, i); /* for oscar, it doesn't use the id anyway */ + g_free(i); + gtk_widget_destroy(w2); + } } @@ -946,11 +945,11 @@ /* gtk_widget_set_usize(d, 200, 110); */ -#ifndef USE_OSCAR - gtk_object_set_user_data(GTK_OBJECT(d), (void *)id); -#else - gtk_object_set_user_data(GTK_OBJECT(d), (void *)g_strdup(name)); -#endif + + if (!USE_OSCAR) + gtk_object_set_user_data(GTK_OBJECT(d), (void *)id); + else + gtk_object_set_user_data(GTK_OBJECT(d), (void *)g_strdup(name)); gtk_window_set_title(GTK_WINDOW(d), "Buddy chat invite"); @@ -1074,20 +1073,17 @@ void serv_rvous_accept(char *name, char *cookie, char *uid) { -#ifndef USE_OSCAR + /* Oscar doesn't matter here because this won't ever be called for it */ char buf[MSG_LEN]; g_snprintf(buf, MSG_LEN, "toc_rvous_accept %s %s %s", normalize(name), cookie, uid); sflap_send(buf, strlen(buf), TYPE_DATA); -#endif } void serv_rvous_cancel(char *name, char *cookie, char *uid) { -#ifndef USE_OSCAR char buf[MSG_LEN]; g_snprintf(buf, MSG_LEN, "toc_rvous_cancel %s %s %s", normalize(name), cookie, uid); sflap_send(buf, strlen(buf), TYPE_DATA); -#endif }
