X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fctables.h;h=7bd73448c7ce3ed32ddcf5972780a7044af8166d;hb=5ee7322040d501fe55853453caa230f4550313c3;hp=e8a3337fd2b6e23959ff7988931a7835bd2cd9ac;hpb=9a7826b0e864e1f4cb1cfa024b0d6e480af753d3;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/ctables.h b/include/ctables.h index e8a3337fd..7bd73448c 100644 --- a/include/ctables.h +++ b/include/ctables.h @@ -33,6 +33,15 @@ enum CmdResult CMD_USER_DELETED = 3 /* User was deleted - DEPRECIATED */ }; +enum TranslateType +{ + TR_END, /* End of known parameters, everything after this is TR_TEXT */ + TR_TEXT, /* Raw text, leave as-is */ + TR_NICK, /* Nickname, translate to UUID for server->server */ + TR_NICKLIST, /* Comma seperated nickname list, translate to UUIDs */ + TR_SPACENICKLIST /* Space seperated nickname list, translate to UUIDs */ +}; + /** For commands which should not be replicated to other * servers, we usually return CMD_FAILURE. this isnt readable, * so we define this alias for CMD_FAILURE called @@ -81,6 +90,8 @@ class CoreExport command_t : public Extensible */ std::string syntax; + std::vector translation; + /** Create a new command. * @param Instance Pointer to creator class * @param cmd Command name. This must be UPPER CASE. @@ -97,6 +108,7 @@ class CoreExport command_t : public Extensible total_bytes = 0; source = ""; syntax = ""; + translation.clear(); } /** Handle the command from a user. @@ -168,5 +180,18 @@ class CoreExport command_t : public Extensible */ typedef nspace::hash_map command_table; +#define TRANSLATE1(x1) translation.push_back(x1); +#define TRANSLATE2(x1,x2) translation.push_back(x1);translation.push_back(x2); +#define TRANSLATE3(x1,x2,x3) translation.push_back(x1);translation.push_back(x2);translation.push_back(x3); +#define TRANSLATE4(x1,x2,x3,x4) translation.push_back(x1);translation.push_back(x2);translation.push_back(x3);translation.push_back(x4); +#define TRANSLATE5(x1,x2,x3,x4,x5) translation.push_back(x1);translation.push_back(x2);translation.push_back(x3);translation.push_back(x4);\ + translation.push_back(x5); +#define TRANSLATE6(x1,x2,x3,x4,x5,x6) translation.push_back(x1);translation.push_back(x2);translation.push_back(x3);translation.push_back(x4);\ + translation.push_back(x5);translation.push_back(x6); +#define TRANSLATE7(x1,x2,x3,x4,x5,x6,x7) translation.push_back(x1);translation.push_back(x2);translation.push_back(x3);translation.push_back(x4);\ + translation.push_back(x5);translation.push_back(x6);translation.push_back(x7); +#define TRANSLATE8(x1,x2,x3,x4,x5,x6,x7,x8) translation.push_back(x1);translation.push_back(x2);translation.push_back(x3);translation.push_back(x4);\ + translation.push_back(x5);translation.push_back(x6);translation.push_back(x7);translation.push_back(x8); + #endif