Sat, 09 Aug 2025 17:37:27 +0800
Fix the birb header path
The birb header referred would only work with birb provided by wrap casuing
build to fail because of system-installed birb dependency. The commit points
it to the correct path <birb.h>.
See: https://keep.imfreedom.org/birb/birb/file/5bf00c7d7f80/birb/meson.build#l77
|
42890
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
1 | /* |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
2 | * Purple - Internet Messaging Library |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
3 | * Copyright (C) Pidgin Developers <devel@pidgin.im> |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
4 | * |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
5 | * Purple is the legal property of its developers, whose names are too numerous |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
6 | * to list here. Please refer to the COPYRIGHT file distributed with this |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
7 | * source distribution. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
8 | * |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
9 | * This library is free software; you can redistribute it and/or modify it |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
10 | * under the terms of the GNU General Public License as published by the Free |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
11 | * Software Foundation; either version 2 of the License, or (at your option) |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
12 | * any later version. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
13 | * |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
14 | * This library is distributed in the hope that it will be useful, but WITHOUT |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
15 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
16 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
17 | * more details. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
18 | * |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
19 | * You should have received a copy of the GNU General Public License along with |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
20 | * this library; if not, see <https://www.gnu.org/licenses/>. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
21 | */ |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
22 | |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
23 | #if !defined(PURPLE_GLOBAL_HEADER_INSIDE) && !defined(PURPLE_COMPILATION) |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
24 | # error "only <purple.h> may be included directly" |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
25 | #endif |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
26 | |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
27 | #ifndef PURPLE_CONVERSATION_MEMBERS_H |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
28 | #define PURPLE_CONVERSATION_MEMBERS_H |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
29 | |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
30 | #include <glib.h> |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
31 | #include <gio/gio.h> |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
32 | |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
33 | #include "purpleconversationmember.h" |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
34 | #include "purpleversion.h" |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
35 | |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
36 | G_BEGIN_DECLS |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
37 | |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
38 | #define PURPLE_TYPE_CONVERSATION_MEMBERS (purple_conversation_members_get_type()) |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
39 | |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
40 | /** |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
41 | * PurpleConversationMembers: |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
42 | * |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
43 | * A collection of [class@ConversationMember]s. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
44 | * |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
45 | * This collection will notify the properties of each |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
46 | * [class@ConversationMember] and emit the |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
47 | * [signal@Gio.ListModel::items-changed] signal when any of them changes. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
48 | * |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
49 | * Since: 3.0 |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
50 | */ |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
51 | PURPLE_AVAILABLE_IN_3_0 |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
52 | G_DECLARE_FINAL_TYPE(PurpleConversationMembers, purple_conversation_members, |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
53 | PURPLE, CONVERSATION_MEMBERS, GObject) |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
54 | |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
55 | /** |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
56 | * purple_conversation_members_add_member: |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
57 | * @members: The instance. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
58 | * @info: The [class@ContactInfo] of the person joining. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
59 | * @announce: Whether this addition should be announced or not. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
60 | * @message: (nullable): An optional message to be used with @announce. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
61 | * |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
62 | * Looks for an existing [class@ConversationMember] for @info in |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
63 | * @members and returns it if found. If not, a new [class@ConversationMember] |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
64 | * is created. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
65 | * |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
66 | * > This method is intended to be called by a protocol plugin to directly |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
67 | * > manage the membership state of the @conversation. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
68 | * |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
69 | * This will also emit the [signal@ConversationMembers::member-added] signal if |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
70 | * an existing member was not found. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
71 | * |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
72 | * The @announce and @message parameters will be used when emitting the |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
73 | * [signal@ConversationMembers::member-added] signal. Announce and message are |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
74 | * meant for protocols to more properly define their behavior. For example, on |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
75 | * IRC you will typically be told when a user joins a chat but on Twitch this |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
76 | * isn't announced. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
77 | * |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
78 | * Returns: (transfer none): The [class@ConversationMember] that was created or |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
79 | * found. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
80 | * |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
81 | * Since: 3.0 |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
82 | */ |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
83 | PURPLE_AVAILABLE_IN_3_0 |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
84 | PurpleConversationMember *purple_conversation_members_add_member(PurpleConversationMembers *members, PurpleContactInfo *info, gboolean announce, const char *message); |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
85 | |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
86 | /** |
|
43204
aaf1706aa25b
Implement Purple.ConversationMembers.extend
Gary Kramlich <grim@reaperworld.com>
parents:
42935
diff
changeset
|
87 | * purple_conversation_members_extend: |
|
aaf1706aa25b
Implement Purple.ConversationMembers.extend
Gary Kramlich <grim@reaperworld.com>
parents:
42935
diff
changeset
|
88 | * @members1: the instance |
|
aaf1706aa25b
Implement Purple.ConversationMembers.extend
Gary Kramlich <grim@reaperworld.com>
parents:
42935
diff
changeset
|
89 | * @members2: (transfer full): the conversation members to add to the end |
|
aaf1706aa25b
Implement Purple.ConversationMembers.extend
Gary Kramlich <grim@reaperworld.com>
parents:
42935
diff
changeset
|
90 | * |
|
aaf1706aa25b
Implement Purple.ConversationMembers.extend
Gary Kramlich <grim@reaperworld.com>
parents:
42935
diff
changeset
|
91 | * Adds all of the members from one conversation members to the other. |
|
aaf1706aa25b
Implement Purple.ConversationMembers.extend
Gary Kramlich <grim@reaperworld.com>
parents:
42935
diff
changeset
|
92 | * |
|
aaf1706aa25b
Implement Purple.ConversationMembers.extend
Gary Kramlich <grim@reaperworld.com>
parents:
42935
diff
changeset
|
93 | * All members from @members2 will be added to @members1 and then be freed. |
|
aaf1706aa25b
Implement Purple.ConversationMembers.extend
Gary Kramlich <grim@reaperworld.com>
parents:
42935
diff
changeset
|
94 | * |
|
aaf1706aa25b
Implement Purple.ConversationMembers.extend
Gary Kramlich <grim@reaperworld.com>
parents:
42935
diff
changeset
|
95 | * This is usefull for protocol plugins when initially joining a chat or when |
|
aaf1706aa25b
Implement Purple.ConversationMembers.extend
Gary Kramlich <grim@reaperworld.com>
parents:
42935
diff
changeset
|
96 | * there is a mass join event when federated servers reconnect. |
|
aaf1706aa25b
Implement Purple.ConversationMembers.extend
Gary Kramlich <grim@reaperworld.com>
parents:
42935
diff
changeset
|
97 | * |
|
aaf1706aa25b
Implement Purple.ConversationMembers.extend
Gary Kramlich <grim@reaperworld.com>
parents:
42935
diff
changeset
|
98 | * Since: 3.0 |
|
aaf1706aa25b
Implement Purple.ConversationMembers.extend
Gary Kramlich <grim@reaperworld.com>
parents:
42935
diff
changeset
|
99 | */ |
|
aaf1706aa25b
Implement Purple.ConversationMembers.extend
Gary Kramlich <grim@reaperworld.com>
parents:
42935
diff
changeset
|
100 | PURPLE_AVAILABLE_IN_3_0 |
|
aaf1706aa25b
Implement Purple.ConversationMembers.extend
Gary Kramlich <grim@reaperworld.com>
parents:
42935
diff
changeset
|
101 | void purple_conversation_members_extend(PurpleConversationMembers *members1, PurpleConversationMembers *members2); |
|
aaf1706aa25b
Implement Purple.ConversationMembers.extend
Gary Kramlich <grim@reaperworld.com>
parents:
42935
diff
changeset
|
102 | |
|
aaf1706aa25b
Implement Purple.ConversationMembers.extend
Gary Kramlich <grim@reaperworld.com>
parents:
42935
diff
changeset
|
103 | /** |
|
42890
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
104 | * purple_conversation_members_find_member: |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
105 | * @members: The instance. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
106 | * @info: A [class@ContactInfo instance] |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
107 | * |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
108 | * Finds the [class@ConversationMember] for @info if they are in @members. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
109 | * |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
110 | * Returns: (transfer none) (nullable): The [class@ConversationMember] |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
111 | * if found or %NULL. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
112 | * |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
113 | * Since: 3.0 |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
114 | */ |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
115 | PURPLE_AVAILABLE_IN_3_0 |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
116 | PurpleConversationMember *purple_conversation_members_find_member(PurpleConversationMembers *members, PurpleContactInfo *info); |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
117 | |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
118 | /** |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
119 | * purple_conversation_members_has_member: |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
120 | * @members: The instance. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
121 | * @info: The [class@ContactInfo] to look for. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
122 | * @position: (out) (optional): A return address for the position of the member |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
123 | * in the collection. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
124 | * |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
125 | * Checks if @info is in @members. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
126 | * |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
127 | * If @info is found, and @position is not %NULL, it will be set to the |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
128 | * position of @info in @members. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
129 | * |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
130 | * Returns: %TRUE if @info is in @members otherwise %FALSE. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
131 | * |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
132 | * Since: 3.0 |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
133 | */ |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
134 | PURPLE_AVAILABLE_IN_3_0 |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
135 | gboolean purple_conversation_members_has_member(PurpleConversationMembers *members, PurpleContactInfo *info, guint *position); |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
136 | |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
137 | /** |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
138 | * purple_conversation_members_new: |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
139 | * |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
140 | * Creates a new instance. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
141 | * |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
142 | * Returns: (transfer full): The new instance. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
143 | * |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
144 | * Since: 3.0 |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
145 | */ |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
146 | PURPLE_AVAILABLE_IN_3_0 |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
147 | PurpleConversationMembers *purple_conversation_members_new(void); |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
148 | |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
149 | /** |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
150 | * purple_conversation_members_remove_member: |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
151 | * @members: The instance. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
152 | * @info: The [class@ContactInfo] of the person leaving. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
153 | * @announce: Whether or not this removal should be announced. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
154 | * @message: (nullable): An optional message for the announcement. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
155 | * |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
156 | * Attempts to remove @info from the @members. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
157 | * |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
158 | * If found, @info is removed and the |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
159 | * [signal@ConversationMembers::member-removed] signal is emitted with |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
160 | * @announce and @message as parameters. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
161 | * |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
162 | * > This method is intended to be called by a protocol plugin to directly |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
163 | * > manage the membership state of the @conversation. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
164 | * |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
165 | * Returns: %TRUE if @member was found and removed from @members, otherwise |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
166 | * %FALSE. |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
167 | * |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
168 | * Since: 3.0 |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
169 | */ |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
170 | PURPLE_AVAILABLE_IN_3_0 |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
171 | gboolean purple_conversation_members_remove_member(PurpleConversationMembers *members, PurpleContactInfo *info, gboolean announce, const char *message); |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
172 | |
|
42935
0253971eeb18
Add an `active-typers` property to Purple.ConversationMembers
Gary Kramlich <grim@reaperworld.com>
parents:
42890
diff
changeset
|
173 | /** |
|
0253971eeb18
Add an `active-typers` property to Purple.ConversationMembers
Gary Kramlich <grim@reaperworld.com>
parents:
42890
diff
changeset
|
174 | * purple_conversation_members_get_active_typers: |
|
0253971eeb18
Add an `active-typers` property to Purple.ConversationMembers
Gary Kramlich <grim@reaperworld.com>
parents:
42890
diff
changeset
|
175 | * @members: The instances. |
|
0253971eeb18
Add an `active-typers` property to Purple.ConversationMembers
Gary Kramlich <grim@reaperworld.com>
parents:
42890
diff
changeset
|
176 | * |
|
0253971eeb18
Add an `active-typers` property to Purple.ConversationMembers
Gary Kramlich <grim@reaperworld.com>
parents:
42890
diff
changeset
|
177 | * Gets the list of [class@ConversationMember]s that are actively typing. |
|
0253971eeb18
Add an `active-typers` property to Purple.ConversationMembers
Gary Kramlich <grim@reaperworld.com>
parents:
42890
diff
changeset
|
178 | * |
|
0253971eeb18
Add an `active-typers` property to Purple.ConversationMembers
Gary Kramlich <grim@reaperworld.com>
parents:
42890
diff
changeset
|
179 | * Returns: (transfer none): The list of active of members that are actively |
|
0253971eeb18
Add an `active-typers` property to Purple.ConversationMembers
Gary Kramlich <grim@reaperworld.com>
parents:
42890
diff
changeset
|
180 | * typing. |
|
0253971eeb18
Add an `active-typers` property to Purple.ConversationMembers
Gary Kramlich <grim@reaperworld.com>
parents:
42890
diff
changeset
|
181 | * |
|
0253971eeb18
Add an `active-typers` property to Purple.ConversationMembers
Gary Kramlich <grim@reaperworld.com>
parents:
42890
diff
changeset
|
182 | * Since: 3.0 |
|
0253971eeb18
Add an `active-typers` property to Purple.ConversationMembers
Gary Kramlich <grim@reaperworld.com>
parents:
42890
diff
changeset
|
183 | */ |
|
0253971eeb18
Add an `active-typers` property to Purple.ConversationMembers
Gary Kramlich <grim@reaperworld.com>
parents:
42890
diff
changeset
|
184 | PURPLE_AVAILABLE_IN_3_0 |
|
0253971eeb18
Add an `active-typers` property to Purple.ConversationMembers
Gary Kramlich <grim@reaperworld.com>
parents:
42890
diff
changeset
|
185 | GListModel *purple_conversation_members_get_active_typers(PurpleConversationMembers *members); |
|
0253971eeb18
Add an `active-typers` property to Purple.ConversationMembers
Gary Kramlich <grim@reaperworld.com>
parents:
42890
diff
changeset
|
186 | |
|
42890
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
187 | G_END_DECLS |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
188 | |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
189 | #endif /* PURPLE_CONVERSATION_MEMBERS_H */ |
|
c2b7b3b9c351
Break out Purple.Conversation:members to its own class
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
190 |