Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Examples  

AccountProxy.hpp

00001 #if   !defined(__ACCOUNTPROXY_HPP)
00002 #define __ACCOUNTPROXY_HPP
00003 
00004 /*
00005   CoreLinux++ 
00006   Copyright (C) 2000 CoreLinux Consortium
00007   
00008    The CoreLinux++ Library is free software; you can redistribute it and/or
00009    modify it under the terms of the GNU Library General Public License as
00010    published by the Free Software Foundation; either version 2 of the
00011    License, or (at your option) any later version.
00012 
00013    The CoreLinux++ Library Library is distributed in the hope that it will 
00014    be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
00015    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00016    Library General Public License for more details.
00017 
00018    You should have received a copy of the GNU Library General Public
00019    License along with the GNU C Library; see the file COPYING.LIB.  If not,
00020    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00021    Boston, MA 02111-1307, USA.  
00022 */   
00023 
00024 
00025 #if   !defined(__COMMON_HPP)
00026 #include <Common.hpp>
00027 #endif
00028 
00029 #if   !defined(__PROXY_HPP)
00030 #include <Proxy.hpp>
00031 #endif
00032 
00033 #if   !defined(__ABSTRACTBANKACCOUNT_HPP)
00034 #include <AbstractBankAccount.hpp>
00035 #endif
00036 
00037 DECLARE_CLASS( AccountProxy );
00038 
00050 
00051 class AccountProxy : public AbstractBankAccount, 
00052    public CORELINUX(Proxy)<AbstractBankAccount>
00053 {
00054 public:
00055 
00056    //
00057    // Constructors and destructor
00058    //
00059    
00061       
00062                         AccountProxy( void );
00063       
00065       
00066                         AccountProxy( AbstractBankAccountPtr );
00067       
00069       
00070                         AccountProxy( AccountProxyCref );
00071       
00073    
00074    virtual              ~AccountProxy( void );
00075    
00076    //
00077    // Operator overloads
00078    //
00079    
00085    
00086             AccountProxyRef   operator=( AccountProxyCref );
00087    
00094    
00095             bool  operator==( AccountProxyCref ) const;
00096    
00097    //
00098    // Accessors
00099    //
00104    
00105    virtual  AmountCref getBalance(void) const;
00106    
00107    //
00108    // Mutators
00109    //
00117    
00118    virtual  void withdrawFunds(Amount) 
00119                      throw(InsufficientFundsException);
00120    
00125    
00126    virtual  void depositFunds(Amount) 
00127                      throw(InsufficientFundsException);
00128       
00129 
00130 };
00131 
00132 #endif // if   !defined(__ACCOUNTPROXY_HPP)
00133 
00134 /*
00135    Common rcs information do not modify
00136    $Author: frankc $
00137    $Revision: 1.2 $
00138    $Date: 2000/02/10 14:32:20 $
00139    $Locker:  $
00140 */
00141 
00142 

This is the CoreLinux++ reference manual
Provided by The CoreLinux Consortium