summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/tests/Notify/lib/Direct_Supplier.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/tests/Notify/lib/Direct_Supplier.cpp')
-rw-r--r--TAO/orbsvcs/tests/Notify/lib/Direct_Supplier.cpp49
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);
+}