Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

ManagerImpl Class Reference

Collaboration diagram for ManagerImpl:

Collaboration graph
[legend]
List of all members.

Detailed Description

A default implementation of the Broker::Manager interface.

Definition at line 28 of file ManagerImpl.hh.

Public Member Functions

 ManagerImpl (const char *name)
 Construct a ManagerImpl.
virtual ~ManagerImpl ()
 Destruct a ManagerImpl.
virtual Broker::Policy_ptr CurrentPolicy (void) throw (CORBA::SystemException)
 If this value is nil, the manager will implement a straightforward default policy.
virtual void CurrentPolicy (Broker::Policy_ptr policy) throw (CORBA::SystemException)
 If this value is nil, the manager will implement a straightforward default policy.
virtual void AddTask (Broker::Task_ptr task, const Broker::ScheduleParameters &sp) throw (CORBA::SystemException, Broker::DuplicateScheduleParameter, Broker::InvalidScheduleParameter, Broker::MissingScheduleParameter)
 
virtual void RemoveTask (Broker::Task_ptr task) throw (CORBA::SystemException)
 
virtual Broker::TaskListGetTaskList (void) throw (CORBA::SystemException)
 
virtual Broker::CPUReserve ChangeTaskCPU (Broker::RealTimeTask_ptr task, const Broker::CPUReserve &advice) throw (CORBA::SystemException, Broker::InvalidState)
 Note: If there is no policy set, the manager will simply call SetComputeTime() on the given task with the given advice.

Static Public Member Functions

Broker::Task_ptr ResolveTask (CORBA::ORB_ptr orb, Broker::TaskList &tl, const char *name) throw (CORBA::SystemException)
 Search of a task name in a Broker::TaskList.

Private Member Functions

void RepairTaskList (void)
 Repair the task list by removing any dead/unreachable objects.
TaskNodeFindTask (Broker::Task_ptr task)
 Find a TaskNode in the task list.

Private Attributes

Broker::Policy_var mi_CurrentPolicy
 The active policy object or nil.
lnMinList mi_Tasks
 The list of tasks currently being managed.


Constructor & Destructor Documentation

ManagerImpl::ManagerImpl const char *  name  ) 
 

Construct a ManagerImpl.

Parameters:
name The name of this manager.

Definition at line 38 of file ManagerImpl.cc.

References iPrintPointsAtExit(), and lnNewList().

Here is the call graph for this function:


Member Function Documentation

struct ManagerImpl::TaskNode * ManagerImpl::FindTask Broker::Task_ptr  task  )  [private]
 

Find a TaskNode in the task list.

Parameters:
task The task to search for.
Returns:
The corresponding TaskNode for the given task or NULL if none was found.

Definition at line 109 of file ManagerImpl.cc.

References lnMinList::lh_Head, lnMinNode::ln_Succ, mi_Tasks, ManagerImpl::TaskNode::tn_Link, and ManagerImpl::TaskNode::tn_Task.

Broker::Task_ptr ManagerImpl::ResolveTask CORBA::ORB_ptr  orb,
Broker::TaskList tl,
const char *  name
throw (CORBA::SystemException) [static]
 

Search of a task name in a Broker::TaskList.

Or, if the name is an IOR return a reference to that object.

Parameters:
orb A pointer to an active CORBA::ORB object.
tl The task list to search.
name The task name or task IOR.
Returns:
An object reference that matches the given name or IOR.
Exceptions:
CORBA::BAD_PARAM if the task could not be found.

Definition at line 274 of file ManagerImpl.cc.

References orb, and require.

Referenced by bfManagerHey(), StrictPolicyCallbackImpl::GetPriorityOf(), pfPartitionPolicyHey(), pfStrictPolicyHey(), pfWeightedPolicyHey(), and StrictPolicyCallbackImpl::SetPriorityOf().


Member Data Documentation

struct lnMinList ManagerImpl::mi_Tasks [private]
 

The list of tasks currently being managed.

This list will be passed to policies when they are Broker::Policy::Activate()'d.

Definition at line 147 of file ManagerImpl.hh.

Referenced by FindTask(), GetTaskList(), and RepairTaskList().


The documentation for this class was generated from the following files:
Generated on Fri Oct 22 07:51:02 2004 for CPU Broker by  doxygen 1.3.9.1