Merge pull request #1844 from jrw972/monterey
[ACE_TAO.git] / TAO / orbsvcs / performance-tests / RTEvent / lib / Peer_Base.h
blob7d12128f02e472bd768b8a310b94a08e0fd65976
1 /**
2 * @file Peer_Base.h
4 * @author Carlos O'Ryan <coryan@uci.edu>
5 */
7 #ifndef TAO_RTEC_PERF_PEER_BASE_H
8 #define TAO_RTEC_PERF_PEER_BASE_H
10 #include "Federated_TestS.h"
11 #include "orbsvcs/RtecEventChannelAdminC.h"
13 #if !defined (ACE_LACKS_PRAGMA_ONCE)
14 # pragma once
15 #endif /* ACE_LACKS_PRAGMA_ONCE */
17 class RTServer_Setup;
19 /**
20 * @class Peer_Base
22 * @brief Implement the shared portions of Federated_Test::Peer
23 * servants
25 class TAO_RTEC_Perf_Export Peer_Base
26 : public virtual POA_Federated_Test::Peer
28 public:
29 /// Constructor
30 Peer_Base (CORBA::ORB_ptr orb,
31 RTServer_Setup &rtserver_setup);
33 /// Destructor
34 virtual ~Peer_Base (void);
36 //@{
37 /** @name The Federated_Test::Peer methods
39 virtual void shutdown (void);
41 virtual CORBA::Object_ptr
42 channel (void);
44 virtual void connect (Federated_Test::Peer_ptr remote_peer);
46 Federated_Test::Loopback_ptr setup_loopback (CORBA::Long experiment_id,
47 CORBA::Long base_event_type);
49 PortableServer::POA_ptr _default_POA (void);
50 //@}
52 protected:
53 /// Keep a reference to the ORB, used in shutdown
54 CORBA::ORB_var orb_;
56 /// The POA used for the suppliers, consumers, activate the EC and
57 /// as this servant's _default_POA()
58 PortableServer::POA_var poa_;
60 /// Event Channel references
61 RtecEventChannelAdmin::EventChannel_var event_channel_;
64 #endif /* TAO_RTEC_PERF_PEER_BASE_H */