diff options
author | Jose <jose@zeroc.com> | 2015-12-01 17:36:19 +0100 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2015-12-01 17:36:19 +0100 |
commit | 2029ff368e49fae489b8ec8fc12f7d126b182dfb (patch) | |
tree | 6075d652b7851831c39e6f22004d8720864f1a60 /cpp/src/Ice/ConnectionI.h | |
parent | The default LMDB map size for IceGrid and IceStorm is now 10MB (Windows) (diff) | |
download | ice-2029ff368e49fae489b8ec8fc12f7d126b182dfb.tar.bz2 ice-2029ff368e49fae489b8ec8fc12f7d126b182dfb.tar.xz ice-2029ff368e49fae489b8ec8fc12f7d126b182dfb.zip |
C++11 mapping initial commit
Diffstat (limited to 'cpp/src/Ice/ConnectionI.h')
-rw-r--r-- | cpp/src/Ice/ConnectionI.h | 43 |
1 files changed, 34 insertions, 9 deletions
diff --git a/cpp/src/Ice/ConnectionI.h b/cpp/src/Ice/ConnectionI.h index fdb80901122..c3b4c270311 100644 --- a/cpp/src/Ice/ConnectionI.h +++ b/cpp/src/Ice/ConnectionI.h @@ -60,7 +60,7 @@ namespace Ice class LocalException; class ObjectAdapterI; -typedef IceUtil::Handle<ObjectAdapterI> ObjectAdapterIPtr; +ICE_DEFINE_PTR(ObjectAdapterIPtr, ObjectAdapterI); class ConnectionI : public Connection, public IceInternal::EventHandler, @@ -134,6 +134,17 @@ public: #endif }; + +#ifdef ICE_CPP11_MAPPING + class StartCallback + { + public: + + virtual void connectionStartCompleted(const ConnectionIPtr&) = 0; + virtual void connectionStartFailed(const ConnectionIPtr&, const Ice::LocalException&) = 0; + }; + typedef ::std::shared_ptr<StartCallback> StartCallbackPtr; +#else class StartCallback : virtual public IceUtil::Shared { public: @@ -142,7 +153,8 @@ public: virtual void connectionStartFailed(const ConnectionIPtr&, const Ice::LocalException&) = 0; }; typedef IceUtil::Handle<StartCallback> StartCallbackPtr; - +#endif + enum DestructionReason { ObjectAdapterDeactivated, @@ -174,16 +186,22 @@ public: virtual void flushBatchRequests(); // From Connection. +#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_Connection_flushBatchRequestsPtr&, const LocalObjectPtr& = 0); - virtual AsyncResultPtr begin_flushBatchRequests( const ::IceInternal::Function<void (const ::Ice::Exception&)>&, const ::IceInternal::Function<void (bool)>& = ::IceInternal::Function<void (bool)>()); virtual void end_flushBatchRequests(const AsyncResultPtr&); +#endif virtual void setCallback(const ConnectionCallbackPtr&); virtual void setACM(const IceUtil::Optional<int>&, @@ -205,7 +223,7 @@ public: virtual void setAdapter(const ObjectAdapterPtr&); // From Connection. virtual ObjectAdapterPtr getAdapter() const; // From Connection. virtual EndpointPtr getEndpoint() const; // From Connection. - virtual ObjectPrx createProxy(const Identity& ident) const; // From Connection. + virtual ObjectPrxPtr createProxy(const Identity& ident) const; // From Connection. // // Operations from EventHandler @@ -238,8 +256,20 @@ public: void closeCallback(const ConnectionCallbackPtr&); + + virtual ~ConnectionI(); + private: + ConnectionI(const Ice::CommunicatorPtr&, const IceInternal::InstancePtr&, const IceInternal::ACMMonitorPtr&, + const IceInternal::TransceiverPtr&, const IceInternal::ConnectorPtr&, + const IceInternal::EndpointIPtr&, const ObjectAdapterIPtr&); + + static ConnectionIPtr + create(const Ice::CommunicatorPtr&, const IceInternal::InstancePtr&, const IceInternal::ACMMonitorPtr&, + const IceInternal::TransceiverPtr&, const IceInternal::ConnectorPtr&, + const IceInternal::EndpointIPtr&, const ObjectAdapterIPtr&); + enum State { StateNotInitialized, @@ -252,11 +282,6 @@ private: StateFinished }; - ConnectionI(const Ice::CommunicatorPtr&, const IceInternal::InstancePtr&, const IceInternal::ACMMonitorPtr&, - const IceInternal::TransceiverPtr&, const IceInternal::ConnectorPtr&, - const IceInternal::EndpointIPtr&, const ObjectAdapterIPtr&); - virtual ~ConnectionI(); - friend class IceInternal::IncomingConnectionFactory; friend class IceInternal::OutgoingConnectionFactory; |