00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00027 #ifndef C_LBSWCDMACELLINFO_H
00028 #define C_LBSWCDMACELLINFO_H
00029
00030
00031 #include <e32base.h>
00032 #include <lbs/lbslocationcommon.h>
00033 #include <lbs/lbslocationwcdmaneighbourinfo.h>
00034
00035
00041 NONSHARABLE_CLASS(CLbsWcdmaCellInfo) : public CLbsAreaInfoBase
00042 {
00043
00044 public:
00045
00053 IMPORT_C static CLbsWcdmaCellInfo* NewL();
00054
00065 IMPORT_C static CLbsWcdmaCellInfo* NewL( const TInt aCountryCode,
00066 const TInt aNetworkCode,
00067 const TInt aUniqueCellId );
00073 IMPORT_C static CLbsWcdmaCellInfo* NewL( const CLbsWcdmaCellInfo& aPositionInfo);
00074
00078 IMPORT_C ~CLbsWcdmaCellInfo();
00079
00085 IMPORT_C void SetMobileCountryCode( const TInt aCountryCode);
00086
00093 IMPORT_C TInt MobileCountryCode() const;
00094
00100 IMPORT_C void SetMobileNetworkCode( const TInt aNetworkCode );
00101
00108 IMPORT_C TInt MobileNetworkCode() const;
00109
00115 IMPORT_C void SetUniqueCellId( const TInt aUniqueCellId );
00116
00123 IMPORT_C TInt UniqueCellId() const;
00124
00130 IMPORT_C void SetScramblingCode( const TInt aScramblingCode );
00131
00138 IMPORT_C TInt ScramblingCode() const;
00139
00145 IMPORT_C void SetSignalStrength( const TInt aRssi );
00146
00153 IMPORT_C TInt SignalStrength() const;
00154
00163 IMPORT_C void AddNeighbouringCellInfoL(
00164 TLbsWcdmaNeighbourCellInfo* aNeighbourCellInfo );
00165
00175 IMPORT_C void GetNeighbouringCellInfoL(
00176 RLbsWcdmaNeighbourCellInfoArray& aNeighbourCellInfo ) const;
00177
00181 IMPORT_C void ResetNeighbouringCellInfo();
00182
00183 public:
00184
00190 virtual TLbsAreaInfoClassType Type();
00191
00208 virtual void ValidateDataL() const;
00209
00210 protected:
00211
00215 virtual void DoInternaliseL( RReadStream& aStream );
00216
00220 virtual void DoExternaliseL( RWriteStream& aStream ) const;
00221
00222 private:
00223
00227 CLbsWcdmaCellInfo();
00228
00232 CLbsWcdmaCellInfo( CLbsWcdmaCellInfo& );
00233
00237 CLbsWcdmaCellInfo& operator=( CLbsWcdmaCellInfo& );
00238
00242 void ConstructL();
00243
00247 void ConstructL( const TInt aCountryCode,
00248 const TInt aNetworkCode,
00249 const TInt aUniqueCellId );
00250
00251 private:
00252
00253 enum _TWcdmaDataValidationMask
00254 {
00255 EWcdmaDataNull = 0x00,
00256 EWcdmaMCC = 0x01,
00257 EWcdmaMNC = 0x02,
00258 EWcdmaUCid = 0x04,
00259 EWcdmaSC = 0x08,
00260 EWcdmaRSSI = 0x10,
00261 };
00262
00266 TInt16 iMCC;
00267
00271 TInt16 iMNC;
00272
00276 TInt32 iUCid;
00277
00281 TInt16 iSCode;
00282
00286 TInt16 iRssi;
00287
00291 TInt8 iDataValidationMask;
00292
00296 RLbsWcdmaNeighbourCellInfoArray iNeighbourCellInfo;
00297
00298 };
00299
00300 #endif // C_POSWCDMACELLINFO_H