/* C X-macro file */ #define XMPPCOMMANDS \ XMPP_COMMAND(StatusCallback, XMPPCMD_ALL, "stats", "Get Parsee statistics", {}) \ XMPP_COMMAND(CleanCallback, XMPPCMD_ADMINS, "clean", "Cleanup temporary Parsee data", {}) \ XMPP_COMMAND(AdminsCallback, XMPPCMD_ALL, "admin", "Get Parsee admin list", {}) \ XMPP_COMMAND(NoflyCallback, XMPPCMD_ADMINS, "nofly", "Get Parsee nofly list", {}) \ XMPP_COMMAND(AddAdminCallback, XMPPCMD_ADMINS, "add-admin", "Adds glob as admin", { \ XMPPOption *glob = XMPPCreateText(true, "glob", ""); \ XMPPSetDescription(glob, "Glob pattern to set as admin"); \ XMPPAddOption(cmd, glob); \ \ XMPPSetFormTitle(cmd, "Admin addition form"); \ XMPPSetFormInstruction(cmd, "Select a glob pattern to add as an admin"); \ }) \ XMPP_COMMAND(DelAdminCallback, XMPPCMD_ADMINS, "del-admin", "Removes glob from being admin", { \ XMPPCmdOptionsCreator(cmd, FormDelAdminCallback); \ XMPPSetFormTitle(cmd, "Admin removal form"); \ XMPPSetFormInstruction(cmd, "Select a glob pattern to remove as an admin"); \ }) \ XMPP_COMMAND(AddNoflyCallback, XMPPCMD_ADMINS, "add-nofly", "Adds user to nofly", { \ XMPPOption *entity = XMPPCreateText(true, "entity", ""); \ XMPPOption *reason = XMPPCreateText(false, "reason", "Not behaving"); \ XMPPSetDescription(entity, "Entity(glob) to no-fly"); \ XMPPAddOption(cmd, entity); \ XMPPSetDescription(reason, "Reason for the no-fly"); \ XMPPAddOption(cmd, reason); \ \ XMPPSetFormTitle(cmd, "No-fly addition form"); \ XMPPSetFormInstruction(cmd, "Select a glob pattern to add to the nofly"); \ }) \ XMPP_COMMAND(ClearWhitelistCallback, XMPPCMD_ADMINS, "clear-wl", "Removes the chat whitelist", {}) \ XMPP_COMMAND(AddWhitelistCallback, XMPPCMD_ADMINS, "add-wl", "Adds server to chat whitelist", { \ XMPPOption *serv = XMPPCreateText(true, "entity", ""); \ XMPPSetDescription(serv, "Server to mark as admin"); \ XMPPAddOption(cmd, serv); \ \ XMPPSetFormTitle(cmd, "Chatlist addition form"); \ XMPPSetFormInstruction(cmd, "Add a server to whitelist"); \ }) \ XMPP_COMMAND(WhitelistCallback, XMPPCMD_ADMINS, "wl", "Get Parsee's chat whitelist", {}) \ XMPP_COMMAND(MUCInformationID, XMPPCMD_MUC, "muc-info-id", "Get bridged Matrix room ID", {}) \ XMPP_COMMAND(MUCInformationCID, XMPPCMD_MUC, "muc-info-cid", "Get MUC's internal ID", {}) \ XMPP_COMMAND(MUCUnlink, XMPPCMD_MUC, "muc-unlink", "Unlinks MUC", {}) \ XMPP_COMMAND(MUCSetKey, XMPPCMD_MUC, "muc-set-key", "Sets a key within the MUC/room's context", { \ XMPPOption *key = XMPPCreateText(true, "key", ""); \ XMPPOption *val = XMPPCreateText(true, "val", ""); \ XMPPSetDescription(key, "Key"); \ XMPPSetDescription(val, "Value"); \ XMPPAddOption(cmd, key); \ XMPPAddOption(cmd, val); \ \ XMPPSetFormTitle(cmd, "Set a key-value pair"); \ XMPPSetFormInstruction(cmd, "Replace a key with a specific value"); \ }) \ XMPP_COMMAND(MUCGetKeys, XMPPCMD_MUC, "muc-get-keys", "Get all key-values in the MUC/room.", {}) \ XMPPCOMMANDS