Mercurial > pidgin
comparison src/savedstatuses.c @ 10428:04c663ccbcb1
[gaim-migrate @ 11680]
Shuffle some things around in blist.c and make some things more uniform.
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Mon, 27 Dec 2004 04:43:49 +0000 |
parents | 16d63d8c26d8 |
children | e41f0668a648 |
comparison
equal
deleted
inserted
replaced
10427:16d63d8c26d8 | 10428:04c663ccbcb1 |
---|---|
63 const GaimStatusType *type; | 63 const GaimStatusType *type; |
64 char *message; | 64 char *message; |
65 }; | 65 }; |
66 | 66 |
67 static GList *saved_statuses = NULL; | 67 static GList *saved_statuses = NULL; |
68 static guint statuses_save_timer = 0; | 68 static guint save_timer = 0; |
69 static gboolean statuses_loaded = FALSE; | 69 static gboolean statuses_loaded = FALSE; |
70 | 70 |
71 | 71 |
72 /************************************************************************** | 72 /********************************************************************* |
73 * Helper functions | 73 * Private utility functions * |
74 **************************************************************************/ | 74 *********************************************************************/ |
75 | 75 |
76 static void | 76 static void |
77 free_statussavedsub(GaimSavedStatusSub *substatus) | 77 free_statussavedsub(GaimSavedStatusSub *substatus) |
78 { | 78 { |
79 g_return_if_fail(substatus != NULL); | 79 g_return_if_fail(substatus != NULL); |
98 } | 98 } |
99 | 99 |
100 g_free(status); | 100 g_free(status); |
101 } | 101 } |
102 | 102 |
103 | 103 /********************************************************************* |
104 /************************************************************************** | 104 * Writting to disk * |
105 * Writting to disk | 105 *********************************************************************/ |
106 **************************************************************************/ | |
107 | 106 |
108 static xmlnode * | 107 static xmlnode * |
109 substatus_to_xmlnode(GaimSavedStatusSub *substatus) | 108 substatus_to_xmlnode(GaimSavedStatusSub *substatus) |
110 { | 109 { |
111 xmlnode *node, *child; | 110 xmlnode *node, *child; |
174 sync_statuses(void) | 173 sync_statuses(void) |
175 { | 174 { |
176 xmlnode *node; | 175 xmlnode *node; |
177 char *data; | 176 char *data; |
178 | 177 |
179 if (!statuses_loaded) { | 178 if (!statuses_loaded) |
179 { | |
180 gaim_debug_error("status", "Attempted to save statuses before they " | 180 gaim_debug_error("status", "Attempted to save statuses before they " |
181 "were read!\n"); | 181 "were read!\n"); |
182 return; | 182 return; |
183 } | 183 } |
184 | 184 |
188 g_free(data); | 188 g_free(data); |
189 xmlnode_free(node); | 189 xmlnode_free(node); |
190 } | 190 } |
191 | 191 |
192 static gboolean | 192 static gboolean |
193 save_callback(gpointer data) | 193 save_cb(gpointer data) |
194 { | 194 { |
195 sync_statuses(); | 195 sync_statuses(); |
196 statuses_save_timer = 0; | 196 save_timer = 0; |
197 return FALSE; | 197 return FALSE; |
198 } | 198 } |
199 | 199 |
200 static void | 200 static void |
201 schedule_save(void) | 201 schedule_save(void) |
202 { | 202 { |
203 if (statuses_save_timer == 0) | 203 if (save_timer == 0) |
204 statuses_save_timer = gaim_timeout_add(5000, save_callback, NULL); | 204 save_timer = gaim_timeout_add(5000, save_cb, NULL); |
205 } | 205 } |
206 | 206 |
207 | 207 |
208 /************************************************************************** | 208 /********************************************************************* |
209 * Reading from disk | 209 * Reading from disk * |
210 **************************************************************************/ | 210 *********************************************************************/ |
211 | |
211 static GaimSavedStatusSub * | 212 static GaimSavedStatusSub * |
212 parse_substatus(xmlnode *substatus) | 213 parse_substatus(xmlnode *substatus) |
213 { | 214 { |
214 GaimSavedStatusSub *ret; | 215 GaimSavedStatusSub *ret; |
215 xmlnode *node; | 216 xmlnode *node; |
459 } | 460 } |
460 | 461 |
461 void | 462 void |
462 gaim_savedstatuses_uninit(void) | 463 gaim_savedstatuses_uninit(void) |
463 { | 464 { |
464 if (statuses_save_timer != 0) | 465 if (save_timer != 0) |
465 { | 466 { |
466 gaim_timeout_remove(statuses_save_timer); | 467 gaim_timeout_remove(save_timer); |
467 statuses_save_timer = 0; | 468 save_timer = 0; |
468 sync_statuses(); | 469 sync_statuses(); |
469 } | 470 } |
470 | 471 |
471 while (saved_statuses != NULL) { | 472 while (saved_statuses != NULL) { |
472 GaimSavedStatus *status = saved_statuses->data; | 473 GaimSavedStatus *status = saved_statuses->data; |