ctkEventBus.h 594 B

123456789101112131415161718192021222324252627282930
  1. #ifndef CTKEVENTBUS_H
  2. #define CTKEVENTBUS_H
  3. #include "ctkEvent.h"
  4. namespace ctk {
  5. class EventBus {
  6. public:
  7. typedef QMap<QString, QVariant> Properties;
  8. virtual ~EventBus() {}
  9. virtual void postEvent(const Event& event) = 0;
  10. virtual void sendEvent(const Event& event) = 0;
  11. virtual void publishSignal(const QObject* publisher, const char* signal) = 0;
  12. virtual void subscribeSlot(const QObject* subscriber, const char* member, const Properties& properties) = 0;
  13. };
  14. }
  15. Q_DECLARE_INTERFACE(ctk::EventBus, "org.commontk.core.EventBus")
  16. #endif // CTKEVENTBUS_H