예제 #1
0
class ALResourceManager(object):
    def __init__(self):
        self.proxy = None

    def force_connect(self):
        self.proxy = ALProxy("ALResourceManager")

    def acquireResource(self, resourceName, moduleName, callbackName,
                        timeoutSeconds):
        """Wait and acquire a resource

        :param str resourceName: Resource name
        :param str moduleName: Module name
        :param str callbackName: callback name
        :param int timeoutSeconds: Timeout in seconds
        """
        if not self.proxy:
            self.proxy = ALProxy("ALResourceManager")
        return self.proxy.acquireResource(resourceName, moduleName,
                                          callbackName, timeoutSeconds)

    def acquireResourcesTree(self, resourceName, moduleName, callbackName,
                             timeoutSeconds):
        """Wait for resource tree. Parent and children are not in conflict. Local function

        :param std::vector<std::string> resourceName: Resource name
        :param str moduleName: Module name
        :param str callbackName: callback name
        :param int timeoutSeconds: Timeout in seconds
        """
        if not self.proxy:
            self.proxy = ALProxy("ALResourceManager")
        return self.proxy.acquireResourcesTree(resourceName, moduleName,
                                               callbackName, timeoutSeconds)

    def areResourcesFree(self, resourceNames):
        """True if all resources are free

        :param std::vector<std::string> resourceNames: Resource names
        :returns bool: True if all the specify resources are free
        """
        if not self.proxy:
            self.proxy = ALProxy("ALResourceManager")
        return self.proxy.areResourcesFree(resourceNames)

    def areResourcesOwnedBy(self, resourceNameList, ownerName):
        """True if all the specified resources are owned by the owner

        :param std::vector<std::string> resourceNameList: Resource name
        :param str ownerName: Owner pointer with hierarchy
        :returns bool: True if all the specify resources are owned by the owner
        """
        if not self.proxy:
            self.proxy = ALProxy("ALResourceManager")
        return self.proxy.areResourcesOwnedBy(resourceNameList, ownerName)

    def checkStateResourceFree(self, resourceName):
        """check if all the state resource in the list are free

        :param std::vector<std::string> resourceName: Resource name
        :returns bool: 
        """
        if not self.proxy:
            self.proxy = ALProxy("ALResourceManager")
        return self.proxy.checkStateResourceFree(resourceName)

    def createResource(self, resourceName, parentResourceName):
        """Create a resource

        :param str resourceName: Resource name to create
        :param str parentResourceName: Parent resource name or empty string for root resource
        """
        if not self.proxy:
            self.proxy = ALProxy("ALResourceManager")
        return self.proxy.createResource(resourceName, parentResourceName)

    def createResourcesList(self, resourceGroupName, resourceName):
        """True if a resource is in another parent resource

        :param std::vector<std::string> resourceGroupName: Group name. Ex: Arm
        :param str resourceName: Resource name
        """
        if not self.proxy:
            self.proxy = ALProxy("ALResourceManager")
        return self.proxy.createResourcesList(resourceGroupName, resourceName)

    def deleteResource(self, resourceName, deleteChildResources):
        """Delete a root resource

        :param str resourceName: Resource name to delete
        :param bool deleteChildResources: DEPRECATED: Delete child resources if true
        """
        if not self.proxy:
            self.proxy = ALProxy("ALResourceManager")
        return self.proxy.deleteResource(resourceName, deleteChildResources)

    def enableStateResource(self, resourceName, enabled):
        """Enable or disable a state resource

        :param str resourceName: The name of the resource that you wish enable of disable. e.g. Standing
        :param bool enabled: True to enable, false to disable
        """
        if not self.proxy:
            self.proxy = ALProxy("ALResourceManager")
        return self.proxy.enableStateResource(resourceName, enabled)

    def getResources(self):
        """Get tree of resources

        :returns AL::ALValue: 
        """
        if not self.proxy:
            self.proxy = ALProxy("ALResourceManager")
        return self.proxy.getResources()

    def isInGroup(self, resourceGroupName, resourceName):
        """True if a resource is in another parent resource

        :param str resourceGroupName: Group name. Ex: Arm
        :param str resourceName: Resource name
        :returns bool: 
        """
        if not self.proxy:
            self.proxy = ALProxy("ALResourceManager")
        return self.proxy.isInGroup(resourceGroupName, resourceName)

    def isResourceFree(self, resourceNames):
        """True if the resource is free

        :param str resourceNames: Resource name
        :returns bool: True if the specify resources is free
        """
        if not self.proxy:
            self.proxy = ALProxy("ALResourceManager")
        return self.proxy.isResourceFree(resourceNames)

    def ownersGet(self):
        """The tree of the resources owners.

        :returns AL::ALValue: 
        """
        if not self.proxy:
            self.proxy = ALProxy("ALResourceManager")
        return self.proxy.ownersGet()

    def ping(self):
        """Just a ping. Always returns true

        :returns bool: returns true
        """
        if not self.proxy:
            self.proxy = ALProxy("ALResourceManager")
        return self.proxy.ping()

    def releaseResource(self, resourceName, ownerName):
        """Release resource

        :param str resourceName: Resource name
        :param str ownerName: Existing owner name
        """
        if not self.proxy:
            self.proxy = ALProxy("ALResourceManager")
        return self.proxy.releaseResource(resourceName, ownerName)

    def releaseResources(self, resourceNames, ownerName):
        """Release  resources list

        :param std::vector<std::string> resourceNames: Resource names
        :param str ownerName: Owner name
        """
        if not self.proxy:
            self.proxy = ALProxy("ALResourceManager")
        return self.proxy.releaseResources(resourceNames, ownerName)

    def version(self):
        """Returns the version of the module.

        :returns str: A string containing the version of the module.
        """
        if not self.proxy:
            self.proxy = ALProxy("ALResourceManager")
        return self.proxy.version()

    def waitForOptionalResourcesTree(self, arg1, arg2, arg3, arg4, arg5):
        """Wait resource

        :param std::vector<std::string> arg1: arg
        :param str arg2: arg
        :param str arg3: arg
        :param int arg4: arg
        :param std::vector<std::string> arg5: arg
        :returns std::vector<std::string>: 
        """
        if not self.proxy:
            self.proxy = ALProxy("ALResourceManager")
        return self.proxy.waitForOptionalResourcesTree(arg1, arg2, arg3, arg4,
                                                       arg5)

    def waitForResource(self, resourceName, ownerName, callbackName,
                        timeoutSeconds):
        """Wait resource

        :param str resourceName: Resource name
        :param str ownerName: Module name
        :param str callbackName: callback name
        :param int timeoutSeconds: Timeout in seconds
        """
        if not self.proxy:
            self.proxy = ALProxy("ALResourceManager")
        return self.proxy.waitForResource(resourceName, ownerName,
                                          callbackName, timeoutSeconds)

    def waitForResourcesTree(self, resourceName, moduleName, callbackName,
                             timeoutSeconds):
        """Wait for resource tree. Parent and children are not in conflict. Local function

        :param std::vector<std::string> resourceName: Resource name
        :param str moduleName: Module name
        :param str callbackName: callback name
        :param int timeoutSeconds: Timeout in seconds
        """
        if not self.proxy:
            self.proxy = ALProxy("ALResourceManager")
        return self.proxy.waitForResourcesTree(resourceName, moduleName,
                                               callbackName, timeoutSeconds)