8 #ifndef CPPCMS_CAPI_SESSION_H 9 #define CPPCMS_CAPI_SESSION_H 10 #include <cppcms/defs.h> 23 #define CPPCMS_CAPI_SESSION_FIXED 0 24 #define CPPCMS_CAPI_SESSION_RENEW 1 25 #define CPPCMS_CAPI_SESSION_BROWSER 2 28 #define CPPCMS_CAPI_ERROR_OK 0 32 #define CPPCMS_CAPI_ERROR_GENERAL 1 33 #define CPPCMS_CAPI_ERROR_RUNTIME 2 34 #define CPPCMS_CAPI_ERROR_INVALID_ARGUMENT 4 35 #define CPPCMS_CAPI_ERROR_LOGIC 5 36 #define CPPCMS_CAPI_ERROR_ALLOC 6 50 typedef struct cppcms_capi_session_pool cppcms_capi_session_pool;
54 typedef struct cppcms_capi_session cppcms_capi_session;
58 typedef struct cppcms_capi_cookie cppcms_capi_cookie;
85 CPPCMS_API cppcms_capi_session *cppcms_capi_session_new();
86 CPPCMS_API
void cppcms_capi_session_delete(cppcms_capi_session *session);
89 CPPCMS_API
int cppcms_capi_session_init(cppcms_capi_session *session,cppcms_capi_session_pool *pool);
91 CPPCMS_API
int cppcms_capi_session_clear(cppcms_capi_session *session);
93 CPPCMS_API
int cppcms_capi_session_is_set(cppcms_capi_session *session,
char const *key);
94 CPPCMS_API
int cppcms_capi_session_erase(cppcms_capi_session *session,
char const *key);
95 CPPCMS_API
int cppcms_capi_session_get_exposed(cppcms_capi_session *session,
char const *key);
96 CPPCMS_API
int cppcms_capi_session_set_exposed(cppcms_capi_session *session,
char const *key,
int is_exposed);
98 CPPCMS_API
char const *cppcms_capi_session_get_first_key(cppcms_capi_session *session);
99 CPPCMS_API
char const *cppcms_capi_session_get_next_key(cppcms_capi_session *session);
102 CPPCMS_API
char const *cppcms_capi_session_get_csrf_token(cppcms_capi_session *session);
105 CPPCMS_API
int cppcms_capi_session_set(cppcms_capi_session *session,
char const *key,
char const *value);
106 CPPCMS_API
char const *cppcms_capi_session_get(cppcms_capi_session *session,
char const *key);
108 CPPCMS_API
int cppcms_capi_session_set_binary_as_hex(cppcms_capi_session *session,
char const *key,
char const *value);
109 CPPCMS_API
char const *cppcms_capi_session_get_binary_as_hex(cppcms_capi_session *session,
char const *key);
111 CPPCMS_API
int cppcms_capi_session_set_binary(cppcms_capi_session *session,
char const *key,
void const *value,
int length);
112 CPPCMS_API
int cppcms_capi_session_get_binary(cppcms_capi_session *session,
char const *key,
void *buf,
int buffer_size);
113 CPPCMS_API
int cppcms_capi_session_get_binary_len(cppcms_capi_session *session,
char const *key);
116 CPPCMS_API
int cppcms_capi_session_reset_session(cppcms_capi_session *session);
118 CPPCMS_API
int cppcms_capi_session_set_default_age(cppcms_capi_session *session);
119 CPPCMS_API
int cppcms_capi_session_set_age(cppcms_capi_session *session,
int t);
120 CPPCMS_API
int cppcms_capi_session_get_age(cppcms_capi_session *session);
122 CPPCMS_API
int cppcms_capi_session_set_default_expiration(cppcms_capi_session *session);
128 CPPCMS_API
int cppcms_capi_session_set_on_server(cppcms_capi_session *session,
int is_on_server);
129 CPPCMS_API
int cppcms_capi_session_get_on_server(cppcms_capi_session *session);
131 CPPCMS_API
char const *cppcms_capi_session_get_session_cookie_name(cppcms_capi_session *session);
132 CPPCMS_API
int cppcms_capi_session_set_session_cookie(cppcms_capi_session *session,
char const *session_cookie_value);
133 CPPCMS_API
int cppcms_capi_session_add_cookie_name(cppcms_capi_session *session,
char const *name);
134 CPPCMS_API
int cppcms_capi_session_load(cppcms_capi_session *session);
135 CPPCMS_API
int cppcms_capi_session_save(cppcms_capi_session *session);
137 CPPCMS_API cppcms_capi_cookie *cppcms_capi_session_cookie_first(cppcms_capi_session *session);
138 CPPCMS_API cppcms_capi_cookie *cppcms_capi_session_cookie_next(cppcms_capi_session *session);
140 CPPCMS_API
void cppcms_capi_cookie_delete(cppcms_capi_cookie *cookie);
142 CPPCMS_API
char const *cppcms_capi_cookie_header(cppcms_capi_cookie
const *cookie);
143 CPPCMS_API
char const *cppcms_capi_cookie_header_content(cppcms_capi_cookie
const *cookie);
145 CPPCMS_API
char const *cppcms_capi_cookie_name(cppcms_capi_cookie
const *cookie);
146 CPPCMS_API
char const *cppcms_capi_cookie_value(cppcms_capi_cookie
const *cookie);
147 CPPCMS_API
char const *cppcms_capi_cookie_path(cppcms_capi_cookie
const *cookie);
148 CPPCMS_API
char const *cppcms_capi_cookie_domain(cppcms_capi_cookie
const *cookie);
150 CPPCMS_API
int cppcms_capi_cookie_max_age_defined(cppcms_capi_cookie
const *cookie);
151 CPPCMS_API
unsigned cppcms_capi_cookie_max_age(cppcms_capi_cookie
const *cookie);
153 CPPCMS_API
int cppcms_capi_cookie_expires_defined(cppcms_capi_cookie
const *cookie);
154 CPPCMS_API
long long cppcms_capi_cookie_expires(cppcms_capi_cookie
const *cookie);
156 CPPCMS_API
int cppcms_capi_cookie_is_secure(cppcms_capi_cookie
const *cookie);
CPPCMS_API int cppcms_capi_session_pool_init_from_json(cppcms_capi_session_pool *pool, char const *json)
Initialize the pool from CppCMS configuration in json fromat json.
CPPCMS_API int cppcms_capi_session_pool_init(cppcms_capi_session_pool *pool, char const *config_file)
Initialize the pool from CppCMS configuration file,config_file.
CPPCMS_API char const * cppcms_capi_error_message(cppcms_capi_object obj)
Get error message for the object.
void * cppcms_capi_object
Definition: session.h:43
CPPCMS_API int cppcms_capi_error(cppcms_capi_object obj)
Get error code for the object.
CPPCMS_API int cppcms_capi_session_set_expiration(cppcms_capi_session *session, int t)
Define expiration method.
CPPCMS_API cppcms_capi_session_pool * cppcms_capi_session_pool_new()
Create new empty pool object, returns NULL in case of fatal error.
CPPCMS_API int cppcms_capi_session_get_expiration(cppcms_capi_session *session)
Get current expiration method.
CPPCMS_API void cppcms_capi_session_pool_delete(cppcms_capi_session_pool *pool)
Destroys pool object.
CPPCMS_API char const * cppcms_capi_error_clear(cppcms_capi_object obj)
Clear error and get last message.