accountar.h

Go to the documentation of this file.
00001 // OSB library ********************************************* -*- C++ -*-
00008 /*
00009   AUTHOR(S): Lilian Qin Lan (lan)
00010 
00011   RCS information
00012     $Name: OSB_060808 $
00013     $Revision: 1.11 $
00014 
00015   License
00016    OSB rating and billing library for communication networks
00017    Copyright (C) 2004, 2005, 2006  OSB systems
00018 
00019    This file may be distributed and/or modify under the terms of the
00020    GNU General Public License (GPL) as published by the Free Software
00021    Foundation which is provided in the file LICENSE.GPL included in the
00022    packaging of this file.
00023 
00024    The file is distributed in the hope that it will be useful, but WITHOUT
00025    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00026    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
00027    for more details.
00028 
00029    Holders of a OSB Commercial License may use this file under the terms
00030    and conditions of this commercial license.
00031  */
00032 #ifndef _ACCOUNTAR_H_
00033 #define _ACCOUNTAR_H_
00034 
00035 // *********************************************************************
00036 // included header files
00037 // + standard includes
00038 
00039 // + local headers
00040 #include "account.h"
00041 
00042 
00043 // *********************************************************************
00044 // namespace extensions
00045 namespace OSB_LIB {
00046 
00047 // *********************************************************************
00048 // class declarations
00055     class AccountAr : public AccountInterface {
00056     public:
00058         AccountAr(OSB_DB::Session* s) : session_(s){}
00059 
00060         // documentation from base class
00061         bool getBalance(
00062             const Associate& associate,
00063             const DateTime&  ts,
00064                   MoneyList& dest
00065         );
00066 
00079         long readTransactions(
00080                   TransactionList& transactions,
00081             const Associate&       associate,
00082             const DateTime&        start,
00083             const DateTime&        end
00084         );
00085 
00092         virtual long getDuedays(
00093             const Associate& associate
00094         );
00095 
00108         virtual long writeTransactions(
00109             const TransactionList& transactions
00110         );
00111 
00126         virtual bool writeInvoice(
00127             const Associate&   associate,
00128             const Contract&    contract,
00129             const InvoiceInfo& invInfo
00130         );
00131 
00132     private:
00134         OSB_DB::Session* session_;
00135     };                                  // class AccountAr
00136 
00137 }                                       // namespace OSB_LIB
00138 #endif                                  // #ifndef _ACCOUNTAR_H_

Generated on Sat Sep 2 14:06:31 2006 for OSB Library by  doxygen 1.4.7