--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commsconfig/cscapplicationui/inc/cscappui.h Wed Sep 01 12:29:57 2010 +0100
@@ -0,0 +1,260 @@
+/*
+* 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: CSC Applications AppUi
+*
+*/
+
+
+#ifndef C_CSCAPPUI_H
+#define C_CSCAPPUI_H
+
+#include <aknViewAppUi.h>
+
+#include "mcscengcchobserver.h"
+#include "mcscengserviceobserver.h"
+#include "mcscengconnectionobserver.h"
+#include "mcscenguiextensionobserver.h"
+#include "mcscengprovisioningobserver.h"
+
+class CEikAppUi;
+class CAknViewAppUi;
+class CCSCServiceView;
+class CCSCEngCCHHandler;
+class CCSCEngStartupHandler;
+class CCSCEngServiceHandler;
+class CCSCEngBrandingHandler;
+class CCSCEngConnectionHandler;
+class CCSCEngServicePluginHandler;
+class CCSCEngUiExtensionPluginHandler;
+
+// View ID's for CSC views.
+const TUid KCSCServiceViewId = {947873};
+
+
+/**
+ * An instance of class CCSCAppUi.
+ * User Interface part of AVKON application framework for CSC application
+ *
+ * @lib
+ * @since S60 v3.2
+ */
+NONSHARABLE_CLASS( CCSCAppUi ) : public CAknViewAppUi,
+ public MCSCEngProvisioningObserver,
+ public MCSCEngUiExtensionObserver,
+ public MCSCEngConnectionObserver,
+ public MCSCEngServiceObserver,
+ public MCSCEngCCHObserver
+ {
+ public:
+
+ void ConstructL();
+
+ CCSCAppUi();
+
+
+ /**
+ * Destructor.
+ */
+ virtual ~CCSCAppUi();
+
+
+ // from base class CEikAppUi
+
+ /**
+ * From CEikAppUi
+ *
+ *
+ * @since
+ * @param aCommand Defines the command codes used to indicate the way
+ * an application is to be launched. Not used in CSC.
+ * @param aDocumentName A buffer that can contain the name of a file.
+ * Used in CSC to pass startup parameters instead of file name.
+ * @param aTail
+ */
+ TBool ProcessCommandParametersL(
+ TApaCommand aCommand,
+ TFileName& aDocumentName,
+ const TDesC8& aTail);
+
+
+ /**
+ * From CEikAppUi
+ *
+ *
+ * @since
+ * @param aUid
+ * @param aParams startup parameters.
+ */
+ void ProcessMessageL( TUid aUid, const TDesC8 &aParams );
+
+ // from base class CAknViewAppUi
+
+ /**
+ * From CAknViewAppUi
+ * Handles user menu selections.
+ *
+ * @since S60 v3.0
+ * @param aCommand The enumerated code for the option selected
+ */
+ void HandleCommandL( TInt aCommand );
+
+
+ /**
+ * From CAknViewAppUi
+ * Handling changing of the skin and layout.
+ *
+ * @since S60 v3.0
+ * @param aType for type of the change
+ */
+ void HandleResourceChangeL( TInt aType );
+
+
+ // from base class MCSCProvisioningObserver
+
+ /**
+ * From MCSCProvisioningObserver
+ * Notifies when configuring of service plug-in is done.
+ *
+ * @since S60 v3.2
+ * @param aResponse plug-in response type
+ * @param aIndex index
+ * @param aPluginUid plugins uid
+ */
+ void NotifyServicePluginResponse(
+ const CCSCEngServicePluginHandler::TServicePluginResponse& aResponse,
+ const TInt aIndex,
+ const TUid& aPluginUid );
+
+
+ // from base class MCSCUiExtensionObserver
+
+ /**
+ * From MCSCUiExtensionObserver
+ * Notifies when ui extension plug-in is exited
+ *
+ * @since S60 v3.2
+ * @param aResponse plug-in response type
+ * @param aIndex index
+ * @param aPluginUid plugins uid
+ */
+ void NotifyUiExtensionPluginResponse(
+ const CCSCEngUiExtensionPluginHandler::TUiExtensionPluginResponse&
+ aResponse,
+ const TInt aIndex,
+ const TUid& aPluginUid );
+
+
+ // from base class MCSCEngServiceObserver
+
+ /**
+ * Called when change in service(s) occur
+ *
+ * @since S60 v3.2
+ */
+ void NotifyServiceChange();
+
+
+ // from base class MCSCEngCCHObserver
+
+ /**
+ * From MCSCEngCCHObserver.
+ */
+ void ServiceStatusChanged(
+ TUint aServiceId,
+ TCCHSubserviceType aType,
+ const TCchServiceStatus& aServiceStatus );
+
+
+ // from base class MCSCEngConnectionObserver
+
+ /**
+ * From MCSCEngConnectionObserver.
+ */
+ void NotifyConnectionEvent(
+ CCSCEngConnectionHandler::TConnectionEvent aConnectionEvent );
+
+ /**
+ * From MCoeMessageObserver.
+ */
+ MCoeMessageObserver::TMessageResponse HandleMessageL(
+ TUint32 aClientHandleOfTargetWindowGroup, TUid aMessageUid,
+ const TDesC8& aMessageParameters);
+
+ private:
+
+ /*
+ * For checking if SNAP is still in use.
+ *
+ * @since S60 3.2
+ * @param aServiceId service id
+ */
+ void SnapCheckL( TUint aServiceId ) const;
+
+ /*
+ * Exits GS application if needed
+ *
+ * @since S60 3.2
+ */
+ TBool ExitGSIfParentL();
+
+ private: // data
+
+ /**
+ * For CSC Application startup parameter handling
+ * Own.
+ */
+ CCSCEngStartupHandler* iStartupHandler;
+
+ /**
+ * For CSC Application service handling
+ * Own.
+ */
+ CCSCEngServiceHandler* iServiceHandler;
+
+ /**
+ * For CSC Application branding handling
+ * Own.
+ */
+ CCSCEngBrandingHandler* iBrandingHandler;
+
+ /**
+ * For CSC Application CCH handling
+ * Own.
+ */
+ CCSCEngCCHHandler* iCCHHandler;
+
+ /**
+ * For CSC Application RConnection monitoring
+ * Own.
+ */
+ CCSCEngConnectionHandler* iConnectionHandler;
+
+ /**
+ * Pointer to CCSCServiceView
+ * Not own.
+ */
+ CCSCServiceView* iServiceView;
+
+ /**
+ * Service which is monitored when disabling and removing service
+ */
+ TUint iMonitoredService;
+
+#ifdef _DEBUG
+ friend class UT_CSC;
+#endif
+
+ };
+
+#endif // C_CSCAPPUI_H