diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/Any/PushSupplier.cpp')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Notify/Any/PushSupplier.cpp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Any/PushSupplier.cpp b/TAO/orbsvcs/orbsvcs/Notify/Any/PushSupplier.cpp new file mode 100644 index 00000000000..fb1642a7759 --- /dev/null +++ b/TAO/orbsvcs/orbsvcs/Notify/Any/PushSupplier.cpp @@ -0,0 +1,42 @@ +// $Id$ + +#include "PushSupplier.h" + +#if ! defined (__ACE_INLINE__) +#include "PushSupplier.inl" +#endif /* __ACE_INLINE__ */ + +ACE_RCSID(Notify, TAO_NS_PushSupplier, "$id$") + +TAO_NS_PushSupplier::TAO_NS_PushSupplier (TAO_NS_ProxyConsumer* proxy) + :TAO_NS_Supplier (proxy) +{ +} + +TAO_NS_PushSupplier::~TAO_NS_PushSupplier () +{ +} + +void +TAO_NS_PushSupplier::init (CosEventComm::PushSupplier_ptr push_supplier ACE_ENV_ARG_DECL) +{ + this->push_supplier_ = CosEventComm::PushSupplier::_duplicate (push_supplier); + + ACE_TRY + { + this->subscribe_ = CosNotifyComm::NotifySubscribe::_narrow (push_supplier ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + } + ACE_CATCHANY + { + // _narrow failed which probably means the interface is CosEventComm type. + } + ACE_ENDTRY; +} + +void +TAO_NS_PushSupplier::release (void) +{ + delete this; + //@@ inform factory +} |