messenger_via_http_server  1.0
db_plugin.h
См. документацию.
1 
8 #ifndef _MESSENGER_VIA_HTTP_SERVER__DB_PLUGIN_H_
9 #define _MESSENGER_VIA_HTTP_SERVER__DB_PLUGIN_H_
10 
11 #include "sqlite3.h"
12 
14 #define USERNAME_MAX_LENGTH 40
15 
17 #define PASS_MAX_LENGTH 256
18 
20 enum api_op {
25 };
26 
28 enum api_action {
34 };
35 
36 void * db_open(const char * db_path);
37 
38 
39 void db_close(void ** db_handle);
40 
41 
42 char * build_message_json(const char * message_id,
43  const char * from,
44  const char * to,
45  const char * message,
46  const char * time);
47 
48 
49 int switch_action(const mg_str * buf);
50 
51 
52 char * check_auth(const http_message * hm,
53  void * db);
54 
55 
56 void get_message(struct mg_connection * nc,
57  const struct http_message * hm,
58  void * db);
59 
60 
61 void send_message(struct mg_connection * nc,
62  const struct http_message * hm,
63  void * db);
64 
65 
66 char * get_user_from_db(void * db,
67  char * user);
68 
69 
70 void register_user(struct mg_connection * nc,
71  const struct http_message * hm,
72  void * db);
73 
74 
75 void get_user(struct mg_connection * nc,
76  const struct http_message * hm,
77  void * db);
78 
79 
80 void op_post(struct mg_connection * nc,
81  const struct http_message * hm,
82  void * db);
83 
84 
85 void db_op(struct mg_connection *nc,
86  const struct http_message *hm,
87  void *db, int op);
88 
89 
90 void db_op(struct mg_connection *nc,
91  const struct http_message *hm,
92  void *db,
93  int op);
94 
95 
96 #endif //_MESSENGER_VIA_HTTP_SERVER__DB_PLUGIN_H_
void op_post(struct mg_connection *nc, const struct http_message *hm, void *db)
Функция-обработчик POST запроса к api.
Definition: db_plugin_sqlite.c:480
void register_user(struct mg_connection *nc, const struct http_message *hm, void *db)
Функция api регистрации нового пользователя
Definition: db_plugin_sqlite.c:376
api_op
Набор возможных типов запросов к api.
Definition: db_plugin.h:20
DELETE.
Definition: db_plugin.h:24
int switch_action(const mg_str *buf)
Функция парсит параметр action HTTP запроса
Definition: db_plugin_sqlite.c:109
void get_user(struct mg_connection *nc, const struct http_message *hm, void *db)
Функция api получения данных о пользователе
Definition: db_plugin_sqlite.c:439
Definition: mongoose.h:1671
void db_close(void **db_handle)
Функция закрывает базу данных
Definition: db_plugin_sqlite.c:57
char * build_message_json(const char *message_id, const char *from, const char *to, const char *message, const char *time)
Функция формирует строку - JSON сообщение
Definition: db_plugin_sqlite.c:75
void * db_open(const char *db_path)
Функция открывает локальную базу данных, а если она не существует, то создаёт новую ...
Definition: db_plugin_sqlite.c:27
void get_message(struct mg_connection *nc, const struct http_message *hm, void *db)
Функция api получения сообщения
Definition: db_plugin_sqlite.c:189
Указывает, что действие неизвестно api.
Definition: db_plugin.h:29
Получение сообщения
Definition: db_plugin.h:31
api_action
Набор возможных запросов-действий к api.
Definition: db_plugin.h:28
Definition: mongoose.h:4072
void db_op(struct mg_connection *nc, const struct http_message *hm, void *db, int op)
Функция-обработчик любого запроса к api.
Definition: db_plugin_sqlite.c:518
GET.
Definition: db_plugin.h:22
char * get_user_from_db(void *db, char *user)
Функция достаёт данные о пользователе из базы данных
Definition: db_plugin_sqlite.c:340
void send_message(struct mg_connection *nc, const struct http_message *hm, void *db)
Функция api отправки сообщения
Definition: db_plugin_sqlite.c:270
Отправка сообщения
Definition: db_plugin.h:30
SET.
Definition: db_plugin.h:23
Definition: mongoose.h:3265
POST.
Definition: db_plugin.h:21
Регистрация нового пользователя
Definition: db_plugin.h:32
Получение данных о пользователе
Definition: db_plugin.h:33
char * check_auth(const http_message *hm, void *db)
Функция выполняет проверку авторизации
Definition: db_plugin_sqlite.c:141