def DefineWithSession(self, session, objectDefinitionSettings, resourceDefinitionSettingsCollection):
        defineOperation = self._xmlrpcSession.AwaClientDefineOperation_New(session)
        CheckNone(defineOperation, "Define Operation is NULL")

        objectDefinition = self._xmlrpcSession.AwaObjectDefinition_New(objectDefinitionSettings.objectID, objectDefinitionSettings.objectName,
                                                                      objectDefinitionSettings.minimumInstances, objectDefinitionSettings.maximumInstances)
        CheckNone(objectDefinition, "Could not create object definition for objectID %d" % (objectDefinitionSettings.objectID, ))

        for resourceDefinitionSettings in resourceDefinitionSettingsCollection:
            if awa_enums.isArrayResourceType(resourceDefinitionSettings.resourceType):
                self.DefineMultipleInstanceResource(objectDefinition, resourceDefinitionSettings.resourceID, resourceDefinitionSettings.resourceName,
                                                resourceDefinitionSettings.resourceType, resourceDefinitionSettings.minimumInstances,
                                                resourceDefinitionSettings.maximumInstances, int(resourceDefinitionSettings.supportedOperations),
                                                resourceDefinitionSettings.defaultValue)
            else:
                self.DefineSingleInstanceResource(objectDefinition, resourceDefinitionSettings.resourceID, resourceDefinitionSettings.resourceName,
                                              resourceDefinitionSettings.resourceType, resourceDefinitionSettings.minimumInstances > 0,
                                              int(resourceDefinitionSettings.supportedOperations), resourceDefinitionSettings.defaultValue)

        result = self._xmlrpcSession.AwaClientDefineOperation_Add(defineOperation, objectDefinition)
        CheckSuccess(result, "Could not add object definition to Define Operation")

        result = self._xmlrpcSession.AwaClientDefineOperation_Perform(defineOperation, test_defaults.TIMEOUT)
        CheckSuccess(result, "Failed to perform Define Operation")

        result = self._xmlrpcSession.AwaClientDefineOperation_Free(defineOperation)
        CheckSuccess(result, "Failed to free Define Operation")
    def GetResourceValuesFromReadOperation(self, operation, clientID, path, resourceType):
        if not awa_enums.isArrayResourceType(resourceType):
            raise AwaInvalidArgumentException("resourceType is not an array", resourceType)

        response = self._xmlrpcSession.AwaServerReadOperation_GetResponse(operation, clientID)
        CheckNone(response, "Response is NULL")
        values = self.__GetResourceValuesFromReadResponse(response, path, resourceType)
        return values
    def GetResourceValueFromGetOperation(self, operation, path, resourceType):
        if awa_enums.isArrayResourceType(resourceType):
            raise AwaInvalidArgumentException("resourceType is not single instance", resourceType)

        response = self._xmlrpcSession.AwaClientGetOperation_GetResponse(operation)
        CheckNone(response, "Response is NULL")
        value = self.__GetResourceValueFromGetResponse(response, path, resourceType)
        return value
예제 #4
0
    def GetResourceValuesFromGetOperation(self, operation, path, resourceType):
        if not awa_enums.isArrayResourceType(resourceType):
            raise AwaInvalidArgumentException("resourceType is not an array",
                                              resourceType)

        response = self._xmlrpcSession.AwaClientGetOperation_GetResponse(
            operation)
        CheckNone(response, "Response is NULL")
        values = self.__GetResourceValuesFromGetResponse(
            response, path, resourceType)
        return values
예제 #5
0
    def GetResourceValueFromReadOperation(self, operation, clientID, path,
                                          resourceType):
        if awa_enums.isArrayResourceType(resourceType):
            raise AwaInvalidArgumentException(
                "resourceType is not single instance", resourceType)

        response = self._xmlrpcSession.AwaServerReadOperation_GetResponse(
            operation, clientID)
        CheckNone(response, "Response is NULL")
        value = self.__GetResourceValueFromReadResponse(
            response, path, resourceType)
        return value
예제 #6
0
    def DefineWithSession(self, session, objectDefinitionSettings,
                          resourceDefinitionSettingsCollection):
        defineOperation = self._xmlrpcSession.AwaServerDefineOperation_New(
            session)
        CheckNone(defineOperation, "Define Operation is NULL")

        objectDefinition = self._xmlrpcSession.AwaObjectDefinition_New(
            objectDefinitionSettings.objectID,
            objectDefinitionSettings.objectName,
            objectDefinitionSettings.minimumInstances,
            objectDefinitionSettings.maximumInstances)
        CheckNone(
            objectDefinition,
            "Could not create object definition for objectID %d" %
            (objectDefinitionSettings.objectID, ))

        for resourceDefinitionSettings in resourceDefinitionSettingsCollection:
            if awa_enums.isArrayResourceType(
                    resourceDefinitionSettings.resourceType):
                self.DefineMultipleInstanceResource(
                    objectDefinition, resourceDefinitionSettings.resourceID,
                    resourceDefinitionSettings.resourceName,
                    resourceDefinitionSettings.resourceType,
                    resourceDefinitionSettings.minimumInstances,
                    resourceDefinitionSettings.maximumInstances,
                    int(resourceDefinitionSettings.supportedOperations),
                    resourceDefinitionSettings.defaultValue)
            else:
                self.DefineSingleInstanceResource(
                    objectDefinition, resourceDefinitionSettings.resourceID,
                    resourceDefinitionSettings.resourceName,
                    resourceDefinitionSettings.resourceType,
                    resourceDefinitionSettings.minimumInstances > 0,
                    int(resourceDefinitionSettings.supportedOperations),
                    resourceDefinitionSettings.defaultValue)

        result = self._xmlrpcSession.AwaServerDefineOperation_Add(
            defineOperation, objectDefinition)
        CheckSuccess(result,
                     "Could not add object definition to Define Operation")

        result = self._xmlrpcSession.AwaServerDefineOperation_Perform(
            defineOperation, test_defaults.TIMEOUT)
        CheckSuccess(result, "Failed to perform Define Operation")

        result = self._xmlrpcSession.AwaServerDefineOperation_Free(
            defineOperation)
        CheckSuccess(result, "Failed to free Define Operation")