Skip to main content

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}