diff options
author | Elliott Sales de Andrade <qulogic@pidgin.im> | 2019-03-29 03:48:00 -0400 |
---|---|---|
committer | Elliott Sales de Andrade <qulogic@pidgin.im> | 2019-03-29 03:48:00 -0400 |
commit | 5e8eab03bf4ffa38eb0dca1ca9f9004a99852ef1 (patch) | |
tree | 59468aa7965c8cbbeb12365bf67b33463034c33e /libpurple/status.c | |
parent | 8826580fbd925d94443d9d71d2ce14832fa1a6d4 (diff) | |
download | pidgin-5e8eab03bf4ffa38eb0dca1ca9f9004a99852ef1.tar.gz |
Use G_DECLARE_FINAL_TYPE for PurpleStatus.
Diffstat (limited to 'libpurple/status.c')
-rw-r--r-- | libpurple/status.c | 36 |
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 */ |