Hi, I have submitted a patch for review:
https://gerrit.libreoffice.org/4248 To pull it, you can do: git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/48/4248/1 String->OUString more unotools Change-Id: I50f61d62b6b1dc348a0253e94b7e334baaec2bb0 --- M basic/source/classes/errobject.cxx M basic/source/comp/buffer.cxx M include/unotools/textsearch.hxx M include/unotools/transliterationwrapper.hxx M include/unotools/ucblockbytes.hxx M unotools/source/i18n/textsearch.cxx M unotools/source/i18n/transliterationwrapper.cxx M unotools/source/ucbhelper/ucblockbytes.cxx 8 files changed, 90 insertions(+), 55 deletions(-) diff --git a/basic/source/classes/errobject.cxx b/basic/source/classes/errobject.cxx index 7cfce56..c856f16 100644 --- a/basic/source/classes/errobject.cxx +++ b/basic/source/classes/errobject.cxx @@ -81,7 +81,7 @@ void SAL_CALL ErrObject::setNumber( ::sal_Int32 _number ) throw (uno::RuntimeException) { - GetSbData()->pInst->setErrorVB( _number, String() ); + GetSbData()->pInst->setErrorVB( _number, OUString() ); OUString _description = GetSbData()->pInst->GetErrorMsg(); setData( uno::makeAny( _number ), uno::Any(), uno::makeAny( _description ), uno::Any(), uno::Any() ); } diff --git a/basic/source/comp/buffer.cxx b/basic/source/comp/buffer.cxx index b08d352..dac618d 100644 --- a/basic/source/comp/buffer.cxx +++ b/basic/source/comp/buffer.cxx @@ -17,7 +17,8 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ - +#include <rtl/ustring.hxx> +#include <osl/thread.h> // osl_getThreadTextEncoding #include "buffer.hxx" #include "sbcomp.hxx" diff --git a/include/unotools/textsearch.hxx b/include/unotools/textsearch.hxx index f26d150..1a07e8b 100644 --- a/include/unotools/textsearch.hxx +++ b/include/unotools/textsearch.hxx @@ -162,13 +162,17 @@ int SearchFrwrd( const String &rStr, xub_StrLen* pStart, xub_StrLen* pEnde, ::com::sun::star::util::SearchResult* pSrchResult = 0 ); - sal_Bool SearchForward( const OUString &rStr, - sal_Int32* pStart, sal_Int32* pEnd, - ::com::sun::star::util::SearchResult* pRes = 0 ); + bool SearchForward( const OUString &rStr, + sal_Int32* pStart, sal_Int32* pEnd, + ::com::sun::star::util::SearchResult* pRes = 0 ); int SearchBkwrd( const String &rStr, xub_StrLen* pStart, xub_StrLen* pEnde, ::com::sun::star::util::SearchResult* pSrchResult = 0 ); + bool SearchBackward( const OUString &rStr, + sal_Int32* pStart, sal_Int32* pEnde, + ::com::sun::star::util::SearchResult* pSrchResult = 0 ); + void SetLocale( const ::com::sun::star::util::SearchOptions& rOpt, const ::com::sun::star::lang::Locale& rLocale ); diff --git a/include/unotools/transliterationwrapper.hxx b/include/unotools/transliterationwrapper.hxx index 6d64d40..4af650d 100644 --- a/include/unotools/transliterationwrapper.hxx +++ b/include/unotools/transliterationwrapper.hxx @@ -20,7 +20,7 @@ #ifndef _UNOTOOLS_TRANSLITERATIONWRAPPER_HXX #define _UNOTOOLS_TRANSLITERATIONWRAPPER_HXX -#include <tools/string.hxx> +#include <rtl/ustring.hxx> #include <tools/solar.h> #include <i18nlangtag/languagetag.hxx> #include <com/sun/star/i18n/XExtendedTransliteration.hpp> @@ -80,20 +80,20 @@ those may load a different module and overwrite this setting. Only the transliterate() method that takes no LanguageType parameter may be used for a specific module loaded with this method. */ - void loadModuleByImplName( const String& rModuleName, sal_uInt16 nLang ); + void loadModuleByImplName( const OUString& rModuleName, sal_uInt16 nLang ); /** This transliteration method corresponds with the loadModuleByImplName() method. It relies on a module being loaded and does not try load one. If for any reason the string can't be transliterated the original string is returned. */ - String transliterate( const String& rStr, - xub_StrLen nStart, xub_StrLen nLen, - ::com::sun::star::uno::Sequence <sal_Int32>* pOffset ) const; + OUString transliterate( const OUString& rStr, + sal_Int32 nStart, sal_Int32 nLen, + ::com::sun::star::uno::Sequence <sal_Int32>* pOffset ) const; // Wrapper implementations of class Transliteration - String transliterate( const String& rStr, sal_uInt16 nLanguage, - xub_StrLen nStart, xub_StrLen nLen, - ::com::sun::star::uno::Sequence <sal_Int32>* pOffset ); + OUString transliterate( const OUString& rStr, sal_uInt16 nLanguage, + sal_Int32 nStart, sal_Int32 nLen, + ::com::sun::star::uno::Sequence <sal_Int32>* pOffset ); /** If two strings are equal per this transliteration. Returns the number of matched code points in any case, even if strings @@ -104,10 +104,10 @@ returns false and nMatch:=2 and nMatch2:=2 */ sal_Bool equals( - const String& rStr1, sal_Int32 nPos1, sal_Int32 nCount1, sal_Int32& nMatch1, - const String& rStr2, sal_Int32 nPos2, sal_Int32 nCount2, sal_Int32& nMatch2 ) const; + const OUString& rStr1, sal_Int32 nPos1, sal_Int32 nCount1, sal_Int32& nMatch1, + const OUString& rStr2, sal_Int32 nPos2, sal_Int32 nCount2, sal_Int32& nMatch2 ) const; - sal_Int32 compareString( const String& rStr1, const String& rStr2 ) const; + sal_Int32 compareString( const OUString& rStr1, const OUString& rStr2 ) const; // helpers @@ -116,11 +116,11 @@ one string is matching the start of the other. Use this method instead of compareString()==0 because it is much faster. */ - sal_Bool isEqual( const String& rStr1, const String& rStr2 ) const; + sal_Bool isEqual( const OUString& rStr1, const OUString& rStr2 ) const; /** If string rStr1 matches the start of string rStr2, i.e. "a" in "aaa" */ - sal_Bool isMatch( const String& rStr1, const String& rStr2 ) const; + sal_Bool isMatch( const OUString& rStr1, const OUString& rStr2 ) const; }; diff --git a/include/unotools/ucblockbytes.hxx b/include/unotools/ucblockbytes.hxx index cf5d98b..cbb635e 100644 --- a/include/unotools/ucblockbytes.hxx +++ b/include/unotools/ucblockbytes.hxx @@ -94,8 +94,8 @@ osl::Condition m_aTerminated; osl::Mutex m_aMutex; - String m_aContentType; - String m_aRealURL; + OUString m_aContentType; + OUString m_aRealURL; DateTime m_aExpireDate; ::com::sun::star::uno::Reference < ::com::sun::star::io::XInputStream > m_xInputStream; @@ -144,8 +144,8 @@ { return m_nError; } // the following properties are available when and after the first DataAvailable callback has been executed - String GetContentType() const; - String GetRealURL() const; + OUString GetContentType() const; + OUString GetRealURL() const; DateTime GetExpireDate() const; // calling this method delegates the responsibility to call closeinput to the caller! @@ -183,8 +183,8 @@ void setDontClose_Impl() { m_bDontClose = sal_True; } - void SetContentType_Impl( const String& rType ) { m_aContentType = rType; } - void SetRealURL_Impl( const String& rURL ) { m_aRealURL = rURL; } + void SetContentType_Impl( const OUString& rType ) { m_aContentType = rType; } + void SetRealURL_Impl( const OUString& rURL ) { m_aRealURL = rURL; } void SetExpireDate_Impl( const DateTime& rDateTime ) { m_aExpireDate = rDateTime; } void SetStreamValid_Impl(); }; diff --git a/unotools/source/i18n/textsearch.cxx b/unotools/source/i18n/textsearch.cxx index dfb871e..9d8470a 100644 --- a/unotools/source/i18n/textsearch.cxx +++ b/unotools/source/i18n/textsearch.cxx @@ -237,11 +237,11 @@ return nRet; } -sal_Bool TextSearch::SearchForward( const OUString &rStr, - sal_Int32* pStart, sal_Int32* pEnd, - ::com::sun::star::util::SearchResult* pRes) +bool TextSearch::SearchForward( const OUString &rStr, + sal_Int32* pStart, sal_Int32* pEnd, + ::com::sun::star::util::SearchResult* pRes) { - sal_Bool nRet = sal_False; + bool nRet = false; try { if( xTextSearch.is() ) @@ -250,7 +250,7 @@ rStr, *pStart, *pEnd )); if( aRet.subRegExpressions > 0 ) { - nRet = sal_True; + nRet = true; // the XTextsearch returns in startOffset the higher position // and the endposition is always exclusive. // The caller of this function will have in startPos the @@ -301,6 +301,36 @@ return nRet; } +bool TextSearch::SearchBackward( const OUString & rStr, sal_Int32* pStart, + sal_Int32* pEnde, SearchResult* pRes ) +{ + bool nRet = false; + try + { + if( xTextSearch.is() ) + { + SearchResult aRet( xTextSearch->searchBackward( rStr, *pStart, *pEnde )); + if( aRet.subRegExpressions ) + { + nRet = true; + // the XTextsearch returns in startOffset the higher position + // and the endposition is always exclusive. + // The caller of this function will have in startPos the + // lower pos. and end + *pEnde = aRet.startOffset[ 0 ]; + *pStart = aRet.endOffset[ 0 ]; + if( pRes ) + *pRes = aRet; + } + } + } + catch ( Exception& ) + { + SAL_WARN( "unotools.i18n", "SearchBackward: Exception caught!" ); + } + return nRet; +} + void TextSearch::ReplaceBackReferences( String& rReplaceStr, const String &rStr, const SearchResult& rResult ) { if( rResult.subRegExpressions > 0 ) diff --git a/unotools/source/i18n/transliterationwrapper.cxx b/unotools/source/i18n/transliterationwrapper.cxx index 703c37e..3b7bf38 100644 --- a/unotools/source/i18n/transliterationwrapper.cxx +++ b/unotools/source/i18n/transliterationwrapper.cxx @@ -44,12 +44,12 @@ } -String TransliterationWrapper::transliterate( - const String& rStr, sal_uInt16 nLang, - xub_StrLen nStart, xub_StrLen nLen, +OUString TransliterationWrapper::transliterate( + const OUString& rStr, sal_uInt16 nLang, + sal_Int32 nStart, sal_Int32 nLen, Sequence <sal_Int32>* pOffset ) { - String sRet; + OUString sRet; if( xTrans.is() ) { try @@ -70,12 +70,12 @@ } -String TransliterationWrapper::transliterate( - const String& rStr, - xub_StrLen nStart, xub_StrLen nLen, - Sequence <sal_Int32>* pOffset ) const +OUString TransliterationWrapper::transliterate(const OUString& rStr, + sal_Int32 nStart, + sal_Int32 nLen, + Sequence <sal_Int32>* pOffset ) const { - String sRet( rStr ); + OUString sRet( rStr ); if( xTrans.is() ) { try @@ -166,7 +166,7 @@ void TransliterationWrapper::loadModuleByImplName( - const String& rModuleName, sal_uInt16 nLang ) + const OUString& rModuleName, sal_uInt16 nLang ) { try { @@ -188,8 +188,8 @@ sal_Bool TransliterationWrapper::equals( - const String& rStr1, sal_Int32 nPos1, sal_Int32 nCount1, sal_Int32& nMatch1, - const String& rStr2, sal_Int32 nPos2, sal_Int32 nCount2, sal_Int32& nMatch2 ) const + const OUString& rStr1, sal_Int32 nPos1, sal_Int32 nCount1, sal_Int32& nMatch1, + const OUString& rStr2, sal_Int32 nPos2, sal_Int32 nCount2, sal_Int32& nMatch2 ) const { try { @@ -205,7 +205,7 @@ return sal_False; } -sal_Int32 TransliterationWrapper::compareString( const String& rStr1, const String& rStr2 ) const +sal_Int32 TransliterationWrapper::compareString( const OUString& rStr1, const OUString& rStr2 ) const { try { @@ -224,23 +224,23 @@ // --- helpers -------------------------------------------------------- -sal_Bool TransliterationWrapper::isEqual( const String& rStr1, const String& rStr2 ) const +sal_Bool TransliterationWrapper::isEqual( const OUString& rStr1, const OUString& rStr2 ) const { sal_Int32 nMatch1, nMatch2; sal_Bool bMatch = equals( - rStr1, 0, rStr1.Len(), nMatch1, - rStr2, 0, rStr2.Len(), nMatch2 ); + rStr1, 0, rStr1.getLength(), nMatch1, + rStr2, 0, rStr2.getLength(), nMatch2 ); return bMatch; } -sal_Bool TransliterationWrapper::isMatch( const String& rStr1, const String& rStr2 ) const +sal_Bool TransliterationWrapper::isMatch( const OUString& rStr1, const OUString& rStr2 ) const { sal_Int32 nMatch1, nMatch2; equals( - rStr1, 0, rStr1.Len(), nMatch1, - rStr2, 0, rStr2.Len(), nMatch2 ); - return (nMatch1 <= nMatch2) && (nMatch1 == rStr1.Len()); + rStr1, 0, rStr1.getLength(), nMatch1, + rStr2, 0, rStr2.getLength(), nMatch2 ); + return (nMatch1 <= nMatch2) && (nMatch1 == rStr1.getLength()); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/unotools/source/ucbhelper/ucblockbytes.cxx b/unotools/source/ucbhelper/ucblockbytes.cxx index d60f249..b1541dd 100644 --- a/unotools/source/ucbhelper/ucblockbytes.cxx +++ b/unotools/source/ucbhelper/ucblockbytes.cxx @@ -194,10 +194,10 @@ sal_Int32 k, m = aHead.getLength(); for (k = 0; k < m; k++) { - String aName( aHead[k].Name ); - String aValue( aHead[k].Value ); + OUString aName( aHead[k].Name ); + OUString aValue( aHead[k].Value ); - if (aName.CompareIgnoreCaseToAscii("Expires") == COMPARE_EQUAL) + if (aName.compareToIgnoreAsciiCase("Expires") == 0 ) { DateTime aExpires (0, 0); if (INetRFC822Message::ParseDateField (aValue, aExpires)) @@ -917,8 +917,8 @@ return _UCBOpenContentSync( xLockBytes,xContent,rArg,xSink,xInteract,xProgress,xHandler); - if ( (aScheme.compareToAscii( "http" ) != COMPARE_EQUAL) || - (aScheme.compareToAscii( "https" ) != COMPARE_EQUAL) ) + if ( (aScheme.compareToAscii( "http" ) != 0 ) || + (aScheme.compareToAscii( "https" ) != 0 ) ) xLockBytes->SetStreamValid_Impl(); Reference< XPropertiesChangeListener > xListener; @@ -1154,7 +1154,7 @@ // http protocol must be handled in a special way: during the opening process the input stream may change // only the last inputstream after notifying the document headers is valid - if ( aScheme.compareToAscii("http") != COMPARE_EQUAL ) + if ( aScheme.compareToAscii("http") != 0 ) xLockBytes->SetStreamValid_Impl(); Reference< XPropertiesChangeListener > xListener = new UcbPropertiesChangeListener_Impl( xLockBytes ); -- To view, visit https://gerrit.libreoffice.org/4248 To unsubscribe, visit https://gerrit.libreoffice.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I50f61d62b6b1dc348a0253e94b7e334baaec2bb0 Gerrit-PatchSet: 1 Gerrit-Project: core Gerrit-Branch: master Gerrit-Owner: Norbert Thiebaud <nthieb...@gmail.com> _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice