summaryrefslogtreecommitdiff
path: root/TAO/tao/Abstract_Servant_Base.h
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2005-05-26 10:18:05 +0000
committerJohnny Willemsen <jwillemsen@remedy.nl>2005-05-26 10:18:05 +0000
commit39c2bab9eb1dc7bda795e50445d3c0fcb2666682 (patch)
treee325be97e5ec2b5218fc340ac62d7dd0e2717bb1 /TAO/tao/Abstract_Servant_Base.h
parentd1120eb47e8c8d3592b22321b729537fe806e9ce (diff)
downloadATCD-39c2bab9eb1dc7bda795e50445d3c0fcb2666682.tar.gz
ChangeLogTag: Thu May 26 10:17:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
Diffstat (limited to 'TAO/tao/Abstract_Servant_Base.h')
-rw-r--r--TAO/tao/Abstract_Servant_Base.h32
1 files changed, 19 insertions, 13 deletions
diff --git a/TAO/tao/Abstract_Servant_Base.h b/TAO/tao/Abstract_Servant_Base.h
index d58be951cc0..cc90e58c7c7 100644
--- a/TAO/tao/Abstract_Servant_Base.h
+++ b/TAO/tao/Abstract_Servant_Base.h
@@ -82,7 +82,7 @@ public:
virtual CORBA::Boolean _is_a (const char* logical_type_id
ACE_ENV_ARG_DECL) = 0;
- /// Default <_non_existent>: always returns false.
+ /// Default @c _non_existent: always returns false.
virtual CORBA::Boolean _non_existent (
ACE_ENV_SINGLE_ARG_DECL) = 0;
@@ -91,18 +91,29 @@ public:
ACE_ENV_SINGLE_ARG_DECL
) = 0;
- /// Default <_get_component>: always returns nil.
+ /// Default @c_get_component: always returns nil.
virtual CORBA::Object_ptr _get_component (
ACE_ENV_SINGLE_ARG_DECL) = 0;
//@{
/**
- * @name Reference Counting Hooks
- *
- * Reference counting hooks are no-ops by default.
+ * @name Reference Counting Operations
*/
- virtual void _add_ref (ACE_ENV_SINGLE_ARG_DECL);
- virtual void _remove_ref (ACE_ENV_SINGLE_ARG_DECL);
+ /// Increase reference count by one.
+ virtual void _add_ref (
+ ACE_ENV_SINGLE_ARG_DECL) = 0;
+
+ /**
+ * Decreases reference count by one; if the resulting reference
+ * count equals zero, _remove_ref invokes delete on its this pointer
+ * in order to destroy the servant.
+ */
+ virtual void _remove_ref (
+ ACE_ENV_SINGLE_ARG_DECL) = 0;
+
+ /// Returns the current reference count value.
+ virtual CORBA::ULong _refcount_value (
+ ACE_ENV_SINGLE_ARG_DECL) const = 0;
//@}
/// This is an auxiliary method for _this() and _narrow().
@@ -130,7 +141,7 @@ protected:
/// Copy constructor, protected so no instances can be created.
TAO_Abstract_ServantBase (const TAO_Abstract_ServantBase &);
- /// assignment operator.
+ /// Assignment operator.
TAO_Abstract_ServantBase &operator= (const TAO_Abstract_ServantBase &);
/// Dispatches a request to the object
@@ -149,11 +160,6 @@ protected:
void *derived_this
ACE_ENV_ARG_DECL) = 0;
- /*
- /// Register a CORBA IDL operation name.
- virtual int _bind (const char *opname,
- const TAO_Skeleton skel_ptr) = 0;
- */
/// Get this interface's repository id (TAO specific).
virtual const char *_interface_repository_id (void) const = 0;