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