Add a new plugin / extension mechanism called a resource provider along with retrofitting VFS on top of it.
A resource provider provides a mechanism for MuJoCo to read from filesystems other than the OS filesystem or the Virtual File System (VFS). PiperOrigin-RevId: 525394983 Change-Id: I077ff5a7e2e76806b48b6defb531280aadc8b169
This commit is contained in:
committed by
Copybara-Service
parent
b25728cc2e
commit
fe3dccfd1d
@@ -1192,6 +1192,25 @@ MJAPI const mjpPlugin* mjp_getPlugin(const char* name, int* slot);
|
||||
// Look up a plugin by the registered slot number that was returned by mjp_registerPlugin.
|
||||
MJAPI const mjpPlugin* mjp_getPluginAtSlot(int slot);
|
||||
|
||||
// Set default resource provider definition.
|
||||
MJAPI void mjp_defaultResourceProvider(mjpResourceProvider* provider);
|
||||
|
||||
// Globally register a resource provider in a thread-safe manner. The provider must have a prefix
|
||||
// that is not a sub-prefix or super-prefix of any current registered providers. This function
|
||||
// returns a slot number > 0 on success.
|
||||
MJAPI int mjp_registerResourceProvider(const mjpResourceProvider* provider);
|
||||
|
||||
// Return the number of globally registered resource providers.
|
||||
MJAPI int mjp_resourceProviderCount();
|
||||
|
||||
// Return the resource provider with the prefix that matches against the resource name.
|
||||
// If no match, return NULL.
|
||||
MJAPI const mjpResourceProvider* mjp_getResourceProvider(const char* resource_name);
|
||||
|
||||
// Look up a resource provider by slot number returned by mjp_registerResourceProvider.
|
||||
// If invalid slot number, return NULL.
|
||||
MJAPI const mjpResourceProvider* mjp_getResourceProviderAtSlot(int slot);
|
||||
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user