DummyFile Class Reference

a dummy CvrStgFile implementation to facilitate testing and debugging

#include <DummyFile.h>

Inheritance diagram for DummyFile:

CvrStgFile CvrStgObject

List of all members.

Public Member Functions

 DummyFile (UWORD16 s, std::vector< std::vector< bool > > *svam)
std::list< CvrStgFile::PropertygetProperties (void) const
unsigned long getNumSamples (void) const
void replaceSample (const SamplePos pos, const SampleValue *s)
SampleValuegetSampleValue (const SamplePos pos) const
std::vector< std::vector< bool > > * getSampleValueAdjacencyMatrix () const

Static Public Member Functions

static void createGraph (std::vector< std::list< UWORD16 > > &adjlist, BitString **bs, CvrStgFile **f, Selector **s)

Private Attributes

std::vector< UWORD16Samples
std::vector< std::vector< bool > > * SampleValueAdjacencyMatrix

Static Private Attributes

static const unsigned short SamplesPerVertex = 2
static const EmbValue EmbValueModulus = 2


Constructor & Destructor Documentation

DummyFile::DummyFile ( UWORD16  s,
std::vector< std::vector< bool > > *  svam 
)

construct a DummyFile object containing the sample values 0,1,...,s-1

Parameters:
s the size of the DummyFile (i.e. the number of samples it should contain)
svam the SampleValueAdjacencyMatrix for the Samples in this file


Member Function Documentation

void DummyFile::createGraph ( std::vector< std::list< UWORD16 > > &  adjlist,
BitString **  bs,
CvrStgFile **  f,
Selector **  s 
) [static]

create a BitString, a DummyFile and a Selector that together will produce a graph like described by the adjacency list

Parameters:
adjlist an adjacency list describing the "target graph"
bs will be filled with the BitString
f will be filled with the DummyFile
s will be filled with the Selector
Constructing a Graph object with "Graph (*f, **bs, **s)" will result in a graph of the form of adjlist.

The constructed graph has the following form: SamplesPerVertex == 2, EmbValueModulus = 2 every vertex has a sample value with bit == 0 at index 0 and one with bit == 1 at index 1, if two vertices are adjacent, one end of the edge is at index 0 of the vertex with the lower vertex label and the other end of the edge is at index 1 of the vertex with the higher vertex label. The distance between vertex with label i and vertex with label j is : 2*|j - i| + 1

unsigned long DummyFile::getNumSamples ( void   )  const [virtual]

get the number of samples in this CvrStgObject

Implements CvrStgObject.

std::list< CvrStgFile::Property > DummyFile::getProperties ( void   )  const [virtual]

Implements CvrStgFile.

SampleValue * DummyFile::getSampleValue ( const SamplePos  pos  )  const [virtual]

get the sample at position pos

Parameters:
pos the position of a sample (must be in 0...getNumSamples()-1)
Returns:
the sample at the given position
The sample object is created in this function and should be deleted by the caller. The derived class should check the condition(s) given above in its Implementation of this function.

Implements CvrStgObject.

std::vector<std::vector<bool> >* DummyFile::getSampleValueAdjacencyMatrix (  )  const [inline]

void DummyFile::replaceSample ( const SamplePos  pos,
const SampleValue s 
) [virtual]

replace a sample thus (possibly) altering the value of the bit returned by SampleValue->getBit()

Parameters:
pos the position of the sample (must be in 0...getNumSamples()-1)
s the sample value that should replace the current sample value (must be of correct type for this CvrStgObject)
The derived class should check the condition(s) given above in its Implementation of this function.

Implements CvrStgObject.


Member Data Documentation

const EmbValue DummyFile::EmbValueModulus = 2 [static, private]

Reimplemented from CvrStgFile.

std::vector<UWORD16> DummyFile::Samples [private]

const unsigned short DummyFile::SamplesPerVertex = 2 [static, private]

Reimplemented from CvrStgFile.

std::vector<std::vector<bool> >* DummyFile::SampleValueAdjacencyMatrix [private]


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

Generated on Mon Aug 17 10:58:31 2009 for steghide by  doxygen 1.5.9