uimcard.h

Go to the documentation of this file.
00001 // OSB library ************************************************ -*- C++ -*-
00006 /*
00007   AUTHOR(S): Stephan Broennimann (vb)
00008 
00009   RCS information
00010    $Name: OSB_060808 $
00011    $Revision: 1.7 $
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 _UIMCARD_H_
00031 #define _UIMCARD_H_
00032 
00033 // ************************************************************************
00034 // included header files
00035 // + standard includes
00036 #include <string>
00037 
00038 // + libraries
00039 
00040 // + local headers
00041 #include "device.h"
00042 #include "imsiresource.h"
00043 
00044 // + class declarations
00045 namespace OSB_DB {
00046     class Session;
00047     class UimCardGw;
00048 }
00049 
00050 namespace OSB_LIB {
00051     class UimCardCreator;
00052 }
00053 
00054 // ************************************************************************
00055 // namespace extensions
00056 namespace OSB_LIB {
00057 
00058 // ************************************************************************
00059 // forward declarations
00060 
00061 // ************************************************************************
00062 // type definitions
00063 
00064 // ************************************************************************
00065 // class definitions
00076     class UimCard : public Device {
00083         friend class UimCardCreator;
00085         friend class OSB_DB::UimCardGw;
00086     public:
00088         static const Type type_;
00089     public:
00091         UimCard(const Oid& oid = Oid());
00092 
00093     public:
00095         Type type() const;
00096 
00098 
00099 
00105         const ImsiResource& imsi() const;
00111         const std::string& iccId() const;
00121         const std::string& uimId() const;
00125         const std::string& pin1() const;
00129         const std::string& pin2() const;
00133         const std::string& puk1() const;
00137         const std::string& puk2() const;
00139 
00141 
00142 
00149         void read(
00150             const OSB_DB::Session& session
00151         );
00152 
00166         void saveData(
00167             const OSB_DB::Session& session,
00168                   bool             noWait
00169         );
00181         void remove(
00182             const OSB_DB::Session& session,
00183                   bool             noWait
00184         );
00186 
00187     private:
00193         std::string uimId_;
00197         ImsiResource imsi_;
00203         std::string iccId_;
00207         std::string pin1_;
00211         std::string pin2_;
00215         std::string puk1_;
00219         std::string puk2_;
00220     };                                  // class UimCard
00221 }                                       // namespace OSB_LIB
00222 
00223 // ************************************************************************
00224 // inline definitions
00225 namespace OSB_LIB {
00226 }                                       // namespace OSB_LIB
00227 #endif                                  // #ifndef _UIMCARD_H_

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