[Libreoffice-commits] .: ucb/source

Cédric Bosdonnat cbosdo at kemper.freedesktop.org
Thu Jun 28 03:10:45 PDT 2012


 ucb/source/ucp/cmis/cmis_content.cxx      |   19 ++++++++++---------
 ucb/source/ucp/cmis/cmis_datasupplier.cxx |    4 +++-
 2 files changed, 13 insertions(+), 10 deletions(-)

New commits:
commit 2349c6a4743b517e705f90cc2a4eaf8ed70958e1
Author: Cédric Bosdonnat <cedric.bosdonnat at free.fr>
Date:   Thu Jun 28 12:08:27 2012 +0200

    CMIS UCP: strings coming from libcmis are UTF-8, not ascii
    
    Change-Id: Ieb906b8acb677bfc74abc35abb06312704887b66

diff --git a/ucb/source/ucp/cmis/cmis_content.cxx b/ucb/source/ucp/cmis/cmis_content.cxx
index fb78931..977e2a3 100644
--- a/ucb/source/ucp/cmis/cmis_content.cxx
+++ b/ucb/source/ucp/cmis/cmis_content.cxx
@@ -64,6 +64,7 @@
 #include "cmis_resultset.hxx"
 
 #define OUSTR_TO_STDSTR(s) string( rtl::OUStringToOString( s, RTL_TEXTENCODING_UTF8 ).getStr() )
+#define STD_TO_OUSTR( str ) rtl::OUString( str.c_str(), str.length( ), RTL_TEXTENCODING_UTF8 )
 
 using namespace com::sun::star;
 using namespace std;
@@ -98,8 +99,8 @@ namespace
                 rtl::Reference< ucbhelper::SimpleAuthenticationRequest > xRequest
                     = new ucbhelper::SimpleAuthenticationRequest(
                         m_sUrl, m_sBindingUrl, ::rtl::OUString(),
-                        rtl::OUString::createFromAscii( username.c_str( ) ),
-                        rtl::OUString::createFromAscii( password.c_str( ) ),
+                        STD_TO_OUSTR( username ),
+                        STD_TO_OUSTR( password ),
                         ::rtl::OUString(), true, false );
                 xIH->handle( xRequest.get() );
 
@@ -300,7 +301,7 @@ namespace cmis
                 {
                     rtl::OUString sTitle;
                     if ( getObject().get() )
-                        sTitle = rtl::OUString::createFromAscii( getObject()->getName().c_str( ) );
+                        sTitle = STD_TO_OUSTR( getObject()->getName() );
                     else if ( m_pObjectProps.size() > 0 )
                     {
                         map< string, libcmis::PropertyPtr >::iterator it = m_pObjectProps.find( "cmis:name" );
@@ -308,7 +309,7 @@ namespace cmis
                         {
                             vector< string > values = it->second->getStrings( );
                             if ( values.size() > 0 )
-                                sTitle = rtl::OUString::createFromAscii( values.front( ).c_str( ) );
+                                sTitle = STD_TO_OUSTR( values.front( ) );
                         }
                     }
 
@@ -343,7 +344,7 @@ namespace cmis
                         else
                             path = getObject()->getName( );
 
-                        xRow->appendString( rProp, rtl::OUString::createFromAscii( path.c_str() ) );
+                        xRow->appendString( rProp, STD_TO_OUSTR( path ) );
                     }
                     else
                         xRow->appendVoid( rProp );
@@ -557,7 +558,7 @@ namespace cmis
                 try
                 {
                     object = m_pSession->getObjectByPath( newPath );
-                    sNewPath = rtl::OUString::createFromAscii( newPath.c_str( ) );
+                    sNewPath = STD_TO_OUSTR( newPath );
                 }
                 catch ( const libcmis::Exception& )
                 {
@@ -594,7 +595,7 @@ namespace cmis
                     if ( bIsFolder )
                     {
                         libcmis::FolderPtr pNew = pFolder->createFolder( m_pObjectProps );
-                        sNewPath = rtl::OUString::createFromAscii( newPath.c_str( ) );
+                        sNewPath = STD_TO_OUSTR( newPath );
                     }
                     else
                     {
@@ -602,7 +603,7 @@ namespace cmis
                         uno::Reference < io::XOutputStream > xOutput = new ucbhelper::StdOutputStream( pOut );
                         copyData( xInputStream, xOutput );
                         libcmis::DocumentPtr pNew = pFolder->createDocument( m_pObjectProps, pOut, string() );
-                        sNewPath = rtl::OUString::createFromAscii( newPath.c_str( ) );
+                        sNewPath = STD_TO_OUSTR( newPath );
                     }
                 }
 
@@ -899,7 +900,7 @@ namespace cmis
         if ( !parentPath.empty() )
         {
             URL aUrl( m_sURL );
-            aUrl.setObjectPath( rtl::OUString::createFromAscii( parentPath.c_str( ) ) );
+            aUrl.setObjectPath( STD_TO_OUSTR( parentPath ) );
             sRet = aUrl.asString( );
         }
 
diff --git a/ucb/source/ucp/cmis/cmis_datasupplier.cxx b/ucb/source/ucp/cmis/cmis_datasupplier.cxx
index 59ffd73..edddc9e 100644
--- a/ucb/source/ucp/cmis/cmis_datasupplier.cxx
+++ b/ucb/source/ucp/cmis/cmis_datasupplier.cxx
@@ -18,6 +18,8 @@
 #include "cmis_content.hxx"
 #include "cmis_provider.hxx"
 
+#define STD_TO_OUSTR( str ) rtl::OUString( str.c_str(), str.length( ), RTL_TEXTENCODING_UTF8 )
+
 using namespace com::sun::star;
 using namespace std;
 
@@ -98,7 +100,7 @@ namespace cmis
 
             // Get the URL from the Path
             URL aUrl( mxContent->getIdentifier( )->getContentIdentifier( ) );
-            aUrl.setObjectPath( rtl::OUString::createFromAscii( sObjectPath.c_str( ) ) );
+            aUrl.setObjectPath( STD_TO_OUSTR( sObjectPath ) );
             rtl::OUString aId = aUrl.asString( );
 
             maResults[ nIndex ]->aId = aId;


More information about the Libreoffice-commits mailing list