From ae0fa7cc62e1f57d22e68b2ef45086aeb1dfe41c Mon Sep 17 00:00:00 2001 From: Norbert Thiebaud Date: Tue, 27 Nov 2012 07:00:28 -0600 Subject: String=>OUString in svl's inettype and fall-out Change-Id: I7d64d117183738b86d1869ed629d73675de9c679 --- svl/inc/svl/inettype.hxx | 48 +++----- svl/source/misc/inettype.cxx | 284 ++++++++++++++++++++----------------------- 2 files changed, 153 insertions(+), 179 deletions(-) (limited to 'svl') diff --git a/svl/inc/svl/inettype.hxx b/svl/inc/svl/inettype.hxx index d7078cc2eb9a..976452882372 100644 --- a/svl/inc/svl/inettype.hxx +++ b/svl/inc/svl/inettype.hxx @@ -34,21 +34,15 @@ #define CONTENT_TYPE_STR_APP_VND_CHART "application/vnd.stardivision.chart" #define CONTENT_TYPE_STR_APP_VND_DRAW "application/vnd.stardivision.draw" #define CONTENT_TYPE_STR_APP_VND_IMAGE "application/vnd.stardivision.image" -#define CONTENT_TYPE_STR_APP_VND_IMPRESSPACKED \ - "application/vnd.stardivision.impress-packed" -#define CONTENT_TYPE_STR_APP_VND_IMPRESS \ - "application/vnd.stardivision.impress" +#define CONTENT_TYPE_STR_APP_VND_IMPRESSPACKED "application/vnd.stardivision.impress-packed" +#define CONTENT_TYPE_STR_APP_VND_IMPRESS "application/vnd.stardivision.impress" #define CONTENT_TYPE_STR_APP_VND_MAIL "application/vnd.stardivision.mail" #define CONTENT_TYPE_STR_APP_VND_MATH "application/vnd.stardivision.math" #define CONTENT_TYPE_STR_APP_VND_NEWS "application/vnd.stardivision.news" -#define CONTENT_TYPE_STR_APP_VND_OUTTRAY \ - "application/vnd.stardivision.outtray" -#define CONTENT_TYPE_STR_APP_VND_TEMPLATE \ - "application/vnd.stardivision.template" -#define CONTENT_TYPE_STR_APP_VND_WRITER_GLOBAL \ - "application/vnd.stardivision.writer-global" -#define CONTENT_TYPE_STR_APP_VND_WRITER_WEB \ - "application/vnd.stardivision.writer-web" +#define CONTENT_TYPE_STR_APP_VND_OUTTRAY "application/vnd.stardivision.outtray" +#define CONTENT_TYPE_STR_APP_VND_TEMPLATE "application/vnd.stardivision.template" +#define CONTENT_TYPE_STR_APP_VND_WRITER_GLOBAL "application/vnd.stardivision.writer-global" +#define CONTENT_TYPE_STR_APP_VND_WRITER_WEB "application/vnd.stardivision.writer-web" #define CONTENT_TYPE_STR_APP_VND_WRITER "application/vnd.stardivision.writer" #define CONTENT_TYPE_STR_APP_FRAMESET "application/x-frameset" #define CONTENT_TYPE_STR_APP_GALLERY_THEME "application/x-gallery-theme" @@ -119,7 +113,6 @@ #define CONTENT_TYPE_STR_APP_VND_SUN_XML_IMPRESS "application/vnd.sun.xml.impress" #define CONTENT_TYPE_STR_APP_VND_SUN_XML_DRAW "application/vnd.sun.xml.draw" #define CONTENT_TYPE_STR_APP_VND_SUN_XML_CHART "application/vnd.sun.xml.chart" - #define CONTENT_TYPE_STR_APP_VND_SUN_XML_MATH "application/vnd.sun.xml.math" #define CONTENT_TYPE_STR_APP_VND_SUN_XML_WRITER_GLOBAL "application/vnd.sun.xml.writer-global" #define CONTENT_TYPE_STR_APP_VND_SUN_XML_IMPRESSPACKED "application/vnd.sun.xml.impress-packed" @@ -256,28 +249,23 @@ enum INetContentType class SVL_DLLPUBLIC INetContentTypes { public: - static INetContentType RegisterContentType(UniString const & rTypeName, - UniString const & - rPresentation, - UniString const * pExtension - = 0, - UniString const * - pSystemFileType = 0); + static INetContentType RegisterContentType(OUString const & rTypeName, + OUString const & rPresentation, + OUString const * pExtension = 0, + OUString const * pSystemFileType = 0); - static INetContentType GetContentType(UniString const & rTypeName); + static INetContentType GetContentType(OUString const & rTypeName); static rtl::OUString GetContentType(INetContentType eTypeID); - static UniString GetPresentation(INetContentType eTypeID, - const ::com::sun::star::lang::Locale& aLocale); + static OUString GetPresentation(INetContentType eTypeID, + const ::com::sun::star::lang::Locale& aLocale); - static INetContentType GetContentType4Extension(UniString const & - rExtension); + static INetContentType GetContentType4Extension(OUString const & rExtension); - static INetContentType GetContentTypeFromURL(UniString const & rURL); + static INetContentType GetContentTypeFromURL(OUString const & rURL); - static bool GetExtensionFromURL(UniString const & rURL, - UniString & rExtension); + static bool GetExtensionFromURL(OUString const & rURL, OUString & rExtension); /** Parse the body of an RFC 2045 Content-Type header field. @@ -306,8 +294,8 @@ public: @return True if the syntax of the field body is correct. If false is returned, none of the output parameters will be modified! */ - static bool parse(UniString const & rMediaType, UniString & rType, - UniString & rSubType, + static bool parse(OUString const & rMediaType, OUString & rType, + OUString & rSubType, INetContentTypeParameterList * pParameters = 0); }; diff --git a/svl/source/misc/inettype.cxx b/svl/source/misc/inettype.cxx index 5bbe31c4cc8d..b9f8bf3ae720 100644 --- a/svl/source/misc/inettype.cxx +++ b/svl/source/misc/inettype.cxx @@ -40,15 +40,15 @@ struct MediaTypeEntry //============================================================================ struct TypeIDMapEntry { - UniString m_aTypeName; - UniString m_aPresentation; - UniString m_aSystemFileType; + OUString m_aTypeName; + OUString m_aPresentation; + OUString m_aSystemFileType; }; //============================================================================ struct TypeNameMapEntry { - UniString m_aExtension; + OUString m_aExtension; INetContentType m_eTypeID; TypeNameMapEntry(): @@ -67,8 +67,8 @@ struct ExtensionMapEntry //============================================================================ class Registration { - typedef boost::ptr_map TypeNameMap; - typedef boost::ptr_map ExtensionMap; + typedef boost::ptr_map TypeNameMap; + typedef boost::ptr_map ExtensionMap; typedef std::map TypeIDMap; TypeIDMap m_aTypeIDMap; // map ContentType to TypeID @@ -83,23 +83,20 @@ public: public: static inline TypeIDMapEntry * getEntry(INetContentType eTypeID); - static TypeNameMapEntry * getExtensionEntry(UniString const & rTypeName); + static TypeNameMapEntry * getExtensionEntry(OUString const & rTypeName); - static INetContentType RegisterContentType(UniString const & rTypeName, - UniString const & - rPresentation, - UniString const * pExtension, - UniString const * - pSystemFileType); + static INetContentType RegisterContentType(OUString const & rTypeName, + OUString const & rPresentation, + OUString const * pExtension, + OUString const * pSystemFileType); - static INetContentType GetContentType(UniString const & rTypeName); + static INetContentType GetContentType(OUString const & rTypeName); - static rtl::OUString GetContentType(INetContentType eTypeID); + static OUString GetContentType(INetContentType eTypeID); - static UniString GetPresentation(INetContentType eTypeID); + static OUString GetPresentation(INetContentType eTypeID); - static INetContentType GetContentType4Extension(UniString const & - rExtension); + static INetContentType GetContentType4Extension(OUString const & rExtension); }; @@ -122,7 +119,7 @@ inline TypeIDMapEntry * Registration::getEntry(INetContentType eTypeID) } //============================================================================ -MediaTypeEntry const * seekEntry(UniString const & rTypeName, +MediaTypeEntry const * seekEntry(OUString const & rTypeName, MediaTypeEntry const * pMap, sal_Size nSize); //============================================================================ @@ -522,11 +519,10 @@ Registration::~Registration() //============================================================================ // static -TypeNameMapEntry * Registration::getExtensionEntry(UniString const & - rTypeName) +TypeNameMapEntry * Registration::getExtensionEntry(OUString const & rTypeName) { - UniString aTheTypeName = rTypeName; - aTheTypeName.ToLowerAscii(); + OUString aTheTypeName = rTypeName; + aTheTypeName.toAsciiLowerCase(); Registration &rRegistration = theRegistration::get(); TypeNameMap::iterator it = rRegistration.m_aTypeNameMap.find(aTheTypeName); if (it != rRegistration.m_aTypeNameMap.end()) @@ -536,23 +532,19 @@ TypeNameMapEntry * Registration::getExtensionEntry(UniString const & //============================================================================ // static -INetContentType Registration::RegisterContentType(UniString const & rTypeName, - UniString const & - rPresentation, - UniString const * - pExtension, - UniString const * - pSystemFileType) +INetContentType Registration::RegisterContentType(OUString const & rTypeName, + OUString const & rPresentation, + OUString const * pExtension, + OUString const * pSystemFileType) { Registration &rRegistration = theRegistration::get(); DBG_ASSERT(GetContentType(rTypeName) == CONTENT_TYPE_UNKNOWN, "Registration::RegisterContentType(): Already registered"); - INetContentType eTypeID - = INetContentType(rRegistration.m_nNextDynamicID++); - UniString aTheTypeName = rTypeName; - aTheTypeName.ToLowerAscii(); + INetContentType eTypeID = INetContentType(rRegistration.m_nNextDynamicID++); + OUString aTheTypeName = rTypeName; + aTheTypeName.toAsciiLowerCase(); TypeIDMapEntry * pTypeIDMapEntry = new TypeIDMapEntry; pTypeIDMapEntry->m_aTypeName = aTheTypeName; @@ -579,12 +571,12 @@ INetContentType Registration::RegisterContentType(UniString const & rTypeName, //============================================================================ // static -INetContentType Registration::GetContentType(UniString const & rTypeName) +INetContentType Registration::GetContentType(OUString const & rTypeName) { Registration &rRegistration = theRegistration::get(); - UniString aTheTypeName = rTypeName; - aTheTypeName.ToLowerAscii(); + OUString aTheTypeName = rTypeName; + aTheTypeName.toAsciiLowerCase(); TypeNameMap::iterator it = rRegistration.m_aTypeNameMap.find(aTheTypeName); return it != rRegistration.m_aTypeNameMap.end() ? it->second->m_eTypeID @@ -593,19 +585,19 @@ INetContentType Registration::GetContentType(UniString const & rTypeName) //============================================================================ // static -rtl::OUString Registration::GetContentType(INetContentType eTypeID) +OUString Registration::GetContentType(INetContentType eTypeID) { Registration &rRegistration = theRegistration::get(); TypeIDMap::iterator pEntry = rRegistration.m_aTypeIDMap.find( eTypeID ); if( pEntry != rRegistration.m_aTypeIDMap.end() ) return pEntry->second->m_aTypeName; - return rtl::OUString(); + return OUString(); } //============================================================================ // static -UniString Registration::GetPresentation(INetContentType eTypeID) +OUString Registration::GetPresentation(INetContentType eTypeID) { Registration &rRegistration = theRegistration::get(); @@ -613,13 +605,12 @@ UniString Registration::GetPresentation(INetContentType eTypeID) if( pEntry != rRegistration.m_aTypeIDMap.end() ) return pEntry->second->m_aPresentation; else - return UniString(); + return OUString(); } //============================================================================ // static -INetContentType Registration::GetContentType4Extension(UniString const & - rExtension) +INetContentType Registration::GetContentType4Extension(OUString const & rExtension) { Registration &rRegistration = theRegistration::get(); @@ -638,7 +629,7 @@ INetContentType Registration::GetContentType4Extension(UniString const & namespace { -MediaTypeEntry const * seekEntry(UniString const & rTypeName, +MediaTypeEntry const * seekEntry(OUString const & rTypeName, MediaTypeEntry const * pMap, sal_Size nSize) { #if defined DBG_UTIL @@ -655,7 +646,7 @@ MediaTypeEntry const * seekEntry(UniString const & rTypeName, { sal_Size nMiddle = (nLow + nHigh) / 2; MediaTypeEntry const * pEntry = pMap + nMiddle; - switch (rTypeName.CompareIgnoreCaseToAscii(pEntry->m_pTypeName)) + switch (rTypeName.compareToIgnoreAsciiCaseAscii(pEntry->m_pTypeName)) { case COMPARE_LESS: nHigh = nMiddle; @@ -675,14 +666,10 @@ MediaTypeEntry const * seekEntry(UniString const & rTypeName, } //static -INetContentType INetContentTypes::RegisterContentType(UniString const & - rTypeName, - UniString const & - rPresentation, - UniString const * - pExtension, - UniString const * - pSystemFileType) +INetContentType INetContentTypes::RegisterContentType(OUString const & rTypeName, + OUString const & rPresentation, + OUString const * pExtension, + OUString const * pSystemFileType) { INetContentType eTypeID = GetContentType(rTypeName); if (eTypeID == CONTENT_TYPE_UNKNOWN) @@ -694,15 +681,14 @@ INetContentType INetContentTypes::RegisterContentType(UniString const & TypeIDMapEntry * pTypeEntry = Registration::getEntry(eTypeID); if (pTypeEntry) { - if (rPresentation.Len() != 0) + if (!rPresentation.isEmpty()) pTypeEntry->m_aPresentation = rPresentation; if (pSystemFileType) pTypeEntry->m_aSystemFileType = *pSystemFileType; } if (pExtension) { - TypeNameMapEntry * pEntry - = Registration::getExtensionEntry(rTypeName); + TypeNameMapEntry * pEntry = Registration::getExtensionEntry(rTypeName); if (pEntry) pEntry->m_aExtension = *pExtension; } @@ -712,57 +698,53 @@ INetContentType INetContentTypes::RegisterContentType(UniString const & //============================================================================ // static -INetContentType INetContentTypes::GetContentType(UniString const & rTypeName) +INetContentType INetContentTypes::GetContentType(OUString const & rTypeName) { - UniString aType; - UniString aSubType; + OUString aType; + OUString aSubType; if (parse(rTypeName, aType, aSubType)) { - aType += '/'; + aType += "/"; aType += aSubType; MediaTypeEntry const * pEntry = seekEntry(aType, aStaticTypeNameMap, CONTENT_TYPE_LAST + 1); - return pEntry ? pEntry->m_eTypeID : - Registration::GetContentType(aType); + return pEntry ? pEntry->m_eTypeID : Registration::GetContentType(aType); } else - return - rTypeName.EqualsIgnoreCaseAscii(CONTENT_TYPE_STR_X_STARMAIL) ? - CONTENT_TYPE_X_STARMAIL : CONTENT_TYPE_UNKNOWN; + return rTypeName.equalsIgnoreAsciiCaseAscii(CONTENT_TYPE_STR_X_STARMAIL) ? + CONTENT_TYPE_X_STARMAIL : CONTENT_TYPE_UNKNOWN; // the content type "x-starmail" has no sub type } //============================================================================ //static -rtl::OUString INetContentTypes::GetContentType(INetContentType eTypeID) +OUString INetContentTypes::GetContentType(INetContentType eTypeID) { static sal_Char const * aMap[CONTENT_TYPE_LAST + 1]; static bool bInitialized = false; if (!bInitialized) { for (sal_Size i = 0; i <= CONTENT_TYPE_LAST; ++i) - aMap[aStaticTypeNameMap[i].m_eTypeID] - = aStaticTypeNameMap[i].m_pTypeName; + aMap[aStaticTypeNameMap[i].m_eTypeID] = aStaticTypeNameMap[i].m_pTypeName; aMap[CONTENT_TYPE_UNKNOWN] = CONTENT_TYPE_STR_APP_OCTSTREAM; aMap[CONTENT_TYPE_TEXT_PLAIN] = CONTENT_TYPE_STR_TEXT_PLAIN "; charset=iso-8859-1"; bInitialized = true; } - rtl::OUString aTypeName = eTypeID <= CONTENT_TYPE_LAST ? - rtl::OUString::createFromAscii(aMap[eTypeID]) : - Registration::GetContentType(eTypeID); + OUString aTypeName = eTypeID <= CONTENT_TYPE_LAST ? OUString::createFromAscii(aMap[eTypeID]) + : Registration::GetContentType(eTypeID); if (aTypeName.isEmpty()) { OSL_FAIL("INetContentTypes::GetContentType(): Bad ID"); - return rtl::OUString(CONTENT_TYPE_STR_APP_OCTSTREAM); + return OUString(CONTENT_TYPE_STR_APP_OCTSTREAM); } return aTypeName; } //============================================================================ //static -UniString INetContentTypes::GetPresentation(INetContentType eTypeID, +OUString INetContentTypes::GetPresentation(INetContentType eTypeID, const ::com::sun::star::lang::Locale& aLocale) { sal_uInt16 nResID = sal_uInt16(); @@ -770,8 +752,8 @@ UniString INetContentTypes::GetPresentation(INetContentType eTypeID, nResID = aStaticResourceIDMap[eTypeID]; else { - UniString aPresentation = Registration::GetPresentation(eTypeID); - if (aPresentation.Len() == 0) + OUString aPresentation = Registration::GetPresentation(eTypeID); + if (aPresentation.isEmpty()) nResID = STR_SVT_MIMETYPE_APP_OCTSTREAM; else return aPresentation; @@ -781,38 +763,34 @@ UniString INetContentTypes::GetPresentation(INetContentType eTypeID, //============================================================================ //static -INetContentType INetContentTypes::GetContentType4Extension(UniString const & - rExtension) +INetContentType INetContentTypes::GetContentType4Extension(OUString const & rExtension) { MediaTypeEntry const * pEntry = seekEntry(rExtension, aStaticExtensionMap, - sizeof aStaticExtensionMap - / sizeof (MediaTypeEntry)); + sizeof aStaticExtensionMap / sizeof (MediaTypeEntry)); if (pEntry) return pEntry->m_eTypeID; - INetContentType eTypeID - = Registration::GetContentType4Extension(rExtension); - return eTypeID == CONTENT_TYPE_UNKNOWN ? CONTENT_TYPE_APP_OCTSTREAM : - eTypeID; + INetContentType eTypeID = Registration::GetContentType4Extension(rExtension); + return eTypeID == CONTENT_TYPE_UNKNOWN ? CONTENT_TYPE_APP_OCTSTREAM + : eTypeID; } //============================================================================ //static -INetContentType INetContentTypes::GetContentTypeFromURL(UniString const & - rURL) +INetContentType INetContentTypes::GetContentTypeFromURL(OUString const & rURL) { INetContentType eTypeID = CONTENT_TYPE_UNKNOWN; - UniString aToken = rURL.GetToken(0, ':'); - if (aToken.Len() != 0) + OUString aToken = rURL.getToken(0, ':'); + if (!aToken.isEmpty()) { - if (aToken.EqualsIgnoreCaseAscii(INETTYPE_URL_PROT_FILE)) - if (rURL.GetChar(rURL.Len() - 1) == '/') // folder - if (rURL.Len() > RTL_CONSTASCII_LENGTH("file:///")) + if (aToken.equalsIgnoreAsciiCaseAscii(INETTYPE_URL_PROT_FILE)) + if (rURL[ rURL.getLength() - 1 ] == (sal_Unicode)'/') // folder + if (rURL.getLength() > RTL_CONSTASCII_LENGTH("file:///")) if (WildCard("*/{*}/").Matches(rURL)) // special folder eTypeID = CONTENT_TYPE_X_CNT_FSYSSPECIALFOLDER; else // drive? -> "file:///?|/" - if (rURL.Len() == 11 - && rURL.GetChar(rURL.Len() - 2) == '|') + if (rURL.getLength() == 11 + && rURL[ rURL.getLength() - 2 ] == '|') { // Drives need further processing, because of // dynamic type according to underlying volume, @@ -826,72 +804,80 @@ INetContentType INetContentTypes::GetContentTypeFromURL(UniString const & { //@@@ } - else if (aToken.EqualsIgnoreCaseAscii(INETTYPE_URL_PROT_HTTP) - || aToken.EqualsIgnoreCaseAscii(INETTYPE_URL_PROT_HTTPS)) + else if (aToken.equalsIgnoreAsciiCaseAscii(INETTYPE_URL_PROT_HTTP) + || aToken.equalsIgnoreAsciiCaseAscii(INETTYPE_URL_PROT_HTTPS)) eTypeID = CONTENT_TYPE_TEXT_HTML; - else if (aToken.EqualsIgnoreCaseAscii(INETTYPE_URL_PROT_PRIVATE)) + else if (aToken.equalsIgnoreAsciiCaseAscii(INETTYPE_URL_PROT_PRIVATE)) { - UniString aSecondPart = rURL.GetToken(1, ':'); - aToken = aSecondPart.GetToken(0, '/'); - if (aToken.EqualsAscii(INETTYPE_URL_SUB_FACTORY)) + OUString aSecondPart = rURL.getToken(1, ':'); + aToken = aSecondPart.getToken(0, '/'); + if (aToken.equalsAscii(INETTYPE_URL_SUB_FACTORY)) { - aToken = aSecondPart.GetToken(1, '/'); - if (aToken.EqualsAscii(INETTYPE_URL_SSUB_SWRITER)) + aToken = aSecondPart.getToken(1, '/'); + if (aToken.equalsAscii(INETTYPE_URL_SSUB_SWRITER)) { - aToken = aSecondPart.GetToken(2, '/'); - eTypeID = aToken.EqualsAscii(INETTYPE_URL_SSSUB_WEB) ? + aToken = aSecondPart.getToken(2, '/'); + eTypeID = aToken.equalsAscii(INETTYPE_URL_SSSUB_WEB) ? CONTENT_TYPE_APP_VND_WRITER_WEB : - aToken.EqualsAscii(INETTYPE_URL_SSSUB_GLOB) ? + aToken.equalsAscii(INETTYPE_URL_SSSUB_GLOB) ? CONTENT_TYPE_APP_VND_WRITER_GLOBAL : CONTENT_TYPE_APP_VND_WRITER; } - else if (aToken.EqualsAscii(INETTYPE_URL_SSUB_SCALC)) + else if (aToken.equalsAscii(INETTYPE_URL_SSUB_SCALC)) eTypeID = CONTENT_TYPE_APP_VND_CALC; - else if (aToken.EqualsAscii(INETTYPE_URL_SSUB_SDRAW)) + else if (aToken.equalsAscii(INETTYPE_URL_SSUB_SDRAW)) eTypeID = CONTENT_TYPE_APP_VND_DRAW; - else if (aToken.EqualsAscii(INETTYPE_URL_SSUB_SIMPRESS)) + else if (aToken.equalsAscii(INETTYPE_URL_SSUB_SIMPRESS)) eTypeID = CONTENT_TYPE_APP_VND_IMPRESS; - else if (aToken.EqualsAscii(INETTYPE_URL_SSUB_SCHART)) + else if (aToken.equalsAscii(INETTYPE_URL_SSUB_SCHART)) eTypeID = CONTENT_TYPE_APP_VND_CHART; - else if (aToken.EqualsAscii(INETTYPE_URL_SSUB_SIMAGE)) + else if (aToken.equalsAscii(INETTYPE_URL_SSUB_SIMAGE)) eTypeID = CONTENT_TYPE_APP_VND_IMAGE; - else if (aToken.EqualsAscii(INETTYPE_URL_SSUB_SMATH)) + else if (aToken.equalsAscii(INETTYPE_URL_SSUB_SMATH)) eTypeID = CONTENT_TYPE_APP_VND_MATH; - else if (aToken.EqualsAscii(INETTYPE_URL_SSUB_FRAMESET)) + else if (aToken.equalsAscii(INETTYPE_URL_SSUB_FRAMESET)) eTypeID = CONTENT_TYPE_APP_FRAMESET; } - else if (aToken.EqualsAscii(INETTYPE_URL_SUB_HELPID)) + else if (aToken.equalsAscii(INETTYPE_URL_SUB_HELPID)) eTypeID = CONTENT_TYPE_APP_STARHELP; } - else if (aToken.EqualsIgnoreCaseAscii(INETTYPE_URL_PROT_COMPONENT)) + else if (aToken.equalsIgnoreAsciiCaseAscii(INETTYPE_URL_PROT_COMPONENT)) { - aToken = rURL.GetToken(1, ':'); // aToken now equals ss / * - aToken = aToken.GetToken(0, '/'); - if (aToken.EqualsAscii(INETTYPE_URL_SSUB_SS)) - eTypeID = rURL.SearchAscii(INETTYPE_URL_SCHED_CMB) - == STRING_NOTFOUND - && rURL.SearchAscii(INETTYPE_URL_SCHED_FORM) - == STRING_NOTFOUND ? - CONTENT_TYPE_APP_SCHEDULE : - rURL.SearchAscii(INETTYPE_URL_SCHED_TASK) - == STRING_NOTFOUND ? - CONTENT_TYPE_APP_SCHEDULE_EVT : - CONTENT_TYPE_APP_SCHEDULE_TASK; + aToken = rURL.getToken(1, ':'); // aToken now equals ss / * + aToken = aToken.getToken(0, '/'); + if (aToken.equalsAscii(INETTYPE_URL_SSUB_SS)) + { + if(rURL.indexOf(INETTYPE_URL_SCHED_CMB) < 0 && rURL.indexOf(INETTYPE_URL_SCHED_FORM) < 0) + { + eTypeID = CONTENT_TYPE_APP_SCHEDULE; + } + else + { + if( rURL.indexOf(INETTYPE_URL_SCHED_TASK) < 0) + { + eTypeID = CONTENT_TYPE_APP_SCHEDULE_EVT; + } + else + { + eTypeID = CONTENT_TYPE_APP_SCHEDULE_TASK; + } + } + } } - else if (aToken.EqualsIgnoreCaseAscii(INETTYPE_URL_PROT_MAILTO)) + else if (aToken.equalsIgnoreAsciiCaseAscii(INETTYPE_URL_PROT_MAILTO)) eTypeID = CONTENT_TYPE_APP_VND_OUTTRAY; - else if (aToken.EqualsIgnoreCaseAscii(INETTYPE_URL_PROT_MACRO)) + else if (aToken.equalsIgnoreAsciiCaseAscii(INETTYPE_URL_PROT_MACRO)) eTypeID = CONTENT_TYPE_APP_MACRO; - else if (aToken.EqualsIgnoreCaseAscii(INETTYPE_URL_PROT_DATA)) + else if (aToken.equalsIgnoreAsciiCaseAscii(INETTYPE_URL_PROT_DATA)) { - UniString aSecondPart = rURL.GetToken(1, ':'); - aToken = aSecondPart.GetToken(0, ','); + OUString aSecondPart = rURL.getToken(1, ':'); + aToken = aSecondPart.getToken(0, ','); eTypeID = GetContentType(aToken); } } if (eTypeID == CONTENT_TYPE_UNKNOWN) { - UniString aExtension; + OUString aExtension; if (GetExtensionFromURL(rURL, aExtension)) eTypeID = GetContentType4Extension(aExtension); } @@ -900,26 +886,26 @@ INetContentType INetContentTypes::GetContentTypeFromURL(UniString const & //============================================================================ //static -bool INetContentTypes::GetExtensionFromURL(UniString const & rURL, - UniString & rExtension) +bool INetContentTypes::GetExtensionFromURL(OUString const & rURL, + OUString & rExtension) { - xub_StrLen nSlashPos = 0; - xub_StrLen i = 0; - while (i != STRING_NOTFOUND) + sal_Int32 nSlashPos = 0; + sal_Int32 i = 0; + while (i >= 0) { nSlashPos = i; - i = rURL.Search('/', i + 1); + i = rURL.indexOf((sal_Unicode)'/', i + 1); } if (nSlashPos != 0) { - xub_StrLen nLastDotPos = i = rURL.Search('.', nSlashPos); - while (i != STRING_NOTFOUND) + sal_Int32 nLastDotPos = i = rURL.indexOf((sal_Unicode)'.', nSlashPos); + while (i >= 0) { nLastDotPos = i; - i = rURL.Search('.', i + 1); + i = rURL.indexOf((sal_Unicode)'.', i + 1); } - if (nLastDotPos != STRING_NOTFOUND) - rExtension = rURL.Copy(nLastDotPos + 1); + if (nLastDotPos >- 0) + rExtension = rURL.copy(nLastDotPos + 1); return true; } return false; @@ -927,12 +913,12 @@ bool INetContentTypes::GetExtensionFromURL(UniString const & rURL, //============================================================================ // static -bool INetContentTypes::parse(UniString const & rMediaType, - UniString & rType, UniString & rSubType, +bool INetContentTypes::parse(OUString const & rMediaType, + OUString & rType, OUString & rSubType, INetContentTypeParameterList * pParameters) { - sal_Unicode const * p = rMediaType.GetBuffer(); - sal_Unicode const * pEnd = p + rMediaType.Len(); + sal_Unicode const * p = rMediaType.getStr(); + sal_Unicode const * pEnd = p + rMediaType.getLength(); p = INetMIME::skipLinearWhiteSpaceComment(p, pEnd); sal_Unicode const * pToken = p; @@ -944,9 +930,9 @@ bool INetContentTypes::parse(UniString const & rMediaType, } if (p == pToken) return false; - rType = rtl::OUString(pToken, p - pToken); + rType = OUString(pToken, p - pToken); if (bDowncase) - rType.ToLowerAscii(); + rType.toAsciiLowerCase(); p = INetMIME::skipLinearWhiteSpaceComment(p, pEnd); if (p == pEnd || *p++ != '/') @@ -962,9 +948,9 @@ bool INetContentTypes::parse(UniString const & rMediaType, } if (p == pToken) return false; - rSubType = rtl::OUString(pToken, p - pToken); + rSubType = OUString(pToken, p - pToken); if (bDowncase) - rSubType.ToLowerAscii(); + rSubType.toAsciiLowerCase(); return INetMIME::scanParameters(p, pEnd, pParameters) == pEnd; } -- cgit