summaryrefslogtreecommitdiff
path: root/TAO/examples/Kokyu_dsrt_schedulers/MUF_Scheduling.idl
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/examples/Kokyu_dsrt_schedulers/MUF_Scheduling.idl')
-rw-r--r--TAO/examples/Kokyu_dsrt_schedulers/MUF_Scheduling.idl63
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);
+ };
+};