コード例 #1
0
def set_database_ref(ref, prop_id, value):
    ref_ctypes = _ctypedefs.nxDatabaseRef_t(ref)
    prop_id_ctypes = _ctypedefs.u32(prop_id)
    prop_size_ctypes = _ctypedefs.u32(_ctypedefs.nxDatabase_t.BYTES)
    value_ctypes = _ctypedefs.nxDatabaseRef_t(value)
    value_ctypes_ptr = ctypes.pointer(value_ctypes)
    result = _cfuncs.lib.nxdb_set_property(ref_ctypes, prop_id_ctypes,
                                           prop_size_ctypes, value_ctypes_ptr)
    _errors.check_for_error(result.value)
コード例 #2
0
ファイル: _cprops.py プロジェクト: pombredanne/nixnet-python
def get_database_ref(ref, prop_id):
    # type: (int, int) -> int
    ref_ctypes = _ctypedefs.nxDatabaseRef_t(ref)
    prop_id_ctypes = _ctypedefs.u32(prop_id)
    prop_size_ctypes = _ctypedefs.u32(_ctypedefs.nxDatabaseRef_t.BYTES)
    value_ctypes = _ctypedefs.nxDatabaseRef_t()
    value_ctypes_ptr = ctypes.pointer(value_ctypes)
    result = _cfuncs.lib.nxdb_get_property(ref_ctypes, prop_id_ctypes,
                                           prop_size_ctypes, value_ctypes_ptr)
    _errors.check_for_error(result.value)
    return value_ctypes.value
コード例 #3
0
def nxdb_get_dbc_attribute(
        db_object_ref,  # type: int
        mode,  # type:  _enums.GetDbcAttributeMode
        attribute_name,  # type: typing.Text
        attribute_text_size,  # type: int
):
    # type: (...) -> typing.Tuple[typing.Text, bool]
    db_object_ref_ctypes = _ctypedefs.nxDatabaseRef_t(db_object_ref)
    mode_ctypes = _ctypedefs.u32(mode.value)
    attribute_name_ctypes = ctypes.create_string_buffer(
        attribute_name.encode('ascii'))
    attribute_text_size_ctypes = _ctypedefs.u32(attribute_text_size)
    attribute_text_ctypes = ctypes.create_string_buffer(attribute_text_size)
    is_default_ctypes = _ctypedefs.u32()
    result = _cfuncs.lib.nxdb_get_dbc_attribute(
        db_object_ref_ctypes,
        mode_ctypes,
        attribute_name_ctypes,
        attribute_text_size_ctypes,
        attribute_text_ctypes,
        ctypes.pointer(is_default_ctypes),
    )
    _errors.check_for_error(result.value)
    attribute_text = attribute_text_ctypes.value.decode("ascii")
    is_default = bool(is_default_ctypes.value)
    return attribute_text, is_default
コード例 #4
0
def nxdb_delete_object(
        db_object_ref,  # type: int
):
    # type: (...) -> None
    db_object_ref_ctypes = _ctypedefs.nxDatabaseRef_t(db_object_ref)
    result = _cfuncs.lib.nxdb_delete_object(db_object_ref_ctypes, )
    _errors.check_for_error(result.value)
コード例 #5
0
def nxdb_find_object(
    parent_object_ref,
    object_class,
    object_name,
):
    parent_object_ref_ctypes = _ctypedefs.nxDatabaseRef_t(parent_object_ref)
    object_class_ctypes = _ctypedefs.u32(object_class.value)
    object_name_ctypes = _ctypedefs.char_p(object_name.encode('ascii'))
    db_object_ref_ctypes = _ctypedefs.nxDatabaseRef_t()
    result = _cfuncs.lib.nxdb_find_object(
        parent_object_ref_ctypes,
        object_class_ctypes,
        object_name_ctypes,
        ctypes.pointer(db_object_ref_ctypes),
    )
    _errors.check_for_error(result.value)
    return db_object_ref_ctypes.value
コード例 #6
0
def nxdb_find_object(
    parent_object_ref,  # type: int
    object_class,  # type: _enums.ObjectClass
    object_name,  # type: typing.Text
):
    # type: (...) -> int
    parent_object_ref_ctypes = _ctypedefs.nxDatabaseRef_t(parent_object_ref)
    object_class_ctypes = _ctypedefs.u32(object_class.value)
    object_name_ctypes = _ctypedefs.char_p(object_name.encode('ascii'))
    db_object_ref_ctypes = _ctypedefs.nxDatabaseRef_t()
    result = _cfuncs.lib.nxdb_find_object(
        parent_object_ref_ctypes,
        object_class_ctypes,
        object_name_ctypes,
        ctypes.pointer(db_object_ref_ctypes),
    )
    _errors.check_for_error(result.value)
    return db_object_ref_ctypes.value
コード例 #7
0
def nxdb_open_database(database_name, ):
    database_name_ctypes = _ctypedefs.char_p(database_name.encode('ascii'))
    database_ref_ctypes = _ctypedefs.nxDatabaseRef_t()
    result = _cfuncs.lib.nxdb_open_database(
        database_name_ctypes,
        ctypes.pointer(database_ref_ctypes),
    )
    _errors.check_for_error(result.value)
    return database_ref_ctypes.value
コード例 #8
0
ファイル: _cprops.py プロジェクト: pombredanne/nixnet-python
def set_database_f64(ref, prop_id, value):
    # type: (int, int, float) -> None
    ref_ctypes = _ctypedefs.nxDatabaseRef_t(ref)
    prop_id_ctypes = _ctypedefs.u32(prop_id)
    prop_size_ctypes = _ctypedefs.u32(_ctypedefs.f64.BYTES)
    value_ctypes = _ctypedefs.f64(value)
    value_ctypes_ptr = ctypes.pointer(value_ctypes)
    result = _cfuncs.lib.nxdb_set_property(ref_ctypes, prop_id_ctypes,
                                           prop_size_ctypes, value_ctypes_ptr)
    _errors.check_for_error(result.value)
コード例 #9
0
def set_database_ref_array(ref, prop_id, value):
    value_size = len(value) * _ctypedefs.nxDatabase_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 *
                    (value_size // _ctypedefs.nxDatabase_t.BYTES))(*value)
    result = _cfuncs.lib.nxdb_set_property(ref_ctypes, prop_id_ctypes,
                                           prop_size_ctypes, value_ctypes)
    _errors.check_for_error(result.value)
コード例 #10
0
def set_database_string(ref, prop_id, value):
    value = value.encode("ascii")
    value_size = len(value) * _ctypedefs.char.BYTES

    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, value_size)
    result = _cfuncs.lib.nxdb_set_property(ref_ctypes, prop_id_ctypes,
                                           prop_size_ctypes, value_ctypes)
    _errors.check_for_error(result.value)
コード例 #11
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")
コード例 #12
0
def nxdb_save_database(
    database_ref,
    db_filepath,
):
    database_ref_ctypes = _ctypedefs.nxDatabaseRef_t(database_ref)
    db_filepath_ctypes = _ctypedefs.char_p(db_filepath.encode('ascii'))
    result = _cfuncs.lib.nxdb_save_database(
        database_ref_ctypes,
        db_filepath_ctypes,
    )
    _errors.check_for_error(result.value)
コード例 #13
0
def nxdb_close_database(
    database_ref,
    close_all_refs,
):
    database_ref_ctypes = _ctypedefs.nxDatabaseRef_t(database_ref)
    close_all_refs_ctypes = _ctypedefs.bool32(close_all_refs)
    result = _cfuncs.lib.nxdb_close_database(
        database_ref_ctypes,
        close_all_refs_ctypes,
    )
    _errors.check_for_error(result.value)
コード例 #14
0
def nxdb_save_database(
    database_ref,  # type: int
    db_filepath,  # type: typing.Text
):
    # type: (...) -> None
    database_ref_ctypes = _ctypedefs.nxDatabaseRef_t(database_ref)
    db_filepath_ctypes = _ctypedefs.char_p(db_filepath.encode('ascii'))
    result = _cfuncs.lib.nxdb_save_database(
        database_ref_ctypes,
        db_filepath_ctypes,
    )
    _errors.check_for_error(result.value)
コード例 #15
0
def nxdb_close_database(
    database_ref,  # type: int
    close_all_refs,  # type: bool
):
    # type: (...) -> None
    database_ref_ctypes = _ctypedefs.nxDatabaseRef_t(database_ref)
    close_all_refs_ctypes = _ctypedefs.bool32(close_all_refs)
    result = _cfuncs.lib.nxdb_close_database(
        database_ref_ctypes,
        close_all_refs_ctypes,
    )
    _errors.check_for_error(result.value)
コード例 #16
0
def get_database_u32_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.u32 * (value_size // _ctypedefs.u32.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
コード例 #17
0
ファイル: _cprops.py プロジェクト: pombredanne/nixnet-python
def set_database_u32_array(ref, prop_id, value):
    # type: (int, int, typing.List[int]) -> None
    value_size = len(value) * _ctypedefs.u32.BYTES
    elements = value_size // _ctypedefs.u32.BYTES

    ref_ctypes = _ctypedefs.nxDatabaseRef_t(ref)
    prop_id_ctypes = _ctypedefs.u32(prop_id)
    prop_size_ctypes = _ctypedefs.u32(value_size)
    value_ctypes = (_ctypedefs.u32 * (elements))(*value)  # type: ignore
    result = _cfuncs.lib.nxdb_set_property(ref_ctypes, prop_id_ctypes,
                                           prop_size_ctypes, value_ctypes)
    _errors.check_for_error(result.value)
コード例 #18
0
def nxdb_open_database(
        database_name,  # type: typing.Text
):
    # type: (...) -> int
    database_name_ctypes = ctypes.create_string_buffer(
        database_name.encode('ascii'))
    database_ref_ctypes = _ctypedefs.nxDatabaseRef_t()
    result = _cfuncs.lib.nxdb_open_database(
        database_name_ctypes,
        ctypes.pointer(database_ref_ctypes),
    )
    _errors.check_for_error(result.value)
    return database_ref_ctypes.value
コード例 #19
0
ファイル: _cprops.py プロジェクト: pombredanne/nixnet-python
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
コード例 #20
0
def nxdb_merge(
    target_cluster_ref,
    source_obj_ref,
    copy_mode,
    prefix,
    wait_for_complete,
):
    target_cluster_ref_ctypes = _ctypedefs.nxDatabaseRef_t(target_cluster_ref)
    source_obj_ref_ctypes = _ctypedefs.nxDatabaseRef_t(source_obj_ref)
    copy_mode_ctypes = _ctypedefs.u32(copy_mode)
    prefix_ctypes = _ctypedefs.char_p(prefix.encode('ascii'))
    wait_for_complete_ctypes = _ctypedefs.bool32(wait_for_complete)
    percent_complete_ctypes = _ctypedefs.u32()
    result = _cfuncs.lib.nxdb_merge(
        target_cluster_ref_ctypes,
        source_obj_ref_ctypes,
        copy_mode_ctypes,
        prefix_ctypes,
        wait_for_complete_ctypes,
        ctypes.pointer(percent_complete_ctypes),
    )
    _errors.check_for_error(result.value)
    return percent_complete_ctypes.value
コード例 #21
0
def nxdb_get_property_size(
    db_object_ref,
    property_id,
):
    db_object_ref_ctypes = _ctypedefs.nxDatabaseRef_t(db_object_ref)
    property_id_ctypes = _ctypedefs.u32(property_id)
    property_size_ctypes = _ctypedefs.u32()
    result = _cfuncs.lib.nxdb_get_property_size(
        db_object_ref_ctypes,
        property_id_ctypes,
        ctypes.pointer(property_size_ctypes),
    )
    _errors.check_for_error(result.value)
    return property_size_ctypes.value
コード例 #22
0
def nxdb_merge(
        target_cluster_ref,  # type: int
        source_obj_ref,  # type: int
        copy_mode,  # type: int
        prefix,  # type: typing.Text
        wait_for_complete,  # type: bool
):
    # type: (...) -> int
    target_cluster_ref_ctypes = _ctypedefs.nxDatabaseRef_t(target_cluster_ref)
    source_obj_ref_ctypes = _ctypedefs.nxDatabaseRef_t(source_obj_ref)
    copy_mode_ctypes = _ctypedefs.u32(copy_mode)
    prefix_ctypes = ctypes.create_string_buffer(prefix.encode('ascii'))
    wait_for_complete_ctypes = _ctypedefs.bool32(wait_for_complete)
    percent_complete_ctypes = _ctypedefs.u32()
    result = _cfuncs.lib.nxdb_merge(
        target_cluster_ref_ctypes,
        source_obj_ref_ctypes,
        copy_mode_ctypes,
        prefix_ctypes,
        wait_for_complete_ctypes,
        ctypes.pointer(percent_complete_ctypes),
    )
    _errors.check_for_error(result.value)
    return percent_complete_ctypes.value
コード例 #23
0
def nxdb_get_dbc_attribute_size(
    db_object_ref,
    mode,
    attribute_name,
):
    db_object_ref_ctypes = _ctypedefs.nxDatabaseRef_t(db_object_ref)
    mode_ctypes = _ctypedefs.u32(mode)
    attribute_name_ctypes = _ctypedefs.char_p(attribute_name.encode('ascii'))
    attribute_text_size_ctypes = _ctypedefs.u32()
    result = _cfuncs.lib.nxdb_get_dbc_attribute_size(
        db_object_ref_ctypes,
        mode_ctypes,
        attribute_name_ctypes,
        ctypes.pointer(attribute_text_size_ctypes),
    )
    _errors.check_for_error(result.value)
    return attribute_text_size_ctypes.value
コード例 #24
0
def nxdb_get_dbc_attribute_size(
        db_object_ref,  # type: int
        mode,  # type: _enums.GetDbcAttributeMode
        attribute_name,  # type: typing.Text
):
    # type: (...) -> int
    db_object_ref_ctypes = _ctypedefs.nxDatabaseRef_t(db_object_ref)
    mode_ctypes = _ctypedefs.u32(mode.value)
    attribute_name_ctypes = _ctypedefs.char_p(attribute_name.encode('ascii'))
    attribute_text_size_ctypes = _ctypedefs.u32()
    result = _cfuncs.lib.nxdb_get_dbc_attribute_size(
        db_object_ref_ctypes,
        mode_ctypes,
        attribute_name_ctypes,
        ctypes.pointer(attribute_text_size_ctypes),
    )
    _errors.check_for_error(result.value)
    return attribute_text_size_ctypes.value
コード例 #25
0
def nxdb_delete_object(db_object_ref, ):
    db_object_ref_ctypes = _ctypedefs.nxDatabaseRef_t(db_object_ref)
    result = _cfuncs.lib.nxdb_delete_object(db_object_ref_ctypes, )
    _errors.check_for_error(result.value)