MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Namespaces | Files | Macros
The MAK Logger Utility Library (lgrUtil)

The Logger utility library contains classes that help implementation and integration of all the Logger libraries. More...

Classes

class  MAKLogger::DtRelativeTime
 Relative Time, an elapsed duration of time, no implied measurement, could be seconds/cycles or ticks etc, relative time, does not indicate what moment it is relative too. More...
class  MAKLogger::DtAbsoluteTime
 Absolute Time, a particular measured instance in time, could be thought of as a set of relative times which are all relative to a shared time (usually 0). More...
class  MAKLogger::DtBase64Data
 Utility class to encoding and decoding binary data to base64 string suitable for storing in text file. More...
class  MAKLogger::DtCollectorImpl< T >
 Abstract Collector Implementation class. More...
class  MAKLogger::DtCollector< T >
 Contains classes used for abstract collection of data Contails DtCollector interface and implementations used for collecting data without knowledge of the container. More...
class  MAKLogger::DtPushBackCollector< T, Container >
 DtPushBackCollector is an implementation for Containers with push_back. More...
class  MAKLogger::DtInsertCollector< T, Container >
class  MAKLogger::DtFixedSizePushBackCollector< T, Container >
class  MAKLogger::DtFixedSizeArrayCollector< T >
class  MAKLogger::DtCollectors
class  MAKLogger::DtLargeFileFunctions
 Provides an interface for large (64bit) File IO. More...
class  MAKLogger::DtLgrCmdLine
 Logger Command line object for parsing command input. More...
class  MAKLogger::DtLgrArg
 Base logger argument which contains the interface for DtLgrValueArg. More...
class  MAKLogger::DtLgrDynamicLibrary
 DtLgrDynamicLibrary provides an operating independent way to manipulate dynamically loaded libraries. More...
class  MAKLogger::DtLgrFileSystem
 Various File system commands. More...
class  MAKLogger::DtLgrMediaPipelineBuilder
 The media pipeline build class stores pipeline configurations by media type and constructs gstreamer pipelines from them. More...
class  MAKLogger::DtPopupBox
 Small popup box class, provides wrapper to static QUI library function Due to implementation constraints, this is a quick fix for diplaying error messages from the engine. More...
class  MAKLogger::DtLgrPrinter
 The logger printer class prints logger specific messages. More...
class  MAKLogger::DtLgrValueArg< ValueType >
 Value argument which adds type information and encoding decoding. More...
class  MAKLogger::DtLgrVariableLengthData
 Variable length data object compile-time compatible with the RTI 1516 implementation. More...
class  MAKLogger::DtMemoryBuffer
 DtMemoryBuffer manages a memory allocation. More...
class  MAKLogger::DtObserveConnection
 DtObserveConnection is responsible for maintaining a connection between an event and an observer. More...
class  MAKLogger::DtObserveConnectionComponent
 DtObserveConnectionComponent object which is the base class for events and observers which can be connected together. More...
class  MAKLogger::DtAnyValue
 DtAnyValue is a base class for Any Value type. More...
class  MAKLogger::DtSmartBuffer
 A smart buffer has a shared pointer to the memory buffer and an offset and size of a 'smart' sub buffer. More...
class  MAKLogger::DtThreadedObject
 A Threaded object runs a DtRunnable object in a separate thread. More...
class  MAKLogger::DtThreadSafe< T >::LockedProxy
 Private class that provides a locked call to the object. More...
class  MAKLogger::DtThreadSafe< T >::ConstLockedProxy
 Private class that provides a locked call to the const object. More...
class  MAKLogger::DtThreadSafe< T >::SequenceLockImpl
 Private class which implements the Sequence lock. More...
class  MAKLogger::DtLgrFilename
 Instances of DtLgrFilename are DtStrings which convert filenames to the native format. More...

Namespaces

namespace  MAKLogger
 MAKLogger::DtLgrGenericFileFormats.

Files

file  lgrGStreamerPipeline.h
 Contains MAKLogger::lgrGStreamerPipeline class.
file  lgrMediaPipelineBuilder.h
 Contains MAKLogger::DtlgrMediaPipelineBuilder class.
file  lgrValueArg.h
 Contains MAKLogger::DtLgrValueArg and MAKLogger::DtLgrArg and MAKLogger::DtLgrMultiArg and MAKLogger::DtLgrUnlabledValueArg classes.
file  virtualConstructor.h
 Contains DT_VIRTUAL_CTR DT_VIRTUAL_CTR_DEFAULTS DT_VIRTUAL_COPY_ASSIGN DT_VIRTUAL_BASE_CTR DT_PURE_VIRTUAL_CTR DT_VIRTUAL_CTR_DEFINE DT_VIRTUAL_COPY_ASSIGN_DEFINE DT_VIRTUAL_BASE_CTR_DEFINE DT_PURE_VIRTUAL_CTR_DEFINE macros.
file  vlLgrFilename.h
 Contains MAKLogger::DtLgrFilename class.

Macros

#define DT_VIRTUAL_CTR(CLASS_NAME, ARG_TYPES_LIST)
 Declare a Virtual Constructor Create using DT_VIRTUAL_CTR(CLASS_NAME,ARG_TYPES_LIST) Where CLASS_NAME = the name of the class being declared Where ARG_TYPES_LIST = a list (ie in side parentheses) of comma seperated types.
#define DT_VIRTUAL_CTR_DEFAULTS(CLASS_NAME, ARG_TYPES_LIST, ARG_DEFAULTS_LIST)
 Declare a Virtual Constructor Create using DT_VIRTUAL_CTR_DEFAULTS(CLASS_NAME,ARG_TYPES_LIST,ARG_DEFAULTS_LIST) Where CLASS_NAME = the name of the class being declared Where ARG_TYPES_LIST = a list (ie in side parentheses) of comma seperated types Where ARG_DEFAULTS_LIST = a list (ie in side parentheses) of comma seperated types with default values specified.
#define DT_VIRTUAL_COPY_ASSIGN(CLASS_NAME)
 Declare a Virtual Copy Constructor Create using DT_VIRTUAL_COPY_CTR(CLASS_NAME) Where CLASS_NAME = the name of the class being declared.
#define DT_VIRTUAL_BASE_CTR(BASE_NAME, ARG_TYPES_LIST)   static BASE_NAME* createBase ARG_TYPES_LIST;\
 Declare a Virtual Base Constructor Create using DT_VIRTUAL_CTR(CLASS_NAME,ARG_TYPES_LIST) Where BASE_NAME = the name of the base class being created Where ARG_TYPES_LIST = a list (ie in side parentheses) of comma seperated types.
#define DT_PURE_VIRTUAL_CTR(CLASS_NAME, ARG_TYPES_LIST)
 Declare a pure virtual constructor.
#define DT_VIRTUAL_CTR_DEFINE(CLASS_NAME, ARG_TYPES_AND_NAMES_LIST, ARG_NAMES_LIST)
 Define Virtual Constructor call using DT_VIRTUAL_CTR_DEFINE( CLASS_NAME , ARG_TYPES_AND_NAMES_LIST , ARG_NAMES_LIST) Where CLASS_NAME = the name of the class that is being defined Where ARG_TYPES_AND_NAMES_LIST = a list (ie in side parentheses) of comma separated type id pairs.
#define DT_VIRTUAL_COPY_ASSIGN_DEFINE(CLASS_NAME)
 Define Virtual Copy Constructor call using DT_VIRTUAL_COPY_CTR_DEFINE( CLASS_NAME ) Where CLASS_NAME = the name of the class that is being defined.
#define DT_VIRTUAL_BASE_CTR_DEFINE(CLASS_NAME, BASE_NAME, ARG_TYPES_AND_NAMES_LIST, ARG_NAMES_LIST)
#define DT_PURE_VIRTUAL_CTR_DEFINE(CLASS_NAME, ARG_TYPES_AND_NAMES_LIST, ARG_NAMES_LIST)
 Define Pure Virtual Constructor.

Detailed Description

The Logger utility library contains classes that help implementation and integration of all the Logger libraries.

The utility library depends on VRLink's utility library.

Macro Definition Documentation

#define DT_PURE_VIRTUAL_CTR (   CLASS_NAME,
  ARG_TYPES_LIST 
)
Value:
static CLASS_NAME* create ARG_TYPES_LIST;\
/*lint -e{1736}*/\
public:\
typedef CLASS_NAME* (*creatorFunction)ARG_TYPES_LIST;\
static creatorFunction theCreator;\
static void setCreator(creatorFunction);\
protected:\
explicit CLASS_NAME ARG_TYPES_LIST;\
public:

Declare a pure virtual constructor.

Essentially the same as DT_VIRTUAL_CTR, but does not contain a constructor desclaration. Declare DT_PURE_VIRTUAL_CTR(CLASS_NAME,ARG_TYPES_LIST) Where CLASS_NAME = the name of the class being declared Where ARG_TYPES_LIST = a list (ie in side parentheses) of comma seperated types

Example: DT_PURE_VIRTUAL_CTR( foo, (int,float,void*) )

The code generated is equivalent to this:

typedef foo* (creatorFunction)(int,float,void); static foo* create(int,float,void*); static void setCreator(creatorFunction); public:

#define DT_PURE_VIRTUAL_CTR_DEFINE (   CLASS_NAME,
  ARG_TYPES_AND_NAMES_LIST,
  ARG_NAMES_LIST 
)
Value:
CLASS_NAME::creatorFunction CLASS_NAME::theCreator = 0;\
void CLASS_NAME::setCreator(CLASS_NAME::creatorFunction aCreatorFunc)\
{\
theCreator = aCreatorFunc;\
}\
CLASS_NAME* CLASS_NAME::create ARG_TYPES_AND_NAMES_LIST \
{\
if(theCreator)\
return theCreator ARG_NAMES_LIST;\
else\
throw DtAbstractInterfaceUndefined("Class " #CLASS_NAME " has not been defined\n");\
}

Define Pure Virtual Constructor.

Essentially the same as the DT_VIRTUAL_CTR_DEFINE, except instead of calling a constructor if the static constructor function is not defined it throws an exception DtAbstractInterfaceUndefined.

call using DT_PURE_VIRTUAL_CTR_DEFINE( CLASS_NAME , ARG_TYPES_AND_NAMES_LIST , ARG_NAMES_LIST) Where CLASS_NAME = the name of the class that is being defined Where ARG_TYPES_AND_NAMES_LIST = a list (ie in side parentheses) of comma separated type id pairs. Where ARG_NAMES_LIST = is the same comma seperated list but with only the names not the types

Example: DT_VIRTUAL_CTR_DEFINE( foo, (int a,float b, void* c) , ( a , b, c ) )

The code generated is equivalent to this:

foo::creatorFunction foo::theCreator = 0;

void foo::setCreator(foo::creatorFunction aCreatorFunc) { theCreator = aCreatorFunc; }

foo* foo::create(int a,float b, void* c) { if(theCreator) return theCreator( a , b, c ); else throw DtAbstractInterfaceUndefined("Class: foo has not been defined\n"); }

#define DT_VIRTUAL_BASE_CTR (   BASE_NAME,
  ARG_TYPES_LIST 
)    static BASE_NAME* createBase ARG_TYPES_LIST;\

Declare a Virtual Base Constructor Create using DT_VIRTUAL_CTR(CLASS_NAME,ARG_TYPES_LIST) Where BASE_NAME = the name of the base class being created Where ARG_TYPES_LIST = a list (ie in side parentheses) of comma seperated types.

Example: DT_VIRTUAL_BASE_CTR( bar, (int,float,void*) )

The code generated is equivalent to this:

static bar* createBase(int,float,void*);

#define DT_VIRTUAL_BASE_CTR_DEFINE (   CLASS_NAME,
  BASE_NAME,
  ARG_TYPES_AND_NAMES_LIST,
  ARG_NAMES_LIST 
)
Value:
BASE_NAME* CLASS_NAME::createBase ARG_TYPES_AND_NAMES_LIST \
{\
if(CLASS_NAME::theCreator)\
return CLASS_NAME::theCreator ARG_NAMES_LIST;\
else\
return new CLASS_NAME ARG_NAMES_LIST;\
}
#define DT_VIRTUAL_COPY_ASSIGN (   CLASS_NAME)
Value:
typedef CLASS_NAME* (*copierFunction)(const CLASS_NAME &);\
typedef CLASS_NAME& (*assignerFunction)(CLASS_NAME&,const CLASS_NAME &);\
static CLASS_NAME* copy (const CLASS_NAME &);\
static CLASS_NAME& assign(CLASS_NAME&,const CLASS_NAME &);\
static copierFunction theCopier;\
static assignerFunction theAssigner;\
static void setCopier (copierFunction);\
static void setAssigner(assignerFunction);\
protected:\
explicit CLASS_NAME (const CLASS_NAME &);\
CLASS_NAME& operator=(const CLASS_NAME &);\
public:

Declare a Virtual Copy Constructor Create using DT_VIRTUAL_COPY_CTR(CLASS_NAME) Where CLASS_NAME = the name of the class being declared.

Example: DT_VIRTUAL_COPY_CTR( foo )

The code generated is equivalent to this:

typedef foo* (copierFunction)(const foo&); typedef foo& (*assignerFunction)(foo&,const foo&); static foo copy(const foo&); static foo& assign(foo&,const foo&); static void setCopier(copierFunction); static void setAssigner(assignerFunction); protected: foo(const foo&); foo& operator=(const foo&); public:

#define DT_VIRTUAL_COPY_ASSIGN_DEFINE (   CLASS_NAME)
Value:
CLASS_NAME::copierFunction CLASS_NAME::theCopier = 0;\
CLASS_NAME::assignerFunction CLASS_NAME::theAssigner = 0;\
void CLASS_NAME::setCopier(CLASS_NAME::copierFunction aCopierFunc)\
{\
theCopier = aCopierFunc;\
}\
void CLASS_NAME::setAssigner(CLASS_NAME::assignerFunction anAssignerFunc)\
{\
theAssigner = anAssignerFunc;\
}\
CLASS_NAME* CLASS_NAME::copy ( const CLASS_NAME & orig ) \
{\
if(theCopier)\
return theCopier (orig);\
else\
return new CLASS_NAME (orig);\
}\
CLASS_NAME& CLASS_NAME::assign(CLASS_NAME& toAssign,const CLASS_NAME& orig)\
{\
if(theAssigner)\
return theAssigner(toAssign,orig);\
else\
return toAssign = orig;\
}

Define Virtual Copy Constructor call using DT_VIRTUAL_COPY_CTR_DEFINE( CLASS_NAME ) Where CLASS_NAME = the name of the class that is being defined.

Example: DT_VIRTUAL_COPY_CTR_DEFINE( foo )

The code generated is equivalent to this:

foo::copierFunction foo::theCopier = 0;

void foo::setCopier(foo::copierFunction aCopierFunc) { theCopier = aCopierFunc; }

foo* foo::copy( const foo & orig) { if(theCopier) return theCopier( orig ); else return new foo( orig ); }

#define DT_VIRTUAL_CTR (   CLASS_NAME,
  ARG_TYPES_LIST 
)
Value:
typedef CLASS_NAME* (*creatorFunction)ARG_TYPES_LIST;\
static CLASS_NAME* create ARG_TYPES_LIST;\
static creatorFunction theCreator;\
static void setCreator(creatorFunction);\
/*lint -e{1736}*/\
protected:\
explicit CLASS_NAME ARG_TYPES_LIST;\
public:

Declare a Virtual Constructor Create using DT_VIRTUAL_CTR(CLASS_NAME,ARG_TYPES_LIST) Where CLASS_NAME = the name of the class being declared Where ARG_TYPES_LIST = a list (ie in side parentheses) of comma seperated types.

Example: DT_VIRTUAL_CTR( foo, (int,float,void*) )

The code generated is equivalent to this:

typedef foo* (creatorFunction)(int,float,void); static foo* create(int,float,void*); static void setCreator(creatorFunction); protected: foo(int,float,void*); public:

#define DT_VIRTUAL_CTR_DEFAULTS (   CLASS_NAME,
  ARG_TYPES_LIST,
  ARG_DEFAULTS_LIST 
)
Value:
typedef CLASS_NAME* (*creatorFunction)ARG_TYPES_LIST;\
static CLASS_NAME* create ARG_DEFAULTS_LIST;\
static creatorFunction theCreator;\
static void setCreator(creatorFunction);\
/*lint -e{1736}*/\
protected:\
explicit CLASS_NAME ARG_TYPES_LIST;\
public:

Declare a Virtual Constructor Create using DT_VIRTUAL_CTR_DEFAULTS(CLASS_NAME,ARG_TYPES_LIST,ARG_DEFAULTS_LIST) Where CLASS_NAME = the name of the class being declared Where ARG_TYPES_LIST = a list (ie in side parentheses) of comma seperated types Where ARG_DEFAULTS_LIST = a list (ie in side parentheses) of comma seperated types with default values specified.

Example: DT_VIRTUAL_CTR_DEFAULTS( foo, (int,float,void*), (int a,float b,void* c=0)

The code generated is equivalent to this:

typedef foo* (creatorFunction)(int,float,void); static foo* create(int,float,void*); static void setCreator(creatorFunction); protected: foo(int,float,void*); public:

#define DT_VIRTUAL_CTR_DEFINE (   CLASS_NAME,
  ARG_TYPES_AND_NAMES_LIST,
  ARG_NAMES_LIST 
)
Value:
CLASS_NAME::creatorFunction CLASS_NAME::theCreator = 0;\
void CLASS_NAME::setCreator(CLASS_NAME::creatorFunction aCreatorFunc)\
{\
theCreator = aCreatorFunc;\
}\
CLASS_NAME* CLASS_NAME::create ARG_TYPES_AND_NAMES_LIST \
{\
if(theCreator)\
return theCreator ARG_NAMES_LIST;\
else\
return new CLASS_NAME ARG_NAMES_LIST;\
}

Define Virtual Constructor call using DT_VIRTUAL_CTR_DEFINE( CLASS_NAME , ARG_TYPES_AND_NAMES_LIST , ARG_NAMES_LIST) Where CLASS_NAME = the name of the class that is being defined Where ARG_TYPES_AND_NAMES_LIST = a list (ie in side parentheses) of comma separated type id pairs.

Where ARG_NAMES_LIST = is the same comma seperated list but with only the names not the types

Example: DT_VIRTUAL_CTR_DEFINE( foo, (int a,float b, void* c) , ( a , b, c ) )

The code generated is equivalent to this:

foo::creatorFunction foo::theCreator = 0;

void foo::setCreator(foo::creatorFunction aCreatorFunc) { theCreator = aCreatorFunc; }

foo* foo::create(int a,float b, void* c) { if(theCreator) return theCreator( a , b, c ); else return new foo( a , b, c ); }


Document ID: Generated on Tue Aug 1 09:00:26 EDT 2017 from SVN revision 179128
Copyright © 2017 VT MÄK. All Rights Reserved (www.mak.com)