omadm/omadmextensions/adapters/devinfo/inc/nsmldmdevinfoadapter.h
changeset 0 3ce708148e4d
equal deleted inserted replaced
-1:000000000000 0:3ce708148e4d
       
     1 /*
       
     2 * Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:    DM DevInfo Adapter
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 
       
    21 
       
    22 
       
    23 #ifndef __NSMLDMDEVINFOADAPTER_H__
       
    24 #define __NSMLDMDEVINFOADAPTER_H__
       
    25 
       
    26 // INCLUDES
       
    27 #include <e32base.h>
       
    28 #include <smldmadapter.h>
       
    29 #include "nsmldmconstants.h"
       
    30 
       
    31 // MACROS
       
    32 
       
    33 // the DDF version must be changed if any changes in DDF structure 
       
    34 // ( built in DDFStructureL() function )
       
    35 _LIT8( KNSmlDMDevInfoDDFVersion, "1.0" ); 
       
    36 
       
    37 _LIT8( KNSmlDMDevInfoTextPlain, "text/plain" );
       
    38 _LIT8( KNSmlDMDevInfoNodeName, "DevInfo" );
       
    39 _LIT8( KNSmlDMDevInfoDescription, "The interior object holds all DevInfo objects" );
       
    40 
       
    41 _LIT8( KNSmlDMDevInfoManNodeName, "Man" );
       
    42 _LIT8( KNSmlDMDevInfoManDescription, "The name of the device manufacturer" );
       
    43 
       
    44 _LIT8( KNSmlDMDevInfoModNodeName, "Mod" );
       
    45 _LIT8( KNSmlDMDevInfoModDescription, "The name of the device model" );
       
    46 
       
    47 _LIT8( KNSmlDMDevInfoDevIdNodeName, "DevId" );
       
    48 _LIT8( KNSmlDMDevInfoDevIdDescription, "The unique device identifier" );
       
    49 
       
    50 _LIT8( KNSmlDMDevInfoLangNodeName, "Lang" );
       
    51 _LIT8( KNSmlDMDevInfoLangDescription, "The current language setting of the device" );
       
    52 
       
    53 _LIT8( KNSmlDMDevInfoDmVNodeName, "DmV" );
       
    54 _LIT8( KNSmlDMDevInfoDmVDescription, "The current DM client revision of the device" );
       
    55 
       
    56 _LIT8( KNSmlDMDevInfoExtNodeName, "Ext" );
       
    57 _LIT8( KNSmlDMDevInfoExtDescription, "The extendable DevInfo branch" );
       
    58 
       
    59 _LIT8( KNSmlDMDevInfoModDDFNodeName, "ModDDF" );
       
    60 _LIT8( KNSmlDMDevInfoModDDFDescription, "The checksum counted from DDF" );
       
    61 
       
    62 _LIT8( KNSmlDMDevInfoModDevDetNodeName, "ModDevDet" );
       
    63 _LIT8( KNSmlDMDevInfoModDevDetDescription, "The checksum counted from DevDetail values" );
       
    64 
       
    65 _LIT8( KNSmlDmDDFChangeUri, "DDFCHANGE" );
       
    66 
       
    67 _LIT8( KNSmlDMDevInfoSeparator, "/" );
       
    68 
       
    69 _LIT8( KNSmlDMEnglish, "en" );
       
    70 _LIT8( KNSmlDMFrench, "fr" );
       
    71 _LIT8( KNSmlDMGerman, "de" );
       
    72 _LIT8( KNSmlDMSpanish, "es" );
       
    73 _LIT8( KNSmlDMItalian, "it" );
       
    74 _LIT8( KNSmlDMSwedish, "sv" );
       
    75 _LIT8( KNSmlDMDanish, "da" );
       
    76 _LIT8( KNSmlDMNorwegian, "no" ); 
       
    77 _LIT8( KNSmlDMFinnish, "fi" );
       
    78 _LIT8( KNSmlDMPortuguese, "pt" );
       
    79 _LIT8( KNSmlDMTurkish, "tr" );
       
    80 _LIT8( KNSmlDMIcelandic, "is" );
       
    81 _LIT8( KNSmlDMRussian, "ru" );
       
    82 _LIT8( KNSmlDMHungarian, "hu" );
       
    83 _LIT8( KNSmlDMDutch, "nl" );
       
    84 _LIT8( KNSmlDMCzech, "cs" );
       
    85 _LIT8( KNSmlDMSlovak, "sk" );
       
    86 _LIT8( KNSmlDMPolish, "pl" );
       
    87 _LIT8( KNSmlDMSlovenian, "sl" );
       
    88 _LIT8( KNSmlDMChinese, "ch" );
       
    89 _LIT8( KNSmlDMJapanese, "ja" );
       
    90 _LIT8( KNSmlDMThai, "th" );
       
    91 _LIT8( KNSmlDMAfrikaans, "af" );
       
    92 _LIT8( KNSmlDMAlbanian, "sq" );
       
    93 _LIT8( KNSmlDMAmharic, "am" );
       
    94 _LIT8( KNSmlDMArabic, "ar" );
       
    95 _LIT8( KNSmlDMArmenian, "hy" );
       
    96 _LIT8( KNSmlDMTagalog, "tl" );
       
    97 _LIT8( KNSmlDMBelarussian, "be" );
       
    98 _LIT8( KNSmlDMBengali, "bn" );
       
    99 _LIT8( KNSmlDMBulgarian, "bg" );
       
   100 _LIT8( KNSmlDMBurmese, "my" );
       
   101 _LIT8( KNSmlDMCatalan, "ca" );
       
   102 _LIT8( KNSmlDMCroatian, "hr" );
       
   103 _LIT8( KNSmlDMEstonian, "et" );
       
   104 _LIT8( KNSmlDMFarsi, "fo" );
       
   105 _LIT8( KNSmlDMScotsGaelic, "gl" );
       
   106 _LIT8( KNSmlDMGeorgian, "ka" );
       
   107 _LIT8( KNSmlDMGreek, "el" );
       
   108 _LIT8( KNSmlDMGujarati, "gu" );
       
   109 _LIT8( KNSmlDMHebrew, "he" );
       
   110 _LIT8( KNSmlDMHindi, "hi" );
       
   111 _LIT8( KNSmlDMIndonesian, "id" );
       
   112 _LIT8( KNSmlDMIrish, "ga" );
       
   113 _LIT8( KNSmlDMKannada, "kn" );
       
   114 _LIT8( KNSmlDMKazakh, "kk" );
       
   115 _LIT8( KNSmlDMKorean, "ko" );
       
   116 _LIT8( KNSmlDMLao, "lo" );
       
   117 _LIT8( KNSmlDMLatvian, "lv" );
       
   118 _LIT8( KNSmlDMLithuanian, "lt" );
       
   119 _LIT8( KNSmlDMMacedonian, "mk" );
       
   120 _LIT8( KNSmlDMMalay, "ms" );
       
   121 _LIT8( KNSmlDMMalayalam, "ml" );
       
   122 _LIT8( KNSmlDMMarathi, "mr" );
       
   123 _LIT8( KNSmlDMMoldavian, "mo" );
       
   124 _LIT8( KNSmlDMMongolian, "mn" );
       
   125 _LIT8( KNSmlDMPunjabi, "pa" );
       
   126 _LIT8( KNSmlDMRomanian, "ro" );
       
   127 _LIT8( KNSmlDMSerbian, "sr" );
       
   128 _LIT8( KNSmlDMSinhalese, "si" );                
       
   129 _LIT8( KNSmlDMSomali, "so" );
       
   130 _LIT8( KNSmlDMSwahili, "sw" );
       
   131 _LIT8( KNSmlDMTamil, "ta" );
       
   132 _LIT8( KNSmlDMTelugu, "te" );
       
   133 _LIT8( KNSmlDMTibetan, "bo" );
       
   134 _LIT8( KNSmlDMTigrinya, "ti" );
       
   135 _LIT8( KNSmlDMTurkmen, "tk" );
       
   136 _LIT8( KNSmlDMUkrainian, "uk" );
       
   137 _LIT8( KNSmlDMUrdu, "ur" ); 
       
   138 _LIT8( KNSmlDMVietnamese, "vi" );
       
   139 _LIT8( KNSmlDMWelsh, "cy" );
       
   140 _LIT8( KNSmlDMZulu, "zu" );
       
   141 
       
   142 
       
   143 // CLASS DECLARATION
       
   144 class CNSmlDmDevInfoAdapter : public CSmlDmAdapter
       
   145     {
       
   146 public: // constructors and destructor
       
   147     static CNSmlDmDevInfoAdapter* NewL(MSmlDmCallback* aDmCallback );
       
   148     static CNSmlDmDevInfoAdapter* NewLC(MSmlDmCallback* aDmCallback );
       
   149 
       
   150     virtual ~CNSmlDmDevInfoAdapter();
       
   151 
       
   152 private: ///new functions
       
   153 
       
   154     void SetLeafPropertiesL( MSmlDmDDFObject& aObject, 
       
   155                  const TSmlDmAccessTypes& aAccessTypes, 
       
   156                  const TDesC8& aDescription ) const;
       
   157     CNSmlDmDevInfoAdapter(TAny* aEcomArguments);
       
   158     CSmlDmAdapter::TError FetchLeafObjectL( const TDesC8& aURI, CBufBase& aObject );
       
   159     
       
   160 private: // from base classes
       
   161     // Adapter interface from CSmlDmAdapter
       
   162     void DDFVersionL( CBufBase& aDDFVersion );
       
   163     void DDFStructureL( MSmlDmDDFObject& aDDF );
       
   164     void UpdateLeafObjectL( const TDesC8& aURI, const TDesC8& aLUID, 
       
   165                 const TDesC8& aObject, const TDesC8& aType, 
       
   166                 const TInt aStatusRef );
       
   167     void DeleteObjectL( const TDesC8& aURI, const TDesC8& aLUID, TInt aStatusRef ); 
       
   168     void FetchLeafObjectL( const TDesC8& aURI, const TDesC8& aLUID, 
       
   169                    const TDesC8& aType, const TInt aResultsRef, 
       
   170                    const TInt aStatusRef ); 
       
   171     void ChildURIListL( const TDesC8& aURI, const TDesC8& aLUID, 
       
   172                 const CArrayFix<TSmlDmMappingInfo>& aPreviousURISegmentList, 
       
   173                 const TInt aResultsRef, const TInt aStatusRef );  
       
   174     void AddNodeObjectL( const TDesC8& aURI, const TDesC8& aParentLUID, 
       
   175                  const TInt aStatusRef );
       
   176     
       
   177     void UpdateLeafObjectL( const TDesC8& aURI, const TDesC8& aLUID, 
       
   178                 RWriteStream*& aStream, const TDesC8& aType, 
       
   179                 const TInt aStatusRef );
       
   180     void FetchLeafObjectSizeL( const TDesC8& aURI, const TDesC8& aLUID, 
       
   181                    const TDesC8& aType, const TInt aResultsRef, 
       
   182                    const TInt aStatusRef );
       
   183      
       
   184     void ExecuteCommandL( const TDesC8& aURI, const TDesC8& aLUID,
       
   185                           const TDesC8& aArgument, 
       
   186                           const TDesC8& aType,
       
   187                           const TInt aStatusRef );
       
   188                                   
       
   189     void ExecuteCommandL( const TDesC8& aURI, const TDesC8& aLUID,
       
   190                           RWriteStream*& aStream, 
       
   191                           const TDesC8& aType,
       
   192                           const TInt aStatusRef );
       
   193     
       
   194     void CopyCommandL( const TDesC8& aTargetURI, const TDesC8& aTargetLUID,
       
   195                        const TDesC8& aSourceURI, 
       
   196                        const TDesC8& aSourceLUID,
       
   197                        const TDesC8& aType, TInt aStatusRef );
       
   198     void StartAtomicL();
       
   199     void CommitAtomicL();
       
   200     void RollbackAtomicL();
       
   201     TBool StreamingSupport( TInt& aItemSize );
       
   202     void StreamCommittedL();
       
   203     void CompleteOutstandingCmdsL();
       
   204     
       
   205     
       
   206 private:
       
   207     MSmlDmCallback* iDmCallback;
       
   208     };
       
   209 
       
   210 #endif // __NSMLDMDEVINFOADAPTER_H__