00001
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef _UIMCARD_H_
00031 #define _UIMCARD_H_
00032
00033
00034
00035
00036 #include <string>
00037
00038
00039
00040
00041 #include "device.h"
00042 #include "imsiresource.h"
00043
00044
00045 namespace OSB_DB {
00046 class Session;
00047 class UimCardGw;
00048 }
00049
00050 namespace OSB_LIB {
00051 class UimCardCreator;
00052 }
00053
00054
00055
00056 namespace OSB_LIB {
00057
00058
00059
00060
00061
00062
00063
00064
00065
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 };
00221 }
00222
00223
00224
00225 namespace OSB_LIB {
00226 }
00227 #endif // #ifndef _UIMCARD_H_