diff options
-rw-r--r-- | officecfg/registry/data/org/openoffice/ucb/Configuration.xcu | 11 | ||||
-rw-r--r-- | tools/CppunitTest_tools_test.mk | 1 | ||||
-rw-r--r-- | tools/inc/tools/urlobj.hxx | 3 | ||||
-rw-r--r-- | tools/qa/urlobj/tools_urlobj_test.cxx | 380 | ||||
-rw-r--r-- | tools/source/fsys/urlobj.cxx | 6 |
5 files changed, 245 insertions, 156 deletions
diff --git a/officecfg/registry/data/org/openoffice/ucb/Configuration.xcu b/officecfg/registry/data/org/openoffice/ucb/Configuration.xcu index fcc33898ab02..8cd6d143fae0 100644 --- a/officecfg/registry/data/org/openoffice/ucb/Configuration.xcu +++ b/officecfg/registry/data/org/openoffice/ucb/Configuration.xcu @@ -197,6 +197,17 @@ <value/> </prop> </node> + <node oor:name="Provider43" oor:op="replace"> + <prop oor:name="ServiceName"> + <value>com.sun.star.ucb.CmisContentProvider</value> + </prop> + <prop oor:name="URLTemplate"> + <value>vnd.sun.star.cmis</value> + </prop> + <prop oor:name="Arguments"> + <value/> + </prop> + </node> <!-- We want the Provider to be the final fallback provider --> <node oor:name="Provider999" oor:op="replace" install:module="gio"> <prop oor:name="ServiceName"> diff --git a/tools/CppunitTest_tools_test.mk b/tools/CppunitTest_tools_test.mk index c39f0a2461f3..154670e53bf7 100644 --- a/tools/CppunitTest_tools_test.mk +++ b/tools/CppunitTest_tools_test.mk @@ -34,6 +34,7 @@ $(eval $(call gb_CppunitTest_add_exception_objects,tools_test, \ tools/qa/cppunit/test_reversemap \ tools/qa/cppunit/test_pathutils \ tools/qa/cppunit/test_stream \ + tools/qa/urlobj/tools_urlobj_test \ )) $(eval $(call gb_CppunitTest_add_api,tools_test, \ diff --git a/tools/inc/tools/urlobj.hxx b/tools/inc/tools/urlobj.hxx index 2c18004b7cec..08211e944162 100644 --- a/tools/inc/tools/urlobj.hxx +++ b/tools/inc/tools/urlobj.hxx @@ -143,7 +143,8 @@ enum INetProtocol INET_PROT_SMB = 31, INET_PROT_HID = 32, INET_PROT_SFTP = 33, - INET_PROT_END = 34 + INET_PROT_CMIS_ATOM = 34, + INET_PROT_END = 35 }; //============================================================================ diff --git a/tools/qa/urlobj/tools_urlobj_test.cxx b/tools/qa/urlobj/tools_urlobj_test.cxx index 0e9a16a59624..d66e5b38d1f9 100644 --- a/tools/qa/urlobj/tools_urlobj_test.cxx +++ b/tools/qa/urlobj/tools_urlobj_test.cxx @@ -26,162 +26,234 @@ * instead of those above. */ +#include <string> + #include "sal/config.h" #include "sal/precppunit.hxx" - #include <urlobj.hxx> - - namespace tools_urlobj - { - - class urlobjTest : public CppUnit::TestFixture - { - - public: - // initialise your test code values here. - void setUp() - { - } - - void tearDown() - { - } - - // insert your test code here. - // this is only demonstration code - void urlobjTest_001() - { - INetURLObject aUrl(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("file://10.10.1.1/sampledir/sample.file"))); - #ifdef LINUX - CPPUNIT_ASSERT(aUrl.GetMainURL(INetURLObject::NO_DECODE).compareToAscii("smb://10.10.1.1/sampledir/sample.file")==0); - CPPUNIT_ASSERT(aUrl.GetProtocol()==INET_PROT_SMB); - #endif - #ifdef WIN - CPPUNIT_ASSERT(aUrl.GetMainURL(INetURLObject::NO_DECODE).compareToAscii("file://10.10.1.1/sampledir/sample.file")==0); - CPPUNIT_ASSERT(aUrl.GetProtocol()==INET_PROT_FILE); - #endif - CPPUNIT_ASSERT(aUrl.GetHost(INetURLObject::NO_DECODE).compareToAscii("10.10.1.1")==0); - CPPUNIT_ASSERT(aUrl.GetURLPath(INetURLObject::NO_DECODE).compareToAscii("/sampledir/sample.file")==0); - CPPUNIT_ASSERT(aUrl.getName().compareToAscii("sample.file")==0); - CPPUNIT_ASSERT(aUrl.getBase().compareToAscii("sample")==0); - CPPUNIT_ASSERT(aUrl.getExtension().compareToAscii("file")==0); - } - - void urlobjTest_002() - { - INetURLObject aUrl; - aUrl.setFSysPath(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\\\\137.65.170.24\\c$\\Img0001.jpg")), INetURLObject::FSYS_DETECT); - #ifdef LINUX - CPPUNIT_ASSERT(aUrl.GetMainURL(INetURLObject::NO_DECODE).compareToAscii("smb://137.65.170.24/c$/Img0001.jpg")==0); - CPPUNIT_ASSERT(aUrl.GetProtocol()==INET_PROT_SMB); - #endif - #ifdef WIN - CPPUNIT_ASSERT(aUrl.GetMainURL(INetURLObject::NO_DECODE).compareToAscii("file://137.65.170.24/c$/Img0001.jpg")==0); - CPPUNIT_ASSERT(aUrl.GetProtocol()==INET_PROT_FILE); - #endif - CPPUNIT_ASSERT(aUrl.GetHost(INetURLObject::NO_DECODE).compareToAscii("137.65.170.24")==0); - CPPUNIT_ASSERT(aUrl.GetURLPath(INetURLObject::NO_DECODE).compareToAscii("/c$/Img0001.jpg")==0); - CPPUNIT_ASSERT(aUrl.getName().compareToAscii("Img0001.jpg")==0); - CPPUNIT_ASSERT(aUrl.getBase().compareToAscii("Img0001")==0); - CPPUNIT_ASSERT(aUrl.getExtension().compareToAscii("jpg")==0); - } - - - void urlobjTest_003() - { - INetURLObject aUrl; - aUrl.setFSysPath(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\\\\hive-winxp-x86\\pmladek\\test2.odt")), INetURLObject::FSYS_DETECT); - #ifdef LINUX - CPPUNIT_ASSERT(aUrl.GetMainURL(INetURLObject::NO_DECODE).compareToAscii("smb://hive-winxp-x86/pmladek/test2.odt")==0); - CPPUNIT_ASSERT(aUrl.GetProtocol()==INET_PROT_SMB); - #endif - #ifdef WIN - CPPUNIT_ASSERT(aUrl.GetMainURL(INetURLObject::NO_DECODE).compareToAscii("file://hive-winxp-x86/pmladek/test2.odt")==0); - CPPUNIT_ASSERT(aUrl.GetProtocol()==INET_PROT_FILE); - #endif - CPPUNIT_ASSERT(aUrl.GetHost(INetURLObject::NO_DECODE).compareToAscii("hive-winxp-x86")==0); - CPPUNIT_ASSERT(aUrl.GetURLPath(INetURLObject::NO_DECODE).compareToAscii("/pmladek/test2.odt")==0); - } - - void urlobjTest_004() - { - INetURLObject aUrl(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("smb://10.10.1.1/sampledir/sample.file"))); - #ifdef LINUX - CPPUNIT_ASSERT(aUrl.GetMainURL(INetURLObject::NO_DECODE).compareToAscii("smb://10.10.1.1/sampledir/sample.file")==0); - CPPUNIT_ASSERT(aUrl.GetProtocol()==INET_PROT_SMB); - #endif - #ifdef WIN - CPPUNIT_ASSERT(aUrl.GetMainURL(INetURLObject::NO_DECODE).compareToAscii("file://10.10.1.1/sampledir/sample.file")==0); - CPPUNIT_ASSERT(aUrl.GetProtocol()==INET_PROT_FILE); - #endif - CPPUNIT_ASSERT(aUrl.GetHost(INetURLObject::NO_DECODE).compareToAscii("10.10.1.1")==0); - CPPUNIT_ASSERT(aUrl.GetURLPath(INetURLObject::NO_DECODE).compareToAscii("/sampledir/sample.file")==0); - CPPUNIT_ASSERT(aUrl.getName().compareToAscii("sample.file")==0); - CPPUNIT_ASSERT(aUrl.getBase().compareToAscii("sample")==0); - CPPUNIT_ASSERT(aUrl.getExtension().compareToAscii("file")==0); - } - - void urlobjTest_005() - { - INetURLObject aUrl; - aUrl.setFSysPath(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("//137.65.170.24/c$/Img0001.jpg")), INetURLObject::FSYS_DETECT); - #ifdef LINUX - CPPUNIT_ASSERT(aUrl.GetMainURL(INetURLObject::NO_DECODE).compareToAscii("smb://137.65.170.24/c$/Img0001.jpg")==0); - CPPUNIT_ASSERT(aUrl.GetProtocol()==INET_PROT_SMB); - #endif - #ifdef WIN - CPPUNIT_ASSERT(aUrl.GetMainURL(INetURLObject::NO_DECODE).compareToAscii("file://137.65.170.24/c$/Img0001.jpg")==0); - CPPUNIT_ASSERT(aUrl.GetProtocol()==INET_PROT_FILE); - #endif - CPPUNIT_ASSERT(aUrl.GetHost(INetURLObject::NO_DECODE).compareToAscii("137.65.170.24")==0); - CPPUNIT_ASSERT(aUrl.GetURLPath(INetURLObject::NO_DECODE).compareToAscii("/c$/Img0001.jpg")==0); - CPPUNIT_ASSERT(aUrl.getName().compareToAscii("Img0001.jpg")==0); - CPPUNIT_ASSERT(aUrl.getBase().compareToAscii("Img0001")==0); - CPPUNIT_ASSERT(aUrl.getExtension().compareToAscii("jpg")==0); - } - - - void urlobjTest_006() - { - INetURLObject aUrl; - aUrl.setFSysPath(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("//hive-winxp-x86/pmladek/test2.odt")), INetURLObject::FSYS_DETECT); - #ifdef LINUX - CPPUNIT_ASSERT(aUrl.GetMainURL(INetURLObject::NO_DECODE).compareToAscii("smb://hive-winxp-x86/pmladek/test2.odt")==0); - CPPUNIT_ASSERT(aUrl.GetProtocol()==INET_PROT_SMB); - #endif - #ifdef WIN - CPPUNIT_ASSERT(aUrl.GetMainURL(INetURLObject::NO_DECODE).compareToAscii("file://hive-winxp-x86/pmladek/test2.odt")==0); - CPPUNIT_ASSERT(aUrl.GetProtocol()==INET_PROT_FILE); - #endif - CPPUNIT_ASSERT(aUrl.GetHost(INetURLObject::NO_DECODE).compareToAscii("hive-winxp-x86")==0); - CPPUNIT_ASSERT(aUrl.GetURLPath(INetURLObject::NO_DECODE).compareToAscii("/pmladek/test2.odt")==0); - } - - - - // Change the following lines only, if you add, remove or rename - // member functions of the current class, - // because these macros are need by auto register mechanism. - - CPPUNIT_TEST_SUITE(urlobjTest); - CPPUNIT_TEST(urlobjTest_001); - CPPUNIT_TEST(urlobjTest_002); - CPPUNIT_TEST(urlobjTest_003); - CPPUNIT_TEST(urlobjTest_004); - CPPUNIT_TEST(urlobjTest_005); - CPPUNIT_TEST(urlobjTest_006); - CPPUNIT_TEST_SUITE_END(); - }; // class createPool - - - CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(tools_urlobj::urlobjTest, "tools_urlobj"); - } // namespace rtl_random - - - // ----------------------------------------------------------------------------- - - // this macro creates an empty function, which will called by the RegisterAllFunctions() - // to let the user the possibility to also register some functions by hand. - NOADDITIONAL; +#include "tools/urlobj.hxx" + +#define OUSTR_TO_STDSTR( oustr ) std::string( rtl::OUStringToOString( oustr, RTL_TEXTENCODING_ASCII_US ).getStr() ) + +namespace tools_urlobj +{ + + class urlobjTest:public CppUnit::TestFixture + { + + public: + // initialise your test code values here. + void setUp( ) + { + } + + void tearDown( ) + { + } + + // insert your test code here. + // this is only demonstration code + void urlobjTest_001( ) + { + INetURLObject aUrl( rtl:: + OUString( RTL_CONSTASCII_USTRINGPARAM + ( "file://10.10.1.1/sampledir/sample.file" ) ) ); +#ifdef LINUX + CPPUNIT_ASSERT( aUrl.GetMainURL( INetURLObject::NO_DECODE ). + compareToAscii + ( "smb://10.10.1.1/sampledir/sample.file" ) == + 0 ); + CPPUNIT_ASSERT( aUrl.GetProtocol( ) == INET_PROT_SMB ); +#endif +#ifdef WIN + CPPUNIT_ASSERT( aUrl.GetMainURL( INetURLObject::NO_DECODE ). + compareToAscii + ( "file://10.10.1.1/sampledir/sample.file" ) == + 0 ); + CPPUNIT_ASSERT( aUrl.GetProtocol( ) == INET_PROT_FILE ); +#endif + CPPUNIT_ASSERT( aUrl.GetHost( INetURLObject::NO_DECODE ). + compareToAscii( "10.10.1.1" ) == 0 ); + CPPUNIT_ASSERT( aUrl.GetURLPath( INetURLObject::NO_DECODE ). + compareToAscii( "/sampledir/sample.file" ) == 0 ); + CPPUNIT_ASSERT( aUrl.getName( ). + compareToAscii( "sample.file" ) == 0 ); + CPPUNIT_ASSERT( aUrl.getBase( ).compareToAscii( "sample" ) == + 0 ); + CPPUNIT_ASSERT( aUrl.getExtension( ).compareToAscii( "file" ) == + 0 ); + } + + void urlobjTest_002( ) + { + INetURLObject aUrl; + aUrl. + setFSysPath( rtl:: + OUString( RTL_CONSTASCII_USTRINGPARAM + ( "\\\\137.65.170.24\\c$\\Img0001.jpg" ) ), + INetURLObject::FSYS_DETECT ); +#ifdef LINUX + CPPUNIT_ASSERT( aUrl.GetMainURL( INetURLObject::NO_DECODE ). + compareToAscii + ( "smb://137.65.170.24/c$/Img0001.jpg" ) == 0 ); + CPPUNIT_ASSERT( aUrl.GetProtocol( ) == INET_PROT_SMB ); +#endif +#ifdef WIN + CPPUNIT_ASSERT( aUrl.GetMainURL( INetURLObject::NO_DECODE ). + compareToAscii + ( "file://137.65.170.24/c$/Img0001.jpg" ) == 0 ); + CPPUNIT_ASSERT( aUrl.GetProtocol( ) == INET_PROT_FILE ); +#endif + CPPUNIT_ASSERT( aUrl.GetHost( INetURLObject::NO_DECODE ). + compareToAscii( "137.65.170.24" ) == 0 ); + CPPUNIT_ASSERT( aUrl.GetURLPath( INetURLObject::NO_DECODE ). + compareToAscii( "/c$/Img0001.jpg" ) == 0 ); + CPPUNIT_ASSERT( aUrl.getName( ). + compareToAscii( "Img0001.jpg" ) == 0 ); + CPPUNIT_ASSERT( aUrl.getBase( ).compareToAscii( "Img0001" ) == + 0 ); + CPPUNIT_ASSERT( aUrl.getExtension( ).compareToAscii( "jpg" ) == + 0 ); + } + + + void urlobjTest_003( ) + { + INetURLObject aUrl; + aUrl. + setFSysPath( rtl:: + OUString( RTL_CONSTASCII_USTRINGPARAM + ( "\\\\hive-winxp-x86\\pmladek\\test2.odt" ) ), + INetURLObject::FSYS_DETECT ); +#ifdef LINUX + CPPUNIT_ASSERT( aUrl.GetMainURL( INetURLObject::NO_DECODE ). + compareToAscii + ( "smb://hive-winxp-x86/pmladek/test2.odt" ) == + 0 ); + CPPUNIT_ASSERT( aUrl.GetProtocol( ) == INET_PROT_SMB ); +#endif +#ifdef WIN + CPPUNIT_ASSERT( aUrl.GetMainURL( INetURLObject::NO_DECODE ). + compareToAscii + ( "file://hive-winxp-x86/pmladek/test2.odt" ) == + 0 ); + CPPUNIT_ASSERT( aUrl.GetProtocol( ) == INET_PROT_FILE ); +#endif + CPPUNIT_ASSERT( aUrl.GetHost( INetURLObject::NO_DECODE ). + compareToAscii( "hive-winxp-x86" ) == 0 ); + CPPUNIT_ASSERT( aUrl.GetURLPath( INetURLObject::NO_DECODE ). + compareToAscii( "/pmladek/test2.odt" ) == 0 ); + } + + void urlobjTest_004( ) + { + INetURLObject aUrl( rtl:: + OUString( RTL_CONSTASCII_USTRINGPARAM + ( "smb://10.10.1.1/sampledir/sample.file" ) ) ); +#ifdef LINUX + CPPUNIT_ASSERT( aUrl.GetMainURL( INetURLObject::NO_DECODE ). + compareToAscii + ( "smb://10.10.1.1/sampledir/sample.file" ) == + 0 ); + CPPUNIT_ASSERT( aUrl.GetProtocol( ) == INET_PROT_SMB ); +#endif +#ifdef WIN + CPPUNIT_ASSERT( aUrl.GetMainURL( INetURLObject::NO_DECODE ). + compareToAscii + ( "file://10.10.1.1/sampledir/sample.file" ) == + 0 ); + CPPUNIT_ASSERT( aUrl.GetProtocol( ) == INET_PROT_FILE ); +#endif + CPPUNIT_ASSERT( aUrl.GetHost( INetURLObject::NO_DECODE ). + compareToAscii( "10.10.1.1" ) == 0 ); + CPPUNIT_ASSERT( aUrl.GetURLPath( INetURLObject::NO_DECODE ). + compareToAscii( "/sampledir/sample.file" ) == 0 ); + CPPUNIT_ASSERT( aUrl.getName( ). + compareToAscii( "sample.file" ) == 0 ); + CPPUNIT_ASSERT( aUrl.getBase( ).compareToAscii( "sample" ) == + 0 ); + CPPUNIT_ASSERT( aUrl.getExtension( ).compareToAscii( "file" ) == + 0 ); + } + + void urlobjTest_005( ) + { + INetURLObject aUrl; + aUrl.setFSysPath( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "//137.65.170.24/c$/Img0001.jpg" ) ), + INetURLObject::FSYS_DETECT ); +#ifdef LINUX + CPPUNIT_ASSERT( aUrl.GetMainURL( INetURLObject::NO_DECODE ). + compareToAscii( "smb://137.65.170.24/c$/Img0001.jpg" ) == 0 ); + CPPUNIT_ASSERT( aUrl.GetProtocol( ) == INET_PROT_SMB ); +#endif +#ifdef WIN + CPPUNIT_ASSERT( aUrl.GetMainURL( INetURLObject::NO_DECODE ). + compareToAscii( "file://137.65.170.24/c$/Img0001.jpg" ) == 0 ); + CPPUNIT_ASSERT( aUrl.GetProtocol( ) == INET_PROT_FILE ); +#endif + CPPUNIT_ASSERT( aUrl.GetHost( INetURLObject::NO_DECODE ). + compareToAscii( "137.65.170.24" ) == 0 ); + CPPUNIT_ASSERT( aUrl.GetURLPath( INetURLObject::NO_DECODE ). + compareToAscii( "/c$/Img0001.jpg" ) == 0 ); + CPPUNIT_ASSERT( aUrl.getName( ).compareToAscii( "Img0001.jpg" ) == 0 ); + CPPUNIT_ASSERT( aUrl.getBase( ).compareToAscii( "Img0001" ) == 0 ); + CPPUNIT_ASSERT( aUrl.getExtension( ).compareToAscii( "jpg" ) == 0 ); + } + + + void urlobjTest_006( ) + { + INetURLObject aUrl; + aUrl.setFSysPath( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "//hive-winxp-x86/pmladek/test2.odt" ) ), + INetURLObject::FSYS_DETECT ); +#ifdef LINUX + CPPUNIT_ASSERT( aUrl.GetMainURL( INetURLObject::NO_DECODE ). + compareToAscii( "smb://hive-winxp-x86/pmladek/test2.odt" ) == 0 ); + CPPUNIT_ASSERT( aUrl.GetProtocol( ) == INET_PROT_SMB ); +#endif +#ifdef WIN + CPPUNIT_ASSERT( aUrl.GetMainURL( INetURLObject::NO_DECODE ). + compareToAscii( "file://hive-winxp-x86/pmladek/test2.odt" ) == 0 ); + CPPUNIT_ASSERT( aUrl.GetProtocol( ) == INET_PROT_FILE ); +#endif + CPPUNIT_ASSERT( aUrl.GetHost( INetURLObject::NO_DECODE ). + compareToAscii( "hive-winxp-x86" ) == 0 ); + CPPUNIT_ASSERT( aUrl.GetURLPath( INetURLObject::NO_DECODE ). + compareToAscii( "/pmladek/test2.odt" ) == 0 ); + } + + void urlobjCmisTest( ) + { + INetURLObject aUrl( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( + "cmis+atom://foo.bar.com:8080/my%2Fcmis%2Fatom/path/to/content" ) ) ); + CPPUNIT_ASSERT_EQUAL( std::string( "foo.bar.com" ), + OUSTR_TO_STDSTR( aUrl.GetHost( INetURLObject::NO_DECODE ) ) ); + CPPUNIT_ASSERT( aUrl.GetPort( ) == 8080 ); + CPPUNIT_ASSERT_EQUAL( std::string( "/my%2Fcmis%2Fatom/path/to/content" ), + OUSTR_TO_STDSTR( aUrl.GetURLPath( INetURLObject::NO_DECODE ) ) ); + CPPUNIT_ASSERT_EQUAL_MESSAGE( "Wrong protocol found", INET_PROT_CMIS_ATOM, aUrl.GetProtocol( ) ); + } + + // Change the following lines only, if you add, remove or rename + // member functions of the current class, + // because these macros are need by auto register mechanism. + + CPPUNIT_TEST_SUITE( urlobjTest ); + CPPUNIT_TEST( urlobjTest_001 ); + CPPUNIT_TEST( urlobjTest_002 ); + CPPUNIT_TEST( urlobjTest_003 ); + CPPUNIT_TEST( urlobjTest_004 ); + CPPUNIT_TEST( urlobjTest_005 ); + CPPUNIT_TEST( urlobjTest_006 ); + CPPUNIT_TEST( urlobjCmisTest ); + CPPUNIT_TEST_SUITE_END( ); + }; // class createPool + + + CPPUNIT_TEST_SUITE_REGISTRATION( urlobjTest ); +} // namespace rtl_random + + +// ----------------------------------------------------------------------------- /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/tools/source/fsys/urlobj.cxx b/tools/source/fsys/urlobj.cxx index bbf2106460de..c1031789344a 100644 --- a/tools/source/fsys/urlobj.cxx +++ b/tools/source/fsys/urlobj.cxx @@ -429,7 +429,9 @@ static INetURLObject::SchemeInfo const aSchemeInfoMap[INET_PROT_END] { "hid", "hid:", 0, false, false, false, false, false, false, false, true }, { "sftp", "sftp://", 22, true, true, false, true, true, true, true, - true } }; + true }, + { "cmis+atom", "cmis+atom://", 0, true, true, false, + true, true, true, true, true } }; // static @@ -2134,6 +2136,7 @@ INetURLObject::getPrefix(sal_Unicode const *& rBegin, { ".uno:", "staroffice.uno:", INET_PROT_UNO, PrefixInfo::INTERNAL }, { "cid:", 0, INET_PROT_CID, PrefixInfo::OFFICIAL }, + { "cmis+atom:", 0, INET_PROT_CMIS_ATOM, PrefixInfo::EXTERNAL }, { "data:", 0, INET_PROT_DATA, PrefixInfo::OFFICIAL }, { "db:", "staroffice.db:", INET_PROT_DB, PrefixInfo::INTERNAL }, { "file:", 0, INET_PROT_FILE, PrefixInfo::OFFICIAL }, @@ -2998,6 +3001,7 @@ bool INetURLObject::parsePath(INetProtocol eScheme, case INET_PROT_VND_SUN_STAR_WEBDAV: case INET_PROT_HTTPS: case INET_PROT_SMB: + case INET_PROT_CMIS_ATOM: if (pPos < pEnd && *pPos != '/') return false; while (pPos < pEnd && *pPos != nQueryDelimiter |