cgi-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.13 $
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 _CGIGW_H_
00031 #define _CGIGW_H_
00032 
00033 // *********************************************************************
00034 // included header files
00035 // + standard includes
00036 
00037 // + local headers
00038 #include "cgi.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 CgiGw
00058     struct CgiGw {
00060         friend class OSB_LIB::Cgi;
00061 
00072         long fetch(
00073             const Session&       session,
00074                   OSB_LIB::Cgis& cgis
00075         );
00076 
00088         bool fetch(
00089             const Session&      session,
00090                   OSB_LIB::Cgi& cgi
00091         );
00092 
00093     private:
00110         bool insCgi(
00111             const Session&      session,
00112                   OSB_LIB::Cgi& cgi
00113         );
00114 
00133         bool delCgi(
00134             const Session&      session,
00135                   OSB_LIB::Cgi& cgi
00136         );
00137 
00158         bool updCgi(
00159             const Session&      session,
00160                   OSB_LIB::Cgi& cgi
00161         );
00162 
00176         OSB_LIB::ObjectStatus checkObjVs(
00177             const Session&      session,
00178             const OSB_LIB::Cgi& cgi
00179         );
00180 
00195         OSB_LIB::CfgStatus getStatus(
00196             const Session&           session,
00197             const OSB_LIB::Cgi::Oid& oid
00198         );
00199 
00215         void setStatus(
00216             const Session&            session,
00217             const OSB_LIB::Cgi::Oid&  oid,
00218             const OSB_LIB::CfgStatus& status
00219         );
00220 
00234         bool bothDateInFuture(
00235             const Session&           session,
00236             const OSB_LIB::Cgi::Oid& oid
00237         );
00238 
00254         bool hasReleasedCp(
00255             const Session&           session,
00256             const OSB_LIB::Cgi::Oid& oid
00257         );
00258 
00270         bool noDateConflict(
00271             const Session&           session,
00272             const OSB_LIB::Cgi::Oid& oid
00273         );
00274 
00286         bool gracePeriodExpired(
00287             const Session&           session,
00288             const OSB_LIB::Cgi::Oid& oid
00289         );
00290 
00303         bool hasOverlapCgi(
00304             const Session&           session,
00305             const OSB_LIB::Cgi::Oid& oid
00306         );
00307     };
00308 
00309 // *********************************************************************
00310 // inline definitions
00311 
00312 }                                       // namespace OSB_DB
00313 #endif                                  // #ifndef _CGIGW_H_

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