def dbrDirectory(dbr_hdl, match_template, group, count, size, ret_size): tbuf = createBuf('char[]', size) retval = libdatabroker.dbrDirectory(dbr_hdl, match_template, group, count, ffi.from_buffer(tbuf), ffi.cast('const size_t', size), ret_size) result_buffer = (tbuf[0:ret_size[0]].split('\n')) return retval, result_buffer
def getA(dbr_hdl, tuple_name, match_template, group, buffer_size=None): out_size = ffi.new('int64_t*') if buffer_size is None : buffer_size=[128] out_size[0] = buffer_size[0] out_buffer = createBuf('char[]', out_size[0]) tag = libdatabroker.dbrGetA(dbr_hdl, ffi.from_buffer(out_buffer), out_size, tuple_name.encode(), match_template.encode(), group.encode()) buffer_size[0] = out_size[0] return tag, out_buffer # pickle.loads(out_buffer[:])
def directory(dbr_hdl, match_template, group, count, size): tbuf = createBuf('char[]', size) rsize = ffi.new('int64_t*') retval = libdatabroker.dbrDirectory(dbr_hdl, match_template.encode(), group.encode(), count, ffi.from_buffer(tbuf), ffi.cast('const size_t', size), rsize) result_buffer = (tbuf[0:rsize[0]].decode().split('\n')) return result_buffer, rsize[0], retval
def readA(dbr_hdl, tuple_name, match_template, group, flag=DBR_FLAGS_NONE, buffer_size=None): out_size = ffi.new('int64_t*') if buffer_size is None : buffer_size=[128] out_size[0] = buffer_size[0] out_buffer = createBuf('char[]', out_size[0]) tag = libdatabroker.dbrReadA(dbr_hdl, ffi.from_buffer(out_buffer), out_size, tuple_name.encode(), match_template.encode(), group.encode(), flags) buffer_size[0] = out_size[0] return tag, out_buffer
def get(dbr_hdl, tuple_name, match_template, group, flag, buffer_size=None): out_size = ffi.new('int64_t*') if buffer_size is None : buffer_size=[128] out_size[0] = buffer_size[0] out_buffer = createBuf('char[]', out_size[0]) retval = libdatabroker.dbrGet(dbr_hdl, ffi.from_buffer(out_buffer), out_size, tuple_name.encode(), match_template.encode(), group.encode(), flag) if retval != 0: return None, retval buffer_size[0] = out_size[0] result = None try: result = pickle.loads(out_buffer[:]) except: result = out_buffer[:].decode() return result, retval
def iterator(dbr_hdl, iterator, group, match_template): out_buffer = createBuf('char[]', libdatabroker.DBR_MAX_KEY_LEN) it = libdatabroker.dbrIterator(dbr_hdl, iterator, group.encode(), match_template.encode(), ffi.from_buffer(out_buffer)) key = None try: key = out_buffer[:].decode() except: key = None return key, it
def dbrGetA(dbr_hdl, out_buffer, buffer_size, tuple_name, match_template, group): tag = libdatabroker.dbrGetA(dbr_hdl, ffi.from_buffer(out_buffer), buffer_size, tuple_name, match_template, group) return tag
def dbrGet(dbr_hdl, out_buffer, buffer_size, tuple_name, match_template, group, flag): retval = libdatabroker.dbrGet(dbr_hdl, ffi.from_buffer(out_buffer), buffer_size, tuple_name, match_template, group, flag) return retval