123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 |
- #ifndef MYSQL_SRV_SESSION_SERVICE_INCLUDED
- #define MYSQL_SRV_SESSION_SERVICE_INCLUDED
- #ifdef __cplusplus
- class Srv_session;
- typedef class Srv_session* MYSQL_SESSION;
- #else
- struct Srv_session;
- typedef struct Srv_session* MYSQL_SESSION;
- #endif
- #ifndef MYSQL_ABI_CHECK
- #include "mysql/plugin.h"
- #endif
- #ifdef __cplusplus
- extern "C" {
- #endif
- typedef void (*srv_session_error_cb)(void *ctx,
- unsigned int sql_errno,
- const char *err_msg);
- extern struct srv_session_service_st
- {
- int (*init_session_thread)(const void *plugin);
- void (*deinit_session_thread)();
- MYSQL_SESSION (*open_session)(srv_session_error_cb error_cb,
- void *plugix_ctx);
- int (*detach_session)(MYSQL_SESSION session);
- int (*close_session)(MYSQL_SESSION session);
- int (*server_is_available)();
- } *srv_session_service;
- #ifdef MYSQL_DYNAMIC_PLUGIN
- #define srv_session_init_thread(plugin) \
- srv_session_service->init_session_thread((plugin))
- #define srv_session_deinit_thread() \
- srv_session_service->deinit_session_thread()
- #define srv_session_open(cb, ctx) \
- srv_session_service->open_session((cb), (ctx))
- #define srv_session_detach(session) \
- srv_session_service->detach_session((session))
- #define srv_session_close(session) \
- srv_session_service->close_session((session))
- #define srv_session_server_is_available() \
- srv_session_service->server_is_available()
- #else
- int srv_session_init_thread(const void *plugin);
- void srv_session_deinit_thread();
- MYSQL_SESSION srv_session_open(srv_session_error_cb cb, void *plugix_ctx);
- int srv_session_detach(MYSQL_SESSION session);
- int srv_session_close(MYSQL_SESSION session);
- int srv_session_server_is_available();
- #endif
- #ifdef __cplusplus
- }
- #endif
- #endif
|