#ifndef VIRTUALENDPOINT_H #define VIRTUALENDPOINT_H namespace icinga { class I2_ICINGA_API VirtualEndpoint : public Endpoint { private: map< string, event > m_MethodHandlers; list m_MethodSources; public: typedef shared_ptr Ptr; typedef weak_ptr WeakPtr; VirtualEndpoint(); virtual void RegisterMethodHandler(string method, function callback); virtual void UnregisterMethodHandler(string method, function callback); virtual void RegisterMethodSource(string method); virtual void UnregisterMethodSource(string method); virtual void SendMessage(Endpoint::Ptr source, JsonRpcMessage::Ptr message); }; } #endif /* VIRTUALENDPOINT_H */