Sun, 31 Dec 2023 21:56:51 -0600
Only include headers when they're necessary for header files
This only covers libpurple.
Testing Done:
Ran a clean build
Reviewed at https://reviews.imfreedom.org/r/2898/
|
40537
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
1 | /* |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
2 | * purple |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
3 | * |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
4 | * Purple is the legal property of its developers, whose names are too numerous |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
5 | * to list here. Please refer to the COPYRIGHT file distributed with this |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
6 | * source distribution. |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
7 | * |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
8 | * This program is free software; you can redistribute it and/or modify |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
9 | * it under the terms of the GNU General Public License as published by |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
10 | * the Free Software Foundation; either version 2 of the License, or |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
11 | * (at your option) any later version. |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
12 | * |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
13 | * This program is distributed in the hope that it will be useful, |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
16 | * GNU General Public License for more details. |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
17 | * |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
18 | * You should have received a copy of the GNU General Public License |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
19 | * along with this program; if not, see <https://www.gnu.org/licenses/>. |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
20 | */ |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
21 | |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
22 | #include <glib/gi18n-lib.h> |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
23 | |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
24 | #include "purpleaccountpresence.h" |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
25 | |
|
42557
e868bfcc092a
Only include headers when they're necessary for header files
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
26 | #include "protocols.h" |
|
40708
53a26c29d26c
Move the PurpleProtocolServer interface to its own file.
Gary Kramlich <grim@reaperworld.com>
parents:
40636
diff
changeset
|
27 | #include "purpleprotocolserver.h" |
|
53a26c29d26c
Move the PurpleProtocolServer interface to its own file.
Gary Kramlich <grim@reaperworld.com>
parents:
40636
diff
changeset
|
28 | |
|
40537
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
29 | struct _PurpleAccountPresence { |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
30 | PurplePresence parent; |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
31 | |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
32 | PurpleAccount *account; |
|
40636
d9a2e635775d
Fix a bug where accounts were losing their active status.
Gary Kramlich <grim@reaperworld.com>
parents:
40537
diff
changeset
|
33 | GList *statuses; |
|
40537
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
34 | }; |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
35 | |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
36 | enum { |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
37 | PROP_0, |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
38 | PROP_ACCOUNT, |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
39 | N_PROPERTIES |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
40 | }; |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
41 | static GParamSpec *properties[N_PROPERTIES]; |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
42 | |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
43 | /****************************************************************************** |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
44 | * Helpers |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
45 | *****************************************************************************/ |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
46 | static void |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
47 | purple_account_presence_set_account(PurpleAccountPresence *presence, |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
48 | PurpleAccount *account) |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
49 | { |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
50 | if(g_set_object(&presence->account, account)) { |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
51 | g_object_notify_by_pspec(G_OBJECT(presence), properties[PROP_ACCOUNT]); |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
52 | } |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
53 | } |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
54 | |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
55 | /****************************************************************************** |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
56 | * PurplePresence Implementation |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
57 | *****************************************************************************/ |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
58 | static void |
|
41960
c8a4853205e3
Bump C standard to C99 for libpurple files and fix warnings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41137
diff
changeset
|
59 | purple_account_presence_update_idle(PurplePresence *presence, |
|
c8a4853205e3
Bump C standard to C99 for libpurple files and fix warnings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41137
diff
changeset
|
60 | G_GNUC_UNUSED gboolean old_idle) |
|
40537
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
61 | { |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
62 | PurpleAccountPresence *account_presence = PURPLE_ACCOUNT_PRESENCE(presence); |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
63 | PurpleConnection *gc = NULL; |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
64 | PurpleProtocol *protocol = NULL; |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
65 | gboolean idle = purple_presence_is_idle(presence); |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
66 | |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
67 | gc = purple_account_get_connection(account_presence->account); |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
68 | |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
69 | if(PURPLE_CONNECTION_IS_CONNECTED(gc)) { |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
70 | protocol = purple_connection_get_protocol(gc); |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
71 | } |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
72 | |
|
40708
53a26c29d26c
Move the PurpleProtocolServer interface to its own file.
Gary Kramlich <grim@reaperworld.com>
parents:
40636
diff
changeset
|
73 | if(PURPLE_IS_PROTOCOL_SERVER(protocol)) { |
|
42071
a719f0f3c600
Convert idle_time in PurplePresence to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents:
41960
diff
changeset
|
74 | gint idle_time = 0; |
|
a719f0f3c600
Convert idle_time in PurplePresence to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents:
41960
diff
changeset
|
75 | |
|
a719f0f3c600
Convert idle_time in PurplePresence to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents:
41960
diff
changeset
|
76 | if(idle) { |
|
a719f0f3c600
Convert idle_time in PurplePresence to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents:
41960
diff
changeset
|
77 | GDateTime *idle_since = purple_presence_get_idle_time(presence); |
|
a719f0f3c600
Convert idle_time in PurplePresence to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents:
41960
diff
changeset
|
78 | |
|
a719f0f3c600
Convert idle_time in PurplePresence to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents:
41960
diff
changeset
|
79 | if(idle_since != NULL) { |
|
a719f0f3c600
Convert idle_time in PurplePresence to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents:
41960
diff
changeset
|
80 | GDateTime *now = g_date_time_new_now_local(); |
|
a719f0f3c600
Convert idle_time in PurplePresence to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents:
41960
diff
changeset
|
81 | |
|
a719f0f3c600
Convert idle_time in PurplePresence to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents:
41960
diff
changeset
|
82 | idle_time = g_date_time_difference(now, idle_since); |
|
a719f0f3c600
Convert idle_time in PurplePresence to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents:
41960
diff
changeset
|
83 | idle_time = idle_time / G_TIME_SPAN_SECOND; |
|
a719f0f3c600
Convert idle_time in PurplePresence to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents:
41960
diff
changeset
|
84 | |
|
a719f0f3c600
Convert idle_time in PurplePresence to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents:
41960
diff
changeset
|
85 | g_date_time_unref(now); |
|
a719f0f3c600
Convert idle_time in PurplePresence to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents:
41960
diff
changeset
|
86 | g_date_time_unref(idle_since); |
|
a719f0f3c600
Convert idle_time in PurplePresence to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents:
41960
diff
changeset
|
87 | } |
|
a719f0f3c600
Convert idle_time in PurplePresence to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents:
41960
diff
changeset
|
88 | } |
|
a719f0f3c600
Convert idle_time in PurplePresence to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents:
41960
diff
changeset
|
89 | |
|
a719f0f3c600
Convert idle_time in PurplePresence to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents:
41960
diff
changeset
|
90 | purple_protocol_server_set_idle(PURPLE_PROTOCOL_SERVER(protocol), gc, |
|
a719f0f3c600
Convert idle_time in PurplePresence to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents:
41960
diff
changeset
|
91 | idle_time); |
|
40537
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
92 | } |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
93 | } |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
94 | |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
95 | static GList * |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
96 | purple_account_presence_get_statuses(PurplePresence *presence) { |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
97 | PurpleAccountPresence *account_presence = PURPLE_ACCOUNT_PRESENCE(presence); |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
98 | |
|
40636
d9a2e635775d
Fix a bug where accounts were losing their active status.
Gary Kramlich <grim@reaperworld.com>
parents:
40537
diff
changeset
|
99 | /* We cache purple_protocol_get_statuses because it creates all new |
|
d9a2e635775d
Fix a bug where accounts were losing their active status.
Gary Kramlich <grim@reaperworld.com>
parents:
40537
diff
changeset
|
100 | * statuses which loses at least the active attribute, which breaks all |
|
d9a2e635775d
Fix a bug where accounts were losing their active status.
Gary Kramlich <grim@reaperworld.com>
parents:
40537
diff
changeset
|
101 | * sorts of things. |
|
d9a2e635775d
Fix a bug where accounts were losing their active status.
Gary Kramlich <grim@reaperworld.com>
parents:
40537
diff
changeset
|
102 | */ |
|
d9a2e635775d
Fix a bug where accounts were losing their active status.
Gary Kramlich <grim@reaperworld.com>
parents:
40537
diff
changeset
|
103 | if(account_presence->statuses == NULL) { |
|
d9a2e635775d
Fix a bug where accounts were losing their active status.
Gary Kramlich <grim@reaperworld.com>
parents:
40537
diff
changeset
|
104 | account_presence->statuses = |
|
d9a2e635775d
Fix a bug where accounts were losing their active status.
Gary Kramlich <grim@reaperworld.com>
parents:
40537
diff
changeset
|
105 | purple_protocol_get_statuses(account_presence->account, presence); |
|
d9a2e635775d
Fix a bug where accounts were losing their active status.
Gary Kramlich <grim@reaperworld.com>
parents:
40537
diff
changeset
|
106 | } |
|
d9a2e635775d
Fix a bug where accounts were losing their active status.
Gary Kramlich <grim@reaperworld.com>
parents:
40537
diff
changeset
|
107 | |
|
d9a2e635775d
Fix a bug where accounts were losing their active status.
Gary Kramlich <grim@reaperworld.com>
parents:
40537
diff
changeset
|
108 | return account_presence->statuses; |
|
40537
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
109 | } |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
110 | |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
111 | /****************************************************************************** |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
112 | * GObject Implementation |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
113 | *****************************************************************************/ |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
114 | G_DEFINE_TYPE(PurpleAccountPresence, purple_account_presence, |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
115 | PURPLE_TYPE_PRESENCE) |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
116 | |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
117 | static void |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
118 | purple_account_presence_set_property(GObject *obj, guint param_id, |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
119 | const GValue *value, GParamSpec *pspec) |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
120 | { |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
121 | PurpleAccountPresence *presence = PURPLE_ACCOUNT_PRESENCE(obj); |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
122 | |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
123 | switch (param_id) { |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
124 | case PROP_ACCOUNT: |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
125 | purple_account_presence_set_account(presence, |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
126 | g_value_get_object(value)); |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
127 | break; |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
128 | default: |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
129 | G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec); |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
130 | break; |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
131 | } |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
132 | } |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
133 | |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
134 | static void |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
135 | purple_account_presence_get_property(GObject *obj, guint param_id, |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
136 | GValue *value, GParamSpec *pspec) |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
137 | { |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
138 | PurpleAccountPresence *presence = PURPLE_ACCOUNT_PRESENCE(obj); |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
139 | |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
140 | switch (param_id) { |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
141 | case PROP_ACCOUNT: |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
142 | g_value_set_object(value, |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
143 | purple_account_presence_get_account(presence)); |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
144 | break; |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
145 | default: |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
146 | G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec); |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
147 | break; |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
148 | } |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
149 | } |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
150 | |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
151 | static void |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
152 | purple_account_presence_finalize(GObject *obj) { |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
153 | PurpleAccountPresence *presence = PURPLE_ACCOUNT_PRESENCE(obj); |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
154 | |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
155 | g_clear_object(&presence->account); |
|
40636
d9a2e635775d
Fix a bug where accounts were losing their active status.
Gary Kramlich <grim@reaperworld.com>
parents:
40537
diff
changeset
|
156 | g_list_free_full(presence->statuses, g_object_unref); |
|
40537
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
157 | |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
158 | G_OBJECT_CLASS(purple_account_presence_parent_class)->finalize(obj); |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
159 | } |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
160 | |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
161 | static void |
|
41960
c8a4853205e3
Bump C standard to C99 for libpurple files and fix warnings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41137
diff
changeset
|
162 | purple_account_presence_init(G_GNUC_UNUSED PurpleAccountPresence *presence) { |
|
40537
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
163 | } |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
164 | |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
165 | static void |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
166 | purple_account_presence_class_init(PurpleAccountPresenceClass *klass) { |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
167 | GObjectClass *obj_class = G_OBJECT_CLASS(klass); |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
168 | PurplePresenceClass *presence_class = PURPLE_PRESENCE_CLASS(klass); |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
169 | |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
170 | obj_class->get_property = purple_account_presence_get_property; |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
171 | obj_class->set_property = purple_account_presence_set_property; |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
172 | obj_class->finalize = purple_account_presence_finalize; |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
173 | |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
174 | presence_class->update_idle = purple_account_presence_update_idle; |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
175 | presence_class->get_statuses = purple_account_presence_get_statuses; |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
176 | |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
177 | properties[PROP_ACCOUNT] = g_param_spec_object( |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
178 | "account", "Account", |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
179 | "The account for this presence.", |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
180 | PURPLE_TYPE_ACCOUNT, |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
181 | G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
182 | |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
183 | g_object_class_install_properties(obj_class, N_PROPERTIES, properties); |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
184 | } |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
185 | |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
186 | /****************************************************************************** |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
187 | * Public API |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
188 | *****************************************************************************/ |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
189 | PurpleAccountPresence * |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
190 | purple_account_presence_new(PurpleAccount *account) { |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
191 | g_return_val_if_fail(PURPLE_IS_ACCOUNT(account), NULL); |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
192 | |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
193 | return g_object_new( |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
194 | PURPLE_TYPE_ACCOUNT_PRESENCE, |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
195 | "account", account, |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
196 | NULL); |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
197 | } |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
198 | |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
199 | PurpleAccount * |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
200 | purple_account_presence_get_account(PurpleAccountPresence *presence) |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
201 | { |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
202 | g_return_val_if_fail(PURPLE_IS_ACCOUNT_PRESENCE(presence), NULL); |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
203 | |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
204 | return presence->account; |
|
fbf29150c28c
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
205 | } |