diff options
Diffstat (limited to 'TAO/orbsvcs/tests/Notify/lib/Direct_Supplier.cpp')
-rw-r--r-- | TAO/orbsvcs/tests/Notify/lib/Direct_Supplier.cpp | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/TAO/orbsvcs/tests/Notify/lib/Direct_Supplier.cpp b/TAO/orbsvcs/tests/Notify/lib/Direct_Supplier.cpp new file mode 100644 index 00000000000..a57d98f22ef --- /dev/null +++ b/TAO/orbsvcs/tests/Notify/lib/Direct_Supplier.cpp @@ -0,0 +1,49 @@ +// $Id$ + +#include "Direct_Supplier.h" + +#if ! defined (__ACE_INLINE__) +#include "Direct_Supplier.inl" +#endif /* __ACE_INLINE__ */ + +ACE_RCSID(Notify, TAO_Notify_Tests_Direct_Supplier, "$Id$") + +#include "LookupManager.h" + +TAO_Notify_Tests_Direct_Supplier::TAO_Notify_Tests_Direct_Supplier (ACE_CString& target) + : target_ (target) +{ +} + +TAO_Notify_Tests_Direct_Supplier::~TAO_Notify_Tests_Direct_Supplier () +{ +} + +void +TAO_Notify_Tests_Direct_Supplier::connect (void) +{ + // Get the POA + PortableServer::POA_var poa; + LOOKUP_MANAGER->resolve (poa, this->poa_name_.c_str ()); + + // set the POA + this->set_poa (poa.in ()); + + // Get hold of the reference. + CosNotifyComm::StructuredPushSupplier_var supplier_ref = + this->_this (); + + // Register the activated object. + LOOKUP_MANAGER->_register (supplier_ref.in (), this->name_.c_str ()); + + // Resolve the target object. + LOOKUP_MANAGER->resolve (this->target_object_, this->target_.c_str ()); +} + +void +TAO_Notify_Tests_Direct_Supplier::send_event (const CosNotification::StructuredEvent& event) +{ + ACE_ASSERT (!CORBA::is_nil (this->target_object_.in ())); + + this->target_object_->push_structured_event (event); +} |