steghide  0.5.1
Public Member Functions | Public Attributes | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
Arguments Class Reference

parsing and data representation of command-line arguments

#include <Arguments.h>

Public Member Functions

 Arguments (void)
 
 Arguments (int argc, char *argv[])
 
void parse (void)
 
bool stdin_isused (void) const
 
std::string getPassphrase (bool doublecheck=false)
 

Public Attributes

ArgCommand Command
 the command to be executed in this session More...
 
std::string CommandString
 the name of the command to be executed in this session (as supplied by the user) More...
 
ArgString EmbFn
 the embed file name, "" if stdin More...
 
ArgString ExtFn
 the extract file name, "" if stdout More...
 
ArgString CvrFn
 the cover file name, "" if stdin More...
 
ArgString StgFn
 the stego file name, "" if stdout/stdin More...
 
ArgString Passphrase
 
ArgBool Checksum
 
ArgInt Compression
 
ArgBool EmbedEmbFn
 
ArgEncAlgo EncAlgo
 
ArgEncMode EncMode
 
ArgULong Radius
 
ArgFloat Goal
 
ArgBool Force
 
ArgVerbosity Verbosity
 
ArgDebugCommand DebugCommand
 
ArgBool Check
 
ArgStringList FileList
 
ArgUInt DebugLevel
 
ArgUInt GmlGraphRecDepth
 
ArgUInt GmlStartVertex
 

Private Types

typedef std::vector< std::string >::const_iterator ArgIt
 

Private Member Functions

void parse_Command (ArgIt &curarg)
 
bool parse_EmbFn (ArgIt &curarg)
 
bool parse_ExtFn (ArgIt &curarg)
 
bool parse_CvrFn (ArgIt &curarg)
 
bool parse_StgFn (ArgIt &curarg)
 
bool parse_PassphraseFile (ArgIt &curarg)
 
bool parse_Passphrase (ArgIt &curarg)
 
bool parse_Checksum (ArgIt &curarg)
 
bool parse_Compression (ArgIt &curarg)
 
bool parse_EmbedEmbFn (ArgIt &curarg)
 
bool parse_Encryption (ArgIt &curarg)
 
bool parse_Radius (ArgIt &curarg)
 
bool parse_Goal (ArgIt &curarg)
 
bool parse_Force (ArgIt &curarg)
 
bool parse_Verbosity (ArgIt &curarg)
 
bool parse_Debug (ArgIt &curarg)
 
void setDefaults (void)
 

Private Attributes

std::vector< std::string > TheArguments
 

Static Private Attributes

static const int NoCompression = 0
 
static const EncryptionAlgorithm Default_EncAlgo = EncryptionAlgorithm (EncryptionAlgorithm::NONE)
 
static const EncryptionMode Default_EncMode = EncryptionMode (EncryptionMode::ECB)
 
static const bool Default_Checksum = true
 
static const int Default_Compression = 9
 
static const bool Default_EmbedEmbFn = true
 
static const bool Default_Force = false
 
static const VERBOSITY Default_Verbosity = NORMAL
 
static const unsigned long Default_Radius = 0
 
static const unsigned int Max_Algorithm = 3
 
static float Default_Goal = 100.0
 
static const DEBUGCOMMAND Default_DebugCommand = NONE
 
static const bool Default_Check = false
 
static const unsigned int Default_DebugLevel = 0
 
static const unsigned int Default_GmlGraphRecDepth = 0
 
static const unsigned int Default_GmlStartVertex = 0
 

Member Typedef Documentation

◆ ArgIt

typedef std::vector<std::string>::const_iterator Arguments::ArgIt
private

Constructor & Destructor Documentation

◆ Arguments() [1/2]

Arguments::Arguments ( void  )
inline

◆ Arguments() [2/2]

Arguments::Arguments ( int  argc,
char *  argv[] 
)

initialize this Arguments object with argc and argv

Member Function Documentation

◆ getPassphrase()

std::string Arguments::getPassphrase ( bool  doublecheck = false)

◆ parse()

void Arguments::parse ( void  )

parse Argc and Argv filling the Arg* member variable for later access

◆ parse_Checksum()

bool Arguments::parse_Checksum ( ArgIt curarg)
private

◆ parse_Command()

void Arguments::parse_Command ( ArgIt curarg)
private

parse the command

Note: parse_Command is the only parse_* function that requires curarg to be a command. (because the command is the only argument with a fixed position).

◆ parse_Compression()

bool Arguments::parse_Compression ( ArgIt curarg)
private

◆ parse_CvrFn()

bool Arguments::parse_CvrFn ( ArgIt curarg)
private

◆ parse_Debug()

bool Arguments::parse_Debug ( ArgIt curarg)
private

◆ parse_EmbedEmbFn()

bool Arguments::parse_EmbedEmbFn ( ArgIt curarg)
private

◆ parse_EmbFn()

bool Arguments::parse_EmbFn ( ArgIt curarg)
private

test if curarg points to an emb filename argument and if yes: parse it

Returns
true iff one or more arguments have been parsed

◆ parse_Encryption()

bool Arguments::parse_Encryption ( ArgIt curarg)
private

◆ parse_ExtFn()

bool Arguments::parse_ExtFn ( ArgIt curarg)
private

◆ parse_Force()

bool Arguments::parse_Force ( ArgIt curarg)
private

◆ parse_Goal()

bool Arguments::parse_Goal ( ArgIt curarg)
private

◆ parse_Passphrase()

bool Arguments::parse_Passphrase ( ArgIt curarg)
private

◆ parse_PassphraseFile()

bool Arguments::parse_PassphraseFile ( ArgIt curarg)
private

◆ parse_Radius()

bool Arguments::parse_Radius ( ArgIt curarg)
private

◆ parse_StgFn()

bool Arguments::parse_StgFn ( ArgIt curarg)
private

◆ parse_Verbosity()

bool Arguments::parse_Verbosity ( ArgIt curarg)
private

◆ setDefaults()

void Arguments::setDefaults ( void  )
private

◆ stdin_isused()

bool Arguments::stdin_isused ( void  ) const

is standard input used ? - according to the given arguments

Member Data Documentation

◆ Check

ArgBool Arguments::Check

◆ Checksum

ArgBool Arguments::Checksum

◆ Command

ArgCommand Arguments::Command

◆ CommandString

std::string Arguments::CommandString

◆ Compression

ArgInt Arguments::Compression

◆ CvrFn

ArgString Arguments::CvrFn

◆ DebugCommand

ArgDebugCommand Arguments::DebugCommand

◆ DebugLevel

ArgUInt Arguments::DebugLevel

◆ Default_Check

const bool Arguments::Default_Check = false
staticprivate

◆ Default_Checksum

const bool Arguments::Default_Checksum = true
staticprivate

◆ Default_Compression

const int Arguments::Default_Compression = 9
staticprivate

◆ Default_DebugCommand

const DEBUGCOMMAND Arguments::Default_DebugCommand = NONE
staticprivate

◆ Default_DebugLevel

const unsigned int Arguments::Default_DebugLevel = 0
staticprivate

◆ Default_EmbedEmbFn

const bool Arguments::Default_EmbedEmbFn = true
staticprivate

◆ Default_EncAlgo

const EncryptionAlgorithm Arguments::Default_EncAlgo = EncryptionAlgorithm (EncryptionAlgorithm::NONE)
staticprivate

◆ Default_EncMode

const EncryptionMode Arguments::Default_EncMode = EncryptionMode (EncryptionMode::ECB)
staticprivate

◆ Default_Force

const bool Arguments::Default_Force = false
staticprivate

◆ Default_GmlGraphRecDepth

const unsigned int Arguments::Default_GmlGraphRecDepth = 0
staticprivate

◆ Default_GmlStartVertex

const unsigned int Arguments::Default_GmlStartVertex = 0
staticprivate

◆ Default_Goal

float Arguments::Default_Goal = 100.0
staticprivate

◆ Default_Radius

const unsigned long Arguments::Default_Radius = 0
staticprivate

◆ Default_Verbosity

const VERBOSITY Arguments::Default_Verbosity = NORMAL
staticprivate

◆ EmbedEmbFn

ArgBool Arguments::EmbedEmbFn

◆ EmbFn

ArgString Arguments::EmbFn

◆ EncAlgo

ArgEncAlgo Arguments::EncAlgo

◆ EncMode

ArgEncMode Arguments::EncMode

◆ ExtFn

ArgString Arguments::ExtFn

◆ FileList

ArgStringList Arguments::FileList

◆ Force

ArgBool Arguments::Force

◆ GmlGraphRecDepth

ArgUInt Arguments::GmlGraphRecDepth

◆ GmlStartVertex

ArgUInt Arguments::GmlStartVertex

◆ Goal

ArgFloat Arguments::Goal

◆ Max_Algorithm

const unsigned int Arguments::Max_Algorithm = 3
staticprivate

◆ NoCompression

const int Arguments::NoCompression = 0
staticprivate

◆ Passphrase

ArgString Arguments::Passphrase

◆ Radius

ArgULong Arguments::Radius

◆ StgFn

ArgString Arguments::StgFn

◆ TheArguments

std::vector<std::string> Arguments::TheArguments
private

◆ Verbosity

ArgVerbosity Arguments::Verbosity

The documentation for this class was generated from the following files: