secureswitools/swisistools/source/interpretsislib/xmlgenerator.cpp
changeset 75 2d2d25361590
parent 64 48c14c385b0e
equal deleted inserted replaced
69:b18a4bf55ddb 75:2d2d25361590
   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";
   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";
   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";
   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";
   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";
   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";
   129 const XMLCh* KUid = (const XMLCh*) "U\0i\0d\0\0\0";
   129 const XMLCh* KUid = (const XMLCh*) "U\0i\0d\0\0\0";
   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";
   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";
       
   131 const XMLCh* KServiceDataIsBinary = (const XMLCh*) "S\0e\0r\0v\0i\0c\0e\0D\0a\0t\0a\0I\0s\0B\0i\0n\0a\0r\0y\0\0\0";
   131 const XMLCh* KServiceData = (const XMLCh*) "S\0e\0r\0v\0i\0c\0e\0D\0a\0t\0a\0\0\0";
   132 const XMLCh* KServiceData = (const XMLCh*) "S\0e\0r\0v\0i\0c\0e\0D\0a\0t\0a\0\0\0";
   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";
   133 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";
   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";
   134 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";
   134 const XMLCh* KLocale = (const XMLCh*) "L\0o\0c\0a\0l\0e\0\0\0";
   135 const XMLCh* KLocale = (const XMLCh*) "L\0o\0c\0a\0l\0e\0\0\0";
   135 const XMLCh* KServiceUid = (const XMLCh*) "S\0e\0r\0v\0i\0c\0e\0U\0i\0d\0\0\0";
   136 const XMLCh* KServiceUid = (const XMLCh*) "S\0e\0r\0v\0i\0c\0e\0U\0i\0d\0\0\0";
   443 			{
   444 			{
   444 				DOMElement* filePropValueRoot = AddTag(compFileRoot, aDocument, KOpaqueData);
   445 				DOMElement* filePropValueRoot = AddTag(compFileRoot, aDocument, KOpaqueData);
   445 				
   446 				
   446 				if(fileAppOpaqueDataType->iIsBinary)
   447 				if(fileAppOpaqueDataType->iIsBinary)
   447 				{
   448 				{
   448 					std::string temp = wstring2string(fileAppOpaqueDataType->iOpaqueData);
   449 					std::string binStrData = Util::Base64Encode(fileAppOpaqueDataType->iOpaqueData);
   449 					std::string binStrData = Util::Base64Encode(temp);
   450 					XercesString opaqueBinData = ConvertToXercesString(binStrData.c_str(),binStrData.length());
   450 					std::wstring binData = string2wstring(binStrData);
       
   451 					XercesString opaqueBinData = WStringToXercesString(binData);
       
   452 					AddChildElement(filePropValueRoot,aDocument, KData, opaqueBinData.c_str());
   451 					AddChildElement(filePropValueRoot,aDocument, KData, opaqueBinData.c_str());
   453 				}
   452 				}
   454 				else
   453 				else
   455 				{
   454 				{
   456 					XercesString opaqueData = WStringToXercesString(fileAppOpaqueDataType->iOpaqueData);
   455 					XercesString opaqueData = ConvertToXercesString(fileAppOpaqueDataType->iOpaqueData.c_str(),fileAppOpaqueDataType->iOpaqueData.length());
   457 					AddChildElement(filePropValueRoot,aDocument, KData, opaqueData.c_str());
   456 					AddChildElement(filePropValueRoot,aDocument, KData, opaqueData.c_str());
   458 				}
   457 				}
   459 				
   458 				
   460 				XercesString locale = IntegerToXercesString(fileAppOpaqueDataType->iLocale);
   459 				XercesString locale = IntegerToXercesString(fileAppOpaqueDataType->iLocale);
   461 				AddChildElement(filePropValueRoot,aDocument, KOpaqueLocale, locale.c_str());
   460 				AddChildElement(filePropValueRoot,aDocument, KOpaqueLocale, locale.c_str());
   603 			{
   602 			{
   604 				if(!fileAppPropIter->iOpaqueData.empty())
   603 				if(!fileAppPropIter->iOpaqueData.empty())
   605 				{
   604 				{
   606 					DOMElement* filePropValueRoot = AddTag(filePropRoot, aDocument, KServiceOpaqueData);
   605 					DOMElement* filePropValueRoot = AddTag(filePropRoot, aDocument, KServiceOpaqueData);
   607 
   606 
   608 					XercesString opaqueData = WStringToXercesString(fileAppPropIter->iOpaqueData);
   607 					if(fileAppPropIter->iIsBinary)
   609 					AddChildElement(filePropValueRoot,aDocument, KServiceData, opaqueData.c_str());
   608 					{
       
   609 						std::string binStrData = Util::Base64Encode(fileAppPropIter->iOpaqueData);
       
   610 						XercesString opaqueBinData = ConvertToXercesString(binStrData.c_str(),binStrData.length());
       
   611 						AddChildElement(filePropValueRoot,aDocument, KServiceData, opaqueBinData.c_str());
       
   612 					}
       
   613 					else
       
   614 					{
       
   615 						XercesString opaqueData = ConvertToXercesString(fileAppPropIter->iOpaqueData.c_str(),fileAppPropIter->iOpaqueData.length());
       
   616 						AddChildElement(filePropValueRoot,aDocument, KServiceData, opaqueData.c_str());
       
   617 					}
   610 
   618 
   611 					XercesString locale = IntegerToXercesString(fileAppPropIter->iLocale);
   619 					XercesString locale = IntegerToXercesString(fileAppPropIter->iLocale);
   612 					AddChildElement(filePropValueRoot,aDocument, KServiceOpaqueLocale, locale.c_str());
   620 					AddChildElement(filePropValueRoot,aDocument, KServiceOpaqueLocale, locale.c_str());
       
   621 
       
   622 					XercesString iBinary = IntegerToXercesString(fileAppPropIter->iIsBinary);
       
   623 					AddChildElement(filePropValueRoot,aDocument, KServiceDataIsBinary, iBinary.c_str());
   613 				}
   624 				}
   614 			}
   625 			}
   615 		}
   626 		}
   616 
   627 
   617 		WriteAppDataType(filePropRoot, aDocument, filePropIter->iDataType);
   628 		WriteAppDataType(filePropRoot, aDocument, filePropIter->iDataType);
   697 		AddChildElement(filePropRoot,aDocument, KServiceUid, serviceUid.c_str());
   708 		AddChildElement(filePropRoot,aDocument, KServiceUid, serviceUid.c_str());
   698 
   709 
   699 		XercesString intValue = IntegerToXercesString(filePropIter->iIntValue);
   710 		XercesString intValue = IntegerToXercesString(filePropIter->iIntValue);
   700 		AddChildElement(filePropRoot,aDocument, KIntValue, intValue.c_str());
   711 		AddChildElement(filePropRoot,aDocument, KIntValue, intValue.c_str());
   701 
   712 
   702 		XercesString strValue = WStringToXercesString(filePropIter->iStrValue);
   713 		XercesString strValue = ConvertToXercesString(filePropIter->iStrValue.c_str(),filePropIter->iStrValue.length());
   703 		AddChildElement(filePropRoot, aDocument, KStrValue, strValue.c_str());
   714 		AddChildElement(filePropRoot, aDocument, KStrValue, strValue.c_str());
   704 
   715 
   705 		XercesString isStr8Bit = IntegerToXercesString(filePropIter->iIsStr8Bit);
   716 		XercesString isStr8Bit = IntegerToXercesString(filePropIter->iIsStr8Bit);
   706 		AddChildElement(filePropRoot,aDocument, KIsStr8Bit, isStr8Bit.c_str());
   717 		AddChildElement(filePropRoot,aDocument, KIsStr8Bit, isStr8Bit.c_str());
   707 	}
   718 	}