osbuser-gw.h

Go to the documentation of this file.
00001 // OSB library ********************************************* -*- C++ -*-
00006 /*
00007   AUTHOR(S): Elangovan Angannan (aen)
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 _OSB_USERGW_H_
00031 #define _OSB_USERGW_H_
00032 
00033 // *********************************************************************
00034 // included header files
00035 // + standard includes
00036 
00037 // + local headers
00038 
00039 // + class declarations
00040 namespace OSB_DB {
00041     class Session;
00042 }
00043 namespace OSB_LIB {
00044     class OsbUser;
00045     class Users;
00046 }
00047 
00048 // *********************************************************************
00049 // namespace extensions
00050 namespace OSB_DB {
00051 
00052 // *********************************************************************
00053 // class definitions
00057     class OsbUserGw {
00059         friend class OSB_LIB::OsbUser;
00060     public:
00074         bool fetch(
00075             const Session&          session,
00076                   OSB_LIB::OsbUser& osbUser
00077         );
00078 
00085         void fetch(
00086             const Session&        session,
00087                   OSB_LIB::Users& osbUsers
00088         );
00089 
00090     private:
00105         void insert(
00106             const Session&          session,
00107                   OSB_LIB::OsbUser& osbUser
00108         );
00109 
00124         void update(
00125             const Session&          session,
00126                   OSB_LIB::OsbUser& osbUser
00127         );
00128 
00138         void remove(
00139             const Session&          session,
00140                   OSB_LIB::OsbUser& osbUser
00141         );
00142 
00143     private:
00152         void lock(
00153             const Session&          session,
00154             const OSB_LIB::OsbUser& osbUser
00155         );
00156     };
00157 }                                       // namespace OSB_DB
00158 #endif                                  // #ifndef _OSB_USERGW_H_

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