Kaydet (Commit) 2349c6a4 authored tarafından Cédric Bosdonnat's avatar Cédric Bosdonnat

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

Change-Id: Ieb906b8acb677bfc74abc35abb06312704887b66
üst 1eed4c83
...@@ -64,6 +64,7 @@ ...@@ -64,6 +64,7 @@
#include "cmis_resultset.hxx" #include "cmis_resultset.hxx"
#define OUSTR_TO_STDSTR(s) string( rtl::OUStringToOString( s, RTL_TEXTENCODING_UTF8 ).getStr() ) #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 com::sun::star;
using namespace std; using namespace std;
...@@ -98,8 +99,8 @@ namespace ...@@ -98,8 +99,8 @@ namespace
rtl::Reference< ucbhelper::SimpleAuthenticationRequest > xRequest rtl::Reference< ucbhelper::SimpleAuthenticationRequest > xRequest
= new ucbhelper::SimpleAuthenticationRequest( = new ucbhelper::SimpleAuthenticationRequest(
m_sUrl, m_sBindingUrl, ::rtl::OUString(), m_sUrl, m_sBindingUrl, ::rtl::OUString(),
rtl::OUString::createFromAscii( username.c_str( ) ), STD_TO_OUSTR( username ),
rtl::OUString::createFromAscii( password.c_str( ) ), STD_TO_OUSTR( password ),
::rtl::OUString(), true, false ); ::rtl::OUString(), true, false );
xIH->handle( xRequest.get() ); xIH->handle( xRequest.get() );
...@@ -300,7 +301,7 @@ namespace cmis ...@@ -300,7 +301,7 @@ namespace cmis
{ {
rtl::OUString sTitle; rtl::OUString sTitle;
if ( getObject().get() ) if ( getObject().get() )
sTitle = rtl::OUString::createFromAscii( getObject()->getName().c_str( ) ); sTitle = STD_TO_OUSTR( getObject()->getName() );
else if ( m_pObjectProps.size() > 0 ) else if ( m_pObjectProps.size() > 0 )
{ {
map< string, libcmis::PropertyPtr >::iterator it = m_pObjectProps.find( "cmis:name" ); map< string, libcmis::PropertyPtr >::iterator it = m_pObjectProps.find( "cmis:name" );
...@@ -308,7 +309,7 @@ namespace cmis ...@@ -308,7 +309,7 @@ namespace cmis
{ {
vector< string > values = it->second->getStrings( ); vector< string > values = it->second->getStrings( );
if ( values.size() > 0 ) if ( values.size() > 0 )
sTitle = rtl::OUString::createFromAscii( values.front( ).c_str( ) ); sTitle = STD_TO_OUSTR( values.front( ) );
} }
} }
...@@ -343,7 +344,7 @@ namespace cmis ...@@ -343,7 +344,7 @@ namespace cmis
else else
path = getObject()->getName( ); path = getObject()->getName( );
xRow->appendString( rProp, rtl::OUString::createFromAscii( path.c_str() ) ); xRow->appendString( rProp, STD_TO_OUSTR( path ) );
} }
else else
xRow->appendVoid( rProp ); xRow->appendVoid( rProp );
...@@ -557,7 +558,7 @@ namespace cmis ...@@ -557,7 +558,7 @@ namespace cmis
try try
{ {
object = m_pSession->getObjectByPath( newPath ); object = m_pSession->getObjectByPath( newPath );
sNewPath = rtl::OUString::createFromAscii( newPath.c_str( ) ); sNewPath = STD_TO_OUSTR( newPath );
} }
catch ( const libcmis::Exception& ) catch ( const libcmis::Exception& )
{ {
...@@ -594,7 +595,7 @@ namespace cmis ...@@ -594,7 +595,7 @@ namespace cmis
if ( bIsFolder ) if ( bIsFolder )
{ {
libcmis::FolderPtr pNew = pFolder->createFolder( m_pObjectProps ); libcmis::FolderPtr pNew = pFolder->createFolder( m_pObjectProps );
sNewPath = rtl::OUString::createFromAscii( newPath.c_str( ) ); sNewPath = STD_TO_OUSTR( newPath );
} }
else else
{ {
...@@ -602,7 +603,7 @@ namespace cmis ...@@ -602,7 +603,7 @@ namespace cmis
uno::Reference < io::XOutputStream > xOutput = new ucbhelper::StdOutputStream( pOut ); uno::Reference < io::XOutputStream > xOutput = new ucbhelper::StdOutputStream( pOut );
copyData( xInputStream, xOutput ); copyData( xInputStream, xOutput );
libcmis::DocumentPtr pNew = pFolder->createDocument( m_pObjectProps, pOut, string() ); 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 ...@@ -899,7 +900,7 @@ namespace cmis
if ( !parentPath.empty() ) if ( !parentPath.empty() )
{ {
URL aUrl( m_sURL ); URL aUrl( m_sURL );
aUrl.setObjectPath( rtl::OUString::createFromAscii( parentPath.c_str( ) ) ); aUrl.setObjectPath( STD_TO_OUSTR( parentPath ) );
sRet = aUrl.asString( ); sRet = aUrl.asString( );
} }
......
...@@ -18,6 +18,8 @@ ...@@ -18,6 +18,8 @@
#include "cmis_content.hxx" #include "cmis_content.hxx"
#include "cmis_provider.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 com::sun::star;
using namespace std; using namespace std;
...@@ -98,7 +100,7 @@ namespace cmis ...@@ -98,7 +100,7 @@ namespace cmis
// Get the URL from the Path // Get the URL from the Path
URL aUrl( mxContent->getIdentifier( )->getContentIdentifier( ) ); URL aUrl( mxContent->getIdentifier( )->getContentIdentifier( ) );
aUrl.setObjectPath( rtl::OUString::createFromAscii( sObjectPath.c_str( ) ) ); aUrl.setObjectPath( STD_TO_OUSTR( sObjectPath ) );
rtl::OUString aId = aUrl.asString( ); rtl::OUString aId = aUrl.asString( );
maResults[ nIndex ]->aId = aId; maResults[ nIndex ]->aId = aId;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment