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;