Revert "Use a variable on the stack to not have a temporary in the call"
[ACE_TAO.git] / TAO / orbsvcs / tests / FtRtEvent / PushSupplier.h
blobc87fe55be0ac0876a2708437fea80f121a846c58
1 // -*- C++ -*-
2 //=============================================================================
3 /**
4 * @file PushSupplier.h
6 * @author Huang-Ming Huang <hh1@cse.wustl.edu>
7 */
8 //=============================================================================
10 #ifndef PUSHSUPPLIER_H
11 #define PUSHSUPPLIER_H
13 #include "orbsvcs/RtecEventCommS.h"
14 #include "orbsvcs/RtecEventChannelAdminC.h"
15 #include "ace/Event_Handler.h"
16 #include "ace/Task.h"
17 #include "ace/Reactor.h"
18 #include "ace/Time_Value.h"
20 class PushSupplier_impl :
21 public virtual ACE_Event_Handler
22 , public virtual POA_RtecEventComm::PushSupplier
24 public:
25 PushSupplier_impl(CORBA::ORB_ptr orb);
26 ~PushSupplier_impl();
28 int init(RtecEventChannelAdmin::EventChannel_ptr);
30 virtual void disconnect_push_supplier ();
31 private:
32 class ReactorTask : public ACE_Task_Base
34 public:
35 // ctor
36 ReactorTask(ACE_Event_Handler* handler) : reactor_(0), handler_(handler){}
37 virtual int svc ();
38 // The thread entry point.
40 ACE_Reactor* reactor_;
41 ACE_Event_Handler* handler_;
44 virtual int handle_timeout (const ACE_Time_Value &current_time,
45 const void *act = 0);
46 CORBA::ORB_var orb_;
47 CORBA::ULong seq_no_;
48 ReactorTask reactor_task_;
49 RtecEventChannelAdmin::ProxyPushConsumer_var consumer_;
50 PushSupplier_impl(const PushSupplier_impl&);
51 bool operator==(const PushSupplier_impl&);
53 #endif