TransientTopicManagerI.h
Go to the documentation of this file.
1// **********************************************************************
2//
3// Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
4//
5// This copy of Ice is licensed to you under the terms described in the
6// ICE_LICENSE file included in this distribution.
7//
8// **********************************************************************
9
10#ifndef TRANSIENT_TOPIC_MANAGER_I_H
11#define TRANSIENT_TOPIC_MANAGER_I_H
12
14
15namespace IceStorm
16{
17
18 //
19 // Forward declarations.
20 //
21 class Instance;
22 typedef IceUtil::Handle<Instance> InstancePtr;
23
25 typedef IceUtil::Handle<TransientTopicImpl> TransientTopicImplPtr;
26
27 //
28 // TopicManager implementation.
29 //
30 class TransientTopicManagerImpl : public TopicManagerInternal, public IceUtil::Mutex
31 {
32 public:
35
36 // TopicManager methods.
37 virtual TopicPrx create(const std::string&, const Ice::Current&);
38 virtual TopicPrx retrieve(const std::string&, const Ice::Current&) const;
39 virtual TopicDict retrieveAll(const Ice::Current&) const;
40 virtual Ice::SliceChecksumDict getSliceChecksums(const Ice::Current&) const;
41 virtual IceStormElection::NodePrx getReplicaNode(const Ice::Current&) const;
42
43 void reap();
44
45 void shutdown();
46
47 Ice::ObjectPtr getServant() const;
48
49 private:
50 const InstancePtr _instance;
51 std::map<std::string, TransientTopicImplPtr> _topics;
52 };
53
55
56} // End namespace IceStorm
57
58#endif
Internal operations for a topic manager.
idempotent IceStormElection::Node * getReplicaNode()
Return the replica node proxy for this topic manager.
virtual TopicDict retrieveAll(const Ice::Current &) const
Ice::ObjectPtr getServant() const
virtual TopicPrx create(const std::string &, const Ice::Current &)
virtual Ice::SliceChecksumDict getSliceChecksums(const Ice::Current &) const
virtual TopicPrx retrieve(const std::string &, const Ice::Current &) const
::IceInternal::ProxyHandle<::IceProxy::IceStormElection::Node > NodePrx
Definition Election.h:1210
IceUtil::Handle< TransientTopicManagerImpl > TransientTopicManagerImplPtr
::IceInternal::ProxyHandle<::IceProxy::IceStorm::Topic > TopicPrx
Definition IceManager.h:70
IceUtil::Handle< Instance > InstancePtr
Definition Instance.h:128
IceUtil::Handle< TransientTopicImpl > TransientTopicImplPtr