diff -r e1b950c65cb4 -r 837f303aceeb epoc32/include/lbs/lbshostsettings.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/epoc32/include/lbs/lbshostsettings.h Wed Mar 31 12:33:34 2010 +0100 @@ -0,0 +1,160 @@ +// 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: +// This file defines the interface to the list of remote hosts used +// by the LBS subsystem. +// +// + +/** + @file + @publishedPartner + @deprecated +*/ + +#ifndef LBSHOSTSETTINGS_H_ +#define LBSHOSTSETTINGS_H_ + +#include +#include + +/** + * The ID of the Central Repository store used by the Host Settings API + */ +const TLbsHostStoreId KLbsHostSettingsSuplStoreId = {0x10285AA8}; + +/** + * The host settings creator UID used by the device provisioning plug-ins. + * If host settings have this creator ID they can be used for network initiated location requests + */ +const TLbsHostCreatorId KLbsHostSettingsDevProvCreatorId = {0x10285AA9}; + +/** + * A test host settings creator UID + */ +const TLbsHostCreatorId KLbsHostSettingsTestCreatorId = {0x10285AAA}; + +class CLbsHostSettingsStoreImpl; +class MLbsHostSettingsStoreImpl; + +/** +Interface that receives notification of changes to a host settings data store. +A reference to an object of this class can be passed to CLbsHostSettingsStore::NewL() +to register a client as a host settings data store observer. +@see CLbsHostSettingsStore +@publishedPartner +@deprecated +*/ +class MLbsHostSettingsStoreObserver + { + +public: + IMPORT_C virtual TVersion Version() const; + + /** + Receive notification that the contents of the data store have changed. + + This method is called when a host settings entry in the data store been changed by + another client session. It specifies the ID of the entry that has changed + and also which store it belongs to. + + Note: An application will not receive notification updates to changes it + itself has made to the same instance of CLbsHostSettingsStore. + + @param aError KErrNone if an entry has been changed, otherwise an + error code from CenRep indicating a notification + request failure. + @param aStoreId Identifies which data store has been updated or + incurred an error. + @param aSettingsId Contains the ID of the host settings that has changed. + Valid only when aError == KErrNone. + + */ + IMPORT_C virtual void LbsHostSettingsUpdated(TInt aError, TLbsHostStoreId aStoreId, TLbsHostSettingsId aSettingsId) const = 0; + + +protected: + IMPORT_C virtual TAny* ExtendedInterface(TInt aFunctionNumber, TAny* aPtr1, TAny* aPtr2); + }; + + +/** +A class that encapsulates a host settings data store. + +A host settings data store contains settings that describe the server hosts that the LBS subsystem +uses. For example, for the SUPL protocol, the data store contains settings for the SUPL servers that are used +for location requests (from local client applications and from the network), settings that define the authentication +type that should be used between client and server and the internet access point to use for network connections. +This class has methods to create a new host settings store, to create, modify and delete host settings and set the host +settings that should be used as defaults. +@see MLbsHostSettingsStoreObserver +@publishedPartner +@deprecated +*/ +class CLbsHostSettingsStore : public CBase + { +public: + IMPORT_C static CLbsHostSettingsStore* NewL(TLbsHostStoreId aStoreId); + + IMPORT_C static CLbsHostSettingsStore* NewL(TLbsHostStoreId aStoreId, MLbsHostSettingsStoreObserver& aObserver); + + + IMPORT_C TInt CreateHostSettings(const TLbsHostSettingsBase& aSettings, TLbsHostCreatorId aCreatorId, TLbsHostSettingsId& aSettingsId); + + IMPORT_C TInt UpdateHostSettings(TLbsHostSettingsId aSettingsId, const TLbsHostSettingsBase& aSettings); + + IMPORT_C TInt GetHostSettings(TLbsHostSettingsId aSettingsId, TLbsHostSettingsBase& aSettings) const; + + + IMPORT_C TInt RewindHostSettings(); + + IMPORT_C TInt GetNextHostSettings(TLbsHostSettingsBase& aSettings, TLbsHostSettingsId& aSettingsId); + + IMPORT_C TInt GetNextHostSettingsByCreator(TLbsHostCreatorId aCreatorId, TLbsHostSettingsBase& aSettings, TLbsHostSettingsId& aSettingsId); + + + IMPORT_C TInt SetDefaultHostSettings(TLbsHostSettingsId aSettingsId); + + IMPORT_C TInt GetDefaultHostSettings(TLbsHostSettingsBase& aSettings) const; + + IMPORT_C TInt GetDefaultHostSettings(TLbsHostSettingsBase& aSettings, TLbsHostSettingsId& aSettingsId) const; + + IMPORT_C TInt DeleteHostSettings(TLbsHostSettingsId aSettingsId); + + IMPORT_C ~CLbsHostSettingsStore(); + +protected: + /** + Default constructor for the settings store. + */ + CLbsHostSettingsStore(); + void ConstructL(TLbsHostStoreId aStoreId, MLbsHostSettingsStoreObserver *aObserver); + +private: + /** + * In order to maintain two implementations behind one interface + * we are holding two different versions of the implementation. + * The pointer to the C class will only be used for instantiation + * and destruction, we shall use the pointer to the mixin for + * everything else. + */ + CLbsHostSettingsStoreImpl* iImplementation; + MLbsHostSettingsStoreImpl* iSettingsStore; + +private: + }; + + +#endif // LBSHOSTSETTINGS_H_ + +