deviceupdatesui/omadmadapters/devinfo/src/nsmldmdevinfoadapter.cpp
author hgs
Tue, 13 Jul 2010 03:44:34 +0530
changeset 44 137912d1a556
parent 33 deviceupdatesui/adapters/devinfo/src/nsmldmdevinfoadapter.cpp@7464c1e21dae
permissions -rw-r--r--
201021
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
33
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
     1
/*
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
     2
* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
     3
* All rights reserved.
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
     8
*
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
     9
* Initial Contributors:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    11
*
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    12
* Contributors:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    13
*
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    14
* Description:    DM DevInfo Adapter
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    15
*
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    16
*/
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    17
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    18
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    19
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    20
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    21
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    22
//INCLUDE FILES
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    23
#include <implementationproxy.h> // For TImplementationProxy definition
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    24
#include "nsmldmimpluids.h"
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    25
#include <featmgr.h>
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    26
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    27
#include "nsmldmdevinfoadapter.h"
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    28
#include "nsmldebug.h"
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    29
#include "nsmlphoneinfo.h"
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    30
#include "nsmlunicodeconverter.h"
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    31
#include "nsmlconstants.h"
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    32
#include "nsmldmconst.h"
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    33
#include "nsmldmdevdetailadapter.h"
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    34
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    35
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    36
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    37
// CNSmlDmDevInfoAdapter* CNSmlDmDevInfoAdapter::NewL( )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    38
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    39
CNSmlDmDevInfoAdapter* CNSmlDmDevInfoAdapter::NewL(MSmlDmCallback* aDmCallback )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    40
    {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    41
    _DBG_FILE("CNSmlDmDevInfoAdapter::NewL(): begin");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    42
    CNSmlDmDevInfoAdapter* self = NewLC( aDmCallback );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    43
    CleanupStack::Pop();
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    44
    _DBG_FILE("CNSmlDmDevInfoAdapter::NewL(): end");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    45
    return self;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    46
    }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    47
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    48
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    49
// CNSmlDmDevInfoAdapter* CNSmlDmDevInfoAdapter::NewLC( )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    50
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    51
CNSmlDmDevInfoAdapter* CNSmlDmDevInfoAdapter::NewLC(MSmlDmCallback* aDmCallback )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    52
    {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    53
    _DBG_FILE("CNSmlDmDevInfoAdapter::NewLC(): begin");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    54
    CNSmlDmDevInfoAdapter* self = new (ELeave) CNSmlDmDevInfoAdapter(aDmCallback);
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    55
    CleanupStack::PushL(self);
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    56
    self->iDmCallback = aDmCallback;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    57
    FeatureManager::InitializeLibL();
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    58
    _DBG_FILE("CNSmlDmDevInfoAdapter::NewLC(): end");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    59
    return self;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    60
    }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    61
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    62
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    63
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    64
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    65
// CNSmlDmDevInfoAdapter::~CNSmlDmDevInfoAdapter()
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    66
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    67
CNSmlDmDevInfoAdapter::~CNSmlDmDevInfoAdapter()
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    68
    {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    69
    _DBG_FILE("CNSmlDmDevInfoAdapter::~CNSmlDmDevInfoAdapter(): begin");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    70
    FeatureManager::UnInitializeLib();
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    71
    _DBG_FILE("CNSmlDmDevInfoAdapter::~CNSmlDmDevInfoAdapter(): end");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    72
    }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    73
    
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    74
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    75
// CNSmlDmDevInfoAdapter::CNSmlDmDevInfoAdapter()
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    76
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    77
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    78
CNSmlDmDevInfoAdapter::CNSmlDmDevInfoAdapter(TAny* aEcomArguments):CSmlDmAdapter(aEcomArguments)
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    79
    {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    80
    _DBG_FILE("CNSmlDmDevInfoAdapter::CNSmlDmDevInfoAdapter(aEcomArguments): begin");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    81
    _DBG_FILE("CNSmlDmDevInfoAdapter::CNSmlDmDevInfoAdapter(aEcomArguments): end"); 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    82
    }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    83
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    84
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    85
// CNSmlDmDevInfoAdapter::SetLeafPropertiesL()
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    86
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    87
void CNSmlDmDevInfoAdapter::SetLeafPropertiesL( MSmlDmDDFObject& aObject, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    88
                                                const TSmlDmAccessTypes& aAccessTypes, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    89
                                                const TDesC8& aDescription ) const
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    90
    {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    91
    aObject.SetAccessTypesL( aAccessTypes );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    92
    aObject.SetScopeL( MSmlDmDDFObject::EPermanent );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    93
    aObject.SetDFFormatL( MSmlDmDDFObject::EChr );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    94
    aObject.AddDFTypeMimeTypeL( KNSmlDMDevInfoTextPlain );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    95
    aObject.SetDescriptionL( aDescription );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    96
    }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    97
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    98
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
    99
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   100
//  CNSmlDmDevInfoAdapter::DDFVersionL()
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   101
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   102
void CNSmlDmDevInfoAdapter::DDFVersionL(CBufBase& aDDFVersion)
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   103
    {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   104
    _DBG_FILE("CNSmlDmDevInfoAdapter::DDFVersionL(TDes& aDDFVersion): begin");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   105
    aDDFVersion.InsertL(0,KNSmlDMDevInfoDDFVersion);
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   106
    _DBG_FILE("CNSmlDmDevInfoAdapter::DDFVersionL(TDes& aDDFVersion): end");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   107
    }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   108
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   109
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   110
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   111
//  CNSmlDmDevInfoAdapter::DDFStructureL()
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   112
//
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   113
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   114
void CNSmlDmDevInfoAdapter::DDFStructureL( MSmlDmDDFObject& aDDF )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   115
    {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   116
    _DBG_FILE("CNSmlDmDevInfoAdapter::DDFStructureL(): begin");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   117
    
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   118
    TSmlDmAccessTypes accessTypes;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   119
    accessTypes.SetGet();
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   120
    // DevInfo
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   121
    MSmlDmDDFObject& devInfo = aDDF.AddChildObjectL( KNSmlDMDevInfoNodeName );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   122
    devInfo.SetAccessTypesL( accessTypes ); 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   123
    devInfo.SetScopeL( MSmlDmDDFObject::EPermanent );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   124
    devInfo.SetDescriptionL( KNSmlDMDevInfoDescription );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   125
    // Man  
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   126
    MSmlDmDDFObject& man = devInfo.AddChildObjectL(KNSmlDMDevInfoManNodeName);
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   127
    SetLeafPropertiesL( man, accessTypes, KNSmlDMDevInfoManDescription );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   128
    // Mod  
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   129
    MSmlDmDDFObject& mod = devInfo.AddChildObjectL(KNSmlDMDevInfoModNodeName );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   130
    SetLeafPropertiesL( mod, accessTypes, KNSmlDMDevInfoModDescription );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   131
    // DevId    
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   132
    MSmlDmDDFObject& devid = devInfo.AddChildObjectL( KNSmlDMDevInfoDevIdNodeName);
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   133
    SetLeafPropertiesL( devid, accessTypes, KNSmlDMDevInfoDevIdDescription ); 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   134
    // Lang 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   135
    MSmlDmDDFObject& lang = devInfo.AddChildObjectL(KNSmlDMDevInfoLangNodeName );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   136
    SetLeafPropertiesL( lang, accessTypes, KNSmlDMDevInfoLangDescription ); 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   137
    // DmV  
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   138
    MSmlDmDDFObject& dmv = devInfo.AddChildObjectL(KNSmlDMDevInfoDmVNodeName);
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   139
    SetLeafPropertiesL( dmv, accessTypes, KNSmlDMDevInfoDmVDescription );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   140
    // Ext
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   141
    MSmlDmDDFObject& ext = devInfo.AddChildObjectL(KNSmlDMDevInfoExtNodeName );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   142
    ext.SetAccessTypesL( accessTypes );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   143
    ext.SetScopeL( MSmlDmDDFObject::EPermanent );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   144
    ext.SetDescriptionL( KNSmlDMDevInfoExtDescription );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   145
    // ModDDF   
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   146
    MSmlDmDDFObject& modDDF = ext.AddChildObjectL( KNSmlDMDevInfoModDDFNodeName);
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   147
    SetLeafPropertiesL( modDDF, accessTypes, KNSmlDMDevInfoModDDFDescription );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   148
    // ModDevDet    
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   149
    MSmlDmDDFObject& modDevDet = ext.AddChildObjectL(KNSmlDMDevInfoModDevDetNodeName );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   150
    SetLeafPropertiesL( modDevDet, accessTypes, KNSmlDMDevInfoModDevDetDescription );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   151
    _DBG_FILE("CNSmlDmDevInfoAdapter::DDFStructureL(): end");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   152
    }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   153
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   154
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   155
//  CNSmlDmDevInfoAdapter::UpdateLeafObjectL()
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   156
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   157
void CNSmlDmDevInfoAdapter::UpdateLeafObjectL( const TDesC8& /*aURI*/, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   158
                                               const TDesC8& /*aLUID*/, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   159
                                               const TDesC8& /*aObject*/, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   160
                                               const TDesC8& /*aType*/, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   161
                                               const TInt aStatusRef )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   162
    {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   163
    _DBG_FILE("CNSmlDmDevInfoAdapter::UpdateLeafObjectL(): begin");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   164
    _DBG_FILE("CNSmlDmDevInfoAdapter::UpdateLeafObjectL(): end");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   165
    iDmCallback->SetStatusL( aStatusRef, CSmlDmAdapter::EError );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   166
    }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   167
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   168
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   169
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   170
// CNSmlDmDevInfoAdapter::DeleteObjectL()
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   171
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   172
void CNSmlDmDevInfoAdapter::DeleteObjectL( const TDesC8& /*aURI*/, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   173
                                           const TDesC8& /*aLUID*/, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   174
                                           const TInt aStatusRef )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   175
    {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   176
    _DBG_FILE("CNSmlDmDevInfoAdapter::DeleteLeafObjectL( ): begin");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   177
    _DBG_FILE("CNSmlDmDevInfoAdapter::DeleteLeafObjectL( ): end");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   178
    iDmCallback->SetStatusL( aStatusRef, CSmlDmAdapter::EError );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   179
    }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   180
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   181
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   182
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   183
//  CNSmlDmDevInfoAdapter::FetchLeafObjectL( const TDesC8& aURI, const TDesC8& aLUID, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   184
// const TDesC8& aType, const TInt aResultsRef, const TInt aStatusRef )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   185
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   186
void CNSmlDmDevInfoAdapter::FetchLeafObjectL( const TDesC8& aURI, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   187
                                              const TDesC8& /*aLUID*/, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   188
                                              const TDesC8& aType, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   189
                                              const TInt aResultsRef, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   190
                                              const TInt aStatusRef )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   191
    {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   192
    _DBG_FILE("CNSmlDmDevInfoAdapter::FetchLeafObjectL(): begin");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   193
    
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   194
    CBufBase *object = CBufFlat::NewL( 1 );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   195
    CleanupStack::PushL( object );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   196
    
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   197
    CSmlDmAdapter::TError retValue = FetchLeafObjectL( aURI, *object );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   198
    
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   199
    iDmCallback->SetStatusL( aStatusRef, retValue );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   200
    iDmCallback->SetResultsL( aResultsRef, *object, aType );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   201
    CleanupStack::PopAndDestroy(); //object
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   202
    _DBG_FILE("CNSmlDmDevInfoAdapt+er::FetchLeafObjectL(): end");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   203
    }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   204
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   205
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   206
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   207
//  CNSmlDmDevInfoAdapter::ChildURIListL( const TDesC& aURI, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   208
// const TDesC& aParentLUID, const CArrayFix<TSmlDmMappingInfo>& aPreviousURISegmentList, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   209
// const TInt aResultsRef, const TInt aStatusRef )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   210
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   211
void CNSmlDmDevInfoAdapter::ChildURIListL( const TDesC8& aURI, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   212
                                           const TDesC8& /*aParentLUID*/, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   213
                                           const CArrayFix<TSmlDmMappingInfo>& /*aPreviousURISegmentList*/, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   214
                                           const TInt aResultsRef, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   215
                                           const TInt aStatusRef )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   216
    {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   217
    _DBG_FILE("CNSmlDmDevInfoAdapter::ChildURIListL(): begin");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   218
    CSmlDmAdapter::TError retValue = CSmlDmAdapter::EOk;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   219
    CBufBase* currentURISegmentList = CBufFlat::NewL( 1 );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   220
    CleanupStack::PushL( currentURISegmentList );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   221
    TInt ret = aURI.LocateReverse(KNSmlDMDevInfoSeparator()[0]);
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   222
    if ( ret == KErrNotFound ) 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   223
        {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   224
        ret = -1;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   225
        }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   226
    TInt len = aURI.Length() - ( ret + 1 );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   227
    TPtrC8 segment = aURI.Right( len );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   228
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   229
    if ( segment == KNSmlDMDevInfoNodeName )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   230
        {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   231
        currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevInfoManNodeName() );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   232
        currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevInfoSeparator() );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   233
        currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevInfoModNodeName() );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   234
        currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevInfoSeparator() );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   235
        currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevInfoDevIdNodeName() );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   236
        currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevInfoSeparator() );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   237
        currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevInfoLangNodeName() );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   238
        currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevInfoSeparator() );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   239
        currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevInfoDmVNodeName() );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   240
        currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevInfoSeparator() );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   241
        currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevInfoExtNodeName() );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   242
        }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   243
    else
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   244
    if ( segment == KNSmlDMDevInfoExtNodeName )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   245
        {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   246
        currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevInfoModDDFNodeName() );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   247
        currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevInfoSeparator() );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   248
        currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevInfoModDevDetNodeName() );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   249
        }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   250
    else
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   251
        {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   252
        retValue = CSmlDmAdapter::EError;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   253
        }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   254
    iDmCallback->SetStatusL( aStatusRef, retValue );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   255
    iDmCallback->SetResultsL( aResultsRef, *currentURISegmentList, KNullDesC8 );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   256
    CleanupStack::PopAndDestroy(); //currentURISegmentList
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   257
    _DBG_FILE("CNSmlDmDevInfoAdapter::ChildURIListL(): end");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   258
    }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   259
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   260
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   261
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   262
// CNSmlDmDevInfoAdapter::AddNodeObjectL( const TDesC8& aURI, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   263
// const TDesC8& aParentLUID, const TInt aStatusRef )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   264
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   265
void CNSmlDmDevInfoAdapter::AddNodeObjectL( const TDesC8& /*aURI*/, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   266
                                            const TDesC8& /*aParentLUID*/, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   267
                                            const TInt aStatusRef )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   268
    {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   269
    _DBG_FILE("CNSmlDmDevInfoAdapter::AddNodeObjectL(): begin");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   270
    iDmCallback->SetStatusL( aStatusRef, CSmlDmAdapter::EError );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   271
    _DBG_FILE("CNSmlDmDevInfoAdapter::AddNodeObjectL(): end");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   272
    }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   273
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   274
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   275
//  CNSmlDmDevInfoAdapter::UpdateLeafObjectL()
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   276
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   277
void CNSmlDmDevInfoAdapter::UpdateLeafObjectL( const TDesC8& /*aURI*/, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   278
                                               const TDesC8& /*aLUID*/, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   279
                                               RWriteStream*& /*aStream*/, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   280
                                               const TDesC8& /*aType*/, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   281
                                               const TInt aStatusRef )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   282
    {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   283
    _DBG_FILE("CNSmlDmDevInfoAdapter::UpdateLeafObjectL(): stream: begin");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   284
    _DBG_FILE("CNSmlDmDevInfoAdapter::UpdateLeafObjectL(): stream: end");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   285
    iDmCallback->SetStatusL( aStatusRef, CSmlDmAdapter::EError );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   286
    }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   287
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   288
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   289
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   290
//  CNSmlDmDevInfoAdapter::FetchLeafObjectSizeL( const TDesC8& aURI, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   291
//  const TDesC8& aLUID, const TDesC8& aType, TInt aResultsRef, TInt aStatusRef )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   292
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   293
void CNSmlDmDevInfoAdapter::FetchLeafObjectSizeL( const TDesC8& aURI, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   294
                                                  const TDesC8& /*aLUID*/, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   295
                                                  const TDesC8& aType, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   296
                                                  const TInt aResultsRef, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   297
                                                  const TInt aStatusRef )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   298
    {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   299
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   300
    _DBG_FILE("CNSmlDmDevInfoAdapter::FetchLeafObjectSizeL(): begin");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   301
    
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   302
    CBufBase *object = CBufFlat::NewL( 1 );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   303
    CleanupStack::PushL( object );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   304
    CSmlDmAdapter::TError retValue = FetchLeafObjectL( aURI, *object );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   305
        
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   306
    TInt objSizeInBytes = object->Size();
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   307
    TBuf8<2> stringObjSizeInBytes;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   308
    stringObjSizeInBytes.Num( objSizeInBytes );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   309
    object->Reset();
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   310
    object->InsertL( 0, stringObjSizeInBytes );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   311
    
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   312
    iDmCallback->SetStatusL( aStatusRef, retValue );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   313
    iDmCallback->SetResultsL( aResultsRef, *object, aType );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   314
    CleanupStack::PopAndDestroy(); //object
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   315
    _DBG_FILE("CNSmlDmDevInfoAdapter::FetchLeafObjectSizeL(): end");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   316
    }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   317
    
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   318
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   319
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   320
//  CNSmlDmDevInfoAdapter::ExecuteCommandL( const TDesC8& aURI, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   321
//  const TDesC8& aParentLUID, TDesC8& aArgument, const TDesC8& aType, TInt aStatusRef )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   322
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   323
void CNSmlDmDevInfoAdapter::ExecuteCommandL( const TDesC8& /*aURI*/, const TDesC8& /*aLUID*/, const TDesC8& /*aArgument*/, const TDesC8& /*aType*/, const TInt aStatusRef )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   324
    {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   325
    _DBG_FILE("CNSmlDmDevInfoAdapter::ExecuteCommandL(): begin");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   326
    iDmCallback->SetStatusL( aStatusRef, CSmlDmAdapter::EError );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   327
    _DBG_FILE("CNSmlDmDevInfoAdapter::ExecuteCommandL(): end");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   328
    }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   329
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   330
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   331
//  CNSmlDmDevInfoAdapter::ExecuteCommandL( const TDesC8& aURI, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   332
//  const TDesC8& aParentLUID, RWriteStream*& aStream, const TDesC8& aType, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   333
//  TInt aStatusRef )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   334
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   335
void CNSmlDmDevInfoAdapter::ExecuteCommandL( const TDesC8& /*aURI*/, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   336
                                             const TDesC8& /*aParentLUID*/, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   337
                                             RWriteStream*& /*aStream*/, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   338
                                             const TDesC8& /*aType*/, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   339
                                             const TInt aStatusRef )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   340
    {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   341
    _DBG_FILE("CNSmlDmDevInfoAdapter::ExecuteCommandL(): stream: begin");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   342
    iDmCallback->SetStatusL( aStatusRef, CSmlDmAdapter::EError );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   343
    _DBG_FILE("CNSmlDmDevInfoAdapter::ExecuteCommandL(): stream: end");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   344
    }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   345
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   346
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   347
//  CNSmlDmDevInfoAdapter::CopyCommandL( const TDesC8& aTargetURI, const TDesC8& 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   348
//  aSourceURI, const TDesC8& aSourceLUID, const TDesC8& /*aType*/, TInt aStatusRef )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   349
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   350
void CNSmlDmDevInfoAdapter::CopyCommandL( const TDesC8& /*aTargetURI*/, const TDesC8& 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   351
                                          /*aTargetLUID*/, const TDesC8& /*aSourceURI*/, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   352
                                          const TDesC8& /*aSourceLUID*/, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   353
                                          const TDesC8& /*aType*/, TInt aStatusRef )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   354
    {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   355
    _DBG_FILE("CNSmlDmDevInfoAdapter::CopyCommandL(): begin");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   356
    iDmCallback->SetStatusL( aStatusRef, CSmlDmAdapter::EError );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   357
    _DBG_FILE("CNSmlDmDevInfoAdapter::CopyCommandL(): end");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   358
    }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   359
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   360
// --------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   361
//  CNSmlDmDevInfoAdapter::StartAtomicL()
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   362
// --------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   363
void CNSmlDmDevInfoAdapter::StartAtomicL()
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   364
    {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   365
    _DBG_FILE("CNSmlDmDevInfoAdapter::StartAtomicL(): begin");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   366
    _DBG_FILE("CNSmlDmDevInfoAdapter::StartAtomicL(): end");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   367
    }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   368
    
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   369
// ---------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   370
//  CNSmlDmDevInfoAdapter::CommitAtomicL()
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   371
// ---------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   372
void CNSmlDmDevInfoAdapter::CommitAtomicL()
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   373
    {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   374
    _DBG_FILE("CNSmlDmDevInfoAdapter::CommitAtomicL(): begin");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   375
    _DBG_FILE("CNSmlDmDevInfoAdapter::CommitAtomicL(): end");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   376
    }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   377
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   378
// -----------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   379
//  CNSmlDmDevInfoAdapter::RollbackAtomicL()
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   380
// -----------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   381
void CNSmlDmDevInfoAdapter::RollbackAtomicL()
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   382
    {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   383
    _DBG_FILE("CNSmlDmDevInfoAdapter::RollbackAtomicL(): begin");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   384
    _DBG_FILE("CNSmlDmDevInfoAdapter::RollbackAtomicL(): end");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   385
    }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   386
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   387
// -----------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   388
//  CNSmlDmDevInfoAdapter::StreamingSupport( TInt& aItemSize )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   389
// -----------------------------------------------------------  
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   390
TBool CNSmlDmDevInfoAdapter::StreamingSupport( TInt& /*aItemSize*/ )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   391
    {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   392
    _DBG_FILE("CNSmlDmDevInfoAdapter::StreamingSupport(): begin");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   393
    _DBG_FILE("CNSmlDmDevInfoAdapter::StreamingSupport(): end");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   394
    return EFalse;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   395
    }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   396
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   397
// ------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   398
//  CNSmlDmDevInfoAdapter::StreamCommittedL()
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   399
// ------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   400
void CNSmlDmDevInfoAdapter::StreamCommittedL()
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   401
    {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   402
    _DBG_FILE("CNSmlDmDevInfoAdapter::StreamCommittedL(): begin");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   403
    _DBG_FILE("CNSmlDmDevInfoAdapter::StreamCommittedL(): end");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   404
    }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   405
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   406
// --------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   407
//  CNSmlDmDevInfoAdapter::CompleteOutstandingCmdsL()
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   408
// --------------------------------------------------   
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   409
void CNSmlDmDevInfoAdapter::CompleteOutstandingCmdsL()
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   410
    {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   411
    _DBG_FILE("CNSmlDmDevInfoAdapter::CompleteOutstandingCmdsL(): begin");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   412
    _DBG_FILE("CNSmlDmDevInfoAdapter::CompleteOutstandingCmdsL(): end");    
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   413
    }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   414
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   415
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   416
// CNSmlDmDevDetailAdapter::FetchLeafObjectL()
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   417
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   418
CSmlDmAdapter::TError CNSmlDmDevInfoAdapter::FetchLeafObjectL( const TDesC8& aURI, 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   419
                                                               CBufBase& aObject )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   420
    {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   421
    _DBG_FILE("CNSmlDmInfoAdapter::FetchLeafObjectL(): begin");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   422
    CSmlDmAdapter::TError retValue = CSmlDmAdapter::EOk;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   423
    TInt ret = aURI.LocateReverse(KNSmlDMDevInfoSeparator()[0]);
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   424
    if ( ret == KErrNotFound ) 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   425
        {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   426
        retValue = CSmlDmAdapter::EError;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   427
        }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   428
    else
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   429
        {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   430
        TInt len = aURI.Length() - (ret + 1);
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   431
        TPtrC8 segment = aURI.Right( len );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   432
        if ( segment == KNSmlDMDevInfoManNodeName ||
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   433
             segment == KNSmlDMDevInfoModNodeName ||
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   434
             segment == KNSmlDMDevInfoDevIdNodeName )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   435
            {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   436
            CNSmlPhoneInfo* phoneInfo = CNSmlPhoneInfo::NewLC();
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   437
            HBufC* phonedata = HBufC::NewLC( 50 );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   438
            TPtr phonedataPtr = phonedata->Des();  
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   439
            if ( segment == KNSmlDMDevInfoManNodeName )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   440
                {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   441
                phoneInfo->PhoneDataL( CNSmlPhoneInfo::EPhoneManufacturer, phonedataPtr );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   442
                }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   443
            if ( segment == KNSmlDMDevInfoModNodeName )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   444
                {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   445
                phoneInfo->PhoneDataL( CNSmlPhoneInfo::EPhoneModelId, phonedataPtr );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   446
                }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   447
            if ( segment == KNSmlDMDevInfoDevIdNodeName )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   448
                {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   449
                phoneInfo->PhoneDataL( CNSmlPhoneInfo::EPhoneSerialNumber, phonedataPtr );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   450
                }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   451
            HBufC8* phonedataInUTF8 = NULL;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   452
            NSmlUnicodeConverter::HBufC8InUTF8LC( *phonedata, phonedataInUTF8 );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   453
            aObject.InsertL( 0, *phonedataInUTF8 );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   454
            CleanupStack::PopAndDestroy( 3 ); //phonedataInUTF8, phonedata, phoneInfo
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   455
            }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   456
        else
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   457
        if ( segment == KNSmlDMDevInfoLangNodeName )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   458
            { 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   459
            TLanguage language = User::Language();
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   460
            TBuf8<2> langCode;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   461
            switch ( language )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   462
                {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   463
                case ELangEnglish: 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   464
                case ELangAmerican:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   465
                case ELangAustralian:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   466
                case ELangNewZealand:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   467
                case ELangCanadianEnglish:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   468
                case ELangInternationalEnglish:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   469
                case ELangSouthAfricanEnglish:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   470
                    langCode = KNSmlDMEnglish;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   471
                    break; 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   472
                case ELangFrench:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   473
                case ELangSwissFrench:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   474
                case ELangBelgianFrench:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   475
                case ELangInternationalFrench:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   476
                case ELangCanadianFrench:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   477
                    langCode = KNSmlDMFrench;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   478
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   479
                case ELangGerman:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   480
                case ELangSwissGerman:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   481
                case ELangAustrian:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   482
                    langCode = KNSmlDMGerman;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   483
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   484
                case ELangSpanish:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   485
                case ELangInternationalSpanish:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   486
                case ELangLatinAmericanSpanish:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   487
                    langCode = KNSmlDMSpanish;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   488
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   489
                case ELangItalian:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   490
                case ELangSwissItalian:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   491
                    langCode = KNSmlDMItalian;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   492
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   493
                case ELangSwedish:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   494
                case ELangFinlandSwedish:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   495
                    langCode = KNSmlDMSwedish;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   496
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   497
                case ELangDanish:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   498
                    langCode = KNSmlDMDanish;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   499
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   500
                case ELangNorwegian:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   501
                case ELangNorwegianNynorsk:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   502
                    langCode = KNSmlDMNorwegian;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   503
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   504
                case ELangFinnish:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   505
                    langCode = KNSmlDMFinnish;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   506
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   507
                case ELangPortuguese:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   508
                case ELangBrazilianPortuguese:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   509
                    langCode = KNSmlDMPortuguese;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   510
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   511
                case ELangTurkish:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   512
                case ELangCyprusTurkish:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   513
                    langCode = KNSmlDMTurkish;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   514
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   515
                case ELangIcelandic:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   516
                    langCode = KNSmlDMIcelandic;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   517
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   518
                case ELangRussian:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   519
                    langCode = KNSmlDMRussian;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   520
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   521
                case ELangHungarian:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   522
                    langCode = KNSmlDMHungarian;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   523
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   524
                case ELangDutch:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   525
                case ELangBelgianFlemish:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   526
                    langCode = KNSmlDMDutch;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   527
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   528
                case ELangCzech:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   529
                    langCode = KNSmlDMCzech;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   530
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   531
                case ELangSlovak:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   532
                    langCode = KNSmlDMSlovak;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   533
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   534
                case ELangPolish:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   535
                    langCode = KNSmlDMPolish;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   536
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   537
                case ELangSlovenian:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   538
                    langCode = KNSmlDMSlovenian;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   539
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   540
                case ELangTaiwanChinese:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   541
                case ELangHongKongChinese:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   542
                case ELangPrcChinese:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   543
                    langCode = KNSmlDMChinese;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   544
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   545
                case ELangJapanese:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   546
                    langCode = KNSmlDMJapanese;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   547
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   548
                case ELangThai:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   549
                    langCode = KNSmlDMThai;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   550
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   551
                case ELangAfrikaans:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   552
                    langCode = KNSmlDMAfrikaans;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   553
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   554
                case ELangAlbanian:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   555
                    langCode = KNSmlDMAlbanian;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   556
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   557
                case ELangAmharic:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   558
                    langCode = KNSmlDMAmharic;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   559
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   560
                case ELangArabic:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   561
                    langCode = KNSmlDMArabic;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   562
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   563
                case ELangArmenian:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   564
                    langCode = KNSmlDMArmenian;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   565
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   566
                case ELangTagalog:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   567
                    langCode = KNSmlDMTagalog;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   568
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   569
                case ELangBelarussian:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   570
                    langCode = KNSmlDMBelarussian;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   571
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   572
                case ELangBengali:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   573
                    langCode = KNSmlDMBengali;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   574
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   575
                case ELangBulgarian:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   576
                    langCode = KNSmlDMBulgarian;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   577
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   578
                case ELangBurmese:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   579
                    langCode = KNSmlDMBurmese;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   580
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   581
                case ELangCatalan:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   582
                    langCode = KNSmlDMCatalan;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   583
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   584
                case ELangCroatian:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   585
                    langCode = KNSmlDMCroatian;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   586
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   587
                case ELangEstonian:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   588
                    langCode = KNSmlDMEstonian;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   589
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   590
                case ELangFarsi:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   591
                    langCode = KNSmlDMFarsi;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   592
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   593
                case ELangScotsGaelic:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   594
                    langCode = KNSmlDMScotsGaelic;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   595
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   596
                case ELangGeorgian:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   597
                    langCode = KNSmlDMGeorgian;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   598
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   599
                case ELangGreek:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   600
                case ELangCyprusGreek:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   601
                    langCode = KNSmlDMGreek;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   602
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   603
                case ELangGujarati:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   604
                    langCode = KNSmlDMGujarati;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   605
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   606
                case ELangHebrew:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   607
                    langCode = KNSmlDMHebrew;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   608
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   609
                case ELangHindi:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   610
                    langCode = KNSmlDMHindi;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   611
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   612
                case ELangIndonesian:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   613
                    langCode = KNSmlDMIndonesian;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   614
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   615
                case ELangIrish:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   616
                    langCode = KNSmlDMIrish;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   617
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   618
                case ELangKannada:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   619
                    langCode = KNSmlDMKannada;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   620
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   621
                case ELangKazakh:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   622
                    langCode = KNSmlDMKazakh;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   623
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   624
                case ELangKorean:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   625
                    langCode = KNSmlDMKorean;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   626
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   627
                case ELangLao:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   628
                    langCode = KNSmlDMLao;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   629
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   630
                case ELangLatvian:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   631
                    langCode = KNSmlDMLatvian;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   632
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   633
                case ELangLithuanian:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   634
                    langCode = KNSmlDMLithuanian;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   635
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   636
                case ELangMacedonian:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   637
                    langCode = KNSmlDMMacedonian;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   638
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   639
                case ELangMalay:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   640
                    langCode = KNSmlDMMalay;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   641
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   642
                case ELangMalayalam:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   643
                    langCode = KNSmlDMMalayalam;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   644
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   645
                case ELangMarathi:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   646
                    langCode = KNSmlDMMarathi;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   647
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   648
                case ELangMoldavian:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   649
                    langCode = KNSmlDMMoldavian;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   650
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   651
                case ELangMongolian:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   652
                    langCode = KNSmlDMMongolian;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   653
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   654
                case ELangPunjabi:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   655
                    langCode = KNSmlDMPunjabi;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   656
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   657
                case ELangRomanian:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   658
                    langCode = KNSmlDMRomanian;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   659
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   660
                case ELangSerbian:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   661
                    langCode = KNSmlDMSerbian;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   662
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   663
                case ELangSinhalese:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   664
                    langCode = KNSmlDMSinhalese;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   665
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   666
                case ELangSomali:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   667
                    langCode = KNSmlDMSomali;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   668
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   669
                case ELangSwahili:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   670
                    langCode = KNSmlDMSwahili;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   671
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   672
                case ELangTamil:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   673
                    langCode = KNSmlDMTamil;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   674
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   675
                case ELangTelugu:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   676
                    langCode = KNSmlDMTelugu;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   677
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   678
                case ELangTibetan:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   679
                    langCode = KNSmlDMTibetan;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   680
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   681
                case ELangTigrinya:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   682
                    langCode = KNSmlDMTigrinya;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   683
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   684
                case ELangTurkmen:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   685
                    langCode = KNSmlDMTurkmen;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   686
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   687
                case ELangUkrainian:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   688
                    langCode = KNSmlDMUkrainian;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   689
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   690
                case ELangUrdu:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   691
                    langCode = KNSmlDMUrdu;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   692
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   693
                case ELangVietnamese:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   694
                    langCode = KNSmlDMVietnamese;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   695
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   696
                case ELangWelsh:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   697
                    langCode = KNSmlDMWelsh;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   698
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   699
                case ELangZulu:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   700
                    langCode = KNSmlDMZulu;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   701
                    break;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   702
                default:
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   703
                    langCode = KNSmlDMEnglish;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   704
                }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   705
            aObject.InsertL( 0, langCode );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   706
            }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   707
        else
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   708
        if ( segment == KNSmlDMDevInfoDmVNodeName )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   709
            {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   710
            if(!FeatureManager::FeatureSupported( KFeatureIdSyncMlDm112  ))
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   711
                aObject.InsertL( 0, KNSmlDMDmV12 );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   712
            else
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   713
            aObject.InsertL( 0, KNSmlDMDmV );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   714
            }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   715
        else
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   716
        if ( segment == KNSmlDMDevInfoModDDFNodeName )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   717
            {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   718
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   719
            }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   720
        else
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   721
        if ( segment == KNSmlDMDevInfoModDevDetNodeName )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   722
            {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   723
            TUid implUID;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   724
            implUID.iUid = KNSmlDMDevDetailAdapterImplUid;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   725
            
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   726
            TAny* nPtr = NULL;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   727
            MSmlDmCallback& aDmNull = reinterpret_cast<MSmlDmCallback&>(nPtr);
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   728
            CNSmlDmDevDetailAdapter* devDetAdapter = 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   729
                reinterpret_cast<CNSmlDmDevDetailAdapter*>(CSmlDmAdapter::NewL( implUID, aDmNull ) );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   730
            CleanupStack::PushL(devDetAdapter);
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   731
            TInt checkSumDevDet = devDetAdapter->DevDetailValueCrcL();
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   732
            TBuf8<16> stringCheckSumDevDet; 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   733
            stringCheckSumDevDet.Num( checkSumDevDet );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   734
            aObject.InsertL( 0, stringCheckSumDevDet );
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   735
            CleanupStack::PopAndDestroy(); // devDetAdapter
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   736
            }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   737
        else
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   738
            {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   739
            retValue = CSmlDmAdapter::EError;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   740
            }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   741
        }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   742
    _DBG_FILE("CNSmlDmInfoAdapter::FetchLeafObjectL(): end");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   743
    return retValue;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   744
    }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   745
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   746
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   747
//
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   748
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   749
#ifndef IMPLEMENTATION_PROXY_ENTRY
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   750
#define IMPLEMENTATION_PROXY_ENTRY(aUid, aFuncPtr)  {{aUid},(aFuncPtr)}
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   751
#endif
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   752
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   753
const TImplementationProxy ImplementationTable[] = 
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   754
    {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   755
        IMPLEMENTATION_PROXY_ENTRY(KNSmlDMDevInfoAdapterImplUid, CNSmlDmDevInfoAdapter::NewL)
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   756
    };
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   757
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   758
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   759
//
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   760
// -----------------------------------------------------------------------------
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   761
EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   762
    {
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   763
    _DBG_FILE("ImplementationGroupProxy() for CNSmlDmDevInfoAdapter: begin");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   764
    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   765
    _DBG_FILE("ImplementationGroupProxy() for CNSmlDmDevInfoAdapter: end");
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   766
    return ImplementationTable;
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   767
    }
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   768
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   769
// End of file
7464c1e21dae 201008_internal
hgs
parents:
diff changeset
   770