00001 00002 /** 00003 * @file BasicTaskCallback.idl 00004 * 00005 * IDL file that describes the callback used by the "basic" qosket. @e NOTE: 00006 * Unlike the BasicTaskQosket.idl file, this will be run through the TAO 00007 * compiler since the callback needs to be a CORBA object. 00008 */ 00009 00010 #include "quo.idl" 00011 00012 /** 00013 * The main Qosket name space. 00014 */ 00015 module Qosket 00016 { 00017 /** 00018 * @todo Change module name... 00019 */ 00020 module Basic 00021 { 00022 /** 00023 * A basic callback for monitoring a real-time application. 00024 * 00025 * @sa BasicTaskCallbackImpl 00026 */ 00027 interface BasicTaskCallback : quo::Callback 00028 { 00029 /** 00030 * Method called when the application misses a deadline. 00031 */ 00032 oneway void MissedDeadline(); 00033 00034 /** 00035 * Method called when the application makes its deadline. 00036 */ 00037 oneway void MadeDeadline(); 00038 }; 00039 }; 00040 00041 /** 00042 * Qosket stuff for the StrictPolicy. 00043 * 00044 * @sa BrokerPolicies::StrictPolicy 00045 */ 00046 module StrictPolicy 00047 { 00048 /** 00049 * A callback for changing the priorities in the StrictPolicy. 00050 * 00051 * @sa StrictPolicyCallbackImpl 00052 */ 00053 interface StrictPolicyCallback : quo::Callback 00054 { 00055 /** 00056 * Set the priority of a task. 00057 * 00058 * @param task_name The name of the task. 00059 * @param priority The new priority for the task. 00060 */ 00061 oneway void SetPriorityOf(in string task_name, in short priority); 00062 00063 /** 00064 * Get the priority of a task. 00065 * 00066 * @param task_name The name of the task. 00067 * @return The current priority of the task. 00068 */ 00069 short GetPriorityOf(in string task_name); 00070 }; 00071 }; 00072 };