| 925 } else { |
925 } else { |
| 926 debug_printf("don't know what to do with %s\n", c); |
926 debug_printf("don't know what to do with %s\n", c); |
| 927 } |
927 } |
| 928 } |
928 } |
| 929 |
929 |
| 930 static char *toc_name() |
|
| 931 { |
|
| 932 return "TOC"; |
|
| 933 } |
|
| 934 |
|
| 935 static int toc_send_im(struct gaim_connection *gc, char *name, char *message, int len, int flags) |
930 static int toc_send_im(struct gaim_connection *gc, char *name, char *message, int len, int flags) |
| 936 { |
931 { |
| 937 char buf[BUF_LEN * 2]; |
932 char buf[BUF_LEN * 2]; |
| 938 char *tmp = g_malloc(strlen(message) * 4 + 1); /* 4 because \n gets replaced with <BR> */ |
933 char *tmp = g_malloc(strlen(message) * 4 + 1); /* 4 because \n gets replaced with <BR> */ |
| 939 |
934 |
| 1224 pbm = g_new0(struct proto_buddy_menu, 1); |
1219 pbm = g_new0(struct proto_buddy_menu, 1); |
| 1225 pbm->label = _("Get Dir Info"); |
1220 pbm->label = _("Get Dir Info"); |
| 1226 pbm->callback = toc_get_dir; |
1221 pbm->callback = toc_get_dir; |
| 1227 pbm->gc = gc; |
1222 pbm->gc = gc; |
| 1228 m = g_list_append(m, pbm); |
1223 m = g_list_append(m, pbm); |
| 1229 |
|
| 1230 return m; |
|
| 1231 } |
|
| 1232 |
|
| 1233 static GList *toc_user_opts() |
|
| 1234 { |
|
| 1235 GList *m = NULL; |
|
| 1236 struct proto_user_opt *puo; |
|
| 1237 |
|
| 1238 puo = g_new0(struct proto_user_opt, 1); |
|
| 1239 puo->label = "TOC Host:"; |
|
| 1240 puo->def = "toc.oscar.aol.com"; |
|
| 1241 puo->pos = USEROPT_AUTH; |
|
| 1242 m = g_list_append(m, puo); |
|
| 1243 |
|
| 1244 puo = g_new0(struct proto_user_opt, 1); |
|
| 1245 puo->label = "TOC Port:"; |
|
| 1246 puo->def = "9898"; |
|
| 1247 puo->pos = USEROPT_AUTHPORT; |
|
| 1248 m = g_list_append(m, puo); |
|
| 1249 |
1224 |
| 1250 return m; |
1225 return m; |
| 1251 } |
1226 } |
| 1252 |
1227 |
| 1253 static void toc_add_permit(struct gaim_connection *gc, char *who) |
1228 static void toc_add_permit(struct gaim_connection *gc, char *who) |
| 1380 } |
1355 } |
| 1381 |
1356 |
| 1382 static struct prpl *my_protocol = NULL; |
1357 static struct prpl *my_protocol = NULL; |
| 1383 |
1358 |
| 1384 void toc_init(struct prpl *ret) |
1359 void toc_init(struct prpl *ret) |
| 1385 { |
1360 { |
| |
1361 struct proto_user_opt *puo; |
| 1386 ret->protocol = PROTO_TOC; |
1362 ret->protocol = PROTO_TOC; |
| 1387 ret->options = OPT_PROTO_CORRECT_TIME; |
1363 ret->options = OPT_PROTO_CORRECT_TIME; |
| 1388 ret->name = toc_name; |
1364 ret->name = g_strdup("TOC"); |
| 1389 ret->list_icon = toc_list_icon; |
1365 ret->list_icon = toc_list_icon; |
| 1390 ret->away_states = toc_away_states; |
1366 ret->away_states = toc_away_states; |
| 1391 ret->actions = toc_actions; |
1367 ret->actions = toc_actions; |
| 1392 ret->do_action = toc_do_action; |
1368 ret->do_action = toc_do_action; |
| 1393 ret->buddy_menu = toc_buddy_menu; |
1369 ret->buddy_menu = toc_buddy_menu; |
| 1394 ret->user_opts = toc_user_opts; |
|
| 1395 ret->login = toc_login; |
1370 ret->login = toc_login; |
| 1396 ret->close = toc_close; |
1371 ret->close = toc_close; |
| 1397 ret->send_im = toc_send_im; |
1372 ret->send_im = toc_send_im; |
| 1398 ret->set_info = toc_set_info; |
1373 ret->set_info = toc_set_info; |
| 1399 ret->get_info = toc_get_info; |
1374 ret->get_info = toc_get_info; |
| 1419 ret->chat_leave = toc_chat_leave; |
1394 ret->chat_leave = toc_chat_leave; |
| 1420 ret->chat_whisper = toc_chat_whisper; |
1395 ret->chat_whisper = toc_chat_whisper; |
| 1421 ret->chat_send = toc_chat_send; |
1396 ret->chat_send = toc_chat_send; |
| 1422 ret->keepalive = toc_keepalive; |
1397 ret->keepalive = toc_keepalive; |
| 1423 |
1398 |
| |
1399 puo = g_new0(struct proto_user_opt, 1); |
| |
1400 puo->label = g_strdup("TOC Host:"); |
| |
1401 puo->def = g_strdup("toc.oscar.aol.com"); |
| |
1402 puo->pos = USEROPT_AUTH; |
| |
1403 ret->user_opts = g_list_append(ret->user_opts, puo); |
| |
1404 |
| |
1405 puo = g_new0(struct proto_user_opt, 1); |
| |
1406 puo->label = g_strdup("TOC Port:"); |
| |
1407 puo->def = g_strdup("9898"); |
| |
1408 puo->pos = USEROPT_AUTHPORT; |
| |
1409 ret->user_opts = g_list_append(ret->user_opts, puo); |
| |
1410 |
| 1424 my_protocol = ret; |
1411 my_protocol = ret; |
| 1425 } |
1412 } |
| 1426 |
1413 |
| 1427 #ifndef STATIC |
1414 #ifndef STATIC |
| 1428 |
1415 |
| 1429 char *gaim_plugin_init(GModule *handle) |
1416 void *gaim_prpl_init(struct prpl *prpl) |
| 1430 { |
1417 { |
| 1431 load_protocol(toc_init, sizeof(struct prpl)); |
1418 toc_init(prpl); |
| 1432 return NULL; |
1419 prpl->plug->desc.api_version = PLUGIN_API_VERSION; |
| 1433 } |
|
| 1434 |
|
| 1435 void gaim_plugin_remove() |
|
| 1436 { |
|
| 1437 struct prpl *p = find_prpl(PROTO_TOC); |
|
| 1438 if (p == my_protocol) |
|
| 1439 unload_protocol(p); |
|
| 1440 } |
|
| 1441 |
|
| 1442 char *name() |
|
| 1443 { |
|
| 1444 return "TOC"; |
|
| 1445 } |
|
| 1446 |
|
| 1447 char *description() |
|
| 1448 { |
|
| 1449 return PRPL_DESC("TOC"); |
|
| 1450 } |
1420 } |
| 1451 |
1421 |
| 1452 #endif |
1422 #endif |
| 1453 |
1423 |
| 1454 /********* |
1424 /********* |