diff options
author | Cao Cuong Ngo <cao.cuong.ngo@gmail.com> | 2013-07-14 23:59:51 +0200 |
---|---|---|
committer | Cédric Bosdonnat <cedric.bosdonnat.ooo@free.fr> | 2013-09-02 13:51:51 +0200 |
commit | 56d34815e2e0b3e3277a6a3ee850ab7e4b764b1f (patch) | |
tree | b51db099d3c16329a47c9c182e57db19f85d1118 /ucb/source/ucp/cmis/cmis_url.cxx | |
parent | bd97d9597cd9e3e7b077df9890d515328e3ee855 (diff) |
CMIS: connect LO to Google Drive
Change-Id: I2c1b1d3e2bfd50ceb8647e62d37512ee3a0b9dae
Diffstat (limited to 'ucb/source/ucp/cmis/cmis_url.cxx')
-rw-r--r-- | ucb/source/ucp/cmis/cmis_url.cxx | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/ucb/source/ucp/cmis/cmis_url.cxx b/ucb/source/ucp/cmis/cmis_url.cxx index 226024b06bbb..3076c26b80e1 100644 --- a/ucb/source/ucp/cmis/cmis_url.cxx +++ b/ucb/source/ucp/cmis/cmis_url.cxx @@ -12,6 +12,7 @@ #include <rtl/uri.hxx> #include "cmis_url.hxx" +#include "cmis_oauth2_providers.hxx" using namespace std; @@ -31,7 +32,11 @@ namespace cmis m_sPass = aUrl.GetPass( INetURLObject::DECODE_WITH_CHARSET ); // Store the path to the object - m_sPath = aUrl.GetURLPath( INetURLObject::DECODE_WITH_CHARSET ); + // Google Drive doesn't support getObjectByPath + if ( m_sBindingUrl == GDRIVE_BASE_URL ) + m_sPath = OUString( ); + else + m_sPath = aUrl.GetURLPath( INetURLObject::DECODE_WITH_CHARSET ); m_sId = aUrl.GetMark( INetURLObject::DECODE_WITH_CHARSET ); if ( !m_sId.isEmpty( ) ) @@ -61,12 +66,10 @@ namespace cmis void URL::setObjectPath( OUString sPath ) { m_sPath = sPath; - m_sId = OUString( ); } void URL::setObjectId( OUString sId ) { - m_sPath = OUString( ); m_sId = sId; } @@ -80,7 +83,15 @@ namespace cmis RTL_TEXTENCODING_UTF8 ); sUrl = "vnd.libreoffice.cmis://" + sEncodedBinding; - if ( !m_sPath.isEmpty( ) ) + // Prefer get object by ID + if ( !m_sId.isEmpty( ) ) + { + sUrl += "#" + rtl::Uri::encode( m_sId, + rtl_UriCharClassRelSegment, + rtl_UriEncodeKeepEscapes, + RTL_TEXTENCODING_UTF8 ); + } + else if ( !m_sPath.isEmpty( ) ) { sal_Int32 nPos = -1; OUString sEncodedPath; @@ -104,13 +115,6 @@ namespace cmis while ( nPos != -1 ); sUrl += sEncodedPath; } - else if ( !m_sId.isEmpty( ) ) - { - sUrl += "#" + rtl::Uri::encode( m_sId, - rtl_UriCharClassRelSegment, - rtl_UriEncodeKeepEscapes, - RTL_TEXTENCODING_UTF8 ); - } return sUrl; } |