// // Copyright (c) ZeroC, Inc. All rights reserved. // #ifndef ICE_GRID_ADMIN_CALLBACK_ROUTER_H #define ICE_GRID_ADMIN_CALLBACK_ROUTER_H #include #include #include namespace IceGrid { // // The AdminCallbackRouter routes callbacks from the servers, nodes etc. to the // admin clients using the admin-client => registry connection. // class AdminCallbackRouter : public Ice::BlobjectArrayAsync { public: void addMapping(const std::string&, const std::shared_ptr&); void removeMapping(const std::string&); void ice_invokeAsync(std::pair, std::function&)>, std::function, const Ice::Current& current) override; private: std::mutex _mutex; std::map> _categoryToConnection; }; } #endif