omni::ext::IPathProtocolProvider
Defined in omni/ext/IExtensions.h
-
class IPathProtocolProvider : public carb::IObject
Interface to be implemented to add new extension path protocols.
Public Functions
-
virtual const char *addPath(const char *url) = 0
Called by ExtensionManager to register a protocol.
It must return local file system path for the provided url to be registered instead of url. It is a job of protocol provider to update and maintain that local path. Extension manager will treat that path the same as regular local extension search paths.
- Parameters
url – The protocol to register
- Returns
A local filesystem path
-
virtual void removePath(const char *url) = 0
Called by ExtensionManager to unregister a protocol.
- Parameters
url – The protocol previously passed to addPath().
-
virtual size_t addRef() = 0
Atomically add one to the reference count.
- Returns
The current reference count after one was added, though this value may change before read if other threads are also modifying the reference count. The return value is guaranteed to be non-zero.
-
virtual size_t release() = 0
Atomically subtracts one from the reference count.
If the result is zero, carb::deleteHandler() is called for
this
.- Returns
The current reference count after one was subtracted. If zero is returned, carb::deleteHandler() was called for
this
.
Public Static Functions
-
static inline constexpr carb::InterfaceDesc getInterfaceDesc() noexcept
Returns information about this interface.
Auto-generated by CARB_PLUGIN_INTERFACE() or CARB_PLUGIN_INTERFACE_EX.
- Returns
The carb::InterfaceDesc struct with information about this interface.
-
static inline constexpr carb::InterfaceDesc getLatestInterfaceDesc() noexcept
Returns information about the latest version of this interface.
Auto-generated by CARB_PLUGIN_INTERFACE() or CARB_PLUGIN_INTERFACE_EX.
- Returns
The carb::InterfaceDesc struct with information about the latest version of this interface.
-
virtual const char *addPath(const char *url) = 0