00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00027 #ifndef C_LBSLOCATIONINFO_H
00028 #define C_LBSLOCATIONINFO_H
00029
00030
00031 #include <e32std.h>
00032 #include <lbs/lbslocationcommon.h>
00033 #include <lbs/lbslocationwcdmainfo.h>
00034 #include <lbs/lbslocationgsminfo.h>
00035 #include <lbs/lbslocationwlaninfo.h>
00036 #include <lbs/lbslocationposinfo.h>
00037
00038
00046 typedef RPointerArray<CLbsAreaInfoBase> RLbsAreaInfoBaseArray;
00047
00057 NONSHARABLE_CLASS(CLbsLocationInfo) : public CLbsLocationInfoBase
00058 {
00059
00060 public:
00061
00062 typedef TUint32 TAreaInfoMask;
00063
00064 enum _TAreaInfoMask
00065 {
00069 ELbsPosInfo = 0x01,
00070
00074 ELbsGsmInfo = 0x02,
00075
00079 ELbsWcdmaInfo = 0x04,
00080
00084 ELbsWlanInfo = 0x08,
00085
00089 ELbsAreaInfoAll = 0xFFFFFFFF
00090 };
00091
00098 IMPORT_C static CLbsLocationInfo* NewL();
00099
00107 IMPORT_C static CLbsLocationInfo* NewLC();
00108
00112 IMPORT_C ~CLbsLocationInfo();
00113
00121 IMPORT_C void AddAreaInfoL( CLbsAreaInfoBase* aAreaInfo );
00122
00139 IMPORT_C void GetAreaInfoL( RLbsAreaInfoBaseArray& aAreaInfoArray,
00140 TAreaInfoMask aAreaInfoMask = ELbsAreaInfoAll );
00141
00150 IMPORT_C void ResetAreaInfo( TAreaInfoMask aAreaInfoMask
00151 = ELbsAreaInfoAll );
00152
00153 protected:
00154
00158 virtual TLbsLocationInfoClassType Type();
00159
00163 virtual void DoInternaliseL( RReadStream& aStream );
00164
00168 virtual void DoExternaliseL( RWriteStream& aStream ) const;
00169
00170 private:
00171
00175 CLbsLocationInfo();
00176
00180 CLbsLocationInfo( CLbsLocationInfo& );
00181
00185 CLbsLocationInfo& operator = ( CLbsLocationInfo& );
00186
00190 void ConstructL();
00191
00192 private:
00193
00197 RPointerArray<CLbsAreaInfoBase> iAreaInfoArray;
00198
00199 };
00200
00201 typedef RPointerArray<CLbsLocationInfo> RLbsLocationInfoArray;
00202
00203
00204 #endif //C_LBSLOCATIONINFO_H