#ifndef TAO_Notify_CONTAINER_T_CPP #define TAO_Notify_CONTAINER_T_CPP #include "orbsvcs/Notify/Container_T.h" #include "orbsvcs/Notify/Properties.h" #include "orbsvcs/Notify/Factory.h" #include "orbsvcs/Notify/POA_Helper.h" #include "orbsvcs/ESF/ESF_Proxy_Collection.h" #include "orbsvcs/ESF/ESF_Shutdown_Proxy.h" #if ! defined (__ACE_INLINE__) #include "orbsvcs/Notify/Container_T.inl" #endif /* __ACE_INLINE__ */ TAO_BEGIN_VERSIONED_NAMESPACE_DECL template void TAO_Notify_Container_T::Destroyer::work (TYPE* type) { type->destroy (); } template TAO_Notify_Container_T::TAO_Notify_Container_T (void) : collection_ (0) { } template TAO_Notify_Container_T::~TAO_Notify_Container_T () { delete collection_; } template void TAO_Notify_Container_T::shutdown (void) { TAO_ESF_Shutdown_Proxy shutdown_worker; this->collection_->for_each (&shutdown_worker); } template void TAO_Notify_Container_T::destroy (void) { Destroyer destroyer; this->collection_->for_each (&destroyer); } template void TAO_Notify_Container_T::insert (TYPE* type) { this->collection_->connected (type); } template void TAO_Notify_Container_T::remove (TYPE* type) { this->collection_->disconnected (type); } template void TAO_Notify_Container_T::init (void) { // get the factory TAO_Notify_Factory* factory = TAO_Notify_PROPERTIES::instance ()->factory (); // Init variables factory->create (this->collection_); } TAO_END_VERSIONED_NAMESPACE_DECL #endif /* TAO_Notify_CONTAINER_T_CPP */