summaryrefslogtreecommitdiff
path: root/Monitor/Central_Monitor/Monitor_exec.h
blob: 8a28159c5a741ac59ad6bd4d954c4526980490a1 (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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#ifndef CIAO_MONITOR_EXEC_H
#define CIAO_MONITOR_EXEC_H

#include "Monitor_svnt.h"
#include "Monitor_exec_export.h"
#include "tao/LocalObject.h"

namespace CIAO
{
  namespace RACE
  {
    namespace CIDL_Central_Monitor_Impl
    {
      class MONITOR_EXEC_Export Execution_Time_Monitor_exec_i
        : public virtual ::CIAO::RACE::CCM_Execution_Time_Monitor,
          public virtual TAO_Local_RefCounted_Object
      {
        public:
        Execution_Time_Monitor_exec_i ();

        virtual ~Execution_Time_Monitor_exec_i ();

        virtual void push_delays (const char * id,
                                const Delays & delay)
          throw (CORBA::SystemException);

        virtual Delays * get_delays (const char * id)
          throw (::CORBA::SystemException,
                 ::CIAO::RACE::Execution_Time_Monitor::IdNotFound);

        private:
        ACE_Map_Manager <ACE_TString, Delays, ACE_Thread_Mutex> delay_map_;

        const size_t MAX_BUFFER_SIZE;
      };

      class MONITOR_EXEC_Export Central_Monitor_exec_i
        : public virtual CIAO_CIAO_RACE_Central_Monitor_Impl::Central_Monitor_Exec,
          public virtual TAO_Local_RefCounted_Object
      {
        public:
        Central_Monitor_exec_i (void);

        virtual ~Central_Monitor_exec_i (void);

        virtual ::CIAO::RACE::CCM_Execution_Time_Monitor_ptr get_Monitor ()
          throw ( ::CORBA::SystemException);


        virtual void set_session_context (::Components::SessionContext_ptr ctx)
          throw (::CORBA::SystemException, ::Components::CCMException);

        virtual void ciao_preactivate ()
          throw (::CORBA::SystemException, ::Components::CCMException);

        virtual void configuration_complete ()
          throw (::CORBA::SystemException, ::Components::CCMException);

        virtual void ccm_activate ()
          throw (::CORBA::SystemException, ::Components::CCMException);

        virtual void ccm_passivate ()
          throw (::CORBA::SystemException, ::Components::CCMException);

        virtual void ccm_remove ()
          throw (::CORBA::SystemException, ::Components::CCMException);

        protected:
        CIAO_CIAO_RACE_Central_Monitor_Impl::Central_Monitor_Context *context_;
      };

      class MONITOR_EXEC_Export Central_Monitor_Home_exec_i
        : public virtual CIAO_CIAO_RACE_Central_Monitor_Impl::Central_Monitor_Home_Exec,
          public virtual TAO_Local_RefCounted_Object
      {
        public:
        Central_Monitor_Home_exec_i ();

        virtual ~Central_Monitor_Home_exec_i ();

        virtual ::Components::EnterpriseComponent_ptr create ()
          throw (::CORBA::SystemException, ::Components::CCMException);
      };

      extern "C" MONITOR_EXEC_Export ::Components::HomeExecutorBase_ptr
      create_CIAO_RACE_Central_Monitor_Home_Impl ();
    }
  }
}

#endif /* CIAO_MONITOR_EXEC_H */