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

TaskDelegateMixin.hh

Go to the documentation of this file.
00001 /*
00002  * TaskDelegateMixin.hh
00003  *
00004  * Copyright (c) 2003, 2004 The University of Utah and the Flux Group.
00005  * All rights reserved.
00006  *
00007  * This file is licensed under the terms of the GNU Public License.  
00008  * See the file "license.terms" for restrictions on redistribution 
00009  * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
00010  */
00011 
00012 /**
00013  * @file TaskDelegateMixin.hh
00014  *
00015  * Default implementations for the Broker::Task methods.  Kind of a hack
00016  * really, but it works.
00017  *
00018  * @sa RealTimeTaskDelegateImpl.hh
00019  */
00020 
00021 /** @copydoc Broker::Task::Name */
00022 virtual char *Name(void)
00023     throw (CORBA::SystemException)
00024 {
00025     if( CORBA::is_nil(this->dm_RemoteObject.in()) )
00026     {
00027         throw CORBA::BAD_INV_ORDER();
00028     }
00029     return this->dm_RemoteObject->Name();
00030 };
00031 
00032 /** @copydoc Broker::Task::SetManager */
00033 virtual void SetManager(Broker::Manager_ptr man)
00034     throw (CORBA::SystemException)
00035 {
00036     if( CORBA::is_nil(this->dm_RemoteObject.in()) )
00037     {
00038         throw CORBA::BAD_INV_ORDER();
00039     }
00040     this->dm_RemoteObject->SetManager(man);
00041 };
00042 
00043 /** @copydoc Broker::Task::BeginCPUScheduling */
00044 virtual void BeginCPUScheduling(const Broker::ScheduleParameters &sp)
00045     throw (CORBA::SystemException,
00046            Broker::DuplicateScheduleParameter,
00047            Broker::InvalidScheduleParameter,
00048            Broker::MissingScheduleParameter)
00049 {
00050     if( CORBA::is_nil(this->dm_RemoteObject.in()) )
00051     {
00052         throw CORBA::BAD_INV_ORDER();
00053     }
00054     this->dm_RemoteObject->BeginCPUScheduling(sp);
00055 };
00056 
00057 /** @copydoc Broker::Task::EndCPUScheduling */
00058 virtual void EndCPUScheduling(void)
00059     throw (CORBA::SystemException)
00060 {
00061     if( CORBA::is_nil(this->dm_RemoteObject.in()) )
00062     {
00063         throw CORBA::BAD_INV_ORDER();
00064     }
00065     this->dm_RemoteObject->EndCPUScheduling();
00066 };

Generated on Fri Oct 22 07:50:25 2004 for CPU Broker by  doxygen 1.3.9.1