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

StrictPolicyCallbackImpl.hh

Go to the documentation of this file.
00001 /*
00002  * StrictPolicyCallbackImpl.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 StrictPolicyCallbackImpl.hh
00014  *
00015  * Header file for the StrictPolicyCallbackImpl class.
00016  */
00017 
00018 #ifndef _strict_policy_callback_impl_hh
00019 #define _strict_policy_callback_impl_hh
00020 
00021 #include "BasicTaskCallbackS.h"
00022 #include "StrictPolicyC.h"
00023 
00024 /**
00025  * A straight forward implementation of a
00026  * Qosket::StrictPolicy::StrictPolicyCallback.
00027  *
00028  * @sa Qosket::StrictPolicy::StrictPolicyCallback
00029  */
00030 class StrictPolicyCallbackImpl :
00031     public virtual POA_Qosket::StrictPolicy::StrictPolicyCallback
00032 {
00033 
00034 public:
00035 
00036     /**
00037      * Construct a StrictPolicyCallbackImpl that manages the given policy.
00038      *
00039      * @param sp The BrokerPolicies::StrictPolicy object to control.
00040      */
00041     StrictPolicyCallbackImpl(BrokerPolicies::StrictPolicy_ptr sp);
00042 
00043     /**
00044      * Deconstruct a StrictPolicyCallbackImpl object.
00045      */
00046     virtual ~StrictPolicyCallbackImpl(void);
00047 
00048     /**
00049      * Send a message to the call back.  This is also used by the other methods
00050      * to do logging.
00051      *
00052      * @param msg The message to log.
00053      */
00054     virtual void sendMessage(const char *msg)
00055         throw (CORBA::SystemException);
00056 
00057     /** @copydoc Qosket::StrictPolicy::StrictPolicyCallback::SetPriorityOf */
00058     virtual void SetPriorityOf(const char *task_name, CORBA::Short priority)
00059         throw (CORBA::SystemException);
00060     
00061     /** @copydoc Qosket::StrictPolicy::StrictPolicyCallback::GetPriorityOf */
00062     virtual CORBA::Short GetPriorityOf(const char *task_name)
00063         throw (CORBA::SystemException);
00064 
00065 protected:
00066 
00067     /**
00068      * Reference to the current ORB for this process.
00069      */
00070     CORBA::ORB_ptr spci_ORB;
00071 
00072     /**
00073      * Reference to the policy object to control.
00074      */
00075     BrokerPolicies::StrictPolicy_var spci_Policy;
00076     
00077 };
00078 
00079 #endif

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