1
0
mirror of https://github.com/falk-werner/webfuse-provider synced 2024-10-27 20:44:10 +00:00
falk-werner_webfuse-provider/lib/webfuse_provider/impl/client_protocol.h

64 lines
1.5 KiB
C
Raw Normal View History

2020-06-17 14:51:08 +00:00
#ifndef WFP_IMPL_CLIENT_PROTOCOL_H
#define WFP_IMPL_CLIENT_PROTOCOL_H
2019-03-26 22:04:53 +00:00
2020-06-16 21:39:45 +00:00
#include "webfuse_provider/impl/provider.h"
#include "webfuse_provider/impl/request.h"
2019-03-26 22:04:53 +00:00
2020-06-21 19:18:43 +00:00
#include "webfuse_provider/impl/util/slist.h"
2019-03-26 22:04:53 +00:00
#ifdef __cplusplus
extern "C"
{
#endif
struct wfp_client_config;
2019-03-26 22:04:53 +00:00
struct lws_protocols;
struct lws_context;
struct wfp_jsonrpc_proxy;
struct wfp_timer_manager;
2019-03-26 22:04:53 +00:00
struct wfp_client_protocol
{
bool is_connected;
bool is_shutdown_requested;
2019-03-26 22:04:53 +00:00
struct wfp_request request;
struct wfp_provider provider;
void * user_data;
struct lws * wsi;
struct wfp_timer_manager * timer_manager;
struct wfp_jsonrpc_proxy * proxy;
struct wfp_slist messages;
2019-03-26 22:04:53 +00:00
};
extern void wfp_impl_client_protocol_init(
struct wfp_client_protocol * protocol,
struct wfp_provider const * provider,
void * user_data);
extern void wfp_impl_client_protocol_cleanup(
struct wfp_client_protocol * protocol);
extern struct wfp_client_protocol * wfp_impl_client_protocol_create(
struct wfp_client_config const * config);
2019-03-26 22:04:53 +00:00
extern void wfp_impl_client_protocol_dispose(
struct wfp_client_protocol * protocol);
extern void wfp_impl_client_protocol_init_lws(
struct wfp_client_protocol * protocol,
struct lws_protocols * lws_protocol);
extern void wfp_impl_client_protocol_connect(
struct wfp_client_protocol * protocol,
struct lws_context * context,
char const * url);
extern void wfp_impl_client_protocol_disconnect(
struct wfp_client_protocol * protocol);
2019-03-26 22:04:53 +00:00
#ifdef __cplusplus
}
#endif
#endif