mirror of
https://github.com/falk-werner/webfuse
synced 2024-10-27 20:34:10 +00:00
added stub of client implementation
This commit is contained in:
parent
81fd41f46a
commit
dcbe4f075a
@ -6,33 +6,16 @@
|
|||||||
#ifndef WF_ADAPTER_CLIENT_H
|
#ifndef WF_ADAPTER_CLIENT_H
|
||||||
#define WF_ADAPTER_CLIENT_H
|
#define WF_ADAPTER_CLIENT_H
|
||||||
|
|
||||||
#include "webfuse/adapter/api.h"
|
#include <webfuse/adapter/api.h>
|
||||||
|
#include <webfuse/adapter/client_callback.h>
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
{
|
{
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define WF_CLIENT_CREATED 0x0001
|
|
||||||
#define WF_CLIENT_DISPOSING 0x0002
|
|
||||||
|
|
||||||
#define WF_CLIENT_CONNECTED 0x0011
|
|
||||||
#define WF_CLIENT_DISCONNECTED 0x0012
|
|
||||||
|
|
||||||
#define WF_CLIENT_AUTHENTICATED 0x0021
|
|
||||||
#define WF_CLIENT_AUTHENTICATION_FAILED 0x0022
|
|
||||||
#define WF_CLIENT_AUTHENTICATE_GET_CREDENTIALS 0x0023
|
|
||||||
|
|
||||||
#define WF_CLIENT_FILESYSTEM_ADDED 0x0031
|
|
||||||
#define WF_CLIENT_FILESYSTEM_ADD_FAILED 0x0032
|
|
||||||
|
|
||||||
struct wf_client;
|
struct wf_client;
|
||||||
|
|
||||||
typedef void wf_client_callback_fn(
|
|
||||||
struct wf_client * client,
|
|
||||||
int reason,
|
|
||||||
void * args);
|
|
||||||
|
|
||||||
extern WF_API struct wf_client *
|
extern WF_API struct wf_client *
|
||||||
wf_client_create(
|
wf_client_create(
|
||||||
wf_client_callback_fn * callback,
|
wf_client_callback_fn * callback,
|
||||||
|
35
include/webfuse/adapter/client_callback.h
Normal file
35
include/webfuse/adapter/client_callback.h
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
#ifndef WF_ADAPTER_CLIENT_CALLBACK_H
|
||||||
|
#define WF_ADAPTER_CLIENT_CALLBACK_H
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C"
|
||||||
|
{
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define WF_CLIENT_CREATED 0x0001
|
||||||
|
#define WF_CLIENT_DISPOSING 0x0002
|
||||||
|
|
||||||
|
#define WF_CLIENT_CONNECTED 0x0011
|
||||||
|
#define WF_CLIENT_DISCONNECTED 0x0012
|
||||||
|
|
||||||
|
#define WF_CLIENT_AUTHENTICATED 0x0021
|
||||||
|
#define WF_CLIENT_AUTHENTICATION_FAILED 0x0022
|
||||||
|
#define WF_CLIENT_AUTHENTICATE_GET_CREDENTIALS 0x0023
|
||||||
|
|
||||||
|
#define WF_CLIENT_FILESYSTEM_ADDED 0x0031
|
||||||
|
#define WF_CLIENT_FILESYSTEM_ADD_FAILED 0x0032
|
||||||
|
|
||||||
|
struct wf_client;
|
||||||
|
|
||||||
|
typedef void wf_client_callback_fn(
|
||||||
|
struct wf_client * client,
|
||||||
|
int reason,
|
||||||
|
void * args);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
@ -18,6 +18,7 @@
|
|||||||
#include <webfuse/adapter/mountpoint.h>
|
#include <webfuse/adapter/mountpoint.h>
|
||||||
|
|
||||||
#include <webfuse/adapter/client.h>
|
#include <webfuse/adapter/client.h>
|
||||||
|
#include <webfuse/adapter/client_callback.h>
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -8,6 +8,8 @@
|
|||||||
|
|
||||||
#include "webfuse/core/util.h"
|
#include "webfuse/core/util.h"
|
||||||
|
|
||||||
|
#include "webfuse/adapter/impl/client.h"
|
||||||
|
|
||||||
// server
|
// server
|
||||||
|
|
||||||
struct wf_server * wf_server_create(
|
struct wf_server * wf_server_create(
|
||||||
@ -201,39 +203,35 @@ wf_client_create(
|
|||||||
wf_client_callback_fn * callback,
|
wf_client_callback_fn * callback,
|
||||||
void * user_data)
|
void * user_data)
|
||||||
{
|
{
|
||||||
(void) callback;
|
return wf_impl_client_create(callback, user_data);
|
||||||
(void) user_data;
|
|
||||||
|
|
||||||
return NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
wf_client_dispose(
|
wf_client_dispose(
|
||||||
struct wf_client * client)
|
struct wf_client * client)
|
||||||
{
|
{
|
||||||
(void) client;
|
wf_impl_client_dispose(client);
|
||||||
}
|
}
|
||||||
|
|
||||||
void *
|
void *
|
||||||
wf_client_get_userdata(
|
wf_client_get_userdata(
|
||||||
struct wf_client * client)
|
struct wf_client * client)
|
||||||
{
|
{
|
||||||
(void) client;
|
return wf_impl_client_get_userdata(client);
|
||||||
return NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
wf_client_service(
|
wf_client_service(
|
||||||
struct wf_client * client)
|
struct wf_client * client)
|
||||||
{
|
{
|
||||||
(void) client;
|
wf_impl_client_service(client);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
wf_client_interrupt(
|
wf_client_interrupt(
|
||||||
struct wf_client * client)
|
struct wf_client * client)
|
||||||
{
|
{
|
||||||
(void) client;
|
wf_impl_client_interrupt(client);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -241,22 +239,21 @@ wf_client_connect(
|
|||||||
struct wf_client * client,
|
struct wf_client * client,
|
||||||
char const * url)
|
char const * url)
|
||||||
{
|
{
|
||||||
(void) client;
|
wf_impl_client_connect(client, url);
|
||||||
(void) url;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
wf_client_disconnect(
|
wf_client_disconnect(
|
||||||
struct wf_client * client)
|
struct wf_client * client)
|
||||||
{
|
{
|
||||||
(void) client;
|
wf_impl_client_disconnect(client);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
wf_client_authenticate(
|
wf_client_authenticate(
|
||||||
struct wf_client * client)
|
struct wf_client * client)
|
||||||
{
|
{
|
||||||
(void) client;
|
wf_impl_client_authenticate(client);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -265,8 +262,6 @@ wf_client_add_filesystem(
|
|||||||
char const * local_path,
|
char const * local_path,
|
||||||
char const * name)
|
char const * name)
|
||||||
{
|
{
|
||||||
(void) client;
|
wf_impl_client_add_filesystem(client, local_path, name);
|
||||||
(void) local_path;
|
|
||||||
(void) name;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
87
lib/webfuse/adapter/impl/client.c
Normal file
87
lib/webfuse/adapter/impl/client.c
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
#include "webfuse/adapter/impl/client.h"
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
struct wf_client
|
||||||
|
{
|
||||||
|
wf_client_callback_fn * callback;
|
||||||
|
void * user_data;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct wf_client *
|
||||||
|
wf_impl_client_create(
|
||||||
|
wf_client_callback_fn * callback,
|
||||||
|
void * user_data)
|
||||||
|
{
|
||||||
|
struct wf_client * client = malloc(sizeof(struct wf_client));
|
||||||
|
client->callback = callback;
|
||||||
|
client->user_data = user_data;
|
||||||
|
|
||||||
|
client->callback(client, WF_CLIENT_CREATED, NULL);
|
||||||
|
|
||||||
|
return client;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
wf_impl_client_dispose(
|
||||||
|
struct wf_client * client)
|
||||||
|
{
|
||||||
|
client->callback(client, WF_CLIENT_DISPOSING, NULL);
|
||||||
|
free(client);
|
||||||
|
}
|
||||||
|
|
||||||
|
void *
|
||||||
|
wf_impl_client_get_userdata(
|
||||||
|
struct wf_client * client)
|
||||||
|
{
|
||||||
|
return client->user_data;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
wf_impl_client_service(
|
||||||
|
struct wf_client * client)
|
||||||
|
{
|
||||||
|
(void) client;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
wf_impl_client_interrupt(
|
||||||
|
struct wf_client * client)
|
||||||
|
{
|
||||||
|
(void) client;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
wf_impl_client_connect(
|
||||||
|
struct wf_client * client,
|
||||||
|
char const * url)
|
||||||
|
{
|
||||||
|
(void) url;
|
||||||
|
client->callback(client, WF_CLIENT_DISCONNECTED, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
wf_impl_client_disconnect(
|
||||||
|
struct wf_client * client)
|
||||||
|
{
|
||||||
|
(void) client;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
wf_impl_client_authenticate(
|
||||||
|
struct wf_client * client)
|
||||||
|
{
|
||||||
|
client->callback(client, WF_CLIENT_AUTHENTICATION_FAILED, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
wf_impl_client_add_filesystem(
|
||||||
|
struct wf_client * client,
|
||||||
|
char const * local_path,
|
||||||
|
char const * name)
|
||||||
|
{
|
||||||
|
(void) local_path;
|
||||||
|
(void) name;
|
||||||
|
|
||||||
|
client->callback(client, WF_CLIENT_FILESYSTEM_ADD_FAILED, NULL);
|
||||||
|
}
|
57
lib/webfuse/adapter/impl/client.h
Normal file
57
lib/webfuse/adapter/impl/client.h
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
#ifndef WF_ADAPTER_IMPL_CLIENT_H
|
||||||
|
#define WF_ADAPTER_IMPL_CLIENT_H
|
||||||
|
|
||||||
|
|
||||||
|
#include "webfuse/adapter/client_callback.h"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C"
|
||||||
|
{
|
||||||
|
#endif
|
||||||
|
|
||||||
|
extern struct wf_client *
|
||||||
|
wf_impl_client_create(
|
||||||
|
wf_client_callback_fn * callback,
|
||||||
|
void * user_data);
|
||||||
|
|
||||||
|
extern void
|
||||||
|
wf_impl_client_dispose(
|
||||||
|
struct wf_client * client);
|
||||||
|
|
||||||
|
extern void *
|
||||||
|
wf_impl_client_get_userdata(
|
||||||
|
struct wf_client * client);
|
||||||
|
|
||||||
|
extern void
|
||||||
|
wf_impl_client_service(
|
||||||
|
struct wf_client * client);
|
||||||
|
|
||||||
|
extern void
|
||||||
|
wf_impl_client_interrupt(
|
||||||
|
struct wf_client * client);
|
||||||
|
|
||||||
|
extern void
|
||||||
|
wf_impl_client_connect(
|
||||||
|
struct wf_client * client,
|
||||||
|
char const * url);
|
||||||
|
|
||||||
|
extern void
|
||||||
|
wf_impl_client_disconnect(
|
||||||
|
struct wf_client * client);
|
||||||
|
|
||||||
|
extern void
|
||||||
|
wf_impl_client_authenticate(
|
||||||
|
struct wf_client * client);
|
||||||
|
|
||||||
|
extern void
|
||||||
|
wf_impl_client_add_filesystem(
|
||||||
|
struct wf_client * client,
|
||||||
|
char const * local_path,
|
||||||
|
char const * name);
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
@ -132,6 +132,7 @@ webfuse_adapter_static = static_library('webfuse_adapter',
|
|||||||
'lib/webfuse/adapter/impl/operation/open.c',
|
'lib/webfuse/adapter/impl/operation/open.c',
|
||||||
'lib/webfuse/adapter/impl/operation/close.c',
|
'lib/webfuse/adapter/impl/operation/close.c',
|
||||||
'lib/webfuse/adapter/impl/operation/read.c',
|
'lib/webfuse/adapter/impl/operation/read.c',
|
||||||
|
'lib/webfuse/adapter/impl/client.c',
|
||||||
c_args: ['-fvisibility=hidden'],
|
c_args: ['-fvisibility=hidden'],
|
||||||
include_directories: private_inc_dir,
|
include_directories: private_inc_dir,
|
||||||
dependencies: [webfuse_core_dep, libfuse_dep])
|
dependencies: [webfuse_core_dep, libfuse_dep])
|
||||||
|
Loading…
Reference in New Issue
Block a user