libpurple/conversationtypes.c

branch
soc.2013.gobjectification
changeset 34983
81638be26f41
parent 34945
54af0dd9faa5
child 34986
894c29e33300
child 36843
a81a985c60f4
equal deleted inserted replaced
34982:8456350bb6fd 34983:81638be26f41
145 } 145 }
146 146
147 static gboolean 147 static gboolean
148 send_typed_cb(gpointer data) 148 send_typed_cb(gpointer data)
149 { 149 {
150 PurpleIMConversation *im = (PurpleIMConversation *)data; 150 PurpleIMConversation *im = PURPLE_IM_CONVERSATION(data);
151 PurpleConnection *gc; 151 PurpleConnection *gc;
152 const char *name; 152 const char *name;
153 153
154 g_return_val_if_fail(im != NULL, FALSE); 154 g_return_val_if_fail(im != NULL, FALSE);
155 155
340 } 340 }
341 341
342 void 342 void
343 purple_im_conversation_update_typing(PurpleIMConversation *im) 343 purple_im_conversation_update_typing(PurpleIMConversation *im)
344 { 344 {
345 g_return_if_fail(im != NULL); 345 g_return_if_fail(PURPLE_IS_IM_CONVERSATION(im));
346 346
347 purple_conversation_update(PURPLE_CONVERSATION(im), 347 purple_conversation_update(PURPLE_CONVERSATION(im),
348 PURPLE_CONVERSATION_UPDATE_TYPING); 348 PURPLE_CONVERSATION_UPDATE_TYPING);
349 } 349 }
350 350
351 static void 351 static void
352 im_conversation_write_message(PurpleConversation *conv, const char *who, const char *message, 352 im_conversation_write_message(PurpleConversation *conv, const char *who, const char *message,
353 PurpleMessageFlags flags, time_t mtime) 353 PurpleMessageFlags flags, time_t mtime)
354 { 354 {
355 PurpleConversationUiOps *ops; 355 PurpleConversationUiOps *ops;
356 356 PurpleIMConversation *im = PURPLE_IM_CONVERSATION(conv);
357 g_return_if_fail(conv != NULL); 357
358 g_return_if_fail(im != NULL);
358 g_return_if_fail(message != NULL); 359 g_return_if_fail(message != NULL);
359 360
360 ops = purple_conversation_get_ui_ops(conv); 361 ops = purple_conversation_get_ui_ops(conv);
361 362
362 if ((flags & PURPLE_MESSAGE_RECV) == PURPLE_MESSAGE_RECV) { 363 if ((flags & PURPLE_MESSAGE_RECV) == PURPLE_MESSAGE_RECV)
363 purple_im_conversation_set_typing_state(PURPLE_IM_CONVERSATION(conv), 364 purple_im_conversation_set_typing_state(im, PURPLE_IM_NOT_TYPING);
364 PURPLE_IM_NOT_TYPING);
365 }
366 365
367 /* Pass this on to either the ops structure or the default write func. */ 366 /* Pass this on to either the ops structure or the default write func. */
368 if (ops != NULL && ops->write_im != NULL) 367 if (ops != NULL && ops->write_im != NULL)
369 ops->write_im(PURPLE_IM_CONVERSATION(conv), who, message, flags, mtime); 368 ops->write_im(im, who, message, flags, mtime);
370 else 369 else
371 purple_conversation_write(conv, who, message, flags, mtime); 370 purple_conversation_write(conv, who, message, flags, mtime);
372 } 371 }
373 372
374 /************************************************************************** 373 /**************************************************************************
554 purple_im_conversation_new(PurpleAccount *account, const char *name) 553 purple_im_conversation_new(PurpleAccount *account, const char *name)
555 { 554 {
556 PurpleIMConversation *im; 555 PurpleIMConversation *im;
557 PurpleConnection *gc; 556 PurpleConnection *gc;
558 557
559 g_return_val_if_fail(account != NULL, NULL); 558 g_return_val_if_fail(PURPLE_IS_ACCOUNT(account), NULL);
560 g_return_val_if_fail(name != NULL, NULL); 559 g_return_val_if_fail(name != NULL, NULL);
561 560
562 /* Check if this conversation already exists. */ 561 /* Check if this conversation already exists. */
563 if ((im = purple_conversations_find_im_with_account(name, account)) != NULL) 562 if ((im = purple_conversations_find_im_with_account(name, account)) != NULL)
564 return im; 563 return im;
565 564
566 gc = purple_account_get_connection(account); 565 gc = purple_account_get_connection(account);
567 g_return_val_if_fail(gc != NULL, NULL); 566 g_return_val_if_fail(PURPLE_IS_CONNECTION(gc), NULL);
568 567
569 im = g_object_new(PURPLE_TYPE_IM_CONVERSATION, 568 im = g_object_new(PURPLE_TYPE_IM_CONVERSATION,
570 "account", account, 569 "account", account,
571 "name", name, 570 "name", name,
572 "title", name, 571 "title", name,
670 const char * 669 const char *
671 purple_chat_conversation_get_ignored_user(const PurpleChatConversation *chat, const char *user) 670 purple_chat_conversation_get_ignored_user(const PurpleChatConversation *chat, const char *user)
672 { 671 {
673 GList *ignored; 672 GList *ignored;
674 673
675 g_return_val_if_fail(chat != NULL, NULL); 674 g_return_val_if_fail(PURPLE_IS_CHAT_CONVERSATION(chat), NULL);
676 g_return_val_if_fail(user != NULL, NULL); 675 g_return_val_if_fail(user != NULL, NULL);
677 676
678 for (ignored = purple_chat_conversation_get_ignored(chat); 677 for (ignored = purple_chat_conversation_get_ignored(chat);
679 ignored != NULL; 678 ignored != NULL;
680 ignored = ignored->next) { 679 ignored = ignored->next) {
698 } 697 }
699 698
700 gboolean 699 gboolean
701 purple_chat_conversation_is_ignored_user(const PurpleChatConversation *chat, const char *user) 700 purple_chat_conversation_is_ignored_user(const PurpleChatConversation *chat, const char *user)
702 { 701 {
703 g_return_val_if_fail(chat != NULL, FALSE); 702 g_return_val_if_fail(PURPLE_IS_CHAT_CONVERSATION(chat), FALSE);
704 g_return_val_if_fail(user != NULL, FALSE); 703 g_return_val_if_fail(user != NULL, FALSE);
705 704
706 return (purple_chat_conversation_get_ignored_user(chat, user) != NULL); 705 return (purple_chat_conversation_get_ignored_user(chat, user) != NULL);
707 } 706 }
708 707
846 conv = PURPLE_CONVERSATION(chat); 845 conv = PURPLE_CONVERSATION(chat);
847 ops = purple_conversation_get_ui_ops(conv); 846 ops = purple_conversation_get_ui_ops(conv);
848 847
849 account = purple_conversation_get_account(conv); 848 account = purple_conversation_get_account(conv);
850 gc = purple_conversation_get_connection(conv); 849 gc = purple_conversation_get_connection(conv);
851 g_return_if_fail(gc != NULL); 850 g_return_if_fail(PURPLE_IS_CONNECTION(gc));
852 prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(purple_connection_get_prpl(gc)); 851 prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(purple_connection_get_prpl(gc));
853 g_return_if_fail(prpl_info != NULL); 852 g_return_if_fail(prpl_info != NULL);
854 853
855 ul = users; 854 ul = users;
856 fl = flags; 855 fl = flags;
953 conv = PURPLE_CONVERSATION(chat); 952 conv = PURPLE_CONVERSATION(chat);
954 ops = purple_conversation_get_ui_ops(conv); 953 ops = purple_conversation_get_ui_ops(conv);
955 account = purple_conversation_get_account(conv); 954 account = purple_conversation_get_account(conv);
956 955
957 gc = purple_conversation_get_connection(conv); 956 gc = purple_conversation_get_connection(conv);
958 g_return_if_fail(gc != NULL); 957 g_return_if_fail(PURPLE_IS_CONNECTION(gc));
959 prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(purple_connection_get_prpl(gc)); 958 prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(purple_connection_get_prpl(gc));
960 g_return_if_fail(prpl_info != NULL); 959 g_return_if_fail(prpl_info != NULL);
961 960
962 if (purple_strequal(priv->nick, purple_normalize(account, old_user))) { 961 if (purple_strequal(priv->nick, purple_normalize(account, old_user))) {
963 const char *alias; 962 const char *alias;
1076 g_return_if_fail(users != NULL); 1075 g_return_if_fail(users != NULL);
1077 1076
1078 conv = PURPLE_CONVERSATION(chat); 1077 conv = PURPLE_CONVERSATION(chat);
1079 1078
1080 gc = purple_conversation_get_connection(conv); 1079 gc = purple_conversation_get_connection(conv);
1081 g_return_if_fail(gc != NULL); 1080 g_return_if_fail(PURPLE_IS_CONNECTION(gc));
1082 prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(purple_connection_get_prpl(gc)); 1081 prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(purple_connection_get_prpl(gc));
1083 g_return_if_fail(prpl_info != NULL); 1082 g_return_if_fail(prpl_info != NULL);
1084 1083
1085 ops = purple_conversation_get_ui_ops(conv); 1084 ops = purple_conversation_get_ui_ops(conv);
1086 1085
1220 PurpleAccount *account; 1219 PurpleAccount *account;
1221 PurpleRequestFields *fields; 1220 PurpleRequestFields *fields;
1222 PurpleRequestFieldGroup *group; 1221 PurpleRequestFieldGroup *group;
1223 PurpleRequestField *field; 1222 PurpleRequestField *field;
1224 1223
1225 g_return_if_fail(chat != NULL); 1224 g_return_if_fail(PURPLE_IS_CHAT_CONVERSATION(chat));
1226 1225
1227 if (!user || !*user || !message || !*message) 1226 if (!user || !*user || !message || !*message)
1228 confirm = TRUE; 1227 confirm = TRUE;
1229 1228
1230 account = purple_conversation_get_account(PURPLE_CONVERSATION(chat)); 1229 account = purple_conversation_get_account(PURPLE_CONVERSATION(chat));
1258 } 1257 }
1259 1258
1260 gboolean 1259 gboolean
1261 purple_chat_conversation_has_user(PurpleChatConversation *chat, const char *user) 1260 purple_chat_conversation_has_user(PurpleChatConversation *chat, const char *user)
1262 { 1261 {
1263 g_return_val_if_fail(chat != NULL, FALSE); 1262 g_return_val_if_fail(PURPLE_IS_CHAT_CONVERSATION(chat), FALSE);
1264 g_return_val_if_fail(user != NULL, FALSE); 1263 g_return_val_if_fail(user != NULL, FALSE);
1265 1264
1266 return (purple_chat_conversation_find_user(chat, user) != NULL); 1265 return (purple_chat_conversation_find_user(chat, user) != NULL);
1267 } 1266 }
1268 1267
1596 purple_chat_conversation_new(PurpleAccount *account, const char *name) 1595 purple_chat_conversation_new(PurpleAccount *account, const char *name)
1597 { 1596 {
1598 PurpleChatConversation *chat; 1597 PurpleChatConversation *chat;
1599 PurpleConnection *gc; 1598 PurpleConnection *gc;
1600 1599
1601 g_return_val_if_fail(account != NULL, NULL); 1600 g_return_val_if_fail(PURPLE_IS_ACCOUNT(account), NULL);
1602 g_return_val_if_fail(name != NULL, NULL); 1601 g_return_val_if_fail(name != NULL, NULL);
1603 1602
1604 /* Check if this conversation already exists. */ 1603 /* Check if this conversation already exists. */
1605 if ((chat = purple_conversations_find_chat_with_account(name, account)) != NULL) 1604 if ((chat = purple_conversations_find_chat_with_account(name, account)) != NULL)
1606 { 1605 {
1607 if (!purple_chat_conversation_has_left(chat)) { 1606 if (!purple_chat_conversation_has_left(chat)) {
1622 return chat; 1621 return chat;
1623 } 1622 }
1624 } 1623 }
1625 1624
1626 gc = purple_account_get_connection(account); 1625 gc = purple_account_get_connection(account);
1627 g_return_val_if_fail(gc != NULL, NULL); 1626 g_return_val_if_fail(PURPLE_IS_CONNECTION(gc), NULL);
1628 1627
1629 chat = g_object_new(PURPLE_TYPE_CHAT_CONVERSATION, 1628 chat = g_object_new(PURPLE_TYPE_CHAT_CONVERSATION,
1630 "account", account, 1629 "account", account,
1631 "name", name, 1630 "name", name,
1632 "title", name, 1631 "title", name,
1740 } 1739 }
1741 1740
1742 void 1741 void
1743 purple_chat_user_set_ui_data(PurpleChatUser *cb, gpointer ui_data) 1742 purple_chat_user_set_ui_data(PurpleChatUser *cb, gpointer ui_data)
1744 { 1743 {
1745 g_return_if_fail(cb != NULL); 1744 g_return_if_fail(PURPLE_IS_CHAT_USER(cb));
1746 1745
1747 cb->ui_data = ui_data; 1746 cb->ui_data = ui_data;
1748 } 1747 }
1749 1748
1750 gpointer 1749 gpointer
1751 purple_chat_user_get_ui_data(const PurpleChatUser *cb) 1750 purple_chat_user_get_ui_data(const PurpleChatUser *cb)
1752 { 1751 {
1753 g_return_val_if_fail(cb != NULL, NULL); 1752 g_return_val_if_fail(PURPLE_IS_CHAT_USER(cb), NULL);
1754 1753
1755 return cb->ui_data; 1754 return cb->ui_data;
1756 } 1755 }
1757 1756
1758 void 1757 void
1986 purple_chat_user_new(PurpleChatConversation *chat, const char *name, 1985 purple_chat_user_new(PurpleChatConversation *chat, const char *name,
1987 const char *alias, PurpleChatUserFlags flags) 1986 const char *alias, PurpleChatUserFlags flags)
1988 { 1987 {
1989 PurpleChatUser *cb; 1988 PurpleChatUser *cb;
1990 1989
1991 g_return_val_if_fail(chat != NULL, NULL); 1990 g_return_val_if_fail(PURPLE_IS_CHAT_CONVERSATION(chat), NULL);
1992 g_return_val_if_fail(name != NULL, NULL); 1991 g_return_val_if_fail(name != NULL, NULL);
1993 1992
1994 cb = g_object_new(PURPLE_TYPE_CHAT_USER, 1993 cb = g_object_new(PURPLE_TYPE_CHAT_USER,
1995 CU_PROP_CHAT_S, chat, 1994 CU_PROP_CHAT_S, chat,
1996 CU_PROP_NAME_S, name, 1995 CU_PROP_NAME_S, name,

mercurial