diff options
author | Michael Stahl <mstahl@redhat.com> | 2012-01-28 20:55:39 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2012-01-28 20:55:39 +0100 |
commit | 371976860088a3c5c3df9840dcdfd632d9d6f1f5 (patch) | |
tree | 9e9f67205cd5b72f1031721273e1534a3a1e5b0f /desktop/source/migration/services/basicmigration.cxx | |
parent | 651568afad1a585c485384ab6d7b65780fb02256 (diff) |
replace obsolete "master" branch with README that points at new repoHEADmaster-deletedmaster
Diffstat (limited to 'desktop/source/migration/services/basicmigration.cxx')
-rw-r--r-- | desktop/source/migration/services/basicmigration.cxx | 257 |
1 files changed, 0 insertions, 257 deletions
diff --git a/desktop/source/migration/services/basicmigration.cxx b/desktop/source/migration/services/basicmigration.cxx deleted file mode 100644 index dfadba451d..0000000000 --- a/desktop/source/migration/services/basicmigration.cxx +++ /dev/null @@ -1,257 +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. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_desktop.hxx" -#include "basicmigration.hxx" -#include <tools/urlobj.hxx> -#include <unotools/bootstrap.hxx> - - -using namespace ::com::sun::star; -using namespace ::com::sun::star::uno; - - -//......................................................................... -namespace migration -{ -//......................................................................... - - - #define sSourceUserBasic ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("/user/basic")) - #define sTargetUserBasic ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("/user/__basic_80")) - - // ============================================================================= - // component operations - // ============================================================================= - - ::rtl::OUString BasicMigration_getImplementationName() - { - return ::rtl::OUString (RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.desktop.migration.Basic")); - } - - // ----------------------------------------------------------------------------- - - Sequence< ::rtl::OUString > BasicMigration_getSupportedServiceNames() - { - Sequence< ::rtl::OUString > aNames(1); - aNames.getArray()[0] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.migration.Basic" ) ); - return aNames; - } - - // ============================================================================= - // BasicMigration - // ============================================================================= - - BasicMigration::BasicMigration() - { - } - - // ----------------------------------------------------------------------------- - - BasicMigration::~BasicMigration() - { - } - - // ----------------------------------------------------------------------------- - - TStringVectorPtr BasicMigration::getFiles( const ::rtl::OUString& rBaseURL ) const - { - TStringVectorPtr aResult( new TStringVector ); - ::osl::Directory aDir( rBaseURL); - - if ( aDir.open() == ::osl::FileBase::E_None ) - { - // iterate over directory content - TStringVector aSubDirs; - ::osl::DirectoryItem aItem; - while ( aDir.getNextItem( aItem ) == ::osl::FileBase::E_None ) - { - ::osl::FileStatus aFileStatus( osl_FileStatus_Mask_Type | osl_FileStatus_Mask_FileURL ); - if ( aItem.getFileStatus( aFileStatus ) == ::osl::FileBase::E_None ) - { - if ( aFileStatus.getFileType() == ::osl::FileStatus::Directory ) - aSubDirs.push_back( aFileStatus.getFileURL() ); - else - aResult->push_back( aFileStatus.getFileURL() ); - } - } - - // iterate recursive over subfolders - TStringVector::const_iterator aI = aSubDirs.begin(); - while ( aI != aSubDirs.end() ) - { - TStringVectorPtr aSubResult = getFiles( *aI ); - aResult->insert( aResult->end(), aSubResult->begin(), aSubResult->end() ); - ++aI; - } - } - - return aResult; - } - - // ----------------------------------------------------------------------------- - - ::osl::FileBase::RC BasicMigration::checkAndCreateDirectory( INetURLObject& rDirURL ) - { - ::osl::FileBase::RC aResult = ::osl::Directory::create( rDirURL.GetMainURL( INetURLObject::DECODE_TO_IURI ) ); - if ( aResult == ::osl::FileBase::E_NOENT ) - { - INetURLObject aBaseURL( rDirURL ); - aBaseURL.removeSegment(); - checkAndCreateDirectory( aBaseURL ); - return ::osl::Directory::create( rDirURL.GetMainURL( INetURLObject::DECODE_TO_IURI ) ); - } - else - { - return aResult; - } - } - - // ----------------------------------------------------------------------------- - - void BasicMigration::copyFiles() - { - ::rtl::OUString sTargetDir; - ::utl::Bootstrap::PathStatus aStatus = ::utl::Bootstrap::locateUserInstallation( sTargetDir ); - if ( aStatus == ::utl::Bootstrap::PATH_EXISTS ) - { - sTargetDir += sTargetUserBasic; - TStringVectorPtr aFileList = getFiles( m_sSourceDir ); - TStringVector::const_iterator aI = aFileList->begin(); - while ( aI != aFileList->end() ) - { - ::rtl::OUString sLocalName = aI->copy( m_sSourceDir.getLength() ); - ::rtl::OUString sTargetName = sTargetDir + sLocalName; - INetURLObject aURL( sTargetName ); - aURL.removeSegment(); - checkAndCreateDirectory( aURL ); - ::osl::FileBase::RC aResult = ::osl::File::copy( *aI, sTargetName ); - if ( aResult != ::osl::FileBase::E_None ) - { - ::rtl::OString aMsg( "BasicMigration::copyFiles: cannot copy " ); - aMsg += ::rtl::OUStringToOString( *aI, RTL_TEXTENCODING_UTF8 ) + " to " - + ::rtl::OUStringToOString( sTargetName, RTL_TEXTENCODING_UTF8 ); - OSL_FAIL( aMsg.getStr() ); - } - ++aI; - } - } - else - { - OSL_FAIL( "BasicMigration::copyFiles: no user installation!" ); - } - } - - // ----------------------------------------------------------------------------- - // XServiceInfo - // ----------------------------------------------------------------------------- - - ::rtl::OUString BasicMigration::getImplementationName() throw (RuntimeException) - { - return BasicMigration_getImplementationName(); - } - - // ----------------------------------------------------------------------------- - - sal_Bool BasicMigration::supportsService( const ::rtl::OUString& rServiceName ) throw (RuntimeException) - { - Sequence< ::rtl::OUString > aNames( getSupportedServiceNames() ); - const ::rtl::OUString* pNames = aNames.getConstArray(); - const ::rtl::OUString* pEnd = pNames + aNames.getLength(); - for ( ; pNames != pEnd && !pNames->equals( rServiceName ); ++pNames ) - ; - - return pNames != pEnd; - } - - // ----------------------------------------------------------------------------- - - Sequence< ::rtl::OUString > BasicMigration::getSupportedServiceNames() throw (RuntimeException) - { - return BasicMigration_getSupportedServiceNames(); - } - - // ----------------------------------------------------------------------------- - // XInitialization - // ----------------------------------------------------------------------------- - - void BasicMigration::initialize( const Sequence< Any >& aArguments ) throw (Exception, RuntimeException) - { - ::osl::MutexGuard aGuard( m_aMutex ); - - const Any* pIter = aArguments.getConstArray(); - const Any* pEnd = pIter + aArguments.getLength(); - for ( ; pIter != pEnd ; ++pIter ) - { - beans::NamedValue aValue; - *pIter >>= aValue; - if ( aValue.Name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "UserData" ) ) ) - { - if ( !(aValue.Value >>= m_sSourceDir) ) - { - OSL_FAIL( "BasicMigration::initialize: argument UserData has wrong type!" ); - } - m_sSourceDir += sSourceUserBasic; - break; - } - } - } - - // ----------------------------------------------------------------------------- - // XJob - // ----------------------------------------------------------------------------- - - Any BasicMigration::execute( const Sequence< beans::NamedValue >& ) - throw (lang::IllegalArgumentException, Exception, RuntimeException) - { - ::osl::MutexGuard aGuard( m_aMutex ); - - copyFiles(); - - return Any(); - } - - // ============================================================================= - // component operations - // ============================================================================= - - Reference< XInterface > SAL_CALL BasicMigration_create( - Reference< XComponentContext > const & ) - SAL_THROW( () ) - { - return static_cast< lang::XTypeProvider * >( new BasicMigration() ); - } - - // ----------------------------------------------------------------------------- - -//......................................................................... -} // namespace migration -//......................................................................... - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |