diff -r f742655b05bf -r d38647835c2e commsconfig/cscengine/inc/cscengstartuphandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsconfig/cscengine/inc/cscengstartuphandler.h Wed Sep 01 12:29:57 2010 +0100 @@ -0,0 +1,231 @@ +/* +* Copyright (c) 2007-2007 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: For CSC application startup parameter handling +* +*/ + + +#ifndef C_CSCENGSTARTUPHANDLER_H +#define C_CSCENGSTARTUPHANDLER_H + + +/** + * An instance of CSCEngStartupHandler + * For CSC application startup parameter handling + * + * @lib CSCEngine.lib + * @since S60 v3.2 + */ +NONSHARABLE_CLASS ( CCSCEngStartupHandler ) : public CBase + { + public: + + /** Enumeration for different startup actions */ + enum TAction + { + EDefaultAction = 0, + EAddSetupPluginService, // for service setup plugins + ERemoveSetupPluginService, + EOpenUiExtension, // for ui extensions plugins + EOpenSettingsUi + }; + + + /** Enumeration for different uid types */ + enum TUidType + { + EPluginUid = 0, + EAppUid + }; + + + /** + * Two-phased constructor. + */ + IMPORT_C static CCSCEngStartupHandler* NewL(); + + + /** + * Destructor. + */ + virtual ~CCSCEngStartupHandler(); + + + /** + * Sets CSC startup parameters. + * + * @since S60 v3.2 + * @param aParameters string containing startup parameters + * @return KErrNone if successful + */ + IMPORT_C TInt SetStartupParametersL( const TDesC& aParameters ); + + + /** + * Gets startup parameter Action + * + * @since S60 v3.2 + * @return action enum + */ + IMPORT_C TAction GetParamAction() const; + + /** + * Gets startup parameter service id + * + * @since S60 v3.2 + * @return service id + */ + IMPORT_C TUint GetParamServiceId() const; + + + /** + * Gets startup parameter UI Extension Plug-in UID + * + * @since S60 v3.2 + * @return plugin uid + */ + IMPORT_C const TUid GetParamPluginUid() const; + + + /** + * Gets startup parameter application UID + * + * @since S60 v3.2 + * @return application uid + */ + IMPORT_C const TUid GetParamAppUid() const; + + + /** + * Gets startup parameter URL. + * + * @since S60 v3.2 + * @param aUrl url is stored here + * @return error code + */ + IMPORT_C TInt GetParamUrl( TDes& aUrl ) const; + + + /** + * Resets uid value by uid type + * + * @since S60 v3.2 + * @param aType plugin type + */ + IMPORT_C void ResetUid( TUidType aType ); + + + /** + * Resets service id + * + * @since S60 v3.2 + */ + IMPORT_C void ResetServiceId(); + + /** + * For settings flag if csc was started from homescreen. + * + * @since S60 v5.0 + */ + IMPORT_C void SetStartedFromHomescreen( TBool aStartedFromHomescreen ); + + /** + * For getting flag if csc was started from homescreen. + * + * @since S60 v5.0 + */ + IMPORT_C TBool StartedFromHomescreen() const; + + + private: + + CCSCEngStartupHandler(); + + + void ConstructL(); + + + /** + * Parses and sets startup parameter action + * + * @since S60 v3.2 + * @param aParameters string containing startup parameters + */ + void SetAction( const TDesC& aParameters ); + + + /** + * Parses and sets startup parameter service id + * + * @since S60 v3.2 + * @param aParameters string containing startup parameters + */ + void SetServiceId( const TDesC& aParameters ); + + + /** + * Parses and sets startup parameter plugin uid + * + * @since S60 v3.2 + * @param aParameters string containing startup parameters + * @param aUidType uid type + */ + void SetUid( const TDesC& aParameters, TUidType aUidType ); + + + /** + * Parses and sets startup parameter URL + * + * @since S60 v3.2 + * @param aParameters string containing startup parameters + */ + void SetUrlL( const TDesC& aParameters ); + + + private: // data + + /** + * Action type parameter + */ + TAction iAction; + + /** + * Service id parameter + */ + TUint iServiceId; + + /** + * Plugin uid parameter + */ + TUid iPluginUid; + + /** + * Application uid parameter + */ + TUid iAppUid; + + /** + * URL parameter + * Own. + */ + HBufC* iURL; + + /** + * To deternmine if csc was started from homescreen. + * Own. + */ + TBool iStartedFromHomescreen; + }; + +#endif // C_CSCENGSTARTUPHANDLER_H