#ifndef CONNECTIONMANAGER_H #define CONNECTIONMANAGER_H namespace icinga { class ConnectionManager : public Object { list m_Servers; list m_Clients; map< string, event > m_Methods; int NewClientHandler(NewClientEventArgs::RefType ncea); int CloseClientHandler(EventArgs::RefType ea); int NewMessageHandler(NewMessageEventArgs::RefType nmea); public: typedef shared_ptr RefType; typedef weak_ptr WeakRefType; void RegisterServer(JsonRpcServer::RefType server); void UnregisterServer(JsonRpcServer::RefType server); void RegisterClient(JsonRpcClient::RefType client); void UnregisterClient(JsonRpcClient::RefType client); void RegisterMethod(string method, function function); void UnregisterMethod(string method, function function); void SendMessage(JsonRpcMessage::RefType message); }; } #endif /* CONNECTIONMANAGER_H */