devicemgmtdialogsplugin/src/syncmlnotifierprivate.cpp
author hgs
Fri, 17 Sep 2010 19:58:05 +0530
changeset 62 03849bd79877
parent 52 6e38e48ee756
permissions -rw-r--r--
201037
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
45
0f9fc722d255 201021_01
hgs
parents:
diff changeset
     1
/*
0f9fc722d255 201021_01
hgs
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
0f9fc722d255 201021_01
hgs
parents:
diff changeset
     3
* All rights reserved.
0f9fc722d255 201021_01
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
0f9fc722d255 201021_01
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
0f9fc722d255 201021_01
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
0f9fc722d255 201021_01
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
0f9fc722d255 201021_01
hgs
parents:
diff changeset
     8
*
0f9fc722d255 201021_01
hgs
parents:
diff changeset
     9
* Initial Contributors:
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    11
*
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    12
* Contributors:
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    13
*
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    14
* Description: 
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    15
*
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    16
*/
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    17
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    18
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    19
#include <e32property.h>
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    20
#include <SyncMLClientDM.h>
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    21
#include <SyncMLClient.h>
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    22
#include <centralrepository.h>
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    23
#include <DevManInternalCRKeys.h>
52
hgs
parents: 45
diff changeset
    24
#include <centralrepository.h>
hgs
parents: 45
diff changeset
    25
#include <devicedialogsymbian.h>
hgs
parents: 45
diff changeset
    26
#include "syncmlnotifierprivate.h"
45
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    27
#include "nsmlconstantdefs.h"
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    28
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    29
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    30
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    31
syncmlnotifierprivate::syncmlnotifierprivate()
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    32
{
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    33
}
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    34
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    35
void syncmlnotifierprivate::setstatus(TInt value)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    36
{
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    37
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    38
    qDebug("setstatus");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    39
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    40
 
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    41
    
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    42
    enum TSyncmlHbNotifierKeys 
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    43
		{
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    44
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    45
     EHbSOSNotifierKeyStatus = 11, // status set will complete the client subscribe
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    46
     EHbSOSNotifierKeyStatusReturn = 12, // Return the content of actual status value accepted from UI
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    47
     
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    48
     EHbDMSyncNotifierKeyStatus = 13,
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    49
     EHbDMSyncNotifierKeyStatusReturn = 14
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    50
		};
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    51
  
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    52
    TInt err;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    53
    RProperty intProperty;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    54
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    55
    if(iNotifierorigin== EHbSOSNotifierKeyStatus)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    56
    {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    57
    TUid uid = {0x101F99FB};
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    58
    err = intProperty.Attach(uid , EHbSOSNotifierKeyStatus, EOwnerThread);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    59
    if(err == KErrNone)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    60
       {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    61
        qDebug("EHbSOSNotifierKeyStatus entered no error"); 
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    62
        intProperty.Set(value);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    63
        RProperty::Set(uid, EHbSOSNotifierKeyStatusReturn, value);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    64
        qDebug("Set status of return value");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    65
        qDebug()<<err;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    66
        qDebug("Value user selected");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    67
        qDebug()<<value;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    68
       }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    69
    
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    70
    intProperty.Close();
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    71
    }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    72
    else
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    73
    {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    74
    TUid uid = {0x101F6DE5};
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    75
    err = intProperty.Attach(uid , EHbDMSyncNotifierKeyStatus, EOwnerThread);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    76
    if(err == KErrNone)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    77
       {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    78
        qDebug("EHbDMSyncNotifierKeyStatus entered no error"); 
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    79
        intProperty.Set(value);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    80
        err = RProperty::Set(uid, EHbDMSyncNotifierKeyStatusReturn, value);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    81
        qDebug("Set status of return value");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    82
        qDebug()<<err;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    83
        qDebug("Value user selected");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    84
        qDebug()<<value;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    85
       }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    86
    
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    87
    intProperty.Close();
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    88
    }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    89
}
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    90
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    91
void syncmlnotifierprivate::getdmprofileparameters(QString& servername, TInt profileid)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    92
{
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    93
	 
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    94
    TBuf<256> serverdisplayname;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    95
   
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    96
    RSyncMLSession syncSession;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    97
    
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    98
    syncSession.OpenL();
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    99
    CleanupClosePushL( syncSession );
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   100
        
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   101
    RSyncMLDevManProfile syncProfile;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   102
    syncProfile.OpenL( syncSession, profileid, ESmlOpenRead );
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   103
    CleanupClosePushL( syncProfile );
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   104
        
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   105
    serverdisplayname= syncProfile.DisplayName();
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   106
 
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   107
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   108
    //convert TBuf serverName to QString
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   109
    QString qString((QChar*)serverdisplayname.Ptr(),serverdisplayname.Length());
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   110
    servername = qString;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   111
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   112
        
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   113
        
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   114
    syncProfile.Close();
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   115
    CleanupStack::Pop( &syncProfile );
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   116
     
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   117
    syncSession.Close();
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   118
    CleanupStack::Pop( &syncSession );
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   119
}
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   120
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   121
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   122
TInt syncmlnotifierprivate::serverinittype(TInt uimode)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   123
    {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   124
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   125
   
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   126
    TInt SanSupport = 0;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   127
    
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   128
    CRepository* centrep = NULL;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   129
    TRAPD( err, centrep = CRepository::NewL( KCRUidDeviceManagementInternalKeys) );    
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   130
    User::LeaveIfError( err );
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   131
    centrep->Get( KDevManSANUIBitVariation, SanSupport );
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   132
    delete centrep;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   133
    
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   134
    //if SAN is specified then silent operation
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   135
    
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   136
    if(( SanSupport == 1 ))
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   137
        {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   138
        if( uimode > ESANUserInteractive && uimode < ESANNotSpecified )
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   139
            {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   140
            uimode = ESANNotSpecified;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   141
            }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   142
       
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   143
        if( uimode == ESANNotSpecified || uimode == ESANUserInteractive)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   144
            {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   145
            return ESANUserInteractive;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   146
            }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   147
        if( uimode == ESANUserInformative)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   148
            {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   149
            return ESANUserInformative;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   150
            }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   151
        }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   152
   
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   153
      return ESANSilent;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   154
        
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   155
      
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   156
    }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   157
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   158
void syncmlnotifierprivate::setnotifierorigin(TInt notifierorig)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   159
    {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   160
    iNotifierorigin = notifierorig;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   161
    }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   162