steghide 0.5.1
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
38class 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
60 std::string CommandString ;
61
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
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 ;
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 ;
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 */
DEBUGCOMMAND
Definition Arg.h:55
@ NONE
Definition Arg.h:55
VERBOSITY
Definition Arg.h:54
@ NORMAL
Definition Arg.h:54
parsing and data representation of command-line arguments
Definition Arguments.h:38
static const unsigned int Default_GmlGraphRecDepth
Definition Arguments.h:107
static const bool Default_EmbedEmbFn
Definition Arguments.h:98
bool parse_EmbFn(ArgIt &curarg)
Definition Arguments.cc:204
ArgString EmbFn
the embed file name, "" if stdin
Definition Arguments.h:63
bool parse_Debug(ArgIt &curarg)
Definition Arguments.cc:691
bool parse_CvrFn(ArgIt &curarg)
Definition Arguments.cc:266
static const VERBOSITY Default_Verbosity
Definition Arguments.h:100
ArgULong Radius
Definition Arguments.h:76
static const bool Default_Check
Definition Arguments.h:105
ArgVerbosity Verbosity
Definition Arguments.h:79
bool parse_Goal(ArgIt &curarg)
Definition Arguments.cc:602
std::vector< std::string >::const_iterator ArgIt
Definition Arguments.h:90
bool parse_Encryption(ArgIt &curarg)
Definition Arguments.cc:472
ArgString Passphrase
Definition Arguments.h:70
ArgStringList FileList
Definition Arguments.h:82
void parse_Command(ArgIt &curarg)
Definition Arguments.cc:122
bool parse_Verbosity(ArgIt &curarg)
Definition Arguments.cc:655
ArgBool Checksum
Definition Arguments.h:71
std::vector< std::string > TheArguments
Definition Arguments.h:141
ArgUInt GmlGraphRecDepth
Definition Arguments.h:84
bool parse_Passphrase(ArgIt &curarg)
Definition Arguments.cc:360
ArgInt Compression
Definition Arguments.h:72
static const unsigned int Default_DebugLevel
Definition Arguments.h:106
bool stdin_isused(void) const
Definition Arguments.cc:815
ArgBool Check
Definition Arguments.h:81
bool parse_EmbedEmbFn(ArgIt &curarg)
Definition Arguments.cc:450
static const EncryptionAlgorithm Default_EncAlgo
Definition Arguments.h:94
void parse(void)
Definition Arguments.cc:60
static const int NoCompression
Definition Arguments.h:92
ArgString StgFn
the stego file name, "" if stdout/stdin
Definition Arguments.h:69
ArgEncMode EncMode
Definition Arguments.h:75
ArgFloat Goal
Definition Arguments.h:77
ArgBool EmbedEmbFn
Definition Arguments.h:73
ArgString ExtFn
the extract file name, "" if stdout
Definition Arguments.h:65
std::string getPassphrase(bool doublecheck=false)
Definition Arguments.cc:774
bool parse_PassphraseFile(ArgIt &curarg)
Definition Arguments.cc:328
static const unsigned int Default_GmlStartVertex
Definition Arguments.h:108
std::string CommandString
the name of the command to be executed in this session (as supplied by the user)
Definition Arguments.h:60
ArgDebugCommand DebugCommand
Definition Arguments.h:80
static const bool Default_Checksum
Definition Arguments.h:96
ArgUInt DebugLevel
Definition Arguments.h:83
bool parse_Radius(ArgIt &curarg)
Definition Arguments.cc:574
bool parse_Compression(ArgIt &curarg)
Definition Arguments.cc:405
ArgString CvrFn
the cover file name, "" if stdin
Definition Arguments.h:67
bool parse_ExtFn(ArgIt &curarg)
Definition Arguments.cc:235
bool parse_Force(ArgIt &curarg)
Definition Arguments.cc:633
ArgUInt GmlStartVertex
Definition Arguments.h:85
ArgBool Force
Definition Arguments.h:78
ArgCommand Command
the command to be executed in this session
Definition Arguments.h:58
ArgEncAlgo EncAlgo
Definition Arguments.h:74
static const bool Default_Force
Definition Arguments.h:99
bool parse_StgFn(ArgIt &curarg)
Definition Arguments.cc:297
Arguments(void)
Definition Arguments.h:40
static const int Default_Compression
Definition Arguments.h:97
static const EncryptionMode Default_EncMode
Definition Arguments.h:95
static float Default_Goal
Definition Arguments.h:103
void setDefaults(void)
Definition Arguments.cc:830
static const unsigned int Max_Algorithm
Definition Arguments.h:102
bool parse_Checksum(ArgIt &curarg)
Definition Arguments.cc:383
static const DEBUGCOMMAND Default_DebugCommand
Definition Arguments.h:104
static const unsigned long Default_Radius
Definition Arguments.h:101
Definition EncryptionAlgorithm.h:26
Definition EncryptionMode.h:26