libpurple/purplepresence.h

Fri, 10 Feb 2023 00:52:05 -0600

author
Gary Kramlich <grim@reaperworld.com>
date
Fri, 10 Feb 2023 00:52:05 -0600
changeset 42051
18adb1710a54
parent 41963
d140e4f6bb02
child 42071
a719f0f3c600
permissions
-rw-r--r--

Add read-only properties for primitive and message to PurplePresence

These properties will allow us to add them to the PidginContactList without
changing the status backend.

Testing Done:
Ran the unit tests.

Bugs closed: PIDGIN-17753

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

34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
1 /*
40584
6f198a69ac48 A bunch of documentation cleanups
Gary Kramlich <grim@reaperworld.com>
parents: 40575
diff changeset
2 * Purple - Internet Messaging Library
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
3 * Copyright (C) Pidgin Developers <devel@pidgin.im>
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
4 *
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
5 * Purple is the legal property of its developers, whose names are too numerous
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
6 * to list here. Please refer to the COPYRIGHT file distributed with this
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
7 * source distribution.
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
8 *
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
9 * This program is free software; you can redistribute it and/or modify
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
10 * it under the terms of the GNU General Public License as published by
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
11 * the Free Software Foundation; either version 2 of the License, or
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
12 * (at your option) any later version.
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
13 *
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
14 * This program is distributed in the hope that it will be useful,
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
17 * GNU General Public License for more details.
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
18 *
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
19 * You should have received a copy of the GNU General Public License
40539
2941deda6d8d Use an https link to gnu.org in the license file headers
Gary Kramlich <grim@reaperworld.com>
parents: 40537
diff changeset
20 * along with this program; if not, see <https://www.gnu.org/licenses/>.
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
21 */
35487
494f09f7f331 Move section blocks inside inclusion guards -- otherwise g-ir-scanner yells
Ankit Vani <a@nevitus.org>
parents: 35486
diff changeset
22
40474
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 40215
diff changeset
23 #if !defined(PURPLE_GLOBAL_HEADER_INSIDE) && !defined(PURPLE_COMPILATION)
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 40215
diff changeset
24 # error "only <purple.h> may be included directly"
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 40215
diff changeset
25 #endif
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 40215
diff changeset
26
39659
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39539
diff changeset
27 #ifndef PURPLE_PRESENCE_H
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39539
diff changeset
28 #define PURPLE_PRESENCE_H
40537
fbf29150c28c Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
29
42051
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
30 #include <glib.h>
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
31 #include <glib-object.h>
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
32
35440
467bb21b82a1 Add section blocks for debug.h to prpl.h
Ankit Vani <a@nevitus.org>
parents: 35397
diff changeset
33 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
34 * PurplePresence:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
35 *
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
36 * A PurplePresence is like a collection of PurpleStatuses (plus some other
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
37 * random info). For any buddy, or for any one of your accounts, or for any
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
38 * person with which you're chatting, you may know various amounts of
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
39 * information. This information is all contained in one PurplePresence. If
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
40 * one of your buddies is away and idle, then the presence contains the
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
41 * #PurpleStatus for their awayness, and it contains their current idle time.
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
42 * #PurplePresence's are never saved to disk. The information they contain is
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
43 * only relevant for the current Purple session.
34836
289bc0df25bb API changes for PurplePresence. See details.
Ankit Vani <a@nevitus.org>
parents: 34834
diff changeset
44 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35024
diff changeset
45 * Note: When a presence is destroyed with the last g_object_unref(), all
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
46 * statuses added to this list will be destroyed along with the presence.
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
47 */
40537
fbf29150c28c Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
48
39539
f221f88ff0b0 Use G_DECLARE* for Purple*Presence types.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39538
diff changeset
49 typedef struct _PurplePresence PurplePresence;
f221f88ff0b0 Use G_DECLARE* for Purple*Presence types.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39538
diff changeset
50
f221f88ff0b0 Use G_DECLARE* for Purple*Presence types.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39538
diff changeset
51 #include "status.h"
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
52
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
53 G_BEGIN_DECLS
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
54
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
55 /**
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
56 * PurplePresenceClass:
35462
901dfa763f15 Fix some gtk-doc warnings till proxy.c
Ankit Vani <a@nevitus.org>
parents: 35444
diff changeset
57 * @update_idle: Updates the logs and the UI when the idle state or time of the
901dfa763f15 Fix some gtk-doc warnings till proxy.c
Ankit Vani <a@nevitus.org>
parents: 35444
diff changeset
58 * presence changes.
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
59 *
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
60 * The base class for all #PurplePresence's.
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
61 */
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
62 struct _PurplePresenceClass {
40537
fbf29150c28c Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
63 /*< private >*/
fbf29150c28c Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
64 GObjectClass parent;
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
65
40537
fbf29150c28c Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
66 /*< public >*/
34846
dea8dd8343d5 Added GObject code to presenses.c.
Ankit Vani <a@nevitus.org>
parents: 34841
diff changeset
67 void (*update_idle)(PurplePresence *presence, gboolean old_idle);
40537
fbf29150c28c Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
68 GList *(*get_statuses)(PurplePresence *presence);
34846
dea8dd8343d5 Added GObject code to presenses.c.
Ankit Vani <a@nevitus.org>
parents: 34841
diff changeset
69
35024
eb3afb7643ce Added /*< private >*/ for padding members, clean them up and add missing ones
Ankit Vani <a@nevitus.org>
parents: 34852
diff changeset
70 /*< private >*/
40537
fbf29150c28c Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
71 gpointer reserved[4];
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
72 };
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
73
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
74 #define PURPLE_TYPE_PRESENCE purple_presence_get_type()
40537
fbf29150c28c Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
75 G_DECLARE_DERIVABLE_TYPE(PurplePresence, purple_presence, PURPLE, PRESENCE,
fbf29150c28c Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
76 GObject)
34841
8ebf4cfff9e4 Added the boilerplate GObject header code for presences
Ankit Vani <a@nevitus.org>
parents: 34840
diff changeset
77
8ebf4cfff9e4 Added the boilerplate GObject header code for presences
Ankit Vani <a@nevitus.org>
parents: 34840
diff changeset
78 /**
42051
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
79 * purple_presence_new:
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
80 *
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
81 * Creates a new presence instance.
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
82 *
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
83 * Returns: (transfer full): The new instance.
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
84 *
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
85 * Since: 3.0.0
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
86 */
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
87 PurplePresence *purple_presence_new(void);
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
88
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
89 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
90 * purple_presence_set_status_active:
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
91 * @presence: The #PurplePresence instance.
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
92 * @status_id: The ID of the status.
40537
fbf29150c28c Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
93 * @active: The active state.
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
94 *
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
95 * Sets the active state of a status in a presence.
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
96 *
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
97 * Only independent statuses can be set inactive. Normal statuses can only
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
98 * be set active, so if you wish to disable a status, set another
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
99 * non-independent status to active, or use purple_presence_switch_status().
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
100 */
40537
fbf29150c28c Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
101 void purple_presence_set_status_active(PurplePresence *presence, const gchar *status_id, gboolean active);
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
102
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
103 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
104 * purple_presence_switch_status:
41083
590d533cf290 Fix several typos in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40584
diff changeset
105 * @presence: The #PurplePresence instance.
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
106 * @status_id: The status ID to switch to.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
107 *
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
108 * Switches the active status in a presence.
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
109 *
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
110 * This is similar to purple_presence_set_status_active(), except it won't
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
111 * activate independent statuses.
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
112 */
40537
fbf29150c28c Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
113 void purple_presence_switch_status(PurplePresence *presence, const gchar *status_id);
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
114
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
115 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
116 * purple_presence_set_idle:
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
117 * @presence: The #PurplePresence instance.
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
118 * @idle: The idle state.
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
119 * @idle_time: The idle time, if @idle is %TRUE. This is the time at which the
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
120 * user became idle, in seconds since the epoch. If this value is
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
121 * unknown then 0 should be used.
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
122 *
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
123 * Sets the idle state and time of @presence.
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
124 */
40537
fbf29150c28c Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
125 void purple_presence_set_idle(PurplePresence *presence, gboolean idle, time_t idle_time);
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
126
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
127 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
128 * purple_presence_set_login_time:
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
129 * @presence: The #PurplePresence instance.
41963
d140e4f6bb02 Move the PurplePresence::login-time property from time_t to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents: 41740
diff changeset
130 * @login_time: (transfer none): The login time.
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
131 *
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
132 * Sets the login time on a presence.
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
133 */
41963
d140e4f6bb02 Move the PurplePresence::login-time property from time_t to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents: 41740
diff changeset
134 void purple_presence_set_login_time(PurplePresence *presence, GDateTime *login_time);
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
135
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
136 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
137 * purple_presence_get_statuses:
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
138 * @presence: The #PurplePresence instance.
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
139 *
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
140 * Gets a list of all the statuses in @presence.
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
141 *
38716
b9bed228745a Add many libpurple element-type annotations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 37094
diff changeset
142 * Returns: (element-type PurpleStatus) (transfer none): The statuses.
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
143 */
39435
b30e04a71ecf Use G_DEFINE_TYPE_WITH_PRIVATE for Purple*Presence.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38716
diff changeset
144 GList *purple_presence_get_statuses(PurplePresence *presence);
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
145
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
146 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
147 * purple_presence_get_status:
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
148 * @presence: The #PurplePresence instance.
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35024
diff changeset
149 * @status_id: The ID of the status.
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
150 *
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
151 * Gets the status with the specified ID from @presence.
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
152 *
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
153 * Returns: (transfer none): The #PurpleStatus if found, or %NULL.
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
154 */
40537
fbf29150c28c Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
155 PurpleStatus *purple_presence_get_status(PurplePresence *presence, const gchar *status_id);
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
156
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
157 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
158 * purple_presence_get_active_status:
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
159 * @presence: The #PurplePresence instance.
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
160 *
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
161 * Gets the active exclusive status from @presence.
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
162 *
39738
14d425a528ad Add missing transfer annotations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39659
diff changeset
163 * Returns: (transfer none): The active exclusive status.
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
164 */
39435
b30e04a71ecf Use G_DEFINE_TYPE_WITH_PRIVATE for Purple*Presence.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38716
diff changeset
165 PurpleStatus *purple_presence_get_active_status(PurplePresence *presence);
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
166
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
167 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
168 * purple_presence_is_available:
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
169 * @presence: The #PurplePresence instance.
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
170 *
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
171 * Gets whether or not @presence is available.
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
172 *
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
173 * Available presences are online and possibly invisible, but not away or idle.
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
174 *
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
175 * Returns: %TRUE if the presence is available, or %FALSE otherwise.
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
176 */
39435
b30e04a71ecf Use G_DEFINE_TYPE_WITH_PRIVATE for Purple*Presence.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38716
diff changeset
177 gboolean purple_presence_is_available(PurplePresence *presence);
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
178
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
179 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
180 * purple_presence_is_online:
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
181 * @presence: The #PurplePresence instance.
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
182 *
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
183 * Gets whether or not @presence is online.
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
184 *
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
185 * Returns: %TRUE if the presence is online, or %FALSE otherwise.
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
186 */
39435
b30e04a71ecf Use G_DEFINE_TYPE_WITH_PRIVATE for Purple*Presence.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38716
diff changeset
187 gboolean purple_presence_is_online(PurplePresence *presence);
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
188
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
189 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
190 * purple_presence_is_status_active:
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
191 * @presence: The #PurplePresence instance.
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
192 * @status_id: The ID of the status.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
193 *
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
194 * Gets whether or not a status in @presence is active.
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
195 *
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
196 * A status is active if itself or any of its sub-statuses are active.
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
197 *
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
198 * Returns: %TRUE if the status is active, or %FALSE.
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
199 */
40537
fbf29150c28c Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
200 gboolean purple_presence_is_status_active(PurplePresence *presence, const gchar *status_id);
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
201
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
202 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
203 * purple_presence_is_status_primitive_active:
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
204 * @presence: The #PurplePresence instance.
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
205 * @primitive: The status primitive.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
206 *
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
207 * Gets whether or not a status with the specified primitive type in @presence
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
208 * is active.
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
209 *
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
210 * A status is active if itself or any of its sub-statuses are active.
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
211 *
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
212 * Returns: %TRUE if the status is active, or %FALSE.
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
213 */
40537
fbf29150c28c Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
214 gboolean purple_presence_is_status_primitive_active(PurplePresence *presence, PurpleStatusPrimitive primitive);
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
215
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
216 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
217 * purple_presence_is_idle:
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
218 * @presence: The #PurplePresence instance.
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
219 *
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
220 * Gets whether or not @presence is idle.
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
221 *
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
222 * Returns: %TRUE if the presence is idle, or %FALSE otherwise. If the
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
223 * presence is offline (purple_presence_is_online() returns %FALSE)
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
224 * then %FALSE is returned.
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
225 */
39435
b30e04a71ecf Use G_DEFINE_TYPE_WITH_PRIVATE for Purple*Presence.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38716
diff changeset
226 gboolean purple_presence_is_idle(PurplePresence *presence);
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
227
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
228 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
229 * purple_presence_get_idle_time:
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
230 * @presence: The #PurplePresence instance.
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
231 *
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
232 * Gets the idle time of @presence.
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
233 *
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
234 * Returns: The idle time of @presence.
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
235 */
39435
b30e04a71ecf Use G_DEFINE_TYPE_WITH_PRIVATE for Purple*Presence.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38716
diff changeset
236 time_t purple_presence_get_idle_time(PurplePresence *presence);
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
237
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
238 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
239 * purple_presence_get_login_time:
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
240 * @presence: The #PurplePresence instance.
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
241 *
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40539
diff changeset
242 * Gets the login time of @presence.
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
243 *
41963
d140e4f6bb02 Move the PurplePresence::login-time property from time_t to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents: 41740
diff changeset
244 * Returns: (transfer none): The login time of @presence.
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
245 */
41963
d140e4f6bb02 Move the PurplePresence::login-time property from time_t to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents: 41740
diff changeset
246 GDateTime *purple_presence_get_login_time(PurplePresence *presence);
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
247
41740
d8fcd2907c3d Add purple_presence_compare
Gary Kramlich <grim@reaperworld.com>
parents: 41686
diff changeset
248 /**
d8fcd2907c3d Add purple_presence_compare
Gary Kramlich <grim@reaperworld.com>
parents: 41686
diff changeset
249 * purple_presence_compare:
d8fcd2907c3d Add purple_presence_compare
Gary Kramlich <grim@reaperworld.com>
parents: 41686
diff changeset
250 * @presence1: The first presence.
d8fcd2907c3d Add purple_presence_compare
Gary Kramlich <grim@reaperworld.com>
parents: 41686
diff changeset
251 * @presence2: The second presence.
d8fcd2907c3d Add purple_presence_compare
Gary Kramlich <grim@reaperworld.com>
parents: 41686
diff changeset
252 *
d8fcd2907c3d Add purple_presence_compare
Gary Kramlich <grim@reaperworld.com>
parents: 41686
diff changeset
253 * Compares the presences for availability.
d8fcd2907c3d Add purple_presence_compare
Gary Kramlich <grim@reaperworld.com>
parents: 41686
diff changeset
254 *
d8fcd2907c3d Add purple_presence_compare
Gary Kramlich <grim@reaperworld.com>
parents: 41686
diff changeset
255 * Returns: -1 if @presence1 is more available than @presence2.
d8fcd2907c3d Add purple_presence_compare
Gary Kramlich <grim@reaperworld.com>
parents: 41686
diff changeset
256 * 0 if @presence1 is equal to @presence2.
d8fcd2907c3d Add purple_presence_compare
Gary Kramlich <grim@reaperworld.com>
parents: 41686
diff changeset
257 * 1 if @presence1 is less available than @presence2.
d8fcd2907c3d Add purple_presence_compare
Gary Kramlich <grim@reaperworld.com>
parents: 41686
diff changeset
258 *
d8fcd2907c3d Add purple_presence_compare
Gary Kramlich <grim@reaperworld.com>
parents: 41686
diff changeset
259 * Since: 3.0.0
d8fcd2907c3d Add purple_presence_compare
Gary Kramlich <grim@reaperworld.com>
parents: 41686
diff changeset
260 */
d8fcd2907c3d Add purple_presence_compare
Gary Kramlich <grim@reaperworld.com>
parents: 41686
diff changeset
261 gint purple_presence_compare(PurplePresence *presence1, PurplePresence *presence2);
d8fcd2907c3d Add purple_presence_compare
Gary Kramlich <grim@reaperworld.com>
parents: 41686
diff changeset
262
42051
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
263 /**
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
264 * purple_presence_get_primitive:
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
265 * @presence: The instance.
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
266 *
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
267 * Gets the [enum@Purple.StatusPrimitive] for @presence.
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
268 *
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
269 * Returns: The current primitive.
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
270 *
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
271 * Since: 3.0.0
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
272 */
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
273 PurpleStatusPrimitive purple_presence_get_primitive(PurplePresence *presence);
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
274
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
275 /**
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
276 * purple_presence_get_message:
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
277 * @presence: The instance.
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
278 *
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
279 * Gets the status message for @presence if one is set.
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
280 *
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
281 * Returns: (nullable): The status message of @presence.
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
282 *
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
283 * Since: 3.0.0
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
284 */
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
285 const char *purple_presence_get_message(PurplePresence *presence);
18adb1710a54 Add read-only properties for primitive and message to PurplePresence
Gary Kramlich <grim@reaperworld.com>
parents: 41963
diff changeset
286
34834
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
287 G_END_DECLS
f45f0745da61 Started GObjectification of PurplePresence.
Ankit Vani <a@nevitus.org>
parents:
diff changeset
288
39659
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39539
diff changeset
289 #endif /* PURPLE_PRESENCE_H */

mercurial