00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _real_time_task_impl_hh
00019 #define _real_time_task_impl_hh
00020
00021 #include <rk.h>
00022
00023 #include "BrokerS.h"
00024
00025
00026
00027
00028
00029
00030
00031 class RealTimeTaskImpl : public virtual POA_Broker::RealTimeTask
00032 {
00033
00034 public:
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050 RealTimeTaskImpl(const Broker::TaskParameters &tp)
00051 throw (CORBA::SystemException,
00052 Broker::DuplicateTaskParameter,
00053 Broker::InvalidTaskParameter,
00054 Broker::MissingTaskParameter);
00055
00056
00057
00058
00059 virtual ~RealTimeTaskImpl();
00060
00061
00062 virtual char *Name(void)
00063 throw (CORBA::SystemException);
00064
00065
00066 virtual void SetManager(Broker::Manager_ptr man)
00067 throw (CORBA::SystemException);
00068
00069
00070 virtual void BeginCPUScheduling(const Broker::ScheduleParameters &sp)
00071 throw (CORBA::SystemException,
00072 Broker::DuplicateScheduleParameter,
00073 Broker::InvalidScheduleParameter,
00074 Broker::MissingScheduleParameter)
00075 {
00076 };
00077
00078
00079 virtual void EndCPUScheduling(void)
00080 throw (CORBA::SystemException)
00081 {
00082 };
00083
00084
00085 virtual Broker::CPUReserve PassCPU(Broker::RealTimeTask_ptr rtt,
00086 const Broker::CPUReserve &status,
00087 const Broker::CPUReserve &advice,
00088 const Broker::KeyedReportParameters &krp)
00089 throw (CORBA::SystemException);
00090
00091
00092 virtual Broker::CPUReserve ReportCPU(const Broker::CPUReserve &status,
00093 const Broker::CPUReserve &advice,
00094 const Broker::KeyedReportParameters &krp)
00095 throw (CORBA::SystemException)
00096 {
00097 return this->PassCPU(this->_this(), status, advice, krp);
00098 };
00099
00100 protected:
00101
00102
00103
00104
00105
00106
00107 CORBA::String_var rtti_Name;
00108
00109
00110
00111
00112
00113 Broker::Manager_var rtti_Manager;
00114
00115 };
00116
00117 #endif