00001
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040 #ifndef _NWADDRESS_H_
00041 #define _NWADDRESS_H_
00042
00043
00044
00045
00046 #include <string>
00047
00048
00049
00050
00051
00052
00053
00054
00055 namespace OSB_LIB {
00056
00057
00058
00059
00060
00061
00072 class NwAddress {
00073 public:
00084 enum Np {
00085 npUnknown = 0,
00086 npTelephony = 1,
00087 npData = 3,
00088 npTelex = 4,
00089 npLandMobile = 6,
00090 npIsdnMobile = 7,
00091 npNational = 8,
00092 npPrivate = 9
00093 };
00094
00104 enum Ton {
00105 tonNotSet = -1,
00106 tonDialled = 0,
00107 tonInternational = 1,
00108 tonNational = 2,
00109
00113 tonNetworkSpecific = 3,
00114 tonSubscriber = 4,
00115
00120 tonUnknown = 5,
00121 tonAbbreviated = 6
00122 };
00123
00131 static Np toNp(long np);
00132
00140 static long toLong(Np np);
00141
00149 static Ton toTon(long ton);
00150
00158 static long toLong(Ton ton);
00159
00166 enum ModInd {
00168 miUnmodified = 0,
00170 miModified = 1
00171 };
00172
00173 public:
00182 NwAddress()
00183 : modInd_(miUnmodified), np_(npUnknown),
00184 ton_(tonNotSet), analyzedTon_(tonNotSet) {}
00185
00187 void clear();
00188
00189 public:
00191 ModInd modInd_;
00193 Np np_;
00195 Ton ton_;
00197 std::string original_;
00204 Ton analyzedTon_;
00211 std::string analyzed_;
00212
00214 std::string countryCode_;
00215 };
00216 }
00217 #endif // #ifndef _NWADDRESS_H_