summaryrefslogtreecommitdiff
path: root/libpurple/purplebuddypresence.h
diff options
context:
space:
mode:
authorGary Kramlich <grim@reaperworld.com>2020-09-21 20:15:51 -0500
committerGary Kramlich <grim@reaperworld.com>2020-09-21 20:15:51 -0500
commitce1bfd3f5ec583c5d45e99e311b84045e8ec3bca (patch)
tree2839ac258ef7dc3496ae7dd72473b2bf5175d61f /libpurple/purplebuddypresence.h
parent1237f70653f4cb95b17e8104a2ade2966f7c45b2 (diff)
downloadpidgin-ce1bfd3f5ec583c5d45e99e311b84045e8ec3bca.tar.gz
Move PurpleAccountPresence and PurpleBuddyPresence to their own files
split purpleaccountpresence and purplebuddypresence out to their own files. Going to clean up the `update_idle` methods and convert them from `time_t` to `GDateTime` in another PR, so I didn't do anything aside from the bare minimum in them right now. Testing Done: ran and verified logins still work. Reviewed at https://reviews.imfreedom.org/r/122/
Diffstat (limited to 'libpurple/purplebuddypresence.h')
-rw-r--r--libpurple/purplebuddypresence.h97
1 files changed, 97 insertions, 0 deletions
diff --git a/libpurple/purplebuddypresence.h b/libpurple/purplebuddypresence.h
new file mode 100644
index 0000000000..e81e07c3b6
--- /dev/null
+++ b/libpurple/purplebuddypresence.h
@@ -0,0 +1,97 @@
+/*
+ * purple
+ *
+ * Purple is the legal property of its developers, whose names are too numerous
+ * to list here. Please refer to the COPYRIGHT file distributed with this
+ * source distribution.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <https://www.gnu.org/licenses/>.
+ */
+#ifndef PURPLE_BUDDY_PRESENCE_H
+#define PURPLE_BUDDY_PRESENCE_H
+
+/**
+ * SECTION:purplebuddypresence
+ * @section_id: libpurple-purplebuddypresence
+ * @title: Buddy Presence API
+ *
+ * A #PurpleBuddyPresence represent the #PurplePresence for a specific
+ * #PurpleBuddy.
+ */
+
+#include "buddylist.h"
+#include "presence.h"
+
+G_BEGIN_DECLS
+
+/**
+ * PurpleBuddyPresence:
+ *
+ * A presence for a buddy
+ */
+
+/**
+ * PURPLE_TYPE_BUDDY_PRESENCE:
+ *
+ * The standard _get_type macro for #PurpleBuddyPresence.
+ */
+#define PURPLE_TYPE_BUDDY_PRESENCE (purple_buddy_presence_get_type())
+
+/**
+ * purple_buddy_presence_get_type:
+ *
+ * Returns: The #GType for the #PurpleBuddyPresence object.
+ */
+G_DECLARE_FINAL_TYPE(PurpleBuddyPresence, purple_buddy_presence, PURPLE,
+ BUDDY_PRESENCE, PurplePresence)
+
+/**
+ * purple_buddy_presence_new:
+ * @buddy: The buddy to associate with the presence.
+ *
+ * Creates a presence for a buddy.
+ *
+ * Returns: The new presence.
+ *
+ * Since: 3.0.0
+ */
+PurpleBuddyPresence *purple_buddy_presence_new(PurpleBuddy *buddy);
+
+/**
+ * purple_buddy_presence_get_buddy:
+ * @presence: The presence.
+ *
+ * Returns the buddy presence's buddy.
+ *
+ * Returns: (transfer none): The presence's buddy.
+ */
+PurpleBuddy *purple_buddy_presence_get_buddy(PurpleBuddyPresence *presence);
+
+/**
+ * purple_buddy_presence_compare:
+ * @buddy_presence1: The first presence.
+ * @buddy_presence2: The second presence.
+ *
+ * Compares two buddy presences for availability.
+ *
+ * Returns: -1 if @buddy_presence1 is more available than @buddy_presence2.
+ * 0 if @buddy_presence1 is equal to @buddy_presence2.
+ * 1 if @buddy_presence1 is less available than @buddy_presence2.
+ */
+gint purple_buddy_presence_compare(PurpleBuddyPresence *buddy_presence1,
+ PurpleBuddyPresence *buddy_presence2);
+
+G_END_DECLS
+
+#endif /* PURPLE_BUDDY_PRESENCE_H */