Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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[:]) 
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
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 
Ejemplo n.º 5
0
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
Ejemplo n.º 6
0
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 
Ejemplo n.º 7
0
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
Ejemplo n.º 8
0
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