--- a/devicemgmtnotifications/dmdevdialogserver/inc/dmdevicedialogserver.h Tue Aug 31 16:04:06 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,345 +0,0 @@
-/*
- * Copyright (c) 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: Implementation of DM Device Dialogs
- */
-
-#ifndef __DMDEVDIALOGSERVER_H__
-#define __DMDEVDIALOGSERVER_H__
-
-#include <e32base.h>
-#include <e32std.h>
-#include <hbdevicedialogsymbian.h>
-#include <hbindicatorsymbian.h>
-#include <hbsymbianvariant.h>
-#include <SyncMLObservers.h>
-#include <SyncMLClient.h>
-#include <SyncMLClientDM.h>
-#include "dmdevdialogclientserver.h"
-#include "dmdevicedialogdebug.h"
-
-class CDmDeviceDialogSession;
-class CDmDeviceDialogServer;
-class CHbIndicatorSymbian;
-
-
-_LIT(KDeviceDialogType,"com.nokia.hb.devicemanagementdialog/1.0");
-_LIT(KNotifierType, "syncmlfw");
-_LIT(KProfileId, "profileid");
-_LIT(KUImode, "uimode");
-_LIT(KServerdisplayname, "serverdisplayname");
-_LIT(KDMJobId, "jobid");
-_LIT(KServerpushalertInfo, "serverpushinformative");
-_LIT(KServerpushalertConfirm, "serverpushconfirmative");
-_LIT(KDMProgressIndicatorType, "com.nokia.devicemanagement.progressindicatorplugin/1.0");
-_LIT(KFotaDefaultProfile, "fotadefaultprofile");
-_LIT(KPkgZeroTimeout, "pkgzerotimeout");
-
-
-const TInt KRequestTriggerWaitTime(1000000);
-
-const TInt KDefaultNotifierId = 1000000;
-const TInt KConnectNotifierId = 1000001;
-// Device manager key UID
-const TUid KCRUidNSmlDMSyncApp = {0x101f6de5};
-// CenRep keys for default dm profile used in the
-// firmware update over the air.
-const TUint32 KNSmlDMDefaultFotaProfileKey = 0x00000002;
-
-#define KSosServerUid 0x101f99fb
-#define KFotaServerUid 0x102072C4
-#define KScomoServerUid 0x200267FB
-
-
-
-class CDmDeviceDialogServer : public CServer2,
- public MHbDeviceDialogObserver,
- public MSyncMLEventObserver,
- public MHbIndicatorSymbianObserver
- {
- friend class CDmDeviceDialogSession;
-
-public:
- enum TNoteType
- {
- EPkgZeroNote,
- EConnectNote,
- EInformativeAlertNote,
- EConfirmationAlertNote
- };
-
- enum TSyncMLSANSupport
- {
- ESANNotSpecified,
- ESANSilent,
- ESANUserInformative,
- ESANUserInteractive
- };
- /**
- * Destructor
- */
- virtual ~CDmDeviceDialogServer();
-
- /**
- * Static method which creates the server instance
- * @param None
- * @return CServer2*
- */
- static CServer2* NewLC();
-
- /**
- * Stops the session and closes the server
- * @param None
- * @return None
- */
- void CloseServer();
-
- /**
- * For asynchronous network request to be
- * logged on active object, using CPeriodic
- * @param None
- * @return None
- */
- void PeriodicServerCloseL();
-
- /**
- * Launches package zero device dialog
- * @param aProfileId, ProfileId of the DM server
- * @param ajobId, Id of the DM job created due to package zero
- * @param aUimode, Server alert ui mode type
- * @param aReplySlot, Response to Sos server
- * @param aMessage, reference to RMessage2 of current session.
- * @return None.
- */
- void LaunchPkgZeroNoteL(TInt &aProfileId, TInt &aJobId,
- const TInt &aReplySlot, TInt &aUimode,
- const RMessage2& aMessage);
-
- /**
- * Launches display alert specific device dialog
- * @param aAlertText, Text to be dsiplayed on display alert
- * @param aMessage, reference to RMessage2 of current session.
- * @return None.
- */
- void ShowDisplayalertL(const TDesC &aAlertText,
- const RMessage2& aMessage);
-
- /**
- * Launches Confirmation(1101) alert dialog
- * @param aTimeout, Timeout of the dialog.
- * @param aNoteDisplayText, Text to be displayed on the note
- * @param aNoteHeader, Text to be displayed as dialog header
- * @param aMessage, reference to RMessage2 of current session.
- * @return None.
- */
- void ShowConfirmationalertL(const TInt& aTimeOut, const TDesC& aHeader,
- const TDesC& aText, const RMessage2& aMessage);
-
- /**
- * Keeps track of number of asynchronous requests
- * @param None.
- * @return None.
- */
- void NewAsyncRequest();
-
- /**
- * Tells any request pending or not
- * @param None.
- * @return None.
- */
- TBool RequestPending();
-
- /**
- * Cancels the earlier requested server shutdown
- * annd serves for the incoming request.
- * @param None.
- * @return None.
- */
- void CancelServerCloseRequest();
-
- /**
- * Callback method from Device dialog plugin for user action.
- * @param aData, User response to the device dialog note
- * @return None.
- */
- virtual void DataReceived(CHbSymbianVariantMap& aData);
-
- /**
- * Callback method from Device dialog plugin when dialog gets closed.
- * @param aCompletionCode, Error code.
- * @return None.
- */
- virtual void DeviceDialogClosed(TInt aCompletionCode);
-
- /**
- * From MSyncMLEventObserver
- * Called when SyncML session events oocur.
- * @param aEvent Sync event
- * @param aIdentifier Identifier for the sync event
- * @param aError Synce event error
- * @param aAdditionalData.
- * @return None.
- */
- virtual void OnSyncMLSessionEvent(TEvent aEvent, TInt aIdentifier,
- TInt aError, TInt aAdditionalData);
-
- /**
- * Tells whether package zero query is currently shown or not.
- * @param None.
- * @return TBool, status of package zero note display.
- */
- TBool IsPkgZeroNoteDisplaying();
-
- /**
- * Cancels outstanding package zero request.
- * @param None.
- * @return None.
- */
- void CancelPendingServerAlert();
-
- /**
- * Callback method from Device dialog Indicator when user taps on Indicator.
- * @param aType - Type of the indicator that user interacted with.
- * @param aData - Data sent by the indicator.
- * @return None.
- */
- virtual void IndicatorUserActivated (const TDesC &aType,
- CHbSymbianVariantMap &aData);
-
-private:
-
- /**
- * second phase constructor
- * @param None
- */
- void ConstructL();
-
- /**
- * Default constructor
- * @param None
- */
- CDmDeviceDialogServer();
-
- /**
- * Called to close the server.
- * @param None.
- * @return None.
- */
- void StopServer();
-
- /**
- * Dsimisses the Connect device dialog
- * @param None.
- * @return None.
- */
- void DismissDialog();
-
- /**
- * Starts DM Job after user accepted the package zero message.
- * @param None.
- * @return None.
- */
- void GetDMJobStatusL();
-
- /**
- * Tells whether connect dialog is currently shown or not.
- * @param None.
- * @return boolean, status of the connect dialog.
- */
- TBool IsConenctDialogDisplaying();
-
- /**
- * Display connect dialog, if dismissed earlier.
- * @param None.
- * @return None.
- */
- void ShowConnectDialogAgainL();
-
- /**
- * Called to process the response of user action on specified Device dialog
- * @param aData, User response to the device dialog note
- * @return None.
- */
- void DevDialogResponseL(CHbSymbianVariantMap& aData);
-
-protected:
-
- /**
- * Calls when a New session is getting created
- * @param aVersion
- * @param aMessage
- * @return CSession2*
- */
- CSession2* NewSessionL(const TVersion& aVersion,
- const RMessage2& aMessage) const;
-
-private:
- //Periodic timer used while shutting down the server
- CPeriodic* iServerCloseRequest;
-
- //DM Server Profile Id
- TInt iProfileId;
-
- //Current Dm Session Job Id
- TInt iJobId;
-
- //Server alert type of package zero message
- TUint iUimode;
-
- //Pointer to Device dialog server
- CHbDeviceDialogSymbian* iDevDialog;
-
- //Reference to Indicator framework
- CHbIndicatorSymbian* iDmIndicator;
-
- //Status variable to identify the status of Connecting note
- TBool iPkgZeroConnectionNoteShown;
-
- //User response of device dialog note
- TInt iResponse;
-
- //RMessage reference used to notify the caller
- RMessage2 iMessage;
-
- //Status variable to know whether server can be stopped or not
- TBool iStopServer;
-
- // SyncML Session
- RSyncMLSession iSyncMLSession;
-
- // Job id after starting DM Job
- TInt iSyncJobId;
-
- // DM job
- RSyncMLDevManJob iSyncJob;
-
- //Status variable to know whether a DM Job is ongoing or not
- TBool iJobongoing;
-
- //Status variable to know currently any device dialog is displayed or not
- TBool iAnyDialogDisplaying;
-
- //Status variable to know whether an Indicator is launched or not
- TBool iIndicatorLaunched;
-
- //Identifies the number of requests pending
- TInt iSessionCount;
-
- //Identifies whether package zero note is displaying or not
- TBool iPkgZeroQueryNoteDisplaying;
-
- //Response slot to write the result
- TInt iReplySlot;
- };
-
-#endif