#ifndef DISPATCHER_H #define DISPATCHER_H #include #include #include #include #include #include #include "handler.h" #include "defaulthandler.h" #include namespace W { class Dispatcher: public QObject { Q_OBJECT public: Dispatcher(); ~Dispatcher(); void registerHandler(W::Handler* dp); void unregisterHandler(W::Handler* dp); void registerDefaultHandler(W::DefaultHandler* dh); void unregisterDefaultHandler(W::DefaultHandler* dh); public slots: void pass(const W::Event& ev) const; protected: typedef std::map> n_map; typedef W::Order d_order; n_map nodes; d_order defaultHandlers; }; } #endif // DISPATCHER_H