class RuleExecutionRequest(Message): _name = 'ExecMyRuleInp_PI' myRule = StringProperty() addr = SubmessageProperty(RodsHostAddress) condInput = SubmessageProperty(StringStringMap) outParamDesc = StringProperty() inpParamArray = SubmessageProperty(MsParamArray)
class ExecCmdOut_PI(Message): ''' In this case the above class name must match the name of its root element to be unpacked dynamically, since it is one of the possible types for MsParam. ''' _name = 'ExecCmdOut_PI' # for packing stdoutBuf = SubmessageProperty(BinBytesBuf) stderrBuf = SubmessageProperty(BinBytesBuf) status = IntegerProperty() # need custom unpacking since both buffers have the same element name def unpack(self, root): for (name, prop) in self._ordered_properties: if name == 'stdoutBuf': unpacked_value = prop.unpack( root.findall(prop.message_cls._name)[:1]) elif name == 'stderrBuf': unpacked_value = prop.unpack( root.findall(prop.message_cls._name)[1:]) else: unpacked_value = prop.unpack(root.findall(name)) self._values[name] = unpacked_value
class MsParam(Message): _name = 'MsParam_PI' label = StringProperty() type = StringProperty() # for packing inOutStruct = SubmessageProperty() BinBytesBuf_PI = SubmessageProperty(BinBytesBuf) # override Message.unpack() to unpack inOutStruct # depending on the received <type> element def unpack(self, root): for (name, prop) in self._ordered_properties: if name == 'inOutStruct': continue unpacked_value = prop.unpack(root.findall(name)) self._values[name] = unpacked_value # type tells us what type of data structure we are unpacking # e.g: <type>ExecCmdOut_PI</type> if name == 'type': # unpack struct accordingly message_class = globals()[unpacked_value] self._values['inOutStruct'] = SubmessageProperty( message_class).unpack(root.findall(unpacked_value))
class GenQueryRequest(Message): _name = 'GenQueryInp_PI' maxRows = IntegerProperty() continueInx = IntegerProperty() partialStartIndex = IntegerProperty() options = IntegerProperty() KeyValPair_PI = SubmessageProperty(StringStringMap) InxIvalPair_PI = SubmessageProperty(IntegerIntegerMap) InxValPair_PI = SubmessageProperty(IntegerStringMap)
class GenQueryResponse(Message): _name = 'GenQueryOut_PI' rowCnt = IntegerProperty() attriCnt = IntegerProperty() continueInx = IntegerProperty() totalRowCount = IntegerProperty() SqlResult_PI = ArrayProperty(SubmessageProperty(GenQueryResponseColumn))
class OpenedDataObjRequest(Message): _name = 'OpenedDataObjInp_PI' l1descInx = IntegerProperty() len = IntegerProperty() whence = IntegerProperty() oprType = IntegerProperty() offset = LongProperty() bytesWritten = LongProperty() KeyValPair_PI = SubmessageProperty(StringStringMap)
class FileOpenRequest(Message): _name = 'DataObjInp_PI' objPath = StringProperty() createMode = IntegerProperty() openFlags = IntegerProperty() offset = LongProperty() dataSize = LongProperty() numThreads = IntegerProperty() oprType = IntegerProperty() KeyValPair_PI = SubmessageProperty(StringStringMap)
def unpack(self, root): for (name, prop) in self._ordered_properties: if name == 'inOutStruct': continue unpacked_value = prop.unpack(root.findall(name)) self._values[name] = unpacked_value # type tells us what type of data structure we are unpacking # e.g: <type>ExecCmdOut_PI</type> if name == 'type': # unpack struct accordingly message_class = globals()[unpacked_value] self._values['inOutStruct'] = SubmessageProperty( message_class).unpack(root.findall(unpacked_value))
class SpecificQueryRequest(Message): _name = 'specificQueryInp_PI' sql = StringProperty() arg1 = StringProperty() arg2 = StringProperty() arg3 = StringProperty() arg4 = StringProperty() arg5 = StringProperty() arg6 = StringProperty() arg7 = StringProperty() arg8 = StringProperty() arg9 = StringProperty() arg10 = StringProperty() maxRows = IntegerProperty() continueInx = IntegerProperty() rowOffset = IntegerProperty() options = IntegerProperty() KeyValPair_PI = SubmessageProperty(StringStringMap)
class TicketAdminRequest_(Message): _name = 'ticketAdminInp_PI' def __init__(self, *args, **ticketOpts): super(TicketAdminRequest_, self).__init__() for i in range(6): if i < len(args) and args[i]: setattr(self, 'arg{0}'.format(i + 1), str(args[i])) else: setattr(self, 'arg{0}'.format(i + 1), "") if SERVER_REQUIRES_KEYVAL_PAIRS: self.KeyValPair_PI = StringStringMap(ticketOpts) arg1 = StringProperty() arg2 = StringProperty() arg3 = StringProperty() arg4 = StringProperty() arg5 = StringProperty() arg6 = StringProperty() if SERVER_REQUIRES_KEYVAL_PAIRS: KeyValPair_PI = SubmessageProperty(StringStringMap)
class MetadataRequest_(Message): _name = 'ModAVUMetadataInp_PI' def __init__(self, *args, **metadata_opts): super(MetadataRequest_, self).__init__() for i in range(len(args)): if args[i]: setattr(self, 'arg%d' % i, args[i]) if SERVER_REQUIRES_KEYVAL_PAIRS: self.KeyValPair_PI = StringStringMap(metadata_opts) arg0 = StringProperty() arg1 = StringProperty() arg2 = StringProperty() arg3 = StringProperty() arg4 = StringProperty() arg5 = StringProperty() arg6 = StringProperty() arg7 = StringProperty() arg8 = StringProperty() arg9 = StringProperty() if SERVER_REQUIRES_KEYVAL_PAIRS: KeyValPair_PI = SubmessageProperty(StringStringMap)
class DataObjInfo(Message): _name = 'DataObjInfo_PI' objPath = StringProperty() rescName = StringProperty() rescHier = StringProperty() dataType = StringProperty() dataSize = LongProperty() chksum = StringProperty() version = StringProperty() filePath = StringProperty() dataOwnerName = StringProperty() dataOwnerZone = StringProperty() replNum = IntegerProperty() replStatus = IntegerProperty() statusString = StringProperty() dataId = LongProperty() collId = LongProperty() dataMapId = IntegerProperty() dataComments = StringProperty() dataMode = StringProperty() dataExpiry = StringProperty() dataCreate = StringProperty() dataModify = StringProperty() dataAccess = StringProperty() dataAccessInx = IntegerProperty() writeFlag = IntegerProperty() destRescName = StringProperty() backupRescName = StringProperty() subPath = StringProperty() specColl = IntegerProperty() regUid = IntegerProperty() otherFlags = IntegerProperty() KeyValPair_PI = SubmessageProperty(StringStringMap) in_pdmo = StringProperty() next = IntegerProperty() rescId = LongProperty()
class Error(Message): _name = 'RError_PI' count = IntegerProperty() RErrMsg_PI = ArrayProperty(SubmessageProperty(ErrorMessage))
class ModDataObjMeta(Message): _name = "ModDataObjMeta_PI" dataObjInfo = SubmessageProperty(DataObjInfo) regParam = SubmessageProperty(StringStringMap)
class CollectionRequest(Message): _name = 'CollInp_PI' collName = StringProperty() KeyValPair_PI = SubmessageProperty(StringStringMap)
class ObjCopyRequest(Message): _name = 'DataObjCopyInp_PI' srcDataObjInp_PI = SubmessageProperty(FileOpenRequest) destDataObjInp_PI = SubmessageProperty(FileOpenRequest)
class MsParamArray(Message): _name = 'MsParamArray_PI' paramLen = IntegerProperty() oprType = IntegerProperty() MsParam_PI = ArrayProperty(SubmessageProperty(MsParam))
class CollectionRequest(Message): _name = 'CollInpNew_PI' collName = StringProperty() flags = IntegerProperty() oprType = IntegerProperty() KeyValPair_PI = SubmessageProperty(StringStringMap)