Kaim::BaseSystemConfig Class Reference

#include <basesystem.h>

Class Description

The BaseSystemConfig class contains a set of objects and configuration parameters that are required in order to initialize the BaseSystem.

The information maintained by the BaseSystemConfig determines how the BaseSystem carries out basic operations common to many Autodesk Navigation runtime components, such as allocating memory, logging messages, etc. When you initialize Autodesk Navigation for use in your game, you typically create an instance of BaseSystemConfig on the stack, and customize the behavior of the subsystems managed by the BaseSystem by modifying the class members of the BaseSystemConfig. Depending on the kind of sub-system you intend to customize, you may have to write your own derivation of a class supplied in the SDK, create a new instance of your class on the heap, and/or set the relevant member of the BaseSystemConfig to point to your new object. NOTE: the BaseSystem does not assume the responsibility for the lifespan of the object. You must ensure the pointer remains valid until the BaseSystem is terminated, and you must destroy the object after it is no longer needed. For example, to customize the message logging system, you need to write your own implementation of the BaseLog class, create an instance of your class, and set the m_log member to point to your new instance. When you have set up the BaseSystemConfig with all the customizations that you need, pass it in a call to the BaseSystem::Init() method. Once the BaseSystem has been successfully initialized, you can destroy the BaseSystemConfig or let it pass out of scope.

+ Examples:

Public Types

enum  InitializationLogLevel
 Controls the log level to use in the function BaseSystem::Init() More...
 

Public Attributes

DefaultLog::LogToMode m_defaultLogToMode
 Specifies the output locations in which the BaseSystem will print debug messages when using its default Log: that is, when you do not override m_log with a custom Log object. More...
 
BaseLogm_log
 Provides an instance of class that derives from Log, which Autodesk Navigation components will invoke in order to log debug messages, warnings and errors. More...
 
IPerfMarkerInterfacem_perfMarkerInterface
 Provides an instance of a custom class that implements IPerfMarkerInterface. More...
 
SysAllocBasem_sysAlloc
 Provides an instance of a class that implements the SysAlloc interface, which will be invoked any time a Autodesk Navigation component needs to allocate, free or re-allocate memory. More...
 
bool m_useStackRegistryToTrackAllocations
 The StackRegistry class allows to record and output the call-stacks for any leaks that remain after the BaseSystem is destroyed. More...
 
bool m_initSymbolTable
 This flag controls whether or not the StackRegistry calls SymInitialize() and SymCleanup(). More...
 
InitializationLogLevel m_initializationLogLevel
 Controls the log level to use in the function BaseSystem::Init(). More...
 

Member Enumeration Documentation

Controls the log level to use in the function BaseSystem::Init()

Member Data Documentation

DefaultLog::LogToMode Kaim::BaseSystemConfig::m_defaultLogToMode

Specifies the output locations in which the BaseSystem will print debug messages when using its default Log: that is, when you do not override m_log with a custom Log object.

If you do set m_log, this value is not used.

+ Examples:
InitializationLogLevel Kaim::BaseSystemConfig::m_initializationLogLevel

Controls the log level to use in the function BaseSystem::Init().

Default is InitializationLogLevel_Normal.

bool Kaim::BaseSystemConfig::m_initSymbolTable

This flag controls whether or not the StackRegistry calls SymInitialize() and SymCleanup().

If you already call these functions elsewhere, you should not set this to true. false by default.

BaseLog* Kaim::BaseSystemConfig::m_log

Provides an instance of class that derives from Log, which Autodesk Navigation components will invoke in order to log debug messages, warnings and errors.

If you do not customize this pointer, the BaseSystem will create and use an instance of the DefaultLog class internally, which provides a basic default set of logging outputs.

+ Examples:
IPerfMarkerInterface* Kaim::BaseSystemConfig::m_perfMarkerInterface

Provides an instance of a custom class that implements IPerfMarkerInterface.

Autodesk Navigation components notify this object of counters and events; you can forward those notifications to a performance profiling system. If you do not customize this pointer, you will not be able to retrieve performance profiling data.

+ Examples:
SysAllocBase* Kaim::BaseSystemConfig::m_sysAlloc

Provides an instance of a class that implements the SysAlloc interface, which will be invoked any time a Autodesk Navigation component needs to allocate, free or re-allocate memory.

To customize Autodesk Navigation memory management, write your own class that derives from SysAlloc, create an instance of your class on the heap, and set this member to point to your instance. If you do not customize this pointer, the BaseSystem will use an instance of the default SysAllocMalloc class. See the HeapMH_SysAllocMalloc.h file for its platform-specific implementations.

+ Examples:
bool Kaim::BaseSystemConfig::m_useStackRegistryToTrackAllocations

The StackRegistry class allows to record and output the call-stacks for any leaks that remain after the BaseSystem is destroyed.

This flag controls whether this feature is active or not. Windows Only. Only available in Debug builds. false by default.


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