class StartupPack(Message): _name = 'StartupPack_PI' def __init__(self, proxy_user, client_user): super(StartupPack, self).__init__() if proxy_user and client_user: self.irodsProt = 1 self.connectCnt = 0 self.proxyUser, self.proxyRcatZone = proxy_user self.clientUser, self.clientRcatZone = client_user self.relVersion = "rods{major}.{minor}.{patchlevel}".format( **IRODS_VERSION) self.apiVersion = "{api}".format(**IRODS_VERSION) self.option = "" irodsProt = IntegerProperty() reconnFlag = IntegerProperty() connectCnt = IntegerProperty() proxyUser = StringProperty() proxyRcatZone = StringProperty() clientUser = StringProperty() clientRcatZone = StringProperty() relVersion = StringProperty() apiVersion = StringProperty() option = StringProperty()
class GenQueryResponse(Message): _name = 'GenQueryOut_PI' rowCnt = IntegerProperty() attriCnt = IntegerProperty() continueInx = IntegerProperty() totalRowCount = IntegerProperty() SqlResult_PI = ArrayProperty(SubmessageProperty(GenQueryResponseColumn))
class VersionResponse(Message): _name = 'Version_PI' status = IntegerProperty() relVersion = StringProperty() apiVersion = StringProperty() reconnPort = IntegerProperty() reconnAddr = StringProperty() cookie = IntegerProperty()
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 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)
class IntegerIntegerMap(Message): _name = 'InxIvalPair_PI' def __init__(self, data=None): super(IntegerIntegerMap, self).__init__() self.iiLen = 0 if data: self.iiLen = len(data) self.inx = data.keys() self.ivalue = data.values() iiLen = IntegerProperty() inx = ArrayProperty(IntegerProperty()) ivalue = ArrayProperty(IntegerProperty())
class IntegerStringMap(Message): _name = 'InxValPair_PI' def __init__(self, data=None): super(IntegerStringMap, self).__init__() self.isLen = 0 if data: self.isLen = len(data) self.inx = data.keys() self.svalue = data.values() isLen = IntegerProperty() inx = ArrayProperty(IntegerProperty()) svalue = ArrayProperty(StringProperty())
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 ModAclRequest(Message): _name = 'modAccessControlInp_PI' recursiveFlag = IntegerProperty() accessLevel = StringProperty() userName = StringProperty() zone = StringProperty() path = StringProperty()
class BytesBuf(Message): """A generic structure carrying text content""" _name = 'BytesBuf_PI' buflen = IntegerProperty() buf = StringProperty() def __init__(self, string, *v, **kw): super(BytesBuf, self).__init__(*v, **kw) self.buf = string self.buflen = len(self.buf)
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 StringStringMap(Message): _name = 'KeyValPair_PI' def __init__(self, data=None): super(StringStringMap, self).__init__() self.ssLen = 0 if data: self.ssLen = len(data) self.keyWord = data.keys() self.svalue = data.values() ssLen = IntegerProperty() keyWord = ArrayProperty(StringProperty()) svalue = ArrayProperty(StringProperty())
class StartupPack(Message): _name = 'StartupPack_PI' def __init__(self, proxy_user, client_user): super(StartupPack, self).__init__() if proxy_user and client_user: self.irodsProt = 1 self.connectCnt = 0 self.proxyUser, self.proxyRcatZone = proxy_user self.clientUser, self.clientRcatZone = client_user self.relVersion = "rods3.2" self.apiVersion = "d" self.option = "" irodsProt = IntegerProperty() reconnFlag = IntegerProperty() connectCnt = IntegerProperty() proxyUser = StringProperty() proxyRcatZone = StringProperty() clientUser = StringProperty() clientRcatZone = StringProperty() relVersion = StringProperty() apiVersion = StringProperty() option = StringProperty()
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 MsParamArray(Message): _name = 'MsParamArray_PI' paramLen = IntegerProperty() oprType = IntegerProperty() MsParam_PI = ArrayProperty(SubmessageProperty(MsParam))
class FileWriteRequest(Message): _name = 'dataObjWriteInp_PI' dataObjInx = IntegerProperty() len = IntegerProperty()
class RodsHostAddress(Message): _name = 'RHostAddr_PI' hostAddr = StringProperty() rodsZone = StringProperty() port = IntegerProperty() dummyInt = IntegerProperty()
class BinBytesBuf(Message): _name = 'BinBytesBuf_PI' buflen = IntegerProperty() buf = BinaryProperty()
class FileReadRequest(Message): _name = 'dataObjReadInp_PI' l1descInx = IntegerProperty() len = IntegerProperty()
class ClientServerNegotiation(Message): _name = 'CS_NEG_PI' status = IntegerProperty() result = StringProperty()
class CollectionRequest(Message): _name = 'CollInpNew_PI' collName = StringProperty() flags = IntegerProperty() oprType = IntegerProperty() KeyValPair_PI = SubmessageProperty(StringStringMap)
class FileCloseRequest(Message): _name = 'dataObjCloseInp_PI' l1descInx = IntegerProperty() bytesWritten = LongProperty()
class ErrorMessage(Message): _name = 'RErrMsg_PI' status = IntegerProperty() msg = StringProperty()
class PamAuthRequest(Message): _name = 'pamAuthRequestInp_PI' pamUser = StringProperty() pamPassword = StringProperty() timeToLive = IntegerProperty()
class GenQueryResponseColumn(Message): _name = 'SqlResult_PI' attriInx = IntegerProperty() reslen = IntegerProperty() value = ArrayProperty(StringProperty())
class Error(Message): _name = 'RError_PI' count = IntegerProperty() RErrMsg_PI = ArrayProperty(SubmessageProperty(ErrorMessage))
class FileSeekRequest(Message): _name = 'fileLseekInp_PI' fileInx = IntegerProperty() offset = LongProperty() whence = IntegerProperty()