Merge pull request #2309 from mitza-oci/warnings
[ACE_TAO.git] / TAO / orbsvcs / LoadBalancer / Monitor_Signal_Handler.h
blob73e57c89fa8488735abfd9f9d94c43c71274144c
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file Monitor_Signal_Handler.h
7 * @author Ossama Othman <ossama@uci.edu>
8 */
9 //=============================================================================
12 #ifndef TAO_LB_MONITOR_SIGNAL_HANDLER_H
13 #define TAO_LB_MONITOR_SIGNAL_HANDLER_H
15 #include "Signal_Handler.h"
17 #if !defined (ACE_LACKS_PRAGMA_ONCE)
18 #pragma once
19 #endif /* ACE_LACKS_PRAGMA_ONCE */
21 #include "orbsvcs/CosLoadBalancingC.h"
24 /**
25 * @class TAO_LB_Monitor_Signal_Handler
27 * @brief LoadMonitor-specific signal handler.
29 * This class simply builds on the TAO_LB_Signal_Handler class to add
30 * some LoadMonitor-specific cleanup.
32 class TAO_LB_Monitor_Signal_Handler : public TAO_LB_Signal_Handler
34 public:
35 /// Constructor.
36 TAO_LB_Monitor_Signal_Handler (
37 CORBA::ORB_ptr orb,
38 PortableServer::POA_ptr poa,
39 CosLoadBalancing::LoadManager_ptr load_manager,
40 const PortableGroup::Location & location);
42 protected:
43 /// Template method that initiates the cleanup process.
44 virtual int perform_cleanup (int signum);
46 private:
47 /// Reference to the LoadManager with which the LoadMonitor is
48 /// registered.
49 CosLoadBalancing::LoadManager_var load_manager_;
51 /// Reference to the location the LoadMonitor resides at.
52 const PortableGroup::Location & location_;
56 #endif /* TAO_LB_MONITOR_SIGNAL_HANDLER_H */