Fri, 10 Jun 2022 20:42:36 -0500
fix memory leak when using purple accounts
Testing Done:
ran test_account_manager and test_notification (from /r/1502 where I first encountered that leak) in valgrind -> no more leak and no new invalid read/write
Reviewed at https://reviews.imfreedom.org/r/1503/
|
20147
66f05a854eee
applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents:
19904
diff
changeset
|
1 | /* purple |
| 4359 | 2 | * |
| 15884 | 3 | * Purple is the legal property of its developers, whose names are too numerous |
| 8046 | 4 | * to list here. Please refer to the COPYRIGHT file distributed with this |
| 5 | * source distribution. | |
|
6485
3c7ba18e32f1
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6414
diff
changeset
|
6 | * |
| 4359 | 7 | * This program is free software; you can redistribute it and/or modify |
| 8 | * it under the terms of the GNU General Public License as published by | |
| 9 | * the Free Software Foundation; either version 2 of the License, or | |
| 10 | * (at your option) any later version. | |
| 11 | * | |
| 12 | * This program is distributed in the hope that it will be useful, | |
| 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 15 | * GNU General Public License for more details. | |
| 16 | * | |
| 17 | * You should have received a copy of the GNU General Public License | |
| 18 | * along with this program; if not, write to the Free Software | |
|
19859
71d37b57eff2
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
19733
diff
changeset
|
19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
| 4359 | 20 | */ |
|
35487
494f09f7f331
Move section blocks inside inclusion guards -- otherwise g-ir-scanner yells
Ankit Vani <a@nevitus.org>
parents:
35486
diff
changeset
|
21 | |
|
40474
1341be8e3402
Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents:
40304
diff
changeset
|
22 | #if !defined(PURPLE_GLOBAL_HEADER_INSIDE) && !defined(PURPLE_COMPILATION) |
|
1341be8e3402
Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents:
40304
diff
changeset
|
23 | # error "only <purple.h> may be included directly" |
|
1341be8e3402
Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents:
40304
diff
changeset
|
24 | #endif |
|
1341be8e3402
Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents:
40304
diff
changeset
|
25 | |
|
39659
e4dfb99b0cef
Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39481
diff
changeset
|
26 | #ifndef PURPLE_CONVERSATION_H |
|
e4dfb99b0cef
Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39481
diff
changeset
|
27 | #define PURPLE_CONVERSATION_H |
|
40854
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
28 | |
|
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
29 | #include <glib.h> |
|
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
30 | #include <glib-object.h> |
|
34609
28b0f26f011f
Added GObject boilerplate code for headers, also _new() and _get_type() functions.
Ankit Vani <a@nevitus.org>
parents:
34608
diff
changeset
|
31 | |
|
40854
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
32 | #include <purplemessage.h> |
| 4359 | 33 | |
|
41010
d0abbb616bea
A bunch of random libpurple documentation fixes
Gary Kramlich <grim@reaperworld.com>
parents:
40854
diff
changeset
|
34 | /** |
|
d0abbb616bea
A bunch of random libpurple documentation fixes
Gary Kramlich <grim@reaperworld.com>
parents:
40854
diff
changeset
|
35 | * PURPLE_TYPE_CONVERSATION: |
|
d0abbb616bea
A bunch of random libpurple documentation fixes
Gary Kramlich <grim@reaperworld.com>
parents:
40854
diff
changeset
|
36 | * |
|
d0abbb616bea
A bunch of random libpurple documentation fixes
Gary Kramlich <grim@reaperworld.com>
parents:
40854
diff
changeset
|
37 | * The standard _TYPE_ macro for PurpleConversation. |
|
d0abbb616bea
A bunch of random libpurple documentation fixes
Gary Kramlich <grim@reaperworld.com>
parents:
40854
diff
changeset
|
38 | * |
|
d0abbb616bea
A bunch of random libpurple documentation fixes
Gary Kramlich <grim@reaperworld.com>
parents:
40854
diff
changeset
|
39 | * Since: 3.0.0 |
|
d0abbb616bea
A bunch of random libpurple documentation fixes
Gary Kramlich <grim@reaperworld.com>
parents:
40854
diff
changeset
|
40 | */ |
|
40854
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
41 | #define PURPLE_TYPE_CONVERSATION (purple_conversation_get_type()) |
|
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
42 | G_DECLARE_DERIVABLE_TYPE(PurpleConversation, purple_conversation, PURPLE, |
|
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
43 | CONVERSATION, GObject) |
| 11581 | 44 | |
| 4359 | 45 | /** |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
46 | * PurpleConversationUpdateType: |
|
40854
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
47 | * @PURPLE_CONVERSATION_UPDATE_ADD: The buddy associated with the conversation |
|
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
48 | * was added. |
|
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
49 | * @PURPLE_CONVERSATION_UPDATE_REMOVE: The buddy associated with the |
|
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
50 | * conversation was removed. |
|
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
51 | * @PURPLE_CONVERSATION_UPDATE_ACCOUNT: The purple_account was changed. |
|
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
52 | * @PURPLE_CONVERSATION_UPDATE_TYPING: The typing state was updated. |
|
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
53 | * @PURPLE_CONVERSATION_UPDATE_UNSEEN: The unseen state was updated. |
|
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
54 | * @PURPLE_CONVERSATION_UPDATE_LOGGING: Logging for this conversation was |
|
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
55 | * enabled or disabled. |
|
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
56 | * @PURPLE_CONVERSATION_UPDATE_TOPIC: The topic for a chat was updated. |
|
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
57 | * @PURPLE_CONVERSATION_ACCOUNT_ONLINE: One of the user's accounts went online. |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
58 | * @PURPLE_CONVERSATION_ACCOUNT_OFFLINE: One of the user's accounts went |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
59 | * offline. |
|
40854
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
60 | * @PURPLE_CONVERSATION_UPDATE_AWAY: The other user went away. |
|
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
61 | * @PURPLE_CONVERSATION_UPDATE_ICON: The other user's buddy icon changed. |
|
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
62 | * @PURPLE_CONVERSATION_UPDATE_NAME: The name of the conversation was changed. |
|
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
63 | * @PURPLE_CONVERSATION_UPDATE_TITLE: The title of the conversation was |
|
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
64 | * updated. |
|
37403
7143e2dbdd8d
Improve documentation for Conversation API
Jorge Villaseñor <salinasv@pidgin.im>
parents:
37224
diff
changeset
|
65 | * @PURPLE_CONVERSATION_UPDATE_CHATLEFT: The user left a chat. |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
66 | * @PURPLE_CONVERSATION_UPDATE_FEATURES: The features for a chat have changed. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
67 | * |
| 4359 | 68 | * Conversation update type. |
| 69 | */ | |
|
5944
f19df037ac58
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
70 | typedef enum |
| 4359 | 71 | { |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
72 | PURPLE_CONVERSATION_UPDATE_ADD = 0, |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
73 | PURPLE_CONVERSATION_UPDATE_REMOVE, |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
74 | PURPLE_CONVERSATION_UPDATE_ACCOUNT, |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
75 | PURPLE_CONVERSATION_UPDATE_TYPING, |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
76 | PURPLE_CONVERSATION_UPDATE_UNSEEN, |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
77 | PURPLE_CONVERSATION_UPDATE_LOGGING, |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
78 | PURPLE_CONVERSATION_UPDATE_TOPIC, |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
79 | |
| 4359 | 80 | /* |
| 81 | * XXX These need to go when we implement a more generic core/UI event | |
| 82 | * system. | |
| 83 | */ | |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
84 | PURPLE_CONVERSATION_ACCOUNT_ONLINE, |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
85 | PURPLE_CONVERSATION_ACCOUNT_OFFLINE, |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
86 | PURPLE_CONVERSATION_UPDATE_AWAY, |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
87 | PURPLE_CONVERSATION_UPDATE_ICON, |
|
35012
e07a9b9c6bda
Cleaned up properties and added g_object_notify calls for PurpleConnection and PurpleConversation's
Ankit Vani <a@nevitus.org>
parents:
34904
diff
changeset
|
88 | PURPLE_CONVERSATION_UPDATE_NAME, |
|
34599
0b1b22f5e2ec
Begun GObjectification of PurpleConversation.
Ankit Vani <a@nevitus.org>
parents:
34595
diff
changeset
|
89 | PURPLE_CONVERSATION_UPDATE_TITLE, |
|
0b1b22f5e2ec
Begun GObjectification of PurpleConversation.
Ankit Vani <a@nevitus.org>
parents:
34595
diff
changeset
|
90 | PURPLE_CONVERSATION_UPDATE_CHATLEFT, |
| 10665 | 91 | |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
92 | PURPLE_CONVERSATION_UPDATE_FEATURES |
|
5944
f19df037ac58
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
93 | |
|
34599
0b1b22f5e2ec
Begun GObjectification of PurpleConversation.
Ankit Vani <a@nevitus.org>
parents:
34595
diff
changeset
|
94 | } PurpleConversationUpdateType; |
| 4359 | 95 | |
|
9554
1609ba3612c3
[gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9260
diff
changeset
|
96 | /** |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
97 | * PurpleConversation: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
98 | * |
|
34747
2d77da77b594
Fixed documentation for PurpleConversation and PurpleConversationPrivate structs
Ankit Vani <a@nevitus.org>
parents:
34724
diff
changeset
|
99 | * A core representation of a conversation between two or more people. |
|
2d77da77b594
Fixed documentation for PurpleConversation and PurpleConversationPrivate structs
Ankit Vani <a@nevitus.org>
parents:
34724
diff
changeset
|
100 | * |
|
2d77da77b594
Fixed documentation for PurpleConversation and PurpleConversationPrivate structs
Ankit Vani <a@nevitus.org>
parents:
34724
diff
changeset
|
101 | * The conversation can be an IM or a chat. |
|
34772
618830ebcdcb
Added a note about destruction of a conversation in PurpleConversation's documentation
Ankit Vani <a@nevitus.org>
parents:
34747
diff
changeset
|
102 | * |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35047
diff
changeset
|
103 | * Note: When a conversation is destroyed with the last g_object_unref(), the |
|
34835
704ff889e9f6
Reworded the conversation destruction note
Ankit Vani <a@nevitus.org>
parents:
34772
diff
changeset
|
104 | * specified conversation is removed from the parent window. If this |
|
704ff889e9f6
Reworded the conversation destruction note
Ankit Vani <a@nevitus.org>
parents:
34772
diff
changeset
|
105 | * conversation is the only one contained in the parent window, that |
|
704ff889e9f6
Reworded the conversation destruction note
Ankit Vani <a@nevitus.org>
parents:
34772
diff
changeset
|
106 | * window is also destroyed. |
|
9554
1609ba3612c3
[gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9260
diff
changeset
|
107 | */ |
| 11581 | 108 | |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
109 | /** |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
110 | * PurpleConversationClass: |
|
35460
96946e21fce5
Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents:
35444
diff
changeset
|
111 | * @write_message: Writes a message to a chat or IM conversation. See |
|
96946e21fce5
Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents:
35444
diff
changeset
|
112 | * purple_conversation_write_message(). |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
113 | * |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
114 | * Base class for all #PurpleConversation's |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
115 | */ |
|
34599
0b1b22f5e2ec
Begun GObjectification of PurpleConversation.
Ankit Vani <a@nevitus.org>
parents:
34595
diff
changeset
|
116 | struct _PurpleConversationClass { |
|
40854
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
117 | /*< private >*/ |
|
34599
0b1b22f5e2ec
Begun GObjectification of PurpleConversation.
Ankit Vani <a@nevitus.org>
parents:
34595
diff
changeset
|
118 | GObjectClass parent_class; |
| 11581 | 119 | |
|
40854
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
120 | /*< public >*/ |
|
36088
4c386387f6f3
Switch purple_conversation_write_message to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
36087
diff
changeset
|
121 | void (*write_message)(PurpleConversation *conv, PurpleMessage *msg); |
|
34611
255148c286ab
Added some PurpleConversation virtual class methods.
Ankit Vani <a@nevitus.org>
parents:
34609
diff
changeset
|
122 | |
|
35024
eb3afb7643ce
Added /*< private >*/ for padding members, clean them up and add missing ones
Ankit Vani <a@nevitus.org>
parents:
35012
diff
changeset
|
123 | /*< private >*/ |
|
40854
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
124 | gpointer reserved[4]; |
|
34599
0b1b22f5e2ec
Begun GObjectification of PurpleConversation.
Ankit Vani <a@nevitus.org>
parents:
34595
diff
changeset
|
125 | }; |
|
9554
1609ba3612c3
[gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9260
diff
changeset
|
126 | |
|
40853
d3518ff99fa7
rename conversation.[ch] to purpleconversation.[ch] and split PurpleConversationUiOps out to its own file to avoid circular include issues.
Gary Kramlich <grim@reaperworld.com>
parents:
40827
diff
changeset
|
127 | #include <purpleconversationuiops.h> |
|
5872
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5858
diff
changeset
|
128 | #include "account.h" |
|
9718
aeee69c6c784
[gaim-migrate @ 10579]
Mark Doliner <markdoliner@pidgin.im>
parents:
9627
diff
changeset
|
129 | #include "buddyicon.h" |
|
5872
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5858
diff
changeset
|
130 | |
|
32787
7072f190d6ad
Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32698
diff
changeset
|
131 | G_BEGIN_DECLS |
| 8256 | 132 | |
|
9554
1609ba3612c3
[gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9260
diff
changeset
|
133 | /** |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
134 | * purple_conversation_get_type: |
|
20940
925d3d68b3af
Doxygen @since tags for libpurple and pidgin.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20889
diff
changeset
|
135 | * |
|
35460
96946e21fce5
Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents:
35444
diff
changeset
|
136 | * Returns: The #GType for the Conversation object. |
|
19590
cf4e3e71bbc0
Store message history in a conversation, and provide API to access the history.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19120
diff
changeset
|
137 | */ |
|
cf4e3e71bbc0
Store message history in a conversation, and provide API to access the history.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19120
diff
changeset
|
138 | |
|
cf4e3e71bbc0
Store message history in a conversation, and provide API to access the history.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19120
diff
changeset
|
139 | /** |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
140 | * purple_conversation_present: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
141 | * @conv: The conversation to present |
| 4359 | 142 | * |
|
12624
c1c92f08976b
[gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents:
12618
diff
changeset
|
143 | * Present a conversation to the user. This allows core code to initiate a |
|
c1c92f08976b
[gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents:
12618
diff
changeset
|
144 | * conversation by displaying the IM dialog. |
|
c1c92f08976b
[gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents:
12618
diff
changeset
|
145 | */ |
| 15884 | 146 | void purple_conversation_present(PurpleConversation *conv); |
|
12624
c1c92f08976b
[gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents:
12618
diff
changeset
|
147 | |
| 4359 | 148 | /** |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
149 | * purple_conversation_set_ui_ops: |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35047
diff
changeset
|
150 | * @conv: The conversation. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35047
diff
changeset
|
151 | * @ops: The UI conversation operations structure. |
| 4359 | 152 | * |
| 153 | * Sets the specified conversation's UI operations structure. | |
| 154 | */ | |
|
40854
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
155 | void purple_conversation_set_ui_ops(PurpleConversation *conv, PurpleConversationUiOps *ops); |
| 4359 | 156 | |
| 157 | /** | |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
158 | * purple_conversation_get_ui_ops: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
159 | * @conv: The conversation. |
| 11581 | 160 | * |
| 4359 | 161 | * Returns the specified conversation's UI operations structure. |
|
6585
8fcd3639e544
[gaim-migrate @ 7107]
Christian Hammond <chipx86@chipx86.com>
parents:
6488
diff
changeset
|
162 | * |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35047
diff
changeset
|
163 | * Returns: The operations structure. |
| 4359 | 164 | */ |
|
39380
3088866c22f4
libpurple: Port almost self-contained code from g_type_class_add_private()
Mike Ruprecht <cmaiku@gmail.com>
parents:
39235
diff
changeset
|
165 | PurpleConversationUiOps *purple_conversation_get_ui_ops(PurpleConversation *conv); |
| 4359 | 166 | |
| 167 | /** | |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
168 | * purple_conversation_set_account: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
169 | * @conv: The conversation. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
170 | * @account: The purple_account. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
171 | * |
| 15884 | 172 | * Sets the specified conversation's purple_account. |
| 4359 | 173 | * |
| 15884 | 174 | * This purple_account represents the user using purple, not the person the user |
| 4359 | 175 | * is having a conversation/chat/flame with. |
| 176 | */ | |
|
40854
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
177 | void purple_conversation_set_account(PurpleConversation *conv, PurpleAccount *account); |
| 4359 | 178 | |
| 179 | /** | |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
180 | * purple_conversation_get_account: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
181 | * @conv: The conversation. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
182 | * |
| 15884 | 183 | * Returns the specified conversation's purple_account. |
| 4359 | 184 | * |
| 15884 | 185 | * This purple_account represents the user using purple, not the person the user |
| 4359 | 186 | * is having a conversation/chat/flame with. |
| 187 | * | |
|
37403
7143e2dbdd8d
Improve documentation for Conversation API
Jorge Villaseñor <salinasv@pidgin.im>
parents:
37224
diff
changeset
|
188 | * Returns: (transfer none): The conversation's purple_account. |
| 4359 | 189 | */ |
|
39380
3088866c22f4
libpurple: Port almost self-contained code from g_type_class_add_private()
Mike Ruprecht <cmaiku@gmail.com>
parents:
39235
diff
changeset
|
190 | PurpleAccount *purple_conversation_get_account(PurpleConversation *conv); |
| 4359 | 191 | |
| 192 | /** | |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
193 | * purple_conversation_get_connection: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
194 | * @conv: The conversation. |
| 4359 | 195 | * |
| 15884 | 196 | * Returns the specified conversation's purple_connection. |
| 4359 | 197 | * |
|
37403
7143e2dbdd8d
Improve documentation for Conversation API
Jorge Villaseñor <salinasv@pidgin.im>
parents:
37224
diff
changeset
|
198 | * Returns: (transfer none): The conversation's purple_connection. |
| 4359 | 199 | */ |
|
39380
3088866c22f4
libpurple: Port almost self-contained code from g_type_class_add_private()
Mike Ruprecht <cmaiku@gmail.com>
parents:
39235
diff
changeset
|
200 | PurpleConnection *purple_conversation_get_connection(PurpleConversation *conv); |
| 4359 | 201 | |
| 202 | /** | |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
203 | * purple_conversation_set_title: |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35047
diff
changeset
|
204 | * @conv: The conversation. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35047
diff
changeset
|
205 | * @title: The title. |
| 4359 | 206 | * |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
207 | * Sets the specified conversation's title. |
| 4359 | 208 | */ |
|
40854
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
209 | void purple_conversation_set_title(PurpleConversation *conv, const gchar *title); |
| 4359 | 210 | |
| 211 | /** | |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
212 | * purple_conversation_get_title: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
213 | * @conv: The conversation. |
| 4359 | 214 | * |
| 215 | * Returns the specified conversation's title. | |
| 216 | * | |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35047
diff
changeset
|
217 | * Returns: The title. |
| 4359 | 218 | */ |
|
39380
3088866c22f4
libpurple: Port almost self-contained code from g_type_class_add_private()
Mike Ruprecht <cmaiku@gmail.com>
parents:
39235
diff
changeset
|
219 | const char *purple_conversation_get_title(PurpleConversation *conv); |
| 4359 | 220 | |
| 221 | /** | |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
222 | * purple_conversation_autoset_title: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
223 | * @conv: The conversation. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
224 | * |
| 4359 | 225 | * Automatically sets the specified conversation's title. |
| 226 | * | |
| 227 | * This function takes OPT_IM_ALIAS_TAB into account, as well as the | |
| 228 | * user's alias. | |
| 229 | */ | |
| 15884 | 230 | void purple_conversation_autoset_title(PurpleConversation *conv); |
| 4359 | 231 | |
| 232 | /** | |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
233 | * purple_conversation_set_name: |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35047
diff
changeset
|
234 | * @conv: The conversation. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35047
diff
changeset
|
235 | * @name: The conversation's name. |
|
7256
311c8febfc92
[gaim-migrate @ 7833]
Christian Hammond <chipx86@chipx86.com>
parents:
7122
diff
changeset
|
236 | * |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
237 | * Sets the specified conversation's name. |
|
7256
311c8febfc92
[gaim-migrate @ 7833]
Christian Hammond <chipx86@chipx86.com>
parents:
7122
diff
changeset
|
238 | */ |
|
40854
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
239 | void purple_conversation_set_name(PurpleConversation *conv, const gchar *name); |
|
7256
311c8febfc92
[gaim-migrate @ 7833]
Christian Hammond <chipx86@chipx86.com>
parents:
7122
diff
changeset
|
240 | |
|
311c8febfc92
[gaim-migrate @ 7833]
Christian Hammond <chipx86@chipx86.com>
parents:
7122
diff
changeset
|
241 | /** |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
242 | * purple_conversation_get_name: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
243 | * @conv: The conversation. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
244 | * |
| 4359 | 245 | * Returns the specified conversation's name. |
| 246 | * | |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
247 | * Returns: The conversation's name. If the conversation is an IM with a |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
248 | * PurpleBuddy, then it's the name of the PurpleBuddy. |
| 4359 | 249 | */ |
|
39380
3088866c22f4
libpurple: Port almost self-contained code from g_type_class_add_private()
Mike Ruprecht <cmaiku@gmail.com>
parents:
39235
diff
changeset
|
250 | const char *purple_conversation_get_name(PurpleConversation *conv); |
| 4359 | 251 | |
| 252 | /** | |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
253 | * purple_conversation_write_message: |
|
37224
6525f141a8bb
update GTK-Doc annotation for purple_conversation_write_message()
Michael McConville <mmcconville@mykolab.com>
parents:
37153
diff
changeset
|
254 | * @conv: The conversation. |
|
6525f141a8bb
update GTK-Doc annotation for purple_conversation_write_message()
Michael McConville <mmcconville@mykolab.com>
parents:
37153
diff
changeset
|
255 | * @msg: The message to write. |
| 4359 | 256 | * |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
257 | * Writes to a chat or an IM. |
| 4359 | 258 | */ |
|
40854
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
259 | void purple_conversation_write_message(PurpleConversation *conv, PurpleMessage *msg); |
| 4359 | 260 | |
| 261 | /** | |
|
36087
afa337c971e0
Fill comment for purple_conversation_write_system_message
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
36086
diff
changeset
|
262 | * purple_conversation_write_system_message: |
|
afa337c971e0
Fill comment for purple_conversation_write_system_message
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
36086
diff
changeset
|
263 | * @conv: The conversation. |
|
afa337c971e0
Fill comment for purple_conversation_write_system_message
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
36086
diff
changeset
|
264 | * @message: The message to write. |
|
afa337c971e0
Fill comment for purple_conversation_write_system_message
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
36086
diff
changeset
|
265 | * @flags: The message flags (you don't need to set %PURPLE_MESSAGE_SYSTEM. |
|
4876
b6ec886c8c77
[gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents:
4491
diff
changeset
|
266 | * |
|
36087
afa337c971e0
Fill comment for purple_conversation_write_system_message
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
36086
diff
changeset
|
267 | * Wites a system message to a chat or an IM. |
|
4876
b6ec886c8c77
[gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents:
4491
diff
changeset
|
268 | */ |
|
40854
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
269 | void purple_conversation_write_system_message(PurpleConversation *conv, const gchar *message, PurpleMessageFlags flags); |
| 4359 | 270 | |
| 271 | /** | |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
272 | * purple_conversation_send: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
273 | * @conv: The conversation. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
274 | * @message: The message to send. |
| 4359 | 275 | * |
|
34615
5f7212d27557
Removed send from PurpleConversation's virtual methods, renamed the remaining methods.
Ankit Vani <a@nevitus.org>
parents:
34612
diff
changeset
|
276 | * Sends a message to this conversation. This function calls |
|
34651
88c104a20f4b
Refactored the PurpleConversation subclasses and subsystem to use the GObject conversation API.
Ankit Vani <a@nevitus.org>
parents:
34648
diff
changeset
|
277 | * purple_conversation_send_with_flags() with no additional flags. |
| 4359 | 278 | */ |
|
40854
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
279 | void purple_conversation_send(PurpleConversation *conv, const gchar *message); |
| 4359 | 280 | |
| 281 | /** | |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
282 | * purple_conversation_send_with_flags: |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35047
diff
changeset
|
283 | * @conv: The conversation. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35047
diff
changeset
|
284 | * @message: The message to send. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35047
diff
changeset
|
285 | * @flags: The PurpleMessageFlags flags to use in addition to |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
286 | * PURPLE_MESSAGE_SEND. |
| 4359 | 287 | * |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
288 | * Sends a message to this conversation with specified flags. |
| 4359 | 289 | */ |
|
40854
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
290 | void purple_conversation_send_with_flags(PurpleConversation *conv, const gchar *message, PurpleMessageFlags flags); |
| 10665 | 291 | |
| 292 | /** | |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
293 | * purple_conversation_set_features: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
294 | * @conv: The conversation |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
295 | * @features: Bitset defining supported features |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
296 | * |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
297 | * Set the features as supported for the given conversation. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
298 | */ |
|
40854
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
299 | void purple_conversation_set_features(PurpleConversation *conv, PurpleConnectionFlags features); |
| 10665 | 300 | |
| 301 | /** | |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
302 | * purple_conversation_get_features: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
303 | * @conv: The conversation |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
304 | * |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
305 | * Get the features supported by the given conversation. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
306 | */ |
| 15884 | 307 | PurpleConnectionFlags purple_conversation_get_features(PurpleConversation *conv); |
| 4359 | 308 | |
| 309 | /** | |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
310 | * purple_conversation_has_focus: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
311 | * @conv: The conversation. |
|
9260
82d7b380220a
[gaim-migrate @ 10059]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9166
diff
changeset
|
312 | * |
|
82d7b380220a
[gaim-migrate @ 10059]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9166
diff
changeset
|
313 | * Determines if a conversation has focus |
|
82d7b380220a
[gaim-migrate @ 10059]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9166
diff
changeset
|
314 | * |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35047
diff
changeset
|
315 | * Returns: %TRUE if the conversation has focus, %FALSE if |
|
9260
82d7b380220a
[gaim-migrate @ 10059]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9166
diff
changeset
|
316 | * it does not or the UI does not have a concept of conversation focus |
|
82d7b380220a
[gaim-migrate @ 10059]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9166
diff
changeset
|
317 | */ |
| 15884 | 318 | gboolean purple_conversation_has_focus(PurpleConversation *conv); |
|
9260
82d7b380220a
[gaim-migrate @ 10059]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9166
diff
changeset
|
319 | |
|
82d7b380220a
[gaim-migrate @ 10059]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9166
diff
changeset
|
320 | /** |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
321 | * purple_conversation_update: |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35047
diff
changeset
|
322 | * @conv: The conversation. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35047
diff
changeset
|
323 | * @type: The update type. |
| 4359 | 324 | * |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
325 | * Updates the visual status and UI of a conversation. |
| 4359 | 326 | */ |
|
34599
0b1b22f5e2ec
Begun GObjectification of PurpleConversation.
Ankit Vani <a@nevitus.org>
parents:
34595
diff
changeset
|
327 | void purple_conversation_update(PurpleConversation *conv, PurpleConversationUpdateType type); |
| 4359 | 328 | |
| 329 | /** | |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
330 | * purple_conversation_get_message_history: |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35047
diff
changeset
|
331 | * @conv: The conversation |
| 4359 | 332 | * |
|
19590
cf4e3e71bbc0
Store message history in a conversation, and provide API to access the history.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19120
diff
changeset
|
333 | * Retrieve the message history of a conversation. |
|
cf4e3e71bbc0
Store message history in a conversation, and provide API to access the history.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19120
diff
changeset
|
334 | * |
|
37403
7143e2dbdd8d
Improve documentation for Conversation API
Jorge Villaseñor <salinasv@pidgin.im>
parents:
37224
diff
changeset
|
335 | * Returns: (element-type PurpleMessage) (transfer none): |
|
7143e2dbdd8d
Improve documentation for Conversation API
Jorge Villaseñor <salinasv@pidgin.im>
parents:
37224
diff
changeset
|
336 | * A GList of PurpleMessage's. You must not modify the |
|
36115
09387009bb17
Drop PurpleConversationMessage in favor of PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
36110
diff
changeset
|
337 | * list or the data within. The list contains the newest message at |
|
09387009bb17
Drop PurpleConversationMessage in favor of PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
36110
diff
changeset
|
338 | * the beginning, and the oldest message at the end. |
|
19590
cf4e3e71bbc0
Store message history in a conversation, and provide API to access the history.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19120
diff
changeset
|
339 | */ |
|
cf4e3e71bbc0
Store message history in a conversation, and provide API to access the history.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19120
diff
changeset
|
340 | GList *purple_conversation_get_message_history(PurpleConversation *conv); |
|
cf4e3e71bbc0
Store message history in a conversation, and provide API to access the history.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19120
diff
changeset
|
341 | |
|
cf4e3e71bbc0
Store message history in a conversation, and provide API to access the history.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19120
diff
changeset
|
342 | /** |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
343 | * purple_conversation_clear_message_history: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
344 | * @conv: The conversation |
|
19590
cf4e3e71bbc0
Store message history in a conversation, and provide API to access the history.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19120
diff
changeset
|
345 | * |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
346 | * Clear the message history of a conversation. |
|
19590
cf4e3e71bbc0
Store message history in a conversation, and provide API to access the history.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19120
diff
changeset
|
347 | */ |
|
cf4e3e71bbc0
Store message history in a conversation, and provide API to access the history.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19120
diff
changeset
|
348 | void purple_conversation_clear_message_history(PurpleConversation *conv); |
|
cf4e3e71bbc0
Store message history in a conversation, and provide API to access the history.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19120
diff
changeset
|
349 | |
|
cf4e3e71bbc0
Store message history in a conversation, and provide API to access the history.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19120
diff
changeset
|
350 | /** |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
351 | * purple_conversation_send_confirm: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
352 | * @conv: The conversation. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
353 | * @message: The message to send. |
| 11581 | 354 | * |
| 14582 | 355 | * Sends a message to a conversation after confirming with |
| 356 | * the user. | |
| 357 | * | |
| 358 | * This function is intended for use in cases where the user | |
| 359 | * hasn't explicitly and knowingly caused a message to be sent. | |
| 360 | * The confirmation ensures that the user isn't sending a | |
| 361 | * message by mistake. | |
| 362 | */ | |
|
40854
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
363 | void purple_conversation_send_confirm(PurpleConversation *conv, const gchar *message); |
| 4359 | 364 | |
| 365 | /** | |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
366 | * purple_conversation_get_extended_menu: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
367 | * @conv: The conversation. |
|
9554
1609ba3612c3
[gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9260
diff
changeset
|
368 | * |
|
17265
fd5b0ca330a3
New api function purple_conversation_get_extended_menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16743
diff
changeset
|
369 | * Retrieves the extended menu items for the conversation. |
|
fd5b0ca330a3
New api function purple_conversation_get_extended_menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16743
diff
changeset
|
370 | * |
|
39738
14d425a528ad
Add missing transfer annotations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39659
diff
changeset
|
371 | * Returns: (element-type PurpleActionMenu) (transfer full): The extended menu |
|
14d425a528ad
Add missing transfer annotations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39659
diff
changeset
|
372 | * items for a conversation, as harvested by the chat-extended-menu |
|
14d425a528ad
Add missing transfer annotations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39659
diff
changeset
|
373 | * signal. |
|
17265
fd5b0ca330a3
New api function purple_conversation_get_extended_menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16743
diff
changeset
|
374 | */ |
|
fd5b0ca330a3
New api function purple_conversation_get_extended_menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16743
diff
changeset
|
375 | GList * purple_conversation_get_extended_menu(PurpleConversation *conv); |
|
fd5b0ca330a3
New api function purple_conversation_get_extended_menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16743
diff
changeset
|
376 | |
|
17266
d4dc6a9ca244
New function purple_conversation_do_command. This is almost like
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17265
diff
changeset
|
377 | /** |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
378 | * purple_conversation_do_command: |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35047
diff
changeset
|
379 | * @conv: The conversation. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35047
diff
changeset
|
380 | * @cmdline: The entire command including the arguments. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35047
diff
changeset
|
381 | * @markup: %NULL, or the formatted command line. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35047
diff
changeset
|
382 | * @error: If the command failed errormsg is filled in with the appropriate error |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35047
diff
changeset
|
383 | * message, if not %NULL. It must be freed by the caller with g_free(). |
|
33578
d6d18b8e3c46
Revert my revision 485b1a932990
Mark Doliner <mark@kingant.net>
parents:
33567
diff
changeset
|
384 | * |
| 35471 | 385 | * Perform a command in a conversation. Similar to purple_cmd_do_command(). |
|
17266
d4dc6a9ca244
New function purple_conversation_do_command. This is almost like
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17265
diff
changeset
|
386 | * |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35047
diff
changeset
|
387 | * Returns: %TRUE if the command was executed successfully, %FALSE otherwise. |
|
33578
d6d18b8e3c46
Revert my revision 485b1a932990
Mark Doliner <mark@kingant.net>
parents:
33567
diff
changeset
|
388 | */ |
|
40854
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
389 | gboolean purple_conversation_do_command(PurpleConversation *conv, const gchar *cmdline, const gchar *markup, gchar **error); |
|
33578
d6d18b8e3c46
Revert my revision 485b1a932990
Mark Doliner <mark@kingant.net>
parents:
33567
diff
changeset
|
390 | |
|
34321
f60fcab02bd4
Reconsidered characters count callback for prpl API: make it per-conversation and distinguish infinite from undefined
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
33578
diff
changeset
|
391 | /** |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
392 | * purple_conversation_get_max_message_size: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
393 | * @conv: The conversation to query. |
|
17266
d4dc6a9ca244
New function purple_conversation_do_command. This is almost like
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17265
diff
changeset
|
394 | * |
|
34321
f60fcab02bd4
Reconsidered characters count callback for prpl API: make it per-conversation and distinguish infinite from undefined
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
33578
diff
changeset
|
395 | * Gets the maximum message size in bytes for the conversation. |
|
f60fcab02bd4
Reconsidered characters count callback for prpl API: make it per-conversation and distinguish infinite from undefined
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
33578
diff
changeset
|
396 | * |
|
39757
4a5ba806d8c9
Rename *Iface to more standard names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39738
diff
changeset
|
397 | * See #PurpleProtocolClientInterface's <literal>get_max_message_size</literal>. |
|
20940
925d3d68b3af
Doxygen @since tags for libpurple and pidgin.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20889
diff
changeset
|
398 | * |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35047
diff
changeset
|
399 | * Returns: Maximum message size, 0 if unspecified, -1 for infinite. |
|
17266
d4dc6a9ca244
New function purple_conversation_do_command. This is almost like
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17265
diff
changeset
|
400 | */ |
|
40854
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
401 | gssize purple_conversation_get_max_message_size(PurpleConversation *conv); |
|
17266
d4dc6a9ca244
New function purple_conversation_do_command. This is almost like
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17265
diff
changeset
|
402 | |
|
35766
f29bb25cfbd8
Smileys: fill comments for old files
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35762
diff
changeset
|
403 | /** |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
404 | * purple_conversation_present_error: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
405 | * @who: The user this error is about |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
406 | * @account: The account this error is on |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
407 | * @what: The error |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
408 | * |
|
34600
3180ebbd06be
Added GObject structures, moved things around, renamed functions as GObject methods.
Ankit Vani <a@nevitus.org>
parents:
34599
diff
changeset
|
409 | * Presents an IM-error to the user |
|
3180ebbd06be
Added GObject structures, moved things around, renamed functions as GObject methods.
Ankit Vani <a@nevitus.org>
parents:
34599
diff
changeset
|
410 | * |
|
3180ebbd06be
Added GObject structures, moved things around, renamed functions as GObject methods.
Ankit Vani <a@nevitus.org>
parents:
34599
diff
changeset
|
411 | * This is a helper function to find a conversation, write an error to it, and |
|
3180ebbd06be
Added GObject structures, moved things around, renamed functions as GObject methods.
Ankit Vani <a@nevitus.org>
parents:
34599
diff
changeset
|
412 | * raise the window. If a conversation with this user doesn't already exist, |
|
3180ebbd06be
Added GObject structures, moved things around, renamed functions as GObject methods.
Ankit Vani <a@nevitus.org>
parents:
34599
diff
changeset
|
413 | * the function will return FALSE and the calling function can attempt to present |
|
3180ebbd06be
Added GObject structures, moved things around, renamed functions as GObject methods.
Ankit Vani <a@nevitus.org>
parents:
34599
diff
changeset
|
414 | * the error another way (purple_notify_error, most likely) |
|
3180ebbd06be
Added GObject structures, moved things around, renamed functions as GObject methods.
Ankit Vani <a@nevitus.org>
parents:
34599
diff
changeset
|
415 | * |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35047
diff
changeset
|
416 | * Returns: TRUE if the error was presented, else FALSE |
|
34600
3180ebbd06be
Added GObject structures, moved things around, renamed functions as GObject methods.
Ankit Vani <a@nevitus.org>
parents:
34599
diff
changeset
|
417 | */ |
|
40854
f1b7c03f6cc7
Use G_DECLARE_DERIVABLE_TYPE for PurpleConversation and additional cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40853
diff
changeset
|
418 | gboolean purple_conversation_present_error(const gchar *who, PurpleAccount *account, const gchar *what); |
|
4481
1a02f276e41e
[gaim-migrate @ 4756]
Christian Hammond <chipx86@chipx86.com>
parents:
4476
diff
changeset
|
419 | |
|
32787
7072f190d6ad
Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32698
diff
changeset
|
420 | G_END_DECLS |
|
5944
f19df037ac58
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
421 | |
|
39659
e4dfb99b0cef
Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39481
diff
changeset
|
422 | #endif /* PURPLE_CONVERSATION_H */ |