diff options
Diffstat (limited to 'TAO/examples/Kokyu_dsrt_schedulers/MUF_Scheduling.idl')
-rw-r--r-- | TAO/examples/Kokyu_dsrt_schedulers/MUF_Scheduling.idl | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/TAO/examples/Kokyu_dsrt_schedulers/MUF_Scheduling.idl b/TAO/examples/Kokyu_dsrt_schedulers/MUF_Scheduling.idl new file mode 100644 index 00000000000..c9bb4d96870 --- /dev/null +++ b/TAO/examples/Kokyu_dsrt_schedulers/MUF_Scheduling.idl @@ -0,0 +1,63 @@ +//$Id$ + +/** + * @file MUF_Scheduling.idl + * + * $Id$ + * + * @brief Pre-compiled IDL source to help with the service context + * propagation of dynamic scheduling parameters using Kokyu + * + * This file was used to generate the code in MUF_SchedulingC.{h,i,cpp}. + * The steps to regenerate the code are as follows: + * + * 1. Run the tao_idl compiler on the pidl file. The command used for + * this is: + * + * tao_idl -I $TAO_ROOT -Ge 1 + * -Wb,export_macro=Kokyu_DSRT_Schedulers_Export + * -Wb,export_include=Kokyu_dsrt_schedulers_export.h + * + * + * 2. Then apply the patches in MUF_SchedulingC.h.diff to the generated code. + * The patch will replace the inclusion of RTCORBAC.h and RTSchedulerC.h + * with RTCORBA.h and RTScheduler.h respectively. + * + * Apply patches using the following command: + * + * patch < MUF_SchedulingC.h.diff + * + * Note: The diff was generated in the following way: + * + * Run the idl compiler as in step 1. + * cp MUF_SchedulingC.h MUF_SchedulingC.h.orig + * Modify MUF_SchedulingC.h with changes described in step 2. + * diff -wBbu MUF_SchedulingC.h.orig MUF_SchedulingC.h > MUF_SchedulingC.h.diff + * + */ + +#include <tao/RTScheduling/RTScheduler_include.pidl> +#include <tao/RTCORBA/RTCORBA_include.pidl> + +module MUF_Scheduling +{ + struct SchedulingParameter + { + TimeBase::TimeT deadline; + TimeBase::TimeT estimated_initial_execution_time; + long criticality; + }; + + local interface SchedulingParameterPolicy + : CORBA::Policy + { + attribute SchedulingParameter value; + }; + + local interface Scheduler : RTScheduling::Scheduler + { + SchedulingParameterPolicy + create_scheduling_parameter + (in SchedulingParameter value); + }; +}; |