00001 /* 00002 * ============================================================================== 00003 * Name : LbsSatellite.h 00004 * Part of : Location Framework/Location FW 00005 * Interface : Location Acquisition API 00006 * Description : GPS Satellite Data classes 00007 * Version : %version: 3 % 00008 * 00009 * Copyright (c) 2002-2006 Nokia Corporation. 00010 * This material, including documentation and any related 00011 * computer programs, is protected by copyright controlled by 00012 * Nokia Corporation. All rights are reserved. Copying, 00013 * including reproducing, storing, adapting or translating, any 00014 * or all of this material requires the prior written consent of 00015 * Nokia Corporation. This material also contains confidential 00016 * information which may not be disclosed to others without the 00017 * prior written consent of Nokia Corporation. 00018 * ============================================================================== 00019 */ 00020 00021 #ifndef __LBSSATELLITE_H__ 00022 #define __LBSSATELLITE_H__ 00023 00024 #include <LbsPosition.h> 00025 #include <LbsPositionInfo.h> 00026 00027 const TUint KPositionMaxSatellitesInView = 20; 00028 00029 00033 class TSatelliteData 00034 { 00035 public: 00040 IMPORT_C TSatelliteData(); 00041 00045 IMPORT_C TInt SatelliteId() const; 00046 00053 IMPORT_C void SetSatelliteId(TInt aSatelliteId); 00054 00062 IMPORT_C TReal32 Azimuth() const; 00063 00070 IMPORT_C void SetAzimuth(TReal32 aAzimuth); 00071 00078 IMPORT_C TReal32 Elevation() const; 00079 00086 IMPORT_C void SetElevation(TReal32 aElevation); 00087 00092 IMPORT_C TBool IsUsed() const; 00093 00100 IMPORT_C void SetIsUsed(TBool aIsUsed); 00101 00106 IMPORT_C TInt SignalStrength() const; 00107 00114 IMPORT_C void SetSignalStrength(TInt aSignalStrength); 00115 00116 protected: 00118 TInt iSatelliteId; 00120 TReal32 iAzimuth; 00122 TReal32 iElevation; 00124 TBool iIsUsed; 00126 TInt iSignalStrength; 00127 00128 private: 00130 TUint8 iReserved[16]; 00131 }; 00132 00136 class TPositionSatelliteInfo : public TPositionCourseInfo 00137 { 00138 public: 00142 IMPORT_C TPositionSatelliteInfo(); 00143 00152 IMPORT_C TInt GetSatelliteData(TUint aIndex, TSatelliteData& aSatelliteData) const; 00153 00164 IMPORT_C TInt AppendSatelliteData(const TSatelliteData& aSatelliteData); 00165 00171 IMPORT_C TInt NumSatellitesInView() const; 00172 00176 IMPORT_C void ClearSatellitesInView(); 00177 00183 IMPORT_C TInt NumSatellitesUsed() const; 00184 00189 IMPORT_C TTime SatelliteTime() const; 00190 00197 IMPORT_C void SetSatelliteTime(TTime aTime); 00198 00205 IMPORT_C TReal32 HorizontalDoP() const; 00206 00213 IMPORT_C TReal32 VerticalDoP() const; 00214 00221 IMPORT_C TReal32 TimeDoP() const; 00222 00229 IMPORT_C void SetHorizontalDoP(TReal32 aDoPValue); 00230 00237 IMPORT_C void SetVerticalDoP(TReal32 aDoPValue); 00238 00245 IMPORT_C void SetTimeDoP(TReal32 aDoPValue); 00246 00247 protected: 00249 TUint iNumSatellitesInView; 00251 TUint iNumSatellitesUsed; 00253 TTime iSatelliteTime; 00255 TReal32 iHorizontalDoPValue; 00257 TReal32 iVerticalDoPValue; 00259 TReal32 iTimeDoPValue; 00261 TFixedArray<TSatelliteData, KPositionMaxSatellitesInView> iSatellitesInView; 00262 00263 private: 00265 TUint8 iReserved[24]; 00266 }; 00267 00268 //__LBSSATELLITE_H__ 00269 #endif