diff -r 000000000000 -r 667063e416a2 locationsystemui/locationsysui/locsysuiview/inc/locationsettings.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/locationsystemui/locationsysui/locsysuiview/inc/locationsettings.h Tue Feb 02 01:06:48 2010 +0200 @@ -0,0 +1,191 @@ +/* +* Copyright (c) 2006-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 Settings implementation of Location UIs. +* +*/ + + +#ifndef C_LOCATIONSETTINGS_H_ +#define C_LOCATIONSETTINGS_H_ + +// System Include +#include + +// User Includes +#include "locationui.h" +#include "locsettingsuiobserver.h" + +// Forward Declarations +class CLocSettingsUi; +class CAknViewAppUi; + +// Class Definition +/** + * Location Settings implementation of Location UIs. This class extends the + * Location UI interface for Location sub-settings plug-ins. This class acts as + * the container class for the Location sub-settings plug-ins and takes up + * complete ownership of these classes. + * + * @lib locsysuiview.lib + * @since S60 v3.2 + */ +class CLocationSettings : public CBase, + public MLocationUI, + public MLocSettingsUiObserver + { + public: + /** + * Two Phase Constructor. + * + * @param aImplementationId Implementation UID of the settings plug-in. + * @param aAppUi Application's AppUi reference. + * @return CLocationSettings* Pointer to the created object + */ + static CLocationSettings* NewL( const TUid aImplementationId, + CAknViewAppUi& aAppUi ); + + /** + * Two Phase Constructor. The funcion leaves the CLocationSettings object + * on the CleanupStack + * + * @param aImplementationId Implementation UID of the settings plug-in. + * @param aAppUi Application's AppUi reference. + * @return CLocationSettings* Pointer to the created object + */ + static CLocationSettings* NewLC( const TUid aImplementationId, + CAknViewAppUi& aAppUi ); + + /** + * C++ Destructor + */ + virtual ~CLocationSettings(); + + /** + * Accessor Function for the Setings Ui Caption. The function does not + * allocate any buffer but returns its internal buffer. This buffer + * should not be deleted/modified by the callee. + * + * @return const TPtrC Caption String + */ + TPtrC Caption(); + + /** + * Returns the priority of the UI module. + * + * @return TInt Priority of the Settings UI + */ + TInt Priority(); + + /** + * Accessor Function for the Settings Ui Implementation UID + * + * @return TUid Settings UI Plug In's implementation UID + */ + const TUid ImplementationUid(); + + public: // Inherited from MLocationUI + + /** + * Launches a Location UI component. + * + * @param aUiInputParams Flags that define specific configuration of the + * Location UI, that the user of the API wants to + * launch. If more than one functionality is + * requested then the various combinations are to be + * ORed. The interpretation of these flag values is + * a part of the understanding between the API user + * and the corresponding Location UI. + * @param aObserver Observer where the termination of the Launch call + * needs to be notified. + * + */ + virtual void LaunchLocationUIL( TInt aUiInputParams, + MLocationUIObserver* aObserver ); + + /** + * Launches a Location UI component. + * + * @param aUiInputParams String passed as a parameter to the + * Location UI, that the user of the API wants to + * launch. The interpretation of this string is + * a part of the understanding between the API user + * and the corresponding Location UI. + * @param aObserver Observer where the termination of the Launch call + * needs to be notified. + * + */ + virtual void LaunchLocationUIL( const TDesC& aUiInputParams, + MLocationUIObserver* aObserver ); + + /** + * Closes the running Location UI prematurely. + */ + virtual void Close(); + + public:// Inherited from MLocSettingsUiObserver + /** + * Inherited from MLocSettingsUiObserver. Notification from the Settings UI + * to indicate the termination of the Settings UI application + * + * @param aErrorCode The termination reason. KErrNone for normal + * terminations. In case of error or pre-mature aborting + * System wide Error codes. + */ + void SettingClosed( TInt aErrorCode ); + + private: + /** + * C++ Constructor + * + * @param aLocationSettings Pointer to the Location sub-settings UI + * plug-in. The ownership of the plug-in is + * transferred to the constructed class. + */ + CLocationSettings( const TUid aImplementationId ); + + /** + * Second Phase of the two phase constructor + * + */ + void ConstructL( CAknViewAppUi& aAppUi ); + + private: + /** + * Buffer holding the localized caption string that is used to descibe + * the Settings UI + * Owns + */ + HBufC* iCaption; + + /** + * Pointer to the Location Sub-settings UI object + * Owns + */ + CLocSettingsUi* iLocationSettings; + + /** + * Implementation UID of the Location sub-settings UI object + */ + const TUid iImplementationId; + + /** + * Location UI Observer + * Reference + */ + MLocationUIObserver* iObserver; + + }; + +#endif // C_LOCATIONSETTINGS_H_ +