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

QuoAdvocate.hh

Go to the documentation of this file.
00001 /*
00002  * QuoAdvocate.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 QuoAdvocate.hh
00014  *
00015  * Header file for the QuoAdvocate class.
00016  */
00017 
00018 #ifndef _quo_advocate_hh
00019 #define _quo_advocate_hh
00020 
00021 #include <iostream>
00022 
00023 #include <RealTimeTaskDelegateImpl.hh>
00024 #include <quo/quoC.h>
00025 
00026 /**
00027  * A Broker::RealTimeAdvocate that suggests the task gets the exact amount of
00028  * compute time as needed by the last period.
00029  */
00030 class QuoAdvocate : public virtual RealTimeTaskDelegateImpl
00031 {
00032 
00033 public:
00034 
00035     QuoAdvocate(void);
00036 
00037     virtual ~QuoAdvocate(void);
00038 
00039     virtual void SetDelegateAttribute(const char *id,
00040                                       const CORBA::Any &value)
00041         throw (CORBA::SystemException);
00042 
00043     virtual CORBA::Any *GetDelegateAttribute(const char *id)
00044         throw (CORBA::SystemException);
00045 
00046     virtual void ReportCPU(Broker::RealTimeTask_ptr rtt,
00047                            CORBA::ULong status,
00048                            CORBA::ULong advice)
00049         throw (CORBA::SystemException);
00050 
00051 protected:
00052 
00053     /**
00054      * The QuO system condition that should be updated with the 'status' value
00055      * given in ReportCPU.
00056      */
00057     quo::ValueSC_var eta_Status;
00058     
00059     /**
00060      * The QuO system condition that should be updated with the 'advice' value
00061      * given in ReportCPU.
00062      */
00063     quo::ValueSC_var eta_Advice;
00064     
00065 };
00066 
00067 #endif

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