Mercurial > pidgin
comparison src/status.h @ 10754:8a97b59f0071
[gaim-migrate @ 12357]
Some fairly clutch changes to how accounts set their statuses. This
gets rid of a lot of those g_assertion warnings.
My Girlfriend: Dad, why do we have so many forks?
Her Dad: Well, it's like the lord said, "Go fork and multiply."
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Sun, 27 Mar 2005 19:12:52 +0000 |
parents | 94cc67130789 |
children | d01d81de94d8 |
comparison
equal
deleted
inserted
replaced
10753:b40a67d45dbb | 10754:8a97b59f0071 |
---|---|
33 * | 33 * |
34 * GaimStatusType's are created by each PRPL. They outline the | 34 * GaimStatusType's are created by each PRPL. They outline the |
35 * available statuses of the protocol. AIM, for example, supports | 35 * available statuses of the protocol. AIM, for example, supports |
36 * and available state with an optional available message, an away | 36 * and available state with an optional available message, an away |
37 * state with a mandatory message, and an invisible state (which is | 37 * state with a mandatory message, and an invisible state (which is |
38 * technically "independant" of the other two, but we'll get into | 38 * technically "independent" of the other two, but we'll get into |
39 * that later). GaimStatusTypes are very permanent. They are | 39 * that later). GaimStatusTypes are very permanent. They are |
40 * hardcoded in each PRPL and will not change often. And because | 40 * hardcoded in each PRPL and will not change often. And because |
41 * they are hardcoded, they do not need to be saved to any XML file. | 41 * they are hardcoded, they do not need to be saved to any XML file. |
42 * | 42 * |
43 * A GaimStatus can be thought of as an "instance" of a GaimStatusType. | 43 * A GaimStatus can be thought of as an "instance" of a GaimStatusType. |
53 * your accounts is saved so that the next time you start Gaim, | 53 * your accounts is saved so that the next time you start Gaim, |
54 * your accounts will be set to their last know statuses. There | 54 * your accounts will be set to their last know statuses. There |
55 * is also a list of saved statuses that are written to the | 55 * is also a list of saved statuses that are written to the |
56 * status.xml file. Also, each GaimStatus has a "savable" boolean. | 56 * status.xml file. Also, each GaimStatus has a "savable" boolean. |
57 * If "savable" is set to FALSE then the status is NEVER saved. | 57 * If "savable" is set to FALSE then the status is NEVER saved. |
58 * All GaimStatuses should be inside a GaimPresence. | |
59 * | |
60 * | |
61 * A GaimStatus is either "indepedent" or "exclusive." | |
62 * Independent statuses can be active or inactive and it doesn't | |
63 * affect anything else. However, you can only have one exclusive | |
64 * status per GaimPresence. If you active one exlusive status, | |
65 * then the previous exclusive status is automatically deactivated. | |
58 * | 66 * |
59 * A GaimPresence is like a collection of GaimStatuses (plus some | 67 * A GaimPresence is like a collection of GaimStatuses (plus some |
60 * other random info). For any buddy, or for any one of your accounts, | 68 * other random info). For any buddy, or for any one of your accounts, |
61 * or for any person you're chatting with, you may know various | 69 * or for any person you're chatting with, you may know various |
62 * amounts of information. This information is all contained in | 70 * amounts of information. This information is all contained in |
63 * one GaimPresence. If one of your buddies is away and idle, | 71 * one GaimPresence. If one of your buddies is away and idle, |
64 * then the presence contains the GaimStatus for their awayness, | 72 * then the presence contains the GaimStatus for their awayness, |
65 * and it contains their current idle time. GaimPresences are | 73 * and it contains their current idle time. GaimPresences are |
66 * never saved to disk. The information they contain is only relevent | 74 * never saved to disk. The information they contain is only relevent |
67 * for the current GaimSession. | 75 * for the current GaimSession. |
68 * | |
69 * TODO: Talk about independant statuses. | |
70 */ | 76 */ |
71 | 77 |
72 typedef struct _GaimStatusType GaimStatusType; | 78 typedef struct _GaimStatusType GaimStatusType; |
73 typedef struct _GaimStatusAttr GaimStatusAttr; | 79 typedef struct _GaimStatusAttr GaimStatusAttr; |
74 typedef struct _GaimPresence GaimPresence; | 80 typedef struct _GaimPresence GaimPresence; |