ratingfn-gw.h

Go to the documentation of this file.
00001 // OSB library ************************************************ -*- C++ -*-
00006 /*
00007   AUTHOR(S): Tang Boon Leong (tbl)
00008 
00009   RCS information
00010    $Name: OSB_060808 $
00011    $Revision: 1.21 $
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 _RATINGFNGW_H_
00031 #define _RATINGFNGW_H_
00032 
00033 // ************************************************************************
00034 // included header files
00035 // + standard includes
00036 
00037 // + local headers
00038 #include "ratingfn.h"
00039 
00040 // ************************************************************************
00041 // class declarations
00042 namespace OSB_DB {
00043     class Session;
00044 }
00045 
00046 // ************************************************************************
00047 // namespace extensions
00048 namespace OSB_DB {
00049 
00050 // ************************************************************************
00051 // class definitions
00052 
00053     // ********************************************************************
00054     // struct RatingFnGw
00058     struct RatingFnGw {
00062         friend class OSB_LIB::RatingFn;
00063 
00077         bool fetch(
00078             const Session&           session,
00079                   OSB_LIB::RatingFn& rf
00080         );
00081 
00094         long fetch(
00095             const Session&            session,
00096                   OSB_LIB::RatingFns& rfs
00097         );
00098 
00099         private:
00118         bool insRatingFn(
00119             const Session&           session,
00120                   OSB_LIB::RatingFn& rf
00121         );
00122 
00143         bool delRatingFn(
00144             const Session&           session,
00145                   OSB_LIB::RatingFn& rf
00146         );
00147 
00169         bool updRatingFn(
00170             const Session&           session,
00171                   OSB_LIB::RatingFn& rf
00172         );
00173 
00181         OSB_LIB::ObjectStatus checkObjVs(
00182             const Session&           session,
00183             const OSB_LIB::RatingFn& rf
00184         );
00185 
00199         bool isRatingFnUsedByReleasedTfVersion(
00200             const Session&                session,
00201             const OSB_LIB::RatingFn::Oid& oid
00202         );
00203 
00217         bool isRatingFnUsedByFreezedTfVersion(
00218             const Session&                session,
00219             const OSB_LIB::RatingFn::Oid& oid
00220         );
00221 
00237         bool setStatus(
00238             const Session&           session,
00239                   OSB_LIB::RatingFn& rf,
00240                   OSB_LIB::CfgStatus status
00241         );
00242     };
00243 
00244     // ********************************************************************
00245     // struct RfStairCaseGw
00249     struct RfStairCaseGw {
00253         friend class OSB_LIB::RfStairCase;
00254 
00268         bool fetch(
00269             const Session&              session,
00270                   OSB_LIB::RfStairCase& rf
00271         );
00272 
00273         private:
00289         bool insRfStairCase(
00290             const Session&              session,
00291                   OSB_LIB::RfStairCase& rf
00292         );
00293 
00309         bool delRfStairCase(
00310             const Session&              session,
00311                   OSB_LIB::RfStairCase& rf
00312         );
00313 
00328         bool updRfStairCase(
00329             const Session&              session,
00330                   OSB_LIB::RfStairCase& rf
00331         );
00332     };                                  // struct RfStairCaseGw
00333 
00334     // ********************************************************************
00335     // struct RfSlotGw
00339     struct RfSlotGw {
00343         friend class OSB_LIB::RfSlot;
00344 
00358         bool fetch(
00359             const Session&         session,
00360                   OSB_LIB::RfSlot& rf
00361         );
00362 
00363         private:
00379         bool insert(
00380             const Session&         session,
00381                   OSB_LIB::RfSlot& rf
00382         );
00383 
00399         bool remove(
00400             const Session&         session,
00401                   OSB_LIB::RfSlot& rf
00402         );
00403 
00418         bool update(
00419             const Session&         session,
00420                   OSB_LIB::RfSlot& rf
00421         );
00422     };
00423 }                                       // namespace OSB_DB
00424 #endif                                  // #ifndef _RATINGFNGW_H_

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