diff -r c6e8afe0ba85 -r ac7f90a6ff4c secureswitools/swisistools/source/xmlparser/xmlparser.cpp --- a/secureswitools/swisistools/source/xmlparser/xmlparser.cpp Thu Jul 08 20:28:00 2010 +0300 +++ b/secureswitools/swisistools/source/xmlparser/xmlparser.cpp Thu Jul 22 14:08:51 2010 +0300 @@ -894,7 +894,7 @@ appProperty.iLocale = opaqueDataType.iLocale; appProperty.iName = L"OpaqueData"; appProperty.iIntValue = 0; - appProperty.iIsStr8Bit = true; + appProperty.iIsStr8Bit = opaqueDataType.iIsBinary; appProperty.iServiceUid = 0; appProperty.iStrValue = opaqueDataType.iOpaqueData; @@ -1050,9 +1050,11 @@ // tags in OpaqueDataType fn_auto_ptr tagData( &XMLString::release, XMLString::transcode("Data") ); fn_auto_ptr tagOpaqueLocale( &XMLString::release, XMLString::transcode("OpaqueLocale") ); + fn_auto_ptr tagIsBinary( &XMLString::release, XMLString::transcode("IsBinary") ); DOMNodeList* Data = aDOMElement->getElementsByTagName(tagData.get()); DOMNodeList* OpaqueLocale = aDOMElement->getElementsByTagName(tagOpaqueLocale.get()); + DOMNodeList* isBinary = aDOMElement->getElementsByTagName(tagIsBinary.get()); XmlDetails::TScrPreProvisionDetail::TApplicationRegistrationInfo::TOpaqueDataType opaqueDataType; @@ -1067,6 +1069,13 @@ const XMLCh* typ = Data->item(0)->getTextContent(); opaqueDataType.iOpaqueData = XMLChToWString(typ); } + + if(isBinary->getLength() != 0) + { + const XMLCh* textIsBinary = isBinary->item(0)->getTextContent(); + opaqueDataType.iIsBinary = XercesStringToInteger(textIsBinary); + } + LOGEXIT("CScrXmlParser::GetOpaqueDataType()"); return opaqueDataType; } @@ -1135,7 +1144,7 @@ appProperty.iLocale = opaqueDataType.iLocale; appProperty.iName = L"OpaqueData"; appProperty.iIntValue = 0; - appProperty.iIsStr8Bit = true; + appProperty.iIsStr8Bit = opaqueDataType.iIsBinary; appProperty.iServiceUid = appServiceInfo.iUid; appProperty.iStrValue = opaqueDataType.iOpaqueData;