// // Copyright (c) ZeroC, Inc. All rights reserved. // #ifndef TRANSIENT_TOPIC_MANAGER_I_H #define TRANSIENT_TOPIC_MANAGER_I_H #include namespace IceStorm { class Instance; class TransientTopicImpl; class TransientTopicManagerImpl final : public TopicManagerInternal { public: TransientTopicManagerImpl(std::shared_ptr); // TopicManager methods. std::shared_ptr create(std::string, const Ice::Current&) override; std::shared_ptr retrieve(std::string, const Ice::Current&) override; TopicDict retrieveAll(const Ice::Current&) override; std::shared_ptr getReplicaNode(const Ice::Current&) const override; void reap(); void shutdown(); private: const std::shared_ptr _instance; std::map> _topics; std::mutex _mutex; }; } // End namespace IceStorm #endif