locationrequestmgmt/locationserver/LbsQualityProfileApi/inc/lbsqualityprofileapi.h
changeset 0 9cfd9a3ee49c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationrequestmgmt/locationserver/LbsQualityProfileApi/inc/lbsqualityprofileapi.h	Tue Feb 02 01:50:39 2010 +0200
@@ -0,0 +1,123 @@
+// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// Location Based Services Quality Profile API
+// 
+//
+
+/**
+ @file
+ @publishedPartner
+ @released
+*/
+
+#ifndef LBS_QUALITY_PROFILE_API_H
+#define LBS_QUALITY_PROFILE_API_H
+
+#include <e32base.h>
+#include <lbs/lbsadmin.h>
+
+class CLbsQualityProfileApiImpl;
+
+
+/** Defined type for setting identifiers
+*/
+typedef TUint64 TLbsQualityProfileApiSetting;
+
+/** No setting */
+const TLbsQualityProfileApiSetting KLbsQualityProfileSettingNone			= 0x0000000000000000;
+
+/** Horizontal Accuracy setting.
+The default horizontal accuracy for a profile.
+*/
+const TLbsQualityProfileApiSetting KLbsQualityProfileHorizontalAccuracy		= 0x0000000000000001;
+
+/** Vertical Accuracy setting.
+The default vertical accuracy for a profile.
+*/
+const TLbsQualityProfileApiSetting KLbsQualityProfileVerticalAccuracy		= 0x0000000000000002;
+
+/** Max Fix Time setting.
+The default maximum fix time for a profile.
+*/
+const TLbsQualityProfileApiSetting KLbsQualityProfileMaxFixTime				= 0x0000000000000004;
+
+/** Measurement Initial Time setting.
+This is the timeout used for the initial location request when 
+starting a 'hybrid' location request. 
+
+Note: A 'hybrid' request is one where the network will accept either an
+accurate GPS location or raw GPS measurement data as a response.
+*/
+const TLbsQualityProfileApiSetting KLbsQualityProfileMeasurementInitialFixTime
+																			= 0x0000000000000008;
+/** Measurement Intermediate Time setting.
+This is the timeout used for the every location request except the first
+when continuing a 'hybrid' location request.
+
+Note: A 'hybrid' request is one where the network will accept either an
+accurate GPS location or raw GPS measurement data as a response.
+*/
+const TLbsQualityProfileApiSetting KLbsQualityProfileMeasurementIntermediateFixTime	
+																			= 0x0000000000000010;
+
+/** Hybrid Time setting.
+@deprecated Use KLbsQualityProfileMeasurementInitialFixTime instead.
+*/
+const TLbsQualityProfileApiSetting KLbsQualityProfileHybridTime				= KLbsQualityProfileMeasurementInitialFixTime;
+
+/**
+This is the time allowed for the network to produce a final network position after maxfix time has passed
+*/
+const TLbsQualityProfileApiSetting KLbsQualityProfileFinalNetPositionLag		= 0x0000000000000020;
+
+
+/** Location Based Services Quality Profile API.
+A client uses this API to retrieve values stored in the Quality Profile 
+installed for LBS.
+
+One example client of this API is the Network Protocol Module.
+
+The Quality Profile values represent vendor-specific quality criteria 
+that are used in the course of handling location service requests.
+*/
+class CLbsQualityProfileApi : public CBase
+	{
+public:		
+	IMPORT_C static CLbsQualityProfileApi* NewL();
+	virtual ~CLbsQualityProfileApi();
+	
+	template <typename T>
+		inline TInt Get(const TLbsQualityProfileId& aProfileId,
+						const TLbsQualityProfileApiSetting& aSetting, 
+						T& aValue) const;
+	
+private:
+	CLbsQualityProfileApi();
+	void ConstructL();
+	
+	IMPORT_C TInt DoGet(const TLbsQualityProfileId& aProfileId,  
+						const TLbsQualityProfileApiSetting& aSetting, 
+						TReal32& aRealValue) const;
+	IMPORT_C TInt DoGet(const TLbsQualityProfileId& aProfileId,
+						const TLbsQualityProfileApiSetting& aSetting, 
+						TTimeIntervalMicroSeconds& aTimeValue) const;
+
+private:
+	/** pointer to the implementation */
+	CLbsQualityProfileApiImpl* iImpl;
+	};
+	
+#include <lbs/lbsqualityprofileapi.inl>
+
+#endif //LBS_QUALITY_PROFILE_API_H