summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxySupplierStateWorker.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxySupplierStateWorker.cpp')
-rw-r--r--TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxySupplierStateWorker.cpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxySupplierStateWorker.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxySupplierStateWorker.cpp
new file mode 100644
index 00000000000..8f47fd1c894
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxySupplierStateWorker.cpp
@@ -0,0 +1,37 @@
+// $Id$
+
+#include "orbsvcs/FtRtecEventChannelAdminC.h"
+#include "orbsvcs/FtRtEvent/EventChannel/ProxySupplierStateWorker.h"
+#include "orbsvcs/Event/EC_Event_Channel_Base.h"
+#include "orbsvcs/Event/EC_ProxyConsumer.h"
+
+ACE_RCSID (EventChannel,
+ ProxySupplierStateWorker,
+ "$Id$")
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+ProxySupplierStateWorker::ProxySupplierStateWorker (
+ FtRtecEventChannelAdmin::ProxySupplierStates& states)
+ : supplierStates_(states)
+{
+}
+
+ProxySupplierStateWorker::~ProxySupplierStateWorker()
+{
+}
+
+void ProxySupplierStateWorker::set_size(size_t size)
+{
+ supplierStates_.length(size);
+ index_ = 0;
+}
+
+void ProxySupplierStateWorker::work(TAO_EC_ProxyPushSupplier* object)
+{
+ TAO_FTEC_ProxyPushSupplier* proxy =
+ static_cast<TAO_FTEC_ProxyPushSupplier*> (object);
+ proxy->get_state(supplierStates_[index_++]);
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL