secureswitools/swisistools/source/interpretsislib/xmlgenerator.cpp
changeset 55 ac7f90a6ff4c
parent 50 c6e8afe0ba85
child 64 48c14c385b0e
equal deleted inserted replaced
50:c6e8afe0ba85 55:ac7f90a6ff4c
    21  @file 
    21  @file 
    22  @released
    22  @released
    23  @internalTechnology
    23  @internalTechnology
    24 */
    24 */
    25 
    25 
       
    26 #include "util.h"
    26 #include "xmlgenerator.h"
    27 #include "xmlgenerator.h"
    27 #include "../common/exception.h"
    28 #include "exception.h"
    28 #include "is_utils.h"
    29 #include "is_utils.h"
    29 #include "../common/util.h"
    30 
    30 #include "utf8_wrapper.h"
    31 #include "utf8_wrapper.h"
    31 
    32 
    32 #include <xercesc/dom/DOM.hpp>
    33 #include <xercesc/dom/DOM.hpp>
    33 #include <xercesc/util/XMLString.hpp>
    34 #include <xercesc/util/XMLString.hpp>
    34 #include <xercesc/util/PlatformUtils.hpp>
    35 #include <xercesc/util/PlatformUtils.hpp>
   106 const XMLCh* KRomApplication = (const XMLCh*)             "R\0o\0m\0A\0p\0p\0l\0i\0c\0a\0t\0i\0o\0n\0\0\0";
   107 const XMLCh* KRomApplication = (const XMLCh*)             "R\0o\0m\0A\0p\0p\0l\0i\0c\0a\0t\0i\0o\0n\0\0\0";
   107 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";
   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";
   108 const XMLCh* KOpaqueData = (const XMLCh*) 				  "O\0p\0a\0q\0u\0e\0D\0a\0t\0a\0\0\0";
   109 const XMLCh* KOpaqueData = (const XMLCh*) 				  "O\0p\0a\0q\0u\0e\0D\0a\0t\0a\0\0\0";
   109 const XMLCh* KData = (const XMLCh*)						  "D\0a\0t\0a\0\0\0";
   110 const XMLCh* KData = (const XMLCh*)						  "D\0a\0t\0a\0\0\0";
   110 const XMLCh* KOpaqueLocale = (const XMLCh*)				  "O\0p\0a\0q\0u\0e\0L\0o\0c\0a\0l\0e\0\0\0";
   111 const XMLCh* KOpaqueLocale = (const XMLCh*)				  "O\0p\0a\0q\0u\0e\0L\0o\0c\0a\0l\0e\0\0\0";
       
   112 const XMLCh* KIsBinary = (const XMLCh*)				  	  "I\0s\0B\0i\0n\0a\0r\0y\0\0\0";
   111 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";
   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";
   112 const XMLCh* KFileName = (const XMLCh*) 				  "F\0i\0l\0e\0N\0a\0m\0e\0\0\0";
   114 const XMLCh* KFileName = (const XMLCh*) 				  "F\0i\0l\0e\0N\0a\0m\0e\0\0\0";
   113 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";
   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";
   114 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";
   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";
   115 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";
   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";
   438 		for( fileAppOpaqueDataType = aAppOpaqueDataType.begin() ; fileAppOpaqueDataType != aAppOpaqueDataType.end() ; ++fileAppOpaqueDataType)
   440 		for( fileAppOpaqueDataType = aAppOpaqueDataType.begin() ; fileAppOpaqueDataType != aAppOpaqueDataType.end() ; ++fileAppOpaqueDataType)
   439 		{
   441 		{
   440 			if(0 == fileAppOpaqueDataType->iServiceUid)
   442 			if(0 == fileAppOpaqueDataType->iServiceUid)
   441 			{
   443 			{
   442 				DOMElement* filePropValueRoot = AddTag(compFileRoot, aDocument, KOpaqueData);
   444 				DOMElement* filePropValueRoot = AddTag(compFileRoot, aDocument, KOpaqueData);
   443 				XercesString opaqueData = WStringToXercesString(fileAppOpaqueDataType->iOpaqueData);
   445 				
   444 				AddChildElement(filePropValueRoot,aDocument, KData, opaqueData.c_str());
   446 				if(fileAppOpaqueDataType->iIsBinary)
       
   447 				{
       
   448 					std::string temp = wstring2string(fileAppOpaqueDataType->iOpaqueData);
       
   449 					std::string binStrData = Util::Base64Encode(temp);
       
   450 					std::wstring binData = string2wstring(binStrData);
       
   451 					AddChildElement(filePropValueRoot,aDocument, KData, binData.c_str());
       
   452 				}
       
   453 				else
       
   454 				{
       
   455 					AddChildElement(filePropValueRoot,aDocument, KData, fileAppOpaqueDataType->iOpaqueData.c_str());
       
   456 				}
       
   457 				
   445 				XercesString locale = IntegerToXercesString(fileAppOpaqueDataType->iLocale);
   458 				XercesString locale = IntegerToXercesString(fileAppOpaqueDataType->iLocale);
   446 				AddChildElement(filePropValueRoot,aDocument, KOpaqueLocale, locale.c_str());
   459 				AddChildElement(filePropValueRoot,aDocument, KOpaqueLocale, locale.c_str());
       
   460 
       
   461 				XercesString iBinary = IntegerToXercesString(fileAppOpaqueDataType->iIsBinary);
       
   462 				AddChildElement(filePropValueRoot,aDocument, KIsBinary, iBinary.c_str());
       
   463 				
   447 			}
   464 			}
   448 		}
   465 		}
   449 
   466 
   450 		for(vector<std::wstring>::iterator mimeiter = compFileIter->iFileOwnershipInfo.begin() ; mimeiter != compFileIter->iFileOwnershipInfo.end() ; ++mimeiter )
   467 		for(vector<std::wstring>::iterator mimeiter = compFileIter->iFileOwnershipInfo.begin() ; mimeiter != compFileIter->iFileOwnershipInfo.end() ; ++mimeiter )
   451 		{
   468 		{