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.
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout