libpurple/purpleprotocolconversation.h

Sun, 14 Apr 2024 01:14:59 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Sun, 14 Apr 2024 01:14:59 -0500
changeset 42725
ceb13f1de2d2
parent 42673
a9e988314724
child 42778
4aa4ab7b24a7
permissions
-rw-r--r--

Remove PurpleBuddy

PurpleContactInfo was created long ago to replace this, it is now its time!

Testing Done:
Ran the turtles.

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

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"
42673
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
37 #include "purplecreateconversationdetails.h"
42319
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
38 #include "purplemessage.h"
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
39 #include "purpleprotocol.h"
42368
2630a8a2d64d Add a send_typing vfunc to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42354
diff changeset
40 #include "purpletyping.h"
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42368
diff changeset
41 #include "purpleversion.h"
42319
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
42
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
43 G_BEGIN_DECLS
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
44
42673
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
45 /**
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
46 * PURPLE_PROTOCOL_CONVERSATION_DOMAIN:
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
47 *
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
48 * An error domain for [iface@ProtocolConversation] errors.
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
49 *
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
50 * Since: 3.0
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
51 */
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
52 #define PURPLE_PROTOCOL_CONVERSATION_DOMAIN \
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
53 (g_quark_from_static_string("purple-protocol-conversation")) \
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
54 PURPLE_AVAILABLE_MACRO_IN_3_0
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
55
42319
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
56 #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
57
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42368
diff changeset
58 PURPLE_AVAILABLE_IN_3_0
42319
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
59 G_DECLARE_INTERFACE(PurpleProtocolConversation, purple_protocol_conversation,
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
60 PURPLE, PROTOCOL_CONVERSATION, PurpleProtocol)
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
61
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
62 /**
42656
df9aafbae930 Add a doc-check unit test to libpurple and fix the issues it has found
Gary Kramlich <grim@reaperworld.com>
parents: 42615
diff changeset
63 * PurpleProtocolConversation:
42319
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
64 *
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
65 * This interface defines the behavior for interacting with conversations at
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
66 * 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
67 * interface.
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
68 *
42615
2f3308794a8f Remove the micro version from since tags for libpurple part 4
Gary Kramlich <grim@reaperworld.com>
parents: 42594
diff changeset
69 * Since: 3.0
42319
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
70 */
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
71 struct _PurpleProtocolConversationInterface {
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
72 /*< private >*/
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
73 GTypeInterface parent;
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
74
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
75 /*< public >*/
42673
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
76 PurpleCreateConversationDetails *(*get_create_conversation_details)(PurpleProtocolConversation *protocol, PurpleAccount *account);
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
77 void (*create_conversation_async)(PurpleProtocolConversation *protocol, PurpleAccount *account, PurpleCreateConversationDetails *details, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer data);
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
78 PurpleConversation *(*create_conversation_finish)(PurpleProtocolConversation *protocol, GAsyncResult *result, GError **error);
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
79
42319
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
80 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
81 gboolean (*send_message_finish)(PurpleProtocolConversation *protocol, GAsyncResult *result, GError **error);
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
82
42325
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
83 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
84 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
85
42332
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
86 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
87 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
88 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
89
42354
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
90 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
91 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
92
42368
2630a8a2d64d Add a send_typing vfunc to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42354
diff changeset
93 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
94
42319
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
95 /*< private >*/
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
96 gpointer reserved[8];
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
97 };
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
98
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
99 /**
42673
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
100 * purple_protocol_conversation_implements_create_conversation:
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
101 * @protocol: The instance.
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
102 *
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
103 * Checks if @protocol implements
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
104 * [vfunc@ProtocolConversation.get_create_conversation_details],
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
105 * [vfunc@ProtocolConversation.create_conversation_async], and
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
106 * [vfunc@ProtocolConversation.create_conversation_finish].
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
107 *
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
108 * Returns: %TRUE if everything is implemented, otherwise %FALSE.
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
109 *
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
110 * Since: 3.0
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
111 */
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
112 PURPLE_AVAILABLE_IN_3_0
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
113 gboolean purple_protocol_conversation_implements_create_conversation(PurpleProtocolConversation *protocol);
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
114
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
115 /**
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
116 * purple_protocol_conversation_get_create_conversation_details:
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
117 * @protocol: The instance.
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
118 * @account: The account.
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
119 *
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
120 * Gets a [class@CreateConversationDetails] from @protocol for @account.
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
121 *
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
122 * This can then be used in calls to
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
123 * [method@ProtocolConversation.create_conversation_async] to create the
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
124 * conversation.
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
125 *
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
126 * Returns: (transfer full): The details to create a conversation with
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
127 * @account.
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
128 *
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
129 * Since: 3.0
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
130 */
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
131 PURPLE_AVAILABLE_IN_3_0
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
132 PurpleCreateConversationDetails *purple_protocol_conversation_get_create_conversation_details(PurpleProtocolConversation *protocol, PurpleAccount *account);
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
133
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
134 /**
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
135 * purple_protocol_conversation_create_conversation_async:
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
136 * @protocol: The instance.
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
137 * @account: The account.
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
138 * @details: (transfer full): The create conversation details.
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
139 * @cancellable: (nullable): optional GCancellable object, %NULL to ignore.
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
140 * @callback: (nullable) (scope async): The callback to call after the
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
141 * conversation has been created.
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
142 * @data: (nullable): Optional user data to pass to @callback.
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
143 *
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
144 * Starts the process of creating a dm or group dm conversation on @account.
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
145 *
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
146 * Since: 3.0
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
147 */
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
148 PURPLE_AVAILABLE_IN_3_0
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
149 void purple_protocol_conversation_create_conversation_async(PurpleProtocolConversation *protocol, PurpleAccount *account, PurpleCreateConversationDetails *details, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer data);
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
150
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
151 /**
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
152 * purple_protocol_conversation_create_conversation_finish:
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
153 * @protocol: The instance.
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
154 * @result: The [iface@Gio.AsyncResult] from the previous
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
155 * [method@ProtocolConversation.create_conversation_async] call.
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
156 * @error: Return address for a #GError, or %NULL.
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
157 *
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
158 * Finishes a previous call to
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
159 * [method@ProtocolConversation.create_conversation_async]. This should be
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
160 * called from the callback of that function to get the result of whether or
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
161 * not the conversation was created successfully.
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
162 *
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
163 * It is the responsibility of the protocol to register the conversation with
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
164 * the default [class@ConversationManager].
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
165 *
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
166 * Returns: (transfer full): The new conversation if successful, otherwise
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
167 * %NULL with @error possibly set.
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
168 *
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
169 * Since: 3.0
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
170 */
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
171 PURPLE_AVAILABLE_IN_3_0
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
172 PurpleConversation *purple_protocol_conversation_create_conversation_finish(PurpleProtocolConversation *protocol, GAsyncResult *result, GError **error);
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
173
a9e988314724 Add the ability to create conversations to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42656
diff changeset
174 /**
42319
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
175 * purple_protocol_conversation_send_message_async:
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
176 * @protocol: The instance.
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
177 * @conversation: The conversation to send a message to.
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
178 * @message: The message to send.
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
179 * @cancellable: (nullable): optional GCancellable object, %NULL to ignore.
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
180 * @callback: (nullable) (scope async): The callback to call after the message
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
181 * has been sent.
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
182 * @data: (nullable): Optional user data to pass to @callback.
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
183 *
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
184 * Starts the process of sending @message to @conversation.
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
185 *
42615
2f3308794a8f Remove the micro version from since tags for libpurple part 4
Gary Kramlich <grim@reaperworld.com>
parents: 42594
diff changeset
186 * Since: 3.0
42319
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
187 */
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42368
diff changeset
188 PURPLE_AVAILABLE_IN_3_0
42319
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
189 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
190
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
191 /**
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
192 * purple_protocol_conversation_send_message_finish:
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
193 * @protocol: The instance.
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
194 * @result: The [iface@Gio.AsyncResult] from the previous
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
195 * [method@ProtocolConversation.send_message_async] call.
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
196 * @error: Return address for a #GError, or %NULL.
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
197 *
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
198 * Finishes a previous call to
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
199 * [method@ProtocolConversation.send_message_async]. This should be called from
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
200 * 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
201 * message was sent successfully.
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
202 *
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
203 * Returns: %TRUE if the message was sent successfully, otherwise %FALSE with
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
204 * @error possibly set.
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
205 *
42615
2f3308794a8f Remove the micro version from since tags for libpurple part 4
Gary Kramlich <grim@reaperworld.com>
parents: 42594
diff changeset
206 * Since: 3.0
42319
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
207 */
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42368
diff changeset
208 PURPLE_AVAILABLE_IN_3_0
42319
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
209 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
210
42325
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
211 /**
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
212 * purple_protocol_conversation_set_topic_async:
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
213 * @protocol: The instance.
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
214 * @conversation: The conversation whose topic to set.
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
215 * @topic: (nullable): The new topic to set.
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
216 * @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
217 * @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
218 * has been sent.
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
219 * @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
220 *
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
221 * 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
222 *
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
223 * 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
224 * 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
225 * 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
226 * 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
227 * directly.
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
228 *
42615
2f3308794a8f Remove the micro version from since tags for libpurple part 4
Gary Kramlich <grim@reaperworld.com>
parents: 42594
diff changeset
229 * Since: 3.0
42325
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
230 */
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42368
diff changeset
231 PURPLE_AVAILABLE_IN_3_0
42325
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
232 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
233
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
234 /**
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
235 * purple_protocol_conversation_set_topic_finish:
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
236 * @protocol: The instance.
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
237 * @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
238 * [method@ProtocolConversation.set_topic_async] call.
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
239 * @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
240 *
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
241 * Finishes a previous call to
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
242 * [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
243 * 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
244 * message was sent successfully.
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
245 *
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
246 * 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
247 * @error possibly set.
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
248 *
42615
2f3308794a8f Remove the micro version from since tags for libpurple part 4
Gary Kramlich <grim@reaperworld.com>
parents: 42594
diff changeset
249 * Since: 3.0
42325
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
250 */
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42368
diff changeset
251 PURPLE_AVAILABLE_IN_3_0
42325
9e5c583e13de Add PurpleProtocolConversation->set_topic_async and _finish
Gary Kramlich <grim@reaperworld.com>
parents: 42319
diff changeset
252 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
253
42332
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
254 /**
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
255 * 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
256 * @protocol: The instance.
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
257 * @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
258 *
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
259 * 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
260 * [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
261 *
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
262 * 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
263 *
42615
2f3308794a8f Remove the micro version from since tags for libpurple part 4
Gary Kramlich <grim@reaperworld.com>
parents: 42594
diff changeset
264 * Since: 3.0
42332
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
265 */
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42368
diff changeset
266 PURPLE_AVAILABLE_IN_3_0
42332
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
267 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
268
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
269 /**
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
270 * purple_protocol_conversation_join_channel_async:
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
271 * @protocol: The instance.
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
272 * @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
273 * @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
274 * @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
275 * @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
276 * has been sent.
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
277 * @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
278 *
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
279 * 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
280 *
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
281 * 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
282 * @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
283 * this process.
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
284 *
42615
2f3308794a8f Remove the micro version from since tags for libpurple part 4
Gary Kramlich <grim@reaperworld.com>
parents: 42594
diff changeset
285 * Since: 3.0
42332
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
286 */
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42368
diff changeset
287 PURPLE_AVAILABLE_IN_3_0
42332
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
288 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
289
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
290 /**
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
291 * purple_protocol_conversation_join_channel_finish:
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
292 * @protocol: The instance.
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
293 * @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
294 * [method@ProtocolConversation.join_channel_async] call.
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
295 * @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
296 *
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
297 * Finishes a previous call to
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
298 * [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
299 * 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
300 * channel was joined successfully.
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
301 *
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
302 * 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
303 * @error possibly set.
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
304 *
42615
2f3308794a8f Remove the micro version from since tags for libpurple part 4
Gary Kramlich <grim@reaperworld.com>
parents: 42594
diff changeset
305 * Since: 3.0
42332
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
306 */
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42368
diff changeset
307 PURPLE_AVAILABLE_IN_3_0
42332
0de4f569ccf3 Add the ability to join channels to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42325
diff changeset
308 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
309
42354
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
310 /**
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
311 * 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
312 * @protocol: The instance.
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
313 * @conversation: The conversation instance.
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
314 * @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
315 * @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
316 * @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
317 * has been sent.
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
318 * @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
319 *
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
320 * 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
321 * current avatar.
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
322 *
42615
2f3308794a8f Remove the micro version from since tags for libpurple part 4
Gary Kramlich <grim@reaperworld.com>
parents: 42594
diff changeset
323 * Since: 3.0
42354
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
324 */
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42368
diff changeset
325 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
326 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
327
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
328 /**
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
329 * 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
330 * @protocol: The instance.
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
331 * @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
332 * [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
333 * @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
334 *
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
335 * 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
336 * [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
337 * 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
338 * avatar was set successfully.
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
339 *
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
340 * 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
341 * @error possibly set.
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
342 *
42615
2f3308794a8f Remove the micro version from since tags for libpurple part 4
Gary Kramlich <grim@reaperworld.com>
parents: 42594
diff changeset
343 * Since: 3.0
42354
b5caf6b7705a Add set_avatar_async and set_avatar_finish to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42344
diff changeset
344 */
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42368
diff changeset
345 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
346 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
347
42368
2630a8a2d64d Add a send_typing vfunc to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42354
diff changeset
348 /**
42656
df9aafbae930 Add a doc-check unit test to libpurple and fix the issues it has found
Gary Kramlich <grim@reaperworld.com>
parents: 42615
diff changeset
349 * purple_protocol_conversation_send_typing:
42368
2630a8a2d64d Add a send_typing vfunc to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42354
diff changeset
350 * @protocol: The instance.
2630a8a2d64d Add a send_typing vfunc to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42354
diff changeset
351 * @conversation: The conversation.
2630a8a2d64d Add a send_typing vfunc to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42354
diff changeset
352 * @state: The new typing state.
2630a8a2d64d Add a send_typing vfunc to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42354
diff changeset
353 *
2630a8a2d64d Add a send_typing vfunc to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42354
diff changeset
354 * 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
355 *
2630a8a2d64d Add a send_typing vfunc to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42354
diff changeset
356 * 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
357 *
42615
2f3308794a8f Remove the micro version from since tags for libpurple part 4
Gary Kramlich <grim@reaperworld.com>
parents: 42594
diff changeset
358 * Since: 3.0
42368
2630a8a2d64d Add a send_typing vfunc to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42354
diff changeset
359 */
42387
d9350cda1556 Export symbols added for 3.0.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42368
diff changeset
360 PURPLE_AVAILABLE_IN_3_0
42368
2630a8a2d64d Add a send_typing vfunc to PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42354
diff changeset
361 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
362
42319
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
363 G_END_DECLS
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
364
98931e2d3ca2 Create the initial PurpleProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
365 #endif /* PURPLE_PROTOCOL_CONVERSATION_H */

mercurial