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.h68
1 files changed, 57 insertions, 11 deletions
diff --git a/cpp/include/Ice/Object.h b/cpp/include/Ice/Object.h
index 315e55a72e0..404fd23b6c5 100644
--- a/cpp/include/Ice/Object.h
+++ b/cpp/include/Ice/Object.h
@@ -58,10 +58,14 @@ public:
virtual const Current& getCurrent() = 0;
};
-class ICE_API Object : virtual public IceUtil::Shared
+
+#ifdef ICE_CPP11_MAPPING
+class ICE_API Object
{
public:
+ virtual ~Object() = default;
+
virtual bool operator==(const Object&) const;
virtual bool operator<(const Object&) const;
@@ -76,21 +80,42 @@ public:
virtual const std::string& ice_id(const Current& = Current()) const;
DispatchStatus ___ice_id(IceInternal::Incoming&, const Current&);
-
- virtual Int ice_operationAttributes(const std::string&) const;
-
+
static const std::string& ice_staticId();
virtual ObjectPtr ice_clone() const;
- virtual void ice_preMarshal();
- virtual void ice_postUnmarshal();
-
static std::string __all[];
virtual DispatchStatus ice_dispatch(Ice::Request&, const DispatchInterceptorAsyncCallbackPtr& = 0);
virtual DispatchStatus __dispatch(IceInternal::Incoming&, const Current&);
+protected:
+
+ static void __checkMode(OperationMode, OperationMode);
+};
+#else
+class ICE_API Object : public virtual IceUtil::Shared
+{
+public:
+
+ virtual bool operator==(const Object&) const;
+ virtual bool operator<(const Object&) const;
+
+ virtual bool ice_isA(const std::string&, const Current& = Current()) const;
+ DispatchStatus ___ice_isA(IceInternal::Incoming&, const Current&);
+
+ virtual void ice_ping(const Current& = Current()) const;
+ DispatchStatus ___ice_ping(IceInternal::Incoming&, const Current&);
+
+ virtual std::vector< std::string> ice_ids(const Current& = Current()) const;
+ DispatchStatus ___ice_ids(IceInternal::Incoming&, const Current&);
+
+ virtual const std::string& ice_id(const Current& = Current()) const;
+ DispatchStatus ___ice_id(IceInternal::Incoming&, const Current&);
+
+ virtual Int ice_operationAttributes(const std::string&) const;
+
virtual void __write(IceInternal::BasicStream*) const;
virtual void __read(IceInternal::BasicStream*);
@@ -99,12 +124,26 @@ public:
virtual bool __gcVisit(IceInternal::GCVisitor&) { return false; };
virtual void ice_collectable(bool) { };
+
+ virtual void ice_preMarshal();
+ virtual void ice_postUnmarshal();
+
+ static const std::string& ice_staticId();
+
+ virtual ObjectPtr ice_clone() const;
+
+ static std::string __all[];
+
+ virtual DispatchStatus ice_dispatch(Ice::Request&, const DispatchInterceptorAsyncCallbackPtr& = 0);
+ virtual DispatchStatus __dispatch(IceInternal::Incoming&, const Current&);
protected:
Object() {} // This class is abstract.
virtual ~Object() {}
+protected:
+
virtual void __writeImpl(IceInternal::BasicStream*) const {}
virtual void __readImpl(IceInternal::BasicStream*) {}
@@ -113,6 +152,7 @@ protected:
static void __checkMode(OperationMode, OperationMode);
};
+#endif
class ICE_API Blobject : virtual public Object
{
@@ -142,8 +182,11 @@ class ICE_API BlobjectAsync : virtual public Object
{
public:
+#ifdef ICE_CPP11_MAPPING
+ // TODO
+#else
virtual void ice_invoke_async(const AMD_Object_ice_invokePtr&, const std::vector<Byte>&, const Current&) = 0;
-
+#endif
virtual DispatchStatus __dispatch(IceInternal::Incoming&, const Current&);
};
@@ -151,14 +194,17 @@ class ICE_API BlobjectArrayAsync : virtual public Object
{
public:
+#ifdef ICE_CPP11_MAPPING
+ // TODO
+#else
virtual void ice_invoke_async(const AMD_Object_ice_invokePtr&, const std::pair<const Byte*, const Byte*>&,
const Current&) = 0;
-
+#endif
virtual DispatchStatus __dispatch(IceInternal::Incoming&, const Current&);
};
-ICE_API void ice_writeObject(const OutputStreamPtr&, const ObjectPtr&);
-ICE_API void ice_readObject(const InputStreamPtr&, ObjectPtr&);
+ICE_API void ice_writeObject(const OutputStreamPtr&, const ValuePtr&);
+ICE_API void ice_readObject(const InputStreamPtr&, ValuePtr&);
}