samp_sdk/omp/generated/databases.rs
1//! `IDatabasesComponent` — generated by `cargo xtask gen-omp` from `Server/Components/Databases/databases.hpp`.
2//! Implemented by `DatabasesComponent` in the server's `Databases`.
3//!
4//! Do not edit: change `xtask/omp-wrappers.toml` or the generator and
5//! regenerate. Slots are clang's layout of the header for each ABI, checked
6//! against the official binaries by `cargo xtask check-abi --generated`.
7
8#![allow(unused_imports)]
9
10use crate::omp::containers::{FlatSet, HybridString, Pair, Span};
11use crate::omp::types::{
12 Colour, GTAQuat, Hours, Microseconds, Milliseconds, Minutes, Seconds, StringView, TimePoint,
13 UID, Vector2, Vector3, Vector4, WorldTimePoint,
14};
15use crate::omp::vtable::{call_vtable_small_struct, opaque, slots, virtual_fns};
16use crate::omp::*;
17
18opaque! {
19 /// Opaque handle for `IDatabasesComponent*`.
20 pub IDatabasesComponent;
21}
22
23/// `DatabasesComponent_UID` in `Server/Components/Databases/databases.hpp`.
24pub const DATABASES_COMPONENT_UID: UID = 0x80092e7eb5821a96;
25
26impl ComponentInterface for IDatabasesComponent {
27 const UID: UID = DATABASES_COMPONENT_UID;
28}
29
30slots! {
31 /// `IDatabaseConnection * IDatabasesComponent::open(StringView, int)`
32 SLOT_OPEN: usize = 18, 16;
33 /// `bool IDatabasesComponent::close(IDatabaseConnection &)`
34 SLOT_CLOSE: usize = 19, 17;
35 /// `bool IDatabasesComponent::freeResultSet(IDatabaseResultSet &)`
36 SLOT_FREE_RESULT_SET: usize = 20, 18;
37 /// `std::size_t IDatabasesComponent::getDatabaseConnectionCount()`
38 SLOT_GET_DATABASE_CONNECTION_COUNT: usize = 21, 19;
39 /// `bool IDatabasesComponent::isDatabaseConnectionIDValid(int)`
40 SLOT_IS_DATABASE_CONNECTION_ID_VALID: usize = 22, 20;
41 /// `IDatabaseConnection & IDatabasesComponent::getDatabaseConnectionByID(int)`
42 SLOT_GET_DATABASE_CONNECTION_BY_ID: usize = 23, 21;
43 /// `std::size_t IDatabasesComponent::getDatabaseResultSetCount()`
44 SLOT_GET_DATABASE_RESULT_SET_COUNT: usize = 24, 22;
45 /// `bool IDatabasesComponent::isDatabaseResultSetIDValid(int)`
46 SLOT_IS_DATABASE_RESULT_SET_ID_VALID: usize = 25, 23;
47 /// `IDatabaseResultSet & IDatabasesComponent::getDatabaseResultSetByID(int)`
48 SLOT_GET_DATABASE_RESULT_SET_BY_ID: usize = 26, 24;
49}
50
51virtual_fns! {
52 /// `IDatabaseConnection * IDatabasesComponent::open(StringView, int)`.
53 ///
54 /// # Safety
55 /// `component` must be a live `IDatabasesComponent`.
56 #[must_use]
57 pub fn databases_open(
58 component: IDatabasesComponent,
59 path: StringView,
60 flags: i32,
61 ) -> *mut IDatabaseConnection = [0, SLOT_OPEN] or std::ptr::null_mut();
62
63 /// `bool IDatabasesComponent::close(IDatabaseConnection &)`.
64 ///
65 /// # Safety
66 /// `component` must be a live `IDatabasesComponent`.
67 #[must_use]
68 pub fn databases_close(
69 component: IDatabasesComponent,
70 connection: *mut IDatabaseConnection,
71 ) -> bool = [0, SLOT_CLOSE] or false;
72
73 /// `bool IDatabasesComponent::freeResultSet(IDatabaseResultSet &)`.
74 ///
75 /// # Safety
76 /// `component` must be a live `IDatabasesComponent`.
77 #[must_use]
78 pub fn databases_free_result_set(
79 component: IDatabasesComponent,
80 result_set: *mut IDatabaseResultSet,
81 ) -> bool = [0, SLOT_FREE_RESULT_SET] or false;
82
83 /// `std::size_t IDatabasesComponent::getDatabaseConnectionCount()`.
84 ///
85 /// # Safety
86 /// `component` must be a live `IDatabasesComponent`.
87 #[must_use]
88 pub fn databases_database_connection_count(
89 component: IDatabasesComponent,
90 ) -> usize = [0, SLOT_GET_DATABASE_CONNECTION_COUNT] or 0;
91
92 /// `bool IDatabasesComponent::isDatabaseConnectionIDValid(int)`.
93 ///
94 /// # Safety
95 /// `component` must be a live `IDatabasesComponent`.
96 #[must_use]
97 pub fn databases_is_database_connection_id_valid(
98 component: IDatabasesComponent,
99 database_connection_id: i32,
100 ) -> bool = [0, SLOT_IS_DATABASE_CONNECTION_ID_VALID] or false;
101
102 /// `IDatabaseConnection & IDatabasesComponent::getDatabaseConnectionByID(int)`.
103 ///
104 /// # Safety
105 /// `component` must be a live `IDatabasesComponent`.
106 #[must_use]
107 pub fn databases_database_connection_by_id(
108 component: IDatabasesComponent,
109 database_connection_id: i32,
110 ) -> *mut IDatabaseConnection = [0, SLOT_GET_DATABASE_CONNECTION_BY_ID] or std::ptr::null_mut();
111
112 /// `std::size_t IDatabasesComponent::getDatabaseResultSetCount()`.
113 ///
114 /// # Safety
115 /// `component` must be a live `IDatabasesComponent`.
116 #[must_use]
117 pub fn databases_database_result_set_count(
118 component: IDatabasesComponent,
119 ) -> usize = [0, SLOT_GET_DATABASE_RESULT_SET_COUNT] or 0;
120
121 /// `bool IDatabasesComponent::isDatabaseResultSetIDValid(int)`.
122 ///
123 /// # Safety
124 /// `component` must be a live `IDatabasesComponent`.
125 #[must_use]
126 pub fn databases_is_database_result_set_id_valid(
127 component: IDatabasesComponent,
128 database_result_set_id: i32,
129 ) -> bool = [0, SLOT_IS_DATABASE_RESULT_SET_ID_VALID] or false;
130
131 /// `IDatabaseResultSet & IDatabasesComponent::getDatabaseResultSetByID(int)`.
132 ///
133 /// # Safety
134 /// `component` must be a live `IDatabasesComponent`.
135 #[must_use]
136 pub fn databases_database_result_set_by_id(
137 component: IDatabasesComponent,
138 database_result_set_id: i32,
139 ) -> *mut IDatabaseResultSet = [0, SLOT_GET_DATABASE_RESULT_SET_BY_ID] or std::ptr::null_mut();
140}