summaryrefslogtreecommitdiff
path: root/libpurple/status.c
diff options
context:
space:
mode:
authorElliott Sales de Andrade <qulogic@pidgin.im>2019-03-29 03:48:00 -0400
committerElliott Sales de Andrade <qulogic@pidgin.im>2019-03-29 03:48:00 -0400
commit5e8eab03bf4ffa38eb0dca1ca9f9004a99852ef1 (patch)
tree59468aa7965c8cbbeb12365bf67b33463034c33e /libpurple/status.c
parent8826580fbd925d94443d9d71d2ce14832fa1a6d4 (diff)
downloadpidgin-5e8eab03bf4ffa38eb0dca1ca9f9004a99852ef1.tar.gz
Use G_DECLARE_FINAL_TYPE for PurpleStatus.
Diffstat (limited to 'libpurple/status.c')
-rw-r--r--libpurple/status.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/libpurple/status.c b/libpurple/status.c
index 3536b8be8d..81542c7296 100644
--- a/libpurple/status.c
+++ b/libpurple/status.c
@@ -59,6 +59,42 @@ struct _PurpleStatusAttribute
GValue *value_type;
};
+/**
+ * PurpleStatus:
+ *
+ * A PurpleStatus can be thought of as an "instance" of a PurpleStatusType.
+ * If you're familiar with object-oriented programming languages
+ * then this should be immediately clear. Say, for example, that
+ * one of your AIM buddies has set himself as "away." You have a
+ * PurpleBuddy node for this person in your buddy list. Purple wants
+ * to mark this buddy as "away," so it creates a new PurpleStatus.
+ * The PurpleStatus has its PurpleStatusType set to the "away" state
+ * for the oscar protocol. The PurpleStatus also contains the buddy's
+ * away message. PurpleStatuses are sometimes saved, depending on
+ * the context. The current PurpleStatuses associated with each of
+ * your accounts are saved so that the next time you start Purple,
+ * your accounts will be set to their last known statuses. There
+ * is also a list of saved statuses that are written to the
+ * status.xml file. Also, each PurpleStatus has a "saveable" boolean.
+ * If "saveable" is set to FALSE then the status is NEVER saved.
+ * All PurpleStatuses should be inside a PurplePresence.
+ *
+ * A PurpleStatus is either "independent" or "exclusive."
+ * Independent statuses can be active or inactive and they don't
+ * affect anything else. However, you can only have one exclusive
+ * status per PurplePresence. If you activate one exclusive status,
+ * then the previous exclusive status is automatically deactivated.
+ *
+ * A PurplePresence is like a collection of PurpleStatuses (plus some
+ * other random info).
+ *
+ * See <link linkend="libpurple-presence">Presence API</link>
+ */
+struct _PurpleStatus
+{
+ GObject parent;
+};
+
/*
* Private data for PurpleStatus
*/