summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorancarola <raffaele.ancarola@epfl.ch>2019-01-31 17:49:16 +0100
committerancarola <raffaele.ancarola@epfl.ch>2019-01-31 17:49:16 +0100
commitf3b28a160f59e1e8687ef88af793de2383b9597a (patch)
tree792a0e812058ef0dbe746e3b1f1e584fb9d84921
parentIt compiles (diff)
downloadflatland-f3b28a160f59e1e8687ef88af793de2383b9597a.tar.gz
flatland-f3b28a160f59e1e8687ef88af793de2383b9597a.zip
Little fixes
-rw-r--r--engine/include/core/signal.hpp7
-rw-r--r--test/signal_test.cpp14
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;
}
};