trunkresource-gw.h

Go to the documentation of this file.
00001 // OSB library ********************************************* -*- C++ -*-
00008 /*
00009   AUTHOR(S): Stephan Broennimann (vb)
00010 
00011   RCS information
00012    $Name: OSB_060808 $
00013    $Revision: 1.17 $
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 _TRUNKRESOURCEGW_H_
00033 #define _TRUNKRESOURCEGW_H_
00034 
00035 // *********************************************************************
00036 // included header files
00037 // + standard includes
00038 
00039 // + local headers
00040 #include "resourcefwd.h"
00041 #include "trunkresource.h"
00042 
00043 // *********************************************************************
00044 // class declarations
00045 namespace OSB_DB {
00046     class Session;
00047 }
00048 
00049 namespace OSB_LIB {
00050     template<typename I> class Id;
00051     class Network;
00052 }
00053 
00054 // *********************************************************************
00055 // namespace extensions
00056 namespace OSB_DB {
00057 
00058 // *********************************************************************
00059 // class definitions
00060 
00061     // *****************************************************************
00062     // class TrunkResourceGw
00066     class TrunkResourceGw {
00068         friend class OSB_LIB::TrunkResource;
00070         typedef
00071         OSB_LIB::ResourceList<OSB_LIB::TrunkResource> TrList;
00073         typedef OSB_LIB::Id<OSB_LIB::Network> NwOid;
00074     public:
00090         void fetch(
00091             const Session& session,
00092                   TrList&  dest,
00093             const NwOid&   nwId,
00094                   bool     availOnly
00095         );
00096     private:
00098         bool read(
00099             const Session&                session,
00100                   OSB_LIB::TrunkResource& tr
00101         ) const;
00102 
00104         bool insert(
00105             const Session&                session,
00106             const OSB_LIB::TrunkResource& tr
00107         ) const;
00108 
00110         bool update(
00111             const Session&                session,
00112             const OSB_LIB::TrunkResource& tr
00113         ) const;
00114 
00124         bool remove(
00125             const Session&                session,
00126             const OSB_LIB::TrunkResource& tr
00127         ) const;
00128 
00140         bool insTrkGroup(
00141             const Session&                               session,
00142             const OSB_LIB::TrunkResource::Oid&           trId,
00143             const OSB_LIB::TrunkResource::AssignedTrunk& assignedTg
00144         ) const;
00145 
00157         bool updTrkGroup(
00158             const Session&                          session,
00159             const OSB_LIB::TrunkResource::Oid&      trId,
00160             const OSB_LIB::Id<OSB_LIB::TrunkGroup>& tgId
00161         ) const;
00162 
00163     };
00164 
00165 // *********************************************************************
00166 // inline definitions
00167 
00168 }                                       // namespace OSB_DB
00169 #endif                                  // #ifndef _TRUNKRESOURCEGW_H_

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