summaryrefslogtreecommitdiff
path: root/desktop/source/migration/services/basicmigration.cxx
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2012-01-28 20:55:39 +0100
committerMichael Stahl <mstahl@redhat.com>2012-01-28 20:55:39 +0100
commit371976860088a3c5c3df9840dcdfd632d9d6f1f5 (patch)
tree9e9f67205cd5b72f1031721273e1534a3a1e5b0f /desktop/source/migration/services/basicmigration.cxx
parent651568afad1a585c485384ab6d7b65780fb02256 (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.cxx257
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: */