diff options
author | ancarola <raffaele.ancarola@epfl.ch> | 2019-01-31 17:49:16 +0100 |
---|---|---|
committer | ancarola <raffaele.ancarola@epfl.ch> | 2019-01-31 17:49:16 +0100 |
commit | f3b28a160f59e1e8687ef88af793de2383b9597a (patch) | |
tree | 792a0e812058ef0dbe746e3b1f1e584fb9d84921 | |
parent | It compiles (diff) | |
download | flatland-f3b28a160f59e1e8687ef88af793de2383b9597a.tar.gz flatland-f3b28a160f59e1e8687ef88af793de2383b9597a.zip |
Little fixes
-rw-r--r-- | engine/include/core/signal.hpp | 7 | ||||
-rw-r--r-- | test/signal_test.cpp | 14 |
2 files changed, 11 insertions, 10 deletions
diff --git a/engine/include/core/signal.hpp b/engine/include/core/signal.hpp index fab1eaa..9ba84ab 100644 --- a/engine/include/core/signal.hpp +++ b/engine/include/core/signal.hpp @@ -65,11 +65,12 @@ namespace flat std::tuple<Args...> args; - signal( Args&& ... args, + signal( Args ... args, const std::string& id = "", priority_t prior = priority_t::none) - : abstract_signal(id, prior), args(std::forward<Args>(args)...) + : abstract_signal(id, prior), + args(std::forward<Args>(args)...) { } @@ -96,7 +97,7 @@ namespace flat void add_filter(const std::string&); void remove_filter(const std::string&); - virtual void invoke(const abstract_signal *) = 0; + virtual bool invoke(const abstract_signal *) = 0; }; /* Listener class */ diff --git a/test/signal_test.cpp b/test/signal_test.cpp index 96bc305..cc8b91b 100644 --- a/test/signal_test.cpp +++ b/test/signal_test.cpp @@ -25,30 +25,30 @@ public: void send() { - signal msg(this, "", (void*)message); + signal<const char*> msg(message); chan->emit(msg); } }; -void function_listener(const object*, core::signal::package msg) +void function_listener(const char *msg) { - cout << "Funzione: " << msg.get<const char>() << endl; + cout << "Funzione: " << msg << endl; } class c_listener { - listener::ptr lis; + listener<const char*>::ptr lis; public: c_listener(channel::ptr chan) { - lis = chan->connect(&c_listener::method_listener, this); + lis = chan->connect(&c_listener::method_listener, *this); } - void method_listener(const object *o, signal::package msg) + void method_listener(const char *msg) { - cout << "Metodo" << msg.get<const char>() << endl; + cout << "Metodo: " << msg << endl; } }; |