--- /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