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::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 |
Contains MAKLogger::DtCollector class. | |
Files | |
| 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. | |
Defines | |
| #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. | |
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.
| #define DT_PURE_VIRTUAL_CTR | ( | CLASS_NAME, | |
| ARG_TYPES_LIST | |||
| ) |
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 | |||
| ) |
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 | |||
| ) |
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 | ) |
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 | ) |
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 | |||
| ) |
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 | |||
| ) |
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 | |||
| ) |
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 ); }