libpurple/purpleprotocolconversation.h

Thu, 22 Feb 2024 06:03:16 -0600

author
Gary Kramlich <grim@reaperworld.com>
date
Thu, 22 Feb 2024 06:03:16 -0600
changeset 42596
b64b96f3b781
parent 42594
eddde70cedd8
child 42615
2f3308794a8f
permissions
-rw-r--r--

Add a favorite property to PurpleContactInfo

This will be used in the future for toggling whether or not contacts are
favorited or starred.

Testing Done:
Ran the unit tests under valgrind.

Reviewed at https://reviews.imfreedom.org/r/2965/

42319
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
1 /*
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
2 * Purple - Internet Messaging Library
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
3 * Copyright (C) Pidgin Developers <devel@pidgin.im>
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
4 *
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
5 * Purple is the legal property of its developers, whose names are too numerous
42594
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42387
diff changeset
6 * to list here. Please refer to the COPYRIGHT file distributed with this
42319
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
7 * source distribution.
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
8 *
42594
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42387
diff changeset
9 * This library is free software; you can redistribute it and/or modify it
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42387
diff changeset
10 * under the terms of the GNU General Public License as published by the Free
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42387
diff changeset
11 * Software Foundation; either version 2 of the License, or (at your option)
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42387
diff changeset
12 * any later version.
42319
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
13 *
42594
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42387
diff changeset
14 * This library is distributed in the hope that it will be useful, but WITHOUT
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42387
diff changeset
15 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42387
diff changeset
16 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42387
diff changeset
17 * more details.
42319
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
18 *
42594
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42387
diff changeset
19 * You should have received a copy of the GNU General Public License along with
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42387
diff changeset
20 * this library; if not, see <https://www.gnu.org/licenses/>.
42319
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
21 */
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
22
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
23 #if !defined(PURPLE_GLOBAL_HEADER_INSIDE) && !defined(PURPLE_COMPILATION)
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
24 # error "only <purple.h> may be included directly"
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
25 #endif
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
26
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
27 #ifndef PURPLE_PROTOCOL_CONVERSATION_H
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
28 #define PURPLE_PROTOCOL_CONVERSATION_H
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
29
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
30 #include <glib.h>
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
31 #include <glib-object.h>
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
32
42344
c51d37734155 Rename account.[ch] to purpleaccount.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 42332
diff changeset
33 #include "purpleaccount.h"
42354
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
34 #include "purpleavatar.h"
42332
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
35 #include "purplechanneljoindetails.h"
42319
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
36 #include "purpleconversation.h"
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
37 #include "purplemessage.h"
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
38 #include "purpleprotocol.h"
42368
2630a8a2d64d Add a send_typing vfunc to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42354
diff changeset
39 #include "purpletyping.h"
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42368
diff changeset
40 #include "purpleversion.h"
42319
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
41
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
42 G_BEGIN_DECLS
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
43
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
44 #define PURPLE_TYPE_PROTOCOL_CONVERSATION (purple_protocol_conversation_get_type())
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42368
diff changeset
45
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42368
diff changeset
46 PURPLE_AVAILABLE_IN_3_0
42319
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
47 G_DECLARE_INTERFACE(PurpleProtocolConversation, purple_protocol_conversation,
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
48 PURPLE, PROTOCOL_CONVERSATION, PurpleProtocol)
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
49
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
50 /**
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
51 * PurpleProtocolConversationInterface:
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
52 *
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
53 * This interface defines the behavior for interacting with conversations at
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
54 * the protocol layer. These methods will primarily be called by the user
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
55 * interface.
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
56 *
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
57 * Since: 3.0.0
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
58 */
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
59 struct _PurpleProtocolConversationInterface {
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
60 /*< private >*/
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
61 GTypeInterface parent;
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
62
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
63 /*< public >*/
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
64 void (*send_message_async)(PurpleProtocolConversation *protocol, PurpleConversation *conversation, PurpleMessage *message, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer data);
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
65 gboolean (*send_message_finish)(PurpleProtocolConversation *protocol, GAsyncResult *result, GError **error);
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
66
42325
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
67 void (*set_topic_async)(PurpleProtocolConversation *protocol, PurpleConversation *conversation, const char *topic, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer data);
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
68 gboolean (*set_topic_finish)(PurpleProtocolConversation *protocol, GAsyncResult *result, GError **error);
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
69
42332
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
70 PurpleChannelJoinDetails *(*get_channel_join_details)(PurpleProtocolConversation *protocol, PurpleAccount *account);
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
71 void (*join_channel_async)(PurpleProtocolConversation *protocol, PurpleAccount *account, PurpleChannelJoinDetails *details, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer data);
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
72 gboolean (*join_channel_finish)(PurpleProtocolConversation *protocol, GAsyncResult *result, GError **error);
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
73
42354
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
74 void (*set_avatar_async)(PurpleProtocolConversation *protocol, PurpleConversation *conversation, PurpleAvatar *avatar, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer data);
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
75 gboolean (*set_avatar_finish)(PurpleProtocolConversation *protocol, GAsyncResult *result, GError **error);
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
76
42368
2630a8a2d64d Add a send_typing vfunc to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42354
diff changeset
77 void (*send_typing)(PurpleProtocolConversation *protocol, PurpleConversation *conversation, PurpleTypingState state);
2630a8a2d64d Add a send_typing vfunc to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42354
diff changeset
78
42319
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
79 /*< private >*/
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
80 gpointer reserved[8];
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
81 };
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
82
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
83 /**
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
84 * purple_protocol_conversation_send_message_async:
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
85 * @protocol: The instance.
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
86 * @conversation: The conversation to send a message to.
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
87 * @message: The message to send.
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
88 * @cancellable: (nullable): optional GCancellable object, %NULL to ignore.
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
89 * @callback: (nullable) (scope async): The callback to call after the message
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
90 * has been sent.
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
91 * @data: (nullable): Optional user data to pass to @callback.
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
92 *
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
93 * Starts the process of sending @message to @conversation.
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
94 *
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
95 * Since: 3.0.0
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
96 */
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42368
diff changeset
97 PURPLE_AVAILABLE_IN_3_0
42319
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
98 void purple_protocol_conversation_send_message_async(PurpleProtocolConversation *protocol, PurpleConversation *conversation, PurpleMessage *message, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer data);
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
99
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
100 /**
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
101 * purple_protocol_conversation_send_message_finish:
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
102 * @protocol: The instance.
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
103 * @result: The [iface@Gio.AsyncResult] from the previous
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
104 * [method@ProtocolConversation.send_message_async] call.
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
105 * @error: Return address for a #GError, or %NULL.
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
106 *
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
107 * Finishes a previous call to
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
108 * [method@ProtocolConversation.send_message_async]. This should be called from
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
109 * the callback of that function to get the result of whether or not the
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
110 * message was sent successfully.
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
111 *
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
112 * Returns: %TRUE if the message was sent successfully, otherwise %FALSE with
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
113 * @error possibly set.
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
114 *
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
115 * Since: 3.0.0
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
116 */
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42368
diff changeset
117 PURPLE_AVAILABLE_IN_3_0
42319
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
118 gboolean purple_protocol_conversation_send_message_finish(PurpleProtocolConversation *protocol, GAsyncResult *result, GError **error);
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
119
42325
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
120 /**
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
121 * purple_protocol_conversation_set_topic_async:
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
122 * @protocol: The instance.
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
123 * @conversation: The conversation whose topic to set.
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
124 * @topic: (nullable): The new topic to set.
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
125 * @cancellable: (nullable): optional GCancellable object, %NULL to ignore.
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
126 * @callback: (nullable) (scope async): The callback to call after the message
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
127 * has been sent.
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
128 * @data: (nullable): Optional user data to pass to @callback.
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
129 *
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
130 * Starts the process of setting the topic of @conversation to @topic.
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
131 *
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
132 * It is up to the protocol to define how [property@Conversation:topic] is
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
133 * updated. It may be able to do this immediately based on a result from the
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
134 * other end, or it might have to wait until another event comes in telling it
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
135 * to update it. Regardless, user interfaces should not be updating the topic
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
136 * directly.
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
137 *
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
138 * Since: 3.0.0
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
139 */
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42368
diff changeset
140 PURPLE_AVAILABLE_IN_3_0
42325
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
141 void purple_protocol_conversation_set_topic_async(PurpleProtocolConversation *protocol, PurpleConversation *conversation, const char *topic, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer data);
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
142
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
143 /**
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
144 * purple_protocol_conversation_set_topic_finish:
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
145 * @protocol: The instance.
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
146 * @result: The [iface@Gio.AsyncResult] from the previous
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
147 * [method@ProtocolConversation.set_topic_async] call.
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
148 * @error: Return address for a #GError, or %NULL.
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
149 *
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
150 * Finishes a previous call to
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
151 * [method@ProtocolConversation.set_topic_async]. This should be called from
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
152 * the callback of that function to get the result of whether or not the
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
153 * message was sent successfully.
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
154 *
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
155 * Returns: %TRUE if the message was sent successfully, otherwise %FALSE with
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
156 * @error possibly set.
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
157 *
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
158 * Since: 3.0.0
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
159 */
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42368
diff changeset
160 PURPLE_AVAILABLE_IN_3_0
42325
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
161 gboolean purple_protocol_conversation_set_topic_finish(PurpleProtocolConversation *protocol, GAsyncResult *result, GError **error);
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
162
42332
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
163 /**
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
164 * purple_protocol_conversation_get_channel_join_details:
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
165 * @protocol: The instance.
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
166 * @account: The account that will be joining a channel.
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
167 *
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
168 * User interfaces will use this function to get an instance of
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
169 * [class@ChannelJoinDetails] that can be presented to a user for them to edit.
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
170 *
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
171 * Returns: (transfer full): The new join channel details.
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
172 *
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
173 * Since: 3.0.0
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
174 */
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42368
diff changeset
175 PURPLE_AVAILABLE_IN_3_0
42332
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
176 PurpleChannelJoinDetails *purple_protocol_conversation_get_channel_join_details(PurpleProtocolConversation *protocol, PurpleAccount *account);
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
177
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
178 /**
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
179 * purple_protocol_conversation_join_channel_async:
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
180 * @protocol: The instance.
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
181 * @account: The account that's joining the channel.
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
182 * @details: The details of the channel that's being joined.
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
183 * @cancellable: (nullable): optional GCancellable object, %NULL to ignore.
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
184 * @callback: (nullable) (scope async): The callback to call after the message
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
185 * has been sent.
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
186 * @data: (nullable): Optional user data to pass to @callback.
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
187 *
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
188 * Attempts to join the channel identified by @details using @account.
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
189 *
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
190 * If the channel is joined successfully, it is the responsibility of
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
191 * @protocol to add the conversation to the [class@ConversationManager] during
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
192 * this process.
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
193 *
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
194 * Since: 3.0.0
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
195 */
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42368
diff changeset
196 PURPLE_AVAILABLE_IN_3_0
42332
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
197 void purple_protocol_conversation_join_channel_async(PurpleProtocolConversation *protocol, PurpleAccount *account, PurpleChannelJoinDetails *details, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer data);
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
198
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
199 /**
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
200 * purple_protocol_conversation_join_channel_finish:
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
201 * @protocol: The instance.
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
202 * @result: The [iface@Gio.AsyncResult] from the previous
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
203 * [method@ProtocolConversation.join_channel_async] call.
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
204 * @error: Return address for a #GError, or %NULL.
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
205 *
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
206 * Finishes a previous call to
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
207 * [method@ProtocolConversation.join_channel_async]. This should be called from
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
208 * the callback of that function to get the result of whether or not the
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
209 * channel was joined successfully.
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
210 *
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
211 * Returns: %TRUE if the channel was joined successfully, otherwise %FALSE with
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
212 * @error possibly set.
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
213 *
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
214 * Since: 3.0.0
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
215 */
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42368
diff changeset
216 PURPLE_AVAILABLE_IN_3_0
42332
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
217 gboolean purple_protocol_conversation_join_channel_finish(PurpleProtocolConversation *protocol, GAsyncResult *result, GError **error);
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
218
42354
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
219 /**
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
220 * purple_protocol_conversation_set_avatar_async:
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
221 * @protocol: The instance.
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
222 * @conversation: The conversation instance.
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
223 * @avatar: (nullable): The new avatar.
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
224 * @cancellable: (nullable): optional GCancellable object, %NULL to ignore.
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
225 * @callback: (nullable) (scope async): The callback to call after the message
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
226 * has been sent.
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
227 * @data: (nullable): Optional user data to pass to @callback.
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
228 *
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
229 * Sets the avatar for @conversation to @pixbuf. Pass %NULL to clear the
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
230 * current avatar.
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
231 *
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
232 * Since: 3.0.0
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
233 */
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42368
diff changeset
234 PURPLE_AVAILABLE_IN_3_0
42354
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
235 void purple_protocol_conversation_set_avatar_async(PurpleProtocolConversation *protocol, PurpleConversation *conversation, PurpleAvatar *avatar, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer data);
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
236
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
237 /**
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
238 * purple_protocol_conversation_set_avatar_finish:
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
239 * @protocol: The instance.
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
240 * @result: The [iface@Gio.AsyncResult] from the previous
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
241 * [method@ProtocolConversation.set_avatar_async] call.
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
242 * @error: Return address for a #GError, or %NULL.
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
243 *
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
244 * Finishes a previous call to
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
245 * [method@ProtocolConversation.set_avatar_async]. This should be called from
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
246 * the callback of that function to get the result of whether or not the
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
247 * avatar was set successfully.
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
248 *
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
249 * Returns: %TRUE if the avatar was set successfully, otherwise %FALSE with
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
250 * @error possibly set.
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
251 *
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
252 * Since: 3.0.0
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
253 */
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42368
diff changeset
254 PURPLE_AVAILABLE_IN_3_0
42354
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
255 gboolean purple_protocol_conversation_set_avatar_finish(PurpleProtocolConversation *protocol, GAsyncResult *result, GError **error);
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
256
42368
2630a8a2d64d Add a send_typing vfunc to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42354
diff changeset
257 /**
2630a8a2d64d Add a send_typing vfunc to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42354
diff changeset
258 * purple_protocl_conversation_send_typing_state:
2630a8a2d64d Add a send_typing vfunc to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42354
diff changeset
259 * @protocol: The instance.
2630a8a2d64d Add a send_typing vfunc to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42354
diff changeset
260 * @conversation: The conversation.
2630a8a2d64d Add a send_typing vfunc to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42354
diff changeset
261 * @state: The new typing state.
2630a8a2d64d Add a send_typing vfunc to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42354
diff changeset
262 *
2630a8a2d64d Add a send_typing vfunc to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42354
diff changeset
263 * Sends the libpurple user's typing state for the conversation.
2630a8a2d64d Add a send_typing vfunc to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42354
diff changeset
264 *
2630a8a2d64d Add a send_typing vfunc to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42354
diff changeset
265 * This should primarily be called by the user interface.
2630a8a2d64d Add a send_typing vfunc to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42354
diff changeset
266 *
2630a8a2d64d Add a send_typing vfunc to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42354
diff changeset
267 * Since: 3.0.0
2630a8a2d64d Add a send_typing vfunc to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42354
diff changeset
268 */
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42368
diff changeset
269 PURPLE_AVAILABLE_IN_3_0
42368
2630a8a2d64d Add a send_typing vfunc to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42354
diff changeset
270 void purple_protocol_conversation_send_typing(PurpleProtocolConversation *protocol, PurpleConversation *conversation, PurpleTypingState state);
2630a8a2d64d Add a send_typing vfunc to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42354
diff changeset
271
42319
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
272 G_END_DECLS
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
273
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
274 #endif /* PURPLE_PROTOCOL_CONVERSATION_H */

mercurial