summaryrefslogtreecommitdiff
path: root/ucb/source/ucp/webdav/webdavprovider.cxx
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@suse.com>2012-10-04 17:17:53 +0100
committerMichael Meeks <michael.meeks@suse.com>2012-10-04 20:16:37 +0100
commit03ded70913f957460f90608465e4d0a182879074 (patch)
tree75e35619a3949e3442f160b9e144ea69a478d100 /ucb/source/ucp/webdav/webdavprovider.cxx
parent5d0c1f0ac8875292c49989e4f77fafc52a7e84a6 (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.cxx214
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: */