diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2017-08-08 13:24:31 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2017-08-08 20:56:44 +0200 |
commit | c605c8d0787f93019722a4146750e01d63e81e07 (patch) | |
tree | cfb63eb86d3f93027a018d6ae0739bb7e80eacfb | |
parent | 61d49afadb2badc7572b04c73ee682afde1d2e7b (diff) |
SvPersistStream dead
since commit 1e4b1e4a1aca3b333820b0a865997e6f62e80064
"Removing unused SfxItemPool serialisation from editeng"
Change-Id: I8a3cd36a13b7d2322047c2035e0f23c70ca9cdf0
Reviewed-on: https://gerrit.libreoffice.org/40880
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r-- | editeng/source/items/flditem.cxx | 281 | ||||
-rw-r--r-- | editeng/source/items/svdfield.cxx | 14 | ||||
-rw-r--r-- | idl/inc/basobj.hxx | 2 | ||||
-rw-r--r-- | include/editeng/flditem.hxx | 1 | ||||
-rw-r--r-- | include/svx/svdfield.hxx | 29 | ||||
-rw-r--r-- | include/tools/pstm.hxx | 135 | ||||
-rw-r--r-- | sc/source/ui/app/scdll.cxx | 9 | ||||
-rw-r--r-- | sd/source/ui/app/sddll.cxx | 4 | ||||
-rw-r--r-- | svx/source/svdraw/svdotxfl.cxx | 19 | ||||
-rw-r--r-- | sw/source/uibase/app/swdll.cxx | 4 | ||||
-rw-r--r-- | tools/Library_tl.mk | 1 | ||||
-rw-r--r-- | tools/source/ref/pstm.cxx | 516 |
12 files changed, 20 insertions, 995 deletions
diff --git a/editeng/source/items/flditem.cxx b/editeng/source/items/flditem.cxx index 3ab2c2623df3..cbcb9ce9215c 100644 --- a/editeng/source/items/flditem.cxx +++ b/editeng/source/items/flditem.cxx @@ -224,7 +224,7 @@ SvxFieldData* SvxFieldData::Create(const uno::Reference<text::XTextContent>& xTe } -SV_IMPL_PERSIST1( SvxFieldData, SvPersistBase ); +SV_IMPL_PERSIST1( SvxFieldData ); SvxFieldData::SvxFieldData() @@ -251,16 +251,6 @@ bool SvxFieldData::operator==( const SvxFieldData& rFld ) const } -void SvxFieldData::Load( SvPersistStream & /*rStm*/ ) -{ -} - - -void SvxFieldData::Save( SvPersistStream & /*rStm*/ ) -{ -} - - MetaAction* SvxFieldData::createBeginComment() const { return new MetaCommentAction( "FIELD_SEQ_BEGIN" ); @@ -314,7 +304,7 @@ bool SvxFieldItem::operator==( const SfxPoolItem& rItem ) const // The following are the derivatives of SvxFieldData ... -SV_IMPL_PERSIST1( SvxDateField, SvxFieldData ); +SV_IMPL_PERSIST1( SvxDateField ); SvxDateField::SvxDateField() @@ -351,26 +341,6 @@ bool SvxDateField::operator==( const SvxFieldData& rOther ) const } -void SvxDateField::Load( SvPersistStream & rStm ) -{ - sal_uInt16 nType, nFormat; - - rStm.ReadInt32( nFixDate ); - rStm.ReadUInt16( nType ); - rStm.ReadUInt16( nFormat ); - - eType = (SvxDateType)nType; - eFormat= (SvxDateFormat)nFormat; -} - - -void SvxDateField::Save( SvPersistStream & rStm ) -{ - rStm.WriteInt32( nFixDate ); - rStm.WriteUInt16( (sal_uInt16)eType ); - rStm.WriteUInt16( eFormat ); -} - OUString SvxDateField::GetFormatted( SvNumberFormatter& rFormatter, LanguageType eLang ) const { @@ -448,7 +418,7 @@ MetaAction* SvxDateField::createBeginComment() const return new MetaCommentAction( "FIELD_SEQ_BEGIN" ); } -SV_IMPL_PERSIST1( SvxURLField, SvxFieldData ); +SV_IMPL_PERSIST1( SvxURLField ); SvxURLField::SvxURLField() @@ -483,58 +453,6 @@ bool SvxURLField::operator==( const SvxFieldData& rOther ) const } -static void write_unicode( SvPersistStream & rStm, const OUString& rString ) -{ - sal_uInt16 nL = sal::static_int_cast<sal_uInt16>(rString.getLength()); - rStm.WriteUInt16( nL ); - //endian specific?, yipes! - rStm.WriteBytes( rString.getStr(), nL*sizeof(sal_Unicode) ); -} - -static OUString read_unicode( SvPersistStream & rStm ) -{ - rtl_uString *pStr = nullptr; - sal_uInt16 nL = 0; - rStm.ReadUInt16( nL ); - const size_t nMaxRecords = rStm.remainingSize() / sizeof(sal_Unicode); - if (nL > nMaxRecords) - { - SAL_WARN("editeng", "Parsing error: " << nMaxRecords << - " max possible entries, but " << nL << " claimed, truncating"); - nL = nMaxRecords; - } - if (nL) - { - pStr = rtl_uString_alloc(nL); - //endian specific?, yipes! - rStm.ReadBytes(pStr->buffer, nL*sizeof(sal_Unicode)); - } - //take ownership of buffer and return, otherwise return empty string - return pStr ? OUString(pStr, SAL_NO_ACQUIRE) : OUString(); -} - -void SvxURLField::Load( SvPersistStream & rStm ) -{ - sal_uInt16 nFormat = 0; - - rStm.ReadUInt16( nFormat ); - eFormat= (SvxURLFormat)nFormat; - - aURL = read_unicode( rStm ); - aRepresentation = read_unicode( rStm ); - aTargetFrame = read_unicode( rStm ); -} - - -void SvxURLField::Save( SvPersistStream & rStm ) -{ - rStm.WriteUInt16( eFormat ); - - write_unicode( rStm, aURL ); - write_unicode( rStm, aRepresentation ); - write_unicode( rStm, aTargetFrame ); -} - MetaAction* SvxURLField::createBeginComment() const { // #i46618# Adding target URL to metafile comment @@ -548,7 +466,7 @@ MetaAction* SvxURLField::createBeginComment() const // SvxPageTitleField methods // -SV_IMPL_PERSIST1( SvxPageTitleField, SvxFieldData ); +SV_IMPL_PERSIST1( SvxPageTitleField ); SvxPageTitleField::SvxPageTitleField() {} @@ -562,14 +480,6 @@ bool SvxPageTitleField::operator==( const SvxFieldData& rCmp ) const return ( dynamic_cast< const SvxPageTitleField *>(&rCmp) != nullptr ); } -void SvxPageTitleField::Load( SvPersistStream & /*rStm*/ ) -{ -} - -void SvxPageTitleField::Save( SvPersistStream & /*rStm*/ ) -{ -} - MetaAction* SvxPageTitleField::createBeginComment() const { return new MetaCommentAction( "FIELD_SEQ_BEGIN;PageTitleField" ); @@ -581,7 +491,7 @@ MetaAction* SvxPageTitleField::createBeginComment() const // The fields that were removed from Calc: -SV_IMPL_PERSIST1( SvxPageField, SvxFieldData ); +SV_IMPL_PERSIST1( SvxPageField ); SvxPageField::SvxPageField() {} @@ -595,21 +505,13 @@ bool SvxPageField::operator==( const SvxFieldData& rCmp ) const return ( dynamic_cast< const SvxPageField *>(&rCmp) != nullptr ); } -void SvxPageField::Load( SvPersistStream & /*rStm*/ ) -{ -} - -void SvxPageField::Save( SvPersistStream & /*rStm*/ ) -{ -} - MetaAction* SvxPageField::createBeginComment() const { return new MetaCommentAction( "FIELD_SEQ_BEGIN;PageField" ); } -SV_IMPL_PERSIST1( SvxPagesField, SvxFieldData ); +SV_IMPL_PERSIST1( SvxPagesField ); SvxPagesField::SvxPagesField() {} @@ -623,15 +525,7 @@ bool SvxPagesField::operator==( const SvxFieldData& rCmp ) const return ( dynamic_cast< const SvxPagesField *>(&rCmp) != nullptr); } -void SvxPagesField::Load( SvPersistStream & /*rStm*/ ) -{ -} - -void SvxPagesField::Save( SvPersistStream & /*rStm*/ ) -{ -} - -SV_IMPL_PERSIST1( SvxTimeField, SvxFieldData ); +SV_IMPL_PERSIST1( SvxTimeField ); SvxTimeField::SvxTimeField() {} @@ -645,20 +539,12 @@ bool SvxTimeField::operator==( const SvxFieldData& rCmp ) const return ( dynamic_cast< const SvxTimeField *>(&rCmp) != nullptr); } -void SvxTimeField::Load( SvPersistStream & /*rStm*/ ) -{ -} - -void SvxTimeField::Save( SvPersistStream & /*rStm*/ ) -{ -} - MetaAction* SvxTimeField::createBeginComment() const { return new MetaCommentAction( "FIELD_SEQ_BEGIN" ); } -SV_IMPL_PERSIST1( SvxFileField, SvxFieldData ); +SV_IMPL_PERSIST1( SvxFileField ); SvxFileField::SvxFileField() {} @@ -672,15 +558,7 @@ bool SvxFileField::operator==( const SvxFieldData& rCmp ) const return ( dynamic_cast< const SvxFileField *>(&rCmp) != nullptr ); } -void SvxFileField::Load( SvPersistStream & /*rStm*/ ) -{ -} - -void SvxFileField::Save( SvPersistStream & /*rStm*/ ) -{ -} - -SV_IMPL_PERSIST1( SvxTableField, SvxFieldData ); +SV_IMPL_PERSIST1( SvxTableField ); SvxTableField::SvxTableField() : mnTab(0) {} @@ -705,19 +583,10 @@ bool SvxTableField::operator==( const SvxFieldData& rCmp ) const return mnTab == static_cast<const SvxTableField&>(rCmp).mnTab; } -void SvxTableField::Load( SvPersistStream & /*rStm*/ ) -{ -} - -void SvxTableField::Save( SvPersistStream & /*rStm*/ ) -{ -} - - // SvxExtTimeField -SV_IMPL_PERSIST1( SvxExtTimeField, SvxFieldData ); +SV_IMPL_PERSIST1( SvxExtTimeField ); SvxExtTimeField::SvxExtTimeField() @@ -754,27 +623,6 @@ bool SvxExtTimeField::operator==( const SvxFieldData& rOther ) const } -void SvxExtTimeField::Load( SvPersistStream & rStm ) -{ - sal_uInt16 nType, nFormat; - - rStm.ReadInt64(m_nFixTime); - rStm.ReadUInt16( nType ); - rStm.ReadUInt16( nFormat ); - - eType = (SvxTimeType) nType; - eFormat= (SvxTimeFormat) nFormat; -} - - -void SvxExtTimeField::Save( SvPersistStream & rStm ) -{ - rStm.WriteInt64(m_nFixTime); - rStm.WriteUInt16( eType ); - rStm.WriteUInt16( eFormat ); -} - - OUString SvxExtTimeField::GetFormatted( SvNumberFormatter& rFormatter, LanguageType eLang ) const { tools::Time aTime( tools::Time::EMPTY ); @@ -855,7 +703,7 @@ MetaAction* SvxExtTimeField::createBeginComment() const // SvxExtFileField -SV_IMPL_PERSIST1( SvxExtFileField, SvxFieldData ); +SV_IMPL_PERSIST1( SvxExtFileField ); SvxExtFileField::SvxExtFileField() @@ -891,31 +739,6 @@ bool SvxExtFileField::operator==( const SvxFieldData& rOther ) const } -void SvxExtFileField::Load( SvPersistStream & rStm ) -{ - sal_uInt16 nType, nFormat; - - // UNICODE: rStm >> aFile; - aFile = rStm.ReadUniOrByteString(rStm.GetStreamCharSet()); - - rStm.ReadUInt16( nType ); - rStm.ReadUInt16( nFormat ); - - eType = (SvxFileType) nType; - eFormat= (SvxFileFormat) nFormat; -} - - -void SvxExtFileField::Save( SvPersistStream & rStm ) -{ - // UNICODE: rStm << aFile; - rStm.WriteUniOrByteString(aFile, rStm.GetStreamCharSet()); - - rStm.WriteUInt16( eType ); - rStm.WriteUInt16( eFormat ); -} - - OUString SvxExtFileField::GetFormatted() const { OUString aString; @@ -995,7 +818,7 @@ OUString SvxExtFileField::GetFormatted() const // SvxAuthorField -SV_IMPL_PERSIST1( SvxAuthorField, SvxFieldData ); +SV_IMPL_PERSIST1( SvxAuthorField ); SvxAuthorField::SvxAuthorField() @@ -1038,33 +861,6 @@ bool SvxAuthorField::operator==( const SvxFieldData& rOther ) const } -void SvxAuthorField::Load( SvPersistStream & rStm ) -{ - sal_uInt16 nType = 0, nFormat = 0; - - aName = read_unicode( rStm ); - aFirstName = read_unicode( rStm ); - aShortName = read_unicode( rStm ); - - rStm.ReadUInt16( nType ); - rStm.ReadUInt16( nFormat ); - - eType = (SvxAuthorType) nType; - eFormat= (SvxAuthorFormat) nFormat; -} - - -void SvxAuthorField::Save( SvPersistStream & rStm ) -{ - write_unicode( rStm, aName ); - write_unicode( rStm, aFirstName ); - write_unicode( rStm, aShortName ); - - rStm.WriteUInt16( eType ); - rStm.WriteUInt16( eFormat ); -} - - OUString SvxAuthorField::GetFormatted() const { OUString aString; @@ -1090,29 +886,7 @@ OUString SvxAuthorField::GetFormatted() const return aString; } -static SvClassManager* pClassMgr=nullptr; - -SvClassManager& SvxFieldItem::GetClassManager() -{ - if ( !pClassMgr ) - { - pClassMgr = new SvClassManager; - pClassMgr->Register(SvxFieldData::StaticClassId(), SvxFieldData::CreateInstance); - pClassMgr->Register(SvxURLField::StaticClassId(), SvxURLField::CreateInstance); - pClassMgr->Register(SvxDateField::StaticClassId(), SvxDateField::CreateInstance); - pClassMgr->Register(SvxPageField::StaticClassId(), SvxPageField::CreateInstance); - pClassMgr->Register(SvxPageTitleField::StaticClassId(), SvxPageTitleField::CreateInstance); - pClassMgr->Register(SvxTimeField::StaticClassId(), SvxTimeField::CreateInstance); - pClassMgr->Register(SvxExtTimeField::StaticClassId(), SvxExtTimeField::CreateInstance); - pClassMgr->Register(SvxExtFileField::StaticClassId(), SvxExtFileField::CreateInstance); - pClassMgr->Register(SvxAuthorField::StaticClassId(), SvxAuthorField::CreateInstance); - } - - return *pClassMgr; -} - - -SV_IMPL_PERSIST1( SvxHeaderField, SvxFieldData ); +SV_IMPL_PERSIST1( SvxHeaderField ); SvxHeaderField::SvxHeaderField() {} @@ -1126,16 +900,8 @@ bool SvxHeaderField::operator==( const SvxFieldData& rCmp ) const return ( dynamic_cast< const SvxHeaderField *>(&rCmp) != nullptr ); } -void SvxHeaderField::Load( SvPersistStream & /*rStm*/ ) -{ -} +SV_IMPL_PERSIST1( SvxFooterField ); -void SvxHeaderField::Save( SvPersistStream & /*rStm*/ ) -{ -} - - -SV_IMPL_PERSIST1( SvxFooterField, SvxFieldData ); SvxFooterField::SvxFooterField() {} SvxFieldData* SvxFooterField::Clone() const @@ -1148,16 +914,7 @@ bool SvxFooterField::operator==( const SvxFieldData& rCmp ) const return ( dynamic_cast< const SvxFooterField *>(&rCmp) != nullptr ); } -void SvxFooterField::Load( SvPersistStream & /*rStm*/ ) -{ -} - -void SvxFooterField::Save( SvPersistStream & /*rStm*/ ) -{ -} - - -SV_IMPL_PERSIST1( SvxDateTimeField, SvxFieldData ); +SV_IMPL_PERSIST1( SvxDateTimeField ); SvxFieldData* SvxDateTimeField::Clone() const { @@ -1169,14 +926,6 @@ bool SvxDateTimeField::operator==( const SvxFieldData& rCmp ) const return ( dynamic_cast< const SvxDateTimeField *>(&rCmp) != nullptr ); } -void SvxDateTimeField::Load( SvPersistStream & /*rStm*/ ) -{ -} - -void SvxDateTimeField::Save( SvPersistStream & /*rStm*/ ) -{ -} - SvxDateTimeField::SvxDateTimeField() {} OUString SvxDateTimeField::GetFormatted( diff --git a/editeng/source/items/svdfield.cxx b/editeng/source/items/svdfield.cxx index c0f91f1e2780..9ff72de11fdd 100644 --- a/editeng/source/items/svdfield.cxx +++ b/editeng/source/items/svdfield.cxx @@ -20,7 +20,7 @@ #include <editeng/measfld.hxx> -SV_IMPL_PERSIST1(SdrMeasureField,SvxFieldData); +SV_IMPL_PERSIST1(SdrMeasureField); SdrMeasureField::~SdrMeasureField() { @@ -36,16 +36,4 @@ bool SdrMeasureField::operator==(const SvxFieldData& rSrc) const return eMeasureFieldKind == static_cast<const SdrMeasureField&>(rSrc).GetMeasureFieldKind(); } -void SdrMeasureField::Load(SvPersistStream& rIn) -{ - sal_uInt16 nFieldKind; - rIn.ReadUInt16( nFieldKind ); - eMeasureFieldKind=(SdrMeasureFieldKind)nFieldKind; -} - -void SdrMeasureField::Save(SvPersistStream& rOut) -{ - rOut.WriteUInt16( eMeasureFieldKind ); -} - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/idl/inc/basobj.hxx b/idl/inc/basobj.hxx index cf205644ca17..a1ede771eee9 100644 --- a/idl/inc/basobj.hxx +++ b/idl/inc/basobj.hxx @@ -82,7 +82,7 @@ public: } }; -class SvMetaObject : public SvRttiBase +class SvMetaObject : public SvRefBase { protected: OString aName; diff --git a/include/editeng/flditem.hxx b/include/editeng/flditem.hxx index ed1a7edf020e..afafedb69b40 100644 --- a/include/editeng/flditem.hxx +++ b/include/editeng/flditem.hxx @@ -76,7 +76,6 @@ public: virtual SfxPoolItem* Clone( SfxItemPool *pPool = nullptr ) const override; const SvxFieldData* GetField() const { return mxField.get(); } - static SvClassManager& GetClassManager(); }; diff --git a/include/svx/svdfield.hxx b/include/svx/svdfield.hxx deleted file mode 100644 index 60c95e7ad212..000000000000 --- a/include/svx/svdfield.hxx +++ /dev/null @@ -1,29 +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_SVX_SVDFIELD_HXX -#define INCLUDED_SVX_SVDFIELD_HXX - -#include <svx/svxdllapi.h> - -void SVX_DLLPUBLIC SdrRegisterFieldClasses(); - -#endif // INCLUDED_SVX_SVDFIELD_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/tools/pstm.hxx b/include/tools/pstm.hxx index 6292a52c897f..1f55c7c0fa0f 100644 --- a/include/tools/pstm.hxx +++ b/include/tools/pstm.hxx @@ -26,147 +26,18 @@ #include <map> #include <unordered_map> -#define ERRCODE_IO_NOFACTORY ERRCODE_IO_WRONGFORMAT - -class SvPersistBase; - -typedef void * (*SvCreateInstancePersist)( SvPersistBase ** ); - -#define SV_CLASS_REGISTER( Class ) \ - Register( Class::StaticClassId(), Class::CreateInstance ) - -class TOOLS_DLLPUBLIC SvClassManager -{ - typedef std::unordered_map<sal_Int32, SvCreateInstancePersist> Map; - Map aAssocTable; - -public: - void Register( sal_Int32 nClassId, SvCreateInstancePersist pFunc ); - SvCreateInstancePersist Get( sal_Int32 nClassId ); -}; - -class TOOLS_DLLPUBLIC SvRttiBase : public SvRefBase -{ -public: -}; - #define SV_DECL_PERSIST1( Class, CLASS_ID ) \ static sal_Int32 StaticClassId() { return CLASS_ID; } \ - static void * CreateInstance( SvPersistBase ** ppBase ); \ - friend SvPersistStream& operator >> ( SvPersistStream & rStm, \ - Class *& rpObj); \ virtual sal_Int32 GetClassId() const override; \ - virtual void Load( SvPersistStream & ) override; \ - virtual void Save( SvPersistStream & ) override; -#define SV_IMPL_PERSIST1( Class, Super1 ) \ - void * Class::CreateInstance( SvPersistBase ** ppBase )\ - { \ - Class * p = new Class(); \ - *ppBase = p; \ - return p; \ - } \ - sal_Int32 Class::GetClassId() const \ +#define SV_IMPL_PERSIST1( Class ) \ + sal_Int32 Class::GetClassId() const \ { return StaticClassId(); } \ - SvPersistStream& operator >> (SvPersistStream & rStm, Class *& rpObj)\ - { \ - SvPersistBase * pObj; \ - rStm >> pObj; \ - rpObj = dynamic_cast< Class*>( pObj ); \ - return rStm; \ - } - -class SvPersistStream; -class SvPersistBase : public SvRttiBase +class SvPersistBase : public SvRefBase { public: virtual sal_Int32 GetClassId() const = 0; - virtual void Load( SvPersistStream & ) = 0; - virtual void Save( SvPersistStream & ) = 0; - TOOLS_DLLPUBLIC friend SvPersistStream& operator >> ( SvPersistStream & rStm, - SvPersistBase *& rpObj ); -}; - -class SvStream; - -/** Persistent Stream - - This class provides accessor to storing and loading runtime objects. - All dependent objects have to be stored as well. - In order to load objects automatically, every object class must - provide a Factory method to read an object from stream. - The list of all classes is stored in a <SvClassManager> object - and is sent to SvPersistStream upon initialization. - By using the Method SvPersistStream::WriteCompressed and - SvPersistStream::ReadCompressed, compressed sal_uInt32 values may be - written to / read from the Stream. - Several helper methods exists for writing and reading - object lengths to the stream: SvPersistStream::WriteDummyLen, - SvPersistStream::WriteLen and SvPersistStream::ReadLen. - - [Example] - - One example is described in the constructor. - Assume a ring-like dependency, where A references B, - B itself references C, and C references to both D and A. - - The order of the objects upon saving and loading does not matter, - as long objects are loaded in the same order they were stored. - - Saving: Loading: - A,B,C,D A,B,C,D correct - B,A,C,D B,A,C,D correct - C,A,B,D A,B,C,D wrong - A,B,C,D A,B,C wrong - - @note The file formats DBG_UTIL and !DBG_UTIL differ, but we can read from - both versions. -*/ -class TOOLS_DLLPUBLIC SvPersistStream : public SvStream -{ -public: - typedef UniqueIndex<SvPersistBase>::Index Index; - -private: - typedef std::map<SvPersistBase*, Index> PersistBaseMap; - - SvClassManager & rClassMgr; - SvStream * pStm; - PersistBaseMap aPTable; // reversed pointer and key - UniqueIndex<SvPersistBase> - aPUIdx; - Index nStartIdx; - - virtual std::size_t GetData(void* pData, std::size_t nSize) override; - virtual std::size_t PutData(const void* pData, std::size_t nSize) override; - virtual sal_uInt64 SeekPos(sal_uInt64 nPos) override; - virtual void FlushData() override; - -protected: - void WriteObj( sal_uInt8 nHdr, SvPersistBase * pObj ); - void ReadObj( SvPersistBase * & rpObj ); - -public: - virtual void ResetError() override; - - SvPersistStream( SvClassManager &, SvStream * pStream ); - virtual ~SvPersistStream() override; - - SvPersistBase * GetObject( Index nIdx ) const; - Index GetIndex( SvPersistBase * ) const; - - static void WriteCompressed( SvStream & rStm, sal_uInt32 nVal ); - static sal_uInt32 ReadCompressed( SvStream & rStm ); - - sal_uInt32 WriteDummyLen(); - void WriteLen( sal_uInt32 nLenPos ); - sal_uInt32 ReadLen( sal_uInt32 * pTestPos ); - - SvPersistStream& WritePointer( SvPersistBase * pObj ); - SvPersistStream& ReadPointer( SvPersistBase * & rpObj ); - TOOLS_DLLPUBLIC friend SvPersistStream& WriteSvPersistBase(SvPersistStream &, SvPersistBase *); - TOOLS_DLLPUBLIC friend SvPersistStream& operator >> (SvPersistStream &, SvPersistBase * &); }; #endif diff --git a/sc/source/ui/app/scdll.cxx b/sc/source/ui/app/scdll.cxx index daa0c7cf06ea..7c555111b6db 100644 --- a/sc/source/ui/app/scdll.cxx +++ b/sc/source/ui/app/scdll.cxx @@ -100,7 +100,6 @@ #include <svx/imapdlg.hxx> #include "editutil.hxx" -#include <svx/svdfield.hxx> #include "dwfunctr.hxx" #include "acredlin.hxx" @@ -262,14 +261,6 @@ void ScDLL::Init() sc::SearchResultsDlgWrapper::RegisterChildWindow(false, pMod); ScCondFormatDlgWrapper::RegisterChildWindow(false, pMod); - // EditEngine Field; insofar not already defined in OfficeApplication::Init - SvClassManager& rClassManager = SvxFieldItem::GetClassManager(); - rClassManager.Register(SvxPagesField::StaticClassId(), SvxPagesField::CreateInstance); - rClassManager.Register(SvxFileField::StaticClassId(), SvxFileField::CreateInstance); - rClassManager.Register(SvxTableField::StaticClassId(), SvxTableField::CreateInstance); - - SdrRegisterFieldClasses(); // Register SvDraw fields - // Add 3DObject Factory E3dObjFactory(); diff --git a/sd/source/ui/app/sddll.cxx b/sd/source/ui/app/sddll.cxx index 8b8430d32d56..b487624c151b 100644 --- a/sd/source/ui/app/sddll.cxx +++ b/sd/source/ui/app/sddll.cxx @@ -25,7 +25,6 @@ #include <unotools/configmgr.hxx> #include <unotools/moduleoptions.hxx> #include <svx/fmobjfac.hxx> -#include <svx/svdfield.hxx> #include <svx/objfac3d.hxx> #include <vcl/svapp.hxx> @@ -277,9 +276,6 @@ void SdDLL::Init() // register your controllers here RegisterControllers(pModule); - // register SvDraw-Fields - SdrRegisterFieldClasses(); - // register 3D-object-factory E3dObjFactory(); diff --git a/svx/source/svdraw/svdotxfl.cxx b/svx/source/svdraw/svdotxfl.cxx index 154e7707d73a..4fe84291dc80 100644 --- a/svx/source/svdraw/svdotxfl.cxx +++ b/svx/source/svdraw/svdotxfl.cxx @@ -18,27 +18,8 @@ */ #include <editeng/eeitem.hxx> - #include <editeng/measfld.hxx> #include <svx/svdotext.hxx> -#include <svx/svdfield.hxx> - -static bool bInit = false; - -// Do not remove this, it is still used in src536a! -void SdrRegisterFieldClasses() -{ - if ( !bInit ) - { - SvxFieldItem::GetClassManager().SV_CLASS_REGISTER(SdrMeasureField); - SvxFieldItem::GetClassManager().SV_CLASS_REGISTER(SvxHeaderField); - SvxFieldItem::GetClassManager().SV_CLASS_REGISTER(SvxFooterField); - SvxFieldItem::GetClassManager().SV_CLASS_REGISTER(SvxDateTimeField); - bInit = true; - } -} - -///////////////////////////////////////////////////////////////////////////////////////////////// */ bool SdrTextObj::CalcFieldValue(const SvxFieldItem& /*rField*/, sal_Int32 /*nPara*/, sal_uInt16 /*nPos*/, bool /*bEdit*/, Color*& /*rpTxtColor*/, Color*& /*rpFldColor*/, OUString& /*rRet*/) const diff --git a/sw/source/uibase/app/swdll.cxx b/sw/source/uibase/app/swdll.cxx index 201fa02d1384..d47a700af7a2 100644 --- a/sw/source/uibase/app/swdll.cxx +++ b/sw/source/uibase/app/swdll.cxx @@ -40,7 +40,6 @@ #include <comphelper/processfactory.hxx> #include <svx/fmobjfac.hxx> -#include <svx/svdfield.hxx> #include <svx/objfac3d.hxx> #include <editeng/acorrcfg.hxx> @@ -110,9 +109,6 @@ SwDLL::SwDLL() pDocFact->SetDocumentServiceName("com.sun.star.text.TextDocument"); } - // register SvDraw-Fields - SdrRegisterFieldClasses(); - // register 3D-object-Factory E3dObjFactory(); diff --git a/tools/Library_tl.mk b/tools/Library_tl.mk index d0d9f4516c2b..9b3a9d984bd6 100644 --- a/tools/Library_tl.mk +++ b/tools/Library_tl.mk @@ -70,7 +70,6 @@ $(eval $(call gb_Library_add_exception_objects,tl,\ tools/source/misc/cpuid \ tools/source/misc/extendapplicationenvironment \ tools/source/ref/globname \ - tools/source/ref/pstm \ tools/source/ref/ref \ tools/source/stream/stream \ tools/source/stream/vcompat \ diff --git a/tools/source/ref/pstm.cxx b/tools/source/ref/pstm.cxx deleted file mode 100644 index 41b8cacf3135..000000000000 --- a/tools/source/ref/pstm.cxx +++ /dev/null @@ -1,516 +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 <tools/pstm.hxx> -#include <rtl/strbuf.hxx> -#include <osl/diagnose.h> -#include <sal/log.hxx> - -#define STOR_NO_OPTIMIZE - -void SvClassManager::Register( sal_Int32 nClassId, SvCreateInstancePersist pFunc ) -{ -#ifdef DBG_UTIL - SvCreateInstancePersist p; - p = Get( nClassId ); - assert( (!p || p == pFunc) && "register class with same id"); -#endif - aAssocTable.insert(Map::value_type(nClassId, pFunc)); -} - -SvCreateInstancePersist SvClassManager::Get( sal_Int32 nClassId ) -{ - Map::const_iterator i(aAssocTable.find(nClassId)); - return i == aAssocTable.end() ? nullptr : i->second; -} - -/** Constructor - - @param rMgr Stores factories for objects that can persisted - @param pStream This stream is used as the medium for PersistStream - @param nStartIdxP Start value for object identifier (set > 0 ) - - @warning Objects rMgr and pStream must not be manipulated while used in - SvPersistStream. An Exception to this is pvStream - (cf. <SvPersistStream::SetStream>). - @see SvPersistStream::SetStream -*/ -SvPersistStream::SvPersistStream( SvClassManager & rMgr, SvStream * pStream ) - : rClassMgr( rMgr ) - , pStm( pStream ) - , aPUIdx( UniqueIndex<SvPersistBase>::Index(1) ) - , nStartIdx( 1 ) -{ - m_isWritable = true; - if( pStm ) - { - SetVersion( pStm->GetVersion() ); - SetError( pStm->GetError() ); - SyncSvStream( pStm->Tell() ); - } -} - -SvPersistStream::~SvPersistStream() -{ - if( pStm != nullptr ) - { - SyncSysStream(); - pStm->SetError( GetError() ); - pStm = nullptr; - } -} - -void SvPersistStream::ResetError() -{ - SvStream::ResetError(); - assert(pStm && "stream not set"); - pStm->ResetError(); -} - -std::size_t SvPersistStream::GetData( void* pData, std::size_t nSize ) -{ - assert(pStm && "stream not set"); - std::size_t const nRet = pStm->ReadBytes( pData, nSize ); - SetError( pStm->GetError() ); - return nRet; -} - -std::size_t SvPersistStream::PutData( const void* pData, std::size_t nSize ) -{ - assert(pStm && "stream not set"); - std::size_t const nRet = pStm->WriteBytes( pData, nSize ); - SetError( pStm->GetError() ); - return nRet; -} - -sal_uInt64 SvPersistStream::SeekPos(sal_uInt64 const nPos) -{ - assert(pStm && "stream not set"); - sal_uInt64 nRet = pStm->Seek( nPos ); - SetError( pStm->GetError() ); - return nRet; -} - -void SvPersistStream::FlushData() -{ -} - -SvPersistStream::Index SvPersistStream::GetIndex( SvPersistBase * pObj ) const -{ - PersistBaseMap::const_iterator it = aPTable.find( pObj ); - if( it == aPTable.end() ) - { - return Index(0); - } - return it->second; -} - -SvPersistBase * SvPersistStream::GetObject( Index nIdx ) const -{ - if( nIdx >= nStartIdx ) - return aPUIdx.Get( nIdx ); - return nullptr; -} - -#define LEN_1 0x80 -#define LEN_2 0x40 -#define LEN_4 0x20 -#define LEN_5 0x10 - -/** Reads a compressed word from the stream. - - For details on what format is used for compression, see - <SvPersistStream::WriteCompressed>. - - @param rStm Source to read compressed data from - - @return Uncompressed word - @see SvPersistStream::WriteCompressed -*/ -sal_uInt32 SvPersistStream::ReadCompressed( SvStream & rStm ) -{ - sal_uInt32 nRet(0); - sal_uInt8 nMask; - rStm.ReadUChar( nMask ); - if( nMask & LEN_1 ) - nRet = ~LEN_1 & nMask; - else if( nMask & LEN_2 ) - { - nRet = ~LEN_2 & nMask; - nRet <<= 8; - rStm.ReadUChar( nMask ); - nRet |= nMask; - } - else if( nMask & LEN_4 ) - { - nRet = ~LEN_4 & nMask; - nRet <<= 8; - rStm.ReadUChar( nMask ); - nRet |= nMask; - nRet <<= 16; - sal_uInt16 n; - rStm.ReadUInt16( n ); - nRet |= n; - } - else if( nMask & LEN_5 ) - { - if( nMask & 0x0F ) - { - rStm.SetError( SVSTREAM_FILEFORMAT_ERROR ); - OSL_FAIL( "format error" ); - } - rStm.ReadUInt32( nRet ); - } - else - { - rStm.SetError( SVSTREAM_FILEFORMAT_ERROR ); - OSL_FAIL( "format error" ); - } - return nRet; -} - -/** Writes compressed stream - - @param rStm Source for writing compressed data - @param nVal This value will be compressed and written - - nVal is compressed and written to stream using the following algorithm - nVal < 0x80 => 0x80 + nVal of size 1 Byte. - nVal < 0x4000 => 0x4000 + nVal of size 2 Byte. - nVal < 0x20000000 => 0x20000000 + nVal of size 4 Byte. - nVal > 0x1FFFFFFF => 0x1000000000+ nVal of size 5 Byte. - - @see SvPersistStream::ReadCompressed -*/ -void SvPersistStream::WriteCompressed( SvStream & rStm, sal_uInt32 nVal ) -{ -#ifdef STOR_NO_OPTIMIZE - if( nVal < 0x80 ) - rStm.WriteUChar( LEN_1 | nVal ); - else if( nVal < 0x4000 ) - { - rStm.WriteUChar( LEN_2 | (nVal >> 8) ); - rStm.WriteUChar( nVal ); - } - else if( nVal < 0x20000000 ) - { - // highest sal_uInt8 - rStm.WriteUChar( LEN_4 | (nVal >> 24) ); - // 2nd highest sal_uInt8 - rStm.WriteUChar( nVal >> 16 ); - rStm.WriteUInt16( nVal ); - } - else -#endif - { - rStm.WriteUChar( LEN_5 ); - rStm.WriteUInt32( nVal ); - } -} - -/** This method writes length value of 4 Bytes to the stream and returns the - stream position. - - Example: - @code - sal_uInt32 nObjPos = rStm.WriteDummyLen(); - ... - // write data - ... - rStm.WriteLen( nObjPos ); - @endcode - - @return Position of stream behind length value - - @see SvPersistStream::ReadLen - @see SvPersistStream::WriteLen -*/ -sal_uInt32 SvPersistStream::WriteDummyLen() -{ - WriteUInt32( 0 ); - return Tell(); -} - -/** Write difference between current position and nObjPos - as sal_uInt32 to position nObjPos-4 in the stream. - - Afterwards, reset stream to old position. - - Example: Difference does not contain length value - @code - sal_uInt32 nObjPos = rStm.WriteDummyLen(); - ... - // write data - ... - rStm.WriteLen( nObjPos ); - // write more data - @endcode - - @param nObjPos Position+4, on which length is written to - - @see SvPersistStream::ReadLen - @see SvPersistStream::WriteDummyLen -*/ -void SvPersistStream::WriteLen( sal_uInt32 nObjPos ) -{ - sal_uInt32 nPos = Tell(); - sal_uInt32 nLen = nPos - nObjPos; - // Length in stream must be 4 Bytes - Seek( nObjPos - sizeof( sal_uInt32 ) ); - // write length - WriteUInt32( nLen ); - Seek( nPos ); -} - -/** Read a length value written to stream - - @param pTestPos Position of the stream after reading length. May be NULL. - - @see SvPersistStream::WriteDummyLen - @see SvPersistStream::WriteLen -*/ -sal_uInt32 SvPersistStream::ReadLen( sal_uInt32 * pTestPos ) -{ - sal_uInt32 nLen; - ReadUInt32( nLen ); - if( pTestPos ) - *pTestPos = Tell(); - return nLen; -} - -// File format backward-compatible -#ifdef STOR_NO_OPTIMIZE -#define P_VER (sal_uInt8)0x00 -#else -#define P_VER (sal_uInt8)0x01 -#endif -#define P_VER_MASK (sal_uInt8)0x0F -#define P_ID_0 (sal_uInt8)0x80 -#define P_OBJ (sal_uInt8)0x40 -#define P_DBGUTIL (sal_uInt8)0x20 -#define P_ID (sal_uInt8)0x10 -#ifdef STOR_NO_OPTIMIZE -#define P_STD P_DBGUTIL -#else -#define P_STD 0 -#endif - -static void WriteId -( - SvStream & rStm, - sal_uInt8 nHdr, - sal_uInt32 nId, - sal_uInt16 nClassId -) -{ -#ifdef STOR_NO_OPTIMIZE - nHdr |= P_ID; -#endif - nHdr |= P_VER; - if( nHdr & P_ID ) - { - if( (nHdr & P_OBJ) || nId != 0 ) - { // Id set only for pointers or DBGUTIL - rStm.WriteUChar( nHdr ); - SvPersistStream::WriteCompressed( rStm, nId ); - } - else - { // NULL Pointer - rStm.WriteUChar( nHdr | P_ID_0 ); - return; - } - } - else - rStm.WriteUChar( nHdr ); - - if( (nHdr & P_DBGUTIL) || (nHdr & P_OBJ) ) - // Objects always have a class id - // Pointers only for DBG_UTIL and != NULL - SvPersistStream::WriteCompressed( rStm, nClassId ); -} - -static void ReadId -( - SvStream & rStm, - sal_uInt8 & nHdr, - SvPersistStream::Index & nId, - sal_uInt16 & nClassId -) -{ - nClassId = 0; - rStm.ReadUChar( nHdr ); - if( nHdr & P_ID_0 ) - nId = SvPersistStream::Index(0); - else - { - if( (nHdr & P_VER_MASK) == 0 ) - { - if( (nHdr & P_DBGUTIL) || !(nHdr & P_OBJ) ) - nId = SvPersistStream::Index(SvPersistStream::ReadCompressed( rStm )); - else - nId = SvPersistStream::Index(0); - } - else if( nHdr & P_ID ) - nId = SvPersistStream::Index(SvPersistStream::ReadCompressed( rStm )); - - if( (nHdr & P_DBGUTIL) || (nHdr & P_OBJ) ) - nClassId = (sal_uInt16)SvPersistStream::ReadCompressed( rStm ); - } -} - -void SvPersistStream::WriteObj -( - sal_uInt8 nHdr, - SvPersistBase * pObj -) -{ -#ifdef STOR_NO_OPTIMIZE - sal_uInt32 nObjPos = 0; - if( nHdr & P_DBGUTIL ) - // remember position for length value - nObjPos = WriteDummyLen(); -#endif - pObj->Save( *this ); -#ifdef STOR_NO_OPTIMIZE - if( nHdr & P_DBGUTIL ) - WriteLen( nObjPos ); -#endif -} - -SvPersistStream& SvPersistStream::WritePointer -( - SvPersistBase * pObj -) -{ - sal_uInt8 nP = P_STD; - - if( pObj ) - { - Index nId = GetIndex( pObj ); - if( nId ) - nP |= P_ID; - else - { - nId = aPUIdx.Insert( pObj ); - aPTable[ pObj ] = nId; - nP |= P_OBJ; - } - WriteId( *this, nP, (sal_uInt32)nId, pObj->GetClassId() ); - if( nP & P_OBJ ) - WriteObj( nP, pObj ); - } - else - { // NULL Pointer - WriteId( *this, nP | P_ID, 0, 0 ); - } - return *this; -} - -void SvPersistStream::ReadObj -( - SvPersistBase * & rpObj -) -{ - sal_uInt8 nHdr; - Index nId(0); - sal_uInt16 nClassId; - - rpObj = nullptr; // specification: 0 in case of error - ReadId( *this, nHdr, nId, nClassId ); - - // get version number through masking - if( P_VER < (nHdr & P_VER_MASK) ) - { - SetError( SVSTREAM_FILEFORMAT_ERROR ); - OSL_FAIL( "false version" ); - } - - if( !(nHdr & P_ID_0) && GetError() == ERRCODE_NONE ) - { - if( P_OBJ & nHdr ) - { // read object, nId only set for P_DBGUTIL - SAL_WARN_IF( (nHdr & P_DBGUTIL) && nullptr != aPUIdx.Get( nId ), "tools","object already exists"); - SvCreateInstancePersist pFunc = rClassMgr.Get( nClassId ); - - sal_uInt32 nObjLen(0), nObjPos(0); - if( nHdr & P_DBGUTIL ) - nObjLen = ReadLen( &nObjPos ); - if( !pFunc ) - { -#ifdef DBG_UTIL - SAL_INFO( "tools", "no class with id: " << nClassId << " registered" ); -#else - (void)nObjLen; -#endif - SetError( ERRCODE_IO_NOFACTORY ); - return; - } - pFunc( &rpObj ); - // Save reference - rpObj->AddFirstRef(); - - // insert into table - const Index nNewId = aPUIdx.Insert( rpObj ); - // in order to restore state after saving - aPTable[ rpObj ] = nNewId; - SAL_WARN_IF( (nHdr & P_DBGUTIL) && (nId != nNewId), "tools","read write id conflict: not the same"); - - rpObj->Load( *this ); - SAL_WARN_IF( nObjLen + nObjPos != Tell(), "tools", "false object len: read = " << (Tell() - nObjPos) - << ", should = " << nObjLen); - rpObj->RestoreNoDelete(); - rpObj->ReleaseRef(); - } - else - { - rpObj = GetObject( nId ); - SAL_WARN_IF(rpObj==nullptr,"tools","object does not exist"); - SAL_WARN_IF( rpObj->GetClassId() != nClassId , "tools" , "class mismatch" ); - } - } -} - -SvPersistStream& SvPersistStream::ReadPointer -( - SvPersistBase * & rpObj -) -{ - ReadObj( rpObj ); - return *this; -} - -SvPersistStream& WriteSvPersistBase -( - SvPersistStream & rStm, - SvPersistBase * pObj -) -{ - return rStm.WritePointer( pObj ); -} - -SvPersistStream& operator >> -( - SvPersistStream & rStm, - SvPersistBase * & rpObj -) -{ - return rStm.ReadPointer( rpObj ); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |