summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/performance-tests/RTEvent/lib/Loopback.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/performance-tests/RTEvent/lib/Loopback.cpp')
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/lib/Loopback.cpp40
1 files changed, 40 insertions, 0 deletions
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/Loopback.cpp b/TAO/orbsvcs/performance-tests/RTEvent/lib/Loopback.cpp
new file mode 100644
index 00000000000..41c08b2a882
--- /dev/null
+++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/Loopback.cpp
@@ -0,0 +1,40 @@
+/**
+ * @file Loopback.cpp
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan <coryan@uci.edu>
+ */
+
+#include "Loopback.h"
+#include "Auto_Disconnect.h"
+#include "Implicit_Deactivator.h"
+
+ACE_RCSID (TAO_RTEC_Perf,
+ Loopback,
+ "$Id$")
+
+Loopback::Loopback (CORBA::Long experiment_id,
+ CORBA::Long base_event_type,
+ PortableServer::POA_ptr supplier_poa,
+ PortableServer::POA_ptr consumer_poa,
+ RtecEventChannelAdmin::EventChannel_ptr ec
+ ACE_ENV_ARG_DECL)
+{
+ this->loopback_pair_.init (experiment_id,
+ base_event_type,
+ supplier_poa,
+ consumer_poa);
+
+ this->loopback_pair_.connect (ec ACE_ENV_ARG_PARAMETER);
+}
+
+void
+Loopback::disconnect (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ Auto_Disconnect<Loopback_Pair> disconnect (&this->loopback_pair_);
+
+ Implicit_Deactivator deactivator (this ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}