summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxyConsumerStateWorker.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxyConsumerStateWorker.cpp')
-rw-r--r--TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxyConsumerStateWorker.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxyConsumerStateWorker.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxyConsumerStateWorker.cpp
new file mode 100644
index 00000000000..0b3db457a8d
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/ProxyConsumerStateWorker.cpp
@@ -0,0 +1,33 @@
+// $Id$
+
+#include "ProxyConsumerStateWorker.h"
+#include "orbsvcs/Event/EC_Event_Channel_Base.h"
+#include "orbsvcs/Event/EC_ProxySupplier.h"
+
+ACE_RCSID (EventChannel,
+ ProxyConsumerStateWorker,
+ "$Id$")
+
+ProxyConsumerStateWorker::ProxyConsumerStateWorker
+ (FtRtecEventChannelAdmin::ProxyConsumerStates& states)
+: consumerStates_(states)
+{
+}
+
+ProxyConsumerStateWorker::~ProxyConsumerStateWorker()
+{
+}
+
+void ProxyConsumerStateWorker::set_size(size_t size)
+{
+ consumerStates_.length(size);
+ index_ = 0;
+}
+
+void ProxyConsumerStateWorker::work(TAO_EC_ProxyPushConsumer* object
+ ACE_ENV_ARG_DECL)
+{
+ TAO_FTEC_ProxyPushConsumer* proxy =
+ static_cast<TAO_FTEC_ProxyPushConsumer*>(object);
+ proxy->get_state(consumerStates_[index_++]);
+}