omni::core
-
namespace core
Core functionality for Omniverse Interfaces.
Classes
omni::core::Api: The API layer of an Omniverse interface.
omni::core::Api< omni::core::ITypeFactory_abi >: Implements the generated API layer for omni::core::ITypeFactory
omni::core::Generated: Templated class to store generated code from the omni.bind code generator.
omni::core::Generated< omni::core::IObject_abi >: Base class for all.
omni::core::Generated< omni::core::ITypeFactory_abi >: A mapping from type id's to implementations.
omni::core::Generated< omni::core::IWeakObjectControlBlock_abi >: Control block to maintain weak and strong reference counts for an object.
omni::core::Generated< omni::core::IWeakObject_abi >: Interface defining a contract for objects which support "weak"/non-owning references.
omni::core::Generated< omni::experimental::job::IAffinityMask_abi >: Interface for providing a CPU affinity mask to the plugin.
omni::core::Generated< omni::experimental::job::IJobAffinity_abi >: Interface for setting CPU affinity for the job system.
omni::core::Generated< omni::experimental::job::IJobWorker_abi >: Interface for managing the number of workers in the job system.
omni::core::Generated< omni::experimental::job::IJob_abi >: Basic interface for launching jobs on a foreign job system.
omni::core::Generated< omni::ext::IExtensionData_abi >: Information about an extension.
omni::core::Generated< omni::ext::IExtensionHooks_abi >: Hooks that can be defined by plugins to better understand how the plugin is being used by the extension system.
omni::core::Generated< omni::log::ILogChannelFilter_abi >: Read-only object to encapsulate a channel filter's pattern and effects.
omni::core::Generated< omni::log::ILogChannelUpdateConsumer_abi >: Consumes (listens for) state change to one or more omni::log::ILog objects.
omni::core::Generated< omni::log::ILogMessageConsumer_abi >: Consumes (listens for) log messages.
omni::core::Generated< omni::log::ILog_abi >: Multi-channel logging interface which can write logs to multiple consumers.
omni::core::Generated< omni::platforminfo::ICpuInfo_abi >: Interface to collect information about the CPUs installed in the calling system.
omni::core::Generated< omni::platforminfo::IMemoryInfo_abi >: Interface to collect and retrieve information about memory installed in the system.
omni::core::Generated< omni::platforminfo::IOsInfo_abi >: Interface to collect and retrieve information about the operating system.
omni::core::Generated< omni::str::IReadOnlyCString_abi >: Reference counted read-only C-style (i.e. null-terminated) string.
omni::core::Generated< omni::structuredlog::IStructuredLogControl_abi >: Structured log state control interface.
omni::core::Generated< omni::structuredlog::IStructuredLogExtraFields_abi >: Interface to manage extra CloudEvent fields to be included in each emitted message.
omni::core::Generated< omni::structuredlog::IStructuredLogFromILog_abi >: This interface controls the ability to send Carbonite and Omniverse logging through the structured log system.
omni::core::Generated< omni::structuredlog::IStructuredLogSettings2_abi >: Interface for the second version of the IStructuredLogSettings interface.
omni::core::Generated< omni::structuredlog::IStructuredLogSettings_abi >: Structured log settings interface.
omni::core::Generated< omni::structuredlog::IStructuredLog_abi >: Main structured log interface.
omni::core::IObject: Base class for all.
omni::core::IObject_abi: Base class for all.
omni::core::ITypeFactory_abi: A mapping from type id's to implementations.
omni::core::IWeakObject: Interface defining a contract for objects which support "weak"/non-owning references.
omni::core::IWeakObjectControlBlock: Control block to maintain weak and strong reference counts for an object.
omni::core::IWeakObjectControlBlock_abi: Control block to maintain weak and strong reference counts for an object.
omni::core::IWeakObject_abi: Interface defining a contract for objects which support "weak"/non-owning references.
omni::core::Inherits: Helper template for interface inheritance.
omni::core::ObjectParam: Helper object used by omni.bind to ease, at zero cost, the acceptance of raw and smart pointers to methods that wish to accept a raw pointer.
omni::core::ObjectPtr: Smart pointer wrapper around interface pointers.
omni::core::ResultError: Exception object that encapsulates a Result along with a customizable message.
omni::core::TypeFactoryArgs: Arguments passed to omniCreateTypeFactory() .
omni::core::WeakPtr: Weak pointer to ONI objects much like std::weak_ptr .
Functions
omni::core::borrow: Returns an ObjectPtr managing the given pointer. omni::core::IObject::acquire() is called on the pointer.
omni::core::cast: Casts the given pointer to the given interface (e.g. T).
omni::core::createType: Instantiates the given type and casts it to T.
omni::core::createType: Instantiates an implementation of interface T.
omni::core::getInterfaceDefaults: Given an interface id (i.e. T), returns the preferred implementation (if any) instantiated when calling omni::core::ITypeFactory::createType(), the preferred module (if any) searched when calling omni::core::ITypeFactory::createType(), and the preferred implementation version number (if any) required when calling omni::core::ITypeFactory::createType().
omni::core::getModuleFilename: Given an object, returns the name of the module (.dll/.exe) which contains the object's code.
omni::core::resultToString: Given a Result code, returns a human readable interpretation of the code.
omni::core::steal: Returns an ObjectPtr managing the given pointer. omni::core::IObject::acquire() is not called on the pointer.
omni::core::typeId: Returns the type id of the given type name at run time.
Structs
omni::core::Implements: Helper template for implementing one or more interfaces.
omni::core::ImplementsCast: Helper template for implementing the cast function for one or more interfaces.
omni::core::ImplementsWeak: Helper template for implementing one or more interfaces that support weak pointers.
omni::core::InterfaceImplementation: Describes a mapping from a chunk of code (i.e. implementation) to one or more interfaces.
omni::core::ModuleExportEntry: Define an entry in omni::core::ModuleExports .
omni::core::ModuleExportEntryCarbClientName: omni::core::ModuleExports entry to interop with g_carbClientName .
omni::core::ModuleExportEntryCarbFramework: omni::core::ModuleExports entry to interop with carb::Framework .
omni::core::ModuleExportEntryCarbIAssert: omni::core::ModuleExports entry to interop with carb::assert::IAssert .
omni::core::ModuleExportEntryCarbIL10n: omni::core::ModuleExports entry to interop with carb::l10n::IL10n .
omni::core::ModuleExportEntryCarbILogging: omni::core::ModuleExports entry to interop with carb::logging::ILogging .
omni::core::ModuleExportEntryCarbIProfiler: omni::core::ModuleExports entry to interop with carb::profiler::IProfiler .
omni::core::ModuleExportEntryGetModuleDependencies: omni::core::ModuleExports entry to register a function to advertise the interface implementations available in the plugin.
omni::core::ModuleExportEntryILog: omni::core::ModuleExports entry to access omni::log::ILog .
omni::core::ModuleExportEntryIStructuredLog: omni::core::ModuleExports entry to access omni::structuredlog::IStructuredLog .
omni::core::ModuleExportEntryITypeFactory: omni::core::ModuleExports entry to access omni::core::ITypeFactory .
omni::core::ModuleExportEntryLogChannel: omni::core::ModuleExports entry to add a logging channel.
omni::core::ModuleExportEntryOnModuleCanUnload: omni::core::ModuleExports entry to register a function to determine if the module can be unloaded.
omni::core::ModuleExportEntryOnModuleLoad: omni::core::ModuleExports entry to register a function to advertise the interface implementations available in the plugin.
omni::core::ModuleExportEntryOnModuleStarted: omni::core::ModuleExports entry to register a function to be called after the plugin has loaded.
omni::core::ModuleExportEntryOnModuleUnload: omni::core::ModuleExports entry to register a function to be called when the plugin is unloaded.
omni::core::ModuleExportEntrySchema: omni::core::ModuleExports entry to add a new structured logging schema to be registered.
omni::core::ModuleExports: Entities exported by a module for both use and population by omni::core::ITypeFactory .
omni::core::ScopedFrameworkStartup: Scoped object which calls carb::startupFramework() and carb::shutdownFramework() .
omni::core::ScopedOmniCore: Scoped object which calls OMNI_CORE_START() and OMNI_CORE_STOP() .
Typedefs
omni::core::GetModuleDependenciesFn: Called to get dependencies from the module.
omni::core::ITypeFactory: Typedef for API wrapper of ITypeFactory_abi .
omni::core::InterfaceImplementationCreateFn: Function called by ITypeFactory to instantiate an implementation.
omni::core::ModuleExportEntryFlag: Per omni::core::ModuleExportEntry flags.
omni::core::ModuleGetExportsFn: Type of kModuleGetExportsName . See omniModuleGetExports .
omni::core::OnModuleCanUnloadFn: Called to determine if the module can be unloaded.
omni::core::OnModuleLoadFn: Called to load interface implementation registration information.
omni::core::OnModuleStartedFn: This function will be called after the module is fully registered. It is called after omni::core::OnModuleLoadFn successfully returns.
omni::core::OnModuleUnloadFn: Called when the module is about to be unloaded.
omni::core::Result: Error code for the result of an operation.
omni::core::TypeFactoryLoadFlags: Base type for the flags used when registering plugins or implementations with the type factory. These are used to modify how the plugin or implementation is registered. No flags are currently defined. These flags will all have the prefix
fTypeFactoryFlag
.omni::core::TypeId: Base type for an interface type identifier.
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.
Variables
omni::core::fModuleExportEntryFlagNone: No flags.
omni::core::fModuleExportEntryFlagRequired: Fail module load if entry could not be populated.
omni::core::fTypeFactoryFlagNone: Flag to indicate that no special change in behavior should be used when registering a plugin or implementation.
omni::core::kBorrow: Used to create an ObjectPtr that increments an objects reference count.
omni::core::kModuleExportEntryTypeCarbClientName: Unique type name for omni::core::ModuleExportEntryCarbClientName .
omni::core::kModuleExportEntryTypeCarbFramework: Unique type name for omni::core::ModuleExportEntryCarbFramework .
omni::core::kModuleExportEntryTypeCarbIAssert: Unique type name for omni::core::ModuleExportEntryCarbIAssert .
omni::core::kModuleExportEntryTypeCarbIL10n: Unique type name for omni::core::ModuleExportEntryCarbIL10n .
omni::core::kModuleExportEntryTypeCarbILogging: Unique type name for omni::core::ModuleExportEntryCarbILogging .
omni::core::kModuleExportEntryTypeCarbIProfiler: Unique type name for omni::core::ModuleExportEntryCarbIProfiler .
omni::core::kModuleExportEntryTypeGetModuleDependencies: Unique type name for omni::core::ModuleExportEntryGetModuleDependencies .
omni::core::kModuleExportEntryTypeILog: Unique type name for omni::core::ModuleExportEntryILog .
omni::core::kModuleExportEntryTypeIStructuredLog: Unique type name for omni::core::ModuleExportEntryIStructuredLog .
omni::core::kModuleExportEntryTypeITypeFactory: Unique type name for omni::core::ModuleExportEntryITypeFactory .
omni::core::kModuleExportEntryTypeLogChannel: Unique type name for omni::core::ModuleExportEntryLogChannel .
omni::core::kModuleExportEntryTypeOnModuleCanUnload: Unique type name for omni::core::ModuleExportEntryOnModuleCanUnload .
omni::core::kModuleExportEntryTypeOnModuleLoad: Unique type name for omni::core::ModuleExportEntryOnModuleLoad .
omni::core::kModuleExportEntryTypeOnModuleStarted: Unique type name for omni::core::ModuleExportEntryOnModuleStarted .
omni::core::kModuleExportEntryTypeOnModuleUnload: Unique type name for omni::core::ModuleExportEntryOnModuleUnload .
omni::core::kModuleExportEntryTypeSchema: Unique type name for omni::core::ModuleExportEntrySchema .
omni::core::kModuleExportsMagic: Magic number for sanity checking of omni::core::ModuleExports .
omni::core::kModuleExportsVersion: Binary layout of omni::core::ModuleExports . This should be incremented if the fields in omni::core::ModuleExports change.
omni::core::kModuleGetExportsName: Name of the module's exported function that is of type omni::core::ModuleGetExportsFn . See omniModuleGetExports .
omni::core::kResultAccessDenied: Access has been denied for this operation.
omni::core::kResultAlreadyExists: Object already exists.
omni::core::kResultFail: The operation failed.
omni::core::kResultInsufficientBuffer: Insufficient buffer.
omni::core::kResultInterrupted: An operation was interrupted. An "interruption" happens in cases where the operation did not complete successfully due to an outside system (such as a timer) interrupting it. For example, a function
Result wait_for(duration d)
might givekResultSuccess
when function returns because the duration expired andkResultInterrupted
if the system is shutting down.omni::core::kResultInvalidArgument: One or more of the arguments passed to a given function was invalid.
omni::core::kResultInvalidDataSize: Invalid data size. This arises when the correct type of data is requested, but the requester believes the data size is different from the receiver. The cause of this is typically a version mismatch.
omni::core::kResultInvalidDataType: Invalid data type. This is used in cases where a specific type of data is requested, but that is not the data which the receiver has.
omni::core::kResultInvalidIndex: Invalid index.
omni::core::kResultInvalidOperation: The operation was not valid for the target. For example, attempting to perform a write operation on a read-only file would result in this error.
omni::core::kResultInvalidState: The system is in an invalid state to perform the operation. This is distinct from
kResultInvalidOperation
in that it covers situations like "system is not yet started" or "file is closed.".omni::core::kResultNoInterface: Interface not implemented.
omni::core::kResultNoMoreItems: No more items to return. This is meant for things like reader queues when they have run out of data and will never have more data. For cases where something like an async queue being temporarily empty, use
kResultTryAgain
.omni::core::kResultNotEnoughData: Not enough data.
omni::core::kResultNotFound: The item was not found.
omni::core::kResultNotImplemented: The feature or method was not implemented. It might be at some point in the future.
omni::core::kResultNotSupported: The operation is not supported.
omni::core::kResultNullPointer: Pointer is null.
omni::core::kResultOperationAborted: The operation was aborted.
omni::core::kResultOutOfMemory: A system is out of memory. This does not necessarily mean resident memory has been exhausted (although it can), as this code can be used to special conditions such as exhausting graphics memory or running out of a specific memory pool. It can also indicate that an allocation would have been too big and failed ahead of time.
omni::core::kResultSuccess: Operation successful. No error occurred.
omni::core::kResultTooMuchData: Too much data.
omni::core::kResultTryAgain: Try the operation again. This is typically emitted in situations where an operation would require blocking, but the system is configured to be non-blocking. For example, attempting to read from a TCP socket when no data has been received would return
kResultTryAgain
.omni::core::kResultVersionCheckFailure: Version check failure.
omni::core::kResultVersionParseError: Failed to parse the version.
omni::core::kSteal: Used to create an ObjectPtr that does not increments an objects reference count. The ObjectPtr does decrement the reference count of the raw pointer upon the ObjectPtr 's destruction.
omni::core::kTypeFactoryArgsVersion: The version number of a TypeFactoryArgs object being passed around. This is used to manage backward and forward compatibility checks when an implementation receives the object. Newer versions of a type factory implementation are expected to be able to handle the layout and content of any older version of this object.