1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/lsylovews-CM-Server

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
event.h 1012
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
lsylovews Отправлено 22.02.2019 15:22 e234e9a
#ifndef EVENT_H
#define EVENT_H
#include"object.h"
#include"slotlistener.h"
#include"Json/value.h"
#include<iostream>
#include<functional>
#define SEL_EVENTFUNC(func) static_cast<SEL_EventFunc>(&func)
typedef void (Object::*SEL_EventFunc)(Json::Value&);
typedef struct _Event{
Object* handler;
SEL_EventFunc func;
}EventHandler;
class Slot
{
public:
Slot(SlotListener* listener, const EventHandler& evh, const bool& once = false);
Slot(SlotListener* listener,const std::function<void(Json::Value&)>& func, const bool& once = false);
virtual ~Slot() {}
virtual void dispatch(Json::Value& message);
bool operator==(const Slot& slot);
long long int getId() const;
void remove();
private:
long long int id;
bool flag = 0;
EventHandler evh;
std::function<void(Json::Value&)> func;
bool once;
SlotListener* listener;
static long long int count;
};
EventHandler handler(Object* obj, SEL_EventFunc func);
#endif // EVENT_H

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/lsylovews-CM-Server.git
git@api.gitlife.ru:oschina-mirror/lsylovews-CM-Server.git
oschina-mirror
lsylovews-CM-Server
lsylovews-CM-Server
master