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 <nthiebaud@gmail.com>
Context
- [PATCH] String->OUString more unotools · Norbert Thiebaud (via Code Review)
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.