ALResourceManager API¶
NAOqi Core - Overview | API | Tutorial
Namespace : AL
#include <alproxies/alresourcemanagerproxy.h>
Method list¶
As any module, this module inherits methods from ALModule API. It also has the following specific methods:
-
class
ALResourceManagerProxy
¶
ALResourceManagerProxy::areResourcesFree
ALResourceManagerProxy::areResourcesOwnedBy
ALResourceManagerProxy::createResource
ALResourceManagerProxy::deleteResource
ALResourceManagerProxy::enableStateResource
ALResourceManagerProxy::isInGroup
ALResourceManagerProxy::releaseResources
ALResourceManagerProxy::acquireResource
ALResourceManagerProxy::acquireResourcesTree
ALResourceManagerProxy::releaseResource
ALResourceManagerProxy::createResourcesList
ALResourceManagerProxy::getResources
ALResourceManagerProxy::isResourceFree
ALResourceManagerProxy::ownersGet
Deprecated Methods
ALResourceManagerProxy::waitForOptionalResourcesTree
(deprecated)ALResourceManagerProxy::waitForResourcesTree
(deprecated)ALResourceManagerProxy::waitForResource
(deprecated)
Methods¶
-
bool
ALResourceManagerProxy::
areResourcesFree
(const std::vector<std::string>& resourceNames)¶ True if resources free
Parameters: - resourceNames – List of resource names
Returns: True if all the specified resources are free
-
bool
ALResourceManagerProxy::
areResourcesOwnedBy
(const std::vector<std::string>& resourceNameList, const std::string& ownerName)¶ True if all the specified resources are owned by the owner
Parameters: - resourceNameList – List of resource names
- ownerName – Owner pointer with hierarchy
Returns: True if all the specify resources are owned by the owner
-
void
ALResourceManagerProxy::
createResource
(const std::string& resourceName, const std::string& parentResourceName)¶ Create a resource
Parameters: - resourceName – Resource name to create
- parentResourceName – Parent resource name or empty string for root resource
-
void
ALResourceManagerProxy::
createResourcesList
(const std::vector<std::string>& resourceNameList, const std::string& strModule)¶ Create the resources listed in pResourceNameList
Parameters: - resourceNameList – List of resource names to create
- strModule – Parent resource name or empty string for root resource
-
void
ALResourceManagerProxy::
deleteResource
(const std::string& resourceName)¶ Delete a resource
Parameters: - resourceName – Resource name to delete
-
void
ALResourceManagerProxy::
deleteResource
(const std::string& resourceName, const bool& deleteChildResources)¶ Deprecated since version 1.22: use ALResourceManagerProxy::deleteResource with a single parameter instead.
Delete a root resource.
Parameters: - resourceName – Resource name to delete
- deleteChildResources – Delete child resources if true. Warning: resource management has been simplified, do not use this parameter anymore.
-
void
ALResourceManagerProxy::
enableStateResource
(const std::string& resourceName, const bool& enabled)¶ Enable or disable a state resource
Parameters: - resourceName – The name of the resource that you wish enable of disable. e.g. Standing
- enabled – True to enable, false to disable
-
bool
ALResourceManagerProxy::
isInGroup
(const std::string& resourceGroupName, const std::string& resourceName)¶ True if a resource is in another parent resource
Parameters: - resourceGroupName – Group name. Ex: Arm
- resourceName – Resource name
Returns:
-
void
ALResourceManagerProxy::
releaseResources
(const std::vector<std::string>& resourceNames, const std::string& ownerName)¶ Release the resources listed
Parameters: - resourceNames – List of resource names
- ownerName – Owner name
-
void
ALResourceManagerProxy::
acquireResource
(const std::string& resourceName, const std::string& moduleName, const std::string& callbackName, const int& timeoutSeconds)¶ Wait and acquire the specified resource. Once acquired the callback is called if someone else want to take the resource. The callback takes only two parameters which are the resourcename and the current owner name. In the callback you can decide to release the resource by calling
ALResourceManagerProxy::releaseResource
If timeoutSeconds is less than 0, an infinite wait is performed, if timeoutSeconds is zero the function is non-bloquing, else the function waits at most timeoutSeconds to acquire the resource, or throws if the resource is still not available. The function throws in case of error.Parameters: - resourceName – Resource name
- moduleName – Module name where the callback will be called. It’s mandatory to specify a moduleName.
- callbackName – Callback name of the function that will be called on moduleName when a conflict is detected
- timeoutSeconds – Timeout in seconds
-
void
ALResourceManagerProxy::
acquireResourcesTree
(const std::vector<std::string>& resourceNameList, const std::string& moduleName, const std::string& callbackName, const int& pnTimeOutMillisec)¶ Wait and acquire the specified resource. Once acquired the callback is called if someone else want to take the resource. The callback takes only two parameters which are the resourcename and the current owner name. In the callback you can decide to release the resource by calling
ALResourceManagerProxy::releaseResource
If timeoutSeconds is less than 0, an infinite wait is performed, if timeoutSeconds is zero the function is non-bloquing, else the function waits at most timeoutSeconds to acquire the resource, or throws if the resource is still not available. The function throws in case of error.Parameters: - resourceNameList – List of resource names
- moduleName – Module name where the callback will be called. It’s mandatory to specify a moduleName.
- callbackName – Callback name of the function that will be called on moduleName when a conflict is detected
- timeoutSeconds – Timeout in seconds
-
void
ALResourceManagerProxy::
releaseResource
(const std::string& resourceName, const std::string& ownerName)¶ Deprecated since version 1.22: use
ALResourceManagerProxy::releaseResources
instead.Release resource
Parameters: - resourceName – Resource name
- ownerName – Existing owner name
-
AL::ALValue
ALResourceManagerProxy::
getResources
()¶ Returns: the full list of resources
-
bool
ALResourceManagerProxy::
isResourceFree
(const std::string& ResourceName)¶ Returns: a bool indicating if the resource is free or not
-
AL::ALValue
ALResourceManagerProxy::
ownersGet
()¶ Returns: the list of owners for each resources
-
std::vector<std::string>
ALResourceManagerProxy::
waitForOptionalResourcesTree
(const std::vector<std::string>& pResourceNameList, const std::string& pOwner, const std::string& pLooseCallbackName, const int& pnTimeOutMillisec, const std::vector<std::string>& pOptionalResourceNameList)¶ Deprecated since version 1.22: due to technical improvements, this method is not useful anymore. Do not use.
-
void
ALResourceManagerProxy::
waitForResourcesTree
(const std::vector<std::string>& pResourceNameList, const std::string& pOwner, const std::string& pLooseCallbackName, const int& pnTimeOutMillisec)¶ Deprecated since version 1.22: due to technical improvements, this method is not useful anymore. Do not use.
-
void
ALResourceManagerProxy::
waitForResource
(const std::string& resourceName, const std::string& ownerName, const std::string& callbackName, const int& timeoutSeconds)¶ Deprecated since version 1.22: use
ALResourceManagerProxy::acquireResource
instead