Merge pull request #1844 from jrw972/monterey
[ACE_TAO.git] / TAO / tests / RTScheduling / Scheduler.h
blob20bab1d2c172a2b891feb68ebf3ff9edb67e2796
1 #ifndef SCHEDULER_H
2 #define SCHEDULER_H
4 #include "tao/RTScheduling/RTScheduler.h"
5 #include "tao/LocalObject.h"
7 class TAO_Scheduler:
8 public RTScheduling::Scheduler,
9 public ::CORBA::LocalObject
11 public:
13 TAO_Scheduler (CORBA::ORB_ptr orb);
15 ~TAO_Scheduler (void);
17 virtual CORBA::PolicyList * scheduling_policies (void);
19 virtual void scheduling_policies (const CORBA::PolicyList & scheduling_policies);
21 virtual CORBA::PolicyList * poa_policies (void);
23 virtual char * scheduling_discipline_name (void);
25 virtual RTScheduling::ResourceManager_ptr create_resource_manager (const char * name,
26 CORBA::Policy_ptr scheduling_parameter);
28 virtual void set_scheduling_parameter (PortableServer::Servant & resource,
29 const char * name,
30 CORBA::Policy_ptr scheduling_parameter);
32 virtual void begin_new_scheduling_segment (const RTScheduling::Current::IdType & guid,
33 const char * name,
34 CORBA::Policy_ptr sched_param,
35 CORBA::Policy_ptr implicit_sched_param);
37 virtual void begin_nested_scheduling_segment (const RTScheduling::Current::IdType & guid,
38 const char * name,
39 CORBA::Policy_ptr sched_param,
40 CORBA::Policy_ptr implicit_sched_param);
42 virtual void update_scheduling_segment (const RTScheduling::Current::IdType & guid,
43 const char * name,
44 CORBA::Policy_ptr sched_param,
45 CORBA::Policy_ptr implicit_sched_param);
47 virtual void end_scheduling_segment (const RTScheduling::Current::IdType & guid,
48 const char * name);
50 virtual void end_nested_scheduling_segment (const RTScheduling::Current::IdType & guid,
51 const char * name,
52 CORBA::Policy_ptr outer_sched_param);
54 virtual void send_request (PortableInterceptor::ClientRequestInfo_ptr ri);
56 virtual void receive_request (PortableInterceptor::ServerRequestInfo_ptr ri,
57 RTScheduling::Current::IdType_out guid,
58 CORBA::String_out name,
59 CORBA::Policy_out sched_param,
60 CORBA::Policy_out implicit_sched_param);
62 virtual void send_reply (PortableInterceptor::ServerRequestInfo_ptr ri);
64 virtual void send_exception (PortableInterceptor::ServerRequestInfo_ptr ri);
66 virtual void send_other (PortableInterceptor::ServerRequestInfo_ptr ri);
68 virtual void send_poll (PortableInterceptor::ClientRequestInfo_ptr ri);
70 virtual void receive_reply (PortableInterceptor::ClientRequestInfo_ptr ri);
72 virtual void receive_exception (PortableInterceptor::ClientRequestInfo_ptr ri);
74 virtual void receive_other (PortableInterceptor::ClientRequestInfo_ptr ri);
76 virtual void cancel (const RTScheduling::Current::IdType & guid);
77 private:
78 RTScheduling::Current_var current_;
81 #endif //SCHEDULER_H