00001 #ifndef __EKG_QUERIES
00002 #define __EKG_QUERIES
00003
00004 #ifdef __cplusplus
00005 extern "C" {
00006 #endif
00007
00008 #define QUERY_ARGS_MAX 12
00009
00010 enum query_arg_type {
00011 QUERY_ARG_END = 0,
00012
00013 QUERY_ARG_CHARP,
00014 QUERY_ARG_CHARPP,
00015 QUERY_ARG_INT,
00016 QUERY_ARG_UINT,
00017
00018 QUERY_ARG_WINDOW = 100,
00019 QUERY_ARG_FSTRING,
00020 QUERY_ARG_USERLIST,
00021 QUERY_ARG_SESSION
00022 };
00023
00024 struct query_def {
00025 int id;
00026 char *name;
00027 enum query_arg_type params[QUERY_ARGS_MAX];
00028 };
00029
00030
00031 enum queries_id {
00032 MAIL_COUNT = 0, DAY_CHANGED, STATUS_SHOW, PLUGIN_PRINT_VERSION,
00033 SET_VARS_DEFAULT, VARIABLE_CHANGED,
00034
00035 BINDING_COMMAND, BINDING_DEFAULT, BINDING_SET,
00036 EVENT_ADDED, EVENT_REMOVED,
00037 MESSAGE_ENCRYPT, MESSAGE_DECRYPT,
00038 METACONTACT_ADDED, METACONTACT_ITEM_ADDED, METACONTACT_ITEM_REMOVED, METACONTACT_REMOVED,
00039 PROTOCOL_MESSAGE_SENT, PROTOCOL_MESSAGE_RECEIVED, PROTOCOL_MESSAGE_POST,
00040 EVENT_AWAY, EVENT_AVAIL, EVENT_DESCR, EVENT_ONLINE, EVENT_NA,
00041 USERLIST_ADDED, USERLIST_CHANGED, USERLIST_REMOVED, USERLIST_RENAMED, USERLIST_INFO,
00042 USERLIST_PRIVHANDLE,
00043 SESSION_ADDED, SESSION_CHANGED, SESSION_REMOVED, SESSION_RENAMED, SESSION_STATUS,
00044 EKG_SIGUSR1, EKG_SIGUSR2,
00045 CONFIG_POSTINIT, QUITTING,
00046
00047 IRC_TOPIC, IRC_PROTOCOL_MESSAGE, IRC_KICK,
00048 RSS_MESSAGE,
00049
00050 PROTOCOL_CONNECTED, PROTOCOL_DISCONNECTED, PROTOCOL_MESSAGE, PROTOCOL_MESSAGE_ACK, PROTOCOL_STATUS,
00051 PROTOCOL_VALIDATE_UID, PROTOCOL_XSTATE,
00052
00053 ADD_NOTIFY, REMOVE_NOTIFY,
00054 PROTOCOL_IGNORE, PROTOCOL_UNIGNORE,
00055
00056 CONFERENCE_RENAMED,
00057
00058 UI_BEEP, UI_IS_INITIALIZED, UI_KEYPRESS, UI_LOOP, UI_WINDOW_ACT_CHANGED,
00059 UI_WINDOW_CLEAR, UI_WINDOW_KILL, UI_WINDOW_NEW, UI_WINDOW_PRINT, UI_WINDOW_REFRESH,
00060 UI_WINDOW_SWITCH, UI_WINDOW_TARGET_CHANGED,
00061
00062 GPG_MESSAGE_ENCRYPT, GPG_MESSAGE_DECRYPT, GPG_SIGN, GPG_VERIFY,
00063
00064 UI_WINDOW_UPDATE_LASTLOG,
00065 SESSION_EVENT,
00066 UI_REFRESH,
00067 PROTOCOL_TYPING_OUT,
00068 UI_PASSWORD_INPUT,
00069 PROTOCOL_DISCONNECTING,
00070
00071 USERLIST_REFRESH,
00072
00073 QUERY_EXTERNAL,
00074 };
00075
00076 #ifdef __DECLARE_QUERIES_STUFF
00077 #undef __DECLARE_QUERIES_STUFF
00078
00079
00080
00081 const struct query_def query_list[] = {
00082 { MAIL_COUNT, "mail-count", {
00083 QUERY_ARG_INT,
00084 QUERY_ARG_END } },
00085
00086 { DAY_CHANGED, "day-changed", {
00087
00088 QUERY_ARG_END } },
00089
00090 { STATUS_SHOW, "status-show", {
00091 QUERY_ARG_CHARP,
00092 QUERY_ARG_END } },
00093
00094 { PLUGIN_PRINT_VERSION, "plugin-print-version", {
00095 QUERY_ARG_END } },
00096
00097 { SET_VARS_DEFAULT, "set-vars-default", {
00098 QUERY_ARG_END } },
00099
00100 { VARIABLE_CHANGED, "variable-changed", {
00101 QUERY_ARG_CHARP,
00102 QUERY_ARG_END } },
00103
00104 { BINDING_COMMAND, "binding-command", {
00105
00106 QUERY_ARG_END } },
00107
00108 { BINDING_DEFAULT, "binding-default", {
00109
00110 QUERY_ARG_END } },
00111
00112 { BINDING_SET, "binding-set", {
00113
00114 QUERY_ARG_END } },
00115
00116 { EVENT_ADDED, "event-added", {
00117 QUERY_ARG_CHARP,
00118 QUERY_ARG_END } },
00119
00120 { EVENT_REMOVED, "event-removed", {
00121
00122 QUERY_ARG_END } },
00123
00124 { MESSAGE_ENCRYPT, "message-encrypt", {
00125
00126 QUERY_ARG_END } },
00127
00128 { MESSAGE_DECRYPT, "message-decrypt", {
00129
00130 QUERY_ARG_END } },
00131
00132 { METACONTACT_ADDED, "metacontact-added", {
00133 QUERY_ARG_CHARP,
00134 QUERY_ARG_END } },
00135
00136 { METACONTACT_ITEM_ADDED, "metacontact-item-added", {
00137
00138 QUERY_ARG_END } },
00139
00140 { METACONTACT_ITEM_REMOVED, "metacontact-item-removed", {
00141
00142 QUERY_ARG_END } },
00143
00144 { METACONTACT_REMOVED, "metacontact-removed", {
00145 QUERY_ARG_CHARP,
00146 QUERY_ARG_END } },
00147
00148 { PROTOCOL_MESSAGE_SENT, "protocol-message-sent", {
00149 QUERY_ARG_CHARP,
00150 QUERY_ARG_CHARP,
00151 QUERY_ARG_CHARP,
00152 QUERY_ARG_END } },
00153
00154 { PROTOCOL_MESSAGE_RECEIVED, "protocol-message-received", {
00155 QUERY_ARG_CHARP,
00156 QUERY_ARG_CHARP,
00157 QUERY_ARG_CHARPP,
00158 QUERY_ARG_UINT,
00159 QUERY_ARG_UINT,
00160 QUERY_ARG_INT,
00161 QUERY_ARG_CHARP,
00162 QUERY_ARG_INT,
00163 QUERY_ARG_END } },
00164
00165 { PROTOCOL_MESSAGE_POST, "protocol-message-post", {
00166 QUERY_ARG_CHARP,
00167 QUERY_ARG_CHARP,
00168 QUERY_ARG_CHARPP,
00169 QUERY_ARG_UINT,
00170 QUERY_ARG_UINT,
00171 QUERY_ARG_INT,
00172 QUERY_ARG_CHARP,
00173 QUERY_ARG_INT,
00174 QUERY_ARG_END } },
00175
00176 { EVENT_AWAY, "event_away", {
00177 QUERY_ARG_CHARP,
00178 QUERY_ARG_CHARP,
00179 QUERY_ARG_END } },
00180
00181 { EVENT_AVAIL, "event_avail", {
00182
00183 QUERY_ARG_CHARP,
00184 QUERY_ARG_CHARP,
00185 QUERY_ARG_END } },
00186
00187 { EVENT_DESCR, "event_descr", {
00188 QUERY_ARG_CHARP,
00189 QUERY_ARG_CHARP,
00190 QUERY_ARG_CHARP,
00191 QUERY_ARG_END } },
00192
00193 { EVENT_ONLINE, "event_online", {
00194 QUERY_ARG_CHARP,
00195 QUERY_ARG_CHARP,
00196 QUERY_ARG_END } },
00197
00198 { EVENT_NA, "event_na", {
00199 QUERY_ARG_CHARP,
00200 QUERY_ARG_CHARP,
00201 QUERY_ARG_END } },
00202
00203 { USERLIST_ADDED, "userlist-added", {
00204
00205
00206 QUERY_ARG_CHARP,
00207 QUERY_ARG_CHARP,
00208 QUERY_ARG_INT,
00209 QUERY_ARG_END } },
00210
00211 { USERLIST_CHANGED, "userlist-changed", {
00212 QUERY_ARG_CHARP,
00213 QUERY_ARG_CHARP,
00214 QUERY_ARG_END } },
00215
00216 { USERLIST_REMOVED, "userlist-removed", {
00217
00218
00219 QUERY_ARG_CHARP,
00220 QUERY_ARG_CHARP,
00221 QUERY_ARG_END } },
00222
00223 { USERLIST_RENAMED, "userlist-renamed", {
00224
00225 QUERY_ARG_END } },
00226
00227 { USERLIST_INFO, "userlist-info", {
00228
00229 QUERY_ARG_END } },
00230
00231 { USERLIST_PRIVHANDLE, "userlist-privhandle", {
00232 QUERY_ARG_USERLIST,
00233 QUERY_ARG_INT,
00234
00235 QUERY_ARG_END } },
00236
00237 { SESSION_ADDED, "session-added", {
00238 QUERY_ARG_CHARP,
00239 QUERY_ARG_END } },
00240
00241 { SESSION_CHANGED, "session-changed", {
00242 QUERY_ARG_END } },
00243
00244 { SESSION_REMOVED, "session-removed", {
00245 QUERY_ARG_CHARP,
00246 QUERY_ARG_END } },
00247
00248 { SESSION_RENAMED, "session-renamed", {
00249 QUERY_ARG_CHARP,
00250 QUERY_ARG_END } },
00251
00252 { SESSION_STATUS, "session-status", {
00253
00254 QUERY_ARG_END } },
00255
00256 { EKG_SIGUSR1, "sigusr1", {
00257 QUERY_ARG_END } },
00258
00259 { EKG_SIGUSR2, "sigusr2", {
00260 QUERY_ARG_END } },
00261
00262 { CONFIG_POSTINIT, "config-postinit", {
00263 QUERY_ARG_END } },
00264
00265 { QUITTING, "quitting", {
00266
00267 QUERY_ARG_CHARP,
00268 QUERY_ARG_END } },
00269
00270 { IRC_TOPIC, "irc-topic", {
00271 QUERY_ARG_CHARP,
00272 QUERY_ARG_CHARP,
00273 QUERY_ARG_CHARP,
00274 QUERY_ARG_END } },
00275
00276 { IRC_PROTOCOL_MESSAGE, "irc-protocol-message", {
00277 QUERY_ARG_CHARP,
00278 QUERY_ARG_CHARP,
00279 QUERY_ARG_CHARP,
00280 QUERY_ARG_INT,
00281 QUERY_ARG_INT,
00282 QUERY_ARG_INT,
00283 QUERY_ARG_CHARP,
00284 QUERY_ARG_END } },
00285
00286 { IRC_KICK, "irc-kick", {
00287 QUERY_ARG_CHARP,
00288 QUERY_ARG_CHARP,
00289 QUERY_ARG_CHARP,
00290 QUERY_ARG_CHARP,
00291 QUERY_ARG_END } },
00292
00293 { RSS_MESSAGE, "rss-message", {
00294
00295 QUERY_ARG_END } },
00296
00297 { PROTOCOL_CONNECTED, "protocol-connected", {
00298 QUERY_ARG_CHARP,
00299 QUERY_ARG_END } },
00300
00301 { PROTOCOL_DISCONNECTED, "protocol-disconnected", {
00302 QUERY_ARG_CHARP,
00303 QUERY_ARG_CHARP,
00304 QUERY_ARG_INT,
00305 QUERY_ARG_END } },
00306
00307 { PROTOCOL_MESSAGE, "protocol-message", {
00308 QUERY_ARG_CHARP,
00309 QUERY_ARG_CHARP,
00310 QUERY_ARG_CHARPP,
00311 QUERY_ARG_CHARP,
00312 QUERY_ARG_UINT,
00313 QUERY_ARG_UINT,
00314 QUERY_ARG_INT,
00315 QUERY_ARG_CHARP,
00316 QUERY_ARG_INT,
00317 QUERY_ARG_INT,
00318 QUERY_ARG_END } },
00319
00320 { PROTOCOL_MESSAGE_ACK, "protocol-message-ack", {
00321 QUERY_ARG_CHARP,
00322 QUERY_ARG_CHARP,
00323 QUERY_ARG_CHARP,
00324 QUERY_ARG_INT,
00325 QUERY_ARG_END } },
00326
00327 { PROTOCOL_STATUS, "protocol-status", {
00328 QUERY_ARG_CHARP,
00329 QUERY_ARG_CHARP,
00330 QUERY_ARG_INT,
00331 QUERY_ARG_CHARP,
00332 QUERY_ARG_UINT,
00333 QUERY_ARG_END } },
00334
00335 { PROTOCOL_VALIDATE_UID, "protocol-validate-uid", {
00336 QUERY_ARG_CHARP,
00337 QUERY_ARG_INT,
00338 QUERY_ARG_END } },
00339
00340 { PROTOCOL_XSTATE, "protocol-xstate", {
00341 QUERY_ARG_CHARP,
00342 QUERY_ARG_CHARP,
00343 QUERY_ARG_INT,
00344 QUERY_ARG_INT,
00345 QUERY_ARG_END } },
00346
00347 { ADD_NOTIFY, "add-notify", {
00348
00349 QUERY_ARG_END } },
00350
00351 { REMOVE_NOTIFY, "remove-notify", {
00352
00353 QUERY_ARG_END } },
00354
00355 { PROTOCOL_IGNORE, "protocol-ignore", {
00356 QUERY_ARG_CHARP,
00357 QUERY_ARG_CHARP,
00358 QUERY_ARG_INT,
00359 QUERY_ARG_INT,
00360 QUERY_ARG_END } },
00361
00362 { PROTOCOL_UNIGNORE, "protocol-unignore", {
00363
00364 QUERY_ARG_END } },
00365
00366 { CONFERENCE_RENAMED, "conference-renamed", {
00367
00368 QUERY_ARG_END } },
00369
00370 { UI_BEEP, "ui-beep", {
00371 QUERY_ARG_END } },
00372
00373 { UI_IS_INITIALIZED, "ui-is-initialized", {
00374 QUERY_ARG_INT,
00375 QUERY_ARG_END } },
00376
00377 { UI_KEYPRESS, "ui-keypress", {
00378 QUERY_ARG_INT,
00379 QUERY_ARG_END } },
00380
00381 { UI_LOOP, "ui-loop", {
00382 QUERY_ARG_END } },
00383
00384 { UI_WINDOW_ACT_CHANGED, "ui-window-act-changed", {
00385 QUERY_ARG_WINDOW,
00386 QUERY_ARG_END } },
00387
00388 { UI_WINDOW_CLEAR, "ui-window-clear", {
00389 QUERY_ARG_WINDOW,
00390 QUERY_ARG_END } },
00391
00392 { UI_WINDOW_KILL, "ui-window-kill", {
00393 QUERY_ARG_WINDOW,
00394 QUERY_ARG_END } },
00395
00396 { UI_WINDOW_NEW, "ui-window-new", {
00397 QUERY_ARG_WINDOW,
00398 QUERY_ARG_END } },
00399
00400 { UI_WINDOW_PRINT, "ui-window-print", {
00401 QUERY_ARG_WINDOW,
00402 QUERY_ARG_FSTRING,
00403 QUERY_ARG_END } },
00404
00405 { UI_WINDOW_REFRESH, "ui-window-refresh", {
00406 QUERY_ARG_END } },
00407
00408 { UI_WINDOW_SWITCH, "ui-window-switch", {
00409 QUERY_ARG_WINDOW,
00410 QUERY_ARG_END } },
00411
00412 { UI_WINDOW_TARGET_CHANGED , "ui-window-target-changed", {
00413 QUERY_ARG_WINDOW,
00414 QUERY_ARG_END } },
00415
00416
00417 { GPG_MESSAGE_ENCRYPT, "gpg-message-encrypt", {
00418 QUERY_ARG_END } },
00419
00420 { GPG_MESSAGE_DECRYPT, "gpg-message-decrypt", {
00421 QUERY_ARG_END } },
00422
00423 { GPG_SIGN, "gpg-sign", {
00424 QUERY_ARG_END } },
00425
00426 { GPG_VERIFY, "gpg-verify", {
00427 QUERY_ARG_END } },
00428
00429 { UI_WINDOW_UPDATE_LASTLOG, "ui-window-update-lastlog", {
00430 QUERY_ARG_END } },
00431
00432 { SESSION_EVENT, "session-event", {
00433 QUERY_ARG_SESSION,
00434 QUERY_ARG_INT,
00435 QUERY_ARG_END } },
00436
00437 { UI_REFRESH, "ui-refresh", {
00438 QUERY_ARG_END } },
00439
00440 { PROTOCOL_TYPING_OUT, "protocol-typing-out", {
00441 QUERY_ARG_CHARP,
00442 QUERY_ARG_CHARP,
00443 QUERY_ARG_INT,
00444 QUERY_ARG_INT,
00445
00446 QUERY_ARG_END } },
00447
00448 { UI_PASSWORD_INPUT, "ui-password-input", {
00449 QUERY_ARG_CHARP,
00450 QUERY_ARG_CHARP,
00451 QUERY_ARG_CHARP,
00452 QUERY_ARG_END } },
00453
00454 { PROTOCOL_DISCONNECTING, "protocol-disconnecting", {
00455
00456 QUERY_ARG_CHARP,
00457 QUERY_ARG_END } },
00458
00459 { USERLIST_REFRESH, "userlist-refresh", {
00460 QUERY_ARG_END } },
00461 };
00462
00463
00464
00465
00466
00467
00468 static list_t queries_external;
00469 static int queries_count = QUERY_EXTERNAL;
00470 #else
00471
00472 extern struct query_def query_list[];
00473
00474 #endif
00475
00476 #ifdef __cplusplus
00477 }
00478 #endif
00479
00480 #endif
00481