Mercurial > pidgin-twitter
comparison twitter_api.c @ 287:4a7f4ba199cc
- version bump to 0.8.3
- rewrite signed_on_cb()
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Tue, 03 Feb 2009 19:59:29 +0900 |
parents | 2d559555875f |
children | 6a206fbc6e46 |
comparison
equal
deleted
inserted
replaced
286:6d0bb66fedc7 | 287:4a7f4ba199cc |
---|---|
521 } | 521 } |
522 | 522 |
523 void | 523 void |
524 signed_on_cb(PurpleConnection *gc) | 524 signed_on_cb(PurpleConnection *gc) |
525 { | 525 { |
526 PurpleBuddyList *list = purple_get_blist(); | 526 PurpleAccount *account; |
527 PurpleBlistNode *gnode, *cnode, *bnode; | 527 PurpleBuddy *buddy; |
528 PurpleBuddy *b; | 528 PurpleConversation *gconv; |
529 | 529 const char name[] = "twitter@twitter.com"; |
530 twitter_debug("called\n"); | 530 |
531 | 531 if(!purple_prefs_get_bool(OPT_API_BASE_POST)) { |
532 if(!purple_prefs_get_bool(OPT_API_BASE_POST)) | 532 twitter_debug("per prefs"); |
533 return; | 533 return; |
534 | 534 } |
535 if (!list) | 535 |
536 return; | 536 account = purple_connection_get_account(gc); |
537 | 537 if(!account) { |
538 twitter_debug("scan list\n"); | 538 twitter_debug("no account"); |
539 | 539 return; |
540 for (gnode = list->root; gnode; gnode = gnode->next) { | 540 } |
541 if(!PURPLE_BLIST_NODE_IS_GROUP(gnode)) | 541 |
542 continue; | 542 buddy = purple_find_buddy(account, name); |
543 | 543 if(!buddy) { |
544 for(cnode = gnode->child; cnode; cnode = cnode->next) { | 544 twitter_debug("no buddy"); |
545 | 545 return; |
546 if(!PURPLE_BLIST_NODE_IS_CONTACT(cnode)) | 546 } |
547 continue; | 547 |
548 | 548 gconv = purple_find_conversation_with_account( |
549 for(bnode = cnode->child; bnode; bnode = bnode->next) { | 549 PURPLE_CONV_TYPE_IM, name, account); |
550 if(!PURPLE_BLIST_NODE_IS_BUDDY(bnode)) | 550 if(!gconv) { |
551 continue; | 551 gconv = purple_conversation_new( |
552 | 552 PURPLE_CONV_TYPE_IM, account, name); |
553 b = (PurpleBuddy *)bnode; | 553 twitter_debug("new conv"); |
554 | 554 } |
555 if(!PURPLE_BUDDY_IS_ONLINE(b)) { | 555 } |
556 const char *name; | |
557 PurpleAccount *account; | |
558 name = purple_buddy_get_name(b); | |
559 account = purple_buddy_get_account(b); | |
560 if (is_twitter_account(account, name)) { | |
561 PurpleConversation *gconv; | |
562 gconv = purple_find_conversation_with_account( | |
563 PURPLE_CONV_TYPE_IM, name, account); | |
564 if (!gconv) { | |
565 gconv = purple_conversation_new( | |
566 PURPLE_CONV_TYPE_IM, account, name); | |
567 } | |
568 } | |
569 } | |
570 } | |
571 } | |
572 } | |
573 } |