diff -r 7333d7932ef7 -r 8b7f4e561641 secureswitools/swisistools/source/xmlparser/xmlparser.h --- a/secureswitools/swisistools/source/xmlparser/xmlparser.h Tue Aug 31 15:21:33 2010 +0300 +++ b/secureswitools/swisistools/source/xmlparser/xmlparser.h Wed Sep 01 12:22:02 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of the License "Eclipse Public License v1.0" @@ -37,14 +37,6 @@ #include #include "toolsconf.h" -#include "symbiantypes.h" -#include "utf8_wrapper.h" - -// Xerces library uses XMLCh (UTF16 format) as its default character type. -// We can store the UTF16 returned form the xerces library in the following -// template class. -typedef std::basic_string XercesString; - /** * This template is used to cleanup memory by calling a function as pointed @@ -121,7 +113,9 @@ { public: TScrEnvironmentDetails() - :iSifPluginUid(0) + :iSifPluginUid(0), + iInstallerSid(0), + iExecutionLayerSid(0) {} class TLocalizedSoftwareTypeName @@ -134,25 +128,14 @@ int iLocale; std::wstring iName; }; - - class TCustomAcessList - { - public: - TCustomAcessList() - :iAccessMode(1) - {} - - int iSecureId; - int iAccessMode;; - }; std::wstring iUniqueSoftwareTypeName; std::vector iLocalizedSoftwareTypeNames; int iSifPluginUid; - std::wstring iLauncherExecutable; - std::vector iCustomAcessList; + int iInstallerSid; + int iExecutionLayerSid; std::vector iMIMEDetails; - }; // struct TScrEnvironmentDetails + }; class TScrPreProvisionDetail @@ -168,16 +151,11 @@ TComponentLocalizable() :iLocale(0) {} - - public: // public Functions - inline XercesString Name(); - inline XercesString Vendor(); - - public: // Member variables + int iLocale; std::wstring iName; std::wstring iVendor; - }; // class TComponentLocalizable + }; class TComponentProperty { @@ -189,41 +167,29 @@ iIsStr8Bit(false) {} - public: // Member Functions - inline XercesString Name(); - inline XercesString Value(); - - public: // Member variables + public: std::wstring iName; int iLocale; std::wstring iValue; bool iIsIntValue; int iIsStr8Bit; - }; // class TComponentProperty + }; class TComponentDependency { public: class TComponentDependencyDetail { - public: // Member Functions - inline XercesString SupplierId(); - inline XercesString FromVersion(); - inline XercesString ToVersion(); - - public: // Member Variables + public: std::wstring iSupplierId; std::wstring iFromVersion; std::wstring iToVersion; - }; // class TComponentDependencyDetail + }; - public: // Member Functions - inline XercesString DependentId(); - - public: // Member Variables + public: std::wstring iDependentId; std::vector iComponentDependencyList; - }; // class TComponentDependency + }; class TComponentFile { @@ -237,32 +203,22 @@ TFileProperty() :iIsIntValue(false) {} - public: // Member Functions - inline XercesString Name(); - inline XercesString Value(); - - public: // Member Variables std::wstring iName; std::wstring iValue; bool iIsIntValue; - }; // struct TFileProperty + }; - public: // Member Functions - inline XercesString Location(); - - public: // Member Variables std::wstring iLocation; std::vector iFileProperties; - }; // class TComponentFile + }; class TComponentDetails { public: TComponentDetails() - :iIsRomApplication(0), - iIsRemovable(1), + :iIsRemovable(1), iSize(0), iScomoState(1), iOriginVerified(1), @@ -275,148 +231,22 @@ TVersion() {} - public: - inline XercesString MajorVersion(); - inline XercesString MinorVersion(); - inline XercesString BuildVersion(); public: std::wstring iMajor; std::wstring iMinor; std::wstring iBuild; - }; // class TVersion + }; - public: // Member Functions - inline XercesString GlobalId(); - - int iIsRomApplication; int iIsRemovable; - TInt64 iSize; + __int64 iSize; int iScomoState; std::wstring iGlobalId; TVersion iVersion; int iOriginVerified; int iIsHidden; }; - - class TApplicationRegistrationInfo - { - public: - TApplicationRegistrationInfo() - {} - class TAppAttribute - { - public: - TAppAttribute() - :iIsIntValue(false), - iIsStr8Bit(false) - {} - std::wstring iName; - std::wstring iValue; - bool iIsIntValue; - int iIsStr8Bit; - }; - - class TDataType - { - public: - TDataType() - {} - int iPriority; - std::wstring iType; - }; - - class TOpaqueDataType - { - public: - TOpaqueDataType() - :iLocale(0), - iIsBinary(false) - {} - int iLocale; - int iServiceUid; - bool iIsBinary; - std::wstring iOpaqueData; - }; - - class TAppServiceInfo - { - public: - TAppServiceInfo() - {} - int iUid; - std::vector iDataType; - }; - - class TAppLocalizableInfo - { - public: - TAppLocalizableInfo() - {} - - class TLocalizableAttribute - { - public: - TLocalizableAttribute() - :iIsIntValue(false), - iIsStr8Bit(false) - {} - std::wstring iName; - std::wstring iValue; - bool iIsIntValue; - int iIsStr8Bit; - }; - - class TViewData - { - public: - TViewData() - {} - - class TViewDataAttributes - { - public: - TViewDataAttributes() - :iIsIntValue(false), - iIsStr8Bit(false) - {} - std::wstring iName; - std::wstring iValue; - bool iIsIntValue; - int iIsStr8Bit; - }; - - std::vector iViewDataAttributes; - }; - - std::vector iLocalizableAttribute; - std::vector iViewData; - }; - - class TAppProperty - { - public: - TAppProperty() - :iLocale(0), - iIntValue(0) - {} - int iLocale; - std::wstring iName; - int iServiceUid; - int iIntValue; - std::wstring iStrValue; - bool iIsStr8Bit; - }; - - std::vector iApplicationAttribute; - std::vector iFileOwnershipInfo; - std::vector iApplicationServiceInfo; - std::vector iApplicationLocalizableInfo; - std::vector iApplicationProperty; - std::vector iOpaqueDataType; - }; - class TComponent { public: @@ -428,16 +258,13 @@ std::vector iComponentProperties; std::vector iComponentFiles; TComponentDependency iComponentDependency; - std::vector iApplicationRegistrationInfo; TComponentDetails iComponentDetails; - }; // class TComponent - - inline XercesString SoftwareTypeName(); + }; std::wstring iSoftwareTypeName; std::vector iComponents; - }; // class TScrPreProvisionDetail + }; } class CScrXmlParser @@ -489,34 +316,8 @@ XmlDetails::TScrPreProvisionDetail::TComponentDetails GetComponentDetails( const XERCES_CPP_NAMESPACE::DOMElement* aDOMElement); - XmlDetails::TScrPreProvisionDetail::TApplicationRegistrationInfo GetApplicationRegistrationInfo(const XERCES_CPP_NAMESPACE::DOMElement* aDOMElement); - - XmlDetails::TScrPreProvisionDetail::TApplicationRegistrationInfo::TAppAttribute GetAppAttribute( const XERCES_CPP_NAMESPACE::DOMElement* aDOMElement); - - std::wstring GetFileOwnershipInfo( const XERCES_CPP_NAMESPACE::DOMElement* aDOMElement); - - XmlDetails::TScrPreProvisionDetail::TApplicationRegistrationInfo::TDataType GetDataType( const XERCES_CPP_NAMESPACE::DOMElement* aDOMElement); - - XmlDetails::TScrPreProvisionDetail::TApplicationRegistrationInfo::TOpaqueDataType GetOpaqueDataType( const XERCES_CPP_NAMESPACE::DOMElement* aDOMElement); - - XmlDetails::TScrPreProvisionDetail::TApplicationRegistrationInfo::TOpaqueDataType GetServiceOpaqueDataType( const XERCES_CPP_NAMESPACE::DOMElement* aDOMElement); - - XmlDetails::TScrPreProvisionDetail::TApplicationRegistrationInfo::TAppServiceInfo GetAppServiceInfo( const XERCES_CPP_NAMESPACE::DOMElement* aDOMElement, XmlDetails::TScrPreProvisionDetail::TApplicationRegistrationInfo& aAppRegistrationInfo); - - XmlDetails::TScrPreProvisionDetail::TApplicationRegistrationInfo::TAppLocalizableInfo GetAppLocalizableInfo( const XERCES_CPP_NAMESPACE::DOMElement* aDOMElement); - - XmlDetails::TScrPreProvisionDetail::TApplicationRegistrationInfo::TAppLocalizableInfo::TLocalizableAttribute GetAppLocalizableAttribute( const XERCES_CPP_NAMESPACE::DOMElement* aDOMElement); - - XmlDetails::TScrPreProvisionDetail::TApplicationRegistrationInfo::TAppLocalizableInfo::TViewData GetAppLocalizableViewData( const XERCES_CPP_NAMESPACE::DOMElement* aDOMElement); - - XmlDetails::TScrPreProvisionDetail::TApplicationRegistrationInfo::TAppLocalizableInfo::TViewData::TViewDataAttributes GetAppLocalizableViewDataAttributes( const XERCES_CPP_NAMESPACE::DOMElement* aDOMElement); - - XmlDetails::TScrPreProvisionDetail::TApplicationRegistrationInfo::TAppProperty GetAppProperty( const XERCES_CPP_NAMESPACE::DOMElement* aDOMElement); - XmlDetails::TScrEnvironmentDetails::TLocalizedSoftwareTypeName GetLocalizedSoftwareTypeName( const XERCES_CPP_NAMESPACE::DOMElement* aDOMElement); - XmlDetails::TScrEnvironmentDetails::TCustomAcessList GetCustomAcessList(const XERCES_CPP_NAMESPACE::DOMElement* aDOMElement); - void ConfigDomParser(xercesc::XercesDOMParser& aDomParser); }; @@ -557,228 +358,4 @@ XERCES_CPP_NAMESPACE_END -// inline function definitions - -#ifndef _WIN32 -inline XercesString WStringToXercesString(const std::wstring& aString) - { - XMLCh* buffer = new XMLCh[ (aString.length() + 1) * 2 ]; - XMLCh* temp = buffer; - const wchar_t* source = aString.c_str(); - - ConvertUCS4toUTF16(&source, source + aString.length(), &temp, buffer + aString.length()); - - // Appending NUL to the converted buffer. - *temp = 0; - - XercesString result(buffer); - delete[] buffer; - - return result; - } - -#else - -// We need not do anything for WINDOWS, since XercesString -// and WString both are same and will be in UTF-16 encoding format. -#define WStringToXercesString(aWString) (aWString) - -#endif // _WIN32 - - -//------------------------------------------------------------------------------------------------------------------------------ -// UTILITY FUNCTIONS -//------------------------------------------------------------------------------------------------------------------------------ -#ifndef _WIN32 - -inline std::wstring XercesStringToWString(const XercesString& aString) - { - wchar_t* buffer = new wchar_t[aString.length() + 1]; - const XMLCh* source = aString.c_str(); - - // Using a temp variable in place of buffer as ConvertUTF16toUTF8 modifies the source pointer passed. - wchar_t* temp = buffer; - - ConvertUTF16toUCS4(&source, source + aString.length(), &temp, temp + aString.length()); - - // Appending NUL to the converted buffer. - *temp = 0; - - std::wstring result(buffer); - delete[] buffer; - return result; - } -#else - -// We need not do anything for WINDOWS, since XercesString -// and WString both are same and will be in UTF-16 encoding format. -#define XercesStringToWString(aXercesString) (aXercesString) - -#endif // _WIN32 - - -//------------------------------------------------------------------------------------------------------------------------------ - - - -inline XercesString XmlDetails::TScrPreProvisionDetail::TComponentDetails::TVersion::MajorVersion() -{ -#ifdef _WIN32 - return iMajor; -#else - return WStringToXercesString(iMajor); -#endif // _WIN32 -} - - -inline XercesString XmlDetails::TScrPreProvisionDetail::TComponentDetails::TVersion::MinorVersion() -{ -#ifdef _WIN32 - return iMinor; -#else - return WStringToXercesString(iMinor); -#endif // _WIN32 -} - - -inline XercesString XmlDetails::TScrPreProvisionDetail::TComponentDetails::TVersion::BuildVersion() -{ -#ifdef _WIN32 - return iBuild; -#else - return WStringToXercesString(iBuild); -#endif // _WIN32 -} - - -inline XercesString XmlDetails::TScrPreProvisionDetail::TComponentDetails::GlobalId() -{ -#ifdef _WIN32 - return iGlobalId; -#else - return WStringToXercesString(iGlobalId); -#endif // _WIN32 -} - - -inline XercesString XmlDetails::TScrPreProvisionDetail::SoftwareTypeName() - { -#ifdef _WIN32 - return iSoftwareTypeName; -#else - return WStringToXercesString(iSoftwareTypeName); -#endif // _WIN32 - } - - -inline XercesString XmlDetails::TScrPreProvisionDetail::TComponentLocalizable::Name() - { -#ifdef _WIN32 - return iName; -#else - return WStringToXercesString(iName); -#endif // _WIN32 - } - - -inline XercesString XmlDetails::TScrPreProvisionDetail::TComponentLocalizable::Vendor() - { -#ifdef _WIN32 - return iVendor; -#else - return WStringToXercesString(iVendor); -#endif // _WIN32 - } - - -inline XercesString XmlDetails::TScrPreProvisionDetail::TComponentProperty::Name() - { -#ifdef _WIN32 - return iName; -#else - return WStringToXercesString(iName); -#endif // _WIN32 - } - -inline XercesString XmlDetails::TScrPreProvisionDetail::TComponentProperty::Value() - { -#ifdef _WIN32 - return iValue; -#else - return WStringToXercesString(iValue); -#endif // _WIN32 - } - - -inline XercesString XmlDetails::TScrPreProvisionDetail::TComponentFile::Location() - { -#ifdef _WIN32 - return iLocation; -#else - return WStringToXercesString(iLocation); -#endif // _WIN32 - } - -inline XercesString XmlDetails::TScrPreProvisionDetail::TComponentFile::TFileProperty::Name() - { -#ifdef _WIN32 - return iName; -#else - return WStringToXercesString(iName); -#endif // _WIN32 - } - -inline XercesString XmlDetails::TScrPreProvisionDetail::TComponentFile::TFileProperty::Value() - { -#ifdef _WIN32 - return iValue; -#else - return WStringToXercesString(iValue); -#endif // _WIN32 - } - -inline XercesString XmlDetails::TScrPreProvisionDetail::TComponentDependency::DependentId() - { -#ifdef _WIN32 - return iDependentId; -#else - return WStringToXercesString(iDependentId); -#endif // _WIN32 - } - -inline XercesString XmlDetails::TScrPreProvisionDetail::TComponentDependency::TComponentDependencyDetail::SupplierId() - { -#ifdef _WIN32 - return iSupplierId; -#else - return WStringToXercesString(iSupplierId); -#endif // _WIN32 - } - -inline XercesString XmlDetails::TScrPreProvisionDetail::TComponentDependency::TComponentDependencyDetail::FromVersion() - { -#ifdef _WIN32 - return iFromVersion; -#else - return WStringToXercesString(iFromVersion); -#endif // _WIN32 - } - -inline XercesString XmlDetails::TScrPreProvisionDetail::TComponentDependency::TComponentDependencyDetail::ToVersion() - { -#ifdef _WIN32 - return iToVersion; -#else - return WStringToXercesString(iToVersion); -#endif // _WIN32 - } - - - - - - - - - #endif // _XMLPARSER_H