#include "ElaEventBusPrivate.h" #include "ElaEventBus.h" ElaEventPrivate::ElaEventPrivate(QObject *parent) : QObject{parent} {} ElaEventPrivate::~ElaEventPrivate() {} ElaEventBusPrivate::ElaEventBusPrivate(QObject *parent) : QObject{parent} {} ElaEventBusPrivate::~ElaEventBusPrivate() {} ElaEventBusType::EventBusReturnType ElaEventBusPrivate::registerEvent(ElaEvent *event) { if (!event) { return ElaEventBusType::EventBusReturnType::EventInvalid; } if (event->getEventName().isEmpty()) { return ElaEventBusType::EventBusReturnType::EventNameInvalid; } if (_eventMap.contains(event->getEventName())) { QList eventList = _eventMap.value(event->getEventName()); if (eventList.contains(event)) { return ElaEventBusType::EventBusReturnType::EventInvalid; } eventList.append(event); _eventMap[event->getEventName()] = eventList; } else { QList eventList; eventList.append(event); _eventMap.insert(event->getEventName(), eventList); } return ElaEventBusType::EventBusReturnType::Success; } void ElaEventBusPrivate::unRegisterEvent(ElaEvent *event) { if (!event) { return; } if (event->getEventName().isEmpty()) { return; } if (_eventMap.contains(event->getEventName())) { if (_eventMap[event->getEventName()].count() == 1) { _eventMap.remove(event->getEventName()); } else { QList eventList = _eventMap.value(event->getEventName()); eventList.removeOne(event); _eventMap[event->getEventName()] = eventList; } } }