Mercurial > pidgin.yaz
comparison src/oscar.c @ 904:e1a7fc4482b9
[gaim-migrate @ 914]
oscar can join empty chat rooms
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Thu, 14 Sep 2000 17:40:48 +0000 |
parents | e18815f5a4e9 |
children | 2876c40108cd |
comparison
equal
deleted
inserted
replaced
903:16492f41410d | 904:e1a7fc4482b9 |
---|---|
51 struct aim_conn_t *gaim_conn; | 51 struct aim_conn_t *gaim_conn; |
52 int gaim_caps = AIM_CAPS_CHAT | AIM_CAPS_SENDFILE | AIM_CAPS_GETFILE | | 52 int gaim_caps = AIM_CAPS_CHAT | AIM_CAPS_SENDFILE | AIM_CAPS_GETFILE | |
53 AIM_CAPS_VOICE | AIM_CAPS_IMIMAGE | AIM_CAPS_BUDDYICON; | 53 AIM_CAPS_VOICE | AIM_CAPS_IMIMAGE | AIM_CAPS_BUDDYICON; |
54 int USE_OSCAR = 0; | 54 int USE_OSCAR = 0; |
55 int keepalv = -1; | 55 int keepalv = -1; |
56 int create_exchange = 0; | |
57 char *create_name = NULL; | |
56 | 58 |
57 GList *oscar_chats = NULL; | 59 GList *oscar_chats = NULL; |
58 | 60 |
59 struct chat_connection *find_oscar_chat(char *name) { | 61 struct chat_connection *find_oscar_chat(char *name) { |
60 GList *g = oscar_chats; | 62 GList *g = oscar_chats; |
899 exchanges[i].charset1, | 901 exchanges[i].charset1, |
900 exchanges[i].lang1); | 902 exchanges[i].lang1); |
901 debug_print(debug_buff); | 903 debug_print(debug_buff); |
902 i++; | 904 i++; |
903 } | 905 } |
906 if (create_exchange) { | |
907 sprintf(debug_buff, "creating room %s\n", | |
908 create_name); | |
909 debug_print(debug_buff); | |
910 aim_chatnav_createroom(sess, command->conn, create_name, create_exchange); | |
911 create_exchange = 0; | |
912 g_free(create_name); | |
913 create_name = NULL; | |
914 } | |
915 } | |
916 break; | |
917 case 0x0008: { | |
918 char *fqcn, *name, *ck; | |
919 u_short instance, flags, maxmsglen, maxoccupancy, unknown; | |
920 unsigned char createperms; | |
921 unsigned long createtime; | |
922 | |
923 fqcn = va_arg(ap, char *); | |
924 instance = (u_short)va_arg(ap, u_int); | |
925 flags = (u_short)va_arg(ap, u_int); | |
926 createtime = va_arg(ap, unsigned long); | |
927 maxmsglen = (u_short)va_arg(ap, u_int); | |
928 maxoccupancy = (u_short)va_arg(ap, u_int); | |
929 createperms = va_arg(ap, unsigned char); | |
930 unknown = (u_short)va_arg(ap, u_int); | |
931 name = va_arg(ap, char *); | |
932 ck = va_arg(ap, char *); | |
933 va_end(ap); | |
934 | |
935 sprintf(debug_buff, "created room: %s %d %d %lu %d %d %d %d %s %s\n", fqcn, instance, flags, createtime, maxmsglen, maxoccupancy, createperms, unknown, name, ck); | |
936 debug_print(debug_buff); | |
937 if (flags & 0x4) { | |
938 sprintf(debug_buff, "joining %s on exchange 5\n", name); | |
939 debug_print(debug_buff); | |
940 aim_chat_join(gaim_sess, gaim_conn, 5, ck); | |
941 } else | |
942 sprintf(debug_buff, "joining %s on exchange 4\n", name);{ | |
943 debug_print(debug_buff); | |
944 aim_chat_join(gaim_sess, gaim_conn, 4, ck); | |
945 } | |
904 } | 946 } |
905 break; | 947 break; |
906 default: | 948 default: |
907 va_end(ap); | 949 va_end(ap); |
908 sprintf(debug_buff, "chatnav info: unknown type (%04x)\n", type); | 950 sprintf(debug_buff, "chatnav info: unknown type (%04x)\n", type); |
1229 } else { | 1271 } else { |
1230 } | 1272 } |
1231 } | 1273 } |
1232 | 1274 |
1233 void update_keepalive(gboolean on) { | 1275 void update_keepalive(gboolean on) { |
1234 if (on && keepalv < 0 && blist) { | 1276 if (on && keepalv < 0 && blist && (general_options & OPT_GEN_KEEPALIVE)) { |
1235 debug_print("allowing NOP\n"); | 1277 debug_print("allowing NOP\n"); |
1236 keepalv = gtk_timeout_add(60000, (GtkFunction)send_keepalive, 0); | 1278 keepalv = gtk_timeout_add(60000, (GtkFunction)send_keepalive, 0); |
1237 } else if (!on && keepalv > -1) { | 1279 } else if (!on && keepalv > -1) { |
1238 debug_print("removing NOP\n"); | 1280 debug_print("removing NOP\n"); |
1239 gtk_timeout_remove(keepalv); | 1281 gtk_timeout_remove(keepalv); |