ext#

Fully qualified name: omni::ext

namespace ext#

Namespace for Omniverse Extension system.

Classes#

ExtensionManager

The manager class that is responsible for all Extensions.

ExtensionStateChangeHookLambda

A wrapper object to allow passing an invocable type (i.e.

IExt

Extension plugin interface.

IExtensionData_abi

Information about an extension.

IExtensionHooks_abi

Hooks that can be defined by plugins to better understand how the plugin is being used by the extension system.

IExtensionManagerHooks

Extension manager subclass with all the hooks that can be installed into it.

IExtensionStateChangeHook

An interface that can be implemented to receive extension state changes.

IHookHolder

Hook holder.

IPathProtocolProvider

Interface to be implemented to add new extension path protocols.

IRegistryProvider

Interface to be implemented by registry providers.

Enumerations#

DownloadState

The download state communicated by registry provider to extension manager.

ExtensionPathType

An enum describing Extensions Path type.

ExtensionStateChangeType

Different moments in extension state lifetime.

Functions#

OMNI_DECLARE_INTERFACE(IExtensionData)

Declaration of IExtensionData.

OMNI_DECLARE_INTERFACE(IExtensionHooks)

Declaration of IExtensionHooks.

IHookHolderPtr createExtensionStateChangeHook(IExtensionManagerHooks *hooks, const std::function< void(const char *extId, ExtensionStateChangeType type)> &onStateChange, ExtensionStateChangeType type, const char *extFullName="", const char *extDictPath="", Order order=kDefaultOrder, const char *hookName=nullptr)

Wrapper to pass an invocable object to Extension Manager Hooks.

std::vector< ExtensionInfo > fetchAllExtensionPackages(ExtensionManager *manager)

Helper function to fetch all extension packages and load them into the memory.

const char * getEnabledExtensionId(ExtensionManager *manager, const char *extFullName)

Helper function to find the Extension ID of a given Extension.

std::string getExtensionPath(ExtensionManager *manager, const char *extId)

Helper function to look up the path from an extension dictionary.

bool isExtensionEnabled(ExtensionManager *manager, const char *extFullName)

Helper function to check if an extension is enabled by name.

ExtPathUrl parseExtUrl(const std::string &url)

Simple helper function to parse a given URL into a scheme and a path.

std::pair< IHookHolderPtr, IHookHolderPtr > subscribeToExtensionEnable(ExtensionManager *manager, const std::function< void(const char *extId)> &onEnable, const std::function< void(const char *extId)> &onDisable=nullptr, const char *extFullName="", const char *hookName=nullptr)

A wrapper function to subscribe to extension enable (and optionally disable) events.

Structs#

ExtPathUrl

The result of parsing an extension URL.

ExtensionFolderInfo

A struct for describing Extension Folder information.

ExtensionInfo

A struct describing Extension information.

ExtensionSummary

A struct describing an Extension Summary.

IExtensions

omni.ext plugin interface

RegistryProviderInfo

A struct for describing Registry Provider information.

SolverInput

Input to running custom extension solver.

Version

Extension version struct.

VersionLockDesc

Version lock generation parameters.

Typedefs#

ExtensionSummaryFlag

A bit type for Extension Summary.

IExtensionStateChangeHookPtr

RAII pointer type.

IHookHolderPtr

RAII pointer type for IHookHolder .

IPathProtocolProviderPtr

Pointer type.

IRegistryProviderPtr

Pointer type.

Order

Hook call order.

Variables#

constexpr Order kDefaultOrder

Default order.

const carb::events::EventType kEventExtensionPullBegin

An event type denoting the beginning of pulling an extension.

const carb::events::EventType kEventExtensionPullEndFailure

An event type denoting the end of pulling an extension with failure.

const carb::events::EventType kEventExtensionPullEndSuccess

An event type denoting the successful end of pulling an extension.

const carb::events::EventType kEventFolderChanged

An event type denoting a changed folder (legacy version).

const carb::events::EventType kEventRegistryRefreshBegin

Legacy events sent to IApp::getMessageBusEventStream() by extension manager.

const carb::events::EventType kEventRegistryRefreshEndFailure

An event type denoting end of registry refresh with failure.

const carb::events::EventType kEventRegistryRefreshEndSuccess

An event type denoting the successful end of registry refresh.

const carb::events::EventType kEventScriptChanged

The event name denoting that a script changed (legacy version).

constexpr ExtensionSummaryFlag kExtensionSummaryFlagAnyEnabled

Extension Summary flag meaning that extensions are enabled.

constexpr ExtensionSummaryFlag kExtensionSummaryFlagBuiltin

Extension Summary flag meaning that an extension is built-in.

constexpr ExtensionSummaryFlag kExtensionSummaryFlagInstalled

Extension Summary flag meaning that an extension is installed.

constexpr ExtensionSummaryFlag kExtensionSummaryFlagNone

Empty flag.

const auto kGlobalEventExtensionPullBegin

An event dispatched at the beginning of an extension pull.

const auto kGlobalEventExtensionPullEnd

An event dispatched at the end of extension pull.

const auto kGlobalEventFolderChanged

The event name denoting that a folder changed.

const auto kGlobalEventFolderChangedImmediate

The event name denoting that a folder changed (immediate).

const auto kGlobalEventRegistryRefreshBegin

Other global updates issued by the extension manager.

const auto kGlobalEventRegistryRefreshEnd

An event dispatched at the end of registry refresh.

const auto kGlobalEventScriptChanged

The event name denoting that a script changed.

const auto kGlobalEventScriptChangedImmediate

Extension manager change events.