omni::core::TypeFactoryArgs

Defined in omni/core/ITypeFactory.h

class TypeFactoryArgs

Arguments passed to omniCreateTypeFactory().

Public Functions

inline TypeFactoryArgs()
inline TypeFactoryArgs(omni::log::ILog *log_, omni::structuredlog::IStructuredLog *strucLog_)

Constructor: initializes a new object explicitly referencing the override objects to use.

Remark

This initializes a new object with specific override objects. There is currently no way to specify that one of the override objects should be disabled completely - if a nullptr object is passed in, the default implementation will be used instead.

Parameters
  • log_[in] The omni::log::ILog object to use for all operations that go through ILog. This may be nullptr to use the default internal implementation.

  • strucLog_[in] The omni::structuredlog::IStructuredLog object to use for all operations that go through IStructuredLog. This may be nullptr to use the default implementation.

Returns

No Return value.

Public Members

uint16_t version

Version of this structure. The version should be incremented only when removing/rearranging fields. Adding fields (from the reserved space) is allowed without incrementing the version.

uint16_t byteCount

Size of this structure in bytes.

uint8_t padding[4]

Four bytes of intentional padding to ensure the following pointers are appropriately aligned and to force the size of this object to a known expected value.

omni::log::ILog *log

A pointer to the omni::log::ILog implementation object that should be used by the core for all logging operations. This may be nullptr to use the default internal implementation.

omni::structuredlog::IStructuredLog *structuredLog

A pointer to the omni::structuredlog::IStructuredLog implementation object that should be used by the core for all structured logging operations. This may be nullptr to use the default implementation.

void *reserved[13]

When adding fields, decrement this reserved space. Be mindful of alignment (explicitly add padding fields if needed).