Merge pull request #2301 from sonndinh/remove-dup-reactor-functions
[ACE_TAO.git] / TAO / tests / RTScheduling / Scheduler.h
blobab11173f9a0fb3ae3d39cb9778679543ffe8ce17
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:
12 TAO_Scheduler (CORBA::ORB_ptr orb);
14 ~TAO_Scheduler ();
16 virtual CORBA::PolicyList * scheduling_policies ();
18 virtual void scheduling_policies (const CORBA::PolicyList & scheduling_policies);
20 virtual CORBA::PolicyList * poa_policies ();
22 virtual char * scheduling_discipline_name ();
24 virtual RTScheduling::ResourceManager_ptr create_resource_manager (const char * name,
25 CORBA::Policy_ptr scheduling_parameter);
27 virtual void set_scheduling_parameter (PortableServer::Servant & resource,
28 const char * name,
29 CORBA::Policy_ptr scheduling_parameter);
31 virtual void begin_new_scheduling_segment (const RTScheduling::Current::IdType & guid,
32 const char * name,
33 CORBA::Policy_ptr sched_param,
34 CORBA::Policy_ptr implicit_sched_param);
36 virtual void begin_nested_scheduling_segment (const RTScheduling::Current::IdType & guid,
37 const char * name,
38 CORBA::Policy_ptr sched_param,
39 CORBA::Policy_ptr implicit_sched_param);
41 virtual void update_scheduling_segment (const RTScheduling::Current::IdType & guid,
42 const char * name,
43 CORBA::Policy_ptr sched_param,
44 CORBA::Policy_ptr implicit_sched_param);
46 virtual void end_scheduling_segment (const RTScheduling::Current::IdType & guid,
47 const char * name);
49 virtual void end_nested_scheduling_segment (const RTScheduling::Current::IdType & guid,
50 const char * name,
51 CORBA::Policy_ptr outer_sched_param);
53 virtual void send_request (PortableInterceptor::ClientRequestInfo_ptr ri);
55 virtual void receive_request (PortableInterceptor::ServerRequestInfo_ptr ri,
56 RTScheduling::Current::IdType_out guid,
57 CORBA::String_out name,
58 CORBA::Policy_out sched_param,
59 CORBA::Policy_out implicit_sched_param);
61 virtual void send_reply (PortableInterceptor::ServerRequestInfo_ptr ri);
63 virtual void send_exception (PortableInterceptor::ServerRequestInfo_ptr ri);
65 virtual void send_other (PortableInterceptor::ServerRequestInfo_ptr ri);
67 virtual void send_poll (PortableInterceptor::ClientRequestInfo_ptr ri);
69 virtual void receive_reply (PortableInterceptor::ClientRequestInfo_ptr ri);
71 virtual void receive_exception (PortableInterceptor::ClientRequestInfo_ptr ri);
73 virtual void receive_other (PortableInterceptor::ClientRequestInfo_ptr ri);
75 virtual void cancel (const RTScheduling::Current::IdType & guid);
76 private:
77 RTScheduling::Current_var current_;
80 #endif //SCHEDULER_H