globals(3)
NAME
Globals - some useful pointers that should be global
SYNOPSIS
#include <Globals.h> Public Member Functions Globals (CvrStgFile *f=NULL, Graph *g=NULL) void operator= (const Globals &g) void reset (void) Public Attributes CvrStgFile * TheCvrStgFile the cover-/stego- file that is operated on (set in CvrStgFile::CvrStgFile) Graph * TheGraph the graph that is built upon the cover-/stego-file (set in Graph::Graph)
Detailed Description
This class provides some useful global variables. They are not static,
instead there exists a global Globs object to make it easy to use
different Globals objects during one execution (this is necessary for
some unit-tests).
The Graph constructor as well as the CvrStgFile constructor write
itself into the Globs object. Doing this so early is necessary because
the construction of a Graph or CvrStgFile object might already need a
correctly set Globs object.
During one 'normal' (i.e. non-unit-test) execution of steghide only one
Globals object will be used, namely the one created in main(), filled
in the Graph and the CvrStgFile constructor and stored at the Globs
pointer.
The main purpose of making these variables global is to save memory in
classes that are small but used in large numbers (e.g.
*SampleValue,...). Using static pointers in these classed would be too
chaotic to reset for the unit tests and non-static pointers would need
too much memory.
Constructor & Destructor Documentation
Globals::Globals (CvrStgFile * f = NULL, Graph * g = NULL) [inline]
Member Function Documentation
void Globals::operator= (const Globals & g) [inline] void Globals::reset (void) [inline]
Member Data Documentation
CvrStgFile* Globals::TheCvrStgFile
Graph* Globals::TheGraph
Author
- Generated automatically by Doxygen for steghide from the source code.