diff options
author | Cédric Bosdonnat <cedric.bosdonnat@free.fr> | 2012-06-28 12:08:27 +0200 |
---|---|---|
committer | Cédric Bosdonnat <cedric.bosdonnat@free.fr> | 2012-06-28 12:10:20 +0200 |
commit | 69f44de0b5f2b37d6a0947ef88984a0e41cb54d3 (patch) | |
tree | b21137add23669081634fa99f524589c9fa1366e /ucb | |
parent | a20b6ed44995c91211b090a8470e0dd64079269e (diff) |
CMIS UCP: strings coming from libcmis are UTF-8, not ascii
Change-Id: Ieb906b8acb677bfc74abc35abb06312704887b66
Diffstat (limited to 'ucb')
-rw-r--r-- | ucb/source/ucp/cmis/cmis_content.cxx | 19 | ||||
-rw-r--r-- | ucb/source/ucp/cmis/cmis_datasupplier.cxx | 4 |
2 files changed, 13 insertions, 10 deletions
diff --git a/ucb/source/ucp/cmis/cmis_content.cxx b/ucb/source/ucp/cmis/cmis_content.cxx index fb78931c6ba0..977e2a3761ed 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 59ffd73ff609..edddc9e8e3b9 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; |