/************************************************************** * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * *************************************************************/ #ifndef _DESKTOP_BASICMIGRATION_HXX_ #define _DESKTOP_BASICMIGRATION_HXX_ #include "misc.hxx" #include #include #include #include #include #include #include class INetURLObject; //......................................................................... namespace migration { //......................................................................... ::rtl::OUString SAL_CALL BasicMigration_getImplementationName(); ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL BasicMigration_getSupportedServiceNames(); ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL BasicMigration_create( ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > const & xContext ) SAL_THROW( (::com::sun::star::uno::Exception) ); // ============================================================================= // class BasicMigration // ============================================================================= typedef ::cppu::WeakImplHelper3< ::com::sun::star::lang::XServiceInfo, ::com::sun::star::lang::XInitialization, ::com::sun::star::task::XJob > BasicMigration_BASE; class BasicMigration : public BasicMigration_BASE { private: ::osl::Mutex m_aMutex; ::rtl::OUString m_sSourceDir; TStringVectorPtr getFiles( const ::rtl::OUString& rBaseURL ) const; ::osl::FileBase::RC checkAndCreateDirectory( INetURLObject& rDirURL ); void copyFiles(); public: BasicMigration(); virtual ~BasicMigration(); // XServiceInfo virtual ::rtl::OUString SAL_CALL getImplementationName() throw (::com::sun::star::uno::RuntimeException); virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& rServiceName ) throw (::com::sun::star::uno::RuntimeException); virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw (::com::sun::star::uno::RuntimeException); // XInitialization virtual void SAL_CALL initialize( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aArguments ) throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); // XJob virtual ::com::sun::star::uno::Any SAL_CALL execute( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& Arguments ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); }; //......................................................................... } // namespace migration //......................................................................... #endif // _DESKTOP_BASICMIGRATION_HXX_