steghide 0.5.1
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
std::string CommandString
 the name of the command to be executed in this session (as supplied by the user)
ArgString EmbFn
 the embed file name, "" if stdin
ArgString ExtFn
 the extract file name, "" if stdout
ArgString CvrFn
 the cover file name, "" if stdin
ArgString StgFn
 the stego file name, "" if stdout/stdin
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: