summaryrefslogtreecommitdiff
path: root/cpp/include
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2006-03-20 14:02:01 +0000
committerDwayne Boone <dwayne@zeroc.com>2006-03-20 14:02:01 +0000
commit06ad21c2f678b3a34cc103b3083be9d96647e76d (patch)
tree46033285739df45469f86a0678e5081988dc0829 /cpp/include
parentCatch exceptions from destroySession (diff)
downloadice-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.h23
-rw-r--r--cpp/include/Ice/IncomingAsyncF.h4
-rw-r--r--cpp/include/Ice/Object.h10
-rw-r--r--cpp/include/Ice/OutgoingAsync.h15
-rw-r--r--cpp/include/Ice/OutgoingAsyncF.h4
-rw-r--r--cpp/include/Ice/Proxy.h4
-rw-r--r--cpp/include/Slice/CPlusPlusUtil.h2
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);