address-gw.h

Go to the documentation of this file.
00001 // OSB library ************************************************ -*- C++ -*-
00006 /*
00007   AUTHOR(S): Stephan Broennimann (vb)
00008 
00009   RCS information
00010    $Name: OSB_060808 $
00011    $Revision: 1.4 $
00012 
00013   License
00014    OSB rating and billing library for communication networks
00015    Copyright (C) 2004, 2005, 2006  OSB systems
00016 
00017    This file may be distributed and/or modify under the terms of the
00018    GNU General Public License (GPL) as published by the Free Software
00019    Foundation which is provided in the file LICENSE.GPL included in the
00020    packaging of this file.
00021 
00022    The file is distributed in the hope that it will be useful, but WITHOUT
00023    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00024    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
00025    for more details.
00026 
00027    Holders of a OSB Commercial License may use this file under the terms
00028    and conditions of this commercial license.
00029  */
00030 #ifndef _ADDRESSGW_H_
00031 #define _ADDRESSGW_H_
00032 
00033 // ************************************************************************
00034 // included header files
00035 // + standard includes
00036 
00037 // + libraries
00038 
00039 // + local headers
00040 #include "address.h"
00041 
00042 // + class declarations
00043 
00044 // ************************************************************************
00045 // namespace extensions
00046 namespace OSB_DB {
00047 
00048 // ************************************************************************
00049 // class definitions
00053     class AddressGw {
00055         AddressGw(const AddressGw& rhs);
00057         AddressGw& operator=(const AddressGw& rhs);
00059         friend class OSB_LIB::Address;
00060     public:
00062         AddressGw() {}
00063 
00074         void fetch(
00075             const Session&                         session,
00076             const OSB_LIB::Id<OSB_LIB::Associate>& asId,
00077                   OSB_LIB::AddressList&            dest
00078         );
00079 
00087         long fetch(
00088             const Session&                        session,
00089                   OSB_LIB::AddressTypeList::List& atList
00090         );
00091 
00092     private:
00105         bool insert(
00106             const Session&          session,
00107             const OSB_LIB::Address& addr
00108         );
00109 
00122         bool update(
00123             const Session&          session,
00124             const OSB_LIB::Address& addr
00125         );
00126 
00134         bool remove(
00135             const Session&          session,
00136             const OSB_LIB::Address& addr
00137         );
00138 
00153         bool setType(
00154             const Session&             session,
00155                   OSB_LIB::Address&    addr,
00156                   OSB_LIB::AddressType type,
00157                   bool                 add
00158         );
00159     };                                  // class AddressGw
00160 }                                       // namespace OSB_DB
00161 
00162 // ************************************************************************
00163 // inline definitions
00164 namespace OSB_DB {
00165 }                                       // namespace OSB_DB
00166 #endif                                  // #ifndef _ADDRESSGW_H_

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