blob: 81259e132030327ba6fce4d3351274ddc8f15bf0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
#ifndef LOCAL_MONITOR_H
#define LOCAL_MONITOR_H
#include "ace/Time_Value.h"
#include "ace/Log_Msg.h"
#include "ace/Thread.h"
#include "ace/Event_Handler.h"
#include "ace/Mutex.h"
#include "orbsvcs/Naming/Naming_Server.h"
#include "RACE/Monitor/Central_Monitor/MonitorC.h"
namespace CIAO
{
namespace RACE
{
class Event_Handler: public ACE_Event_Handler
{
public:
int handle_timeout (const ACE_Time_Value &,
const void *ref);
};
class Local_Monitor
{
public:
Local_Monitor (const char *instance_id,
CORBA::ORB_ptr orb);
virtual ~Local_Monitor ();
virtual void start (const char *id);
virtual void stop ();
virtual void dump ();
virtual int push ();
protected:
virtual int resolve_central_monitor (CORBA::ORB_ptr);
virtual int register_timer ();
private:
CORBA::String_var instance_id_;
Delays delays_;
long timer_id_;
Event_Handler *handler_;
ACE_Reactor *reactor_;
ACE_Time_Value interval_;
ACE_Time_Value start_time_;
Execution_Time_Monitor_var monitor_;
bool initialized_;
ACE_Mutex mutex_;
};
};
};
#endif /* LOCAL_MONITOR_H */
|