00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __LBSFIELDS_H__
00022 #define __LBSFIELDS_H__
00023
00024 #include <e32std.h>
00025 #include <LbsFieldIds.h>
00026
00039 typedef TUint16 TPositionFieldId;
00040
00045 typedef TPositionFieldId TPositionFieldIdList[];
00046 class HPositionGenericInfo;
00047
00048
00057 class PositionFieldManager
00058 {
00059 public:
00063 enum TFieldType
00064 {
00066 EUndefined,
00068 ETInt8,
00070 ETInt16,
00072 ETInt32,
00074 ETInt64,
00076 ETUint8,
00078 ETUint16,
00080 ETUint32,
00082 ETReal32,
00084 ETReal64,
00086 ETTime,
00088 ETTimeIntervalMicroSeconds,
00090 ETDesC8,
00092 ETDesC16
00093 };
00094
00095 friend class HPositionGenericInfo;
00096 private:
00111 IMPORT_C static TInt SetValue(TPositionFieldId aFieldId,
00112 TInt8 aValue,
00113 HPositionGenericInfo& aInfo);
00114
00127 IMPORT_C static TInt GetValue(TPositionFieldId aFieldId,
00128 TInt8& aValue,
00129 const HPositionGenericInfo& aInfo);
00130
00145 IMPORT_C static TInt SetValue(TPositionFieldId aFieldId,
00146 TInt16 aValue,
00147 HPositionGenericInfo& aInfo);
00148
00161 IMPORT_C static TInt GetValue(TPositionFieldId aFieldId,
00162 TInt16& aValue,
00163 const HPositionGenericInfo& aInfo);
00164
00179 IMPORT_C static TInt SetValue(TPositionFieldId aFieldId,
00180 TInt32 aValue,
00181 HPositionGenericInfo& aInfo);
00182
00195 IMPORT_C static TInt GetValue(TPositionFieldId aFieldId,
00196 TInt32& aValue,
00197 const HPositionGenericInfo& aInfo);
00198
00213 IMPORT_C static TInt SetValue(TPositionFieldId aFieldId,
00214 const TInt64& aValue,
00215 HPositionGenericInfo& aInfo);
00216
00229 IMPORT_C static TInt GetValue(TPositionFieldId aFieldId,
00230 TInt64& aValue,
00231 const HPositionGenericInfo& aInfo);
00232
00247 IMPORT_C static TInt SetValue(TPositionFieldId aFieldId,
00248 TUint8 aValue,
00249 HPositionGenericInfo& aInfo);
00250
00263 IMPORT_C static TInt GetValue(TPositionFieldId aFieldId,
00264 TUint8& aValue,
00265 const HPositionGenericInfo& aInfo);
00266
00281 IMPORT_C static TInt SetValue(TPositionFieldId aFieldId,
00282 TUint16 aValue,
00283 HPositionGenericInfo& aInfo);
00284
00297 IMPORT_C static TInt GetValue(TPositionFieldId aFieldId,
00298 TUint16& aValue,
00299 const HPositionGenericInfo& aInfo);
00300
00315 IMPORT_C static TInt SetValue(TPositionFieldId aFieldId,
00316 TUint32 aValue,
00317 HPositionGenericInfo& aInfo);
00318
00331 IMPORT_C static TInt GetValue(TPositionFieldId aFieldId,
00332 TUint32& aValue,
00333 const HPositionGenericInfo& aInfo);
00334
00349 IMPORT_C static TInt SetValue(TPositionFieldId aFieldId,
00350 TReal32 aValue,
00351 HPositionGenericInfo& aInfo);
00352
00365 IMPORT_C static TInt GetValue(TPositionFieldId aFieldId,
00366 TReal32& aValue,
00367 const HPositionGenericInfo& aInfo);
00368
00383 IMPORT_C static TInt SetValue(TPositionFieldId aFieldId,
00384 const TReal64& aValue,
00385 HPositionGenericInfo& aInfo);
00386
00399 IMPORT_C static TInt GetValue(TPositionFieldId aFieldId,
00400 TReal64& aValue,
00401 const HPositionGenericInfo& aInfo);
00402
00417 IMPORT_C static TInt SetValue(TPositionFieldId aFieldId,
00418 const TDesC8& aValue,
00419 HPositionGenericInfo& aInfo);
00420
00433 IMPORT_C static TInt GetValue(TPositionFieldId aFieldId,
00434 TDes8& aValue,
00435 const HPositionGenericInfo& aInfo);
00436
00451 IMPORT_C static TInt SetValue(TPositionFieldId aFieldId,
00452 const TDesC16& aValue,
00453 HPositionGenericInfo& aInfo);
00454
00467 IMPORT_C static TInt GetValue(TPositionFieldId aFieldId,
00468 TDes16& aValue,
00469 const HPositionGenericInfo& aInfo);
00470
00483 IMPORT_C static TInt GetValue(TPositionFieldId aFieldId,
00484 TPtrC8& aValue,
00485 const HPositionGenericInfo& aInfo);
00486
00499 IMPORT_C static TInt GetValue(TPositionFieldId aFieldId,
00500 TPtrC16& aValue,
00501 const HPositionGenericInfo& aInfo);
00502
00517 IMPORT_C static TInt SetValue(TPositionFieldId aFieldId,
00518 const TTime& aValue,
00519 HPositionGenericInfo& aInfo);
00520
00533 IMPORT_C static TInt GetValue(TPositionFieldId aFieldId,
00534 TTime& aValue,
00535 const HPositionGenericInfo& aInfo);
00536
00551 IMPORT_C static TInt SetValue(TPositionFieldId aFieldId,
00552 const TTimeIntervalMicroSeconds& aValue,
00553 HPositionGenericInfo& aInfo);
00554
00567 IMPORT_C static TInt GetValue(TPositionFieldId aFieldId,
00568 TTimeIntervalMicroSeconds& aValue,
00569 const HPositionGenericInfo& aInfo);
00570 };
00571
00578 class TPositionFieldIndex
00579 {
00580 public:
00582 inline TPositionFieldIndex();
00583
00590 inline TPositionFieldId FieldId() const;
00596 inline TUint16 FieldStartPos() const;
00603 inline PositionFieldManager::TFieldType FieldType() const;
00610 inline void SetFieldId(TPositionFieldId aFieldId);
00616 inline void SetFieldStartPos(TUint16 aFieldStartPos);
00623 inline void SetFieldType(PositionFieldManager::TFieldType aFieldType);
00624
00625 private:
00627 TPositionFieldId iFieldId;
00630 TUint16 iFieldStartPos;
00632 PositionFieldManager::TFieldType iFieldType;
00633 };
00634
00635
00636 #endif