savedstatuses.h

Go to the documentation of this file.
00001 
00027 #ifndef _PURPLE_SAVEDSTATUSES_H_
00028 #define _PURPLE_SAVEDSTATUSES_H_
00029 
00052 /*
00053  * TODO: Hmm.  We should probably just be saving PurplePresences.  That's
00054  *       something we should look into once the status box gets fleshed
00055  *       out more.
00056  */
00057 
00058 typedef struct _PurpleSavedStatus     PurpleSavedStatus;
00059 typedef struct _PurpleSavedStatusSub  PurpleSavedStatusSub;
00060 
00061 #include "status.h"
00062 
00063 #ifdef __cplusplus
00064 extern "C" {
00065 #endif
00066 
00067 /**************************************************************************/
00069 /**************************************************************************/
00084 PurpleSavedStatus *purple_savedstatus_new(const char *title,
00085                                       PurpleStatusPrimitive type);
00086 
00093 void purple_savedstatus_set_title(PurpleSavedStatus *status,
00094                                 const char *title);
00095 
00102 void purple_savedstatus_set_type(PurpleSavedStatus *status,
00103                                PurpleStatusPrimitive type);
00104 
00112 void purple_savedstatus_set_message(PurpleSavedStatus *status,
00113                                   const char *message);
00114 
00124 void purple_savedstatus_set_substatus(PurpleSavedStatus *status,
00125                                     const PurpleAccount *account,
00126                                     const PurpleStatusType *type,
00127                                     const char *message);
00128 
00138 void purple_savedstatus_unset_substatus(PurpleSavedStatus *saved_status,
00139                                                   const PurpleAccount *account);
00140 
00151 gboolean purple_savedstatus_delete(const char *title);
00152 
00161 void purple_savedstatus_delete_by_status(PurpleSavedStatus *saved_status);
00162 
00168 GList *purple_savedstatuses_get_all(void);
00169 
00187 GList *purple_savedstatuses_get_popular(unsigned int how_many);
00188 
00197 PurpleSavedStatus *purple_savedstatus_get_current(void);
00198 
00206 PurpleSavedStatus *purple_savedstatus_get_default(void);
00207 
00215 PurpleSavedStatus *purple_savedstatus_get_idleaway(void);
00216 
00223 gboolean purple_savedstatus_is_idleaway(void);
00224 
00232 void purple_savedstatus_set_idleaway(gboolean idleaway);
00233 
00240 PurpleSavedStatus *purple_savedstatus_get_startup(void);
00241 
00249 PurpleSavedStatus *purple_savedstatus_find(const char *title);
00250 
00259 PurpleSavedStatus *purple_savedstatus_find_by_creation_time(time_t creation_time);
00260 
00271 PurpleSavedStatus *purple_savedstatus_find_transient_by_type_and_message(PurpleStatusPrimitive type, const char *message);
00272 
00290 gboolean purple_savedstatus_is_transient(const PurpleSavedStatus *saved_status);
00291 
00302 const char *purple_savedstatus_get_title(const PurpleSavedStatus *saved_status);
00303 
00311 PurpleStatusPrimitive purple_savedstatus_get_type(const PurpleSavedStatus *saved_status);
00312 
00323 const char *purple_savedstatus_get_message(const PurpleSavedStatus *saved_status);
00324 
00340 time_t purple_savedstatus_get_creation_time(const PurpleSavedStatus *saved_status);
00341 
00352 gboolean purple_savedstatus_has_substatuses(const PurpleSavedStatus *saved_status);
00353 
00364 PurpleSavedStatusSub *purple_savedstatus_get_substatus(
00365                                     const PurpleSavedStatus *saved_status,
00366                                     const PurpleAccount *account);
00367 
00375 const PurpleStatusType *purple_savedstatus_substatus_get_type(const PurpleSavedStatusSub *substatus);
00376 
00385 const char *purple_savedstatus_substatus_get_message(const PurpleSavedStatusSub *substatus);
00386 
00394 void purple_savedstatus_activate(PurpleSavedStatus *saved_status);
00395 
00403 void purple_savedstatus_activate_for_account(const PurpleSavedStatus *saved_status, PurpleAccount *account);
00404 
00410 void *purple_savedstatuses_get_handle(void);
00411 
00415 void purple_savedstatuses_init(void);
00416 
00420 void purple_savedstatuses_uninit(void);
00421 
00424 #ifdef __cplusplus
00425 }
00426 #endif
00427 
00428 #endif /* _PURPLE_SAVEDSTATUSES_H_ */