secureswitools/swisistools/source/interpretsislib/xmlgenerator.cpp
author hgs
Fri, 20 Aug 2010 11:39:56 +0300
changeset 64 48c14c385b0e
parent 55 ac7f90a6ff4c
child 75 2d2d25361590
permissions -rw-r--r--
201033_01
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
     2
* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     5
* under the terms of the License "Eclipse Public License v1.0"
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
*
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
* Initial Contributors:
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
*
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
* Contributors:
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
*
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
* Description: 
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
* CXmlGenerator - Used to generate the xml file containing registry information.
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
*
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
*/
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    19
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    20
/**
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
 @file 
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    22
 @released
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
 @internalTechnology
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    24
*/
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
55
ac7f90a6ff4c 201029_02
hgs
parents: 50
diff changeset
    26
#include "util.h"
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    27
#include "xmlgenerator.h"
55
ac7f90a6ff4c 201029_02
hgs
parents: 50
diff changeset
    28
#include "exception.h"
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    29
#include "is_utils.h"
55
ac7f90a6ff4c 201029_02
hgs
parents: 50
diff changeset
    30
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    31
#include "utf8_wrapper.h"
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    32
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    33
#include <xercesc/dom/DOM.hpp>
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    34
#include <xercesc/util/XMLString.hpp>
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    35
#include <xercesc/util/PlatformUtils.hpp>
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    36
#include <xercesc/framework/StdOutFormatTarget.hpp>
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    37
#include <xercesc/framework/LocalFileFormatTarget.hpp>
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    38
#include <xercesc/framework/XMLFormatter.hpp>
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    39
#include <xercesc/framework/MemBufFormatTarget.hpp>
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    40
#include <xercesc/util/XercesVersion.hpp>
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    41
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    42
#include <exception>
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    43
#include <string>
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    44
#include <vector>
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    45
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    46
#include <memory>
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    47
#include <cstdio>
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    48
#include <stdexcept>
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    49
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    50
#include "toolsconf.h"
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    51
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    52
XERCES_CPP_NAMESPACE_USE
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    53
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    54
// these function pointers is used to call appropriate release methods of 
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    55
// which are member function of a class. 
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    56
typedef void (XERCES_CPP_NAMESPACE::DOMDocument::*releaseDOMDoc) ();
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    57
typedef void (XERCES_CPP_NAMESPACE::DOMWriter::*releaseDOMWriter) ();
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    58
typedef void (*xmlPlatform) ();
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    59
typedef void (*releaseXmlChPtr) (XMLCh** buf);
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    60
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    61
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    62
//------------------------------------- Literals ------------------------------------------
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    63
// Xerces literals are of type XMLCh*. For gcc XMLCh is defined as unsigned short (UCS16). 
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    64
// In windows wchar_t has the same size as XMLCh therefor literals defined as L"This is a 
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    65
// literal" will work. But in linux size of wchar_t is 4 (UCS32) bytes and hence L cannot 
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    66
// be used for defining literals. To avoid string conversion and dynamic memory allocation 
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    67
// following method is used to represent unsigned short literal. Current compiler has the 
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    68
// limitation to represent such literals.
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    69
//-----------------------------------------------------------------------------------------
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    70
const XMLCh* KPreProvisionInformation = (const XMLCh*)    "P\0r\0e\0P\0r\0o\0v\0i\0s\0i\0o\0n\0I\0n\0f\0o\0r\0m\0a\0t\0i\0o\0n\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    71
const XMLCh* KSoftwareTypeName = (const XMLCh*)           "S\0o\0f\0t\0w\0a\0r\0e\0T\0y\0p\0e\0N\0a\0m\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    72
const XMLCh* KUTF16 = (const XMLCh*)                      "U\0T\0F\0-\0001\0006\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    73
const XMLCh* KComponent = (const XMLCh*)                  "C\0o\0m\0p\0o\0n\0e\0n\0t\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    74
const XMLCh* KDependentId = (const XMLCh*)                "D\0e\0p\0e\0n\0d\0e\0n\0t\0I\0d\0\0\0"; 
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    75
const XMLCh* KToVersion = (const XMLCh*)                  "T\0o\0V\0e\0r\0s\0i\0o\0n\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    76
const XMLCh* KFromVersion = (const XMLCh*)                "F\0r\0o\0m\0V\0e\0r\0s\0i\0o\0n\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    77
const XMLCh* KSupplierId = (const XMLCh*)                 "S\0u\0p\0p\0l\0i\0e\0r\0I\0d\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    78
const XMLCh* KName = (const XMLCh*)                       "N\0a\0m\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    79
const XMLCh* KFileProperty_StrValue = (const XMLCh*)      "F\0i\0l\0e\0P\0r\0o\0p\0e\0r\0t\0y\0_\0S\0t\0r\0V\0a\0l\0u\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    80
const XMLCh* KFileProperty_IntValue = (const XMLCh*)      "F\0i\0l\0e\0P\0r\0o\0p\0e\0r\0t\0y\0_\0I\0n\0t\0V\0a\0l\0u\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    81
const XMLCh* KLocation = (const XMLCh*)                   "L\0o\0c\0a\0t\0i\0o\0n\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    82
const XMLCh* KComponentProperty_IsBinary = (const XMLCh*) "C\0o\0m\0p\0o\0n\0e\0n\0t\0P\0r\0o\0p\0e\0r\0t\0y\0_\0I\0s\0B\0i\0n\0a\0r\0y\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    83
const XMLCh* KComponentProperty_StrValue = (const XMLCh*) "C\0o\0m\0p\0o\0n\0e\0n\0t\0P\0r\0o\0p\0e\0r\0t\0y\0_\0S\0t\0r\0V\0a\0l\0u\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    84
const XMLCh* KComponentProperty_IntValue = (const XMLCh*) "C\0o\0m\0p\0o\0n\0e\0n\0t\0P\0r\0o\0p\0e\0r\0t\0y\0_\0I\0n\0t\0V\0a\0l\0u\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    85
const XMLCh* KComponentProperty_Locale = (const XMLCh*)   "C\0o\0m\0p\0o\0n\0e\0n\0t\0P\0r\0o\0p\0e\0r\0t\0y\0_\0L\0o\0c\0a\0l\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    86
const XMLCh* KComponentLocalizable_Vendor=(const XMLCh*)  "C\0o\0m\0p\0o\0n\0e\0n\0t\0L\0o\0c\0a\0l\0i\0z\0a\0b\0l\0e\0_\0V\0e\0n\0d\0o\0r\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    87
const XMLCh* KComponentLocalizable_Name = (const XMLCh*)  "C\0o\0m\0p\0o\0n\0e\0n\0t\0L\0o\0c\0a\0l\0i\0z\0a\0b\0l\0e\0_\0N\0a\0m\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    88
const XMLCh* KComponentLocalizable_Locale=(const XMLCh*)  "C\0o\0m\0p\0o\0n\0e\0n\0t\0L\0o\0c\0a\0l\0i\0z\0a\0b\0l\0e\0_\0L\0o\0c\0a\0l\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    89
const XMLCh* KBuild = (const XMLCh*)                      "B\0u\0i\0l\0d\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    90
const XMLCh* KMinor = (const XMLCh*)                      "M\0i\0n\0o\0r\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    91
const XMLCh* KMajor = (const XMLCh*)                      "M\0a\0j\0o\0r\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    92
const XMLCh* KVersion = (const XMLCh*)                    "V\0e\0r\0s\0i\0o\0n\0\0\0"; 
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    93
const XMLCh* KHidden = (const XMLCh*)                     "H\0i\0d\0d\0e\0n\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    94
const XMLCh* KOriginVerified = (const XMLCh*)             "O\0r\0i\0g\0i\0n\0V\0e\0r\0i\0f\0i\0e\0d\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    95
const XMLCh* KGlobalId = (const XMLCh*)                   "G\0l\0o\0b\0a\0l\0I\0d\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    96
const XMLCh* KScomoState = (const XMLCh*)                 "S\0c\0o\0m\0o\0S\0t\0a\0t\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    97
const XMLCh* KSize = (const XMLCh*)                       "S\0i\0z\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    98
const XMLCh* KRemovable = (const XMLCh*)                  "R\0e\0m\0o\0v\0a\0b\0l\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
    99
const XMLCh* KComponentLocalizable = (const XMLCh*)       "C\0o\0m\0p\0o\0n\0e\0n\0t\0L\0o\0c\0a\0l\0i\0z\0a\0b\0l\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   100
const XMLCh* KComponentProperty = (const XMLCh*)          "C\0o\0m\0p\0o\0n\0e\0n\0t\0P\0r\0o\0p\0e\0r\0t\0y\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   101
const XMLCh* KComponentProperty_Value = (const XMLCh*)    "C\0o\0m\0p\0o\0n\0e\0n\0t\0P\0r\0o\0p\0e\0r\0t\0y\0_\0V\0a\0l\0u\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   102
const XMLCh* KComponentFile = (const XMLCh*)              "C\0o\0m\0p\0o\0n\0e\0n\0t\0F\0i\0l\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   103
const XMLCh* KFileProperty = (const XMLCh*)               "F\0i\0l\0e\0P\0r\0o\0p\0e\0r\0t\0y\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   104
const XMLCh* KFileProperty_Value = (const XMLCh*)         "F\0i\0l\0e\0P\0r\0o\0p\0e\0r\0t\0y\0_\0V\0a\0l\0u\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   105
const XMLCh* KComponentDependency = (const XMLCh*)        "C\0o\0m\0p\0o\0n\0e\0n\0t\0D\0e\0p\0e\0n\0d\0e\0n\0c\0y\0\0\0"; 	
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   106
const XMLCh* KDependencyList = (const XMLCh*)             "D\0e\0p\0e\0n\0d\0e\0n\0c\0y\0L\0i\0s\0t\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   107
const XMLCh* KRomApplication = (const XMLCh*)             "R\0o\0m\0A\0p\0p\0l\0i\0c\0a\0t\0i\0o\0n\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   108
const XMLCh* KApplicationRegistrationInfo = (const XMLCh*) "A\0p\0p\0l\0i\0c\0a\0t\0i\0o\0n\0R\0e\0g\0i\0s\0t\0r\0a\0t\0i\0o\0n\0I\0n\0f\0o\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   109
const XMLCh* KOpaqueData = (const XMLCh*) 				  "O\0p\0a\0q\0u\0e\0D\0a\0t\0a\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   110
const XMLCh* KData = (const XMLCh*)						  "D\0a\0t\0a\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   111
const XMLCh* KOpaqueLocale = (const XMLCh*)				  "O\0p\0a\0q\0u\0e\0L\0o\0c\0a\0l\0e\0\0\0";
55
ac7f90a6ff4c 201029_02
hgs
parents: 50
diff changeset
   112
const XMLCh* KIsBinary = (const XMLCh*)				  	  "I\0s\0B\0i\0n\0a\0r\0y\0\0\0";
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   113
const XMLCh* KFileOwnershipinfo = (const XMLCh*)		  "F\0i\0l\0e\0O\0w\0n\0e\0r\0s\0h\0i\0p\0i\0n\0f\0o\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   114
const XMLCh* KFileName = (const XMLCh*) 				  "F\0i\0l\0e\0N\0a\0m\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   115
const XMLCh* KApplicationLocalizableInfo = (const XMLCh*) "A\0p\0p\0l\0i\0c\0a\0t\0i\0o\0n\0L\0o\0c\0a\0l\0i\0z\0a\0b\0l\0e\0I\0n\0f\0o\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   116
const XMLCh* KLocalizableAttribute = (const XMLCh*)       "L\0o\0c\0a\0l\0i\0z\0a\0b\0l\0e\0A\0t\0t\0r\0i\0b\0u\0t\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   117
const XMLCh* KLocalizableAttribute_Value = (const XMLCh*) "L\0o\0c\0a\0l\0i\0z\0a\0b\0l\0e\0A\0t\0t\0r\0i\0b\0u\0t\0e\0_\0V\0a\0l\0u\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   118
const XMLCh* KLocalizableAttribute_IntValue = (const XMLCh*) "L\0o\0c\0a\0l\0i\0z\0a\0b\0l\0e\0A\0t\0t\0r\0i\0b\0u\0t\0e\0_\0I\0n\0t\0V\0a\0l\0u\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   119
const XMLCh* KLocalizableAttribute_StrValue = (const XMLCh*) "L\0o\0c\0a\0l\0i\0z\0a\0b\0l\0e\0A\0t\0t\0r\0i\0b\0u\0t\0e\0_\0S\0t\0r\0V\0a\0l\0u\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   120
const XMLCh* KViewData = (const XMLCh*) "V\0i\0e\0w\0D\0a\0t\0a\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   121
const XMLCh* KViewDataAttribute = (const XMLCh*) "V\0i\0e\0w\0D\0a\0t\0a\0A\0t\0t\0r\0i\0b\0u\0t\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   122
const XMLCh* KApplicationDataType = (const XMLCh*) "A\0p\0p\0l\0i\0c\0a\0t\0i\0o\0n\0D\0a\0t\0a\0T\0y\0p\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   123
const XMLCh* KPriority = (const XMLCh*) "P\0r\0i\0o\0r\0i\0t\0y\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   124
const XMLCh* KType = (const XMLCh*) "T\0y\0p\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   125
const XMLCh* KViewData_Value = (const XMLCh*) "V\0i\0e\0w\0D\0a\0t\0a\0_\0V\0a\0l\0u\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   126
const XMLCh* KViewData_IntValue = (const XMLCh*) "V\0i\0e\0w\0D\0a\0t\0a\0_\0I\0n\0t\0V\0a\0l\0u\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   127
const XMLCh* KViewData_StrValue = (const XMLCh*) "V\0i\0e\0w\0D\0a\0t\0a\0_\0S\0t\0r\0V\0a\0l\0u\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   128
const XMLCh* KApplicationServiceInfo = (const XMLCh*) "A\0p\0p\0l\0i\0c\0a\0t\0i\0o\0n\0S\0e\0r\0v\0i\0c\0e\0I\0n\0f\0o\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   129
const XMLCh* KUid = (const XMLCh*) "U\0i\0d\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   130
const XMLCh* KServiceOpaqueData = (const XMLCh*) "S\0e\0r\0v\0i\0c\0e\0O\0p\0a\0q\0u\0e\0D\0a\0t\0a\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   131
const XMLCh* KServiceData = (const XMLCh*) "S\0e\0r\0v\0i\0c\0e\0D\0a\0t\0a\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   132
const XMLCh* KServiceOpaqueLocale = (const XMLCh*) "S\0e\0r\0v\0i\0c\0e\0O\0p\0a\0q\0u\0e\0L\0o\0c\0a\0l\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   133
const XMLCh* KApplicationProperty = (const XMLCh*) "A\0p\0p\0l\0i\0c\0a\0t\0i\0o\0n\0P\0r\0o\0p\0e\0r\0t\0y\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   134
const XMLCh* KLocale = (const XMLCh*) "L\0o\0c\0a\0l\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   135
const XMLCh* KServiceUid = (const XMLCh*) "S\0e\0r\0v\0i\0c\0e\0U\0i\0d\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   136
const XMLCh* KIntValue = (const XMLCh*) "I\0n\0t\0V\0a\0l\0u\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   137
const XMLCh* KStrValue = (const XMLCh*) "S\0t\0r\0V\0a\0l\0u\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   138
const XMLCh* KIsStr8Bit = (const XMLCh*) "I\0s\0S\0t\0r\08\0B\0i\0t\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   139
const XMLCh* KApplicationAttribute = (const XMLCh*) "A\0p\0p\0l\0i\0c\0a\0t\0i\0o\0n\0A\0t\0t\0r\0i\0b\0u\0t\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   140
const XMLCh* KApplicationAttribute_Value = (const XMLCh*) "A\0p\0p\0l\0i\0c\0a\0t\0i\0o\0n\0A\0t\0t\0r\0i\0b\0u\0t\0e\0_\0V\0a\0l\0u\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   141
const XMLCh* KApplicationAttribute_IntValue = (const XMLCh*) "A\0p\0p\0l\0i\0c\0a\0t\0i\0o\0n\0A\0t\0t\0r\0i\0b\0u\0t\0e\0_\0I\0n\0t\0V\0a\0l\0u\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   142
const XMLCh* KApplicationAttribute_StrValue = (const XMLCh*) "A\0p\0p\0l\0i\0c\0a\0t\0i\0o\0n\0A\0t\0t\0r\0i\0b\0u\0t\0e\0_\0S\0t\0r\0V\0a\0l\0u\0e\0\0\0";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   143
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   144
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   145
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   146
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   147
//-----------------------------------------------------------------------------------------
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   148
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   149
//------------------------------------------------------------------------------------------------------------------------------
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   150
//											UTILITY FUNCTIONS
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   151
//------------------------------------------------------------------------------------------------------------------------------
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   152
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   153
XercesString ConvertToXercesString(const char* aString, int aLength)
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   154
	{
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   155
	XMLCh* buffer = new UTF16[aLength + 1];
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   156
	XMLCh* temp = buffer; // save as buffer gets modified..
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   157
	ConvertUTF8toUTF16(&aString, aString + aLength, &temp, buffer + aLength, lenientConversion);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   158
	
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   159
	// Appending NUL to the converted buffer.
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   160
	*temp = 0;
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   161
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   162
	XercesString result;
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   163
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   164
	result.append(buffer);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   165
	delete[] buffer;
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   166
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   167
	return result;
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   168
	}
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   169
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   170
XercesString IntegerToXercesString(int aValue)
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   171
	{
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   172
	std::stringstream str;
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   173
	str << aValue;
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   174
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   175
	return ConvertToXercesString(str.str().c_str(), str.str().length());
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   176
	}
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   177
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   178
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   179
XercesString Int64ToXercesString(TInt64 aInt)
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   180
	{
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   181
	char str[50];
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   182
	
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   183
	sprintf(str, "%I64u", aInt);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   184
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   185
	return ConvertToXercesString(str, strlen(str));
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   186
	}
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   187
	
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   188
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   189
//------------------------------------------------------------------------------------------------------------------------------
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   190
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   191
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   192
CXmlGenerator::CXmlGenerator()
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   193
	{}
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   194
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   195
CXmlGenerator::~CXmlGenerator()
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   196
	{}
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   197
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   198
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   199
void CXmlGenerator::WritePreProvisionDetails(const std::wstring aXmlFileName, 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   200
												const XmlDetails::TScrPreProvisionDetail& aPreProvisionDetail,
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   201
												int& aRomApplication
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   202
												)
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   203
	{
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   204
	try 
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   205
		{
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   206
		XMLPlatformUtils::Initialize();
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   207
		static_fn_auto_ptr<xmlPlatform> xmlPlatformTerm(&XMLPlatformUtils::Terminate);
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   208
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   209
		DOMImplementation* domImpl = DOMImplementation::getImplementation() ;
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   210
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   211
		mem_fn_auto_ptr<releaseDOMWriter, DOMWriter*> domWriter( &XERCES_CPP_NAMESPACE::DOMWriter::release, ((DOMImplementationLS*)domImpl)->createDOMWriter() );
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   212
				
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   213
		SetWriterFeatures(domWriter.get());
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   214
		
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   215
		std::auto_ptr < SchemaDomErrorHandler > errHandler(new SchemaDomErrorHandler());
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   216
		domWriter->setErrorHandler(errHandler.get());
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   217
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   218
#ifdef _WIN32
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   219
		// XMLString::trascode() function should be used for conversion.
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   220
		std::auto_ptr < XMLFormatTarget > outputFile( new LocalFileFormatTarget( aXmlFileName.c_str() ) );	
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   221
#else
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   222
        std::string fileName = wstring2string(aXmlFileName);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   223
		std::auto_ptr < XMLFormatTarget > outputFile( new LocalFileFormatTarget( fileName.c_str() ) );
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   224
#endif // _WIN32		
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   225
		const char* epocRoot = getenv("EPOCROOT");		
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   226
		if(NULL == epocRoot)
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   227
			{
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   228
			throw std::runtime_error("EPOCROOT environment variable not specified.");
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   229
			}
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   230
		
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   231
		std::string epocRootStr(epocRoot); 
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   232
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   233
		#ifdef __LINUX__ 
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   234
		std::string dtdFilePath = epocRootStr + "epoc32/tools/preprovision.dtd";
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   235
		#else 	  	  	 
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   236
		std::string dtdFilePath = epocRootStr + "epoc32\\tools\\preprovision.dtd"; 	
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   237
		#endif
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   238
		
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   239
		fn_auto_ptr<releaseXmlChPtr, XMLCh> dtdPath( &XMLString::release, XMLString::transcode(dtdFilePath.c_str()) );
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   240
		DOMDocumentType* documentType = domImpl->createDocumentType(KPreProvisionInformation,NULL, dtdPath.get());
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   241
		
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   242
		
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   243
		mem_fn_auto_ptr< releaseDOMDoc, DOMDocument* > domDocument( &XERCES_CPP_NAMESPACE::DOMDocument::release, domImpl->createDocument(	0, KPreProvisionInformation, documentType) );
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   244
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   245
		DOMElement* rootElement = domDocument->getDocumentElement();
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   246
		
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   247
		// SoftwareTypeName
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   248
		AddChildElement(rootElement, domDocument.get(), KSoftwareTypeName, aPreProvisionDetail.SoftwareTypeName().c_str() );
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   249
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   250
		std::vector<XmlDetails::TScrPreProvisionDetail::TComponent>::const_iterator compIter;
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   251
		for(compIter = aPreProvisionDetail.iComponents.begin(); compIter != aPreProvisionDetail.iComponents.end() ; ++compIter)
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   252
			{
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   253
			DOMElement*  component = domDocument->createElement(KComponent);
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   254
			rootElement->appendChild(component);
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   255
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   256
			WriteComponent(component,domDocument.get(), *compIter, aRomApplication);
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   257
			}
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   258
		// do the serialization through DOMWriter::writeNode();
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   259
		domWriter->writeNode(outputFile.get(), *domDocument.get()); 	  			
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   260
		}
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   261
        catch (const XMLException& toCatch) 
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   262
			{
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   263
            char* message = XMLString::transcode(toCatch.getMessage());
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   264
            XMLString::release(&message);
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   265
			}
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   266
        catch (const DOMException& toCatch) 
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   267
			{
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   268
            char* message = XMLString::transcode(toCatch.msg);
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   269
            XMLString::release(&message);
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   270
			}
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   271
        catch (...) 
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   272
			{
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   273
			} 
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   274
	}
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   275
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   276
void CXmlGenerator::SetWriterFeatures(DOMWriter* aDomWriter)
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   277
	{
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   278
	if (aDomWriter->canSetFeature(XMLUni::fgDOMWRTEntities, true))
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   279
		aDomWriter->setFeature(XMLUni::fgDOMWRTEntities, true);
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   280
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   281
	if (aDomWriter->canSetFeature(XMLUni::fgDOMWRTFormatPrettyPrint, true))
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   282
		 aDomWriter->setFeature(XMLUni::fgDOMWRTFormatPrettyPrint, true);
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   283
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   284
	if (aDomWriter->canSetFeature(XMLUni::fgDOMWRTNormalizeCharacters, false))
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   285
		aDomWriter->setFeature(XMLUni::fgDOMWRTNormalizeCharacters, false);
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   286
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   287
	if (aDomWriter->canSetFeature(XMLUni::fgDOMWRTSplitCdataSections, true))
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   288
		 aDomWriter->setFeature(XMLUni::fgDOMWRTSplitCdataSections, true);
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   289
	
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   290
	if (aDomWriter->canSetFeature(XMLUni::fgDOMWRTValidation, false))
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   291
		aDomWriter->setFeature(XMLUni::fgDOMWRTValidation, false);
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   292
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   293
	if (aDomWriter->canSetFeature(XMLUni::fgDOMWRTWhitespaceInElementContent, true))
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   294
		 aDomWriter->setFeature(XMLUni::fgDOMWRTWhitespaceInElementContent, true);
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   295
	
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   296
	if (aDomWriter->canSetFeature(XMLUni::fgDOMWRTBOM, true))
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   297
		aDomWriter->setFeature(XMLUni::fgDOMWRTBOM, true);
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   298
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   299
	if (aDomWriter->canSetFeature(XMLUni::fgDOMXMLDeclaration, true))
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   300
		 aDomWriter->setFeature(XMLUni::fgDOMXMLDeclaration, true);
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   301
	
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   302
	aDomWriter->setEncoding(KUTF16);
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   303
	}
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   304
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   305
void CXmlGenerator::WriteComponent( DOMElement* aRootElement, DOMDocument* aDocument, 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   306
										const XmlDetails::TScrPreProvisionDetail::TComponent& aComponent, 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   307
										int& aRomApplication
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   308
										)
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   309
	{
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   310
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   311
	if (aRomApplication) 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   312
	{
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   313
		int isRomApplication = 1;
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   314
		XercesString isRomApp = IntegerToXercesString(isRomApplication);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   315
		AddChildElement(aRootElement, aDocument, KRomApplication, isRomApp.c_str());
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   316
	}
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   317
	
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   318
	XercesString isRemovable = IntegerToXercesString(aComponent.iComponentDetails.iIsRemovable);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   319
	AddChildElement(aRootElement, aDocument, KRemovable, isRemovable.c_str() );
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   320
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   321
	
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   322
	XercesString size = Int64ToXercesString(aComponent.iComponentDetails.iSize);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   323
	AddChildElement(aRootElement, aDocument, KSize, size.c_str() );
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   324
	
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   325
	XercesString scomoState = IntegerToXercesString(aComponent.iComponentDetails.iScomoState);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   326
	AddChildElement(aRootElement, aDocument, KScomoState, scomoState.c_str() );
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   327
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   328
	AddChildElement(aRootElement, aDocument, KGlobalId, aComponent.iComponentDetails.GlobalId().c_str() );
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   329
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   330
	WriteComponentVersion(aRootElement, aDocument, aComponent.iComponentDetails.iVersion);
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   331
	
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   332
	XercesString isOriginVerified = Int64ToXercesString(aComponent.iComponentDetails.iOriginVerified);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   333
	AddChildElement(aRootElement, aDocument, KOriginVerified, isOriginVerified.c_str() );
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   334
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   335
	XercesString isHidden = IntegerToXercesString(aComponent.iComponentDetails.iIsHidden);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   336
	AddChildElement(aRootElement, aDocument, KHidden, isHidden.c_str() );
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   337
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   338
	WriteComponentLocalizables(aRootElement, aDocument, aComponent.iComponentLocalizables);
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   339
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   340
	WriteComponentProperties(aRootElement, aDocument, aComponent.iComponentProperties);
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   341
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   342
	WriteComponentFiles(aRootElement, aDocument, aComponent.iComponentFiles);
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   343
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   344
	WriteComponentDependencies(aRootElement, aDocument, aComponent.iComponentDependency);
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   345
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   346
	WriteAppRegInfo(aRootElement, aDocument, aComponent.iApplicationRegistrationInfo);
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   347
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   348
	}
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   349
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   350
void CXmlGenerator::WriteComponentVersion
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   351
				(
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   352
				DOMElement* aRootElement, 
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   353
				DOMDocument* aDocument, 
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   354
				XmlDetails::TScrPreProvisionDetail::TComponentDetails::TVersion aVersion
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   355
				)
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   356
	{
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   357
	DOMElement*  version = aDocument->createElement(KVersion);
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   358
	aRootElement->appendChild(version);
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   359
	version->setAttribute( KMajor, aVersion.MajorVersion().c_str() );
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   360
	version->setAttribute( KMinor, aVersion.MinorVersion().c_str() );
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   361
	version->setAttribute( KBuild, aVersion.BuildVersion().c_str() );
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   362
	}
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   363
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   364
void CXmlGenerator::WriteComponentLocalizables
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   365
					(	
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   366
						DOMElement* aRootElement, DOMDocument* aDocument, 
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   367
						const std::vector<ComponentLocalizable>& aComponentLocalizable 
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   368
					)
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   369
	{
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   370
	std::vector<ComponentLocalizable>::const_iterator compLocIter;
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   371
	for( compLocIter = aComponentLocalizable.begin() ; compLocIter != aComponentLocalizable.end() ; ++compLocIter)
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   372
		{
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   373
		DOMElement* newRoot = AddTag(aRootElement, aDocument, KComponentLocalizable);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   374
		XercesString locale = IntegerToXercesString(compLocIter->iLocale);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   375
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   376
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   377
		AddChildElement(newRoot,aDocument, KComponentLocalizable_Locale, locale.c_str());
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   378
		AddChildElement(newRoot,aDocument, KComponentLocalizable_Name, compLocIter->Name().c_str());
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   379
		AddChildElement(newRoot,aDocument, KComponentLocalizable_Vendor, compLocIter->Vendor().c_str());
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   380
		}
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   381
	}
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   382
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   383
void CXmlGenerator::WriteComponentProperties	
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   384
					( 
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   385
						DOMElement* aRootElement, DOMDocument* aDocument, 
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   386
						const std::vector<ComponentProperty>& aComponentProperties 
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   387
					)
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   388
	{
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   389
	std::vector<ComponentProperty>::const_iterator compPropIter;
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   390
	for( compPropIter = aComponentProperties.begin() ; compPropIter != aComponentProperties.end() ; ++compPropIter)
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   391
		{
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   392
		
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   393
		DOMElement* compPropRoot = AddTag(aRootElement, aDocument, KComponentProperty);
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   394
		
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   395
		XercesString locale = IntegerToXercesString(compPropIter->iLocale);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   396
		AddChildElement(compPropRoot,aDocument, KComponentProperty_Locale, locale.c_str());
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   397
		
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   398
		DOMElement* compPropValueRoot = AddTag(compPropRoot, aDocument, KComponentProperty_Value);
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   399
		
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   400
		XercesString isBinary = IntegerToXercesString(compPropIter->iIsStr8Bit);
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   401
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   402
		if(compPropIter->iIsIntValue)
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   403
			{
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   404
			AddChildElement(compPropValueRoot,aDocument, KComponentProperty_IntValue, compPropIter->Value().c_str());
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   405
			}
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   406
		else
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   407
			{
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   408
			AddChildElement(compPropValueRoot,aDocument, KComponentProperty_StrValue, compPropIter->Value().c_str());
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   409
			}
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   410
		
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   411
		
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   412
		AddChildElement(compPropRoot,aDocument, KComponentProperty_IsBinary, isBinary.c_str());
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   413
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   414
		compPropRoot->setAttribute(KName, compPropIter->Name().c_str());
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   415
		
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   416
		}
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   417
	}
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   418
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   419
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   420
/**
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   421
 * Writes Class TAppRegistrationInfo Info in XML. 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   422
 */
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   423
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   424
void CXmlGenerator::WriteAppRegInfo	
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   425
					( 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   426
						DOMElement* aRootElement, DOMDocument* aDocument, 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   427
						const std::vector<AppRegistrationInfo>& aAppRegInfo 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   428
					)
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   429
{
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   430
	std::vector<AppRegistrationInfo>::const_iterator compFileIter;
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   431
	for( compFileIter = aAppRegInfo.begin() ; compFileIter != aAppRegInfo.end() ; ++compFileIter)
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   432
	{
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   433
		DOMElement* compFileRoot = AddTag(aRootElement, aDocument, KApplicationRegistrationInfo);
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   434
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   435
		WriteAppAttributes(compFileRoot, aDocument, compFileIter->iApplicationAttribute);
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   436
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   437
		const std::vector<AppOpaqueDataType>& aAppOpaqueDataType = compFileIter->iOpaqueDataType;
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   438
		std::vector<AppOpaqueDataType>::const_iterator fileAppOpaqueDataType;
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   439
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   440
		for( fileAppOpaqueDataType = aAppOpaqueDataType.begin() ; fileAppOpaqueDataType != aAppOpaqueDataType.end() ; ++fileAppOpaqueDataType)
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   441
		{
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   442
			if(0 == fileAppOpaqueDataType->iServiceUid)
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   443
			{
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   444
				DOMElement* filePropValueRoot = AddTag(compFileRoot, aDocument, KOpaqueData);
55
ac7f90a6ff4c 201029_02
hgs
parents: 50
diff changeset
   445
				
ac7f90a6ff4c 201029_02
hgs
parents: 50
diff changeset
   446
				if(fileAppOpaqueDataType->iIsBinary)
ac7f90a6ff4c 201029_02
hgs
parents: 50
diff changeset
   447
				{
ac7f90a6ff4c 201029_02
hgs
parents: 50
diff changeset
   448
					std::string temp = wstring2string(fileAppOpaqueDataType->iOpaqueData);
ac7f90a6ff4c 201029_02
hgs
parents: 50
diff changeset
   449
					std::string binStrData = Util::Base64Encode(temp);
ac7f90a6ff4c 201029_02
hgs
parents: 50
diff changeset
   450
					std::wstring binData = string2wstring(binStrData);
64
48c14c385b0e 201033_01
hgs
parents: 55
diff changeset
   451
					XercesString opaqueBinData = WStringToXercesString(binData);
48c14c385b0e 201033_01
hgs
parents: 55
diff changeset
   452
					AddChildElement(filePropValueRoot,aDocument, KData, opaqueBinData.c_str());
55
ac7f90a6ff4c 201029_02
hgs
parents: 50
diff changeset
   453
				}
ac7f90a6ff4c 201029_02
hgs
parents: 50
diff changeset
   454
				else
ac7f90a6ff4c 201029_02
hgs
parents: 50
diff changeset
   455
				{
64
48c14c385b0e 201033_01
hgs
parents: 55
diff changeset
   456
					XercesString opaqueData = WStringToXercesString(fileAppOpaqueDataType->iOpaqueData);
48c14c385b0e 201033_01
hgs
parents: 55
diff changeset
   457
					AddChildElement(filePropValueRoot,aDocument, KData, opaqueData.c_str());
55
ac7f90a6ff4c 201029_02
hgs
parents: 50
diff changeset
   458
				}
ac7f90a6ff4c 201029_02
hgs
parents: 50
diff changeset
   459
				
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   460
				XercesString locale = IntegerToXercesString(fileAppOpaqueDataType->iLocale);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   461
				AddChildElement(filePropValueRoot,aDocument, KOpaqueLocale, locale.c_str());
55
ac7f90a6ff4c 201029_02
hgs
parents: 50
diff changeset
   462
ac7f90a6ff4c 201029_02
hgs
parents: 50
diff changeset
   463
				XercesString iBinary = IntegerToXercesString(fileAppOpaqueDataType->iIsBinary);
ac7f90a6ff4c 201029_02
hgs
parents: 50
diff changeset
   464
				AddChildElement(filePropValueRoot,aDocument, KIsBinary, iBinary.c_str());
ac7f90a6ff4c 201029_02
hgs
parents: 50
diff changeset
   465
				
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   466
			}
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   467
		}
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   468
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   469
		for(vector<std::wstring>::iterator mimeiter = compFileIter->iFileOwnershipInfo.begin() ; mimeiter != compFileIter->iFileOwnershipInfo.end() ; ++mimeiter )
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   470
		{
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   471
			DOMElement* filePropRoot = AddTag(compFileRoot, aDocument, KFileOwnershipinfo);
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   472
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   473
			XercesString temp = WStringToXercesString(*mimeiter);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   474
			AddChildElement(filePropRoot,aDocument, KFileName,  temp.c_str());
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   475
		}
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   476
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   477
		WriteAppServiceInfo(compFileRoot, aDocument, compFileIter->iApplicationServiceInfo, compFileIter->iOpaqueDataType);
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   478
		WriteAppLocalizableInfo(compFileRoot, aDocument, compFileIter->iApplicationLocalizableInfo);
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   479
	}
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   480
}
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   481
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   482
/**
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   483
 * Writes Class TAppLocalizableInfo Info in XML. 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   484
 */
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   485
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   486
void CXmlGenerator::WriteAppLocalizableInfo	
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   487
					( 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   488
						DOMElement* aRootElement, DOMDocument* aDocument, 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   489
						const std::vector<AppLocalizableInfo>& aAppLocalizableInfo
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   490
					)
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   491
{
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   492
	std::vector<AppLocalizableInfo>::const_iterator filePropIter;
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   493
	for( filePropIter = aAppLocalizableInfo.begin() ; filePropIter != aAppLocalizableInfo.end() ; ++filePropIter)
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   494
	{
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   495
		DOMElement* filePropRoot = AddTag(aRootElement, aDocument, KApplicationLocalizableInfo);
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   496
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   497
		WriteAppLocalizableAttribute(filePropRoot, aDocument, filePropIter->iLocalizableAttribute);
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   498
		WriteAppLocalizableViewData(filePropRoot, aDocument, filePropIter->iViewData);
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   499
	}
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   500
}
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   501
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   502
/**
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   503
 * Writes Class TAppLocalizableAttribute Info in XML. 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   504
 */
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   505
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   506
void CXmlGenerator::WriteAppLocalizableAttribute	
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   507
					( 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   508
						DOMElement* aRootElement, DOMDocument* aDocument, 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   509
						const std::vector<AppLocalizableAttribute>& aAppLocalizableAttribute 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   510
					)
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   511
{
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   512
	std::vector<AppLocalizableAttribute>::const_iterator filePropIter;
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   513
	for( filePropIter = aAppLocalizableAttribute.begin() ; filePropIter != aAppLocalizableAttribute.end() ; ++filePropIter)
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   514
	{
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   515
		DOMElement* filePropRoot = AddTag(aRootElement, aDocument, KLocalizableAttribute);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   516
		DOMElement* filePropValueRoot = AddTag(filePropRoot, aDocument, KLocalizableAttribute_Value);
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   517
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   518
		XercesString value = WStringToXercesString(filePropIter->iValue);
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   519
		if(filePropIter->iIsIntValue)
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   520
		{
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   521
			AddChildElement(filePropValueRoot, aDocument, KLocalizableAttribute_IntValue, value.c_str());
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   522
		}
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   523
		else
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   524
		{
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   525
			AddChildElement(filePropValueRoot, aDocument, KLocalizableAttribute_StrValue, value.c_str());
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   526
		}
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   527
		XercesString name = WStringToXercesString(filePropIter->iName);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   528
		filePropRoot->setAttribute(KName, name.c_str());
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   529
	}
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   530
}
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   531
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   532
/**
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   533
 * Writes Class TAppViewData Info in XML. 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   534
 */
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   535
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   536
 void CXmlGenerator::WriteAppLocalizableViewData 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   537
					 ( 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   538
						 DOMElement* aRootElement, DOMDocument* aDocument, 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   539
						 const std::vector<AppViewData>& aAppViewData 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   540
					 )
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   541
 {
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   542
	 std::vector<AppViewData>::const_iterator filePropIter;
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   543
	 for( filePropIter = aAppViewData.begin() ; filePropIter != aAppViewData.end() ; ++filePropIter)
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   544
	 {
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   545
		 DOMElement* filePropRoot = AddTag(aRootElement, aDocument, KViewData);
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   546
		 WriteAppLocalizableViewDataAttributes(filePropRoot, aDocument, filePropIter->iViewDataAttributes);
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   547
	 }
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   548
 }
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   549
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   550
 void CXmlGenerator::WriteAppLocalizableViewDataAttributes 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   551
					 ( 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   552
						 DOMElement* aRootElement, DOMDocument* aDocument, 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   553
						 const std::vector<AppViewDataAttributes>& aAppViewDataAttributes 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   554
					 )
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   555
 {
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   556
	 std::vector<AppViewDataAttributes>::const_iterator filePropIter;
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   557
	 for( filePropIter = aAppViewDataAttributes.begin() ; filePropIter != aAppViewDataAttributes.end() ; ++filePropIter)
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   558
	 {
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   559
		 DOMElement* filePropRoot = AddTag(aRootElement, aDocument, KViewDataAttribute);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   560
		 DOMElement* filePropValueRoot = AddTag(filePropRoot, aDocument, KViewData_Value);
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   561
 
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   562
		 XercesString value = WStringToXercesString(filePropIter->iValue);
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   563
		 if(filePropIter->iIsIntValue)
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   564
		 {
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   565
			 AddChildElement(filePropValueRoot, aDocument, KViewData_IntValue, value.c_str());
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   566
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   567
		 }
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   568
		 else
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   569
		 {
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   570
			 AddChildElement(filePropValueRoot, aDocument, KViewData_StrValue, value.c_str());
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   571
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   572
		 }
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   573
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   574
		 XercesString name = WStringToXercesString(filePropIter->iName);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   575
		 filePropRoot->setAttribute(KName, name.c_str());
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   576
	 }
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   577
 }
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   578
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   579
/**
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   580
 * Writes Class TAppServiceInfo Info in XML. 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   581
 */
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   582
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   583
void CXmlGenerator::WriteAppServiceInfo	
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   584
					( 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   585
						DOMElement* aRootElement, DOMDocument* aDocument, 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   586
						const std::vector<AppServiceInfo>& aAppServiceInfo,
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   587
						const std::vector<AppOpaqueDataType>& aAppOpaqueData 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   588
					)
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   589
{
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   590
	std::vector<AppServiceInfo>::const_iterator filePropIter;
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   591
	std::vector<AppOpaqueDataType>::const_iterator fileAppPropIter;
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   592
	for( filePropIter = aAppServiceInfo.begin() ; filePropIter != aAppServiceInfo.end() ; ++filePropIter)
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   593
	{
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   594
		DOMElement* filePropRoot = AddTag(aRootElement, aDocument, KApplicationServiceInfo);
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   595
	
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   596
		XercesString uid = IntegerToXercesString(filePropIter->iUid);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   597
		AddChildElement(filePropRoot,aDocument, KUid, uid.c_str());
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   598
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   599
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   600
		for( fileAppPropIter = aAppOpaqueData.begin() ; fileAppPropIter != aAppOpaqueData.end() ; ++fileAppPropIter)
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   601
		{
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   602
			if(filePropIter->iUid == fileAppPropIter->iServiceUid)
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   603
			{
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   604
				if(!fileAppPropIter->iOpaqueData.empty())
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   605
				{
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   606
					DOMElement* filePropValueRoot = AddTag(filePropRoot, aDocument, KServiceOpaqueData);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   607
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   608
					XercesString opaqueData = WStringToXercesString(fileAppPropIter->iOpaqueData);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   609
					AddChildElement(filePropValueRoot,aDocument, KServiceData, opaqueData.c_str());
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   610
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   611
					XercesString locale = IntegerToXercesString(fileAppPropIter->iLocale);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   612
					AddChildElement(filePropValueRoot,aDocument, KServiceOpaqueLocale, locale.c_str());
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   613
				}
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   614
			}
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   615
		}
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   616
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   617
		WriteAppDataType(filePropRoot, aDocument, filePropIter->iDataType);
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   618
	}
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   619
}
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   620
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   621
/**
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   622
 * Writes Class TDataType Info in XML. 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   623
 */
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   624
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   625
void CXmlGenerator::WriteAppDataType	
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   626
					( 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   627
						DOMElement* aRootElement, DOMDocument* aDocument, 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   628
						const std::vector<AppDataType>& aAppDataType 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   629
					)
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   630
{
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   631
	std::vector<AppDataType>::const_iterator filePropIter;
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   632
	for( filePropIter = aAppDataType.begin() ; filePropIter != aAppDataType.end() ; ++filePropIter)
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   633
	{
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   634
		DOMElement* filePropRoot = AddTag(aRootElement, aDocument, KApplicationDataType);
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   635
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   636
		XercesString priority = IntegerToXercesString(filePropIter->iPriority);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   637
		AddChildElement(filePropRoot,aDocument, KPriority, priority.c_str());
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   638
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   639
		XercesString type = WStringToXercesString(filePropIter->iType);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   640
		AddChildElement(filePropRoot, aDocument, KType, type.c_str());
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   641
	}
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   642
}
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   643
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   644
/**
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   645
 * Writes Class TApplicationAttribute Info in XML. 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   646
 */
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   647
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   648
void CXmlGenerator::WriteAppAttributes	
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   649
					( 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   650
						DOMElement* aRootElement, DOMDocument* aDocument, 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   651
						const std::vector<ApplicationAttribute>& aAppAttributes 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   652
					)
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   653
{
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   654
	std::vector<ApplicationAttribute>::const_iterator filePropIter;
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   655
	for( filePropIter = aAppAttributes.begin() ; filePropIter != aAppAttributes.end() ; ++filePropIter)
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   656
	{
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   657
		DOMElement* filePropRoot = AddTag(aRootElement, aDocument, KApplicationAttribute);
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   658
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   659
		DOMElement* filePropValueRoot = AddTag(filePropRoot, aDocument, KApplicationAttribute_Value);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   660
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   661
		XercesString value = WStringToXercesString(filePropIter->iValue);
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   662
		if(filePropIter->iIsIntValue)
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   663
		{
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   664
			AddChildElement(filePropValueRoot, aDocument, KApplicationAttribute_IntValue, value.c_str());
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   665
		}
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   666
		else
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   667
		{
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   668
			AddChildElement(filePropValueRoot, aDocument, KApplicationAttribute_StrValue, value.c_str());
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   669
		}
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   670
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   671
		XercesString name = WStringToXercesString(filePropIter->iName);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   672
		filePropRoot->setAttribute(KName, name.c_str());
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   673
	}
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   674
}
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   675
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   676
/**
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   677
 * Writes Class TApplicationProperty Info in XML. 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   678
 */
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   679
void CXmlGenerator::WriteAppProperty	
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   680
					( 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   681
						DOMElement* aRootElement, DOMDocument* aDocument, 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   682
						const std::vector<AppProperty>& aAppProperty 
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   683
					)
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   684
{
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   685
	std::vector<AppProperty>::const_iterator filePropIter;
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   686
	for( filePropIter = aAppProperty.begin() ; filePropIter != aAppProperty.end() ; ++filePropIter)
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   687
	{
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   688
		DOMElement* filePropRoot = AddTag(aRootElement, aDocument, KApplicationProperty);
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   689
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   690
		XercesString locale = IntegerToXercesString(filePropIter->iLocale);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   691
		AddChildElement(filePropRoot,aDocument, KLocale, locale.c_str());
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   692
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   693
		XercesString name = WStringToXercesString(filePropIter->iName);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   694
		AddChildElement(filePropRoot,aDocument, KName, name.c_str());
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   695
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   696
		XercesString serviceUid = IntegerToXercesString(filePropIter->iServiceUid);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   697
		AddChildElement(filePropRoot,aDocument, KServiceUid, serviceUid.c_str());
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   698
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   699
		XercesString intValue = IntegerToXercesString(filePropIter->iIntValue);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   700
		AddChildElement(filePropRoot,aDocument, KIntValue, intValue.c_str());
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   701
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   702
		XercesString strValue = WStringToXercesString(filePropIter->iStrValue);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   703
		AddChildElement(filePropRoot, aDocument, KStrValue, strValue.c_str());
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   704
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   705
		XercesString isStr8Bit = IntegerToXercesString(filePropIter->iIsStr8Bit);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   706
		AddChildElement(filePropRoot,aDocument, KIsStr8Bit, isStr8Bit.c_str());
25
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   707
	}
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   708
}
98b66e4fb0be Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   709
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   710
void CXmlGenerator::WriteComponentFiles	
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   711
					( 
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   712
						DOMElement* aRootElement, DOMDocument* aDocument, 
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   713
						const std::vector<ComponentFile>& aComponentFiles 
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   714
					)
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   715
	{
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   716
	std::vector<ComponentFile>::const_iterator compFileIter;
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   717
	for( compFileIter = aComponentFiles.begin() ; compFileIter != aComponentFiles.end() ; ++compFileIter)
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   718
		{
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   719
		DOMElement* compFileRoot = AddTag(aRootElement, aDocument, KComponentFile);
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   720
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   721
		WriteFileProperties(compFileRoot, aDocument, compFileIter->iFileProperties);
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   722
		
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   723
		compFileRoot->setAttribute(KLocation, compFileIter->Location().c_str());
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   724
		}
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   725
	}
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   726
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   727
void CXmlGenerator::WriteFileProperties	
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   728
					( 
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   729
						DOMElement* aRootElement, DOMDocument* aDocument, 
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   730
						const std::vector<FileProperty>& aFileProperties 
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   731
					)
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   732
	{
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   733
	std::vector<FileProperty>::const_iterator filePropIter;
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   734
	for( filePropIter = aFileProperties.begin() ; filePropIter != aFileProperties.end() ; ++filePropIter)
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   735
		{
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   736
		DOMElement* filePropRoot = AddTag(aRootElement, aDocument, KFileProperty);
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   737
		DOMElement* filePropValueRoot = AddTag(filePropRoot, aDocument, KFileProperty_Value);
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   738
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   739
		if(filePropIter->iIsIntValue)
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   740
			{
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   741
			AddChildElement(filePropValueRoot, aDocument, KFileProperty_IntValue, filePropIter->Value().c_str());
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   742
			}
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   743
		else
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   744
			{
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   745
			AddChildElement(filePropValueRoot, aDocument, KFileProperty_StrValue, filePropIter->Value().c_str());
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   746
			}
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   747
		filePropRoot->setAttribute(KName, filePropIter->Name().c_str());
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   748
		}
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   749
	}
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   750
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   751
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   752
void CXmlGenerator::WriteComponentDependencies	
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   753
					( 
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   754
						DOMElement* aRootElement, 
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   755
						DOMDocument* aDocument, 
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   756
						const ComponentDependency& aComponentDependency 
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   757
					)
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   758
	{
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   759
	if( aComponentDependency.iDependentId.empty())
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   760
		return;
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   761
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   762
	std::vector<ComponentDependencyDetail> componentDependencyList = aComponentDependency.iComponentDependencyList;
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   763
	std::vector<ComponentDependencyDetail>::const_iterator compDepIter;
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   764
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   765
	DOMElement* compDepRoot = AddTag(aRootElement, aDocument, KComponentDependency);
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   766
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   767
	for( compDepIter = componentDependencyList.begin() ; compDepIter != componentDependencyList.end() ; ++compDepIter)
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   768
		{
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   769
		DOMElement* compDepListRoot = AddTag( compDepRoot, aDocument, KDependencyList );
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   770
		AddChildElement( compDepListRoot, aDocument, KSupplierId, compDepIter->SupplierId().c_str() );
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   771
		AddChildElement( compDepListRoot, aDocument, KFromVersion, compDepIter->FromVersion().c_str() );
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   772
		AddChildElement( compDepListRoot, aDocument, KToVersion, compDepIter->ToVersion().c_str() );
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   773
		}
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   774
	compDepRoot->setAttribute(KDependentId, aComponentDependency.DependentId().c_str());
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   775
	}
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   776
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   777
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   778
void CXmlGenerator::AddChildElement( DOMElement* aRootElement, DOMDocument* aDocument, const XMLCh* aElementName, const XMLCh* aTextValue )
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   779
	{
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   780
	DOMElement*  element = aDocument->createElement(aElementName);
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   781
	aRootElement->appendChild(element);
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   782
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   783
	DOMText* textValue = aDocument->createTextNode(aTextValue);
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   784
	element->appendChild(textValue);
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   785
	}
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   786
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   787
DOMElement* CXmlGenerator::AddTag( DOMElement* aRootElement, DOMDocument* aDocument, const XMLCh* aTagName)
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   788
	{
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   789
	DOMElement*  tagName = aDocument->createElement(aTagName);
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   790
	aRootElement->appendChild(tagName);
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   791
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   792
	return tagName;
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   793
	}
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   794
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   795
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   796
/**
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   797
 * Handles all warnings received while xml parsing. 
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   798
 */
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   799
bool SchemaDomErrorHandler::handleError(const DOMError& domError)
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   800
	{
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   801
	const XMLCh* message = domError.getMessage();	
0
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   802
	return false;
ba25891c3a9e Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   803
	}
50
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   804
c6e8afe0ba85 201027_01
hgs
parents: 25
diff changeset
   805