Mercurial > pidgin.yaz
comparison plugins/tcl/tcl_cmds.c @ 6700:57161e3abbb5
[gaim-migrate @ 7226]
This certainly doesn't work, and possibly doesn't load, but it *does*
compile, which means I can now fix it in my own sweet time.
committer: Tailor Script <tailor@pidgin.im>
author | Ethan Blanton <elb@pidgin.im> |
---|---|
date | Tue, 02 Sep 2003 04:28:34 +0000 |
parents | 2d2f04c5c7d2 |
children | 05098da416bb |
comparison
equal
deleted
inserted
replaced
6699:12169973c663 | 6700:57161e3abbb5 |
---|---|
26 #include "conversation.h" | 26 #include "conversation.h" |
27 #include "connection.h" | 27 #include "connection.h" |
28 #include "account.h" | 28 #include "account.h" |
29 #include "server.h" | 29 #include "server.h" |
30 #include "notify.h" | 30 #include "notify.h" |
31 #include "blist.h" | |
31 #include "debug.h" | 32 #include "debug.h" |
32 #include "prefs.h" | 33 #include "prefs.h" |
33 #include "core.h" | 34 #include "core.h" |
34 | 35 |
35 #include "tcl_gaim.h" | 36 #include "tcl_gaim.h" |
246 char *cmds[] = { "alias", "handle", "info", "list", NULL }; | 247 char *cmds[] = { "alias", "handle", "info", "list", NULL }; |
247 enum { CMD_BUDDY_ALIAS, CMD_BUDDY_HANDLE, CMD_BUDDY_INFO, CMD_BUDDY_LIST } cmd; | 248 enum { CMD_BUDDY_ALIAS, CMD_BUDDY_HANDLE, CMD_BUDDY_INFO, CMD_BUDDY_LIST } cmd; |
248 struct gaim_buddy_list *blist; | 249 struct gaim_buddy_list *blist; |
249 GaimBlistNode *node, *gnode; | 250 GaimBlistNode *node, *gnode; |
250 GaimAccount *account; | 251 GaimAccount *account; |
251 struct buddy *bnode; | 252 GaimBuddy *bnode; |
252 struct chat *cnode; | 253 GaimBlistChat *cnode; |
253 int error, all = 0, count; | 254 int error, all = 0, count; |
254 | 255 |
255 if (objc < 2) { | 256 if (objc < 2) { |
256 Tcl_WrongNumArgs(interp, 1, objv, "subcommand ?args?"); | 257 Tcl_WrongNumArgs(interp, 1, objv, "subcommand ?args?"); |
257 return TCL_ERROR; | 258 return TCL_ERROR; |
270 if ((error = Tcl_ListObjGetElements(interp, objv[2], &count, &elems)) != TCL_OK) | 271 if ((error = Tcl_ListObjGetElements(interp, objv[2], &count, &elems)) != TCL_OK) |
271 return error; | 272 return error; |
272 if ((node = tcl_list_to_buddy(interp, count, elems)) == NULL) | 273 if ((node = tcl_list_to_buddy(interp, count, elems)) == NULL) |
273 return TCL_ERROR; | 274 return TCL_ERROR; |
274 if (node->type == GAIM_BLIST_CHAT_NODE) | 275 if (node->type == GAIM_BLIST_CHAT_NODE) |
275 Tcl_SetStringObj(result, ((struct chat *)node)->alias, -1); | 276 Tcl_SetStringObj(result, ((GaimBlistChat *)node)->alias, -1); |
276 else if (node->type == GAIM_BLIST_BUDDY_NODE) | 277 else if (node->type == GAIM_BLIST_BUDDY_NODE) |
277 Tcl_SetStringObj(result, gaim_get_buddy_alias((struct buddy *)node), -1); | 278 Tcl_SetStringObj(result, (char *)gaim_get_buddy_alias((GaimBuddy *)node), -1); |
278 return TCL_OK; | 279 return TCL_OK; |
279 break; | 280 break; |
280 case CMD_BUDDY_HANDLE: | 281 case CMD_BUDDY_HANDLE: |
281 if (objc != 2) { | 282 if (objc != 2) { |
282 Tcl_WrongNumArgs(interp, 2, objv, ""); | 283 Tcl_WrongNumArgs(interp, 2, objv, ""); |
327 blist = gaim_get_blist(); | 328 blist = gaim_get_blist(); |
328 for (gnode = blist->root; gnode != NULL; gnode = gnode->next) { | 329 for (gnode = blist->root; gnode != NULL; gnode = gnode->next) { |
329 tclgroup = Tcl_NewListObj(0, NULL); | 330 tclgroup = Tcl_NewListObj(0, NULL); |
330 Tcl_ListObjAppendElement(interp, tclgroup, Tcl_NewStringObj("group", -1)); | 331 Tcl_ListObjAppendElement(interp, tclgroup, Tcl_NewStringObj("group", -1)); |
331 Tcl_ListObjAppendElement(interp, tclgroup, | 332 Tcl_ListObjAppendElement(interp, tclgroup, |
332 Tcl_NewStringObj(((struct group *)gnode)->name, -1)); | 333 Tcl_NewStringObj(((GaimGroup *)gnode)->name, -1)); |
333 tclgrouplist = Tcl_NewListObj(0, NULL); | 334 tclgrouplist = Tcl_NewListObj(0, NULL); |
334 for (node = gnode->child; node != NULL; node = node->next) { | 335 for (node = gnode->child; node != NULL; node = node->next) { |
335 switch (node->type) { | 336 switch (node->type) { |
336 case GAIM_BLIST_BUDDY_NODE: | 337 case GAIM_BLIST_BUDDY_NODE: |
337 bnode = (struct buddy *)node; | 338 bnode = (GaimBuddy *)node; |
338 if (!all && !gaim_account_is_connected(bnode->account)) | 339 if (!all && !gaim_account_is_connected(bnode->account)) |
339 continue; | 340 continue; |
340 tclbud = Tcl_NewListObj(0, NULL); | 341 tclbud = Tcl_NewListObj(0, NULL); |
341 Tcl_ListObjAppendElement(interp, tclbud, Tcl_NewStringObj("buddy", -1)); | 342 Tcl_ListObjAppendElement(interp, tclbud, Tcl_NewStringObj("buddy", -1)); |
342 Tcl_ListObjAppendElement(interp, tclbud, Tcl_NewStringObj(bnode->name, -1)); | 343 Tcl_ListObjAppendElement(interp, tclbud, Tcl_NewStringObj(bnode->name, -1)); |
343 Tcl_ListObjAppendElement(interp, tclbud, Tcl_NewIntObj((int)bnode->account)); | 344 Tcl_ListObjAppendElement(interp, tclbud, Tcl_NewIntObj((int)bnode->account)); |
344 break; | 345 break; |
345 case GAIM_BLIST_CHAT_NODE: | 346 case GAIM_BLIST_CHAT_NODE: |
346 cnode = (struct chat *)node; | 347 cnode = (GaimBlistChat *)node; |
347 if (!all && !gaim_account_is_connected(cnode->account)) | 348 if (!all && !gaim_account_is_connected(cnode->account)) |
348 continue; | 349 continue; |
349 tclbud = Tcl_NewListObj(0, NULL); | 350 tclbud = Tcl_NewListObj(0, NULL); |
350 Tcl_ListObjAppendElement(interp, tclbud, Tcl_NewStringObj("chat", -1)); | 351 Tcl_ListObjAppendElement(interp, tclbud, Tcl_NewStringObj("chat", -1)); |
351 Tcl_ListObjAppendElement(interp, tclbud, Tcl_NewStringObj(cnode->alias, -1)); | 352 Tcl_ListObjAppendElement(interp, tclbud, Tcl_NewStringObj(cnode->alias, -1)); |