summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/ObjectAdapterFactory.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/ObjectAdapterFactory.h')
-rw-r--r--cpp/src/Ice/ObjectAdapterFactory.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/cpp/src/Ice/ObjectAdapterFactory.h b/cpp/src/Ice/ObjectAdapterFactory.h
index 6434a25b178..d9e52a9a7bb 100644
--- a/cpp/src/Ice/ObjectAdapterFactory.h
+++ b/cpp/src/Ice/ObjectAdapterFactory.h
@@ -19,7 +19,7 @@
namespace IceInternal
{
-class ObjectAdapterFactory : public ::IceUtil::Shared, public ::IceUtil::Monitor< ::IceUtil::RecMutex>
+class ObjectAdapterFactory : public ICE_ENABLE_SHARED_FROM_THIS(ObjectAdapterFactory), public ::IceUtil::Monitor< ::IceUtil::RecMutex>
{
public:
@@ -30,15 +30,16 @@ public:
void updateObservers(void (Ice::ObjectAdapterI::*)());
- ::Ice::ObjectAdapterPtr createObjectAdapter(const std::string&, const Ice::RouterPrx&);
- ::Ice::ObjectAdapterPtr findObjectAdapter(const ::Ice::ObjectPrx&);
+ ::Ice::ObjectAdapterPtr createObjectAdapter(const std::string&, const Ice::RouterPrxPtr&);
+ ::Ice::ObjectAdapterPtr findObjectAdapter(const ::Ice::ObjectPrxPtr&);
void removeObjectAdapter(const ::Ice::ObjectAdapterPtr&);
void flushAsyncBatchRequests(const CommunicatorFlushBatchAsyncPtr&) const;
-private:
-
ObjectAdapterFactory(const InstancePtr&, const ::Ice::CommunicatorPtr&);
virtual ~ObjectAdapterFactory();
+
+private:
+
friend class Instance;
InstancePtr _instance;