def get_database_string(ref, prop_id): # type: (int, int) -> typing.Text value_size = _funcs.nxdb_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")
def get_database_ref_array(ref, prop_id): # type: (int, int) -> typing.Iterable[int] value_size = _funcs.nxdb_get_property_size(ref, prop_id) elements = value_size // _ctypedefs.nxDatabaseRef_t.BYTES ref_ctypes = _ctypedefs.nxDatabaseRef_t(ref) prop_id_ctypes = _ctypedefs.u32(prop_id) prop_size_ctypes = _ctypedefs.u32(value_size) value_ctypes = (_ctypedefs.nxDatabaseRef_t * (elements))() # type: ignore 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
def get_database_ref_array_len(ref, prop_id): # type: (int, int) -> int value_size = _funcs.nxdb_get_property_size(ref, prop_id) elements = value_size // _ctypedefs.nxDatabaseRef_t.BYTES return elements