secureswitools/swisistools/source/interpretsislib/xmlgenerator.h
changeset 25 98b66e4fb0be
parent 0 ba25891c3a9e
child 50 c6e8afe0ba85
equal deleted inserted replaced
24:84a16765cd86 25:98b66e4fb0be
    36 #include "xmlparser.h"
    36 #include "xmlparser.h"
    37 #include <xercesc/parsers/XercesDOMParser.hpp>
    37 #include <xercesc/parsers/XercesDOMParser.hpp>
    38 #include <xercesc/sax/ErrorHandler.hpp>
    38 #include <xercesc/sax/ErrorHandler.hpp>
    39 #include <xercesc/dom/DOM.hpp>
    39 #include <xercesc/dom/DOM.hpp>
    40 
    40 
    41 
    41 #include "parameterlist.h"
       
    42 
       
    43 using namespace std;
       
    44 
       
    45 #define AppRegistrationInfo XmlDetails::TScrPreProvisionDetail::TApplicationRegistrationInfo
       
    46 #define ApplicationAttribute XmlDetails::TScrPreProvisionDetail::TApplicationRegistrationInfo::TAppAttribute 
       
    47 #define AppDataType XmlDetails::TScrPreProvisionDetail::TApplicationRegistrationInfo::TDataType 
       
    48 #define AppServiceInfo XmlDetails::TScrPreProvisionDetail::TApplicationRegistrationInfo::TAppServiceInfo 
       
    49 #define AppLocalizableInfo XmlDetails::TScrPreProvisionDetail::TApplicationRegistrationInfo::TAppLocalizableInfo
       
    50 #define AppLocalizableAttribute XmlDetails::TScrPreProvisionDetail::TApplicationRegistrationInfo::TAppLocalizableInfo::TLocalizableAttribute 
       
    51 #define AppViewData XmlDetails::TScrPreProvisionDetail::TApplicationRegistrationInfo::TAppLocalizableInfo::TViewData 
       
    52 #define AppViewDataAttributes XmlDetails::TScrPreProvisionDetail::TApplicationRegistrationInfo::TAppLocalizableInfo::TViewData::TViewDataAttributes 
       
    53 #define AppProperty XmlDetails::TScrPreProvisionDetail::TApplicationRegistrationInfo::TAppProperty 
       
    54 #define AppOpaqueDataType XmlDetails::TScrPreProvisionDetail::TApplicationRegistrationInfo::TOpaqueDataType
    42 #define ComponentLocalizable XmlDetails::TScrPreProvisionDetail::TComponentLocalizable
    55 #define ComponentLocalizable XmlDetails::TScrPreProvisionDetail::TComponentLocalizable
    43 #define ComponentProperty XmlDetails::TScrPreProvisionDetail::TComponentProperty
    56 #define ComponentProperty XmlDetails::TScrPreProvisionDetail::TComponentProperty
    44 #define ComponentFile XmlDetails::TScrPreProvisionDetail::TComponentFile
    57 #define ComponentFile XmlDetails::TScrPreProvisionDetail::TComponentFile
    45 #define FileProperty XmlDetails::TScrPreProvisionDetail::TComponentFile::TFileProperty
    58 #define FileProperty XmlDetails::TScrPreProvisionDetail::TComponentFile::TFileProperty
    46 #define ComponentDependency XmlDetails::TScrPreProvisionDetail::TComponentDependency
    59 #define ComponentDependency XmlDetails::TScrPreProvisionDetail::TComponentDependency
    47 #define ComponentDependencyDetail XmlDetails::TScrPreProvisionDetail::TComponentDependency::TComponentDependencyDetail
    60 #define ComponentDependencyDetail XmlDetails::TScrPreProvisionDetail::TComponentDependency::TComponentDependencyDetail
    48 
    61 
       
    62 
    49 class CXmlGenerator
    63 class CXmlGenerator
    50 	{
    64 	{
    51 
    65 
    52 	public:
    66 	public:
    53 		
    67 		
    62 		~CXmlGenerator();
    76 		~CXmlGenerator();
    63 		
    77 		
    64 		/**
    78 		/**
    65 		 * Retrieves software environment details, from the supplied xml file. 
    79 		 * Retrieves software environment details, from the supplied xml file. 
    66 		 */
    80 		 */
    67 		void WritePreProvisionDetails(const std::wstring aXmlFileName, const XmlDetails::TScrPreProvisionDetail& aPreProvisionDetail);
    81 		void WritePreProvisionDetails(const std::wstring aXmlFileName, 
       
    82 											const XmlDetails::TScrPreProvisionDetail& aPreProvisionDetail,
       
    83 											int& aRomApplication
       
    84 										);
    68 		
    85 		
    69 		
    86 		
    70 	private:	
    87 	private:	
    71 
    88 
    72 		void WriteComponent(	XERCES_CPP_NAMESPACE::DOMElement* aRootElement, 
    89 		void WriteComponent(	XERCES_CPP_NAMESPACE::DOMElement* aRootElement, 
    73 								XERCES_CPP_NAMESPACE::DOMDocument* aDocument, 
    90 								XERCES_CPP_NAMESPACE::DOMDocument* aDocument, 
    74 								const XmlDetails::TScrPreProvisionDetail::TComponent& aComponent
    91 								const XmlDetails::TScrPreProvisionDetail::TComponent& aComponent,
       
    92 								int& aRomApplication
    75 							);
    93 							);
    76 
    94 
    77 		void WriteComponentVersion	(	
    95 		void WriteComponentVersion	(	
    78 										XERCES_CPP_NAMESPACE::DOMElement* aRootElement, 
    96 										XERCES_CPP_NAMESPACE::DOMElement* aRootElement, 
    79 										XERCES_CPP_NAMESPACE::DOMDocument* aDocument, 
    97 										XERCES_CPP_NAMESPACE::DOMDocument* aDocument, 
    91 					( 
   109 					( 
    92 						XERCES_CPP_NAMESPACE::DOMElement* aRootElement, 
   110 						XERCES_CPP_NAMESPACE::DOMElement* aRootElement, 
    93 						XERCES_CPP_NAMESPACE::DOMDocument* aDocument, 
   111 						XERCES_CPP_NAMESPACE::DOMDocument* aDocument, 
    94 						const std::vector<ComponentProperty>& aComponentProperties 
   112 						const std::vector<ComponentProperty>& aComponentProperties 
    95 					);
   113 					);
       
   114 
       
   115 		void WriteAppRegInfo	
       
   116 					( 
       
   117 						XERCES_CPP_NAMESPACE::DOMElement* aRootElement, 
       
   118 						XERCES_CPP_NAMESPACE::DOMDocument* aDocument, 
       
   119 						const std::vector<AppRegistrationInfo>& aAppRegInfo 
       
   120 					);
       
   121 
       
   122 
       
   123 		void WriteAppAttributes	
       
   124 					( 
       
   125 						XERCES_CPP_NAMESPACE::DOMElement* aRootElement, 
       
   126 						XERCES_CPP_NAMESPACE::DOMDocument* aDocument, 
       
   127 						const std::vector<ApplicationAttribute>& aAppAttributes 
       
   128 					);
       
   129 
       
   130 		void WriteAppProperty	
       
   131 					( 
       
   132 						XERCES_CPP_NAMESPACE::DOMElement* aRootElement, 
       
   133 						XERCES_CPP_NAMESPACE::DOMDocument* aDocument, 
       
   134 						const std::vector<AppProperty>& aAppProperty 
       
   135 					);
       
   136 
       
   137 		void WriteAppServiceInfo 
       
   138 					( 
       
   139 						XERCES_CPP_NAMESPACE::DOMElement* aRootElement, 
       
   140 						XERCES_CPP_NAMESPACE::DOMDocument* aDocument, 
       
   141 						const std::vector<AppServiceInfo>& aAppServiceInfo,
       
   142 						const std::vector<AppOpaqueDataType>& aAppOpaqueData
       
   143 					);
       
   144 
       
   145 		void WriteAppDataType 
       
   146 					( 
       
   147 						XERCES_CPP_NAMESPACE::DOMElement* aRootElement, 
       
   148 						XERCES_CPP_NAMESPACE::DOMDocument* aDocument, 
       
   149 						const std::vector<AppDataType>& aAppDataType 
       
   150 					);
       
   151 
       
   152 		void WriteAppLocalizableInfo 
       
   153 					( 
       
   154 						XERCES_CPP_NAMESPACE::DOMElement* aRootElement, 
       
   155 						XERCES_CPP_NAMESPACE::DOMDocument* aDocument, 
       
   156 						const std::vector<AppLocalizableInfo>& aAppLocalizableInfo 
       
   157 					);
       
   158 
       
   159 		void WriteAppLocalizableAttribute 
       
   160 					( 
       
   161 						XERCES_CPP_NAMESPACE::DOMElement* aRootElement, 
       
   162 						XERCES_CPP_NAMESPACE::DOMDocument* aDocument, 
       
   163 						const std::vector<AppLocalizableAttribute>& aAppLocalizableAttribute 
       
   164 					);
       
   165 
       
   166 		void WriteAppLocalizableViewData 
       
   167 					( 
       
   168 						XERCES_CPP_NAMESPACE::DOMElement* aRootElement, 
       
   169 						XERCES_CPP_NAMESPACE::DOMDocument* aDocument, 
       
   170 						const std::vector<AppViewData>& aAppViewData 
       
   171 					);
       
   172 
       
   173 		void WriteAppLocalizableViewDataAttributes 
       
   174 					 ( 
       
   175  						XERCES_CPP_NAMESPACE::DOMElement* aRootElement, 
       
   176 						XERCES_CPP_NAMESPACE::DOMDocument* aDocument, 
       
   177 						const std::vector<AppViewDataAttributes>& aAppViewDataAttributes 
       
   178 					 );
    96 
   179 
    97 		void WriteComponentFiles	
   180 		void WriteComponentFiles	
    98 					( 
   181 					( 
    99 						XERCES_CPP_NAMESPACE::DOMElement* aRootElement, 
   182 						XERCES_CPP_NAMESPACE::DOMElement* aRootElement, 
   100 						XERCES_CPP_NAMESPACE::DOMDocument* aDocument, 
   183 						XERCES_CPP_NAMESPACE::DOMDocument* aDocument,