filter-gw.h

Go to the documentation of this file.
00001 // OSB library ********************************************* -*- C++ -*-
00006 /*
00007   AUTHOR(S): Manikandan (mk)
00008 
00009   RCS information
00010    $Name: OSB_060808 $
00011    $Revision: 1.10 $
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 _FILTERGW_H_
00031 #define _FILTERGW_H_
00032 
00033 // *********************************************************************
00034 // included header files
00035 // + standard includes
00036 
00037 // + local headers
00038 #include "filter.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 
00057     struct FilterGw {
00058 
00063         friend class OSB_LIB::Filter;
00064 
00078         bool fetch(const Session& session,OSB_LIB::Filter& filt);
00079 
00089         long fetch(const Session& session,OSB_LIB::Filters& filts);
00090 
00091         private:
00092 
00112         bool insFc(const Session& session,OSB_LIB::Filter& filt);
00113 
00132         bool updFc(const Session& session,OSB_LIB::Filter& filt);
00133 
00149         bool removeFc(const Session& session,OSB_LIB::Filter& filt);
00150 
00159         OSB_LIB::ObjectStatus checkObjVs(
00160             const Session&         session,
00161             const OSB_LIB::Filter& filt
00162         );
00163     };
00164 
00170     struct FilterVersionGw {
00171 
00172         friend class OSB_LIB::FilterVersion;
00173 
00188         bool fetch(
00189             const Session&                session,
00190                   OSB_LIB::FilterVersion& fv
00191         );
00192 
00204         long fetch(
00205             const Session&                 session,
00206                   OSB_LIB::FilterVersions& fvs
00207         );
00208 
00209         private:
00210 
00226         bool insFv(
00227             const Session&                session,
00228                   OSB_LIB::FilterVersion& fv
00229         );
00230 
00248         bool updFv(
00249             const Session&                session,
00250                   OSB_LIB::FilterVersion& fv
00251         );
00252 
00268         bool removeFv(
00269             const Session&                session,
00270                   OSB_LIB::FilterVersion& fv
00271         );
00272 
00281         OSB_LIB::ObjectStatus checkObjVs(
00282             const Session&                session,
00283             const OSB_LIB::FilterVersion& fv
00284         );
00285 
00294         OSB_LIB::CfgStatus getStatus(
00295             const Session&                     session,
00296             const OSB_LIB::FilterVersion::Oid& oid
00297         );
00298 
00310         void setStatus(
00311             const Session&                     session,
00312             const OSB_LIB::FilterVersion::Oid& oid,
00313             const OSB_LIB::CfgStatus&          status
00314         );
00315 
00330         bool isReleasedInFuture(
00331             const Session&                     session,
00332             const OSB_LIB::FilterVersion::Oid& oid
00333         );
00334     };
00335 
00341     struct FilterExprGw {
00342 
00348         friend class OSB_LIB::FilterExpr;
00349 
00364         bool fetch(const Session& session,OSB_LIB::FilterExpr& fe);
00365 
00376         long fetch(const Session& session,OSB_LIB::FilterExprs& fes);
00377 
00378         private:
00379 
00394         bool insFe(const Session& session,OSB_LIB::FilterExpr& fe);
00408         bool updFe(const Session& session,OSB_LIB::FilterExpr& fe);
00409 
00425         bool removeFe(
00426             const Session&             session,
00427                   OSB_LIB::FilterExpr& fe
00428         );
00429 
00438         OSB_LIB::ObjectStatus checkObjVs(
00439             const Session&             session,
00440             const OSB_LIB::FilterExpr& fv
00441         );
00442 
00451         OSB_LIB::CfgStatus getStatus(
00452             const Session&                  session,
00453             const OSB_LIB::FilterExpr::Oid& oid
00454         );
00455 
00467         void setStatus(
00468             const Session&                  session,
00469             const OSB_LIB::FilterExpr::Oid& oid,
00470             const OSB_LIB::CfgStatus&       status
00471         );
00472 
00486         bool isReleasedInFuture(
00487             const Session&                  session,
00488             const OSB_LIB::FilterExpr::Oid& oid
00489         );
00490     };
00491 
00497     struct FilterCondGw {
00498 
00504         friend class OSB_LIB::FilterCond;
00505 
00520         bool fetch(
00521             const Session&             session,
00522                   OSB_LIB::FilterCond& fc
00523         );
00524 
00535         long fetch(
00536             const Session&              session,
00537                   OSB_LIB::FilterConds& fcs
00538         );
00539 
00540         private:
00541 
00556         bool insFc(
00557             const Session&             session,
00558                   OSB_LIB::FilterCond& fc
00559         );
00560 
00574         bool updFc(
00575             const Session&             session,
00576                   OSB_LIB::FilterCond& fc
00577         );
00578 
00594         bool removeFc(
00595             const Session&             session,
00596                   OSB_LIB::FilterCond& fc
00597         );
00606         OSB_LIB::ObjectStatus checkObjVs(
00607             const Session&             session,
00608             const OSB_LIB::FilterCond& fv
00609         );
00610 
00619         OSB_LIB::CfgStatus getStatus(
00620             const Session&                  session,
00621             const OSB_LIB::FilterCond::Oid& oid
00622         );
00623 
00635         void setStatus(
00636             const Session&                  session,
00637             const OSB_LIB::FilterCond::Oid& oid,
00638             const OSB_LIB::CfgStatus&       status
00639         );
00640 
00654         bool isReleasedInFuture(
00655             const Session&                  session,
00656             const OSB_LIB::FilterCond::Oid& oid
00657         );
00658     };
00659 
00664     struct ScFilterGw {
00665 
00671         friend class OSB_LIB::ScFilter;
00672 
00689         bool fetch(
00690             const Session&           session,
00691                   OSB_LIB::ScFilter& scfc
00692         );
00693 
00694         private:
00695 
00711         bool insScCond(
00712             const Session&           session,
00713                   OSB_LIB::ScFilter& scfc
00714         );
00715 
00731         bool updScCond(
00732             const Session&           session,
00733                   OSB_LIB::ScFilter& scfc
00734         );
00735 
00754         bool removeScCond(
00755             const Session&           session,
00756                   OSB_LIB::ScFilter& scfc
00757         );
00758     };
00759 
00764     struct TcFilterGw {
00765 
00771         friend class OSB_LIB::TcFilter;
00772 
00789         bool fetch(
00790             const Session&           session,
00791                   OSB_LIB::TcFilter& tcfc
00792         );
00793 
00794         private:
00795 
00811         bool insTcCond(
00812             const Session&           session,
00813                   OSB_LIB::TcFilter& tcfc
00814         );
00815 
00831         bool updTcCond(
00832             const Session&           session,
00833                   OSB_LIB::TcFilter& tcfc
00834         );
00835 
00853         bool removeTcCond(
00854             const Session&           session,
00855                   OSB_LIB::TcFilter& tcfc
00856         );
00857     };
00858 // *********************************************************************
00859 // inline definitions
00860 
00861 }                                       // namespace OSB_DB
00862 #endif                                  // #ifndef _FILTERGW_H_

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