diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/Object_T.cpp')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Notify/Object_T.cpp | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Object_T.cpp b/TAO/orbsvcs/orbsvcs/Notify/Object_T.cpp new file mode 100644 index 00000000000..372773f3af6 --- /dev/null +++ b/TAO/orbsvcs/orbsvcs/Notify/Object_T.cpp @@ -0,0 +1,38 @@ +// $Id$ + +#ifndef TAO_NS_OBJECT_T_CPP +#define TAO_NS_OBJECT_T_CPP + +#include "Object_T.h" +#include "orbsvcs/ESF/ESF_RefCount_Guard.h" + +#if ! defined (__ACE_INLINE__) +#include "Object_T.inl" +#endif /* __ACE_INLINE__ */ + +ACE_RCSID(RT_Notify, TAO_NS_Object, "$Id$") + +template <class TYPE, class PARENT> +TAO_NS_Object_T<TYPE, PARENT>::TAO_NS_Object_T (void) + :parent_ (0) +{ +} + +template <class TYPE, class PARENT> +TAO_NS_Object_T<TYPE, PARENT>::~TAO_NS_Object_T () +{ +} + +template <class TYPE, class PARENT> void +TAO_NS_Object_T<TYPE, PARENT>::destroy (TYPE *type ACE_ENV_ARG_DECL) +{ + TAO_NS_Object_RefCount_Guard guard (this->refcount_); + + this->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_CHECK; + + if (parent_) + parent_->remove (type ACE_ENV_ARG_PARAMETER); +} + +#endif /* TAO_NS_OBJECT_T_CPP */ |