diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2013-09-25 10:29:07 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@suse.cz> | 2013-09-25 10:48:30 +0200 |
commit | a5dece8ca5db69983863031a706b63efcbd9926e (patch) | |
tree | d80dbae789ef95dcba3ac3339d41feb60e9e7246 | |
parent | 8b702a733ec443bc1cfe59f07c9dd812609d4406 (diff) |
writerfilter: remove dead WW8PieceTableImpl
Change-Id: Id100e3cc13b1d694af40b1b5d789cf90736593fa
-rw-r--r-- | writerfilter/Library_writerfilter.mk | 1 | ||||
-rw-r--r-- | writerfilter/source/doctok/WW8PieceTable.hxx | 169 | ||||
-rw-r--r-- | writerfilter/source/doctok/WW8PieceTableImpl.cxx | 291 | ||||
-rw-r--r-- | writerfilter/source/doctok/WW8PieceTableImpl.hxx | 67 |
4 files changed, 0 insertions, 528 deletions
diff --git a/writerfilter/Library_writerfilter.mk b/writerfilter/Library_writerfilter.mk index cc2a81309761..f244d4263b8b 100644 --- a/writerfilter/Library_writerfilter.mk +++ b/writerfilter/Library_writerfilter.mk @@ -132,7 +132,6 @@ $(eval $(call gb_Library_add_exception_objects,writerfilter,\ writerfilter/source/doctok/WW8ListTable \ writerfilter/source/doctok/WW8OutputWithDepth \ writerfilter/source/doctok/WW8Picture \ - writerfilter/source/doctok/WW8PieceTableImpl \ writerfilter/source/doctok/WW8PropertySetImpl \ writerfilter/source/doctok/WW8ResourceModelImpl \ writerfilter/source/doctok/WW8StructBase \ diff --git a/writerfilter/source/doctok/WW8PieceTable.hxx b/writerfilter/source/doctok/WW8PieceTable.hxx deleted file mode 100644 index bc5c7c9b4b1d..000000000000 --- a/writerfilter/source/doctok/WW8PieceTable.hxx +++ /dev/null @@ -1,169 +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_WW8_PIECE_TABLE_HXX -#define INCLUDED_WW8_PIECE_TABLE_HXX - -#include <sal/types.h> -#include <doctok/WW8Document.hxx> - -#include <boost/shared_ptr.hpp> -#include <iostream> - -namespace writerfilter { -namespace doctok { - -using namespace ::std; - -struct Cp; -struct Fc; -class CpAndFc; - -/** - The piece table of a Word document. - - The piece table associates character positions (CP) and File - character positions (FC). In a FC based view the piece table - defines intervals of FCs that contain consecutive text. - - CPs and FCs can be complex, i.e. the associated text is stored in - bytes. Otherwise the text encoding is UTF-16. - */ -class WW8PieceTable -{ -public: - virtual ~WW8PieceTable() {} - /** - Shared pointer to piece table - */ - typedef boost::shared_ptr<WW8PieceTable> Pointer_t; - - /** - Convert CP to FC. - - @param aCpIn CP to convert - - @return FC associated with CP - */ - virtual Fc cp2fc(const Cp & aCpIn) const = 0; - - /** - Convert FC to CP. - - @param aFcIn FC to convert - - @return CP associated with FC - */ - virtual Cp fc2cp(const Fc & aFcIn) const = 0; - - /** - Check if CP is complex. - - @param aCp CP to check - @retval true CP is complex - @retval false else - */ - virtual bool isComplex(const Cp & aCp) const = 0; - - /** - Check if FC is complex. - - @param aFc FC to check - @retval true FC is complex - @retval false else - */ - virtual bool isComplex(const Fc & aFc) const = 0; - - /** - Return number of entries. - */ - virtual sal_uInt32 getCount() const = 0; - - /** - Return first CP. - */ - virtual Cp getFirstCp() const = 0; - - /** - Return first FC. - */ - virtual Fc getFirstFc() const = 0; - - /** - Return last CP. - */ - virtual Cp getLastCp() const = 0; - - /** - Return last FC. - */ - virtual Fc getLastFc() const = 0; - - /** - Return CP at index. - - @param nIndex index of CP to return - */ - virtual Cp getCp(sal_uInt32 nIndex) const = 0; - - /** - Return FC at index. - - @param nIndex index of FC to return - */ - virtual Fc getFc(sal_uInt32 nIndex) const = 0; - - /** - Create CpAndFc from Cp. - - @param rCp the Cp - - @return CpAndFc containing rCp and corresponding Fc - */ - virtual CpAndFc createCpAndFc(const Cp & rCp, PropertyType eType) const = 0; - - /** - Create CpAndFc from Fc. - - @param rFc the Fc - - @return CpAndFc containing rFc and corresponding Cp - */ - virtual CpAndFc createCpAndFc(const Fc & rFc, PropertyType eType) const = 0; - - /** - Dump piece table. - - @param o stream to dump to - */ - virtual void dump(ostream & o) const = 0; -}; - -/** - Dump piece table. - - @param o stream to dump to - @param rPieceTable piece table to dump -*/ -ostream & operator << (ostream & o, const WW8PieceTable & rPieceTable); -}} - -#endif // INCLUDED_WW8_PIECE_TABLE_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/writerfilter/source/doctok/WW8PieceTableImpl.cxx b/writerfilter/source/doctok/WW8PieceTableImpl.cxx deleted file mode 100644 index 9214243edfca..000000000000 --- a/writerfilter/source/doctok/WW8PieceTableImpl.cxx +++ /dev/null @@ -1,291 +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 <algorithm> -#include <iterator> - -#include <resourcemodel/exceptions.hxx> -#include <WW8PieceTableImpl.hxx> -#include <WW8Clx.hxx> - -namespace writerfilter { -namespace doctok -{ -using namespace ::std; - -ostream & operator << (ostream & o, const WW8PieceTable & rPieceTable) -{ - rPieceTable.dump(o); - - return o; -} - -WW8PieceTableImpl::WW8PieceTableImpl(WW8Stream & rStream, - sal_uInt32 nOffset, - sal_uInt32 nCount) -{ - WW8Clx aClx(rStream, nOffset, nCount); - - sal_uInt32 nPieceCount = aClx.getPieceCount(); - - if (nPieceCount > 0) - { - for (sal_uInt32 n = 0; n < nPieceCount; n++) - { - Cp aCp(aClx.getCp(n)); - Fc aFc(aClx.getFc(n), aClx.isComplexFc(n)); - - CpAndFc aCpAndFc(aCp, aFc, PROP_DOC); - - mEntries.push_back(aCpAndFc); - } - - CpAndFc aBack = mEntries.back(); - Cp aCp(aClx.getCp(aClx.getPieceCount())); - Fc aFc(aBack.getFc() + (aCp - aBack.getCp())); - - CpAndFc aCpAndFc(aCp, aFc, PROP_DOC); - - mEntries.push_back(aCpAndFc); - } -} - -sal_uInt32 WW8PieceTableImpl::getCount() const -{ - return mEntries.size(); -} - -WW8PieceTableImpl::tEntries::const_iterator -WW8PieceTableImpl::findCp(const Cp & rCp) const -{ - tEntries::const_iterator aResult = mEntries.end(); - tEntries::const_iterator aEnd = mEntries.end(); - - for (tEntries::const_iterator aIt = mEntries.begin(); aIt != aEnd; - ++aIt) - { - if (aIt->getCp() <= rCp) - { - aResult = aIt; - - //break; - } - } - - return aResult; -} - -WW8PieceTableImpl::tEntries::const_iterator -WW8PieceTableImpl::findFc(const Fc & rFc) const -{ - tEntries::const_iterator aResult = mEntries.end(); - tEntries::const_iterator aEnd = mEntries.end(); - - if (mEntries.size() > 0) - { - if (rFc < mEntries.begin()->getFc()) - aResult = mEntries.begin(); - else - { - for (tEntries::const_iterator aIt = mEntries.begin(); - aIt != aEnd; ++aIt) - { - if (aIt->getFc() <= rFc) - { - tEntries::const_iterator aItNext = aIt; - ++aItNext; - - if (aItNext != aEnd) - { - sal_uInt32 nOffset = rFc.get() - aIt->getFc().get(); - sal_uInt32 nLength = aItNext->getCp() - aIt->getCp(); - - if (! aIt->isComplex()) - nLength *= 2; - - if (nOffset < nLength) - { - aResult = aIt; - - break; - } - } - - } - } - } - } - - return aResult; -} - -Cp WW8PieceTableImpl::getFirstCp() const -{ - Cp aResult; - - if (getCount() > 0) - aResult = getCp(0); - else - throw ExceptionNotFound("WW8PieceTableImpl::getFirstCp"); - - return aResult; -} - -Fc WW8PieceTableImpl::getFirstFc() const -{ - Fc aResult; - - if (getCount() > 0) - aResult = getFc(0); - else - throw ExceptionNotFound(" WW8PieceTableImpl::getFirstFc"); - - return aResult; -} - -Cp WW8PieceTableImpl::getLastCp() const -{ - Cp aResult; - - if (getCount() > 0) - aResult = getCp(getCount() - 1); - else - throw ExceptionNotFound("WW8PieceTableImpl::getLastCp"); - - return aResult; -} - -Fc WW8PieceTableImpl::getLastFc() const -{ - Fc aResult; - - if (getCount() > 0) - aResult = getFc(getCount() - 1); - else - throw ExceptionNotFound("WW8PieceTableImpl::getLastFc"); - - return aResult; -} - -Cp WW8PieceTableImpl::getCp(sal_uInt32 nIndex) const -{ - return mEntries[nIndex].getCp(); -} - -Fc WW8PieceTableImpl::getFc(sal_uInt32 nIndex) const -{ - return mEntries[nIndex].getFc(); -} - -Cp WW8PieceTableImpl::fc2cp(const Fc & rFc) const -{ - Cp cpResult; - - if (mEntries.size() > 0) - { - Fc aFc; - - if (rFc < mEntries.begin()->getFc()) - aFc = mEntries.begin()->getFc(); - else - aFc = rFc; - - tEntries::const_iterator aIt = findFc(aFc); - - if (aIt != mEntries.end()) - { - cpResult = aIt->getCp() + (aFc - aIt->getFc()); - } - else - throw ExceptionNotFound("WW8PieceTableImpl::fc2cp: " + aFc.toString()); - } - - return cpResult; -} - -Fc WW8PieceTableImpl::cp2fc(const Cp & rCp) const -{ - Fc aResult; - - Cp2FcHashMap_t::iterator aItCp = mCp2FcCache.find(rCp); - - if (aItCp == mCp2FcCache.end()) - { - tEntries::const_iterator aIt = findCp(rCp); - - if (aIt != mEntries.end()) - { - aResult = aIt->getFc() + (rCp - aIt->getCp()); - mCp2FcCache[rCp] = aResult; - } - else - throw ExceptionNotFound - ("WW8PieceTableImpl::cp2fc: " + rCp.toString()); - } - else - aResult = mCp2FcCache[rCp]; - - return aResult; -} - -bool WW8PieceTableImpl::isComplex(const Cp & rCp) const -{ - bool bResult = false; - - tEntries::const_iterator aIt = findCp(rCp); - - if (aIt != mEntries.end()) - bResult = aIt->isComplex(); - - return bResult; -} - -bool WW8PieceTableImpl::isComplex(const Fc & rFc) const -{ - bool bResult = false; - - tEntries::const_iterator aIt = findFc(rFc); - - if (aIt != mEntries.end()) - bResult = aIt->isComplex(); - - return bResult; -} - -CpAndFc WW8PieceTableImpl::createCpAndFc -(const Cp & rCp, PropertyType eType) const -{ - return CpAndFc(rCp, cp2fc(rCp), eType); -} - -CpAndFc WW8PieceTableImpl::createCpAndFc -(const Fc & rFc, PropertyType eType) const -{ - return CpAndFc(fc2cp(rFc), rFc, eType); -} - -void WW8PieceTableImpl::dump(ostream & o) const -{ - o << "<piecetable>" << endl; - copy(mEntries.begin(), mEntries.end(), ostream_iterator<CpAndFc>(o, "\n")); - o << "</piecetable>" << endl; -} -}} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/writerfilter/source/doctok/WW8PieceTableImpl.hxx b/writerfilter/source/doctok/WW8PieceTableImpl.hxx deleted file mode 100644 index f1a57c6a32fd..000000000000 --- a/writerfilter/source/doctok/WW8PieceTableImpl.hxx +++ /dev/null @@ -1,67 +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_WW8_PIECE_TABLE_IMPL_HXX -#define INCLUDED_WW8_PIECE_TABLE_IMPL_HXX - -#include <vector> -#include <WW8CpAndFc.hxx> -#include <WW8PieceTable.hxx> - -namespace writerfilter { -namespace doctok -{ -using namespace ::std; - -class WW8PieceTableImpl : public WW8PieceTable -{ - typedef std::vector<CpAndFc> tEntries; - tEntries mEntries; - - tEntries::const_iterator findCp(const Cp & rCp) const; - tEntries::const_iterator findFc(const Fc & rFc) const; - - mutable Cp2FcHashMap_t mCp2FcCache; - -public: - WW8PieceTableImpl(WW8Stream & rStream, sal_uInt32 nOffset, - sal_uInt32 nCount); - - virtual Fc cp2fc(const Cp & aCpIn) const; - virtual Cp fc2cp(const Fc & aFcIn) const; - virtual bool isComplex(const Cp & aCp) const; - virtual bool isComplex(const Fc & aFc) const; - - virtual sal_uInt32 getCount() const; - virtual Cp getFirstCp() const; - virtual Fc getFirstFc() const; - virtual Cp getLastCp() const; - virtual Fc getLastFc() const; - virtual Cp getCp(sal_uInt32 nIndex) const; - virtual Fc getFc(sal_uInt32 nIndex) const; - virtual CpAndFc createCpAndFc(const Cp & rCp, PropertyType eType) const; - virtual CpAndFc createCpAndFc(const Fc & rFc, PropertyType eType) const; - - virtual void dump(ostream & o) const; -}; -}} - -#endif // INCLUDED_WW8_PIECE_TABLE_IMPL_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |