Слияние кода завершено, страница обновится автоматически
#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 )