Replace Listenable system by signals

Former-commit-id: 16fb0b3e703ca4b41ceb97fab938cebb05f677d4
This commit is contained in:
Lynix
2015-06-07 15:16:11 +02:00
parent 3e8d2e1e47
commit fe25249136
24 changed files with 182 additions and 348 deletions

View File

@@ -11,6 +11,16 @@
#include <memory>
#include <vector>
#define NazaraSignal(SignalName, ...) using SignalName ## Type = NzSignal<__VA_ARGS__>; \
mutable SignalName ## Type SignalName
#define NazaraSlotType(Class, SignalName) Class::SignalName ## Type::ConnectionGuard
#define NazaraSlot(Class, SignalName, SlotName) NazaraSlotType(Class, SignalName) SlotName
#define NazaraConnect(Instance, SignalName, Callback) (Instance).SignalName.Connect(this, Callback)
#define NazaraDisconnect(SlotName) SlotName.GetConnection().Disconnect()
template<typename... Args>
class NzSignal
{