コード例 #1
0
def get_database_string(ref, prop_id):
    value_size = _funcs.nx_get_property_size(ref, prop_id)

    ref_ctypes = _ctypedefs.nxDatabaseRef_t(ref)
    prop_id_ctypes = _ctypedefs.u32(prop_id)
    prop_size_ctypes = _ctypedefs.u32(value_size)
    value_ctypes = ctypes.create_string_buffer(value_size)
    result = _cfuncs.lib.nxdb_get_property(ref_ctypes, prop_id_ctypes,
                                           prop_size_ctypes, value_ctypes)
    _errors.check_for_error(result.value)
    return value_ctypes.value.decode("ascii")
コード例 #2
0
ファイル: _cprops.py プロジェクト: pombredanne/nixnet-python
def get_session_string(ref, prop_id):
    # type: (int, int) -> typing.Text
    value_size = _funcs.nx_get_property_size(ref, prop_id)

    ref_ctypes = _ctypedefs.nxSessionRef_t(ref)
    prop_id_ctypes = _ctypedefs.u32(prop_id)
    prop_size_ctypes = _ctypedefs.u32(value_size)
    value_ctypes = ctypes.create_string_buffer(value_size)
    result = _cfuncs.lib.nx_get_property(ref_ctypes, prop_id_ctypes,
                                         prop_size_ctypes, value_ctypes)
    _errors.check_for_error(result.value)
    return value_ctypes.value.decode("ascii")
コード例 #3
0
def get_session_u32_array(ref, prop_id):
    value_size = _funcs.nx_get_property_size(ref, prop_id)

    ref_ctypes = _ctypedefs.nxSessionRef_t(ref)
    prop_id_ctypes = _ctypedefs.u32(prop_id)
    prop_size_ctypes = _ctypedefs.u32(value_size)
    value_ctypes = (_ctypedefs.u32 * (value_size // _ctypedefs.u32.BYTES))()
    result = _cfuncs.lib.nx_get_property(ref_ctypes, prop_id_ctypes,
                                         prop_size_ctypes, value_ctypes)
    _errors.check_for_error(result.value)
    for value in value_ctypes:
        yield value.value
コード例 #4
0
def get_database_u8_array(ref, prop_id):
    value_size = _funcs.nx_get_property_size(ref, prop_id)

    ref_ctypes = _ctypedefs.nxDatabaseRef_t(ref)
    prop_id_ctypes = _ctypedefs.u32(prop_id)
    prop_size_ctypes = _ctypedefs.u32(value_size)
    value_ctypes = (_ctypedefs.u8 * (value_size // _ctypedefs.u8.BYTES))()
    result = _cfuncs.lib.nxdb_get_property(ref_ctypes, prop_id_ctypes,
                                           prop_size_ctypes, value_ctypes)
    _errors.check_for_error(result.value)
    for value in value_ctypes:
        yield value.value
コード例 #5
0
ファイル: _cprops.py プロジェクト: pombredanne/nixnet-python
def get_session_u32_array(ref, prop_id):
    # type: (int, int) -> typing.Iterable[int]
    value_size = _funcs.nx_get_property_size(ref, prop_id)
    elements = value_size // _ctypedefs.u32.BYTES

    ref_ctypes = _ctypedefs.nxSessionRef_t(ref)
    prop_id_ctypes = _ctypedefs.u32(prop_id)
    prop_size_ctypes = _ctypedefs.u32(value_size)
    value_ctypes = (_ctypedefs.u32 * (elements))()  # type: ignore
    result = _cfuncs.lib.nx_get_property(ref_ctypes, prop_id_ctypes,
                                         prop_size_ctypes, value_ctypes)
    _errors.check_for_error(result.value)
    for value in value_ctypes:
        yield value.value
コード例 #6
0
ファイル: _cprops.py プロジェクト: pombredanne/nixnet-python
def get_session_ref_array_len(ref, prop_id):
    # type: (int, int) -> int
    value_size = _funcs.nx_get_property_size(ref, prop_id)
    elements = value_size // _ctypedefs.nxSessionRef_t.BYTES
    return elements