devicemgmtnotifications/dmdevdialogserver/inc/dmdevicedialogserver.h
author hgs
Tue, 13 Jul 2010 09:51:41 +0530
changeset 51 2e64dc50f295
permissions -rw-r--r--
201025_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     1
/*
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     2
 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     3
 * All rights reserved.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     8
 *
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     9
 * Initial Contributors:
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    11
 *
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    12
 * Contributors:
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    13
 *
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    14
* Description: Implementation of DM Device Dialogs
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    15
 */
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    16
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    17
#ifndef __DMDEVDIALOGSERVER_H__
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    18
#define __DMDEVDIALOGSERVER_H__
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    19
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    20
#include <e32base.h>
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    21
#include <e32std.h>
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    22
#include <hbdevicedialogsymbian.h>
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    23
#include <hbindicatorsymbian.h>
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    24
#include <hbsymbianvariant.h>
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    25
#include <SyncMLObservers.h>
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    26
#include <SyncMLClient.h>
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    27
#include <SyncMLClientDM.h>
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    28
#include "dmdevdialogclientserver.h"
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    29
#include "dmdevicedialogdebug.h"
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    30
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    31
class CDmDeviceDialogSession;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    32
class CDmDeviceDialogServer;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    33
class CHbIndicatorSymbian;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    34
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    35
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    36
_LIT(KDeviceDialogType,"com.nokia.hb.devicemanagementdialog/1.0");
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    37
_LIT(KNotifierType, "syncmlfw");
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    38
_LIT(KProfileId, "profileid");
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    39
_LIT(KUImode, "uimode");
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    40
_LIT(KServerdisplayname, "serverdisplayname");
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    41
_LIT(KDMJobId, "jobid");
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    42
_LIT(KServerpushalertInfo, "serverpushinformative");
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    43
_LIT(KServerpushalertConfirm, "serverpushconfirmative");
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    44
_LIT(KDMProgressIndicatorType, "com.nokia.devicemanagement.progressindicatorplugin/1.0");
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    45
_LIT(KFotaDefaultProfile, "fotadefaultprofile");
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    46
_LIT(KPkgZeroTimeout, "pkgzerotimeout");
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    47
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    48
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    49
const TInt KRequestTriggerWaitTime(1000000);
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    50
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    51
const TInt KDefaultNotifierId = 1000000;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    52
const TInt KConnectNotifierId = 1000001;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    53
// Device manager key UID
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    54
const TUid KCRUidNSmlDMSyncApp = {0x101f6de5};
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    55
// CenRep keys for default dm profile used in the
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    56
// firmware update over the air.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    57
const TUint32 KNSmlDMDefaultFotaProfileKey = 0x00000002;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    58
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    59
#define KSosServerUid   0x101f99fb
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    60
#define KFotaServerUid  0x102072C4
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    61
#define KScomoServerUid 0x200267FB
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    62
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    63
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    64
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    65
class CDmDeviceDialogServer : public CServer2,
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    66
        public MHbDeviceDialogObserver,
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    67
        public MSyncMLEventObserver,
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    68
        public MHbIndicatorSymbianObserver
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    69
    {
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    70
    friend class CDmDeviceDialogSession;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    71
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    72
public:
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    73
    enum TNoteType
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    74
        {
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    75
        EPkgZeroNote,
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    76
        EConnectNote,
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    77
        EInformativeAlertNote,
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    78
        EConfirmationAlertNote
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    79
        };
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    80
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    81
    enum TSyncMLSANSupport
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    82
        {
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    83
        ESANNotSpecified,
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    84
        ESANSilent,
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    85
        ESANUserInformative,
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    86
        ESANUserInteractive
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    87
        };
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    88
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    89
     * Destructor
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    90
     */
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    91
    virtual ~CDmDeviceDialogServer();
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    92
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    93
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    94
     * Static method which creates the server instance
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    95
     * @param None
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    96
     * @return CServer2*
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    97
     */
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    98
    static CServer2* NewLC();
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    99
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   100
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   101
     * Stops the session and closes the server
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   102
     * @param None
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   103
     * @return None
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   104
     */
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   105
    void CloseServer();
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   106
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   107
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   108
     * For asynchronous network request to be 
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   109
     * logged on active object, using CPeriodic
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   110
     * @param None
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   111
     * @return None
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   112
     */
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   113
     void PeriodicServerCloseL();
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   114
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   115
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   116
     * Launches package zero device dialog
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   117
     * @param aProfileId, ProfileId of the DM server
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   118
     * @param ajobId, Id of the DM job created due to package zero
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   119
     * @param aUimode, Server alert ui mode type
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   120
     * @param aReplySlot, Response to Sos server
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   121
     * @param aMessage, reference to RMessage2 of current session.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   122
     * @return None.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   123
     */
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   124
    void LaunchPkgZeroNoteL(TInt &aProfileId, TInt &aJobId,
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   125
                    const TInt &aReplySlot, TInt &aUimode,
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   126
                    const RMessage2& aMessage);
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   127
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   128
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   129
     * Launches display alert specific device dialog
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   130
     * @param aAlertText, Text to be dsiplayed on display alert     
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   131
     * @param aMessage, reference to RMessage2 of current session.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   132
     * @return None.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   133
     */   
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   134
    void ShowDisplayalertL(const TDesC &aAlertText,
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   135
                    const RMessage2& aMessage);
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   136
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   137
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   138
     * Launches Confirmation(1101) alert dialog
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   139
     * @param aTimeout, Timeout of the dialog. 
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   140
     * @param aNoteDisplayText, Text to be displayed on the note           
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   141
     * @param aNoteHeader, Text to be displayed as dialog header  
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   142
     * @param aMessage, reference to RMessage2 of current session.       
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   143
     * @return None.        
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   144
     */   
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   145
    void ShowConfirmationalertL(const TInt& aTimeOut, const TDesC& aHeader,
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   146
            const TDesC& aText, const RMessage2& aMessage);
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   147
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   148
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   149
     * Keeps track of number of asynchronous requests
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   150
     * @param None.      
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   151
     * @return None.        
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   152
     */    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   153
    void NewAsyncRequest();
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   154
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   155
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   156
     * Tells any request pending or not
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   157
     * @param None.      
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   158
     * @return None.        
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   159
     */    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   160
    TBool RequestPending();
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   161
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   162
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   163
     * Cancels the earlier requested server shutdown
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   164
     * annd serves for the incoming request.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   165
     * @param None.      
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   166
     * @return None.        
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   167
     */
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   168
    void CancelServerCloseRequest(); 
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   169
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   170
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   171
     * Callback method from Device dialog plugin for user action.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   172
     * @param aData, User response to the device dialog note            
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   173
     * @return None.        
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   174
     */   
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   175
    virtual void DataReceived(CHbSymbianVariantMap& aData);
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   176
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   177
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   178
     * Callback method from Device dialog plugin when dialog gets closed.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   179
     * @param aCompletionCode, Error code.            
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   180
     * @return None.        
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   181
     */    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   182
    virtual void DeviceDialogClosed(TInt aCompletionCode);
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   183
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   184
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   185
    * From MSyncMLEventObserver
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   186
    * Called when SyncML session events oocur.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   187
    * @param aEvent Sync event
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   188
    * @param aIdentifier Identifier for the sync event
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   189
    * @param aError Synce event error
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   190
    * @param aAdditionalData.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   191
    * @return None.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   192
    */    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   193
    virtual void OnSyncMLSessionEvent(TEvent aEvent, TInt aIdentifier,
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   194
            TInt aError, TInt aAdditionalData);
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   195
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   196
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   197
     * Tells whether package zero query is currently shown or not.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   198
     * @param None.            
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   199
     * @return TBool, status of package zero note display.        
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   200
     */
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   201
    TBool IsPkgZeroNoteDisplaying();
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   202
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   203
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   204
     * Cancels outstanding package zero request.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   205
     * @param None.            
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   206
     * @return None.        
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   207
     */
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   208
    void CancelPendingServerAlert();
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   209
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   210
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   211
     * Callback method from Device dialog Indicator when user taps on Indicator.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   212
     * @param aType - Type of the indicator that user interacted with.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   213
     * @param aData - Data sent by the indicator.               
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   214
     * @return None.        
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   215
     */    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   216
    virtual void  IndicatorUserActivated (const TDesC &aType,
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   217
                        CHbSymbianVariantMap &aData); 
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   218
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   219
private:
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   220
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   221
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   222
     * second phase constructor
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   223
     * @param None
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   224
     */
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   225
    void ConstructL();
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   226
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   227
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   228
     * Default constructor
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   229
     * @param None
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   230
     */
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   231
    CDmDeviceDialogServer();
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   232
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   233
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   234
    * Called to close the server.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   235
    * @param None.    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   236
    * @return None.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   237
    */    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   238
    void StopServer();
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   239
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   240
    /**    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   241
    * Dsimisses the Connect device dialog
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   242
    * @param None.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   243
    * @return None.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   244
    */     
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   245
    void DismissDialog();
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   246
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   247
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   248
    * Starts DM Job after user accepted the package zero message.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   249
    * @param None.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   250
    * @return None.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   251
    */     
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   252
    void GetDMJobStatusL();
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   253
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   254
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   255
     * Tells whether connect dialog is currently shown or not.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   256
     * @param None.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   257
     * @return boolean, status of the connect dialog.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   258
     */
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   259
    TBool IsConenctDialogDisplaying();
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   260
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   261
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   262
    * Display connect dialog, if dismissed earlier.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   263
    * @param None.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   264
    * @return None.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   265
    */     
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   266
    void ShowConnectDialogAgainL();
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   267
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   268
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   269
    * Called to process the response of user action on specified Device dialog
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   270
    * @param aData, User response to the device dialog note           
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   271
    * @return None.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   272
    */     
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   273
    void DevDialogResponseL(CHbSymbianVariantMap& aData);
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   274
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   275
protected:
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   276
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   277
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   278
     * Calls when a New session is getting created
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   279
     * @param aVersion
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   280
     * @param aMessage
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   281
     * @return CSession2*
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   282
     */
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   283
    CSession2* NewSessionL(const TVersion& aVersion,
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   284
            const RMessage2& aMessage) const;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   285
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   286
private:
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   287
    //Periodic timer used while shutting down the server
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   288
    CPeriodic* iServerCloseRequest;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   289
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   290
    //DM Server Profile Id
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   291
    TInt iProfileId;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   292
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   293
    //Current Dm Session Job Id
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   294
    TInt iJobId;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   295
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   296
    //Server alert type of package zero message
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   297
    TUint iUimode;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   298
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   299
    //Pointer to Device dialog server
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   300
    CHbDeviceDialogSymbian* iDevDialog;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   301
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   302
    //Reference to Indicator framework
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   303
    CHbIndicatorSymbian* iDmIndicator;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   304
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   305
    //Status variable to identify the status of Connecting note
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   306
    TBool iPkgZeroConnectionNoteShown;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   307
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   308
    //User response of device dialog note
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   309
    TInt iResponse;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   310
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   311
    //RMessage reference used to notify the caller
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   312
    RMessage2 iMessage;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   313
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   314
    //Status variable to know whether server can be stopped or not
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   315
    TBool iStopServer;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   316
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   317
    // SyncML Session
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   318
    RSyncMLSession iSyncMLSession;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   319
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   320
    // Job id after starting DM Job
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   321
    TInt iSyncJobId;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   322
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   323
    // DM job
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   324
    RSyncMLDevManJob iSyncJob;    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   325
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   326
    //Status variable to know whether a DM Job is ongoing or not
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   327
    TBool iJobongoing;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   328
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   329
    //Status variable to know currently any device dialog is displayed or not
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   330
    TBool iAnyDialogDisplaying;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   331
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   332
    //Status variable to know whether an Indicator is launched or not
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   333
    TBool iIndicatorLaunched;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   334
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   335
    //Identifies the number of requests pending
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   336
    TInt iSessionCount; 
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   337
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   338
    //Identifies whether package zero note is displaying or not
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   339
    TBool iPkgZeroQueryNoteDisplaying;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   340
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   341
	//Response slot to write the result
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   342
    TInt iReplySlot;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   343
    };
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   344
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   345
#endif