aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorset <set>2020-08-28 15:10:57 +0200
committerset <set>2020-08-28 15:10:57 +0200
commit66fe7376737aac50bac4e080b6a71ecddfb553ad (patch)
tree2c62d5b078a43e3e9c1da81308c9dabbd7796bb9
parentef986b137f2b5481d35a3b51cf79c4536e06dae8 (diff)
downloadn_core-66fe7376737aac50bac4e080b6a71ecddfb553ad.tar.gz
n_core-66fe7376737aac50bac4e080b6a71ecddfb553ad.zip
make description function pointer, so move should leave it be (hopefully)
-rw-r--r--include/Handler.hpp8
-rw-r--r--src/Handler.cpp4
-rw-r--r--src/main.cpp10
3 files changed, 11 insertions, 11 deletions
diff --git a/include/Handler.hpp b/include/Handler.hpp
index 37f281c..1ae84d1 100644
--- a/include/Handler.hpp
+++ b/include/Handler.hpp
@@ -14,7 +14,7 @@ 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);
@@ -26,10 +26,10 @@ namespace Handler {
[[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};
};
std::vector<std::string> tokenizeArguments(std::string const &arguments, std::string const &delimiter = " ");
-} \ No newline at end of file
+}
diff --git a/src/Handler.cpp b/src/Handler.cpp
index a26ee8a..f2492fc 100644
--- a/src/Handler.cpp
+++ b/src/Handler.cpp
@@ -19,6 +19,6 @@ 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{std::move(func)}, get_description{std::move(desc)}, payload{payload} {}
+ : command{std::move(command)}, func{func}, get_description{desc}, payload{payload} {}
diff --git a/src/main.cpp b/src/main.cpp
index 8a8e4ba..b1c71e7 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(