summaryrefslogtreecommitdiff
path: root/cpp/include/Ice/Object.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/include/Ice/Object.h')
-rw-r--r--cpp/include/Ice/Object.h23
1 files changed, 18 insertions, 5 deletions
diff --git a/cpp/include/Ice/Object.h b/cpp/include/Ice/Object.h
index a36e006fd1a..831842c6ad8 100644
--- a/cpp/include/Ice/Object.h
+++ b/cpp/include/Ice/Object.h
@@ -18,6 +18,7 @@
#include <Ice/IncomingAsyncF.h>
#include <Ice/Current.h>
#include <Ice/StreamF.h>
+#include <Ice/Format.h>
namespace IceInternal
{
@@ -98,16 +99,20 @@ public:
virtual DispatchStatus __dispatch(IceInternal::Incoming&, const Current&);
virtual DispatchStatus __collocDispatch(IceInternal::Direct&);
- virtual void __write(IceInternal::BasicStream*) const;
- virtual void __read(IceInternal::BasicStream*, bool);
+ virtual void __write(IceInternal::BasicStream*) const {}
+ virtual void __writeImpl(IceInternal::BasicStream*) const {}
+ virtual void __read(IceInternal::BasicStream*) {}
+ virtual void __readImpl(IceInternal::BasicStream*) {}
- virtual void __write(const OutputStreamPtr&) const;
- virtual void __read(const InputStreamPtr&, bool);
+ virtual void __write(const OutputStreamPtr&) const {}
+ virtual void __read(const InputStreamPtr&) {}
+ //
// Virtual methods to support garbage collection of Slice class instances. These
// methods are overriden by Slice classes which can have cycles.
+ //
virtual void __addObject(IceInternal::GCCountMap&) {}
- virtual bool __usesClasses() { return false; }
+ virtual bool __usesGC() { return false; }
void __decRefUnsafe()
{
--_ref;
@@ -125,8 +130,11 @@ class ICE_API Blobject : virtual public Object
{
public:
+ //
// Returns true if ok, false if user exception.
+ //
virtual bool ice_invoke(const std::vector<Byte>&, std::vector<Byte>&, const Current&) = 0;
+
virtual DispatchStatus __dispatch(IceInternal::Incoming&, const Current&);
};
@@ -134,8 +142,11 @@ class ICE_API BlobjectArray : virtual public Object
{
public:
+ //
// Returns true if ok, false if user exception.
+ //
virtual bool ice_invoke(const std::pair<const Byte*, const Byte*>&, std::vector<Byte>&, const Current&) = 0;
+
virtual DispatchStatus __dispatch(IceInternal::Incoming&, const Current&);
};
@@ -144,6 +155,7 @@ class ICE_API BlobjectAsync : virtual public Object
public:
virtual void ice_invoke_async(const AMD_Object_ice_invokePtr&, const std::vector<Byte>&, const Current&) = 0;
+
virtual DispatchStatus __dispatch(IceInternal::Incoming&, const Current&);
};
@@ -153,6 +165,7 @@ public:
virtual void ice_invoke_async(const AMD_Object_ice_invokePtr&, const std::pair<const Byte*, const Byte*>&,
const Current&) = 0;
+
virtual DispatchStatus __dispatch(IceInternal::Incoming&, const Current&);
};