summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2016-11-02 14:44:14 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2016-11-03 06:31:49 +0000
commit58b662141a955375c24614c7dd0aeac7c96e7366 (patch)
tree0050b0cebf3897c7eb4cef9536760fadd59cc905 /sc
parentafdd4606e947cfd564aee66ed9ce419091350482 (diff)
remove unused BiffInputStream
Change-Id: If34bc1d5ea0e0153991d4891b88550e471b4ec07 Reviewed-on: https://gerrit.libreoffice.org/30489 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sc')
-rw-r--r--sc/Library_scfilt.mk1
-rw-r--r--sc/source/filter/inc/addressconverter.hxx2
-rw-r--r--sc/source/filter/inc/biffhelper.hxx7
-rw-r--r--sc/source/filter/inc/biffinputstream.hxx250
-rw-r--r--sc/source/filter/inc/excelhandlers.hxx17
-rw-r--r--sc/source/filter/inc/pivotcachebuffer.hxx25
-rw-r--r--sc/source/filter/oox/addressconverter.cxx2
-rw-r--r--sc/source/filter/oox/autofilterbuffer.cxx2
-rw-r--r--sc/source/filter/oox/autofiltercontext.cxx1
-rw-r--r--sc/source/filter/oox/biffcodec.cxx1
-rw-r--r--sc/source/filter/oox/biffhelper.cxx13
-rw-r--r--sc/source/filter/oox/biffinputstream.cxx386
-rw-r--r--sc/source/filter/oox/chartsheetfragment.cxx1
-rw-r--r--sc/source/filter/oox/commentsbuffer.cxx1
-rw-r--r--sc/source/filter/oox/condformatbuffer.cxx2
-rw-r--r--sc/source/filter/oox/connectionsbuffer.cxx2
-rw-r--r--sc/source/filter/oox/defnamesbuffer.cxx2
-rw-r--r--sc/source/filter/oox/excelfilter.cxx1
-rw-r--r--sc/source/filter/oox/excelhandlers.cxx6
-rw-r--r--sc/source/filter/oox/externallinkbuffer.cxx1
-rw-r--r--sc/source/filter/oox/externallinkfragment.cxx1
-rw-r--r--sc/source/filter/oox/formulabase.cxx2
-rw-r--r--sc/source/filter/oox/formulaparser.cxx2
-rw-r--r--sc/source/filter/oox/numberformatsbuffer.cxx2
-rw-r--r--sc/source/filter/oox/pagesettings.cxx1
-rw-r--r--sc/source/filter/oox/pivotcachebuffer.cxx141
-rw-r--r--sc/source/filter/oox/pivotcachefragment.cxx1
-rw-r--r--sc/source/filter/oox/pivottablebuffer.cxx2
-rw-r--r--sc/source/filter/oox/pivottablefragment.cxx2
-rw-r--r--sc/source/filter/oox/querytablebuffer.cxx2
-rw-r--r--sc/source/filter/oox/querytablefragment.cxx2
-rw-r--r--sc/source/filter/oox/richstring.cxx2
-rw-r--r--sc/source/filter/oox/scenariobuffer.cxx2
-rw-r--r--sc/source/filter/oox/sharedstringsbuffer.cxx2
-rw-r--r--sc/source/filter/oox/sheetdatabuffer.cxx1
-rw-r--r--sc/source/filter/oox/sheetdatacontext.cxx1
-rw-r--r--sc/source/filter/oox/stylesbuffer.cxx1
-rw-r--r--sc/source/filter/oox/tablecolumnsbuffer.cxx1
-rw-r--r--sc/source/filter/oox/tablecolumnscontext.cxx1
-rw-r--r--sc/source/filter/oox/viewsettings.cxx2
-rw-r--r--sc/source/filter/oox/workbookfragment.cxx1
-rw-r--r--sc/source/filter/oox/workbookhelper.cxx1
-rw-r--r--sc/source/filter/oox/workbooksettings.cxx3
-rw-r--r--sc/source/filter/oox/worksheetbuffer.cxx1
-rw-r--r--sc/source/filter/oox/worksheetfragment.cxx1
-rw-r--r--sc/source/filter/oox/worksheetsettings.cxx3
46 files changed, 18 insertions, 886 deletions
diff --git a/sc/Library_scfilt.mk b/sc/Library_scfilt.mk
index 98445c8a38f9..467a2d69634f 100644
--- a/sc/Library_scfilt.mk
+++ b/sc/Library_scfilt.mk
@@ -166,7 +166,6 @@ $(eval $(call gb_Library_add_exception_objects,scfilt,\
sc/source/filter/oox/autofiltercontext \
sc/source/filter/oox/biffcodec \
sc/source/filter/oox/biffhelper \
- sc/source/filter/oox/biffinputstream \
sc/source/filter/oox/chartsheetfragment \
sc/source/filter/oox/commentsbuffer \
sc/source/filter/oox/commentsfragment \
diff --git a/sc/source/filter/inc/addressconverter.hxx b/sc/source/filter/inc/addressconverter.hxx
index 2eafdb5408f8..add540177545 100644
--- a/sc/source/filter/inc/addressconverter.hxx
+++ b/sc/source/filter/inc/addressconverter.hxx
@@ -28,8 +28,6 @@
namespace oox {
namespace xls {
-class BiffInputStream;
-
/** A vector of com.sun.star.table.CellRangeAddress elements and additional
functionality. */
class ApiCellRangeList
diff --git a/sc/source/filter/inc/biffhelper.hxx b/sc/source/filter/inc/biffhelper.hxx
index 834b3272f5c7..c0d959078d35 100644
--- a/sc/source/filter/inc/biffhelper.hxx
+++ b/sc/source/filter/inc/biffhelper.hxx
@@ -27,8 +27,6 @@ namespace oox { class SequenceInputStream; }
namespace oox {
namespace xls {
-class BiffInputStream;
-
// BIFF12 record identifiers ==================================================
const sal_Int32 BIFF12_ID_ARRAY = 0x01AA;
@@ -609,11 +607,6 @@ public:
/** Reads a BIFF12 string with leading 16-bit or 32-bit length field. */
static OUString readString( SequenceInputStream& rStrm, bool b32BitLen = true, bool bAllowNulChars = false );
- // BIFF2-BIFF8 import -----------------------------------------------------
-
- /** Returns true, if the current record of the stream is a BOF record. */
- static bool isBofRecord( BiffInputStream& rStrm );
-
private:
BiffHelper() = delete;
~BiffHelper() = delete;
diff --git a/sc/source/filter/inc/biffinputstream.hxx b/sc/source/filter/inc/biffinputstream.hxx
deleted file mode 100644
index 565426a886f7..000000000000
--- a/sc/source/filter/inc/biffinputstream.hxx
+++ /dev/null
@@ -1,250 +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_SC_SOURCE_FILTER_INC_BIFFINPUTSTREAM_HXX
-#define INCLUDED_SC_SOURCE_FILTER_INC_BIFFINPUTSTREAM_HXX
-
-#include <vector>
-#include <oox/helper/binaryinputstream.hxx>
-#include "biffhelper.hxx"
-#include "biffcodec.hxx"
-
-namespace oox {
-namespace xls {
-
-namespace prv {
-
-/** Buffers the contents of a raw record and encapsulates stream decoding. */
-class BiffInputRecordBuffer
-{
-public:
- explicit BiffInputRecordBuffer( BinaryInputStream& rInStrm );
-
- /** Sets a decoder object and decrypts buffered record data. */
- void setDecoder( const BiffDecoderRef& rxDecoder );
- /** Enables/disables usage of current decoder. */
- void enableDecoder( bool bEnable );
-
- /** Restarts the stream at the passed position. Buffer is invalid until the
- next call of startRecord() or startNextRecord(). */
- void restartAt( sal_Int64 nPos );
-
- /** Reads the record header at the passed position. */
- bool startRecord( sal_Int64 nHeaderPos );
- /** Reads the next record header from the stream. */
- bool startNextRecord();
- /** Returns the start position of the record header in the core stream. */
- sal_uInt16 getNextRecId();
-
- /** Returns the start position of the record header in the core stream. */
- inline sal_Int64 getRecHeaderPos() const { return mnHeaderPos; }
- /** Returns the current record identifier. */
- inline sal_uInt16 getRecId() const { return mnRecId; }
- /** Returns the current record size. */
- inline sal_uInt16 getRecSize() const { return mnRecSize; }
- /** Returns the number of remaining bytes in the current record body. */
- inline sal_uInt16 getRecLeft() const { return mnRecSize - mnRecPos; }
-
- /** Reads nBytes bytes to the existing buffer opData. Must NOT overread the source buffer. */
- void read( void* opData, sal_uInt16 nBytes );
- /** Ignores nBytes bytes. Must NOT overread the buffer. */
- void skip( sal_uInt16 nBytes );
-
-private:
- /** Updates data buffer from stream, if needed. */
- void updateBuffer();
- /** Updates decoded data from original data. */
- void updateDecoded();
-
-private:
- typedef ::std::vector< sal_uInt8 > DataBuffer;
-
- BinaryInputStream& mrInStrm; /// Core input stream.
- DataBuffer maOriginalData; /// Original data read from stream.
- DataBuffer maDecodedData; /// Decoded data.
- DataBuffer* mpCurrentData; /// Points to data buffer currently in use.
- BiffDecoderRef mxDecoder; /// Decoder object.
- sal_Int64 mnHeaderPos; /// Stream start position of current record header.
- sal_Int64 mnBodyPos; /// Stream start position of current record body.
- sal_Int64 mnBufferBodyPos; /// Stream start position of buffered data.
- sal_Int64 mnNextHeaderPos; /// Stream start position of next record header.
- sal_uInt16 mnRecId; /// Current record identifier.
- sal_uInt16 mnRecSize; /// Current record size.
- sal_uInt16 mnRecPos; /// Current position in record body.
- bool mbValidHeader; /// True = valid record header.
-};
-
-} // namespace prv
-
-/** This class is used to read BIFF record streams.
-
- An instance is constructed with a BinaryInputStream object. The passed
- stream is reset to its start while constructing this stream.
-
- To start reading a record call startNextRecord(). Now it is possible to
- read all contents of the record using operator>>() or any of the read***()
- functions. If some data exceeds the record size limit, the stream looks for
- a following CONTINUE record and jumps automatically to it. It is NOT
- allowed that an atomic data type is split into two records (e.g. 4 bytes of
- a double in one record and the other 4 bytes in a following CONTINUE).
-
- Trying to read over the record limits results in a stream error. The
- isValid() function indicates that by returning false. From now on the data
- returned by the read functions is undefined. The error state will be reset,
- if the next record is started.
-
- The import stream supports decrypting the stream data. The contents of a
- record (not the record header) will be encrypted by Excel if the file has
- been stored with password protection. The functions setDecoder() and
- enableDecoder() control the usage of the decryption algorithms.
- setDecoder() sets a new decryption algorithm and initially enables it.
- enableDecoder( false ) may be used to stop the usage of the decryption
- temporarily (sometimes record contents are never encrypted, e.g. all BOF
- records or the stream position in SHEET records). Decryption will be
- reenabled automatically, if a new record is started with the function
- startNextRecord().
-*/
-class BiffInputStream : public BinaryInputStream
-{
-public:
- /** Constructs the BIFF record stream using the passed binary stream.
-
- @param rInStream
- The base input stream. Must be seekable. Will be sought to its
- start position.
- */
- explicit BiffInputStream(
- BinaryInputStream& rInStream );
-
- // record control ---------------------------------------------------------
-
- /** Sets stream pointer to the start of the next record content.
-
- Ignores all CONTINUE records of the current record, if automatic
- CONTINUE usage is switched on.
-
- @return False = no record found (end of stream).
- */
- bool startNextRecord();
-
- /** Sets stream pointer before current record and invalidates stream.
-
- The next call to startNextRecord() will start again the current record.
- This can be used in situations where a loop or a function leaves on a
- specific record, but the parent context expects to start this record by
- itself. The stream is invalid as long as the first record has not been
- started (it is not allowed to call any other stream operation then).
- */
- void rewindRecord();
-
- // decoder ----------------------------------------------------------------
-
- /** Enables/disables usage of current decoder.
-
- Decryption is reenabled automatically, if a new record is started using
- the function startNextRecord().
- */
- void enableDecoder();
-
- // stream/record state and info -------------------------------------------
-
- /** Returns the current record identifier. */
- inline sal_uInt16 getRecId() const { return mnRecId; }
- /** Returns the record identifier of the following record. */
- sal_uInt16 getNextRecId();
-
- /** Returns a unique handle for the current record that can be used with
- the function startRecordByHandle(). */
- inline sal_Int64 getRecHandle() const { return mnRecHandle; }
-
- // BinaryStreamBase interface (seeking) -----------------------------------
-
- /** Returns the data size of the whole record without record headers. */
- virtual sal_Int64 size() const override;
- /** Returns the position inside of the whole record content. */
- virtual sal_Int64 tell() const override;
- /** Seeks in record content to the specified position. */
- virtual void seek( sal_Int64 nRecPos ) override;
- /** Closes the input stream but not the wrapped stream. */
- virtual void close() override;
-
- // BinaryInputStream interface (stream read access) -----------------------
-
- /** Reads nBytes bytes to the passed sequence.
- @return Number of bytes really read. */
- virtual sal_Int32 readData( StreamDataSequence& orData, sal_Int32 nBytes, size_t nAtomSize = 1 ) override;
- /** Reads nBytes bytes and copies them to the passed buffer opMem.
- @return Number of bytes really read. */
- virtual sal_Int32 readMemory( void* opMem, sal_Int32 nBytes, size_t nAtomSize = 1 ) override;
- /** Seeks forward inside the current record. */
- virtual void skip( sal_Int32 nBytes, size_t nAtomSize = 1 ) override;
-
- /** Stream operator for integral and floating-point types. */
- template< typename Type >
- inline BiffInputStream& operator>>( Type& ornValue ) { ornValue = readValue<Type>(); return *this; }
-
- // byte strings -----------------------------------------------------------
-
- /** Reads 16 bit string length and character array, and returns a Unicode string.
- NUL characters are replaced by question marks (default).
- @param eTextEnc The text encoding used to create the Unicode string.
- */
- OUString readByteStringUC( rtl_TextEncoding eTextEnc );
-
-private:
- /** Initializes all members after base stream has been sought to new record. */
- void setupRecord();
- /** Restarts the current record from the beginning. */
- void restartRecord();
- /** Sets stream pointer before specified record and invalidates stream. */
- void rewindToRecord( sal_Int64 nRecHandle );
- /** Returns true, if stream was able to start a valid record. */
- inline bool isInRecord() const { return mnRecHandle >= 0; }
-
- /** Returns true, if the passed ID is real or alternative continuation record ID. */
- static bool isContinueId( sal_uInt16 nRecId );
- /** Goes to start of the next CONTINUE record.
- @descr Stream must be located at the end of a raw record, and handling
- of CONTINUE records must be enabled.
- @return True if next CONTINUE record has been found and initialized. */
- bool jumpToNextContinue();
- /** Calculates the complete length of the current record including CONTINUE
- records, stores the length in mnComplRecSize. */
- void calcRecordLength();
-
- /** Returns the maximum size of raw data possible to read in one block. */
- sal_uInt16 getMaxRawReadSize( sal_Int32 nBytes, size_t nAtomSize ) const;
-
-private:
- prv::BiffInputRecordBuffer maRecBuffer; /// Raw record data buffer.
-
- sal_Int64 mnRecHandle; /// Handle of current record.
- sal_uInt16 mnRecId; /// Identifier of current record (not the CONTINUE ID).
-
- sal_Int64 mnCurrRecSize; /// Helper for record size and position.
- sal_Int64 mnComplRecSize; /// Size of complete record data (with CONTINUEs).
- bool mbHasComplRec; /// True = mnComplRecSize is valid.
-};
-
-} // namespace xls
-} // namespace oox
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/filter/inc/excelhandlers.hxx b/sc/source/filter/inc/excelhandlers.hxx
index 780da035bde3..8d5391896c57 100644
--- a/sc/source/filter/inc/excelhandlers.hxx
+++ b/sc/source/filter/inc/excelhandlers.hxx
@@ -76,23 +76,6 @@ public:
};
-/** Context handler derived from the WorksheetHelper helper class.
- Base class for all BIFF context handlers.
-
- Used to import contexts in sheet fragments.
- */
-class BiffWorksheetContextBase : public WorksheetHelper
-{
-protected:
- explicit BiffWorksheetContextBase( const WorksheetHelper& rHelper );
-public:
- /*
- Derived handlers have to implement the importRecord() function that has to
- import the record the passed BIFF input stream currently points to.
- */
- virtual void importRecord( BiffInputStream& rStrm ) = 0;
-};
-
} // namespace xls
} // namespace oox
diff --git a/sc/source/filter/inc/pivotcachebuffer.hxx b/sc/source/filter/inc/pivotcachebuffer.hxx
index 771c53fe57ec..a45e09ce1ec4 100644
--- a/sc/source/filter/inc/pivotcachebuffer.hxx
+++ b/sc/source/filter/inc/pivotcachebuffer.hxx
@@ -72,19 +72,6 @@ public:
/** Reads the index of a shared item. */
void readIndex( SequenceInputStream& rStrm );
- /** Reads the string value from a pivot cache item. */
- void readString( BiffInputStream& rStrm, const WorkbookHelper& rHelper );
- /** Reads the double value from a pivot cache item. */
- void readDouble( BiffInputStream& rStrm );
- /** Reads the integer value from a pivot cache item. */
- void readInteger( BiffInputStream& rStrm );
- /** Reads the date/time value from a pivot cache item. */
- void readDate( BiffInputStream& rStrm );
- /** Reads the boolean value from a pivot cache item. */
- void readBool( BiffInputStream& rStrm );
- /** Reads the error code value from a pivot cache item. */
- void readError( BiffInputStream& rStrm );
-
/** Returns the type of the item. */
inline sal_Int32 getType() const { return mnType; }
/** Returns the value of the item. */
@@ -112,8 +99,6 @@ public:
void importItem( sal_Int32 nElement, const AttributeList& rAttribs );
/** Imports the item from the passed stream and record. */
void importItem( sal_Int32 nRecId, SequenceInputStream& rStrm );
- /** Imports a complete item list from the passed stream. */
- void importItemList( BiffInputStream& rStrm, sal_uInt16 nCount );
/** Returns true, if this item list is empty. */
inline bool empty() const { return maItems.empty(); }
@@ -241,10 +226,6 @@ public:
/** Imports one or more group items from the passed record. */
void importPCDFGroupItem( sal_Int32 nRecId, SequenceInputStream& rStrm );
- /** Imports numeric grouping settings from the PCDFRANGEPR record. */
- void importPCDFRangePr( BiffInputStream& rStrm );
- /** Imports the mapping between group items and base items from the PCDFDISCRETEPR record. */
- void importPCDFDiscretePr( BiffInputStream& rStrm );
/** Apply user Captions to imported group data */
void applyItemCaptions( const IdCaptionPairList& vCaptions );
@@ -303,9 +284,6 @@ public:
/** Reads an item from the PCRECORD record and writes it to the passed sheet. */
void importPCRecordItem( SequenceInputStream& rStrm,
WorksheetHelper& rSheetHelper, sal_Int32 nCol, sal_Int32 nRow ) const;
- /** Reads an item index from the PCITEM_INDEXLIST record and writes the item to the passed sheet. */
- void importPCItemIndex( BiffInputStream& rStrm,
- WorksheetHelper& rSheetHelper, sal_Int32 nCol, sal_Int32 nRow ) const;
private:
/** Tries to write the passed value to the passed sheet position. */
@@ -419,9 +397,6 @@ public:
/** Reads a PCRECORD record and writes all item values to the passed sheet. */
void importPCRecord( SequenceInputStream& rStrm,
WorksheetHelper& rSheetHelper, sal_Int32 nRowIdx ) const;
- /** Reads a PCITEM_INDEXLIST record and writes all item values to the passed sheet. */
- void importPCItemIndexList( BiffInputStream& rStrm,
- WorksheetHelper& rSheetHelper, sal_Int32 nRowIdx ) const;
private:
diff --git a/sc/source/filter/oox/addressconverter.cxx b/sc/source/filter/oox/addressconverter.cxx
index 6d8c86706cb5..60fdb33bae84 100644
--- a/sc/source/filter/oox/addressconverter.cxx
+++ b/sc/source/filter/oox/addressconverter.cxx
@@ -27,7 +27,7 @@
#include <rtl/ustrbuf.hxx>
#include <oox/core/filterbase.hxx>
#include <oox/helper/containerhelper.hxx>
-#include "biffinputstream.hxx"
+#include <oox/helper/binaryinputstream.hxx>
namespace oox {
namespace xls {
diff --git a/sc/source/filter/oox/autofilterbuffer.cxx b/sc/source/filter/oox/autofilterbuffer.cxx
index bc1687e385bc..1aba425a78dd 100644
--- a/sc/source/filter/oox/autofilterbuffer.cxx
+++ b/sc/source/filter/oox/autofilterbuffer.cxx
@@ -31,11 +31,11 @@
#include <oox/helper/attributelist.hxx>
#include <oox/helper/containerhelper.hxx>
#include <oox/helper/propertyset.hxx>
+#include <oox/helper/binaryinputstream.hxx>
#include <oox/token/namespaces.hxx>
#include <oox/token/properties.hxx>
#include <oox/token/tokens.hxx>
#include "addressconverter.hxx"
-#include "biffinputstream.hxx"
#include "defnamesbuffer.hxx"
namespace oox {
diff --git a/sc/source/filter/oox/autofiltercontext.cxx b/sc/source/filter/oox/autofiltercontext.cxx
index 6f850559a801..db3eefd20f8c 100644
--- a/sc/source/filter/oox/autofiltercontext.cxx
+++ b/sc/source/filter/oox/autofiltercontext.cxx
@@ -20,7 +20,6 @@
#include "autofiltercontext.hxx"
#include "autofilterbuffer.hxx"
-#include "biffinputstream.hxx"
#include <oox/token/namespaces.hxx>
#include <oox/token/tokens.hxx>
diff --git a/sc/source/filter/oox/biffcodec.cxx b/sc/source/filter/oox/biffcodec.cxx
index 94a372a7a609..55e1b5c9a425 100644
--- a/sc/source/filter/oox/biffcodec.cxx
+++ b/sc/source/filter/oox/biffcodec.cxx
@@ -22,7 +22,6 @@
#include <osl/thread.h>
#include <oox/helper/attributelist.hxx>
#include <string.h>
-#include "biffinputstream.hxx"
namespace oox {
namespace xls {
diff --git a/sc/source/filter/oox/biffhelper.cxx b/sc/source/filter/oox/biffhelper.cxx
index 1c86026fb97b..e253ca0e9329 100644
--- a/sc/source/filter/oox/biffhelper.cxx
+++ b/sc/source/filter/oox/biffhelper.cxx
@@ -22,9 +22,9 @@
#include <rtl/math.hxx>
#include <rtl/tencinfo.h>
#include <osl/diagnose.h>
-#include "biffinputstream.hxx"
#include "worksheethelper.hxx"
#include <oox/helper/binaryoutputstream.hxx>
+#include <oox/helper/binaryinputstream.hxx>
namespace oox {
namespace xls {
@@ -108,17 +108,6 @@ union DecodedDouble
return aString;
}
-// BIFF2-BIFF8 import ---------------------------------------------------------
-
-/*static*/ bool BiffHelper::isBofRecord( BiffInputStream& rStrm )
-{
- return
- (rStrm.getRecId() == BIFF2_ID_BOF) ||
- (rStrm.getRecId() == BIFF3_ID_BOF) ||
- (rStrm.getRecId() == BIFF4_ID_BOF) ||
- (rStrm.getRecId() == BIFF5_ID_BOF);
-}
-
} // namespace xls
} // namespace oox
diff --git a/sc/source/filter/oox/biffinputstream.cxx b/sc/source/filter/oox/biffinputstream.cxx
deleted file mode 100644
index 48e351890d79..000000000000
--- a/sc/source/filter/oox/biffinputstream.cxx
+++ /dev/null
@@ -1,386 +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 "biffinputstream.hxx"
-
-#include <algorithm>
-#include <rtl/ustrbuf.hxx>
-#include <osl/diagnose.h>
-
-namespace oox {
-namespace xls {
-
-namespace prv {
-
-BiffInputRecordBuffer::BiffInputRecordBuffer( BinaryInputStream& rInStrm ) :
- mrInStrm( rInStrm ),
- mpCurrentData( nullptr ),
- mnHeaderPos( -1 ),
- mnBodyPos( 0 ),
- mnBufferBodyPos( 0 ),
- mnNextHeaderPos( 0 ),
- mnRecId( BIFF_ID_UNKNOWN ),
- mnRecSize( 0 ),
- mnRecPos( 0 ),
- mbValidHeader( false )
-{
- OSL_ENSURE( mrInStrm.isSeekable(), "BiffInputRecordBuffer::BiffInputRecordBuffer - stream must be seekable" );
- mrInStrm.seekToStart();
- maOriginalData.reserve( SAL_MAX_UINT16 );
- maDecodedData.reserve( SAL_MAX_UINT16 );
- enableDecoder( false ); // updates mpCurrentData
-}
-
-void BiffInputRecordBuffer::restartAt( sal_Int64 nPos )
-{
- mnHeaderPos = -1;
- mnBodyPos = mnBufferBodyPos = 0;
- mnNextHeaderPos = nPos;
- mnRecId = BIFF_ID_UNKNOWN;
- mnRecSize = mnRecPos = 0;
- mbValidHeader = false;
-}
-
-void BiffInputRecordBuffer::setDecoder( const BiffDecoderRef& rxDecoder )
-{
- mxDecoder = rxDecoder;
- enableDecoder( true );
- updateDecoded();
-}
-
-void BiffInputRecordBuffer::enableDecoder( bool bEnable )
-{
- mpCurrentData = (bEnable && mxDecoder.get() && mxDecoder->isValid()) ? &maDecodedData : &maOriginalData;
-}
-
-bool BiffInputRecordBuffer::startRecord( sal_Int64 nHeaderPos )
-{
- mbValidHeader = (0 <= nHeaderPos) && (nHeaderPos + 4 <= mrInStrm.size());
- if( mbValidHeader )
- {
- mnHeaderPos = nHeaderPos;
- mrInStrm.seek( nHeaderPos );
- mnRecId = mrInStrm.readuInt16();
- mnRecSize = mrInStrm.readuInt16();
- mnBodyPos = mrInStrm.tell();
- mnNextHeaderPos = mnBodyPos + mnRecSize;
- mbValidHeader = !mrInStrm.isEof() && (mnNextHeaderPos <= mrInStrm.size());
- }
- if( !mbValidHeader )
- {
- mnHeaderPos = mnBodyPos = -1;
- mnNextHeaderPos = 0;
- mnRecId = BIFF_ID_UNKNOWN;
- mnRecSize = 0;
- }
- mnRecPos = 0;
- return mbValidHeader;
-}
-
-bool BiffInputRecordBuffer::startNextRecord()
-{
- return startRecord( mnNextHeaderPos );
-}
-
-sal_uInt16 BiffInputRecordBuffer::getNextRecId()
-{
- sal_uInt16 nRecId = BIFF_ID_UNKNOWN;
- if( mbValidHeader && (mnNextHeaderPos + 4 <= mrInStrm.size()) )
- {
- mrInStrm.seek( mnNextHeaderPos );
- nRecId = mrInStrm.readuInt16();
- }
- return nRecId;
-}
-
-void BiffInputRecordBuffer::read( void* opData, sal_uInt16 nBytes )
-{
- updateBuffer();
- OSL_ENSURE( nBytes > 0, "BiffInputRecordBuffer::read - nothing to read" );
- OSL_ENSURE( nBytes <= getRecLeft(), "BiffInputRecordBuffer::read - buffer overflow" );
- memcpy( opData, &(*mpCurrentData)[ mnRecPos ], nBytes );
- mnRecPos = mnRecPos + nBytes;
-}
-
-void BiffInputRecordBuffer::skip( sal_uInt16 nBytes )
-{
- OSL_ENSURE( nBytes > 0, "BiffInputRecordBuffer::skip - nothing to skip" );
- OSL_ENSURE( nBytes <= getRecLeft(), "BiffInputRecordBuffer::skip - buffer overflow" );
- mnRecPos = mnRecPos + nBytes;
-}
-
-void BiffInputRecordBuffer::updateBuffer()
-{
- OSL_ENSURE( mbValidHeader, "BiffInputRecordBuffer::updateBuffer - invalid access" );
- if( mnBodyPos != mnBufferBodyPos )
- {
- mrInStrm.seek( mnBodyPos );
- maOriginalData.resize( mnRecSize );
- if( mnRecSize > 0 )
- mrInStrm.readMemory( &maOriginalData.front(), static_cast< sal_Int32 >( mnRecSize ) );
- mnBufferBodyPos = mnBodyPos;
- updateDecoded();
- }
-}
-
-void BiffInputRecordBuffer::updateDecoded()
-{
- if( mxDecoder.get() && mxDecoder->isValid() )
- {
- maDecodedData.resize( mnRecSize );
- if( mnRecSize > 0 )
- mxDecoder->decode( &maDecodedData.front(), &maOriginalData.front(), mnBodyPos, mnRecSize );
- }
-}
-
-} // namespace prv
-
-BiffInputStream::BiffInputStream( BinaryInputStream& rInStream ) :
- BinaryStreamBase( true ),
- maRecBuffer( rInStream ),
- mnRecHandle( -1 ),
- mnRecId( BIFF_ID_UNKNOWN ),
- mnCurrRecSize( 0 ),
- mnComplRecSize( 0 ),
- mbHasComplRec( false )
-{
- mbEof = true; // EOF will be true if stream is not inside a record
-}
-
-// record control -------------------------------------------------------------
-
-bool BiffInputStream::startNextRecord()
-{
- bool bValidRec = false;
- /* #i4266# ignore zero records (id==len==0) (e.g. the application
- "Crystal Report" writes zero records between other records) */
- bool bIsZeroRec = false;
- do
- {
- // record header is never encrypted
- maRecBuffer.enableDecoder( false );
- // read header of next raw record, returns false at end of stream
- bValidRec = maRecBuffer.startNextRecord();
- // ignore record, if identifier and size are zero
- bIsZeroRec = (maRecBuffer.getRecId() == 0) && (maRecBuffer.getRecSize() == 0);
- }
- while( bValidRec && (isContinueId( maRecBuffer.getRecId()) || bIsZeroRec) );
-
- // setup other class members
- setupRecord();
- return isInRecord();
-}
-
-void BiffInputStream::rewindRecord()
-{
- rewindToRecord( mnRecHandle );
-}
-
-// decoder --------------------------------------------------------------------
-
-void BiffInputStream::enableDecoder()
-{
- maRecBuffer.enableDecoder( true );
-}
-
-// stream/record state and info -----------------------------------------------
-
-sal_uInt16 BiffInputStream::getNextRecId()
-{
- sal_uInt16 nRecId = BIFF_ID_UNKNOWN;
- if( isInRecord() )
- {
- sal_Int64 nCurrPos = tell(); // save current position in record
- while( jumpToNextContinue() ) {} // skip following CONTINUE records
- if( maRecBuffer.startNextRecord() ) // read header of next record
- nRecId = maRecBuffer.getRecId();
- seek( nCurrPos ); // restore position, seek() resets old mbValid state
- }
- return nRecId;
-}
-
-// BinaryStreamBase interface (seeking) ---------------------------------------
-
-sal_Int64 BiffInputStream::size() const
-{
- if( !mbHasComplRec )
- const_cast< BiffInputStream* >( this )->calcRecordLength();
- return mnComplRecSize;
-}
-
-sal_Int64 BiffInputStream::tell() const
-{
- return mbEof ? -1 : (mnCurrRecSize - maRecBuffer.getRecLeft());
-}
-
-void BiffInputStream::seek( sal_Int64 nRecPos )
-{
- if( isInRecord() )
- {
- if( mbEof || (nRecPos < tell()) )
- restartRecord();
- if( !mbEof && (nRecPos > tell()) )
- skip( static_cast< sal_Int32 >( nRecPos - tell() ) );
- }
-}
-
-void BiffInputStream::close()
-{
-}
-
-// BinaryInputStream interface (stream read access) ---------------------------
-
-sal_Int32 BiffInputStream::readData( StreamDataSequence& orData, sal_Int32 nBytes, size_t nAtomSize )
-{
- sal_Int32 nRet = 0;
- if( !mbEof )
- {
- orData.realloc( ::std::max< sal_Int32 >( nBytes, 0 ) );
- if( nBytes > 0 )
- nRet = readMemory( orData.getArray(), nBytes, nAtomSize );
- }
- return nRet;
-}
-
-sal_Int32 BiffInputStream::readMemory( void* opMem, sal_Int32 nBytes, size_t nAtomSize )
-{
- sal_Int32 nRet = 0;
- if( !mbEof && opMem && (nBytes > 0) )
- {
- sal_uInt8* pnBuffer = static_cast< sal_uInt8* >( opMem );
- sal_Int32 nBytesLeft = nBytes;
-
- while( !mbEof && (nBytesLeft > 0) )
- {
- sal_uInt16 nReadSize = getMaxRawReadSize( nBytesLeft, nAtomSize );
- // check nReadSize, stream may already be located at end of a raw record
- if( nReadSize > 0 )
- {
- maRecBuffer.read( pnBuffer, nReadSize );
- nRet += nReadSize;
- pnBuffer += nReadSize;
- nBytesLeft -= nReadSize;
- }
- if( nBytesLeft > 0 )
- jumpToNextContinue();
- OSL_ENSURE( !mbEof, "BiffInputStream::readMemory - record overread" );
- }
- }
- return nRet;
-}
-
-void BiffInputStream::skip( sal_Int32 nBytes, size_t nAtomSize )
-{
- sal_Int32 nBytesLeft = nBytes;
- while( !mbEof && (nBytesLeft > 0) )
- {
- sal_uInt16 nSkipSize = getMaxRawReadSize( nBytesLeft, nAtomSize );
- // check nSkipSize, stream may already be located at end of a raw record
- if( nSkipSize > 0 )
- {
- maRecBuffer.skip( nSkipSize );
- nBytesLeft -= nSkipSize;
- }
- if( nBytesLeft > 0 )
- jumpToNextContinue();
- OSL_ENSURE( !mbEof, "BiffInputStream::skip - record overread" );
- }
-}
-
-// byte strings ---------------------------------------------------------------
-
-OUString BiffInputStream::readByteStringUC( rtl_TextEncoding eTextEnc )
-{
- sal_Int32 nStrLen = readuInt16();
- return readCharArrayUC( nStrLen, eTextEnc );
-}
-
-// private --------------------------------------------------------------------
-
-void BiffInputStream::setupRecord()
-{
- // initialize class members
- mnRecHandle = maRecBuffer.getRecHeaderPos();
- mnRecId = maRecBuffer.getRecId();
- mnCurrRecSize = mnComplRecSize = maRecBuffer.getRecSize();
- mbHasComplRec = false;
- mbEof = !isInRecord();
- // enable decoder in new record
- enableDecoder();
-}
-
-void BiffInputStream::restartRecord()
-{
- if( isInRecord() )
- {
- maRecBuffer.startRecord( getRecHandle() );
- mnCurrRecSize = maRecBuffer.getRecSize();
- mbEof = false;
- }
-}
-
-void BiffInputStream::rewindToRecord( sal_Int64 nRecHandle )
-{
- if( nRecHandle >= 0 )
- {
- maRecBuffer.restartAt( nRecHandle );
- mnRecHandle = -1;
- mbEof = true; // as long as the record is not started
- }
-}
-
-bool BiffInputStream::isContinueId( sal_uInt16 nRecId )
-{
- return (nRecId == BIFF_ID_CONT) || (nRecId == BIFF_ID_UNKNOWN);
-}
-
-bool BiffInputStream::jumpToNextContinue()
-{
- mbEof = mbEof || !isContinueId( maRecBuffer.getNextRecId() ) || !maRecBuffer.startNextRecord();
- if( !mbEof )
- mnCurrRecSize += maRecBuffer.getRecSize();
- return !mbEof;
-}
-
-void BiffInputStream::calcRecordLength()
-{
- sal_Int64 nCurrPos = tell(); // save current position in record
- while( jumpToNextContinue() ) {} // jumpToNextContinue() adds up mnCurrRecSize
- mnComplRecSize = mnCurrRecSize;
- mbHasComplRec = true;
- seek( nCurrPos ); // restore position, seek() resets old mbValid state
-}
-
-sal_uInt16 BiffInputStream::getMaxRawReadSize( sal_Int32 nBytes, size_t nAtomSize ) const
-{
- sal_uInt16 nMaxSize = getLimitedValue< sal_uInt16, sal_Int32 >( nBytes, 0, maRecBuffer.getRecLeft() );
- if( (0 < nMaxSize) && (nMaxSize < nBytes) && (nAtomSize > 1) )
- {
- // check that remaining data in record buffer is a multiple of the passed atom size
- sal_uInt16 nPadding = static_cast< sal_uInt16 >( nMaxSize % nAtomSize );
- OSL_ENSURE( nPadding == 0, "BiffInputStream::getMaxRawReadSize - alignment error" );
- nMaxSize = nMaxSize - nPadding;
- }
- return nMaxSize;
-}
-
-} // namespace xls
-} // namespace oox
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/filter/oox/chartsheetfragment.cxx b/sc/source/filter/oox/chartsheetfragment.cxx
index c75c0dc5403e..97e6a1ca8075 100644
--- a/sc/source/filter/oox/chartsheetfragment.cxx
+++ b/sc/source/filter/oox/chartsheetfragment.cxx
@@ -22,7 +22,6 @@
#include <oox/helper/attributelist.hxx>
#include <oox/token/namespaces.hxx>
#include <oox/token/tokens.hxx>
-#include "biffinputstream.hxx"
#include "pagesettings.hxx"
#include "viewsettings.hxx"
#include "workbooksettings.hxx"
diff --git a/sc/source/filter/oox/commentsbuffer.cxx b/sc/source/filter/oox/commentsbuffer.cxx
index 098f72cb66ff..faea93fb478d 100644
--- a/sc/source/filter/oox/commentsbuffer.cxx
+++ b/sc/source/filter/oox/commentsbuffer.cxx
@@ -31,7 +31,6 @@
#include <oox/helper/attributelist.hxx>
#include <oox/vml/vmlshape.hxx>
#include "addressconverter.hxx"
-#include "biffinputstream.hxx"
#include "drawingfragment.hxx"
#include <svx/sdtaitm.hxx>
#include "unitconverter.hxx"
diff --git a/sc/source/filter/oox/condformatbuffer.cxx b/sc/source/filter/oox/condformatbuffer.cxx
index 8481d1e53b6f..f08f8b674284 100644
--- a/sc/source/filter/oox/condformatbuffer.cxx
+++ b/sc/source/filter/oox/condformatbuffer.cxx
@@ -27,13 +27,13 @@
#include <svl/intitem.hxx>
#include <svl/sharedstringpool.hxx>
#include <oox/core/filterbase.hxx>
+#include <oox/helper/binaryinputstream.hxx>
#include <oox/helper/attributelist.hxx>
#include <oox/helper/containerhelper.hxx>
#include <oox/helper/propertyset.hxx>
#include <oox/token/properties.hxx>
#include <oox/token/tokens.hxx>
#include "addressconverter.hxx"
-#include "biffinputstream.hxx"
#include "stylesbuffer.hxx"
#include "themebuffer.hxx"
diff --git a/sc/source/filter/oox/connectionsbuffer.cxx b/sc/source/filter/oox/connectionsbuffer.cxx
index 511575a33f61..81e3497c4b47 100644
--- a/sc/source/filter/oox/connectionsbuffer.cxx
+++ b/sc/source/filter/oox/connectionsbuffer.cxx
@@ -23,7 +23,7 @@
#include <oox/helper/attributelist.hxx>
#include <oox/token/namespaces.hxx>
#include <oox/token/tokens.hxx>
-#include "biffinputstream.hxx"
+#include <oox/helper/binaryinputstream.hxx>
namespace oox {
namespace xls {
diff --git a/sc/source/filter/oox/defnamesbuffer.cxx b/sc/source/filter/oox/defnamesbuffer.cxx
index b03d78b87ef6..18c0aeb43ec2 100644
--- a/sc/source/filter/oox/defnamesbuffer.cxx
+++ b/sc/source/filter/oox/defnamesbuffer.cxx
@@ -28,11 +28,11 @@
#include <com/sun/star/sheet/XPrintAreas.hpp>
#include <osl/diagnose.h>
#include <rtl/ustrbuf.hxx>
+#include <oox/helper/binaryinputstream.hxx>
#include <oox/helper/attributelist.hxx>
#include <oox/helper/propertyset.hxx>
#include <oox/token/tokens.hxx>
#include "addressconverter.hxx"
-#include "biffinputstream.hxx"
#include "externallinkbuffer.hxx"
#include "formulaparser.hxx"
#include "worksheetbuffer.hxx"
diff --git a/sc/source/filter/oox/excelfilter.cxx b/sc/source/filter/oox/excelfilter.cxx
index 5edaadf2fc15..36c375711346 100644
--- a/sc/source/filter/oox/excelfilter.cxx
+++ b/sc/source/filter/oox/excelfilter.cxx
@@ -23,7 +23,6 @@
#include <osl/diagnose.h>
#include <oox/helper/binaryinputstream.hxx>
-#include "biffinputstream.hxx"
#include "excelchartconverter.hxx"
#include "excelvbaproject.hxx"
#include "stylesbuffer.hxx"
diff --git a/sc/source/filter/oox/excelhandlers.cxx b/sc/source/filter/oox/excelhandlers.cxx
index 3dbb965bcd9d..034779cb8a25 100644
--- a/sc/source/filter/oox/excelhandlers.cxx
+++ b/sc/source/filter/oox/excelhandlers.cxx
@@ -20,7 +20,6 @@
#include "excelhandlers.hxx"
#include <oox/core/filterbase.hxx>
-#include "biffinputstream.hxx"
namespace oox {
namespace xls {
@@ -42,11 +41,6 @@ WorksheetFragmentBase::WorksheetFragmentBase(
{
}
-BiffWorksheetContextBase::BiffWorksheetContextBase( const WorksheetHelper& rHelper ) :
- WorksheetHelper( rHelper )
-{
-}
-
} // namespace xls
} // namespace oox
diff --git a/sc/source/filter/oox/externallinkbuffer.cxx b/sc/source/filter/oox/externallinkbuffer.cxx
index 0530a7b10ef8..b16d58f80b2e 100644
--- a/sc/source/filter/oox/externallinkbuffer.cxx
+++ b/sc/source/filter/oox/externallinkbuffer.cxx
@@ -39,7 +39,6 @@
#include <oox/token/properties.hxx>
#include <oox/token/tokens.hxx>
#include "addressconverter.hxx"
-#include "biffinputstream.hxx"
#include "excelhandlers.hxx"
#include "formulaparser.hxx"
#include "worksheetbuffer.hxx"
diff --git a/sc/source/filter/oox/externallinkfragment.cxx b/sc/source/filter/oox/externallinkfragment.cxx
index 8246bec39917..d3f0bdac891b 100644
--- a/sc/source/filter/oox/externallinkfragment.cxx
+++ b/sc/source/filter/oox/externallinkfragment.cxx
@@ -23,7 +23,6 @@
#include <oox/helper/attributelist.hxx>
#include <oox/token/namespaces.hxx>
#include <oox/token/tokens.hxx>
-#include "biffinputstream.hxx"
#include "defnamesbuffer.hxx"
#include "sheetdatacontext.hxx"
#include "unitconverter.hxx"
diff --git a/sc/source/filter/oox/formulabase.cxx b/sc/source/filter/oox/formulabase.cxx
index fcd792b08700..6247aaf3b89c 100644
--- a/sc/source/filter/oox/formulabase.cxx
+++ b/sc/source/filter/oox/formulabase.cxx
@@ -38,8 +38,8 @@
#include <sal/log.hxx>
#include <oox/core/filterbase.hxx>
#include <oox/helper/containerhelper.hxx>
+#include <oox/helper/binaryinputstream.hxx>
#include <oox/token/properties.hxx>
-#include "biffinputstream.hxx"
namespace oox {
namespace xls {
diff --git a/sc/source/filter/oox/formulaparser.cxx b/sc/source/filter/oox/formulaparser.cxx
index 9c0cffb7c21b..3600fbf12b78 100644
--- a/sc/source/filter/oox/formulaparser.cxx
+++ b/sc/source/filter/oox/formulaparser.cxx
@@ -29,8 +29,8 @@
#include <osl/diagnose.h>
#include <oox/core/filterbase.hxx>
#include <oox/token/properties.hxx>
+#include <oox/helper/binaryinputstream.hxx>
#include "addressconverter.hxx"
-#include "biffinputstream.hxx"
#include "defnamesbuffer.hxx"
#include "externallinkbuffer.hxx"
#include "tablebuffer.hxx"
diff --git a/sc/source/filter/oox/numberformatsbuffer.cxx b/sc/source/filter/oox/numberformatsbuffer.cxx
index f614767771a1..31b2e2467c04 100644
--- a/sc/source/filter/oox/numberformatsbuffer.cxx
+++ b/sc/source/filter/oox/numberformatsbuffer.cxx
@@ -34,11 +34,11 @@
#include <rtl/ustrbuf.hxx>
#include <svl/intitem.hxx>
#include <oox/core/filterbase.hxx>
+#include <oox/helper/binaryinputstream.hxx>
#include <oox/helper/attributelist.hxx>
#include <oox/helper/propertymap.hxx>
#include <oox/token/properties.hxx>
#include <oox/token/tokens.hxx>
-#include "biffinputstream.hxx"
#include "scitems.hxx"
#include "document.hxx"
#include "ftools.hxx"
diff --git a/sc/source/filter/oox/pagesettings.cxx b/sc/source/filter/oox/pagesettings.cxx
index cfa29c142c75..ee4cf260d620 100644
--- a/sc/source/filter/oox/pagesettings.cxx
+++ b/sc/source/filter/oox/pagesettings.cxx
@@ -41,7 +41,6 @@
#include <oox/token/namespaces.hxx>
#include <oox/token/properties.hxx>
#include <oox/token/tokens.hxx>
-#include "biffinputstream.hxx"
#include "excelhandlers.hxx"
#include "stylesbuffer.hxx"
#include "unitconverter.hxx"
diff --git a/sc/source/filter/oox/pivotcachebuffer.cxx b/sc/source/filter/oox/pivotcachebuffer.cxx
index 9ea4b8512dca..8c2397f57b8c 100644
--- a/sc/source/filter/oox/pivotcachebuffer.cxx
+++ b/sc/source/filter/oox/pivotcachebuffer.cxx
@@ -36,7 +36,6 @@
#include <oox/token/namespaces.hxx>
#include <oox/token/properties.hxx>
#include <oox/token/tokens.hxx>
-#include "biffinputstream.hxx"
#include "defnamesbuffer.hxx"
#include "excelhandlers.hxx"
#include "pivotcachefragment.hxx"
@@ -102,9 +101,6 @@ const sal_uInt8 BIFF12_PCDEFINITION_SUPPORTDRILL = 0x08;
const sal_uInt8 BIFF12_PCDWBSOURCE_HASRELID = 0x01;
const sal_uInt8 BIFF12_PCDWBSOURCE_HASSHEET = 0x02;
-const sal_uInt16 BIFF_PCDFRANGEPR_AUTOSTART = 0x0001;
-const sal_uInt16 BIFF_PCDFRANGEPR_AUTOEND = 0x0002;
-
/** Adjusts the weird date format read from binary streams.
@@ -214,50 +210,6 @@ void PivotCacheItem::readIndex( SequenceInputStream& rStrm )
mnType = XML_x;
}
-void PivotCacheItem::readString( BiffInputStream& rStrm, const WorkbookHelper& rHelper )
-{
- maValue <<= rStrm.readByteStringUC( rHelper.getTextEncoding() );
- mnType = XML_s;
-}
-
-void PivotCacheItem::readDouble( BiffInputStream& rStrm )
-{
- maValue <<= rStrm.readDouble();
- mnType = XML_n;
-}
-
-void PivotCacheItem::readInteger( BiffInputStream& rStrm )
-{
- maValue <<= rStrm.readInt16();
- mnType = XML_i; // fake, used for BIFF only
-}
-
-void PivotCacheItem::readDate( BiffInputStream& rStrm )
-{
- css::util::DateTime aDateTime;
- aDateTime.Year = rStrm.readuInt16();
- aDateTime.Month = rStrm.readuInt16();
- aDateTime.Day = rStrm.readuInt8();
- aDateTime.Hours = rStrm.readuInt8();
- aDateTime.Minutes = rStrm.readuInt8();
- aDateTime.Seconds = rStrm.readuInt8();
- lclAdjustBinDateTime( aDateTime );
- maValue <<= aDateTime;
- mnType = XML_d;
-}
-
-void PivotCacheItem::readBool( BiffInputStream& rStrm )
-{
- maValue <<= (rStrm.readuInt8() != 0);
- mnType = XML_b;
-}
-
-void PivotCacheItem::readError( BiffInputStream& rStrm )
-{
- maValue <<= static_cast< sal_Int32 >( rStrm.readuInt8() );
- mnType = XML_e;
-}
-
void PivotCacheItem::setStringValue( const OUString& sString )
{
mnType = XML_s;
@@ -327,27 +279,6 @@ void PivotCacheItemList::importItem( sal_Int32 nRecId, SequenceInputStream& rStr
}
}
-void PivotCacheItemList::importItemList( BiffInputStream& rStrm, sal_uInt16 nCount )
-{
- bool bLoop = true;
- for( sal_uInt16 nItemIdx = 0; bLoop && (nItemIdx < nCount); ++nItemIdx )
- {
- bLoop = rStrm.startNextRecord();
- if( bLoop ) switch( rStrm.getRecId() )
- {
- case BIFF_ID_PCITEM_MISSING: createItem(); break;
- case BIFF_ID_PCITEM_STRING: createItem().readString( rStrm, *this ); break;
- case BIFF_ID_PCITEM_DOUBLE: createItem().readDouble( rStrm ); break;
- case BIFF_ID_PCITEM_INTEGER: createItem().readInteger( rStrm ); break;
- case BIFF_ID_PCITEM_DATE: createItem().readDate( rStrm ); break;
- case BIFF_ID_PCITEM_BOOL: createItem().readBool( rStrm ); break;
- case BIFF_ID_PCITEM_ERROR: createItem().readError( rStrm ); break;
- default: rStrm.rewindRecord(); bLoop = false;
- }
- }
- OSL_ENSURE( bLoop, "PivotCacheItemList::importItemList - could not read all cache item records" );
-}
-
const PivotCacheItem* PivotCacheItemList::getCacheItem( sal_Int32 nItemIdx ) const
{
return ContainerHelper::getVectorElement( maItems, nItemIdx );
@@ -606,60 +537,6 @@ void PivotCacheField::importPCDFGroupItem( sal_Int32 nRecId, SequenceInputStream
maGroupItems.importItem( nRecId, rStrm );
}
-void PivotCacheField::importPCDFRangePr( BiffInputStream& rStrm )
-{
- sal_uInt16 nFlags;
- rStrm >> nFlags;
- maFieldGroupModel.setBiffGroupBy( extractValue< sal_uInt8 >( nFlags, 2, 3 ) );
- maFieldGroupModel.mbRangeGroup = true;
- maFieldGroupModel.mbDateGroup = maFieldGroupModel.mnGroupBy != XML_range;
- maFieldGroupModel.mbAutoStart = getFlag( nFlags, BIFF_PCDFRANGEPR_AUTOSTART );
- maFieldGroupModel.mbAutoEnd = getFlag( nFlags, BIFF_PCDFRANGEPR_AUTOEND );
-
- /* Start, end, and interval are stored in 3 separate item records. Type of
- the items is dependent on numeric/date mode. Numeric groups expect
- three PCITEM_DOUBLE records, date groups expect two PCITEM_DATE records
- and one PCITEM_INT record. */
- PivotCacheItemList aLimits( *this );
- aLimits.importItemList( rStrm, 3 );
- OSL_ENSURE( aLimits.size() == 3, "PivotCacheField::importPCDFRangePr - missing grouping records" );
- const PivotCacheItem* pStartValue = aLimits.getCacheItem( 0 );
- const PivotCacheItem* pEndValue = aLimits.getCacheItem( 1 );
- const PivotCacheItem* pInterval = aLimits.getCacheItem( 2 );
- if( pStartValue && pEndValue && pInterval )
- {
- if( maFieldGroupModel.mbDateGroup )
- {
- bool bHasTypes = (pStartValue->getType() == XML_d) && (pEndValue->getType() == XML_d) && (pInterval->getType() == XML_i);
- OSL_ENSURE( bHasTypes, "PivotCacheField::importPCDFRangePr - wrong data types in grouping items" );
- if( bHasTypes )
- {
- maFieldGroupModel.maStartDate = pStartValue->getValue().get< css::util::DateTime >();
- maFieldGroupModel.maEndDate = pEndValue->getValue().get< css::util::DateTime >();
- maFieldGroupModel.mfInterval = pInterval->getValue().get< sal_Int16 >();
- }
- }
- else
- {
- bool bHasTypes = (pStartValue->getType() == XML_n) && (pEndValue->getType() == XML_n) && (pInterval->getType() == XML_n);
- OSL_ENSURE( bHasTypes, "PivotCacheField::importPCDFRangePr - wrong data types in grouping items" );
- if( bHasTypes )
- {
- maFieldGroupModel.mfStartValue = pStartValue->getValue().get< double >();
- maFieldGroupModel.mfEndValue = pEndValue->getValue().get< double >();
- maFieldGroupModel.mfInterval = pInterval->getValue().get< double >();
- }
- }
- }
-}
-
-void PivotCacheField::importPCDFDiscretePr( BiffInputStream& rStrm )
-{
- sal_Int32 nCount = static_cast< sal_Int32 >( rStrm.size() / 2 );
- for( sal_Int32 nIndex = 0; !rStrm.isEof() && (nIndex < nCount); ++nIndex )
- maDiscreteItems.push_back( rStrm.readuInt16() );
-}
-
const PivotCacheItem* PivotCacheField::getCacheItem( sal_Int32 nItemIdx ) const
{
if( hasGroupItems() )
@@ -914,13 +791,6 @@ void PivotCacheField::importPCRecordItem( SequenceInputStream& rStrm, WorksheetH
}
}
-void PivotCacheField::importPCItemIndex( BiffInputStream& rStrm, WorksheetHelper& rSheetHelper, sal_Int32 nCol, sal_Int32 nRow ) const
-{
- OSL_ENSURE( hasSharedItems(), "PivotCacheField::importPCItemIndex - invalid call, no shared items found" );
- sal_Int32 nIndex = rStrm.readuInt8();
- writeSharedItemToSourceDataCell( rSheetHelper, nCol, nRow, nIndex );
-}
-
// private --------------------------------------------------------------------
void PivotCacheField::writeItemToSourceDataCell( WorksheetHelper& rSheetHelper,
@@ -1197,17 +1067,6 @@ void PivotCache::importPCRecord( SequenceInputStream& rStrm, WorksheetHelper& rS
(*aIt)->importPCRecordItem( rStrm, rSheetHelper, nCol, nRow );
}
-void PivotCache::importPCItemIndexList( BiffInputStream& rStrm, WorksheetHelper& rSheetHelper, sal_Int32 nRowIdx ) const
-{
- sal_Int32 nRow = maSheetSrcModel.maRange.StartRow + nRowIdx;
- OSL_ENSURE( (maSheetSrcModel.maRange.StartRow < nRow) && (nRow <= maSheetSrcModel.maRange.EndRow), "PivotCache::importPCItemIndexList - invalid row index" );
- sal_Int32 nCol = maSheetSrcModel.maRange.StartColumn;
- sal_Int32 nMaxCol = getAddressConverter().getMaxApiAddress().Col();
- for( PivotCacheFieldVector::const_iterator aIt = maDatabaseFields.begin(), aEnd = maDatabaseFields.end(); !rStrm.isEof() && (aIt != aEnd) && (nCol <= nMaxCol); ++aIt, ++nCol )
- if( (*aIt)->hasSharedItems() )
- (*aIt)->importPCItemIndex( rStrm, rSheetHelper, nCol, nRow );
-}
-
// private --------------------------------------------------------------------
void PivotCache::finalizeInternalSheetSource()
diff --git a/sc/source/filter/oox/pivotcachefragment.cxx b/sc/source/filter/oox/pivotcachefragment.cxx
index 5a3a78488ea1..4f9c7a3a15ee 100644
--- a/sc/source/filter/oox/pivotcachefragment.cxx
+++ b/sc/source/filter/oox/pivotcachefragment.cxx
@@ -24,7 +24,6 @@
#include <oox/token/namespaces.hxx>
#include <oox/token/tokens.hxx>
#include "addressconverter.hxx"
-#include "biffinputstream.hxx"
#include "formulabuffer.hxx"
#include "pivotcachebuffer.hxx"
#include "worksheetbuffer.hxx"
diff --git a/sc/source/filter/oox/pivottablebuffer.cxx b/sc/source/filter/oox/pivottablebuffer.cxx
index 04a432ae8d92..987cdc1ee940 100644
--- a/sc/source/filter/oox/pivottablebuffer.cxx
+++ b/sc/source/filter/oox/pivottablebuffer.cxx
@@ -38,13 +38,13 @@
#include <com/sun/star/sheet/XDataPilotField.hpp>
#include <com/sun/star/sheet/XDataPilotTablesSupplier.hpp>
#include <com/sun/star/sheet/XSheetOperation.hpp>
+#include <oox/helper/binaryinputstream.hxx>
#include <oox/helper/attributelist.hxx>
#include <oox/helper/containerhelper.hxx>
#include <oox/helper/propertyset.hxx>
#include <oox/token/properties.hxx>
#include <oox/token/tokens.hxx>
#include "addressconverter.hxx"
-#include "biffinputstream.hxx"
#include "dapiuno.hxx"
#include "dpobject.hxx"
diff --git a/sc/source/filter/oox/pivottablefragment.cxx b/sc/source/filter/oox/pivottablefragment.cxx
index 7cb858b783c5..4d658137ee1a 100644
--- a/sc/source/filter/oox/pivottablefragment.cxx
+++ b/sc/source/filter/oox/pivottablefragment.cxx
@@ -18,8 +18,6 @@
*/
#include "pivottablefragment.hxx"
-
-#include "biffinputstream.hxx"
#include "pivottablebuffer.hxx"
#include <oox/token/namespaces.hxx>
#include <oox/token/tokens.hxx>
diff --git a/sc/source/filter/oox/querytablebuffer.cxx b/sc/source/filter/oox/querytablebuffer.cxx
index bc09a62754f6..ee432a973335 100644
--- a/sc/source/filter/oox/querytablebuffer.cxx
+++ b/sc/source/filter/oox/querytablebuffer.cxx
@@ -25,11 +25,11 @@
#include <com/sun/star/sheet/XAreaLinks.hpp>
#include <osl/diagnose.h>
#include <oox/core/filterbase.hxx>
+#include <oox/helper/binaryinputstream.hxx>
#include <oox/helper/attributelist.hxx>
#include <oox/token/properties.hxx>
#include <oox/token/tokens.hxx>
#include "addressconverter.hxx"
-#include "biffinputstream.hxx"
#include "connectionsbuffer.hxx"
#include "defnamesbuffer.hxx"
diff --git a/sc/source/filter/oox/querytablefragment.cxx b/sc/source/filter/oox/querytablefragment.cxx
index e8643a7a9ec8..85475f2c3fee 100644
--- a/sc/source/filter/oox/querytablefragment.cxx
+++ b/sc/source/filter/oox/querytablefragment.cxx
@@ -18,8 +18,6 @@
*/
#include "querytablefragment.hxx"
-
-#include "biffinputstream.hxx"
#include "querytablebuffer.hxx"
#include <oox/token/namespaces.hxx>
#include <oox/token/tokens.hxx>
diff --git a/sc/source/filter/oox/richstring.cxx b/sc/source/filter/oox/richstring.cxx
index 4573e743b840..c4e5f1822575 100644
--- a/sc/source/filter/oox/richstring.cxx
+++ b/sc/source/filter/oox/richstring.cxx
@@ -23,10 +23,10 @@
#include <com/sun/star/text/XText.hpp>
#include <rtl/ustrbuf.hxx>
#include <editeng/editobj.hxx>
+#include <oox/helper/binaryinputstream.hxx>
#include <oox/helper/attributelist.hxx>
#include <oox/helper/propertyset.hxx>
#include <oox/token/tokens.hxx>
-#include "biffinputstream.hxx"
#include "editutil.hxx"
#include <vcl/svapp.hxx>
diff --git a/sc/source/filter/oox/scenariobuffer.cxx b/sc/source/filter/oox/scenariobuffer.cxx
index cde1f47152e6..0060adf80df7 100644
--- a/sc/source/filter/oox/scenariobuffer.cxx
+++ b/sc/source/filter/oox/scenariobuffer.cxx
@@ -26,13 +26,13 @@
#include <com/sun/star/sheet/XScenariosSupplier.hpp>
#include <com/sun/star/sheet/XSpreadsheet.hpp>
#include <com/sun/star/sheet/XSpreadsheetDocument.hpp>
+#include <oox/helper/binaryinputstream.hxx>
#include <oox/helper/attributelist.hxx>
#include <oox/helper/containerhelper.hxx>
#include <oox/helper/propertyset.hxx>
#include <oox/token/properties.hxx>
#include <oox/token/tokens.hxx>
#include "addressconverter.hxx"
-#include "biffinputstream.hxx"
namespace oox {
namespace xls {
diff --git a/sc/source/filter/oox/sharedstringsbuffer.cxx b/sc/source/filter/oox/sharedstringsbuffer.cxx
index 3d90c5a6208a..c01c2576a084 100644
--- a/sc/source/filter/oox/sharedstringsbuffer.cxx
+++ b/sc/source/filter/oox/sharedstringsbuffer.cxx
@@ -19,8 +19,6 @@
#include "sharedstringsbuffer.hxx"
-#include "biffinputstream.hxx"
-
namespace oox {
namespace xls {
diff --git a/sc/source/filter/oox/sheetdatabuffer.cxx b/sc/source/filter/oox/sheetdatabuffer.cxx
index 1ebf76c191ab..ba0ff4bb7135 100644
--- a/sc/source/filter/oox/sheetdatabuffer.cxx
+++ b/sc/source/filter/oox/sheetdatabuffer.cxx
@@ -41,7 +41,6 @@
#include <oox/token/properties.hxx>
#include <oox/token/tokens.hxx>
#include "addressconverter.hxx"
-#include "biffinputstream.hxx"
#include "formulaparser.hxx"
#include "sharedstringsbuffer.hxx"
#include "unitconverter.hxx"
diff --git a/sc/source/filter/oox/sheetdatacontext.cxx b/sc/source/filter/oox/sheetdatacontext.cxx
index df763c1383d9..9c47da50b7b4 100644
--- a/sc/source/filter/oox/sheetdatacontext.cxx
+++ b/sc/source/filter/oox/sheetdatacontext.cxx
@@ -28,7 +28,6 @@
#include <oox/token/namespaces.hxx>
#include <oox/token/tokens.hxx>
#include "addressconverter.hxx"
-#include "biffinputstream.hxx"
#include "formulaparser.hxx"
#include "richstringcontext.hxx"
#include "unitconverter.hxx"
diff --git a/sc/source/filter/oox/stylesbuffer.cxx b/sc/source/filter/oox/stylesbuffer.cxx
index ea986776c476..c29ee100ead7 100644
--- a/sc/source/filter/oox/stylesbuffer.cxx
+++ b/sc/source/filter/oox/stylesbuffer.cxx
@@ -67,7 +67,6 @@
#include <oox/token/namespaces.hxx>
#include <oox/token/properties.hxx>
#include <oox/token/tokens.hxx>
-#include "biffinputstream.hxx"
#include "condformatbuffer.hxx"
#include "excelhandlers.hxx"
#include "themebuffer.hxx"
diff --git a/sc/source/filter/oox/tablecolumnsbuffer.cxx b/sc/source/filter/oox/tablecolumnsbuffer.cxx
index 1cbb50205268..1ea875ccba8e 100644
--- a/sc/source/filter/oox/tablecolumnsbuffer.cxx
+++ b/sc/source/filter/oox/tablecolumnsbuffer.cxx
@@ -28,7 +28,6 @@
#include <oox/token/properties.hxx>
#include <oox/token/tokens.hxx>
#include "addressconverter.hxx"
-#include "biffinputstream.hxx"
#include "defnamesbuffer.hxx"
#include "dbdata.hxx"
diff --git a/sc/source/filter/oox/tablecolumnscontext.cxx b/sc/source/filter/oox/tablecolumnscontext.cxx
index 4225f831deb7..afecd1d86cb8 100644
--- a/sc/source/filter/oox/tablecolumnscontext.cxx
+++ b/sc/source/filter/oox/tablecolumnscontext.cxx
@@ -20,7 +20,6 @@
#include "tablecolumnscontext.hxx"
#include "tablecolumnsbuffer.hxx"
-#include "biffinputstream.hxx"
#include <oox/token/namespaces.hxx>
#include <oox/token/tokens.hxx>
diff --git a/sc/source/filter/oox/viewsettings.cxx b/sc/source/filter/oox/viewsettings.cxx
index c8d183ff8ab7..b8d7cdba3ea3 100644
--- a/sc/source/filter/oox/viewsettings.cxx
+++ b/sc/source/filter/oox/viewsettings.cxx
@@ -31,6 +31,7 @@
#include <osl/diagnose.h>
#include <unotools/mediadescriptor.hxx>
#include <oox/core/filterbase.hxx>
+#include <oox/helper/binaryinputstream.hxx>
#include <oox/helper/attributelist.hxx>
#include <oox/helper/containerhelper.hxx>
#include <oox/helper/propertymap.hxx>
@@ -38,7 +39,6 @@
#include <oox/token/properties.hxx>
#include <oox/token/tokens.hxx>
#include "addressconverter.hxx"
-#include "biffinputstream.hxx"
#include "unitconverter.hxx"
#include "workbooksettings.hxx"
#include "worksheetbuffer.hxx"
diff --git a/sc/source/filter/oox/workbookfragment.cxx b/sc/source/filter/oox/workbookfragment.cxx
index 18d207572dd9..78b7686e292f 100644
--- a/sc/source/filter/oox/workbookfragment.cxx
+++ b/sc/source/filter/oox/workbookfragment.cxx
@@ -30,7 +30,6 @@
#include <oox/token/namespaces.hxx>
#include <oox/token/tokens.hxx>
-#include "biffinputstream.hxx"
#include "chartsheetfragment.hxx"
#include "connectionsfragment.hxx"
#include "externallinkbuffer.hxx"
diff --git a/sc/source/filter/oox/workbookhelper.cxx b/sc/source/filter/oox/workbookhelper.cxx
index 096e6959a74a..580b4307b3ad 100644
--- a/sc/source/filter/oox/workbookhelper.cxx
+++ b/sc/source/filter/oox/workbookhelper.cxx
@@ -41,7 +41,6 @@
#include <oox/token/properties.hxx>
#include <vcl/msgbox.hxx>
#include "addressconverter.hxx"
-#include "biffinputstream.hxx"
#include "biffcodec.hxx"
#include "connectionsbuffer.hxx"
#include "defnamesbuffer.hxx"
diff --git a/sc/source/filter/oox/workbooksettings.cxx b/sc/source/filter/oox/workbooksettings.cxx
index c8cc6bd42d05..d52ceb4cf8ed 100644
--- a/sc/source/filter/oox/workbooksettings.cxx
+++ b/sc/source/filter/oox/workbooksettings.cxx
@@ -25,12 +25,13 @@
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <unotools/mediadescriptor.hxx>
#include <oox/core/filterbase.hxx>
+#include <oox/helper/binaryinputstream.hxx>
#include <oox/helper/attributelist.hxx>
#include <oox/helper/propertyset.hxx>
#include <oox/core/xmlfilterbase.hxx>
#include <oox/token/properties.hxx>
#include <oox/token/tokens.hxx>
-#include "biffinputstream.hxx"
+#include "biffcodec.hxx"
#include "unitconverter.hxx"
namespace oox {
diff --git a/sc/source/filter/oox/worksheetbuffer.cxx b/sc/source/filter/oox/worksheetbuffer.cxx
index dfbd097510a5..608657de8e1b 100644
--- a/sc/source/filter/oox/worksheetbuffer.cxx
+++ b/sc/source/filter/oox/worksheetbuffer.cxx
@@ -34,7 +34,6 @@
#include <oox/token/namespaces.hxx>
#include <oox/token/properties.hxx>
#include <oox/token/tokens.hxx>
-#include "biffinputstream.hxx"
#include "excelhandlers.hxx"
#include "document.hxx"
diff --git a/sc/source/filter/oox/worksheetfragment.cxx b/sc/source/filter/oox/worksheetfragment.cxx
index c0998c1cf66d..c8aa6c6c58f4 100644
--- a/sc/source/filter/oox/worksheetfragment.cxx
+++ b/sc/source/filter/oox/worksheetfragment.cxx
@@ -27,7 +27,6 @@
#include "addressconverter.hxx"
#include "autofilterbuffer.hxx"
#include "autofiltercontext.hxx"
-#include "biffinputstream.hxx"
#include "commentsfragment.hxx"
#include "condformatcontext.hxx"
#include "drawingfragment.hxx"
diff --git a/sc/source/filter/oox/worksheetsettings.cxx b/sc/source/filter/oox/worksheetsettings.cxx
index a2eb39666fa3..1bbc7a82cbd3 100644
--- a/sc/source/filter/oox/worksheetsettings.cxx
+++ b/sc/source/filter/oox/worksheetsettings.cxx
@@ -21,10 +21,11 @@
#include <com/sun/star/util/XProtectable.hpp>
#include <oox/core/filterbase.hxx>
+#include <oox/helper/binaryinputstream.hxx>
#include <oox/helper/attributelist.hxx>
#include <oox/token/properties.hxx>
#include <oox/token/tokens.hxx>
-#include "biffinputstream.hxx"
+#include "biffcodec.hxx"
#include "pagesettings.hxx"
#include "workbooksettings.hxx"
#include "tabprotection.hxx"