diff options
author | Niklas Halle <niklas@niklashalle.net> | 2020-08-28 20:22:40 +0200 |
---|---|---|
committer | Niklas Halle <niklas@niklashalle.net> | 2020-08-28 20:22:40 +0200 |
commit | 7a03c9340b6b53c2505c7cd26fa3aede0cf14603 (patch) | |
tree | 34fd1f2ce8eb73e0492edb5370f25022eb66d5eb | |
parent | da8246e8efece2397440a59c6011c4f832baa7b8 (diff) | |
download | n_core-7a03c9340b6b53c2505c7cd26fa3aede0cf14603.tar.gz n_core-7a03c9340b6b53c2505c7cd26fa3aede0cf14603.zip |
triesfeature/fix_help
-rw-r--r-- | include/Handler.hpp | 13 | ||||
-rw-r--r-- | src/Handler.cpp | 9 | ||||
-rw-r--r-- | src/main.cpp | 10 |
3 files changed, 17 insertions, 15 deletions
diff --git a/include/Handler.hpp b/include/Handler.hpp index 1ae84d1..c22abe5 100644 --- a/include/Handler.hpp +++ b/include/Handler.hpp @@ -14,20 +14,15 @@ namespace Handler { typedef std::function<std::vector<json>()> description_function; struct CommandHandler { - CommandHandler(std::string command, handler_function *func, description_function *desc, void *payload = nullptr); + CommandHandler(std::string command, handler_function func, description_function desc, void *payload = nullptr); - CommandHandler(CommandHandler &&o) noexcept { - command = std::move(o.command); - func = std::move(o.func); - get_description = std::move(get_description); - payload = o.payload; - }; + CommandHandler(CommandHandler &&o) noexcept; [[nodiscard]] json exec(std::string const &arguments, std::string const &session) const; std::string command; - handler_function *func{nullptr}; - description_function *get_description{nullptr}; + handler_function func{nullptr}; + description_function get_description{nullptr}; void *payload{nullptr}; }; diff --git a/src/Handler.cpp b/src/Handler.cpp index f2492fc..9f8bc4f 100644 --- a/src/Handler.cpp +++ b/src/Handler.cpp @@ -19,6 +19,13 @@ Handler::json Handler::CommandHandler::exec(const std::string &arguments, const return func(arguments, session, payload); } -Handler::CommandHandler::CommandHandler(std::string command, Handler::handler_function *func, description_function *desc, +Handler::CommandHandler::CommandHandler(std::string command, Handler::handler_function func, description_function desc, void *payload) : command{std::move(command)}, func{func}, get_description{desc}, payload{payload} {} + +Handler::CommandHandler::CommandHandler(Handler::CommandHandler &&o) noexcept { + command = o.command; + func = o.func; + get_description = o.get_description; + payload = o.payload; +} diff --git a/src/main.cpp b/src/main.cpp index b1c71e7..8a8e4ba 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -27,24 +27,24 @@ int main() { // command --> handler std::vector<Handler::CommandHandler> commands; commands.emplace_back( - Handler::CommandHandler{"wiki", &Handler::wikiHandler, [createPlainDescriptionFromText]() { + Handler::CommandHandler{"wiki", Handler::wikiHandler, [createPlainDescriptionFromText]() { return createPlainDescriptionFromText("Sends you to Wikipedia!"); }}); commands.emplace_back( - Handler::CommandHandler{"stop", &Handler::stopHandler, [createPlainDescriptionFromText]() { + Handler::CommandHandler{"stop", Handler::stopHandler, [createPlainDescriptionFromText]() { return createPlainDescriptionFromText("Stops the bot"); }, &app}); commands.emplace_back( - Handler::CommandHandler{"mensa", &Handler::mensaHandler, [createPlainDescriptionFromText]() { + Handler::CommandHandler{"mensa", Handler::mensaHandler, [createPlainDescriptionFromText]() { return createPlainDescriptionFromText( "{adlershof, nord, sued} Shows the daily menu of the mensa at various places."); }}); commands.emplace_back( - Handler::CommandHandler{"klinger", &Handler::klingerHandler, [createPlainDescriptionFromText]() { + Handler::CommandHandler{"klinger", Handler::klingerHandler, [createPlainDescriptionFromText]() { return createPlainDescriptionFromText("Greats in french. Bonjour!"); }}); commands.emplace_back( - Handler::CommandHandler{"say", &Handler::sayHandler, [createPlainDescriptionFromText]() { + Handler::CommandHandler{"say", Handler::sayHandler, [createPlainDescriptionFromText]() { return createPlainDescriptionFromText("Say something!"); }}); commands.emplace_back( |