Mon, 27 Dec 2004 06:24:22 +0000
[gaim-migrate @ 11681]
blist.xml is now written using the util function and xmlnodes.
Let no one ever ever complain about losing their blist because their
hard drive was full.
prefs and pounces are the only two xml files not use the util functions
and xmlnodes.
| 5437 | 1 | /** |
| 2 | * @file notify.c Notification API | |
| 3 | * @ingroup core | |
| 4 | * | |
| 5 | * gaim | |
| 6 | * | |
| 8046 | 7 | * Gaim is the legal property of its developers, whose names are too numerous |
| 8 | * to list here. Please refer to the COPYRIGHT file distributed with this | |
| 9 | * source distribution. | |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
10 | * |
| 5437 | 11 | * This program is free software; you can redistribute it and/or modify |
| 12 | * it under the terms of the GNU General Public License as published by | |
| 13 | * the Free Software Foundation; either version 2 of the License, or | |
| 14 | * (at your option) any later version. | |
| 15 | * | |
| 16 | * This program is distributed in the hope that it will be useful, | |
| 17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 19 | * GNU General Public License for more details. | |
| 20 | * | |
| 21 | * You should have received a copy of the GNU General Public License | |
| 22 | * along with this program; if not, write to the Free Software | |
| 23 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| 24 | */ | |
| 25 | #include "notify.h" | |
| 26 | ||
| 27 | static GaimNotifyUiOps *notify_ui_ops = NULL; | |
| 28 | static GList *handles = NULL; | |
| 29 | ||
| 30 | typedef struct | |
| 31 | { | |
| 32 | GaimNotifyType type; | |
| 33 | void *handle; | |
|
5476
6f863ea68018
[gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents:
5437
diff
changeset
|
34 | void *ui_handle; |
| 5437 | 35 | |
| 36 | } GaimNotifyInfo; | |
| 37 | ||
| 38 | void * | |
|
6356
27990c4f9a9f
[gaim-migrate @ 6855]
Christian Hammond <chipx86@chipx86.com>
parents:
6106
diff
changeset
|
39 | gaim_notify_message(void *handle, GaimNotifyMsgType type, |
| 5437 | 40 | const char *title, const char *primary, |
| 41 | const char *secondary, GCallback cb, void *user_data) | |
| 42 | { | |
| 43 | GaimNotifyUiOps *ops; | |
| 44 | ||
| 45 | g_return_val_if_fail(primary != NULL, NULL); | |
| 46 | ||
|
7035
76bca80cd91d
[gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents:
6465
diff
changeset
|
47 | ops = gaim_notify_get_ui_ops(); |
| 5437 | 48 | |
| 49 | if (ops != NULL && ops->notify_message != NULL) { | |
| 50 | GaimNotifyInfo *info; | |
| 51 | ||
|
5476
6f863ea68018
[gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents:
5437
diff
changeset
|
52 | info = g_new0(GaimNotifyInfo, 1); |
|
6f863ea68018
[gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents:
5437
diff
changeset
|
53 | info->type = GAIM_NOTIFY_MESSAGE; |
|
6f863ea68018
[gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents:
5437
diff
changeset
|
54 | info->handle = handle; |
|
6f863ea68018
[gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents:
5437
diff
changeset
|
55 | info->ui_handle = ops->notify_message(type, title, primary, |
|
6f863ea68018
[gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents:
5437
diff
changeset
|
56 | secondary, cb, user_data); |
| 5437 | 57 | |
| 58 | handles = g_list_append(handles, info); | |
| 59 | ||
|
5476
6f863ea68018
[gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents:
5437
diff
changeset
|
60 | return info->ui_handle; |
| 5437 | 61 | } |
| 62 | ||
| 63 | return NULL; | |
| 64 | } | |
| 65 | ||
| 66 | void * | |
| 67 | gaim_notify_email(void *handle, const char *subject, const char *from, | |
| 68 | const char *to, const char *url, GCallback cb, | |
| 69 | void *user_data) | |
| 70 | { | |
| 71 | GaimNotifyUiOps *ops; | |
| 72 | ||
|
7035
76bca80cd91d
[gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents:
6465
diff
changeset
|
73 | ops = gaim_notify_get_ui_ops(); |
| 5437 | 74 | |
| 75 | if (ops != NULL && ops->notify_email != NULL) { | |
| 76 | GaimNotifyInfo *info; | |
| 77 | ||
|
5476
6f863ea68018
[gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents:
5437
diff
changeset
|
78 | info = g_new0(GaimNotifyInfo, 1); |
|
6f863ea68018
[gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents:
5437
diff
changeset
|
79 | info->type = GAIM_NOTIFY_EMAIL; |
|
6f863ea68018
[gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents:
5437
diff
changeset
|
80 | info->handle = handle; |
|
6f863ea68018
[gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents:
5437
diff
changeset
|
81 | info->ui_handle = ops->notify_email(subject, from, to, url, cb, |
|
6f863ea68018
[gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents:
5437
diff
changeset
|
82 | user_data); |
| 5437 | 83 | |
| 84 | handles = g_list_append(handles, info); | |
| 85 | ||
|
5476
6f863ea68018
[gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents:
5437
diff
changeset
|
86 | return info->ui_handle; |
| 5437 | 87 | } |
| 88 | ||
| 89 | return NULL; | |
| 90 | } | |
| 91 | ||
| 92 | void * | |
|
5522
faa69c8f503d
[gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents:
5476
diff
changeset
|
93 | gaim_notify_emails(void *handle, size_t count, gboolean detailed, |
|
faa69c8f503d
[gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents:
5476
diff
changeset
|
94 | const char **subjects, const char **froms, |
|
faa69c8f503d
[gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents:
5476
diff
changeset
|
95 | const char **tos, const char **urls, |
| 5437 | 96 | GCallback cb, void *user_data) |
| 97 | { | |
| 98 | GaimNotifyUiOps *ops; | |
| 99 | ||
| 100 | g_return_val_if_fail(count != 0, NULL); | |
| 101 | ||
|
5522
faa69c8f503d
[gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents:
5476
diff
changeset
|
102 | if (count == 1) { |
|
faa69c8f503d
[gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents:
5476
diff
changeset
|
103 | return gaim_notify_email(handle, |
|
faa69c8f503d
[gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents:
5476
diff
changeset
|
104 | (subjects == NULL ? NULL : *subjects), |
|
faa69c8f503d
[gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents:
5476
diff
changeset
|
105 | (froms == NULL ? NULL : *froms), |
|
faa69c8f503d
[gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents:
5476
diff
changeset
|
106 | (tos == NULL ? NULL : *tos), |
|
faa69c8f503d
[gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents:
5476
diff
changeset
|
107 | (urls == NULL ? NULL : *urls), |
|
faa69c8f503d
[gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents:
5476
diff
changeset
|
108 | cb, user_data); |
|
faa69c8f503d
[gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents:
5476
diff
changeset
|
109 | } |
|
faa69c8f503d
[gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents:
5476
diff
changeset
|
110 | |
|
7035
76bca80cd91d
[gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents:
6465
diff
changeset
|
111 | ops = gaim_notify_get_ui_ops(); |
| 5437 | 112 | |
| 113 | if (ops != NULL && ops->notify_emails != NULL) { | |
| 114 | GaimNotifyInfo *info; | |
| 115 | ||
|
5476
6f863ea68018
[gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents:
5437
diff
changeset
|
116 | info = g_new0(GaimNotifyInfo, 1); |
|
6f863ea68018
[gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents:
5437
diff
changeset
|
117 | info->type = GAIM_NOTIFY_EMAILS; |
|
6f863ea68018
[gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents:
5437
diff
changeset
|
118 | info->handle = handle; |
|
5522
faa69c8f503d
[gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents:
5476
diff
changeset
|
119 | info->ui_handle = ops->notify_emails(count, detailed, subjects, |
|
faa69c8f503d
[gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents:
5476
diff
changeset
|
120 | froms, tos, urls, cb, user_data); |
| 5437 | 121 | |
| 122 | handles = g_list_append(handles, info); | |
| 123 | ||
|
5476
6f863ea68018
[gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents:
5437
diff
changeset
|
124 | return info->ui_handle; |
| 5437 | 125 | } |
| 126 | ||
| 127 | return NULL; | |
| 128 | } | |
| 129 | ||
|
6381
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
130 | void * |
|
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
131 | gaim_notify_formatted(void *handle, const char *title, const char *primary, |
|
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
132 | const char *secondary, const char *text, |
|
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
133 | GCallback cb, void *user_data) |
|
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
134 | { |
|
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
135 | GaimNotifyUiOps *ops; |
|
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
136 | |
|
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
137 | g_return_val_if_fail(primary != NULL, NULL); |
|
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
138 | |
|
7035
76bca80cd91d
[gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents:
6465
diff
changeset
|
139 | ops = gaim_notify_get_ui_ops(); |
|
6381
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
140 | |
|
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
141 | if (ops != NULL && ops->notify_formatted != NULL) { |
|
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
142 | GaimNotifyInfo *info; |
|
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
143 | |
|
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
144 | info = g_new0(GaimNotifyInfo, 1); |
|
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
145 | info->type = GAIM_NOTIFY_FORMATTED; |
|
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
146 | info->handle = handle; |
|
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
147 | info->ui_handle = ops->notify_formatted(title, primary, secondary, |
|
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
148 | text, cb, user_data); |
|
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
149 | |
|
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
150 | handles = g_list_append(handles, info); |
|
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
151 | |
|
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
152 | return info->ui_handle; |
|
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
153 | } |
|
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
154 | |
|
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
155 | return NULL; |
|
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
156 | } |
|
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
157 | |
| 9797 | 158 | void *gaim_notify_userinfo(GaimConnection *gc, const char *who, const char *title, |
| 159 | const char *primary, const char *secondary, | |
| 160 | const char *text, GCallback cb, void *user_data) | |
| 161 | { | |
| 162 | GaimNotifyUiOps *ops; | |
| 163 | ||
| 164 | g_return_val_if_fail(primary != NULL, NULL); | |
| 165 | ||
| 166 | ops = gaim_notify_get_ui_ops(); | |
| 167 | ||
| 168 | if (ops != NULL && ops->notify_userinfo != NULL) { | |
| 169 | GaimNotifyInfo *info; | |
| 170 | ||
| 171 | info = g_new0(GaimNotifyInfo, 1); | |
| 172 | info->type = GAIM_NOTIFY_USERINFO; | |
| 173 | info->handle = gc; | |
| 174 | info->ui_handle = ops->notify_userinfo(gc, who, title, primary, | |
| 175 | secondary, text, cb, user_data); | |
| 176 | ||
| 177 | handles = g_list_append(handles, info); | |
| 178 | ||
| 179 | return info->ui_handle; | |
| 180 | } | |
| 181 | ||
| 182 | return NULL; | |
| 183 | } | |
| 184 | ||
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
185 | void * |
|
10240
09342bc554d9
[gaim-migrate @ 11377]
Herman Bloggs <herman@bluedigits.com>
parents:
10209
diff
changeset
|
186 | gaim_notify_uri(void *handle, const char *uri) |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
187 | { |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
188 | GaimNotifyUiOps *ops; |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
189 | |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
190 | g_return_val_if_fail(uri != NULL, NULL); |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
191 | |
|
7035
76bca80cd91d
[gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents:
6465
diff
changeset
|
192 | ops = gaim_notify_get_ui_ops(); |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
193 | |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
194 | if (ops != NULL && ops->notify_uri != NULL) { |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
195 | GaimNotifyInfo *info; |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
196 | |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
197 | info = g_new0(GaimNotifyInfo, 1); |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
198 | info->type = GAIM_NOTIFY_URI; |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
199 | info->handle = handle; |
|
10240
09342bc554d9
[gaim-migrate @ 11377]
Herman Bloggs <herman@bluedigits.com>
parents:
10209
diff
changeset
|
200 | info->ui_handle = ops->notify_uri(uri); |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
201 | |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
202 | handles = g_list_append(handles, info); |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
203 | |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
204 | return info->ui_handle; |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
205 | } |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
206 | |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
207 | return NULL; |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
208 | } |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
209 | |
| 5437 | 210 | void |
|
5476
6f863ea68018
[gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents:
5437
diff
changeset
|
211 | gaim_notify_close(GaimNotifyType type, void *ui_handle) |
| 5437 | 212 | { |
| 213 | GList *l; | |
| 214 | GaimNotifyUiOps *ops; | |
| 215 | ||
|
5476
6f863ea68018
[gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents:
5437
diff
changeset
|
216 | g_return_if_fail(ui_handle != NULL); |
| 5437 | 217 | |
|
7035
76bca80cd91d
[gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents:
6465
diff
changeset
|
218 | ops = gaim_notify_get_ui_ops(); |
| 5437 | 219 | |
| 220 | for (l = handles; l != NULL; l = l->next) { | |
| 221 | GaimNotifyInfo *info = l->data; | |
| 222 | ||
|
5476
6f863ea68018
[gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents:
5437
diff
changeset
|
223 | if (info->ui_handle == ui_handle) { |
| 5437 | 224 | handles = g_list_remove(handles, info); |
| 225 | ||
| 226 | if (ops != NULL && ops->close_notify != NULL) | |
|
5476
6f863ea68018
[gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents:
5437
diff
changeset
|
227 | ops->close_notify(info->type, ui_handle); |
| 5437 | 228 | |
| 229 | g_free(info); | |
| 230 | ||
| 231 | break; | |
| 232 | } | |
| 233 | } | |
| 234 | } | |
| 235 | ||
| 236 | void | |
| 237 | gaim_notify_close_with_handle(void *handle) | |
| 238 | { | |
| 239 | GList *l, *l_next; | |
| 240 | GaimNotifyUiOps *ops; | |
| 241 | ||
| 242 | g_return_if_fail(handle != NULL); | |
| 243 | ||
|
7035
76bca80cd91d
[gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents:
6465
diff
changeset
|
244 | ops = gaim_notify_get_ui_ops(); |
| 5437 | 245 | |
| 246 | for (l = handles; l != NULL; l = l_next) { | |
| 247 | GaimNotifyInfo *info = l->data; | |
| 248 | ||
| 249 | l_next = l->next; | |
| 250 | ||
| 251 | if (info->handle == handle) { | |
| 252 | handles = g_list_remove(handles, info); | |
| 253 | ||
| 254 | if (ops != NULL && ops->close_notify != NULL) | |
|
5476
6f863ea68018
[gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents:
5437
diff
changeset
|
255 | ops->close_notify(info->type, info->ui_handle); |
| 5437 | 256 | |
| 257 | g_free(info); | |
| 258 | } | |
| 259 | } | |
| 260 | } | |
| 261 | ||
| 262 | void | |
|
7035
76bca80cd91d
[gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents:
6465
diff
changeset
|
263 | gaim_notify_set_ui_ops(GaimNotifyUiOps *ops) |
| 5437 | 264 | { |
| 265 | notify_ui_ops = ops; | |
| 266 | } | |
| 267 | ||
| 268 | GaimNotifyUiOps * | |
|
7035
76bca80cd91d
[gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents:
6465
diff
changeset
|
269 | gaim_notify_get_ui_ops(void) |
| 5437 | 270 | { |
| 271 | return notify_ui_ops; | |
| 272 | } |