--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/supl/locationsuplfw/settingsapi/inc/epos_csuplsettingextensionparams.h Tue Feb 02 01:06:48 2010 +0200
@@ -0,0 +1,152 @@
+/*
+* Copyright (c) 2007-2008 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: SUPL Settings extension parameter class
+*
+*/
+
+
+#ifndef __EPOS_CSUPLSETTINGEXTENSIONPARAMS_H__
+#define __EPOS_CSUPLSETTINGEXTENSIONPARAMS_H__
+
+// INCLUDES
+#include <e32base.h>
+
+// FORWARD DECLARATIONS
+
+// CONSTANTS
+
+// CLASS DECLARATION
+
+/**
+ * This class is used to specify/retrieve the desired extended server properties. The required memory for
+ * the parameters will be allocated during construction of this class and this class owns
+ * the memory allocated. And same will be released when this class is destroyed. The
+ * server property includes
+ * - AGPS server ID.
+ * - Internet Access point 1.
+ * - Internet Access point 2.
+ * - Server address type.
+ */
+class CServerExtensionParams : public CBase
+ {
+ public: // Constructors and destructor
+
+
+ /**
+ * Two-phased constructor.
+ *
+ * @since S60 5.1
+ * @returns A new instance of this class.
+ */
+ IMPORT_C static CServerExtensionParams* NewL();
+
+ /**
+ * Two-phased constructor.
+ *
+ * @since S60 5.1
+ * @returns A new instance of this class.
+ */
+ IMPORT_C static CServerExtensionParams* NewLC();
+
+ /**
+ * Destructor.
+ *
+ * @since S60 5.1
+ *
+ */
+ IMPORT_C ~CServerExtensionParams();
+
+ private:
+
+ /**
+ * C++ default constructor.
+ *
+ * @since S60 5.1
+ *
+ */
+ CServerExtensionParams();
+
+ /**
+ * By default EPOC constructor is private.
+ *
+ * @since S60 5.1
+ *
+ */
+ void ConstructL();
+public:
+
+ /**
+ * Sets server parameters.
+ *
+ * @param [IN] aServerId Server identifier.Max length can be KMaxServerIdLen.
+ * @param [IN] aIap1 The Internet Access Point Name refers to the access point which is
+ * used to access the HSLP over the internet. This can have maximum size of 100 characters.
+ * @param [IN] aIap2 The Internet Access Point Name refers to the access point which is
+ * used to access the HSLP over the internet. This can have maximum size of 100 characters.More than one Iap are used for fallback
+ * in case of failures.
+ * @param [IN] aServerAddr Server address type.Max. length can be KMaxServerAddLen.
+ * @param [IN] aServerAddType Inidcates server address type.Max. length can be KMaxServerAddTypeLen.
+ *
+ * @return following error codes
+ * - KErrNone if successful
+ * - KErrArgument if any of the argument is not in the specified range
+ */
+ IMPORT_C TInt Set(
+ const TDesC& aServerId,
+ const TDesC& aIap1,
+ const TDesC& aIap2,
+ const TDesC& aServerAddr,
+ const TDesC& aServerAddType
+ );
+
+
+ /**
+ * Returns server parameters.
+ *
+ * @param [OUT] aServerId Server identifier
+ * @param [OUT] aIap1 The Internet Access Point Name refers to the access point which is
+ * used to access the HSLP over the internet.
+ * @param [OUT] aIap2 The Internet Access Point Name refers to the access point which is
+ * used to access the HSLP over the internet.More than one Iap are used for fallback
+ * in case of failures.
+ * @param [OUT] aServerAddr Inidcates server address.
+ * @param [OUT] aServerAddType Inidcates server address type.If not set before,default value is "FQDN".
+ *
+ * @return following error codes
+ * - KErrNone if successful
+ * - KErrNotFound if all parameters has reset value
+ * - KErrOverflow if the input descriptors are too small to hold the values
+ * - KErrArgument if client has not allocated buffer for any parameter i.e. if its NULL.
+ */
+ IMPORT_C TInt Get(
+ TPtr aServerId,
+ TPtr aIap1,
+ TPtr aIap2,
+ TPtr aServerAddr,
+ TPtr aServerAddType
+ ) const;
+
+private:
+ HBufC* iServerId;
+ HBufC* iIap1;
+ HBufC* iIap2;
+ HBufC* iServerAddr;
+ HBufC* iServerAddType;
+
+
+ //To indicate if the values were set using the Set method
+ TBool iIsValueSet;
+ };
+
+#endif /* __EPOS_CSUPLSETTINGEXTENSIONPARAMS_H__ */