Mercurial
annotate deita/deita_internal.h @ 264:04fee26ecce0
add authenticated JRPG conversation platform
Add reusable auth/session storage, owned conversation recovery, guest quotas, admin workflows, URL-routed conversation UI, mobile frame support, and parallel browser acceptance.
Co-authored-by: Copilot <[email protected]>
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Fri, 07 Aug 2026 07:34:12 -0700 |
| parents | 1f9877b637e9 |
| children |
| rev | line source |
|---|---|
|
75
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
1 #ifndef DEITA_INTERNAL |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
2 #define DEITA_INTERNAL |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
3 |
|
168
f3084bca7317
[Misc] Fixed all errors and all tests should pass now.
MrJuneJune <me@mrjunejune.com>
parents:
75
diff
changeset
|
4 #include "third_party/sqlite3/sqlite3.h" |
|
75
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
5 #include "deita.h" |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
6 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
7 struct Deita_Connection |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
8 { |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
9 Deita_Database_Type database_type; |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
10 void *native_handle; |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
11 boolean is_open; |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
12 }; |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
13 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
14 struct Deita_Result_Set |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
15 { |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
16 Deita_Database_Type database_type; |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
17 void *native_result; |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
18 int32 column_count; |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
19 boolean has_data; |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
20 boolean is_done; |
|
260
1f9877b637e9
Add Copilot-powered cyberpunk JRPG chat
MrJuneJune <mrjunejune@users.noreply.github.com>
parents:
168
diff
changeset
|
21 boolean has_error; |
|
75
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
22 }; |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
23 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
24 // SQLite3-specific functions (implemented in d_sqlite.c) |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
25 extern Deita_Connection* deita__sqlite_connection_create(const char *connection_string); |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
26 extern void deita__sqlite_connection_close(Deita_Connection *p_connection); |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
27 extern boolean deita__sqlite_connection_is_open(Deita_Connection *p_connection); |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
28 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
29 extern Deita_Result_Set* deita__sqlite_query_execute( |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
30 Deita_Connection *p_connection, |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
31 const char *query, |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
32 Dowa_Arena *p_arena |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
33 ); |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
34 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
35 extern Deita_Result_Set* deita__sqlite_query_execute_prepared( |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
36 Deita_Connection *p_connection, |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
37 const char *query, |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
38 int32 parameter_count, |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
39 const char **parameter_values, |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
40 Dowa_Arena *p_arena |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
41 ); |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
42 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
43 extern int32 deita__sqlite_query_execute_update( |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
44 Deita_Connection *p_connection, |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
45 const char *query |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
46 ); |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
47 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
48 extern int32 deita__sqlite_query_execute_update_prepared( |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
49 Deita_Connection *p_connection, |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
50 const char *query, |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
51 int32 parameter_count, |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
52 const char **parameter_values |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
53 ); |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
54 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
55 extern boolean deita__sqlite_result_set_next(Deita_Result_Set *p_result_set); |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
56 extern int32 deita__sqlite_result_set_get_column_count(Deita_Result_Set *p_result_set); |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
57 extern const char* deita__sqlite_result_set_get_column_name(Deita_Result_Set *p_result_set, int32 column_index); |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
58 extern Deita_Column_Type deita__sqlite_result_set_get_column_type(Deita_Result_Set *p_result_set, int32 column_index); |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
59 extern const char* deita__sqlite_result_set_get_text(Deita_Result_Set *p_result_set, int32 column_index); |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
60 extern int64 deita__sqlite_result_set_get_integer(Deita_Result_Set *p_result_set, int32 column_index); |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
61 extern double deita__sqlite_result_set_get_real(Deita_Result_Set *p_result_set, int32 column_index); |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
62 extern void deita__sqlite_result_set_free(Deita_Result_Set *p_result_set); |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
63 |
|
ae6a88e6e484
[Deita] Simple DB connection lib.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
64 #endif |