diff options
author | Michael Meeks <michael.meeks@suse.com> | 2012-10-04 17:17:53 +0100 |
---|---|---|
committer | Michael Meeks <michael.meeks@suse.com> | 2012-10-04 20:16:37 +0100 |
commit | 03ded70913f957460f90608465e4d0a182879074 (patch) | |
tree | 75e35619a3949e3442f160b9e144ea69a478d100 /ucb/source/ucp/webdav/webdavprovider.cxx | |
parent | 5d0c1f0ac8875292c49989e4f77fafc52a7e84a6 (diff) |
rename ucb/source/ucp/webdav to webdav-neon
Diffstat (limited to 'ucb/source/ucp/webdav/webdavprovider.cxx')
-rw-r--r-- | ucb/source/ucp/webdav/webdavprovider.cxx | 214 |
1 files changed, 0 insertions, 214 deletions
diff --git a/ucb/source/ucp/webdav/webdavprovider.cxx b/ucb/source/ucp/webdav/webdavprovider.cxx deleted file mode 100644 index fd7371d7428d..000000000000 --- a/ucb/source/ucp/webdav/webdavprovider.cxx +++ /dev/null @@ -1,214 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -/************************************************************************** - TODO - ************************************************************************** - - *************************************************************************/ -#include <ucbhelper/contentidentifier.hxx> -#include "webdavprovider.hxx" -#include "webdavcontent.hxx" - -#include "osl/mutex.hxx" - -using namespace com::sun::star; -using namespace webdav_ucp; - -//========================================================================= -//========================================================================= -// -// ContentProvider Implementation. -// -//========================================================================= -//========================================================================= - -ContentProvider::ContentProvider( - const uno::Reference< lang::XMultiServiceFactory >& rSMgr ) -: ::ucbhelper::ContentProviderImplHelper( rSMgr ), - m_xDAVSessionFactory( new DAVSessionFactory() ), - m_pProps( 0 ) -{ -} - -//========================================================================= -// virtual -ContentProvider::~ContentProvider() -{ - delete m_pProps; -} - -//========================================================================= -// -// XInterface methods. -// -//========================================================================= - -XINTERFACE_IMPL_3( ContentProvider, - lang::XTypeProvider, - lang::XServiceInfo, - ucb::XContentProvider ); - -//========================================================================= -// -// XTypeProvider methods. -// -//========================================================================= - -XTYPEPROVIDER_IMPL_3( ContentProvider, - lang::XTypeProvider, - lang::XServiceInfo, - ucb::XContentProvider ); - -//========================================================================= -// -// XServiceInfo methods. -// -//========================================================================= - -XSERVICEINFO_IMPL_1( ContentProvider, - rtl::OUString( "com.sun.star.comp.WebDAVContentProvider" ), - rtl::OUString( WEBDAV_CONTENT_PROVIDER_SERVICE_NAME ) ); - -//========================================================================= -// -// Service factory implementation. -// -//========================================================================= - -ONE_INSTANCE_SERVICE_FACTORY_IMPL( ContentProvider ); - -//========================================================================= -// -// XContentProvider methods. -// -//========================================================================= - -// virtual -uno::Reference< ucb::XContent > SAL_CALL -ContentProvider::queryContent( - const uno::Reference< - ucb::XContentIdentifier >& Identifier ) - throw( ucb::IllegalIdentifierException, - uno::RuntimeException ) -{ - // Check URL scheme... - - const rtl::OUString aScheme - = Identifier->getContentProviderScheme().toAsciiLowerCase(); - if ( aScheme != HTTP_URL_SCHEME && aScheme != HTTPS_URL_SCHEME && aScheme != WEBDAV_URL_SCHEME - && aScheme != DAV_URL_SCHEME && aScheme != DAVS_URL_SCHEME && aScheme != FTP_URL_SCHEME ) - throw ucb::IllegalIdentifierException(); - - // Normalize URL and create new Id, if nessacary. - rtl::OUString aURL = Identifier->getContentIdentifier(); - - // At least: <scheme> + "://" - if ( aURL.getLength() < ( aScheme.getLength() + 3 ) ) - throw ucb::IllegalIdentifierException(); - - if ( ( aURL.getStr()[ aScheme.getLength() ] != sal_Unicode( ':' ) ) || - ( aURL.getStr()[ aScheme.getLength() + 1 ] != sal_Unicode( '/' ) ) || - ( aURL.getStr()[ aScheme.getLength() + 2 ] != sal_Unicode( '/' ) ) ) - throw ucb::IllegalIdentifierException(); - - uno::Reference< ucb::XContentIdentifier > xCanonicId; - - bool bNewId = false; - if ( aScheme == WEBDAV_URL_SCHEME ) - { - aURL = aURL.replaceAt( 0, - WEBDAV_URL_SCHEME_LENGTH, - rtl::OUString( HTTP_URL_SCHEME ) ); - bNewId = true; - } - else if ( aScheme == DAV_URL_SCHEME ) - { - aURL = aURL.replaceAt( 0, - DAV_URL_SCHEME_LENGTH, - rtl::OUString( HTTP_URL_SCHEME ) ); - bNewId = true; - } - else if ( aScheme == DAVS_URL_SCHEME ) - { - aURL = aURL.replaceAt( 0, - DAVS_URL_SCHEME_LENGTH, - rtl::OUString( HTTPS_URL_SCHEME ) ); - bNewId = true; - } - - sal_Int32 nPos = aURL.lastIndexOf( '/' ); - if ( nPos != aURL.getLength() - 1 ) - { - // Find second slash in URL. - nPos = aURL.indexOf( '/', aURL.indexOf( '/' ) + 1 ); - if ( nPos == -1 ) - throw ucb::IllegalIdentifierException(); - - nPos = aURL.indexOf( '/', nPos + 1 ); - if ( nPos == -1 ) - { - aURL += rtl::OUString("/"); - bNewId = true; - } - } - - if ( bNewId ) - xCanonicId = new ::ucbhelper::ContentIdentifier( m_xSMgr, aURL ); - else - xCanonicId = Identifier; - - osl::MutexGuard aGuard( m_aMutex ); - - // Check, if a content with given id already exists... - uno::Reference< ucb::XContent > xContent - = queryExistingContent( xCanonicId ).get(); - if ( xContent.is() ) - return xContent; - - // Create a new content. - - try - { - xContent = new ::webdav_ucp::Content( - m_xSMgr, this, xCanonicId, m_xDAVSessionFactory ); - registerNewContent( xContent ); - } - catch ( ucb::ContentCreationException const & ) - { - throw ucb::IllegalIdentifierException(); - } - - if ( !xContent->getIdentifier().is() ) - throw ucb::IllegalIdentifierException(); - - return xContent; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |