diff options
author | Dwayne Boone <dwayne@zeroc.com> | 2006-03-20 14:02:01 +0000 |
---|---|---|
committer | Dwayne Boone <dwayne@zeroc.com> | 2006-03-20 14:02:01 +0000 |
commit | 06ad21c2f678b3a34cc103b3083be9d96647e76d (patch) | |
tree | 46033285739df45469f86a0678e5081988dc0829 /cpp/include | |
parent | Catch exceptions from destroySession (diff) | |
download | ice-06ad21c2f678b3a34cc103b3083be9d96647e76d.tar.bz2 ice-06ad21c2f678b3a34cc103b3083be9d96647e76d.tar.xz ice-06ad21c2f678b3a34cc103b3083be9d96647e76d.zip |
Imrpoved support for using array mapping in async responses and Blobject.
Diffstat (limited to 'cpp/include')
-rw-r--r-- | cpp/include/Ice/IncomingAsync.h | 23 | ||||
-rw-r--r-- | cpp/include/Ice/IncomingAsyncF.h | 4 | ||||
-rw-r--r-- | cpp/include/Ice/Object.h | 10 | ||||
-rw-r--r-- | cpp/include/Ice/OutgoingAsync.h | 15 | ||||
-rw-r--r-- | cpp/include/Ice/OutgoingAsyncF.h | 4 | ||||
-rw-r--r-- | cpp/include/Ice/Proxy.h | 4 | ||||
-rw-r--r-- | cpp/include/Slice/CPlusPlusUtil.h | 2 |
7 files changed, 54 insertions, 8 deletions
diff --git a/cpp/include/Ice/IncomingAsync.h b/cpp/include/Ice/IncomingAsync.h index b0a9097f42c..429d1eca97e 100644 --- a/cpp/include/Ice/IncomingAsync.h +++ b/cpp/include/Ice/IncomingAsync.h @@ -66,6 +66,16 @@ public: virtual void ice_exception() = 0; }; +class ICE_API AMD_Array_Object_ice_invoke : virtual public IceUtil::Shared +{ +public: + + virtual void ice_response(bool, const std::pair<const Ice::Byte*, const Ice::Byte*>&) = 0; + virtual void ice_exception(const IceUtil::Exception&) = 0; + virtual void ice_exception(const std::exception&) = 0; + virtual void ice_exception() = 0; +}; + } namespace IceAsync @@ -86,6 +96,19 @@ public: virtual void ice_exception(); }; +class ICE_API AMD_Array_Object_ice_invoke : public ::Ice::AMD_Array_Object_ice_invoke, + public IceInternal::IncomingAsync +{ +public: + + AMD_Array_Object_ice_invoke(IceInternal::Incoming&); + + virtual void ice_response(bool, const std::pair<const ::Ice::Byte*, const ::Ice::Byte*>&); + virtual void ice_exception(const IceUtil::Exception&); + virtual void ice_exception(const std::exception&); + virtual void ice_exception(); +}; + } } diff --git a/cpp/include/Ice/IncomingAsyncF.h b/cpp/include/Ice/IncomingAsyncF.h index db6b478ef4b..29389f1a0d8 100644 --- a/cpp/include/Ice/IncomingAsyncF.h +++ b/cpp/include/Ice/IncomingAsyncF.h @@ -26,6 +26,7 @@ namespace Ice { class AMD_Object_ice_invoke; +class AMD_Array_Object_ice_invoke; } @@ -34,6 +35,8 @@ namespace IceInternal ICE_API void incRef(::Ice::AMD_Object_ice_invoke*); ICE_API void decRef(::Ice::AMD_Object_ice_invoke*); +ICE_API void incRef(::Ice::AMD_Array_Object_ice_invoke*); +ICE_API void decRef(::Ice::AMD_Array_Object_ice_invoke*); } @@ -41,6 +44,7 @@ namespace Ice { typedef IceInternal::Handle<AMD_Object_ice_invoke> AMD_Object_ice_invokePtr; +typedef IceInternal::Handle<AMD_Array_Object_ice_invoke> AMD_Array_Object_ice_invokePtr; } diff --git a/cpp/include/Ice/Object.h b/cpp/include/Ice/Object.h index c991c896e23..cb9bd66fd23 100644 --- a/cpp/include/Ice/Object.h +++ b/cpp/include/Ice/Object.h @@ -116,22 +116,22 @@ public: virtual IceInternal::DispatchStatus __dispatch(IceInternal::Incoming&, const Current&); }; -class ICE_API BlobjectArrayAsync : virtual public Object +class ICE_API BlobjectAsync : virtual public Object { public: // Returns true if ok, false if user exception. - virtual void ice_invoke_async(const AMD_Object_ice_invokePtr&, const std::pair<const Byte*, const Byte*>&, - const Current&) = 0; + virtual void ice_invoke_async(const AMD_Object_ice_invokePtr&, const std::vector<Byte>&, const Current&) = 0; virtual IceInternal::DispatchStatus __dispatch(IceInternal::Incoming&, const Current&); }; -class ICE_API BlobjectAsync : virtual public Object +class ICE_API BlobjectArrayAsync : virtual public Object { public: // Returns true if ok, false if user exception. - virtual void ice_invoke_async(const AMD_Object_ice_invokePtr&, const std::vector<Byte>&, const Current&) = 0; + virtual void ice_invoke_async(const AMD_Array_Object_ice_invokePtr&, const std::pair<const Byte*, const Byte*>&, + const Current&) = 0; virtual IceInternal::DispatchStatus __dispatch(IceInternal::Incoming&, const Current&); }; diff --git a/cpp/include/Ice/OutgoingAsync.h b/cpp/include/Ice/OutgoingAsync.h index ef12d8e1b52..6fa3e254be9 100644 --- a/cpp/include/Ice/OutgoingAsync.h +++ b/cpp/include/Ice/OutgoingAsync.h @@ -76,6 +76,21 @@ public: virtual void ice_exception(const Ice::Exception&) = 0; void __invoke(const Ice::ObjectPrx&, const std::string& operation, OperationMode, + const std::vector<Ice::Byte>&, const Context&); + +protected: + + virtual void __response(bool); +}; + +class ICE_API AMI_Array_Object_ice_invoke : public IceInternal::OutgoingAsync +{ +public: + + virtual void ice_response(bool, const std::pair<const Byte*, const Byte*>&) = 0; + virtual void ice_exception(const Ice::Exception&) = 0; + + void __invoke(const Ice::ObjectPrx&, const std::string& operation, OperationMode, const std::pair<const Byte*, const Byte*>&, const Context&); protected: diff --git a/cpp/include/Ice/OutgoingAsyncF.h b/cpp/include/Ice/OutgoingAsyncF.h index 7bdebb65fad..1db83083202 100644 --- a/cpp/include/Ice/OutgoingAsyncF.h +++ b/cpp/include/Ice/OutgoingAsyncF.h @@ -26,6 +26,7 @@ namespace Ice { class AMI_Object_ice_invoke; +class AMI_Array_Object_ice_invoke; } @@ -34,6 +35,8 @@ namespace IceInternal ICE_API void incRef(::Ice::AMI_Object_ice_invoke*); ICE_API void decRef(::Ice::AMI_Object_ice_invoke*); +ICE_API void incRef(::Ice::AMI_Array_Object_ice_invoke*); +ICE_API void decRef(::Ice::AMI_Array_Object_ice_invoke*); } @@ -41,6 +44,7 @@ namespace Ice { typedef IceInternal::Handle<AMI_Object_ice_invoke> AMI_Object_ice_invokePtr; +typedef IceInternal::Handle<AMI_Array_Object_ice_invoke> AMI_Array_Object_ice_invokePtr; } diff --git a/cpp/include/Ice/Proxy.h b/cpp/include/Ice/Proxy.h index 2e93a2f764e..5babc03e9cf 100644 --- a/cpp/include/Ice/Proxy.h +++ b/cpp/include/Ice/Proxy.h @@ -111,9 +111,9 @@ public: const ::std::vector< ::Ice::Byte>&); void ice_invoke_async(const ::Ice::AMI_Object_ice_invokePtr&, const ::std::string&, ::Ice::OperationMode, const ::std::vector< ::Ice::Byte>&, const ::Ice::Context&); - void ice_invoke_async(const ::Ice::AMI_Object_ice_invokePtr&, const ::std::string&, ::Ice::OperationMode, + void ice_invoke_async(const ::Ice::AMI_Array_Object_ice_invokePtr&, const ::std::string&, ::Ice::OperationMode, const ::std::pair<const ::Ice::Byte*, const ::Ice::Byte*>&); - void ice_invoke_async(const ::Ice::AMI_Object_ice_invokePtr&, const ::std::string&, ::Ice::OperationMode, + void ice_invoke_async(const ::Ice::AMI_Array_Object_ice_invokePtr&, const ::std::string&, ::Ice::OperationMode, const ::std::pair<const ::Ice::Byte*, const ::Ice::Byte*>&, const ::Ice::Context&); ::Ice::Identity ice_getIdentity() const; diff --git a/cpp/include/Slice/CPlusPlusUtil.h b/cpp/include/Slice/CPlusPlusUtil.h index 36a0066bd29..279cdd3319b 100644 --- a/cpp/include/Slice/CPlusPlusUtil.h +++ b/cpp/include/Slice/CPlusPlusUtil.h @@ -29,7 +29,7 @@ SLICE_API void printDllExportStuff(::IceUtil::Output&, const std::string&); SLICE_API std::string typeToString(const TypePtr&, const StringList& = StringList(), bool = true); SLICE_API std::string returnTypeToString(const TypePtr&, const StringList& = StringList()); -SLICE_API std::string inputTypeToString(const TypePtr&, const StringList& = StringList()); +SLICE_API std::string inputTypeToString(const TypePtr&, const StringList& = StringList(), bool = true); SLICE_API std::string outputTypeToString(const TypePtr&, const StringList& = StringList()); SLICE_API std::string operationModeToString(Operation::Mode); |