diff -r 4c4ed41530db -r 73f6c2762ffe locationsystemui/locationsysui/possettings/poslocationservices/inc/poslocationservicesengineprivate.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/locationsystemui/locationsysui/possettings/poslocationservices/inc/poslocationservicesengineprivate.h Thu May 27 13:18:17 2010 +0300 @@ -0,0 +1,109 @@ +/* +* Copyright (c) 2010 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: Class declaration of PosLocationServicesEnginePrivate. +* +*/ +#ifndef POSLOCATIONSERVICESENGINEPRIVATE_H +#define POSLOCATIONSERVICESENGINEPRIVATE_H + +#include "poslocationservicescommon.h" +#include + +// Forward declaration +class CSuplSettings; + +/** + * The class defines the interface to get notification on location + * service update.The class interested in location service update + * should inherit from this class. + */ +class PosLocationServiceUpdateObserver + { +public: + virtual void handleLocationServiceUpdate() = 0; + }; + + +/** + * PosLocationServicesEnginePrivate class implements the engine logic.This + * provides wrapper over SUPL settings API + */ +class PosLocationServicesEnginePrivate : public MSuplSessionObserver + { +public: + /** + * Constructor + */ + PosLocationServicesEnginePrivate( PosLocationServiceUpdateObserver& + aObserver ); + + /** + * Destructor + */ + virtual ~PosLocationServicesEnginePrivate(); + + /** + * Retrieves all location services info. + * + * @param[out] locationServiceList List of location + * services info. + * @return - KErrNone if location services information retrieved successfully. + * - KErrNotFound if there are no location services. + * otherwise system wide error codes. + */ + int GetLocationServices( QList& + aLocationServiceList ); + + /** + * Retrieves all location services info. + * + * @param[out] locationServiceList List of location + * services info. + * @leaves - KErrNone if location services information retrieved successfully. + * - KErrNotFound if there are no location services. + * otherwise system wide error codes. + */ + void GetLocationServicesL( QList& + aLocationServiceList ); + /** + * Removes location service based on the service Id. + * + * @param [in] serviceId Location service Id. + * + * @return following error codes + * - KErrNone if successful + * - KErrNotFound if service is not found + * otherwise system wide error codes. + */ + int RemoveLocationService( int aServiceId ); + +public: // From MSuplSessionObserver + virtual void HandleSuplSessionChangeL( + TSuplSessionEventType aEvent,TInt64 aSessionId ); + +private:// Data members + + /** + * Reference to location service update observer. + */ + PosLocationServiceUpdateObserver& mObserver; + + /** + * Pointer to SUPL settings object. + * Own + */ + CSuplSettings* mSuplSettings; + }; + +#endif /* POSLOCATIONSERVICESENGINEPRIVATE_H */