core#
Fully qualified name: omni::core
- 
namespace core#
 Core functionality for Omniverse Interfaces.
Classes#
- Api
 The API layer of an Omniverse interface.
- Api< omni::core::ITypeFactory_abi >
 Implements the generated API layer for omni::core::ITypeFactory
- Generated
 Templated class to store generated code from the omni.bind code generator.
- Generated< omni::core::IObject_abi >
 Base class for all.
- Generated< omni::core::ITypeFactory_abi >
 A mapping from type id's to implementations.
- Generated< omni::core::IWeakObjectControlBlock_abi >
 Control block to maintain weak and strong reference counts for an object.
- Generated< omni::core::IWeakObject_abi >
 Interface defining a contract for objects which support "weak"/non-owning references.
- Generated< omni::experimental::job::IAffinityMask_abi >
 Interface for providing a CPU affinity mask to the plugin.
- Generated< omni::experimental::job::IJobAffinity_abi >
 Interface for setting CPU affinity for the job system.
- Generated< omni::experimental::job::IJobWorker_abi >
 Interface for managing the number of workers in the job system.
- Generated< omni::experimental::job::IJob_abi >
 Basic interface for launching jobs on a foreign job system.
- Generated< omni::ext::IExtensionData_abi >
 Information about an extension.
- 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.
- Generated< omni::log::ILogChannelFilter_abi >
 Read-only object to encapsulate a channel filter's pattern and effects.
- Generated< omni::log::ILogChannelUpdateConsumer_abi >
 Consumes (listens for) state change to one or more omni::log::ILog objects.
- Generated< omni::log::ILogMessageConsumer2_abi >
 Consumes (listens for) log messages.
- Generated< omni::log::ILogMessageConsumer_abi >
 Consumes (listens for) log messages.
- Generated< omni::log::ILog_abi >
 Multi-channel logging interface which can write logs to multiple consumers.
- Generated< omni::platforminfo::ICGroupCpuInfo_abi >
 Interface to collect CPU information directly from Linux's root level control group.
- Generated< omni::platforminfo::ICGroupMemoryInfo_abi >
 Interface to collect memory information directly from Linux's root control group.
- Generated< omni::platforminfo::ICpuInfo_abi >
 Interface to collect information about the CPUs installed in the calling system.
- Generated< omni::platforminfo::IDisplayInfo_abi >
 Interface to collect and retrieve information about displays attached to the system.
- Generated< omni::platforminfo::ILimitedCpuInfo_abi >
 Interface to collect information about the CPUs installed in the calling system.
- Generated< omni::platforminfo::ILimitedMemoryInfo_abi >
 Interface to collect and retrieve information about memory installed in the system.
- Generated< omni::platforminfo::IMemoryInfo_abi >
 Interface to collect and retrieve information about memory installed in the system.
- Generated< omni::platforminfo::IOsInfo2_abi >
 Extended interface to collect and retrieve more information about the operating system.
- Generated< omni::platforminfo::IOsInfo_abi >
 Interface to collect and retrieve information about the operating system.
- Generated< omni::str::IReadOnlyCString_abi >
 Reference counted read-only C-style (i.e. null-terminated) string.
- Generated< omni::structuredlog::IStructuredLogControl2_abi >
 Interface for the second version of the IStructuredLogControl interface.
- Generated< omni::structuredlog::IStructuredLogControl_abi >
 Structured log state control interface.
- Generated< omni::structuredlog::IStructuredLogExtraFields_abi >
 Interface to manage extra CloudEvent fields to be included in each emitted message.
- Generated< omni::structuredlog::IStructuredLogFromILog_abi >
 This interface controls the ability to send Carbonite and Omniverse logging through the structured log system.
- Generated< omni::structuredlog::IStructuredLogSettings2_abi >
 Interface for the second version of the IStructuredLogSettings interface.
- Generated< omni::structuredlog::IStructuredLogSettings3_abi >
 Interface for the third version of the IStructuredLogSettings interface.
- Generated< omni::structuredlog::IStructuredLogSettings_abi >
 Structured log settings interface.
- Generated< omni::structuredlog::IStructuredLog_abi >
 Main structured log interface.
- IObject
 Base class for all.
- IObject_abi
 Base class for all.
- ITypeFactory_abi
 A mapping from type id's to implementations.
- IWeakObject
 Interface defining a contract for objects which support "weak"/non-owning references.
- IWeakObjectControlBlock
 Control block to maintain weak and strong reference counts for an object.
- IWeakObjectControlBlock_abi
 Control block to maintain weak and strong reference counts for an object.
- IWeakObject_abi
 Interface defining a contract for objects which support "weak"/non-owning references.
- Inherits
 Helper template for interface inheritance.
- 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.
- ObjectPtr
 Smart pointer wrapper around interface pointers.
- ResultError
 Exception object that encapsulates a Result along with a customizable message.
- TypeFactoryArgs
 Arguments passed to omniCreateTypeFactory() .
- WeakPtr
 Weak pointer to ONI objects much like std::weak_ptr .
Functions#
- ObjectPtr< T > borrow(T *ptr) noexcept
 Returns an ObjectPtr managing the given pointer. omni::core::IObject::acquire() is called on the pointer.
- ObjectPtr< T > cast(U *ptr) noexcept
 Casts the given pointer to the given interface (e.g. T).
- ObjectPtr< T > createType(TypeId id, const char *moduleName=nullptr, uint32_t version=0)
 Instantiates the given type and casts it to T.
- ObjectPtr< T > createType(const char *moduleName=nullptr, uint32_t version=0)
 Instantiates an implementation of interface T.
- Result getInterfaceDefaults(TypeId *implId, std::string *moduleName, uint32_t *implVersion)
 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().
- std::string getModuleFilename(omni::core::IObject *obj)
 Given an object, returns the name of the module (.dll/.exe) which contains the object's code.
- const char * getTypeIdName(TypeId id)
 - void registerInterfaceImplementations(const InterfaceImplementation *implementations, uint32_t implementationsCount, TypeFactoryLoadFlags flags=0)
 - Result registerInterfaceImplementationsFromModule(const char *moduleName, TypeFactoryLoadFlags flags=0)
 - const char * resultToString(Result result)
 Given a Result code, returns a human readable interpretation of the code.
- void setInterfaceDefaults(TypeId implId, const char *moduleName, uint32_t implVersion)
 - ObjectPtr< T > steal(T *ptr) noexcept
 Returns an ObjectPtr managing the given pointer. omni::core::IObject::acquire() is not called on the pointer.
- TypeId typeId(const char *str)
 Returns the type id of the given type name at run time.
- Result unregisterInterfaceImplementationsFromModule(const char *moduleName)
 
Structs#
- Implements
 Helper template for implementing one or more interfaces.
- ImplementsCast
 Helper template for implementing the cast function for one or more interfaces.
- ImplementsWeak
 Helper template for implementing one or more interfaces that support weak pointers.
- InterfaceImplementation
 Describes a mapping from a chunk of code (i.e. implementation) to one or more interfaces.
- ModuleExportEntry
 Define an entry in omni::core::ModuleExports .
- ModuleExportEntryCarbClientName
 omni::core::ModuleExports entry to interop with g_carbClientName .
- ModuleExportEntryCarbFramework
 omni::core::ModuleExports entry to interop with carb::Framework .
- ModuleExportEntryCarbIAssert
 omni::core::ModuleExports entry to interop with carb::assert::IAssert .
- ModuleExportEntryCarbIL10n
 omni::core::ModuleExports entry to interop with carb::l10n::IL10n .
- ModuleExportEntryCarbILogging
 omni::core::ModuleExports entry to interop with carb::logging::ILogging .
- ModuleExportEntryCarbIProfiler
 omni::core::ModuleExports entry to interop with carb::profiler::IProfiler .
- ModuleExportEntryGetModuleDependencies
 omni::core::ModuleExports entry to register a function to advertise the interface implementations available in the plugin.
- ModuleExportEntryILog
 omni::core::ModuleExports entry to access omni::log::ILog .
- ModuleExportEntryIStructuredLog
 omni::core::ModuleExports entry to access omni::structuredlog::IStructuredLog .
- ModuleExportEntryITypeFactory
 omni::core::ModuleExports entry to access omni::core::ITypeFactory .
- ModuleExportEntryLogChannel
 omni::core::ModuleExports entry to add a logging channel.
- ModuleExportEntryOnModuleCanUnload
 omni::core::ModuleExports entry to register a function to determine if the module can be unloaded.
- ModuleExportEntryOnModuleLastChanceShutdown
 omni::core::ModuleExports entry to register a function to be called when the plugin unload will be skipped during a quick shutdown
- ModuleExportEntryOnModuleLoad
 omni::core::ModuleExports entry to register a function to advertise the interface implementations available in the plugin.
- ModuleExportEntryOnModuleStarted
 omni::core::ModuleExports entry to register a function to be called after the plugin has loaded.
- ModuleExportEntryOnModuleUnload
 omni::core::ModuleExports entry to register a function to be called when the plugin is unloaded.
- ModuleExportEntrySchema
 omni::core::ModuleExports entry to add a new structured logging schema to be registered.
- ModuleExports
 Entities exported by a module for both use and population by omni::core::ITypeFactory .
- ScopedFrameworkStartup
 Scoped object which calls carb::startupFramework() and carb::shutdownFramework() .
- ScopedOmniCore
 Scoped object which calls OMNI_CORE_START() and OMNI_CORE_STOP() .
Typedefs#
- GetModuleDependenciesFn
 Called to get dependencies from the module.
- ITypeFactory
 Typedef for API wrapper of ITypeFactory_abi .
- InterfaceImplementationCreateFn
 Function called by ITypeFactory to instantiate an implementation.
- ModuleExportEntryFlag
 Per omni::core::ModuleExportEntry flags.
- ModuleGetExportsFn
 Type of kModuleGetExportsName . See omniModuleGetExports .
- OnModuleCanUnloadFn
 Called to determine if the module can be unloaded.
- OnModuleLastChanceShutdownFn
 Called during 'quick shutdown' when the module is unable to load and will be skipped.
- OnModuleLoadFn
 Called to load interface implementation registration information.
- OnModuleStartedFn
 This function will be called after the module is fully registered. It is called after omni::core::OnModuleLoadFn successfully returns.
- OnModuleUnloadFn
 Called when the module is about to be unloaded.
- Result
 Error code for the result of an operation.
- 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.- TypeId
 Base type for an interface type identifier.
Unions#
Variables#
- constexpr ModuleExportEntryFlag fModuleExportEntryFlagNone
 No flags.
- constexpr ModuleExportEntryFlag fModuleExportEntryFlagRequired
 Fail module load if entry could not be populated.
- constexpr TypeFactoryLoadFlags fTypeFactoryFlagNone
 Flag to indicate that no special change in behavior should be used when registering a plugin or implementation.
- constexpr detail::BorrowPtrType kBorrow
 Used to create an ObjectPtr that increments an objects reference count.
- constexpr char kModuleExportEntryTypeCarbClientName
 Unique type name for omni::core::ModuleExportEntryCarbClientName .
- constexpr char kModuleExportEntryTypeCarbFramework
 Unique type name for omni::core::ModuleExportEntryCarbFramework .
- constexpr char kModuleExportEntryTypeCarbIAssert
 Unique type name for omni::core::ModuleExportEntryCarbIAssert .
- constexpr char kModuleExportEntryTypeCarbIL10n
 Unique type name for omni::core::ModuleExportEntryCarbIL10n .
- constexpr char kModuleExportEntryTypeCarbILogging
 Unique type name for omni::core::ModuleExportEntryCarbILogging .
- constexpr char kModuleExportEntryTypeCarbIProfiler
 Unique type name for omni::core::ModuleExportEntryCarbIProfiler .
- constexpr char kModuleExportEntryTypeGetModuleDependencies
 Unique type name for omni::core::ModuleExportEntryGetModuleDependencies .
- constexpr char kModuleExportEntryTypeILog
 Unique type name for omni::core::ModuleExportEntryILog .
- constexpr char kModuleExportEntryTypeIStructuredLog
 Unique type name for omni::core::ModuleExportEntryIStructuredLog .
- constexpr char kModuleExportEntryTypeITypeFactory
 Unique type name for omni::core::ModuleExportEntryITypeFactory .
- constexpr char kModuleExportEntryTypeLogChannel
 Unique type name for omni::core::ModuleExportEntryLogChannel .
- constexpr char kModuleExportEntryTypeOnModuleCanUnload
 Unique type name for omni::core::ModuleExportEntryOnModuleCanUnload .
- constexpr char kModuleExportEntryTypeOnModuleLastChanceShutdown
 Unique type name for omni::core::ModuleExportEntryOnModuleLastChanceShutdown .
- constexpr char kModuleExportEntryTypeOnModuleLoad
 Unique type name for omni::core::ModuleExportEntryOnModuleLoad .
- constexpr char kModuleExportEntryTypeOnModuleStarted
 Unique type name for omni::core::ModuleExportEntryOnModuleStarted .
- constexpr char kModuleExportEntryTypeOnModuleUnload
 Unique type name for omni::core::ModuleExportEntryOnModuleUnload .
- constexpr char kModuleExportEntryTypeSchema
 Unique type name for omni::core::ModuleExportEntrySchema .
- constexpr uint16_t kModuleExportsMagic
 Magic number for sanity checking of omni::core::ModuleExports .
- constexpr uint16_t kModuleExportsVersion
 Binary layout of omni::core::ModuleExports . This should be incremented if the fields in omni::core::ModuleExports change.
- constexpr char kModuleGetExportsName
 Name of the module's exported function that is of type omni::core::ModuleGetExportsFn . See omniModuleGetExports .
- constexpr Result kResultAccessDenied
 Access has been denied for this operation.
- constexpr Result kResultAlreadyExists
 Object already exists.
- constexpr Result kResultFail
 The operation failed.
- constexpr Result kResultInsufficientBuffer
 Insufficient buffer.
- constexpr Result 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 givekResultSuccesswhen function returns because the duration expired andkResultInterruptedif the system is shutting down.- constexpr Result kResultInvalidArgument
 One or more of the arguments passed to a given function was invalid.
- constexpr Result 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.
- constexpr Result 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.
- constexpr Result kResultInvalidIndex
 Invalid index.
- constexpr Result 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.
- constexpr Result kResultInvalidState
 The system is in an invalid state to perform the operation. This is distinct from
kResultInvalidOperationin that it covers situations like "system is not yet started" or "file is closed.".- constexpr Result kResultNoInterface
 Interface not implemented.
- constexpr Result 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.- constexpr Result kResultNotEnoughData
 Not enough data.
- constexpr Result kResultNotFound
 The item was not found.
- constexpr Result kResultNotImplemented
 The feature or method was not implemented. It might be at some point in the future.
- constexpr Result kResultNotSupported
 The operation is not supported.
- constexpr Result kResultNullPointer
 Pointer is null.
- constexpr Result kResultOperationAborted
 The operation was aborted.
- constexpr Result 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.
- constexpr Result kResultSuccess
 Operation successful. No error occurred.
- constexpr Result kResultTimedOut
 Timed out.
- constexpr Result kResultTooMuchData
 Too much data.
- constexpr Result 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.- constexpr Result kResultVersionCheckFailure
 Version check failure.
- constexpr Result kResultVersionParseError
 Failed to parse the version.
- constexpr Result kResultWouldBlock
 Would block.
- constexpr detail::StealPtrType 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.
- constexpr uint16_t 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.