00001 00002 /** 00003 * @file StrictPolicy.idl 00004 * 00005 * IDL file for the StrictPolicy sub-interface. 00006 */ 00007 00008 #include "Broker.idl" 00009 00010 /** 00011 * A simple strict priority-based contention policy. 00012 * 00013 * @sa StrictPolicyImpl 00014 */ 00015 interface StrictPolicy : Broker::Policy 00016 { 00017 /** 00018 * @return The list of task's managed by this policy. 00019 */ 00020 Broker::TaskList GetTaskList(); 00021 00022 /** 00023 * Set the priority of a task. 00024 * 00025 * @param task The task whose priority should be changed. 00026 * @param priority The new priority. 00027 * 00028 * @exception CORBA::BAD_PARAM if task is nil. 00029 * @exception CORBA::BAD_PARAM if task is not managed by this policy. 00030 */ 00031 void SetTaskPriority(in Broker::Task task, in short priority); 00032 00033 /** 00034 * Get the priority of a task. 00035 * 00036 * @param task The task whose priority should be changed. 00037 * @return The task's priority. 00038 * 00039 * @exception CORBA::BAD_PARAM if task is nil. 00040 * @exception CORBA::BAD_PARAM if task is not managed by this policy. 00041 */ 00042 short GetTaskPriority(in Broker::Task task); 00043 };