steghide
0.5.1
Main Page
Classes
Files
File List
File Members
src
Arguments.h
Go to the documentation of this file.
1
/*
2
* steghide 0.5.1 - a steganography program
3
* Copyright (C) 1999-2003 Stefan Hetzl <shetzl@chello.at>
4
*
5
* This program is free software; you can redistribute it and/or
6
* modify it under the terms of the GNU General Public License
7
* as published by the Free Software Foundation; either version 2
8
* of the License, or (at your option) any later version.
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with this program; if not, write to the Free Software
17
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18
*
19
*/
20
21
#ifndef SH_ARGUMENTS_H
22
#define SH_ARGUMENTS_H
23
24
#include <string>
25
#include <vector>
26
27
#include "
Arg.h
"
28
29
// to include DEBUG if defined
30
#ifdef HAVE_CONFIG_H
31
#include "config.h"
32
#endif
33
38
class
Arguments
{
39
public
:
40
Arguments
(
void
) {} ;
41
45
Arguments
(
int
argc,
char
*argv[]) ;
46
50
void
parse
(
void
) ;
51
55
bool
stdin_isused
(
void
)
const
;
56
58
ArgCommand
Command
;
60
std::string
CommandString
;
61
63
ArgString
EmbFn
;
65
ArgString
ExtFn
;
67
ArgString
CvrFn
;
69
ArgString
StgFn
;
70
ArgString
Passphrase
;
71
ArgBool
Checksum
;
72
ArgInt
Compression
;
73
ArgBool
EmbedEmbFn
;
74
ArgEncAlgo
EncAlgo
;
75
ArgEncMode
EncMode
;
76
ArgULong
Radius
;
77
ArgFloat
Goal
;
78
ArgBool
Force
;
79
ArgVerbosity
Verbosity
;
80
ArgDebugCommand
DebugCommand
;
81
ArgBool
Check
;
82
ArgStringList
FileList
;
83
ArgUInt
DebugLevel
;
84
ArgUInt
GmlGraphRecDepth
;
85
ArgUInt
GmlStartVertex
;
86
87
std::string
getPassphrase
(
bool
doublecheck =
false
) ;
88
89
private
:
90
typedef
std::vector<std::string>::const_iterator
ArgIt
;
91
92
static
const
int
NoCompression
= 0 ;
93
94
static
const
EncryptionAlgorithm
Default_EncAlgo
;
95
static
const
EncryptionMode
Default_EncMode
;
96
static
const
bool
Default_Checksum
= true ;
97
static
const
int
Default_Compression
= 9 ;
// slowest, but smallest
98
static
const
bool
Default_EmbedEmbFn
= true ;
99
static
const
bool
Default_Force
= false ;
100
static
const
VERBOSITY
Default_Verbosity
=
NORMAL
;
101
static
const
unsigned
long
Default_Radius
= 0 ;
// there is no default radius for all file formats
102
static
const
unsigned
int
Max_Algorithm
= 3 ;
103
static
float
Default_Goal
;
104
static
const
DEBUGCOMMAND
Default_DebugCommand
=
NONE
;
105
static
const
bool
Default_Check
= false ;
106
static
const
unsigned
int
Default_DebugLevel
= 0 ;
107
static
const
unsigned
int
Default_GmlGraphRecDepth
= 0 ;
108
static
const
unsigned
int
Default_GmlStartVertex
= 0 ;
109
116
void
parse_Command
(
ArgIt
& curarg) ;
117
122
bool
parse_EmbFn
(
ArgIt
& curarg) ;
123
124
bool
parse_ExtFn
(
ArgIt
& curarg) ;
125
bool
parse_CvrFn
(
ArgIt
& curarg) ;
126
bool
parse_StgFn
(
ArgIt
& curarg) ;
127
bool
parse_PassphraseFile
(
ArgIt
& curarg) ;
128
bool
parse_Passphrase
(
ArgIt
& curarg) ;
129
bool
parse_Checksum
(
ArgIt
& curarg) ;
130
bool
parse_Compression
(
ArgIt
& curarg) ;
131
bool
parse_EmbedEmbFn
(
ArgIt
& curarg) ;
132
bool
parse_Encryption
(
ArgIt
& curarg) ;
133
bool
parse_Radius
(
ArgIt
& curarg) ;
134
bool
parse_Goal
(
ArgIt
& curarg) ;
135
bool
parse_Force
(
ArgIt
& curarg) ;
136
bool
parse_Verbosity
(
ArgIt
& curarg) ;
137
bool
parse_Debug
(
ArgIt
& curarg) ;
138
139
void
setDefaults
(
void
) ;
140
141
std::vector<std::string>
TheArguments
;
142
} ;
143
144
// gcc does not support the export keyword
145
#include "
Arg.cc
"
146
147
#endif
/* ndef SH_ARGUMENTS_H */
Generated on Mon Jan 14 2013 04:45:06 for steghide by
1.8.3