summaryrefslogtreecommitdiff
path: root/TAO/tao/Object.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/Object.h')
-rw-r--r--TAO/tao/Object.h39
1 files changed, 13 insertions, 26 deletions
diff --git a/TAO/tao/Object.h b/TAO/tao/Object.h
index 9fc5672b84d..20c33bd9e5d 100644
--- a/TAO/tao/Object.h
+++ b/TAO/tao/Object.h
@@ -28,7 +28,7 @@
class TAO_ServantBase;
class STUB_Object;
-class TAO_Export CORBA_Object : public TAO_IUnknown
+class TAO_Export CORBA_Object
{
public:
static CORBA::Object_ptr _duplicate (CORBA::Object_ptr obj);
@@ -60,7 +60,10 @@ public:
virtual CORBA::Boolean _is_collocated (void) const;
// are we collocated with the servant?
- virtual CORBA::ImplementationDef_ptr _get_implementation (CORBA::Environment &);
+ virtual CORBA::ImplementationDef_ptr
+ _get_implementation (CORBA::Environment &);
+ // This method is deprecated in the CORBA 2.2 spec, we just return 0
+ // every time.
virtual CORBA::Boolean _non_existent (CORBA::Environment &);
@@ -94,15 +97,9 @@ public:
virtual CORBA::Boolean _is_equivalent (CORBA::Object_ptr other_obj,
CORBA::Environment &env);
- // = COM-like IUnknown Support
- //
- // This class is intended to aggregate or be contained with others,
- // which in combination provide all requisite CORBA/COM support.
-
- ULONG AddRef (void);
- ULONG Release (void);
- TAO_HRESULT QueryInterface (TAO_REFIID riid,
- void **ppv);
+ // = Reference count managment.
+ CORBA::ULong _incr_refcnt (void);
+ CORBA::ULong _decr_refcnt (void);
CORBA_Object (STUB_Object *p = 0,
TAO_ServantBase *servant = 0,
@@ -116,17 +113,9 @@ public:
// Return the object key as an out parameter. Caller should release
// return value when finished with it.
- virtual STUB_Object *stubobj (CORBA::Environment &env);
+ virtual STUB_Object *_stubobj (void);
// get the underlying stub object
- // = Non-standard
-
- void _set_parent (STUB_Object *p);
- // Set the protocol proxy object.
-
- STUB_Object *_get_parent (void) const;
- // Get the protocol proxy object.
-
protected:
TAO_ServantBase *servant_;
// Servant pointer. It is 0 except for collocated objects.
@@ -136,15 +125,13 @@ protected:
// objects.
private:
- STUB_Object *parent_;
+ STUB_Object *protocol_proxy_;
// Pointer to the protocol-specific "object" containing important
// profiling information regarding this proxy.
- //
- // This used to be a TAO_IUnknown, but that seemed overtly general.
- // It's changed to a STUB_Object to make the relationship of the
- // target more explicit and sensible.
+ // The protocol proxy is (potentially) shared among several
+ // CORBA_Objects
- u_int refcount_;
+ CORBA::ULong refcount_;
// Number of outstanding references to this object.
// = Unimplemented methods