summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/CommunicatorI.h
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2015-12-01 17:36:19 +0100
committerJose <jose@zeroc.com>2015-12-01 17:36:19 +0100
commit2029ff368e49fae489b8ec8fc12f7d126b182dfb (patch)
tree6075d652b7851831c39e6f22004d8720864f1a60 /cpp/src/Ice/CommunicatorI.h
parentThe default LMDB map size for IceGrid and IceStorm is now 10MB (Windows) (diff)
downloadice-2029ff368e49fae489b8ec8fc12f7d126b182dfb.tar.bz2
ice-2029ff368e49fae489b8ec8fc12f7d126b182dfb.tar.xz
ice-2029ff368e49fae489b8ec8fc12f7d126b182dfb.zip
C++11 mapping initial commit
Diffstat (limited to 'cpp/src/Ice/CommunicatorI.h')
-rw-r--r--cpp/src/Ice/CommunicatorI.h49
1 files changed, 34 insertions, 15 deletions
diff --git a/cpp/src/Ice/CommunicatorI.h b/cpp/src/Ice/CommunicatorI.h
index 373a56c316e..d0ba4285695 100644
--- a/cpp/src/Ice/CommunicatorI.h
+++ b/cpp/src/Ice/CommunicatorI.h
@@ -20,30 +20,39 @@
namespace Ice
{
-class CommunicatorI : public Communicator
+class CommunicatorI;
+ICE_DEFINE_PTR(CommunicatorIPtr, CommunicatorI);
+
+class CommunicatorI : public ICE_ENABLE_SHARED_FROM_THIS(CommunicatorI),
+ public Communicator
{
public:
-
+
virtual void destroy();
virtual void shutdown();
virtual void waitForShutdown();
virtual bool isShutdown() const;
- virtual ObjectPrx stringToProxy(const std::string&) const;
- virtual std::string proxyToString(const ObjectPrx&) const;
+ virtual ObjectPrxPtr stringToProxy(const std::string&) const;
+ virtual std::string proxyToString(const ObjectPrxPtr&) const;
- virtual ObjectPrx propertyToProxy(const std::string&) const;
- virtual PropertyDict proxyToProperty(const ObjectPrx&, const std::string&) const;
+ virtual ObjectPrxPtr propertyToProxy(const std::string&) const;
+ virtual PropertyDict proxyToProperty(const ObjectPrxPtr&, const std::string&) const;
virtual Identity stringToIdentity(const std::string&) const;
virtual std::string identityToString(const Identity&) const;
virtual ObjectAdapterPtr createObjectAdapter(const std::string&);
virtual ObjectAdapterPtr createObjectAdapterWithEndpoints(const std::string&, const std::string&);
- virtual ObjectAdapterPtr createObjectAdapterWithRouter(const std::string&, const RouterPrx&);
+ virtual ObjectAdapterPtr createObjectAdapterWithRouter(const std::string&, const RouterPrxPtr&);
+#ifdef ICE_CPP11_MAPPING
+ virtual void addObjectFactory(std::function<std::shared_ptr<Ice::Value> (const std::string&)>, const std::string&);
+ virtual std::function<::std::shared_ptr<Ice::Value> (const std::string&)> findObjectFactory(const std::string&) const;
+#else
virtual void addObjectFactory(const ObjectFactoryPtr&, const std::string&);
virtual ObjectFactoryPtr findObjectFactory(const std::string&) const;
+#endif
virtual ImplicitContextPtr getImplicitContext() const;
@@ -51,16 +60,23 @@ public:
virtual LoggerPtr getLogger() const;
virtual Ice::Instrumentation::CommunicatorObserverPtr getObserver() const;
- virtual RouterPrx getDefaultRouter() const;
- virtual void setDefaultRouter(const RouterPrx&);
+ virtual RouterPrxPtr getDefaultRouter() const;
+ virtual void setDefaultRouter(const RouterPrxPtr&);
- virtual LocatorPrx getDefaultLocator() const;
- virtual void setDefaultLocator(const LocatorPrx&);
+ virtual LocatorPrxPtr getDefaultLocator() const;
+ virtual void setDefaultLocator(const LocatorPrxPtr&);
virtual PluginManagerPtr getPluginManager() const;
virtual void flushBatchRequests();
+#ifdef ICE_CPP11_MAPPING
+ virtual ::std::function<void ()>
+ flushBatchRequests_async(
+ ::std::function<void ()> completed,
+ ::std::function<void (std::exception_ptr)> exception = nullptr,
+ ::std::function<void (bool)> sent = nullptr);
+#else
virtual AsyncResultPtr begin_flushBatchRequests();
virtual AsyncResultPtr begin_flushBatchRequests(const CallbackPtr&, const LocalObjectPtr& = 0);
virtual AsyncResultPtr begin_flushBatchRequests(const Callback_Communicator_flushBatchRequestsPtr&,
@@ -71,18 +87,21 @@ public:
const IceInternal::Function<void (bool)>& = IceInternal::Function<void (bool)>());
virtual void end_flushBatchRequests(const AsyncResultPtr&);
+#endif
- virtual ObjectPrx createAdmin(const ObjectAdapterPtr&, const Identity&);
- virtual ObjectPrx getAdmin() const;
+ virtual ObjectPrxPtr createAdmin(const ObjectAdapterPtr&, const Identity&);
+ virtual ObjectPrxPtr getAdmin() const;
virtual void addAdminFacet(const ObjectPtr&, const std::string&);
virtual ObjectPtr removeAdminFacet(const std::string&);
virtual ObjectPtr findAdminFacet(const std::string&);
virtual FacetMap findAllAdminFacets();
+ virtual ~CommunicatorI();
+
private:
- CommunicatorI(const InitializationData&);
- virtual ~CommunicatorI();
+ static CommunicatorIPtr
+ create(const InitializationData&);
//
// Certain initialization tasks need to be completed after the