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 
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 
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_Passphrase (ArgIt& curarg) ;
128  bool parse_Checksum (ArgIt& curarg) ;
129  bool parse_Compression (ArgIt& curarg) ;
130  bool parse_EmbedEmbFn (ArgIt& curarg) ;
131  bool parse_Encryption (ArgIt& curarg) ;
132  bool parse_Radius (ArgIt& curarg) ;
133  bool parse_Goal (ArgIt& curarg) ;
134  bool parse_Force (ArgIt& curarg) ;
135  bool parse_Verbosity (ArgIt& curarg) ;
136  bool parse_Debug (ArgIt& curarg) ;
137 
138  void setDefaults (void) ;
139 
140  std::vector<std::string> TheArguments ;
141 } ;
142 
143 // gcc does not support the export keyword
144 #include "Arg.cc"
145 
146 #endif /* ndef SH_ARGUMENTS_H */
VERBOSITY
VERBOSITY
Definition: Arg.h:54
Arguments::Default_EmbedEmbFn
static const bool Default_EmbedEmbFn
Definition: Arguments.h:98
Arguments::parse_Debug
bool parse_Debug(ArgIt &curarg)
Definition: Arguments.cc:655
Arguments::parse_EmbFn
bool parse_EmbFn(ArgIt &curarg)
Definition: Arguments.cc:201
Arguments::setDefaults
void setDefaults(void)
Definition: Arguments.cc:794
Arguments::DebugLevel
ArgUInt DebugLevel
Definition: Arguments.h:83
Arguments::ExtFn
ArgString ExtFn
the extract file name, "" if stdout
Definition: Arguments.h:65
Arguments::Command
ArgCommand Command
the command to be executed in this session
Definition: Arguments.h:58
Arguments::FileList
ArgStringList FileList
Definition: Arguments.h:82
Arguments::Default_Compression
static const int Default_Compression
Definition: Arguments.h:97
Arguments::Default_DebugLevel
static const unsigned int Default_DebugLevel
Definition: Arguments.h:106
Arguments::parse_StgFn
bool parse_StgFn(ArgIt &curarg)
Definition: Arguments.cc:294
Arguments::parse_Checksum
bool parse_Checksum(ArgIt &curarg)
Definition: Arguments.cc:347
Arguments::parse_Compression
bool parse_Compression(ArgIt &curarg)
Definition: Arguments.cc:369
Arguments::Default_EncMode
static const EncryptionMode Default_EncMode
Definition: Arguments.h:95
Arguments::Checksum
ArgBool Checksum
Definition: Arguments.h:71
Arguments::parse_ExtFn
bool parse_ExtFn(ArgIt &curarg)
Definition: Arguments.cc:232
Arguments::parse_Radius
bool parse_Radius(ArgIt &curarg)
Definition: Arguments.cc:538
Arguments::Default_Goal
static float Default_Goal
Definition: Arguments.h:103
Arguments::Default_GmlStartVertex
static const unsigned int Default_GmlStartVertex
Definition: Arguments.h:108
Arguments::Verbosity
ArgVerbosity Verbosity
Definition: Arguments.h:79
Arguments::Max_Algorithm
static const unsigned int Max_Algorithm
Definition: Arguments.h:102
Arguments::ArgIt
std::vector< std::string >::const_iterator ArgIt
Definition: Arguments.h:90
Arg< COMMAND >
Arguments::TheArguments
std::vector< std::string > TheArguments
Definition: Arguments.h:140
Arguments::Arguments
Arguments(void)
Definition: Arguments.h:40
Arguments::stdin_isused
bool stdin_isused(void) const
Definition: Arguments.cc:779
Arguments::getPassphrase
std::string getPassphrase(bool doublecheck=false)
Definition: Arguments.cc:738
Arguments::Radius
ArgULong Radius
Definition: Arguments.h:76
Arguments::Default_Check
static const bool Default_Check
Definition: Arguments.h:105
Arguments::Default_EncAlgo
static const EncryptionAlgorithm Default_EncAlgo
Definition: Arguments.h:94
Arguments::Default_GmlGraphRecDepth
static const unsigned int Default_GmlGraphRecDepth
Definition: Arguments.h:107
Arguments::Check
ArgBool Check
Definition: Arguments.h:81
Arguments::EmbFn
ArgString EmbFn
the embed file name, "" if stdin
Definition: Arguments.h:63
Arguments::CvrFn
ArgString CvrFn
the cover file name, "" if stdin
Definition: Arguments.h:67
Arguments::Default_Force
static const bool Default_Force
Definition: Arguments.h:99
DEBUGCOMMAND
DEBUGCOMMAND
Definition: Arg.h:55
Arguments::EncAlgo
ArgEncAlgo EncAlgo
Definition: Arguments.h:74
Arguments::DebugCommand
ArgDebugCommand DebugCommand
Definition: Arguments.h:80
Arguments::GmlStartVertex
ArgUInt GmlStartVertex
Definition: Arguments.h:85
Arg.cc
Arguments::NoCompression
static const int NoCompression
Definition: Arguments.h:92
Arguments::Default_Verbosity
static const VERBOSITY Default_Verbosity
Definition: Arguments.h:100
Arguments::Goal
ArgFloat Goal
Definition: Arguments.h:77
Arg.h
Arguments::parse_Encryption
bool parse_Encryption(ArgIt &curarg)
Definition: Arguments.cc:436
Arguments::Default_Radius
static const unsigned long Default_Radius
Definition: Arguments.h:101
Arguments::CommandString
std::string CommandString
the name of the command to be executed in this session (as supplied by the user)
Definition: Arguments.h:60
Arguments::parse_EmbedEmbFn
bool parse_EmbedEmbFn(ArgIt &curarg)
Definition: Arguments.cc:414
Arguments::parse_CvrFn
bool parse_CvrFn(ArgIt &curarg)
Definition: Arguments.cc:263
Arguments::parse
void parse(void)
Definition: Arguments.cc:57
Arguments::parse_Force
bool parse_Force(ArgIt &curarg)
Definition: Arguments.cc:597
Arguments::GmlGraphRecDepth
ArgUInt GmlGraphRecDepth
Definition: Arguments.h:84
Arguments::Default_DebugCommand
static const DEBUGCOMMAND Default_DebugCommand
Definition: Arguments.h:104
Arguments::EncMode
ArgEncMode EncMode
Definition: Arguments.h:75
Arguments::StgFn
ArgString StgFn
the stego file name, "" if stdout/stdin
Definition: Arguments.h:69
Arguments::parse_Command
void parse_Command(ArgIt &curarg)
Definition: Arguments.cc:119
Arguments::parse_Verbosity
bool parse_Verbosity(ArgIt &curarg)
Definition: Arguments.cc:619
Arguments::parse_Goal
bool parse_Goal(ArgIt &curarg)
Definition: Arguments.cc:566
Arguments::EmbedEmbFn
ArgBool EmbedEmbFn
Definition: Arguments.h:73
Arguments::Default_Checksum
static const bool Default_Checksum
Definition: Arguments.h:96
NORMAL
@ NORMAL
Definition: Arg.h:54
Arguments::parse_Passphrase
bool parse_Passphrase(ArgIt &curarg)
Definition: Arguments.cc:325
Arguments
parsing and data representation of command-line arguments
Definition: Arguments.h:38
Arguments::Passphrase
ArgString Passphrase
Definition: Arguments.h:70
Arguments::Compression
ArgInt Compression
Definition: Arguments.h:72
Arguments::Force
ArgBool Force
Definition: Arguments.h:78
EncryptionMode
Definition: EncryptionMode.h:26
EncryptionAlgorithm
Definition: EncryptionAlgorithm.h:26
NONE
@ NONE
Definition: Arg.h:55