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

BasicTaskQosketImpl.hh

Go to the documentation of this file.
00001 /*
00002  * BasicTaskQosketImpl.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 BasicTaskQosketImpl.hh
00014  *
00015  * Header file for the BasicTaskQosketImpl class.
00016  */
00017 
00018 #ifndef _basic_task_qosket_impl_hh
00019 #define _basic_task_qosket_impl_hh
00020 
00021 #include "BrokerC.h"
00022 #include "BasicTaskQosketSkel.h"
00023 
00024 #include "time_util.h" // XXX Included for the sake of the delegate.
00025 
00026 /**
00027  * A subclass of the Qosket::Basic::BasicTaskQosketSkel class generated from
00028  * the BasicTaskContract.  The implementation is pretty straightforward, it
00029  * gets its system conditions from the quo::QuoKernel and creates the callback
00030  * itself.
00031  *
00032  * @sa Qosket::Basic::BasicTaskQosketImpl
00033  * @sa Qosket::Basic::BasicTaskCallback
00034  * @sa BasicTaskCallbackImpl
00035  * @sa StubBasicTaskCallback
00036  * @sa BasicTaskContract.cdl
00037  */
00038 class BasicTaskQosketImpl :
00039     public virtual Qosket::Basic::BasicTaskQosketSkel
00040 {
00041 
00042 public:
00043 
00044     /**
00045      * Initialize the object with the required QuO system conditions by calling
00046      * bindSysCond on the given kernel object.
00047      *
00048      * @param kernel The quo::QuoKernel that will be the source of any system
00049      *               conditions.
00050      * @exception CORBA::SystemException descendant if something goes wrong
00051      *            while interacting with the kernel.
00052      */
00053     virtual void initSysconds(const quo::QuoKernel_ptr &kernel)
00054         throw (CORBA::SystemException);
00055 
00056     /**
00057      * Creates a new BasicTaskCallbackImpl object and installs it in the
00058      * myCallback field.
00059      *
00060      * @param orb Unused.
00061      */
00062     virtual void initCallbacks(const CORBA::ORB_ptr &orb)
00063         throw (CORBA::SystemException);
00064 
00065     /** @copydoc Qosket::Basic::BasicTaskQosket::DeadlinesMissed */
00066     virtual quo::ValueSC_ptr DeadlinesMissed(void)
00067         throw (CORBA::SystemException);
00068     
00069     /** @copydoc Qosket::Basic::BasicTaskQosket::LastStatus */
00070     virtual quo::ValueSC_ptr LastStatus(void)
00071         throw (CORBA::SystemException);
00072 
00073     /** @copydoc Qosket::Basic::BasicTaskQosket::Callback */
00074     virtual quo::Callback_ptr Callback(void)
00075         throw (CORBA::SystemException);
00076     
00077     /** @copydoc Qosket::Basic::BasicTaskQosket::RUsage */
00078     virtual CORBA::ULongLong RUsage(void)
00079         throw (CORBA::SystemException);
00080     
00081 };
00082 
00083 #endif

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