Main Page
Namespaces
Classes
Files
File List
File Members
WPXEncryption.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
* Copyright (C) 2007 Jaroslav Fojtik (JaFojtik@seznam.cz)
4
* Copyright (C) 2007 Fridrich Strba (fridrich.strba@bluewin.ch)
5
*
6
* This library is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU Library General Public
8
* License as published by the Free Software Foundation; either
9
* version 2 of the License, or (at your option) any later version.
10
*
11
* This library is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* Library General Public License for more details.
15
*
16
* You should have received a copy of the GNU Library General Public
17
* License along with this library; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
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 WPXENCRYPTION_H
28
#define WPXENCRYPTION_H
29
30
#include "
libwpd_types.h
"
31
#include "
WPXString.h
"
32
33
class
WPXInputStream
;
34
35
class
WPXEncryption
36
{
37
public
:
38
WPXEncryption
(
const
char
*password,
const
unsigned
long
encryptionStartOffset = 0);
39
~WPXEncryption
();
40
41
const
unsigned
char
*
readAndDecrypt
(
WPXInputStream
*input,
unsigned
long
numBytes,
unsigned
long
&numBytesRead);
42
uint16_t
getCheckSum
()
const
;
43
44
void
setEncryptionStartOffset
(
unsigned
long
encryptionStartOffset)
45
{
46
m_encryptionStartOffset
= encryptionStartOffset;
47
}
48
unsigned
long
getEncryptionStartOffset
()
const
49
{
50
return
m_encryptionStartOffset
;
51
}
52
53
void
setEncryptionMaskBase
(
unsigned
char
encryptionMaskBase)
54
{
55
m_encryptionMaskBase
= encryptionMaskBase;
56
}
57
unsigned
char
getEncryptionMaskBase
()
const
58
{
59
return
m_encryptionMaskBase
;
60
}
61
62
const
WPXString
&
getEncryptionPassword
()
const
63
{
64
return
m_password
;
65
}
66
67
private
:
68
unsigned
char
*
m_buffer
;
69
WPXString
m_password
;
70
unsigned
long
m_encryptionStartOffset
;
71
unsigned
char
m_encryptionMaskBase
;
72
// Unimplemented to prevent compiler from creating crasher ones
73
WPXEncryption
(
const
WPXEncryption
&);
74
WPXEncryption
&
operator=
(
const
WPXEncryption
&);
75
};
76
77
#endif
/* WPXENCRYPTION_H */
78
/* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */
Generated for libwpd by
doxygen
1.8.1.2