WP3VariableLengthGroup.h Source File documentation

WP3VariableLengthGroup.h
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
2/* libwpd
3 * Version: MPL 2.0 / LGPLv2.1+
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * Major Contributor(s):
10 * Copyright (C) 2004 Marc Maurer (uwog@uwog.net)
11 * Copyright (C) 2005-2006 Fridrich Strba (fridrich.strba@bluewin.ch)
12 *
13 * For minor contributions see the git repository.
14 *
15 * Alternatively, the contents of this file may be used under the terms
16 * of the GNU Lesser General Public License Version 2.1 or later
17 * (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are
18 * applicable instead of those above.
19 *
20 * For further information visit http://libwpd.sourceforge.net
21 */
22
23/* "This product is not manufactured, approved, or supported by
24 * Corel Corporation or Corel Corporation Limited."
25 */
26
27#ifndef WP3VARIABLELENGTHGROUP_H
28#define WP3VARIABLELENGTHGROUP_H
29
30#include "WP3Part.h"
31
32class WPXEncryption;
33
34 class WP3VariableLengthGroup : public WP3Part
35{
36public:
37 WP3VariableLengthGroup(); // WP3VariableLengthGroup should _never_ be constructed, only its inherited classes
38 ~WP3VariableLengthGroup() override {}
39
40 static WP3VariableLengthGroup *constructVariableLengthGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption, const unsigned char group);
41
42 static bool isGroupConsistent(librevenge::RVNGInputStream *input, WPXEncryption *encryption, const unsigned char group);
43
44protected:
45 void _read(librevenge::RVNGInputStream *input, WPXEncryption *encryption);
46 virtual void _readContents(librevenge::RVNGInputStream * /* input */, WPXEncryption * /* encryption */) {} // we don't always need more information than that provided generically
47
48 unsigned char getSubGroup() const
49 {
50 return m_subGroup;
51 }
52 unsigned short getSize() const
53 {
54 return m_size;
55 }
56
57private:
58 unsigned char m_subGroup;
59 unsigned short m_size;
60};
61
62#endif /* WP3VARIABLELENGTHGROUP_H */
63/* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */
WP3Part.h
WP3Part
Definition WP3Part.h:36
WP3VariableLengthGroup
Definition WP3VariableLengthGroup.h:35
WP3VariableLengthGroup::getSize
unsigned short getSize() const
Definition WP3VariableLengthGroup.h:52
WP3VariableLengthGroup::isGroupConsistent
static bool isGroupConsistent(librevenge::RVNGInputStream *input, WPXEncryption *encryption, const unsigned char group)
Definition WP3VariableLengthGroup.cpp:79
WP3VariableLengthGroup::constructVariableLengthGroup
static WP3VariableLengthGroup * constructVariableLengthGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption, const unsigned char group)
Definition WP3VariableLengthGroup.cpp:49
WP3VariableLengthGroup::m_subGroup
unsigned char m_subGroup
Definition WP3VariableLengthGroup.h:58
WP3VariableLengthGroup::_read
void _read(librevenge::RVNGInputStream *input, WPXEncryption *encryption)
Definition WP3VariableLengthGroup.cpp:124
WP3VariableLengthGroup::m_size
unsigned short m_size
Definition WP3VariableLengthGroup.h:59
WP3VariableLengthGroup::getSubGroup
unsigned char getSubGroup() const
Definition WP3VariableLengthGroup.h:48
WP3VariableLengthGroup::_readContents
virtual void _readContents(librevenge::RVNGInputStream *, WPXEncryption *)
Definition WP3VariableLengthGroup.h:46
WP3VariableLengthGroup::WP3VariableLengthGroup
WP3VariableLengthGroup()
Definition WP3VariableLengthGroup.cpp:43
WP3VariableLengthGroup::~WP3VariableLengthGroup
~WP3VariableLengthGroup() override
Definition WP3VariableLengthGroup.h:38
WPXEncryption
Definition WPXEncryption.h:36