Carbonite SDK API

Class Hierarchy

File Hierarchy

Interfaces

Namespaces

Classes and Structs

Enums

Unions

  • omni::core::Float2: Helper struct to represent a single 2-space vector of floating point values.

  • omni::core::Int2: Helper struct to represent a single 2-space vector of signed integers.

  • omni::core::UInt2: Helper struct to represent a single 2-space vector of unsigned integers.

Functions

Variables

Defines

  • _CRT_SECURE_NO_WARNINGS

  • ADD_PRIMITIVE_HANDLER: Macro to add other [almost identical] variants of the add() and operator+=() functions.

  • ADD_PRIMITIVE_HANDLER: Macro to add other [almost identical] variants of the add() and operator+=() functions.

  • CARB_AARCH64: A macro defined as 1 if compilation is targeting the AArch64 platform; 0 otherwise. May not be overridden on the command line or by defining before including this file. Set to 1 if __aarch64__ is defined, 0 if __x86_64__ or _M_X64 are defined, and left undefined otherwise.

  • CARB_ABI: Defined as __cdecl on Windows and an empty define on Linux. Used to explicitly state ABI calling convention for API functions.

  • CARB_ALIGN: Aligns a number or pointer to the next multiple of a provided alignment.

  • CARB_ALIGN_AS: Defined as alignas(T).

  • CARB_ALIGN_OF: Returns the required alignment of a type.

  • CARB_ALIGNED_SIZE: Aligns a size to the given alignment.

  • CARB_ALWAYS_INLINE: Instructs the compiler to force inline of the decorated function.

  • CARB_ANONYMOUS_VAR: A helper macro that appends a number to the given name to create a unique name.

  • CARB_ASAN_ENABLED: A macro defined as 1 if a GNU toolchain is building the current file with -fsanitize=address, that is, if both CARB_COMPILER_GNUC is 1 and __SANITIZE_ADDRESS__ is defined; 0 otherwise. May be overridden by defining a different value before including this file or by specifying a different value on the compiler command line.

  • CARB_ASSERT: Optionally performs an assertion, by default for debug builds only.

  • CARB_ASSERT_ASYNC: A macro that is used to assert that a scope is running in task context in debug builds only.

  • CARB_ASSERT_ENABLED: Indicates whether asserts are enabled. May be overridden by defining this before including this file. By default, is set to 1 if CARB_DEBUG is non-zero. If this is overridden to a non-zero value and CARB_ASSERT is not defined, CARB_ASSERT will receive the default implementation.

  • CARB_ASSERT_GLOBALS: Placeholder macro for any work that needs to be done at the global level for any IAssert related functionality.

  • CARB_ASSERT_MEMBERS_MATCH: A helper to determine if member A.a matches the offset and size of B.b, causing a static assert if unmatched.

  • CARB_ASSERT_STRUCTS_MATCH: A helper to determine if the size and alignment of two given structures match, causing a static assert if unmatched.

  • CARB_ASSET: Registers an asset type.

  • CARB_ASYNC: A macro that can be used to mark a function as async, that is, it always executes in the context of a task.

  • CARB_ATTRIBUTE: GCC only, defined as __attribute__((__VA_ARGS__)); ignored on non-GCC compilers.

  • CARB_BREAK_POINT: On Windows platforms, defined as __debugbreak(); on Linux, raise(SIGTRAP). Used to break into the debugger.

  • CARB_CACHELINE_ALIGN: Defined as CARB_ALIGN_AS(CARB_CACHELINE_SIZE).

  • CARB_CACHELINE_SIZE: Minimum offset between two objects to avoid false sharing, i.e. cacheline size. If C++17 is not supported, falls back to the default value of 64 bytes.

  • CARB_CHECK: Optionally performs a runtime check assertion, by default for both debug and release builds.

  • CARB_CHECK_ASYNC: A macro that is used to assert that a scope is running in task context in debug and checked builds.

  • CARB_CHECK_ENABLED: Indicates whether runtime checking is enabled. May be overridden by defining this before including this file. By default, is set to 1 always. If this is overridden to a non-zero value and CARB_CHECK is not defined, CARB_CHECK will receive the default implementation.

  • CARB_CLAMP: A macro the returns the largest of two values.

  • CARB_COMPILER_GNUC: A macro defined as 1 if compilation is using GNU C Compiler (GCC), that is, if _MSC_VER is not defined but __GNUC__ is defined. May be overridden by defining a different value before including this file or by specifying a different value on the compiler command line, however, only one of CARB_COMPILER_MSC and CARB_COMPILER_GNUC must be set to 1; the other macro(s) must be set to 0.

  • CARB_COMPILER_MSC: A macro defined as 1 if compilation is using Microsoft Visual C++, that is, if _MSC_VER is defined. May be overridden by defining a different value before including this file or by specifying a different value on the compiler command line, however, only one of CARB_COMPILER_MSC and CARB_COMPILER_GNUC must be set to 1; the other macro(s) must be set to 0.

  • CARB_COUNTOF: Returns the count of an array as a size_t at compile time.

  • CARB_COUNTOF32: Returns the count of an array as a uint32_t at compile time.

  • CARB_CPP17_CONSTEXPR: Defined as constexpr if the current compiler supports C++17; empty otherwise.

  • CARB_CPP20_CONSTEXPR: Defined as constexpr if the current compiler supports C++20; empty otherwise.

  • CARB_CPUID_H_INCLUDED

  • CARB_CRASH_REPORTER_GLOBALS: Defines global symbols specifically related to the crash reporter.

  • CARB_DEBUG: A macro indicating whether the current compilation unit is built in debug mode. Always defined as either 0 or 1. Can be overridden by defining before this file is included or by passing on the compiler command line. Defined as 0 if NDEBUG is defined; 1 otherwise.

  • CARB_DECLSPEC: MSVC only, defined as __declspec(__VA_ARGS__); ignored on non-MSVC compilers.

  • CARB_DEFAULT_INITIALIZERS: Plugin helper macro to define boiler-plate code to register and unregister the plugin with various other componenets in the system (e.g. logging channels, profiler, localization, etc.).

  • CARB_DEPRECATED: Declares a function as deprected.

  • CARB_DIVIDE_CEIL: Divides size by divisor and returns the closest integer greater than or equal to the division result.

  • CARB_DOC_CONSTEXPR: Macro to work around Exhale tripping over constexpr sometimes and reporting things like: Invalid C++ declaration: Expected identifier in nested name, got keyword: static

  • CARB_DOC_ONLY: Conditionally includes text only when documenting (i.e. when DOXYGEN_BUILD is defined).

  • CARB_EVENTS_TYPE_FROM_STR: Compile-time conversion of string to carb::events::EventType.

  • CARB_EXCEPTIONS_ENABLED: Indicates whether exceptions are enabled for the current compilation unit. Value depends on parameters passed to the compiler.

  • CARB_EXPORT: If CARB_EXPORTS is defined before including this file, will be defined as granting a function external linkage. That is, on Windows: extern "C" __declspec(dllexport) and on Linux: extern "C" __attribute__((visibility("default")))

  • CARB_EXPORT_C: Defined as extern "C" for C++ compilation, that is, when __cplusplus is defined; empty define otherwise.

  • CARB_FALLTHROUGH: Defined as [[fallthrough]] if the current compiler supports C++17; empty otherwise.

  • CARB_FATAL_UNLESS: Terminates the application if a check fails.

  • CARB_FATAL_UNLESS_ASYNC: A macro that is used to assert that a scope is running in task context.

  • CARB_FLOAT_MAX: The maximum value that can be represented by float.

  • CARB_FRAMEWORK_GLOBALS: Defines global variables for use by Carbonite. Call this macro from the global namespace.

  • CARB_FREE: Frees memory previously allocated using CARB_MALLOC.

  • CARB_GLOBALS: Undocumented.

  • CARB_GLOBALS_EX: Undocumented.

  • CARB_HARDWARE_PAUSE: Instructs the underlying hardware to idle the CPU pipelines and reduce the penalty from memory order violations.

  • CARB_HAS_CPP14: Defined as 1 if the current compiler supports C++14; 0 otherwise. C++14 is the minimum required for using Carbonite (though building Carbonite requires C++17).

  • CARB_HAS_CPP17: Defined as 1 if the current compiler supports C++17; 0 otherwise.

  • CARB_HAS_CPP20: Defined as 1 if the current compiler supports C++20; 0 otherwise.

  • CARB_HASH_STRING: Computes a literal string hash at compile time.

  • CARB_HASH_TYPE: Syntactic sugar for CARB_HASH_STRING(CARB_STRINGIFY(T)).

  • CARB_HIDDEN: Syntactic sugar for CARB_ATTRIBUTE(visibility("hidden")); ignored on compilers other than GCC.

  • CARB_IGNOREWARNING_GNUC: For GCC only, disables a specific compiler warning for the current compilation warning configuration. Defined as _Pragma("GCC diagnostic ignored <warning>") for GCC only; ignored by other compilers.

  • CARB_IGNOREWARNING_GNUC_POP: For GCC only, pops the compilation warning configuration previously pushed with CARB_IGNOREWARNING_GNUC_PUSH, overwriting the current state. Defined as _Pragma("GCC diagnostic pop") for GCC only; ignored by other compilers.

  • CARB_IGNOREWARNING_GNUC_PUSH: For GCC only, pushes the current compilation warning configuration. Defined as _Pragma("GCC diagnostic push") for GCC only; ignored by other compilers.

  • CARB_IGNOREWARNING_GNUC_WITH_PUSH: Syntactic sugar for CARB_IGNOREWARNING_GNUC_PUSH followed by CARB_IGNOREWARNING_GNUC.

  • CARB_IGNOREWARNING_MSC: For MSVC only, disables a specific compiler warning for the current compilation warning configuration. Defined as __pragma(warning(disable : <w>)) for MSVC only; ignored by other compilers.

  • CARB_IGNOREWARNING_MSC_POP: For MSVC only, pops the compilation warning configuration previously pushed with CARB_IGNOREWARNING_MSC_PUSH, overwriting the current state. Defined as __pragma(warning(pop)) for MSVC only; ignored by other compilers.

  • CARB_IGNOREWARNING_MSC_PUSH: For MSVC only, pushes the current compilation warning configuration. Defined as __pragma(warning(push)) for MSVC only; ignored by other compilers.

  • CARB_IGNOREWARNING_MSC_WITH_PUSH: Syntactic sugar for CARB_IGNOREWARNING_MSC_PUSH followed by CARB_IGNOREWARNING_MSC.

  • CARB_IOBJECT_IMPL: Helper macro to implement default behavior of carb::IObject interface functions IObject::addRef() and IObject::release().

  • CARB_IS_ASYNC: Helper macro that results in a boolean expression which is true if the current thread is running in task context.

  • CARB_IS_SAME_SDK_VERSION: Tests whether the Carbonite SDK headers match the version of used to build the framework.

  • CARB_JOIN: A macro that joins two parts to create one symbol allowing one or more parameters to be a macro, as if by the ## preprocessor operator. Example: CARB_JOIN(test, __LINE__) on line 579 produces test579.

  • CARB_LIKELY: Defined as ([[likely]] !!(<expr>)) if the current compiler supports C++20. If the current compiler is GCC, as a fallback, __builtin_expect(!!(<expr>), 1) will be used. Otherwise, defined as (!!(<expr>))

  • CARB_LOCALIZATION_GLOBALS: Placeholder for global scope work that needs to be done for localization.

  • CARB_LOCALIZE: Look up a string from the localization database for the current plugin.

  • CARB_MAKE_FOURCC: A macro for producing a carb::FourCC value from four characters.

  • CARB_MALLOC: Allocates memory from the heap.

  • CARB_MAX: A macro the returns the largest of two values.

  • CARB_MAYBE_ASYNC: A macro that can be used to mark a function as possibly async, that is, it may execute in the context of a task.

  • CARB_MAYBE_UNUSED: Defined as [[maybe_unused]] if the current compiler supports C++17; empty otherwise.

  • CARB_MIN: A macro that returns the least of two values.

  • CARB_NAME_THREAD: Records the name of a thread.

  • CARB_NO_UNIQUE_ADDRESS: Defined as [[no_unique_address]] if the current compiler supports C++20; empty otherwise.

  • CARB_NODISCARD: Defined as [[nodiscard]] if the current compiler supports C++17; empty otherwise.

  • CARB_NOEXCEPT: Declares that a function will not throw any exceptions.

  • CARB_NOINLINE: A macro that declares that a function may not be inlined.

  • CARB_OFFSETOF: Returns the offset of a member of a class at compile time.

  • CARB_PLATFORM_LINUX: A macro defined as 1 if compilation is targeting Linux; 0 otherwise. Exactly one of the CARB_PLATFORM_* macros will be set to 1. May be overridden by defining before this file is included or by passing on the compiler command line. By default, set to 1 if _WIN32 is not defined and __linux__ is defined.

  • CARB_PLATFORM_WINDOWS: A macro defined as 1 if compilation is targeting Windows; 0 otherwise. Exactly one of the CARB_PLATFORM_* macros will be set to 1. May be overridden by defining before this file is included or by passing on the compiler command line. By default, set to 1 if _WIN32 is defined.

  • CARB_PLUGIN_IMPL: Main macro to declare a plugin implementation.

  • CARB_PLUGIN_IMPL_DEPS: Macros to declare a plugin implementation dependencies.

  • CARB_PLUGIN_IMPL_MINIMAL: Macro to declare a “minimal” plugin.

  • CARB_PLUGIN_IMPL_NO_DEPS: Macro to declare a plugin without dependencies.

  • CARB_PLUGIN_IMPL_WITH_INIT: Defines boiler-plate code to declare the plugin’s interfaces and registration code.

  • CARB_PLUGIN_INTERFACE: Macro to declare a struct as a Carbonite interface.

  • CARB_PRAGMA_GNUC: GCC only, defined as _Pragma(__VA_ARGS__); ignored on non-GCC compilers.

  • CARB_PRAGMA_MSC: MSVC only, defined as __pragma(__VA_ARGS__); ignored on non-MSVC compilers.

  • CARB_PREFETCH: Attempts to prefetch from memory using a compiler intrinsic.

  • CARB_PRETTY_FUNCTION: Acts as a char[] with the current full function signature.

  • CARB_PREVENT_COPY: A macro that deletes the copy-construct and copy-assign functions for the given classname.

  • CARB_PREVENT_COPY_AND_MOVE: Syntactic sugar for both CARB_PREVENT_COPY and CARB_PREVENT_MOVE.

  • CARB_PREVENT_MOVE: A macro that deletes the move-construct and move-assign functions for the given classname.

  • CARB_PRINTF_FUNCTION: Requests that the compiler validate any variadic arguments as printf-style format specifiers, if supported by the compiler. Causes a compilation error if the printf-style format specifier doesn’t match the given variadic types.

  • CARB_PROFILE_ALLOC: Records an allocation event for profilers that support them.

  • CARB_PROFILE_ALLOC_NAMED: Records an allocation event for a named memory pool for profilers that support them.

  • CARB_PROFILE_BEGIN: Marks the beginning of a profiling zone.

  • CARB_PROFILE_CALIBRATE_GPU_CONTEXT: Submit context calibration information that allows correlating CPU and GPU clocks.

  • CARB_PROFILE_CREATE_GPU_CONTEXT: Create a new GPU profiling context that allows injecting timestamps coming from a GPU in a deferred manner.

  • CARB_PROFILE_DESTROY_GPU_CONTEXT: Destroy a previously created GPU Context.

  • CARB_PROFILE_END: Marks the end of a profiling zone previously started with CARB_PROFILE_BEGIN.

  • CARB_PROFILE_EVENT: Records an instant event on a thread’s timeline at the current time.

  • CARB_PROFILE_FLOW_BEGIN: Records the beginning of a flow event on the timeline at the current time for the current thread.

  • CARB_PROFILE_FLOW_END: Records the end of a flow event on the timeline at the current time for the current thread.

  • CARB_PROFILE_FRAME: Inserts a frame marker in the profiling output, for profilers that support frame markers.

  • CARB_PROFILE_FREE: Records a free event for profilers that support them.

  • CARB_PROFILE_FREE_NAMED: Records a free event for a named memory pool for profilers that support them.

  • CARB_PROFILE_FUNCTION: A helper for CARB_PROFILE_ZONE that automatically uses the function name as from CARB_PRETTY_FUNCTION.

  • CARB_PROFILE_GPU_QUERY_BEGIN: Record the beginning of a new GPU timestamp query.

  • CARB_PROFILE_GPU_QUERY_END: Record the end of a new GPU timestamp query.

  • CARB_PROFILE_GPU_SET_QUERY_VALUE: Set the value we’ve received from the GPU for a query (begin or end) we’ve issued in the past.

  • CARB_PROFILE_REGISTER_STRING: Registers a static string for use with the profiler.

  • CARB_PROFILE_SET_CAPTURE_MASK: A helper to set the capture mask.

  • CARB_PROFILE_SHUTDOWN: Shuts down the profiler that has been registered with carb::profiler::registerProfilerForClient and previously started with CARB_PROFILE_STARTUP.

  • CARB_PROFILE_STARTUP: Starts the profiler that has been registered with carb::profiler::registerProfilerForClient.

  • CARB_PROFILE_VALUE: Writes a named numeric value to the profiling output for profilers that support them.

  • CARB_PROFILE_ZONE: Creates a profiling zone over a scope.

  • CARB_PROFILER_GLOBALS: Placeholder macro for any work that needs to be done at the global scope for the profiler.

  • CARB_PROFILING: When set to a non-zero value, profiling macros in include/carb/profiler/Profile.h will report to the profiler; otherwise the profiling macros have no effect. Always set to 1 by default, but may be overridden by defining a different value before including this file or by specifying a different value on the compiler command line.

  • CARB_REQUIRE_LINKED: Changes how the carbReallocate symbol is acquired.

  • CARB_RETRY_EINTR: A macro to retry operations if they return -1 and errno is set to EINTR.

  • CARB_ROUNDUP: Rounds a given value to the next highest multiple of another given value.

  • CARB_STACK_ALLOC: Attempts to allocate an array of the given type on the stack.

  • CARB_STATE: Macro to mark static and global variables to keep them when plugin is hotreloaded.

  • CARB_STRINGIFY: Turns a name into a string, resolving macros (i.e. CARB_STRINGIFY(__LINE__) on line 815 will produce "815").

  • CARB_TEGRA: A macro defined as 1 if compilation is targeting the Tegra platform. By default set to 1 only if __aarch64__ and __LINARO_RELEASE__ are defined; 0 otherwise. May be overridden by defining a different value before including this file or by specifying a different value on the compiler command line.

  • CARB_TOOLCHAIN_CLANG: A macro defined as 1 if a Clang-infrastructure toolchain is building the current file, that is, if __clang__ is defined; 0 if not. May be overridden by defining a different value before including this file or by specifying a different value on the compiler command line.

  • CARB_UINT16_MAX: The maximum value that can be represented by uint16_t.

  • CARB_UINT32_MAX: The maximum value that can be represented by uint32_t.

  • CARB_UINT64_MAX: The maximum value that can be represented by uint64_t.

  • CARB_ULLONG_MAX: The maximum value that can be represented by unsigned long long.

  • CARB_UNLIKELY: Defined as ([[unlikely]] !!(<expr>)) if the current compiler supports C++20. If the current compiler is GCC, as a fallback, __builtin_expect(!!(<expr>), 0) will be used. Otherwise, defined as (!!(<expr>))

  • CARB_USHRT_MAX: The maximum value that can be represented by unsigned short.

  • CARB_WEAKLINK: Syntactic sugar for None, used to enable weak linking.

  • CARB_X86_64: A macro defined as 1 if compilation is targeting the x86-64 platform; 0 otherwise. May not be overridden on the command line or by defining before including this file. Set to 0 if __aarch64__ is defined, 1 if __x86_64__ or _M_X64 are defined, and left undefined otherwise.

  • CARBONITE_MAJOR: Defines the current major version of the Carbonite framework.

  • CARBONITE_MINOR: Defines the current minor version of the Carbonite framework.

  • DO_DCAS: If 1, we try to do double-compare-and-swap; otherwise we do a single compare-and-swap and encode the sequence by stealing some of the pointer bits. If 1 but we don’t have DCAS (ARM) then we fall back to using std::mutex Note that DCAS requires -march=skylake for GCC/x86_64. This is done below with a pragma.

  • DOXYGEN_EMPTY_CLASS: Used when declaring opaque types to prevent Doxygen from getting confused about not finding any implementation.

  • NO_DCAS: Indicates that double-compare-and-swap is not available on this platform.

  • OMNI_API: Declares a symbol that is marked as externally exported. The symbol will be exported with C decorations. On Windows, this is expected to be exported from the containing DLL. On Linux, this is exported as having default visibility from the module instead of being hidden. This export tag should only be used when tagging exported symbols from within omni::core itself. Exported symbols in other modules (such as omniGetModuleExports() functions in implementation libraries) should use OMNI_MODULE_API instead.

  • OMNI_APP_GLOBALS: Helper macro to declare globals needed my the omni library when using the omni library in an application.

  • OMNI_ASSERT: Like std::assert. Basically OMNI_FATAL_UNLESS, but compiles to a no-op in debug builds.

  • OMNI_ASSERT_ENABLED: Set to 1 to indicate that assertion checks are enabled. Set to 0 if assertion checks will just be ignored. This value will always be defined regardless of the current mode.

  • OMNI_ATTR: Provides additional contextual information to the ‘omni.bind’ code generation tool. This information is used to generated efficient bindings to the interface.

  • OMNI_CHECK: Checks if the given condition is true, if not, the given optional message is printed to stdout and the program is terminated.

  • OMNI_CHECK_ENABLED

  • OMNI_CORE_INIT: Initializes the omni library along with Carbonite. Ensures that both libraries will be cleaned up upon exit.

  • OMNI_CORE_START: Helper macro to startup the Carbonite framework and Omni type factory.

  • OMNI_CORE_STOP: Helper macro to shutdown the Carbonite framework and Omni type factory.

  • OMNI_DECLARE_INTERFACE: Used to forward declare an interface.

  • OMNI_DEFINE_INTERFACE_API: Used to extend the omni.bind generated API layer.

  • OMNI_EXTERN_C: Declares a “C” exported external symbol. This uses the “C” name decoration style of adding an underscore to the start of the exported name.

  • OMNI_FAILED: Returns true if the given omni::core::Result is a failure code.

  • OMNI_FATAL_UNLESS: This macro is surprisingly complex mainly because it accepts a variable number of arguments. If a single argument is given, a message in the following form is printed:

  • OMNI_FORCE_SYMBOL_LINK: Helper to force a symbol to be linked.

  • OMNI_GLOBALS_ADD_DEFAULT_CHANNEL: Adds the name_ as the default logging channel.

  • OMNI_GLOBALS_ADD_DEFAULT_CHANNEL_1: Implementation detail. Do not directly use. Use OMNI_GLOBALS_ADD_DEFAULT_CHANNEL.

  • OMNI_LOG_ADD_CHANNEL: Defines the properties of a channel and adds it to a module specific list of channels.

  • OMNI_LOG_DECLARE_CHANNEL: Given a channel name (as a string), declares a global variable to identify the channel.

  • OMNI_LOG_DEFAULT_CHANNEL: The default channel variable to use when no channel is supplied to the OMNI_LOG_* macros.

  • OMNI_LOG_DEFINE_CHANNEL: Defines the properties of a channel.

  • OMNI_LOG_ERROR: Logs a message at omni::log::eError level.

  • OMNI_LOG_FATAL: Logs a message at omni::log::eFatal level.

  • OMNI_LOG_INFO: Logs a message at omni::log::eInfo level.

  • OMNI_LOG_VERBOSE: Logs a message at omni::log::eVerbose level.

  • OMNI_LOG_WARN: Logs a message at omni::log::eWarn level.

  • OMNI_LOG_WRITE: Logs a message.

  • OMNI_MODULE_ADD_LOG_CHANNEL: Adds a log channel to the logging system. The channel will be removed when the module is unloaded.

  • OMNI_MODULE_ADD_STRUCTURED_LOG_SCHEMA: adds a new schema to be registered after core startup.

  • OMNI_MODULE_API: Declares a function that is marked as externally exported. The symbol will be exported with C decorations. On Windows, this is expected to be exported from the containing DLL. On Linux, this is exported as having default visibility from the module instead of being hidden. This is intended for exported symbols in implementation libraries.

  • OMNI_MODULE_DEFINE_LOCATION_FUNCTIONS: Defines functions centered around determining the current module’s disk location.

  • OMNI_MODULE_DEFINE_OMNI_FUNCTIONS: Defines default implementations of global omni functions for a module.

  • OMNI_MODULE_EXPORT_ENTRY_BEGIN: Helper macro for defining an entry (i.e. omni::core::ModuleExportEntry) in the export table (i.e. omni::core::ModuleExports).

  • OMNI_MODULE_EXPORT_ENTRY_END: Helper macro for defining an entry in the export table.

  • OMNI_MODULE_GET_MODULE_DEPENDENCIES: Registers the function responsible for advertising the plugin’s interface dependencies.

  • OMNI_MODULE_GLOBALS: Helper macro to declare globals needed by modules (i.e. plugins).

  • OMNI_MODULE_GLOBALS_FOR_PLUGIN: Helper macro to declare globals needed by Carbonite plugins.

  • OMNI_MODULE_GLOBALS_WITHOUT_CARB: Helper macro to declare globals needed by modules (i.e. plugins).

  • OMNI_MODULE_ON_MODULE_CAN_UNLOAD: Registers the plugin’s function that determines if the plugin can be unloaded. See omni::core::OnModuleCanUnloadFn for details.

  • OMNI_MODULE_ON_MODULE_LOAD: Registers the plugin’s function who is responsible for advertising the available interface implementations in the plugin.

  • OMNI_MODULE_ON_MODULE_STARTED: Registers the plugin’s function that will be called once the plugin is loaded. See omni::core::OnModuleStartedFn for threading consideration with this function.

  • OMNI_MODULE_ON_MODULE_UNLOAD: Registers the plugin’s function who is responsible for cleaning up the plugin when the plugin is being unloaded.

  • OMNI_MODULE_REQUIRE_CARB_CLIENT_NAME: Requires that the owning omni::core::ITypeFactory provides a Carbonite client name: g_carbClientName.

  • OMNI_MODULE_REQUIRE_CARB_FRAMEWORK: Requires that the owning omni::core::ITypeFactory provides a Carbonite carb::Framework g_carbFramework.

  • OMNI_MODULE_REQUIRE_CARB_IASSERT: Requires that the owning omni::core::ITypeFactory provides a Carbonite carb::assert::IAssert g_carbAssert.

  • OMNI_MODULE_REQUIRE_CARB_IL10N: Requires that the owning omni::core::ITypeFactory provides a Carbonite carb::l10n::IL10n g_carbLocalization.

  • OMNI_MODULE_REQUIRE_CARB_ILOGGING: Requires that the owning omni::core::ITypeFactory provides a Carbonite carb::logging::ILogging g_carbLogging.

  • OMNI_MODULE_REQUIRE_CARB_IPROFILER: Requires that the owning omni::core::ITypeFactory provides a Carbonite carb::profiler::IProfiler g_carbProfiler.

  • OMNI_MODULE_SET_CARB_EXPORTS: Helper macro to set known export fields in omniModuleGetExports related to Carbonite.

  • OMNI_MODULE_SET_EXPORTS: Helper macro to set known export fields in omniModuleGetExports.

  • OMNI_MODULE_SET_EXPORTS_WITHOUT_CARB: Helper macro to set known export fields in omniModuleGetExports.

  • OMNI_MODULE_SET_GLOBALS_FOR_PLUGIN: Populates the Omniverse interfaces portion of carb::PluginFrameworkDesc.

  • OMNI_PLATFORM_LINUX: Set to 1 if compiling a Linux build. Set to 0 otherwise. This symbol will always be defined even when not on a Linux build. It can thus be used to pass as parameters or in if-statements to modify behaviour based on the platform.

  • OMNI_PLATFORM_WINDOWS: Set to 1 if compiling a Windows build. Set to 0 otherwise. This symbol will always be defined even when not on a Windows build. It can thus be used to pass as parameters or in if-statements to modify behaviour based on the platform.

  • OMNI_PLUGIN_IMPL_DEPS: Provides a list of dependent interfaces for an ONI plugin.

  • OMNI_PLUGIN_IMPL_NODEPS: Declares that the calling plugin has no dependencies on any other Carbonite or ONI interfaces.

  • OMNI_PLUGIN_INTERFACE: Used to declare the interface description for an ONI object’s API layer.

  • OMNI_PRIpid: The printf format macro to print a process ID.

  • OMNI_PRItid: The printf format macro to print a thread ID.

  • OMNI_PRIxpid: The printf format macro to print a process ID in hexidecimal.

  • OMNI_PRIxtid: The printf format macro to print a thread ID in hexidecimal.

  • OMNI_PYTHON_GLOBALS: Undocumented.

  • OMNI_RETURN_IF_FAILED: If the given omni::core::Result is a failure code, calls return result to exit the current function.

  • OMNI_STRUCTURED_LOG: Common entry point for sending an event.

  • OMNI_STRUCTURED_LOG_ADD_SCHEMA: Sets that a schema should be registered on module load.

  • OMNI_STRUCTURED_LOG_EVENT_ID: Helper macro to piece together a unique event name to generate an ID from.

  • OMNI_SUCCEEDED: Returns true if the given omni::core::Result is not a failure code.

  • OMNI_TYPE_ID: Returns the type id of the given type name at compile time.

  • RSTRINGENUM_FROM_RSTRING_H

Typedefs