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