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

ContractDelegate.cc

Go to the documentation of this file.
00001 /*
00002  * ContractDelegate.cc
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 ContractDelegate.cc
00014  *
00015  * The implementation of the ContractDelegate class.
00016  */
00017 
00018 #include "config.h"
00019 
00020 #include <assert_pp.h>
00021 
00022 #include "ContractDelegate.hh"
00023 
00024 ContractDelegate::ContractDelegate(quo::Contract_ptr contract,
00025                                    const char *name,
00026                                    unsigned long period,
00027                                    unsigned long deadline) :
00028     BasicDelegate(name, period, deadline),
00029     cd_Contract(contract)
00030 {
00031     require(!CORBA::is_nil(contract));
00032     
00033 }
00034 
00035 rk_stub_precall_retval_t ContractDelegate::precall(void)
00036 {
00037     rk_stub_precall_retval_t retval;
00038 
00039     this->cd_Contract->eval();
00040     retval = this->BasicDelegate::precall();
00041     this->cd_Contract->eval();
00042     return( retval );
00043 }
00044 
00045 void ContractDelegate::postcall(void)
00046 {
00047     this->cd_Contract->eval();
00048     this->BasicDelegate::postcall();
00049     this->cd_Contract->eval();
00050 }

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