summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCédric Bosdonnat <cedric.bosdonnat@free.fr>2012-06-28 10:08:27 (GMT)
committerCédric Bosdonnat <cedric.bosdonnat@free.fr>2012-06-28 10:09:11 (GMT)
commit2349c6a4743b517e705f90cc2a4eaf8ed70958e1 (patch)
tree342ef3ba50c5c26fe1909a1946b4722c008759df
parent1eed4c837828c00dff4ef0b2cf29b1e2962e912d (diff)
CMIS UCP: strings coming from libcmis are UTF-8, not ascii
Change-Id: Ieb906b8acb677bfc74abc35abb06312704887b66
-rw-r--r--ucb/source/ucp/cmis/cmis_content.cxx19
-rw-r--r--ucb/source/ucp/cmis/cmis_datasupplier.cxx4
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 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;