steghide
0.5.1
Main Page
Classes
Files
File List
File Members
src
Arg.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_ARG_H
22
#define SH_ARG_H
23
24
#include <list>
25
#include <string>
26
27
#include "
EncryptionAlgorithm.h
"
28
#include "
EncryptionMode.h
"
29
30
// to include DEBUG if defined
31
#ifdef HAVE_CONFIG_H
32
#include <config.h>
33
#endif
34
35
template
<
class
T>
class
Arg
{
36
public
:
37
Arg
(
void
) :
set
(false) {} ;
38
Arg
(T v,
bool
setbyuser =
true
) ;
39
40
T
getValue
(
void
)
const
41
{
return
Value
; } ;
42
43
void
setValue
(T v,
bool
setbyuser =
true
) ;
44
45
bool
is_set
(
void
)
const
46
{
return
set
; } ;
47
48
private
:
49
T
Value
;
50
bool
set
;
51
} ;
52
53
enum
COMMAND
{
EMBED
,
EXTRACT
,
INFO
,
ENCINFO
,
SHOWVERSION
,
SHOWLICENSE
,
SHOWHELP
,
PRINTFREQS
} ;
54
enum
VERBOSITY
{
QUIET
,
NORMAL
,
VERBOSE
,
STATS
} ;
55
enum
DEBUGCOMMAND
{
NONE
,
PRINTGRAPH
,
PRINTGMLGRAPH
,
PRINTGMLVERTEX
} ;
56
57
typedef
Arg<COMMAND>
ArgCommand
;
58
typedef
Arg<VERBOSITY>
ArgVerbosity
;
59
typedef
Arg<bool>
ArgBool
;
60
typedef
Arg<std::string>
ArgString
;
61
typedef
Arg<unsigned long>
ArgULong
;
62
typedef
Arg<int>
ArgInt
;
63
typedef
Arg<float>
ArgFloat
;
64
typedef
Arg<EncryptionAlgorithm>
ArgEncAlgo
;
65
typedef
Arg<EncryptionMode>
ArgEncMode
;
66
typedef
Arg<unsigned int>
ArgUInt
;
67
typedef
Arg<std::list<std::string>
>
ArgStringList
;
68
typedef
Arg<DEBUGCOMMAND>
ArgDebugCommand
;
69
70
#endif // ndef SH_ARG_H
Generated on Mon Jan 14 2013 04:45:06 for steghide by
1.8.3