basctl/source/basicide/basdoc.cxx | 1 chart2/source/controller/drawinglayer/DrawViewWrapper.cxx | 1 cui/source/dialogs/pastedlg.cxx | 2 include/sot/factory.hxx | 64 --- include/sot/object.hxx | 15 include/sot/sotdata.hxx | 52 -- include/sot/storage.hxx | 27 - sc/source/ui/unoobj/chartuno.cxx | 1 sd/source/ui/func/fudraw.cxx | 5 sfx2/source/appl/imagemgr.cxx | 1 sfx2/source/doc/docfac.cxx | 1 sfx2/source/doc/frmdescr.cxx | 2 sfx2/source/doc/objitem.cxx | 2 sfx2/source/doc/objxtor.cxx | 1 sfx2/source/doc/ownsubfilterservice.cxx | 1 sfx2/source/doc/printhelper.cxx | 1 sfx2/source/menu/virtmenu.cxx | 2 sfx2/source/statbar/stbitem.cxx | 1 sfx2/source/toolbox/tbxitem.cxx | 1 sfx2/source/view/frame.cxx | 1 sot/Library_sot.mk | 2 sot/source/base/exchange.cxx | 34 + sot/source/base/factory.cxx | 202 ----------- sot/source/base/object.cxx | 43 -- sot/source/sdstor/storage.cxx | 72 --- sot/source/unoolestorage/register.cxx | 59 --- sot/source/unoolestorage/xolesimplestorage.cxx | 253 +++++--------- sot/source/unoolestorage/xolesimplestorage.hxx | 45 -- sot/util/sot.component | 5 starmath/source/smdll.cxx | 3 svx/source/dialog/_contdlg.cxx | 3 svx/source/unodraw/unopage.cxx | 1 svx/source/xoutdev/_xoutbmp.cxx | 3 sw/inc/pch/precompiled_msword.hxx | 1 sw/source/core/doc/DocumentContentOperationsManager.cxx | 1 sw/source/core/doc/docdesc.cxx | 1 sw/source/core/doc/doctxm.cxx | 1 sw/source/core/draw/dview.cxx | 1 sw/source/core/frmedt/fefly1.cxx | 1 sw/source/core/frmedt/feshview.cxx | 1 sw/source/core/ole/ndole.cxx | 1 sw/source/core/txtnode/thints.cxx | 3 sw/source/core/unocore/unoframe.cxx | 1 sw/source/ui/frmdlg/frmpage.cxx | 2 sw/source/uibase/shells/basesh.cxx | 3 sw/source/uibase/wrtsh/wrtsh1.cxx | 3 vbahelper/inc/pch/precompiled_msforms.hxx | 1 vcl/source/control/longcurr.cxx | 2 vcl/source/filter/wmf/winmtf.hxx | 3 49 files changed, 190 insertions(+), 743 deletions(-)
New commits: commit 7f36d2e25572978ee6ee79a4089db81c191df260 Author: Matúš Kukan <matus.ku...@gmail.com> Date: Tue Jan 5 18:04:14 2016 +0100 tdf#74608: Ctor function for css.embed.OLESimpleStorage Change-Id: I20b91ad65514e27094ff702d1d94a48ef9a82fe6 diff --git a/sot/Library_sot.mk b/sot/Library_sot.mk index 3c443e5..6c76555 100644 --- a/sot/Library_sot.mk +++ b/sot/Library_sot.mk @@ -51,7 +51,6 @@ $(eval $(call gb_Library_use_libraries,sot,\ $(eval $(call gb_Library_add_exception_objects,sot,\ sot/source/unoolestorage/xolesimplestorage \ - sot/source/unoolestorage/register \ sot/source/base/formats \ sot/source/base/object \ sot/source/base/exchange \ diff --git a/sot/source/unoolestorage/register.cxx b/sot/source/unoolestorage/register.cxx deleted file mode 100644 index 1c65311..0000000 --- a/sot/source/unoolestorage/register.cxx +++ /dev/null @@ -1,59 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * 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 . - */ - -#include <com/sun/star/registry/XRegistryKey.hpp> -#include <com/sun/star/registry/InvalidRegistryException.hpp> -#include <cppuhelper/factory.hxx> - -#include "xolesimplestorage.hxx" - -using namespace ::com::sun::star; - - -extern "C" { - -SAL_DLLPUBLIC_EXPORT void * SAL_CALL sot_component_getFactory( - const sal_Char * pImplName, void * pServiceManager, - SAL_UNUSED_PARAMETER void * /*pRegistryKey*/ ) -{ - void * pRet = nullptr; - - OUString aImplName( OUString::createFromAscii( pImplName ) ); - uno::Reference< lang::XSingleServiceFactory > xFactory; - - if ( pServiceManager && aImplName.equals( OLESimpleStorage::impl_staticGetImplementationName() ) ) - { - xFactory= ::cppu::createSingleFactory( static_cast< lang::XMultiServiceFactory*>( pServiceManager ), - OLESimpleStorage::impl_staticGetImplementationName(), - OLESimpleStorage::impl_staticCreateSelfInstance, - OLESimpleStorage::impl_staticGetSupportedServiceNames() ); - } - - if ( xFactory.is() ) - { - xFactory->acquire(); - pRet = xFactory.get(); - } - - return pRet; -} - -} // extern "C" - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sot/source/unoolestorage/xolesimplestorage.cxx b/sot/source/unoolestorage/xolesimplestorage.cxx index 9bd8411..599e0f9 100644 --- a/sot/source/unoolestorage/xolesimplestorage.cxx +++ b/sot/source/unoolestorage/xolesimplestorage.cxx @@ -17,8 +17,10 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ +#include "xolesimplestorage.hxx" + +#include <com/sun/star/embed/OLESimpleStorage.hpp> #include <com/sun/star/lang/DisposedException.hpp> -#include <com/sun/star/lang/XMultiServiceFactory.hpp> #include <com/sun/star/io/XStream.hpp> #include <com/sun/star/io/XInputStream.hpp> #include <com/sun/star/io/XSeekable.hpp> @@ -27,36 +29,113 @@ #include <comphelper/processfactory.hxx> #include <comphelper/storagehelper.hxx> - #include <unotools/ucbstreamhelper.hxx> - #include <cppuhelper/exc_hlp.hxx> #include <cppuhelper/supportsservice.hxx> - #include <sot/storinfo.hxx> -#include "xolesimplestorage.hxx" - - using namespace ::com::sun::star; const sal_Int32 nBytesCount = 32000; - -OLESimpleStorage::OLESimpleStorage( uno::Reference< lang::XMultiServiceFactory > xFactory ) +OLESimpleStorage::OLESimpleStorage( + css::uno::Reference<css::uno::XComponentContext> xContext, + css::uno::Sequence<css::uno::Any> const &aArguments) : m_bDisposed( false ) , m_pStream( nullptr ) , m_pStorage( nullptr ) , m_pListenersContainer( nullptr ) -, m_xFactory( xFactory ) +, m_xContext( xContext ) , m_bNoTemporaryCopy( false ) { - OSL_ENSURE( m_xFactory.is(), "No factory is provided on creation!\n" ); - if ( !m_xFactory.is() ) - throw uno::RuntimeException(); -} + sal_Int32 nArgNum = aArguments.getLength(); + if ( nArgNum < 1 || nArgNum > 2 ) + throw lang::IllegalArgumentException(); // TODO: + uno::Reference< io::XStream > xStream; + uno::Reference< io::XInputStream > xInputStream; + if ( !( aArguments[0] >>= xStream ) && !( aArguments[0] >>= xInputStream ) ) + throw lang::IllegalArgumentException(); // TODO: + + if ( nArgNum == 2 ) + { + if ( !( aArguments[1] >>= m_bNoTemporaryCopy ) ) + throw lang::IllegalArgumentException(); // TODO: + } + + if ( m_bNoTemporaryCopy ) + { + // TODO: ??? + // If the temporary stream is not created, the original stream must be wrapped + // since SvStream wrapper closes the stream is owns + if ( xInputStream.is() ) + { + // the stream must be seekable for direct access + uno::Reference< io::XSeekable > xSeek( xInputStream, uno::UNO_QUERY_THROW ); + m_pStream = ::utl::UcbStreamHelper::CreateStream( xInputStream, false ); + } + else if ( xStream.is() ) + { + // the stream must be seekable for direct access + uno::Reference< io::XSeekable > xSeek( xStream, uno::UNO_QUERY_THROW ); + m_pStream = ::utl::UcbStreamHelper::CreateStream( xStream, false ); + } + else + throw lang::IllegalArgumentException(); // TODO: + } + else + { + uno::Reference < io::XStream > xTempFile( io::TempFile::create(m_xContext), + uno::UNO_QUERY_THROW ); + uno::Reference < io::XSeekable > xTempSeek( xTempFile, uno::UNO_QUERY_THROW ); + uno::Reference< io::XOutputStream > xTempOut = xTempFile->getOutputStream(); + if ( !xTempOut.is() ) + throw uno::RuntimeException(); + + if ( xInputStream.is() ) + { + try + { + uno::Reference< io::XSeekable > xSeek( xInputStream, uno::UNO_QUERY_THROW ); + xSeek->seek( 0 ); + } + catch( uno::Exception& ) + {} + + ::comphelper::OStorageHelper::CopyInputToOutput( xInputStream, xTempOut ); + xTempOut->closeOutput(); + xTempSeek->seek( 0 ); + uno::Reference< io::XInputStream > xTempInput = xTempFile->getInputStream(); + m_pStream = ::utl::UcbStreamHelper::CreateStream( xTempInput, false ); + } + else if ( xStream.is() ) + { + // not sure that the storage flashes the stream on commit + m_xStream = xStream; + m_xTempStream = xTempFile; + + uno::Reference< io::XSeekable > xSeek( xStream, uno::UNO_QUERY_THROW ); + xSeek->seek( 0 ); + uno::Reference< io::XInputStream > xInpStream = xStream->getInputStream(); + if ( !xInpStream.is() || !xStream->getOutputStream().is() ) + throw uno::RuntimeException(); + + ::comphelper::OStorageHelper::CopyInputToOutput( xInpStream, xTempOut ); + xTempOut->flush(); + xTempSeek->seek( 0 ); + + m_pStream = ::utl::UcbStreamHelper::CreateStream( xTempFile, false ); + } + else + throw lang::IllegalArgumentException(); // TODO: + } + + if ( !m_pStream || m_pStream->GetError() ) + throw io::IOException(); // TODO + + m_pStorage = new Storage( *m_pStream, false ); +} OLESimpleStorage::~OLESimpleStorage() { @@ -73,27 +152,6 @@ OLESimpleStorage::~OLESimpleStorage() } } - -uno::Sequence< OUString > SAL_CALL OLESimpleStorage::impl_staticGetSupportedServiceNames() -{ - uno::Sequence< OUString > aRet { "com.sun.star.embed.OLESimpleStorage" }; - return aRet; -} - - -OUString SAL_CALL OLESimpleStorage::impl_staticGetImplementationName() -{ - return OUString("com.sun.star.comp.embed.OLESimpleStorage"); -} - - -uno::Reference< uno::XInterface > SAL_CALL OLESimpleStorage::impl_staticCreateSelfInstance( - const uno::Reference< lang::XMultiServiceFactory >& xServiceManager ) -{ - return uno::Reference< uno::XInterface >( *new OLESimpleStorage( xServiceManager ) ); -} - - void OLESimpleStorage::UpdateOriginal_Impl() { if ( !m_bNoTemporaryCopy ) @@ -209,109 +267,6 @@ void OLESimpleStorage::InsertNameAccessToStorage_Impl( BaseStorage* pStorage, co } -// XInitialization - - -void SAL_CALL OLESimpleStorage::initialize( const uno::Sequence< uno::Any >& aArguments ) - throw ( uno::Exception, - uno::RuntimeException, std::exception) -{ - if ( m_pStream || m_pStorage ) - throw io::IOException(); // TODO: already initilized - - sal_Int32 nArgNum = aArguments.getLength(); - OSL_ENSURE( nArgNum >= 1 && nArgNum <= 2, "Wrong parameter number" ); - - if ( nArgNum < 1 || nArgNum > 2 ) - throw lang::IllegalArgumentException(); // TODO: - - uno::Reference< io::XStream > xStream; - uno::Reference< io::XInputStream > xInputStream; - if ( !( aArguments[0] >>= xStream ) && !( aArguments[0] >>= xInputStream ) ) - throw lang::IllegalArgumentException(); // TODO: - - if ( nArgNum == 2 ) - { - if ( !( aArguments[1] >>= m_bNoTemporaryCopy ) ) - throw lang::IllegalArgumentException(); // TODO: - } - - if ( m_bNoTemporaryCopy ) - { - // TODO: ??? - // If the temporary stream is not created, the original stream must be wrapped - // since SvStream wrapper closes the stream is owns - if ( xInputStream.is() ) - { - // the stream must be seekable for direct access - uno::Reference< io::XSeekable > xSeek( xInputStream, uno::UNO_QUERY_THROW ); - m_pStream = ::utl::UcbStreamHelper::CreateStream( xInputStream, false ); - } - else if ( xStream.is() ) - { - // the stream must be seekable for direct access - uno::Reference< io::XSeekable > xSeek( xStream, uno::UNO_QUERY_THROW ); - m_pStream = ::utl::UcbStreamHelper::CreateStream( xStream, false ); - } - else - throw lang::IllegalArgumentException(); // TODO: - } - else - { - uno::Reference < io::XStream > xTempFile( - io::TempFile::create(comphelper::getComponentContext(m_xFactory)), - uno::UNO_QUERY_THROW ); - uno::Reference < io::XSeekable > xTempSeek( xTempFile, uno::UNO_QUERY_THROW ); - uno::Reference< io::XOutputStream > xTempOut = xTempFile->getOutputStream(); - if ( !xTempOut.is() ) - throw uno::RuntimeException(); - - if ( xInputStream.is() ) - { - try - { - uno::Reference< io::XSeekable > xSeek( xInputStream, uno::UNO_QUERY_THROW ); - xSeek->seek( 0 ); - } - catch( uno::Exception& ) - {} - - ::comphelper::OStorageHelper::CopyInputToOutput( xInputStream, xTempOut ); - xTempOut->closeOutput(); - xTempSeek->seek( 0 ); - uno::Reference< io::XInputStream > xTempInput = xTempFile->getInputStream(); - m_pStream = ::utl::UcbStreamHelper::CreateStream( xTempInput, false ); - } - else if ( xStream.is() ) - { - // not sure that the storage flashes the stream on commit - m_xStream = xStream; - m_xTempStream = xTempFile; - - uno::Reference< io::XSeekable > xSeek( xStream, uno::UNO_QUERY_THROW ); - xSeek->seek( 0 ); - uno::Reference< io::XInputStream > xInpStream = xStream->getInputStream(); - if ( !xInpStream.is() || !xStream->getOutputStream().is() ) - throw uno::RuntimeException(); - - ::comphelper::OStorageHelper::CopyInputToOutput( xInpStream, xTempOut ); - xTempOut->flush(); - xTempSeek->seek( 0 ); - - m_pStream = ::utl::UcbStreamHelper::CreateStream( xTempFile, false ); - } - else - throw lang::IllegalArgumentException(); // TODO: - } - - if ( !m_pStream || m_pStream->GetError() ) - throw io::IOException(); // TODO - - m_pStorage = new Storage( *m_pStream, false ); -} - - - // XNameContainer @@ -444,8 +399,7 @@ uno::Any SAL_CALL OLESimpleStorage::getByName( const OUString& aName ) uno::Any aResult; uno::Reference< io::XStream > xTempFile( - io::TempFile::create(comphelper::getComponentContext(m_xFactory)), - uno::UNO_QUERY ); + io::TempFile::create(m_xContext), uno::UNO_QUERY ); uno::Reference< io::XSeekable > xSeekable( xTempFile, uno::UNO_QUERY_THROW ); uno::Reference< io::XOutputStream > xOutputStream = xTempFile->getOutputStream(); uno::Reference< io::XInputStream > xInputStream = xTempFile->getInputStream(); @@ -474,14 +428,8 @@ uno::Any SAL_CALL OLESimpleStorage::getByName( const OUString& aName ) if ( !bSuccess ) throw uno::RuntimeException(); - uno::Sequence< uno::Any > aArgs( 2 ); - aArgs[0] <<= xInputStream; // allow readonly access only - aArgs[1] <<= true; // do not create copy - uno::Reference< container::XNameContainer > xResultNameContainer( - m_xFactory->createInstanceWithArguments( - "com.sun.star.embed.OLESimpleStorage", - aArgs ), + css::embed::OLESimpleStorage::createFromInputStream(m_xContext, xInputStream, true), uno::UNO_QUERY_THROW ); aResult <<= xResultNameContainer; @@ -774,7 +722,7 @@ void SAL_CALL OLESimpleStorage::setClassInfo( const uno::Sequence< sal_Int8 >& / OUString SAL_CALL OLESimpleStorage::getImplementationName() throw ( uno::RuntimeException, std::exception ) { - return impl_staticGetImplementationName(); + return OUString("com.sun.star.comp.embed.OLESimpleStorage"); } sal_Bool SAL_CALL OLESimpleStorage::supportsService( const OUString& ServiceName ) @@ -786,8 +734,15 @@ sal_Bool SAL_CALL OLESimpleStorage::supportsService( const OUString& ServiceName uno::Sequence< OUString > SAL_CALL OLESimpleStorage::getSupportedServiceNames() throw ( uno::RuntimeException, std::exception ) { - return impl_staticGetSupportedServiceNames(); + return { "com.sun.star.embed.OLESimpleStorage" }; } +extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface * SAL_CALL +com_sun_star_comp_embed_OLESimpleStorage( + css::uno::XComponentContext *context, + css::uno::Sequence<css::uno::Any> const &arguments) +{ + return cppu::acquire(new OLESimpleStorage(context, arguments)); +} /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sot/source/unoolestorage/xolesimplestorage.hxx b/sot/source/unoolestorage/xolesimplestorage.hxx index 7c58c19..bac3a4b 100644 --- a/sot/source/unoolestorage/xolesimplestorage.hxx +++ b/sot/source/unoolestorage/xolesimplestorage.hxx @@ -20,6 +20,8 @@ #ifndef INCLUDED_SOT_SOURCE_UNOOLESTORAGE_XOLESIMPLESTORAGE_HXX #define INCLUDED_SOT_SOURCE_UNOOLESTORAGE_XOLESIMPLESTORAGE_HXX +#include <sal/config.h> + #include <com/sun/star/embed/XOLESimpleStorage.hpp> #include <com/sun/star/container/XNameContainer.hpp> #include <com/sun/star/lang/XComponent.hpp> @@ -27,21 +29,13 @@ #include <com/sun/star/lang/XServiceInfo.hpp> #include <com/sun/star/embed/XTransactedObject.hpp> #include <com/sun/star/embed/XClassifiedObject.hpp> - - -#include <com/sun/star/io/XOutputStream.hpp> +#include <com/sun/star/uno/XComponentContext.hpp> #include <cppuhelper/implbase.hxx> #include <cppuhelper/interfacecontainer.h> - #include <osl/mutex.hxx> - #include <sot/stg.hxx> - -class OLESimpleStorage : public ::cppu::WeakImplHelper - < css::embed::XOLESimpleStorage - , css::lang::XInitialization - , css::lang::XServiceInfo > +class OLESimpleStorage : public cppu::WeakImplHelper<css::embed::XOLESimpleStorage, css::lang::XServiceInfo> { ::osl::Mutex m_aMutex; @@ -53,7 +47,7 @@ class OLESimpleStorage : public ::cppu::WeakImplHelper BaseStorage* m_pStorage; ::cppu::OInterfaceContainerHelper* m_pListenersContainer; // list of listeners - css::uno::Reference< css::lang::XMultiServiceFactory > m_xFactory; + css::uno::Reference<css::uno::XComponentContext> m_xContext; bool m_bNoTemporaryCopy; @@ -67,29 +61,13 @@ class OLESimpleStorage : public ::cppu::WeakImplHelper public: - explicit OLESimpleStorage( css::uno::Reference< css::lang::XMultiServiceFactory > xFactory ); + OLESimpleStorage(css::uno::Reference<css::uno::XComponentContext> xContext, + css::uno::Sequence<css::uno::Any> const &arguments); virtual ~OLESimpleStorage(); - static css::uno::Sequence< OUString > SAL_CALL impl_staticGetSupportedServiceNames(); - static OUString SAL_CALL impl_staticGetImplementationName(); - static css::uno::Reference< css::uno::XInterface > SAL_CALL - impl_staticCreateSelfInstance( - const css::uno::Reference< css::lang::XMultiServiceFactory >& xServiceManager ); - - - - // XInitialization - - - virtual void SAL_CALL initialize( const css::uno::Sequence< css::uno::Any >& aArguments ) - throw ( css::uno::Exception, - css::uno::RuntimeException, std::exception) override; - - // XNameContainer - virtual void SAL_CALL insertByName( const OUString& aName, const css::uno::Any& aElement ) throw ( css::lang::IllegalArgumentException, css::container::ElementExistException, @@ -124,10 +102,8 @@ public: virtual sal_Bool SAL_CALL hasElements() throw ( css::uno::RuntimeException, std::exception ) override; - // XComponent - virtual void SAL_CALL dispose() throw ( css::uno::RuntimeException, std::exception ) override; @@ -139,10 +115,8 @@ public: const css::uno::Reference< css::lang::XEventListener >& xListener ) throw ( css::uno::RuntimeException, std::exception ) override; - // XTransactedObject - virtual void SAL_CALL commit() throw ( css::io::IOException, css::lang::WrappedTargetException, @@ -153,10 +127,8 @@ public: css::lang::WrappedTargetException, css::uno::RuntimeException, std::exception ) override; - // XClassifiedObject - virtual css::uno::Sequence< ::sal_Int8 > SAL_CALL getClassID() throw ( css::uno::RuntimeException, std::exception ) override; @@ -168,10 +140,8 @@ public: throw ( css::lang::NoSupportException, css::uno::RuntimeException, std::exception ) override; - // XServiceInfo - virtual OUString SAL_CALL getImplementationName() throw ( css::uno::RuntimeException, std::exception ) override; @@ -180,7 +150,6 @@ public: virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() throw ( css::uno::RuntimeException, std::exception ) override; - }; #endif diff --git a/sot/util/sot.component b/sot/util/sot.component index 7fc9cc3..84b9887 100644 --- a/sot/util/sot.component +++ b/sot/util/sot.component @@ -18,8 +18,9 @@ --> <component loader="com.sun.star.loader.SharedLibrary" environment="@CPPU_ENV@" - prefix="sot" xmlns="http://openoffice.org/2010/uno-components"> - <implementation name="com.sun.star.comp.embed.OLESimpleStorage"> + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="com.sun.star.comp.embed.OLESimpleStorage" + constructor="com_sun_star_comp_embed_OLESimpleStorage"> <service name="com.sun.star.embed.OLESimpleStorage"/> </implementation> </component> commit 3b7150c0ab5ca40f88ab8c3b914d601501cbf4e7 Author: Matúš Kukan <matus.ku...@gmail.com> Date: Mon Jan 4 22:27:23 2016 +0100 SotFactory is in fact not used: remove + cleanup Also SotData_Impl is used only in exchange.cxx now. Move there. Change-Id: I548095c2226d92aea4193bb1a3671e2381996435 diff --git a/include/sot/object.hxx b/include/sot/object.hxx index b6328ef..277f715 100644 --- a/include/sot/object.hxx +++ b/include/sot/object.hxx @@ -25,11 +25,8 @@ #include <tools/ref.hxx> #include <sot/sotdllapi.h> -class SotFactory; - class SOT_DLLPUBLIC SotObject : virtual public SvRefBase { -friend class SotFactory; sal_uInt16 nOwnerLockCount; bool bOwner; bool bInClose; // TRUE, in DoClose @@ -41,9 +38,6 @@ protected: public: SotObject(); - static SotFactory * ClassFactory(); - virtual void * Cast( const SotFactory * ); - bool Owner() const { return bOwner; } sal_uInt16 GetOwnerLockCount() const { return nOwnerLockCount; } diff --git a/include/sot/storage.hxx b/include/sot/storage.hxx index de6e0c7..3e431a3 100644 --- a/include/sot/storage.hxx +++ b/include/sot/storage.hxx @@ -22,8 +22,6 @@ #include <com/sun/star/uno/Any.hxx> #include <com/sun/star/uno/Reference.h> - -#include <com/sun/star/io/XInputStream.hpp> #include <com/sun/star/embed/XStorage.hpp> #include <sot/object.hxx> #include <tools/stream.hxx> @@ -31,13 +29,8 @@ #include <sot/storinfo.hxx> #include <sot/sotdllapi.h> -class SotFactory; -class SotStorage; - enum class SotClipboardFormatId : sal_uLong; -/************************************************************************* -*************************************************************************/ class SotStorage; class BaseStorageStream; class SOT_DLLPUBLIC SotStorageStream : virtual public SotObject, public SvStream @@ -56,9 +49,6 @@ public: SotStorageStream( BaseStorageStream *pStm ); SotStorageStream(); - static SotFactory * ClassFactory(); - virtual void * Cast( const SotFactory * ) override; - virtual void ResetError() override; virtual void SetSize( sal_uInt64 nNewSize ) override; @@ -69,13 +59,7 @@ public: virtual sal_uInt64 remainingSize() override; }; -namespace ucbhelper -{ - class Content; -} - class BaseStorage; -class UNOStorageHolder; class SOT_DLLPUBLIC SotStorage : virtual public SotObject { friend class SotStorageStream; @@ -104,9 +88,6 @@ public: SotStorage( SvStream * pStm, bool bDelete ); SotStorage(); - static SotFactory * ClassFactory(); - virtual void * Cast( const SotFactory * ) override; - SvMemoryStream * CreateMemoryStream(); static bool IsStorageFile( const OUString & rFileName ); diff --git a/sot/Library_sot.mk b/sot/Library_sot.mk index a17ce38..3c443e5 100644 --- a/sot/Library_sot.mk +++ b/sot/Library_sot.mk @@ -56,7 +56,6 @@ $(eval $(call gb_Library_add_exception_objects,sot,\ sot/source/base/object \ sot/source/base/exchange \ sot/source/base/filelist \ - sot/source/base/factory \ sot/source/sdstor/stg \ sot/source/sdstor/stgavl \ sot/source/sdstor/stgcache \ diff --git a/sot/inc/factory.hxx b/sot/inc/factory.hxx deleted file mode 100644 index ab22cc0..0000000 --- a/sot/inc/factory.hxx +++ /dev/null @@ -1,57 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * 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 . - */ - -#ifndef INCLUDED_SOT_FACTORY_HXX -#define INCLUDED_SOT_FACTORY_HXX - -#include <sal/config.h> - -#include <tools/globname.hxx> - -class SotObject; - -class SotFactory : public SvGlobalName -{ - sal_uInt16 nSuperCount; // Anzahl der Superklassen - const SotFactory ** pSuperClasses; // Superklassen - -protected: - virtual ~SotFactory(); -public: - static void IncSvObjectCount( SotObject * = nullptr ); - static void DecSvObjectCount( SotObject * = nullptr ); - -#ifdef DBG_UTIL - static const SotFactory * Find( const SvGlobalName & ); -#endif - - SotFactory( const SvGlobalName & ); - - void PutSuperClass( const SotFactory * ); - - bool Is( const SotFactory * pSuperClass ) const; - -private: - SotFactory( const SotFactory & ) = delete; - SotFactory & operator = ( const SotFactory & ) = delete; -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sot/inc/sotdata.hxx b/sot/inc/sotdata.hxx deleted file mode 100644 index f2d3c26..0000000 --- a/sot/inc/sotdata.hxx +++ /dev/null @@ -1,53 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * 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 . - */ - -#ifndef INCLUDED_SOT_SOTDATA_HXX -#define INCLUDED_SOT_SOTDATA_HXX - -#include <sal/config.h> - -#include <com/sun/star/datatransfer/DataFlavor.hpp> -#include <vector> -#include <list> - - -class SotFactory; -class SotObject; - -typedef ::std::vector< SotFactory* > SotFactoryList; -typedef ::std::vector< css::datatransfer::DataFlavor* > tDataFlavorList; - -struct SotData_Impl -{ - sal_uInt32 nSvObjCount; - std::list<SotObject*> aObjectList; - SotFactoryList * pFactoryList; - SotFactory * pSotObjectFactory; - SotFactory * pSotStorageStreamFactory; - SotFactory * pSotStorageFactory; - tDataFlavorList* pDataFlavorList; - SotData_Impl(); - ~SotData_Impl(); -}; - -SotData_Impl* SOTDATA(); - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sot/source/base/exchange.cxx b/sot/source/base/exchange.cxx index c50a6b7..88de2a6 100644 --- a/sot/source/base/exchange.cxx +++ b/sot/source/base/exchange.cxx @@ -22,15 +22,17 @@ #include <tools/debug.hxx> #include <tools/solar.h> #include <tools/globname.hxx> -#include <sotdata.hxx> #include <sot/exchange.hxx> #include <sot/formats.hxx> #include <sysformats.hxx> #include <comphelper/classids.hxx> #include <rtl/instance.hxx> +#include <com/sun/star/datatransfer/DataFlavor.hpp> #include <com/sun/star/uno/Sequence.hxx> #include <comphelper/documentconstants.hxx> +#include <vector> + using namespace::com::sun::star::uno; using namespace::com::sun::star::datatransfer; @@ -208,11 +210,35 @@ namespace struct FormatArray_Impl : public rtl::StaticAggregate< const DataFlavorRepresentation, ImplFormatArray_Impl > {}; + + + typedef std::vector<css::datatransfer::DataFlavor*> tDataFlavorList; + + struct SotData_Impl + { + tDataFlavorList* pDataFlavorList; + + SotData_Impl(): pDataFlavorList(nullptr) {} + ~SotData_Impl() + { + if (pDataFlavorList) + { + for( tDataFlavorList::iterator aI = pDataFlavorList->begin(), + aEnd = pDataFlavorList->end(); aI != aEnd; ++aI) + { + delete *aI; + } + delete pDataFlavorList; + } + } + }; + + struct ImplData : public rtl::Static<SotData_Impl, ImplData> {}; } static tDataFlavorList& InitFormats_Impl() { - SotData_Impl * pSotData = SOTDATA(); + SotData_Impl *pSotData = &ImplData::get(); if( !pSotData->pDataFlavorList ) pSotData->pDataFlavorList = new tDataFlavorList(); return *pSotData->pDataFlavorList; diff --git a/sot/source/base/factory.cxx b/sot/source/base/factory.cxx deleted file mode 100644 index 74946ad..0000000 --- a/sot/source/base/factory.cxx +++ /dev/null @@ -1,203 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * 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 . - */ - -#include <factory.hxx> - -#include <tools/debug.hxx> -#include <sot/object.hxx> -#include <sotdata.hxx> -#include <comphelper/classids.hxx> -#include <osl/diagnose.h> -#include <rtl/instance.hxx> -#include <rtl/strbuf.hxx> - -/************** class SotData_Impl *********************************************/ -/************************************************************************* -|* SotData_Impl::SotData_Impl -|* -|* Beschreibung -*************************************************************************/ -SotData_Impl::SotData_Impl() - : nSvObjCount( 0 ) - , pFactoryList( nullptr ) - , pSotObjectFactory( nullptr ) - , pSotStorageStreamFactory( nullptr ) - , pSotStorageFactory( nullptr ) - , pDataFlavorList( nullptr ) -{ -} - -SotData_Impl::~SotData_Impl() -{ - if (pDataFlavorList) - { - for( tDataFlavorList::iterator aI = pDataFlavorList->begin(), - aEnd = pDataFlavorList->end(); aI != aEnd; ++aI) - { - delete *aI; - } - delete pDataFlavorList; - } - delete pFactoryList; -} - -/************************************************************************* -|* SOTDATA() -|* -|* Beschreibung -*************************************************************************/ -namespace { struct ImplData : public rtl::Static<SotData_Impl, ImplData> {}; } -SotData_Impl * SOTDATA() -{ - return &ImplData::get(); -} - -/************** class SotFactory *****************************************/ -/************************************************************************* -|* SotFactory::SotFactory() -|* -|* Beschreibung -*************************************************************************/ - -SotFactory::SotFactory( const SvGlobalName & rName ) - : SvGlobalName ( rName ) - , nSuperCount ( 0 ) - , pSuperClasses ( nullptr ) -{ -#ifdef DBG_UTIL - SvGlobalName aEmptyName; - if( aEmptyName != *this ) - { // wegen Sfx-BasicFactories - DBG_ASSERT( aEmptyName != *this, "create factory without SvGlobalName" ); - if( Find( *this ) ) - { - OSL_FAIL( "create factories with the same unique name" ); - } - } -#endif - SotData_Impl * pSotData = SOTDATA(); - if( !pSotData->pFactoryList ) - pSotData->pFactoryList = new SotFactoryList(); - // muss nach hinten, wegen Reihenfolge beim zerstoeren - pSotData->pFactoryList->push_back( this ); -} - - - -SotFactory::~SotFactory() -{ - delete [] pSuperClasses; -} - -/************************************************************************* -|* SotFactory::Find() -|* -|* Beschreibung -*************************************************************************/ -#ifdef DBG_UTIL -const SotFactory* SotFactory::Find( const SvGlobalName & rFactName ) -{ - SvGlobalName aEmpty; - SotData_Impl * pSotData = SOTDATA(); - if( rFactName != aEmpty && pSotData->pFactoryList ) - { - for ( size_t i = 0, n = pSotData->pFactoryList->size(); i < n; ++i ) { - SotFactory* pFact = (*pSotData->pFactoryList)[ i ]; - if( *pFact == rFactName ) - return pFact; - } - } - - return nullptr; -} -#endif - -/************************************************************************* -|* SotFactory::PutSuperClass() -|* -|* Beschreibung -*************************************************************************/ -void SotFactory::PutSuperClass( const SotFactory * pFact ) -{ - nSuperCount++; - if( !pSuperClasses ) - pSuperClasses = new const SotFactory * [ nSuperCount ]; - else - { - const SotFactory ** pTmp = new const SotFactory * [ nSuperCount ]; - memcpy( static_cast<void *>(pTmp), static_cast<void *>(pSuperClasses), - sizeof( void * ) * (nSuperCount -1) ); - delete [] pSuperClasses; - pSuperClasses = pTmp; - } - pSuperClasses[ nSuperCount -1 ] = pFact; -} - - -/************************************************************************* -|* SotFactory::IncSvObjectCount() -|* -|* Beschreibung -*************************************************************************/ -void SotFactory::IncSvObjectCount( SotObject * pObj ) -{ - SotData_Impl * pSotData = SOTDATA(); - pSotData->nSvObjCount++; - - if( pObj ) - pSotData->aObjectList.push_back( pObj ); -} - - -/************************************************************************* -|* SotFactory::DecSvObjectCount() -|* -|* Beschreibung -*************************************************************************/ -void SotFactory::DecSvObjectCount( SotObject * pObj ) -{ - SotData_Impl * pSotData = SOTDATA(); - pSotData->nSvObjCount--; - if( pObj ) - pSotData->aObjectList.remove( pObj ); - if( !pSotData->nSvObjCount ) - { - //keine internen und externen Referenzen mehr - } -} - -/************************************************************************* -|* SotFactory::Is() -|* -|* Beschreibung -*************************************************************************/ -bool SotFactory::Is( const SotFactory * pSuperCl ) const -{ - if( this == pSuperCl ) - return true; - - for( sal_uInt16 i = 0; i < nSuperCount; i++ ) - { - if( pSuperClasses[ i ]->Is( pSuperCl ) ) - return true; - } - return false; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sot/source/base/object.cxx b/sot/source/base/object.cxx index 25b198d..79a139a 100644 --- a/sot/source/base/object.cxx +++ b/sot/source/base/object.cxx @@ -18,60 +18,16 @@ */ #include <sot/object.hxx> -#include <factory.hxx> -#include <sotdata.hxx> -/************** class SotObject ******************************************/ -class SotObjectFactory : public SotFactory -{ -public: - explicit SotObjectFactory(const SvGlobalName& rName) - : SotFactory( rName ) - { - } -}; - -SotFactory * SotObject::ClassFactory() -{ - SotFactory **ppFactory = &(SOTDATA()->pSotObjectFactory); - if( !*ppFactory ) - { - *ppFactory = new SotObjectFactory( - SvGlobalName( 0xf44b7830, 0xf83c, 0x11d0, - 0xaa, 0xa1, 0x0, 0xa0, 0x24, 0x9d, 0x55, 0x90 ) ); - } - return *ppFactory; -} - -void * SotObject::Cast( const SotFactory * pFact ) -{ - void * pRet = nullptr; - if( !pFact || pFact == ClassFactory() ) - pRet = this; - return pRet; -} - -/************************************************************************* -|* SotObject::SotObject() -|* -|* Beschreibung -*************************************************************************/ SotObject::SotObject() : nOwnerLockCount( 0 ) , bOwner ( true ) , bInClose ( false ) { - SotFactory::IncSvObjectCount( this ); } -/************************************************************************* -|* -|* SotObject::~SotObject() -|* -*************************************************************************/ SotObject::~SotObject() { - SotFactory::DecSvObjectCount( this ); } void SotObject::OwnerLock diff --git a/sot/source/sdstor/storage.cxx b/sot/source/sdstor/storage.cxx index 63c8cbd..9cdc66e 100644 --- a/sot/source/sdstor/storage.cxx +++ b/sot/source/sdstor/storage.cxx @@ -36,46 +36,10 @@ #include <unotools/ucbhelper.hxx> #include <comphelper/processfactory.hxx> -#include <factory.hxx> -#include <sotdata.hxx> - #include <memory> using namespace ::com::sun::star; -/************** class SotStorageStream ***********************************/ -class SotStorageStreamFactory : public SotFactory -{ -public: - explicit SotStorageStreamFactory(const SvGlobalName& rName) - : SotFactory(rName) - { - } -}; - -SotFactory * SotStorageStream::ClassFactory() -{ - SotFactory **ppFactory = &(SOTDATA()->pSotStorageStreamFactory); - if( !*ppFactory ) - { - *ppFactory = new SotStorageStreamFactory( - SvGlobalName( 0xd7deb420, 0xf902, 0x11d0, - 0xaa, 0xa1, 0x0, 0xa0, 0x24, 0x9d, 0x55, 0x90 ) ); - (*ppFactory)->PutSuperClass( SotObject::ClassFactory() ); - } - return *ppFactory; -} - -void * SotStorageStream::Cast( const SotFactory * pFact ) -{ - void * pRet = nullptr; - if( !pFact || pFact == ClassFactory() ) - pRet = this; - if( !pRet ) - pRet = SotObject::Cast( pFact ); - return pRet; -} - SvLockBytesRef MakeLockBytes_Impl( const OUString & rName, StreamMode nMode ) { SvLockBytesRef xLB; @@ -291,40 +255,6 @@ bool SotStorageStream::SetProperty( const OUString& rName, const css::uno::Any& } } -/************** class SotStorage ****************************************** -*************************************************************************/ -class SotStorageFactory : public SotFactory -{ -public: - explicit SotStorageFactory(const SvGlobalName & rName) - : SotFactory(rName) - { - } -}; - -SotFactory * SotStorage::ClassFactory() -{ - SotFactory **ppFactory = &(SOTDATA()->pSotStorageFactory); - if( !*ppFactory ) - { - *ppFactory = new SotStorageFactory( - SvGlobalName( 0x980ce7e0, 0xf905, 0x11d0, - 0xaa, 0xa1, 0x0, 0xa0, 0x24, 0x9d, 0x55, 0x90 ) ); - (*ppFactory)->PutSuperClass( SotObject::ClassFactory() ); - } - return *ppFactory; -} - -void * SotStorage::Cast( const SotFactory * pFact ) -{ - void * pRet = nullptr; - if( !pFact || pFact == ClassFactory() ) - pRet = this; - if( !pRet ) - pRet = SotObject::Cast( pFact ); - return pRet; -} - /************************************************************************ |* |* SotStorage::SotStorage() commit 5b22663e373f2137c93adcdd2c31c54da2fba663 Author: Matúš Kukan <matus.ku...@gmail.com> Date: Sun Jan 3 20:00:21 2016 +0100 Make SotFactory private to sot/ and clean a bit Change-Id: Ia683280a3e95eee995e036db6bde5d28852f92ff diff --git a/basctl/source/basicide/basdoc.cxx b/basctl/source/basicide/basdoc.cxx index 69d6de8..d985697 100644 --- a/basctl/source/basicide/basdoc.cxx +++ b/basctl/source/basicide/basdoc.cxx @@ -28,6 +28,7 @@ #include <basslots.hxx> #include <sfx2/sfxmodelfactory.hxx> #include <svx/svxids.hrc> +#include <tools/globname.hxx> namespace basctl { diff --git a/chart2/source/controller/drawinglayer/DrawViewWrapper.cxx b/chart2/source/controller/drawinglayer/DrawViewWrapper.cxx index 1166959..1cac581 100644 --- a/chart2/source/controller/drawinglayer/DrawViewWrapper.cxx +++ b/chart2/source/controller/drawinglayer/DrawViewWrapper.cxx @@ -32,6 +32,7 @@ #include <svx/svdoutl.hxx> #include <svx/svxids.hrc> #include <svx/unoshape.hxx> +#include <tools/globname.hxx> #include <editeng/fhgtitem.hxx> #include <com/sun/star/container/XChild.hpp> diff --git a/cui/source/dialogs/pastedlg.cxx b/cui/source/dialogs/pastedlg.cxx index eccd83c..4fc2e21 100644 --- a/cui/source/dialogs/pastedlg.cxx +++ b/cui/source/dialogs/pastedlg.cxx @@ -28,8 +28,8 @@ #include <vcl/group.hxx> #include <vcl/lstbox.hxx> #include <vcl/msgbox.hxx> +#include <sot/exchange.hxx> #include <sot/formats.hxx> -#include <sot/stg.hxx> #include <svtools/sores.hxx> #include <vcl/svapp.hxx> #include <vcl/settings.hxx> diff --git a/include/sot/object.hxx b/include/sot/object.hxx index f2c3b24..b6328ef 100644 --- a/include/sot/object.hxx +++ b/include/sot/object.hxx @@ -20,11 +20,13 @@ #ifndef INCLUDED_SOT_OBJECT_HXX #define INCLUDED_SOT_OBJECT_HXX -#include <sot/sotdata.hxx> -#include <tools/globname.hxx> +#include <sal/config.h> + #include <tools/ref.hxx> #include <sot/sotdllapi.h> +class SotFactory; + class SOT_DLLPUBLIC SotObject : virtual public SvRefBase { friend class SotFactory; @@ -35,13 +37,10 @@ friend class SotFactory; protected: virtual ~SotObject(); virtual bool Close(); + public: SotObject(); -private: - static SotFactory ** GetFactoryAdress() - { return &(SOTDATA()->pSotObjectFactory); } -public: static SotFactory * ClassFactory(); virtual void * Cast( const SotFactory * ); @@ -58,6 +57,6 @@ private: SotObject( const SotObject & ) = delete; }; -#endif // _IFACE_HXX +#endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/sot/storage.hxx b/include/sot/storage.hxx index b51afe4..de6e0c7 100644 --- a/include/sot/storage.hxx +++ b/include/sot/storage.hxx @@ -26,12 +26,12 @@ #include <com/sun/star/io/XInputStream.hpp> #include <com/sun/star/embed/XStorage.hpp> #include <sot/object.hxx> -#include <sot/factory.hxx> #include <tools/stream.hxx> #include <tools/errcode.hxx> #include <sot/storinfo.hxx> #include <sot/sotdllapi.h> +class SotFactory; class SotStorage; enum class SotClipboardFormatId : sal_uLong; @@ -56,10 +56,6 @@ public: SotStorageStream( BaseStorageStream *pStm ); SotStorageStream(); -private: - static SotFactory ** GetFactoryAdress() - { return &(SOTDATA()->pSotStorageStreamFactory); } -public: static SotFactory * ClassFactory(); virtual void * Cast( const SotFactory * ) override; @@ -108,10 +104,6 @@ public: SotStorage( SvStream * pStm, bool bDelete ); SotStorage(); -private: - static SotFactory ** GetFactoryAdress() - { return &(SOTDATA()->pSotStorageFactory); } -public: static SotFactory * ClassFactory(); virtual void * Cast( const SotFactory * ) override; diff --git a/sc/source/ui/unoobj/chartuno.cxx b/sc/source/ui/unoobj/chartuno.cxx index f5a09a4..c6baa5c 100644 --- a/sc/source/ui/unoobj/chartuno.cxx +++ b/sc/source/ui/unoobj/chartuno.cxx @@ -33,6 +33,7 @@ #include <unotools/moduleoptions.hxx> #include <comphelper/classids.hxx> #include <toolkit/helper/vclunohelper.hxx> +#include <tools/globname.hxx> #include <svx/charthelper.hxx> #include <svtools/embedhlp.hxx> diff --git a/sd/source/ui/func/fudraw.cxx b/sd/source/ui/func/fudraw.cxx index e467a2f..9d735c4 100644 --- a/sd/source/ui/func/fudraw.cxx +++ b/sd/source/ui/func/fudraw.cxx @@ -17,10 +17,10 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#include <sot/object.hxx> +#include <sal/config.h> + #include <editeng/eeitem.hxx> #include <vcl/waitobj.hxx> - #include <editeng/flditem.hxx> #include <svx/svdogrp.hxx> #include <svx/svdoole2.hxx> @@ -36,7 +36,6 @@ #include <svx/svxids.hrc> #include <svx/obj3d.hxx> #include <svx/polysc3d.hxx> - #include <sfx2/viewfrm.hxx> #include "anminfo.hxx" diff --git a/sfx2/source/appl/imagemgr.cxx b/sfx2/source/appl/imagemgr.cxx index b7819f3..dadab28 100644 --- a/sfx2/source/appl/imagemgr.cxx +++ b/sfx2/source/appl/imagemgr.cxx @@ -25,6 +25,7 @@ #include <com/sun/star/ui/ImageType.hpp> #include <com/sun/star/ui/XUIConfigurationManagerSupplier.hpp> +#include <tools/globname.hxx> #include <tools/urlobj.hxx> #include <svtools/imagemgr.hxx> #include <comphelper/processfactory.hxx> diff --git a/sfx2/source/doc/docfac.cxx b/sfx2/source/doc/docfac.cxx index 953369d..db7bd7f 100644 --- a/sfx2/source/doc/docfac.cxx +++ b/sfx2/source/doc/docfac.cxx @@ -49,6 +49,7 @@ #include "doc.hrc" #include <rtl/strbuf.hxx> +#include <tools/globname.hxx> #include <assert.h> diff --git a/sfx2/source/doc/frmdescr.cxx b/sfx2/source/doc/frmdescr.cxx index f6ad2b4..e40fd89 100644 --- a/sfx2/source/doc/frmdescr.cxx +++ b/sfx2/source/doc/frmdescr.cxx @@ -17,8 +17,6 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ - -#include <sot/object.hxx> #include <tools/stream.hxx> #include <vcl/splitwin.hxx> #include <svl/itemset.hxx> diff --git a/sfx2/source/doc/objitem.cxx b/sfx2/source/doc/objitem.cxx index 1e5a4f5..88760ea 100644 --- a/sfx2/source/doc/objitem.cxx +++ b/sfx2/source/doc/objitem.cxx @@ -22,6 +22,8 @@ #include <sfx2/objitem.hxx> #include <com/sun/star/lang/XUnoTunnel.hpp> +#include <tools/globname.hxx> + SfxPoolItem* SfxObjectShellItem::CreateDefault() { return new SfxObjectShellItem; } diff --git a/sfx2/source/doc/objxtor.cxx b/sfx2/source/doc/objxtor.cxx index 5d1bf3e..3bdb6f7 100644 --- a/sfx2/source/doc/objxtor.cxx +++ b/sfx2/source/doc/objxtor.cxx @@ -70,6 +70,7 @@ #include <unotools/ucbhelper.hxx> #include <svtools/asynclink.hxx> #include <tools/diagnose_ex.h> +#include <tools/globname.hxx> #include <comphelper/classids.hxx> #include <sfx2/app.hxx> diff --git a/sfx2/source/doc/ownsubfilterservice.cxx b/sfx2/source/doc/ownsubfilterservice.cxx index fbff13d..8cb5fff 100644 --- a/sfx2/source/doc/ownsubfilterservice.cxx +++ b/sfx2/source/doc/ownsubfilterservice.cxx @@ -28,6 +28,7 @@ #include <cppuhelper/supportsservice.hxx> #include <rtl/ref.hxx> #include <sfx2/objsh.hxx> +#include <tools/globname.hxx> using namespace css; diff --git a/sfx2/source/doc/printhelper.cxx b/sfx2/source/doc/printhelper.cxx index 3959339..d1768dd 100644 --- a/sfx2/source/doc/printhelper.cxx +++ b/sfx2/source/doc/printhelper.cxx @@ -38,6 +38,7 @@ #include <unotools/tempfile.hxx> #include <osl/file.hxx> #include <osl/thread.hxx> +#include <tools/globname.hxx> #include <tools/urlobj.hxx> #include <ucbhelper/content.hxx> #include <cppuhelper/interfacecontainer.hxx> diff --git a/sfx2/source/menu/virtmenu.cxx b/sfx2/source/menu/virtmenu.cxx index dc3b36f..e1452ec 100644 --- a/sfx2/source/menu/virtmenu.cxx +++ b/sfx2/source/menu/virtmenu.cxx @@ -17,8 +17,8 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ +#include <sal/config.h> -#include <sot/factory.hxx> #include <svtools/menuoptions.hxx> #include <svtools/imagemgr.hxx> #include <svl/imageitm.hxx> diff --git a/sfx2/source/statbar/stbitem.cxx b/sfx2/source/statbar/stbitem.cxx index 4b3b9c0..d8816c4 100644 --- a/sfx2/source/statbar/stbitem.cxx +++ b/sfx2/source/statbar/stbitem.cxx @@ -46,6 +46,7 @@ #include <svl/intitem.hxx> #include <toolkit/helper/vclunohelper.hxx> #include <toolkit/helper/convert.hxx> +#include <tools/globname.hxx> #include <ctrlfactoryimpl.hxx> using namespace ::com::sun::star; diff --git a/sfx2/source/toolbox/tbxitem.cxx b/sfx2/source/toolbox/tbxitem.cxx index 3a80627..35daecf 100644 --- a/sfx2/source/toolbox/tbxitem.cxx +++ b/sfx2/source/toolbox/tbxitem.cxx @@ -66,6 +66,7 @@ #include <framework/sfxhelperfunctions.hxx> #include <vcl/taskpanelist.hxx> #include <toolkit/helper/vclunohelper.hxx> +#include <tools/globname.hxx> #include <svtools/menuoptions.hxx> #include <svtools/miscopt.hxx> diff --git a/sfx2/source/view/frame.cxx b/sfx2/source/view/frame.cxx index ee08b52..ffebf56 100644 --- a/sfx2/source/view/frame.cxx +++ b/sfx2/source/view/frame.cxx @@ -33,6 +33,7 @@ #include <svl/eitem.hxx> #include <svl/stritem.hxx> #include <toolkit/helper/vclunohelper.hxx> +#include <tools/globname.hxx> #include <com/sun/star/awt/PosSize.hpp> #include <comphelper/processfactory.hxx> #include <vcl/msgbox.hxx> diff --git a/include/sot/factory.hxx b/sot/inc/factory.hxx similarity index 79% rename from include/sot/factory.hxx rename to sot/inc/factory.hxx index 3fe2fca..ab22cc0 100644 --- a/include/sot/factory.hxx +++ b/sot/inc/factory.hxx @@ -20,20 +20,13 @@ #ifndef INCLUDED_SOT_FACTORY_HXX #define INCLUDED_SOT_FACTORY_HXX +#include <sal/config.h> + #include <tools/globname.hxx> -#include <sot/sotdllapi.h> -#include <vector> -/************************************************************************* -*************************************************************************/ class SotObject; -class SotFactory; - -typedef ::std::vector< SotFactory* > SotFactoryList; -typedef void * (*CreateInstanceType)( SotObject ** ); -//==================class SotFactory======================================= -class SOT_DLLPUBLIC SotFactory : public SvGlobalName +class SotFactory : public SvGlobalName { sal_uInt16 nSuperCount; // Anzahl der Superklassen const SotFactory ** pSuperClasses; // Superklassen @@ -59,6 +52,6 @@ private: SotFactory & operator = ( const SotFactory & ) = delete; }; -#endif // _FACTORY_HXX +#endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/sot/sotdata.hxx b/sot/inc/sotdata.hxx similarity index 96% rename from include/sot/sotdata.hxx rename to sot/inc/sotdata.hxx index 58867b0..f2d3c26 100644 --- a/include/sot/sotdata.hxx +++ b/sot/inc/sotdata.hxx @@ -20,7 +20,8 @@ #ifndef INCLUDED_SOT_SOTDATA_HXX #define INCLUDED_SOT_SOTDATA_HXX -#include <sot/sotdllapi.h> +#include <sal/config.h> + #include <com/sun/star/datatransfer/DataFlavor.hpp> #include <vector> #include <list> @@ -45,7 +46,7 @@ struct SotData_Impl ~SotData_Impl(); }; -SOT_DLLPUBLIC SotData_Impl* SOTDATA(); +SotData_Impl* SOTDATA(); #endif diff --git a/sot/source/base/exchange.cxx b/sot/source/base/exchange.cxx index 13ca02f..c50a6b7 100644 --- a/sot/source/base/exchange.cxx +++ b/sot/source/base/exchange.cxx @@ -17,10 +17,12 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ +#include <sal/config.h> + #include <tools/debug.hxx> #include <tools/solar.h> #include <tools/globname.hxx> -#include <sot/sotdata.hxx> +#include <sotdata.hxx> #include <sot/exchange.hxx> #include <sot/formats.hxx> #include <sysformats.hxx> @@ -29,10 +31,6 @@ #include <com/sun/star/uno/Sequence.hxx> #include <comphelper/documentconstants.hxx> -#ifdef GetObject -#undef GetObject -#endif - using namespace::com::sun::star::uno; using namespace::com::sun::star::datatransfer; diff --git a/sot/source/base/factory.cxx b/sot/source/base/factory.cxx index 8111c2b..74946ad 100644 --- a/sot/source/base/factory.cxx +++ b/sot/source/base/factory.cxx @@ -17,10 +17,11 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#include <sot/factory.hxx> +#include <factory.hxx> + #include <tools/debug.hxx> #include <sot/object.hxx> -#include <sot/sotdata.hxx> +#include <sotdata.hxx> #include <comphelper/classids.hxx> #include <osl/diagnose.h> #include <rtl/instance.hxx> diff --git a/sot/source/base/object.cxx b/sot/source/base/object.cxx index 1180252..25b198d 100644 --- a/sot/source/base/object.cxx +++ b/sot/source/base/object.cxx @@ -18,7 +18,8 @@ */ #include <sot/object.hxx> -#include <sot/factory.hxx> +#include <factory.hxx> +#include <sotdata.hxx> /************** class SotObject ******************************************/ class SotObjectFactory : public SotFactory @@ -32,7 +33,7 @@ public: SotFactory * SotObject::ClassFactory() { - SotFactory **ppFactory = GetFactoryAdress(); + SotFactory **ppFactory = &(SOTDATA()->pSotObjectFactory); if( !*ppFactory ) { *ppFactory = new SotObjectFactory( diff --git a/sot/source/sdstor/storage.cxx b/sot/source/sdstor/storage.cxx index df13786..63c8cbd 100644 --- a/sot/source/sdstor/storage.cxx +++ b/sot/source/sdstor/storage.cxx @@ -17,8 +17,8 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#include <com/sun/star/uno/Sequence.hxx> -#include <com/sun/star/lang/XSingleServiceFactory.hpp> +#include <sal/config.h> + #include <com/sun/star/embed/XStorage.hpp> #include <com/sun/star/embed/ElementModes.hpp> #include <com/sun/star/beans/XPropertySet.hpp> @@ -35,6 +35,10 @@ #include <tools/urlobj.hxx> #include <unotools/ucbhelper.hxx> #include <comphelper/processfactory.hxx> + +#include <factory.hxx> +#include <sotdata.hxx> + #include <memory> using namespace ::com::sun::star; @@ -51,7 +55,7 @@ public: SotFactory * SotStorageStream::ClassFactory() { - SotFactory **ppFactory = GetFactoryAdress(); + SotFactory **ppFactory = &(SOTDATA()->pSotStorageStreamFactory); if( !*ppFactory ) { *ppFactory = new SotStorageStreamFactory( @@ -300,7 +304,7 @@ public: SotFactory * SotStorage::ClassFactory() { - SotFactory **ppFactory = GetFactoryAdress(); + SotFactory **ppFactory = &(SOTDATA()->pSotStorageFactory); if( !*ppFactory ) { *ppFactory = new SotStorageFactory( diff --git a/starmath/source/smdll.cxx b/starmath/source/smdll.cxx index baa974d..738a6c5 100644 --- a/starmath/source/smdll.cxx +++ b/starmath/source/smdll.cxx @@ -17,7 +17,8 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#include <sot/factory.hxx> +#include <sal/config.h> + #include <svx/svxids.hrc> #include <svx/modctrl.hxx> #include <svx/zoomctrl.hxx> diff --git a/svx/source/dialog/_contdlg.cxx b/svx/source/dialog/_contdlg.cxx index 33cb2cc..26099ab 100644 --- a/svx/source/dialog/_contdlg.cxx +++ b/svx/source/dialog/_contdlg.cxx @@ -17,8 +17,9 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ +#include <sal/config.h> + #include <vcl/wrkwin.hxx> -#include <sot/factory.hxx> #include <tools/helpers.hxx> #include <vcl/msgbox.hxx> #include <svl/eitem.hxx> diff --git a/svx/source/unodraw/unopage.cxx b/svx/source/unodraw/unopage.cxx index 7376b8e..6fbab3e 100644 --- a/svx/source/unodraw/unopage.cxx +++ b/svx/source/unodraw/unopage.cxx @@ -49,6 +49,7 @@ #include <svx/lathe3d.hxx> #include <vcl/svapp.hxx> #include <tools/diagnose_ex.h> +#include <tools/globname.hxx> using namespace ::cppu; using namespace ::com::sun::star; diff --git a/svx/source/xoutdev/_xoutbmp.cxx b/svx/source/xoutdev/_xoutbmp.cxx index e445b09..1c4c012 100644 --- a/svx/source/xoutdev/_xoutbmp.cxx +++ b/svx/source/xoutdev/_xoutbmp.cxx @@ -17,7 +17,8 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#include <sot/factory.hxx> +#include <sal/config.h> + #include <tools/poly.hxx> #include <vcl/bmpacc.hxx> #include <vcl/virdev.hxx> diff --git a/sw/inc/pch/precompiled_msword.hxx b/sw/inc/pch/precompiled_msword.hxx index 46b41de..a8fd3bd 100644 --- a/sw/inc/pch/precompiled_msword.hxx +++ b/sw/inc/pch/precompiled_msword.hxx @@ -507,7 +507,6 @@ #include <sot/exchange.hxx> #include <sot/formats.hxx> #include <sot/object.hxx> -#include <sot/sotdata.hxx> #include <sot/sotdllapi.h> #include <svl/SfxBroadcaster.hxx> #include <svl/cenumitm.hxx> diff --git a/sw/source/core/doc/DocumentContentOperationsManager.cxx b/sw/source/core/doc/DocumentContentOperationsManager.cxx index 962c692..58d28b2 100644 --- a/sw/source/core/doc/DocumentContentOperationsManager.cxx +++ b/sw/source/core/doc/DocumentContentOperationsManager.cxx @@ -71,6 +71,7 @@ #include <svl/itemiter.hxx> #include <svx/svdobj.hxx> #include <svx/svdouno.hxx> +#include <tools/globname.hxx> #include <editeng/formatbreakitem.hxx> #include <com/sun/star/i18n/Boundary.hpp> #include <memory> diff --git a/sw/source/core/doc/docdesc.cxx b/sw/source/core/doc/docdesc.cxx index 98e34c3..ebd8cc3 100644 --- a/sw/source/core/doc/docdesc.cxx +++ b/sw/source/core/doc/docdesc.cxx @@ -25,6 +25,7 @@ #include <sfx2/bindings.hxx> #include <sfx2/dispatch.hxx> #include <sfx2/printer.hxx> +#include <tools/globname.hxx> #include <fmtfsize.hxx> #include <fmthdft.hxx> #include <fmtcntnt.hxx> diff --git a/sw/source/core/doc/doctxm.cxx b/sw/source/core/doc/doctxm.cxx index 1ddc0ca..afc95d7 100644 --- a/sw/source/core/doc/doctxm.cxx +++ b/sw/source/core/doc/doctxm.cxx @@ -72,6 +72,7 @@ #include <ToxTextGenerator.hxx> #include <ToxTabStopTokenHandler.hxx> #include <tools/datetimeutils.hxx> +#include <tools/globname.hxx> #include <memory> diff --git a/sw/source/core/draw/dview.cxx b/sw/source/core/draw/dview.cxx index ad6f7df..eb05f95 100644 --- a/sw/source/core/draw/dview.cxx +++ b/sw/source/core/draw/dview.cxx @@ -23,6 +23,7 @@ #include <svx/fmmodel.hxx> #include <sot/exchange.hxx> #include <svx/sdrundomanager.hxx> +#include <tools/globname.hxx> #include <editeng/outliner.hxx> #include <com/sun/star/embed/EmbedMisc.hpp> diff --git a/sw/source/core/frmedt/fefly1.cxx b/sw/source/core/frmedt/fefly1.cxx index d06b788..f9db811 100644 --- a/sw/source/core/frmedt/fefly1.cxx +++ b/sw/source/core/frmedt/fefly1.cxx @@ -25,6 +25,7 @@ #include <svx/svdogrp.hxx> #include <svx/svdouno.hxx> #include <svx/fmglob.hxx> +#include <tools/globname.hxx> #include <com/sun/star/form/FormButtonType.hpp> #include <com/sun/star/beans/XPropertySet.hpp> #include <fmtanchr.hxx> diff --git a/sw/source/core/frmedt/feshview.cxx b/sw/source/core/frmedt/feshview.cxx index 4526f4e..e55d8cd 100644 --- a/sw/source/core/frmedt/feshview.cxx +++ b/sw/source/core/frmedt/feshview.cxx @@ -36,6 +36,7 @@ #include <editeng/protitem.hxx> #include <svx/svdpage.hxx> #include <svx/svdpagv.hxx> +#include <tools/globname.hxx> #include <IDocumentSettingAccess.hxx> #include <DocumentSettingManager.hxx> #include <IDocumentState.hxx> diff --git a/sw/source/core/ole/ndole.cxx b/sw/source/core/ole/ndole.cxx index 5db900b..f17714c 100644 --- a/sw/source/core/ole/ndole.cxx +++ b/sw/source/core/ole/ndole.cxx @@ -31,6 +31,7 @@ #include <cppuhelper/implbase.hxx> #include <toolkit/helper/vclunohelper.hxx> +#include <tools/globname.hxx> #include <hintids.hxx> #include <sfx2/docfile.hxx> #include <sfx2/app.hxx> diff --git a/sw/source/core/txtnode/thints.cxx b/sw/source/core/txtnode/thints.cxx index 19a0f77..e42b6dc 100644 --- a/sw/source/core/txtnode/thints.cxx +++ b/sw/source/core/txtnode/thints.cxx @@ -17,8 +17,9 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ +#include <sal/config.h> + #include <hintids.hxx> -#include <sot/factory.hxx> #include <editeng/xmlcnitm.hxx> #include <svl/whiter.hxx> #include <svl/itemiter.hxx> diff --git a/sw/source/core/unocore/unoframe.cxx b/sw/source/core/unocore/unoframe.cxx index b7b6cc0..98bd0ae 100644 --- a/sw/source/core/unocore/unoframe.cxx +++ b/sw/source/core/unocore/unoframe.cxx @@ -34,6 +34,7 @@ #include <svx/xflgrit.hxx> #include <svx/sdtaitm.hxx> #include <svx/xflclit.hxx> +#include <tools/globname.hxx> #include <editeng/memberids.hrc> #include <swtypes.hxx> #include <cmdid.h> diff --git a/sw/source/ui/frmdlg/frmpage.cxx b/sw/source/ui/frmdlg/frmpage.cxx index 93ede70..fd92482 100644 --- a/sw/source/ui/frmdlg/frmpage.cxx +++ b/sw/source/ui/frmdlg/frmpage.cxx @@ -37,8 +37,8 @@ #include <editeng/frmdiritem.hxx> #include <svx/swframevalidation.hxx> #include <comphelper/classids.hxx> - #include <sfx2/viewfrm.hxx> +#include <tools/globname.hxx> #include <fmturl.hxx> #include <fmteiro.hxx> #include <fmtcnct.hxx> diff --git a/sw/source/uibase/shells/basesh.cxx b/sw/source/uibase/shells/basesh.cxx index 2c609e1..6578515 100644 --- a/sw/source/uibase/shells/basesh.cxx +++ b/sw/source/uibase/shells/basesh.cxx @@ -17,7 +17,8 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#include <sot/factory.hxx> +#include <sal/config.h> + #include <hintids.hxx> #include <svl/urihelper.hxx> #include <svl/languageoptions.hxx> diff --git a/sw/source/uibase/wrtsh/wrtsh1.cxx b/sw/source/uibase/wrtsh/wrtsh1.cxx index f47ffbc..b44a2c0 100644 --- a/sw/source/uibase/wrtsh/wrtsh1.cxx +++ b/sw/source/uibase/wrtsh/wrtsh1.cxx @@ -30,12 +30,11 @@ #include <math.h> #include <hintids.hxx> +#include <sot/exchange.hxx> #include <svx/hdft.hxx> #include <svx/svdview.hxx> -#include <sot/factory.hxx> #include <svl/itemiter.hxx> #include <tools/bigint.hxx> -#include <sot/storage.hxx> #include <svtools/insdlg.hxx> #include <sfx2/frmdescr.hxx> #include <sfx2/ipclient.hxx> diff --git a/vbahelper/inc/pch/precompiled_msforms.hxx b/vbahelper/inc/pch/precompiled_msforms.hxx index 633d06d..341e1ee 100644 --- a/vbahelper/inc/pch/precompiled_msforms.hxx +++ b/vbahelper/inc/pch/precompiled_msforms.hxx @@ -300,7 +300,6 @@ #include <sfx2/viewfrm.hxx> #include <sot/formats.hxx> #include <sot/object.hxx> -#include <sot/sotdata.hxx> #include <sot/sotdllapi.h> #include <svl/SfxBroadcaster.hxx> #include <svl/hint.hxx> diff --git a/vcl/source/control/longcurr.cxx b/vcl/source/control/longcurr.cxx index adc4626..3e7c1f0 100644 --- a/vcl/source/control/longcurr.cxx +++ b/vcl/source/control/longcurr.cxx @@ -18,8 +18,6 @@ */ #include <comphelper/string.hxx> -#include <sot/object.hxx> -#include <sot/factory.hxx> #include <tools/debug.hxx> #include <tools/bigint.hxx> diff --git a/vcl/source/filter/wmf/winmtf.hxx b/vcl/source/filter/wmf/winmtf.hxx index f8ae32e..dc8074f 100644 --- a/vcl/source/filter/wmf/winmtf.hxx +++ b/vcl/source/filter/wmf/winmtf.hxx @@ -20,7 +20,8 @@ #ifndef INCLUDED_VCL_SOURCE_FILTER_WMF_WINMTF_HXX #define INCLUDED_VCL_SOURCE_FILTER_WMF_WINMTF_HXX -#include <sot/object.hxx> +#include <sal/config.h> + #include <vcl/graph.hxx> #include <basegfx/tools/b2dclipstate.hxx> #include <vcl/font.hxx>
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits