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

RealTimeTaskDelegateMixin.hh

Go to the documentation of this file.
00001 /*
00002  * RealTimeTaskDelegateMixin.hh
00003  *
00004  * Copyright (c) 2003 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 RealTimeTaskDelegateMixin.hh
00014  *
00015  * Default implementations for the Broker::RealTimeTask methods.  Kind of a
00016  * hack really, but it works.
00017  *
00018  * @sa RealTimeTaskDelegateImpl.hh
00019  */
00020 
00021 /** @copydoc Broker::RealTimeTask::Period */
00022 virtual CORBA::ULong Period(void)
00023     throw (CORBA::SystemException)
00024 {
00025     if( CORBA::is_nil(this->dm_RemoteObject) )
00026     {
00027         throw CORBA::BAD_INV_ORDER();
00028     }
00029     return( this->dm_RemoteObject->Period() );
00030 };
00031 
00032 /** @copydoc Broker::RealTimeTask::Deadline */
00033 virtual CORBA::ULong Deadline(void)
00034     throw (CORBA::SystemException)
00035 {
00036     if( CORBA::is_nil(this->dm_RemoteObject) )
00037     {
00038         throw CORBA::BAD_INV_ORDER();
00039     }
00040     return( this->dm_RemoteObject->Deadline() );
00041 };
00042 
00043 /** @copydoc Broker::RealTimeTask::GetComputeTime */
00044 virtual CORBA::ULong GetComputeTime(void)
00045     throw (CORBA::SystemException)
00046 {
00047     if( CORBA::is_nil(this->dm_RemoteObject) )
00048     {
00049         throw CORBA::BAD_INV_ORDER();
00050     }
00051     return( this->dm_RemoteObject->GetComputeTime() );
00052 };
00053 
00054 /** @copydoc Broker::RealTimeTask::SetComputeTime */
00055 virtual void SetComputeTime(CORBA::ULong usecs)
00056     throw (CORBA::SystemException)
00057 {
00058     if( CORBA::is_nil(this->dm_RemoteObject) )
00059     {
00060         throw CORBA::BAD_INV_ORDER();
00061     }
00062     this->dm_RemoteObject->SetComputeTime(usecs);
00063 };
00064 
00065 /** @copydoc Broker::RealTimeTask::ReportCPU */
00066 virtual void ReportCPU(Broker::RealTimeTask_ptr rtt,
00067                        CORBA::ULong status,
00068                        CORBA::ULong advice)
00069     throw (CORBA::SystemException)
00070 {
00071     if( CORBA::is_nil(this->dm_RemoteObject) )
00072     {
00073         throw CORBA::BAD_INV_ORDER();
00074     }
00075     this->dm_RemoteObject->ReportCPU(rtt, status, advice);
00076 };

Generated on Mon Dec 1 16:29:06 2003 for CPU Broker by doxygen 1.3.4