// // Copyright (c) ZeroC, Inc. All rights reserved. // #ifndef ICEGRID_PLUGIN_FACADE_I_H #define ICEGRID_PLUGIN_FACADE_I_H #include namespace IceGrid { class Database; class RegistryPluginFacadeI : public RegistryPluginFacade { public: ApplicationInfo getApplicationInfo(const ::std::string&) const override; ServerInfo getServerInfo(const std::string&) const override; std::string getAdapterServer(const std::string&) const override; std::string getAdapterApplication(const std::string&) const override; std::string getAdapterNode(const std::string&) const override; AdapterInfoSeq getAdapterInfo(const ::std::string&) const override; ObjectInfo getObjectInfo(const Ice::Identity&) const override; NodeInfo getNodeInfo(const std::string&) const override; LoadInfo getNodeLoad(const std::string&) const override; std::string getPropertyForAdapter(const std::string&, const std::string&) const override; void addReplicaGroupFilter(const std::string&, const std::shared_ptr&) noexcept override; bool removeReplicaGroupFilter(const std::string&, const std::shared_ptr&) noexcept override; void addTypeFilter(const std::string&, const std::shared_ptr&) noexcept override; bool removeTypeFilter(const std::string&, const std::shared_ptr&) noexcept override; std::vector> getReplicaGroupFilters(const std::string&) const; bool hasReplicaGroupFilters() const; std::vector> getTypeFilters(const std::string&) const; bool hasTypeFilters() const; void setDatabase(const std::shared_ptr&); private: std::shared_ptr _database; std::map> > _replicaGroupFilters; std::map> > _typeFilters; mutable std::mutex _mutex; }; } #endif