Date: prev next · Thread: first prev next last
2013 Archives by date, by thread · List index


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


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.