mirror of
https://github.com/falk-werner/webfuse-provider
synced 2024-10-27 20:44:10 +00:00
refactor: moved default implementation of operations to their modules
This commit is contained in:
parent
bc0dc2889d
commit
3bc041877a
@ -99,10 +99,9 @@ install(FILES "${PROJECT_BINARY_DIR}/libwsfs.pc" DESTINATION lib${LIB_SUFFIX}/pk
|
|||||||
#libwsfs-provider
|
#libwsfs-provider
|
||||||
|
|
||||||
set(WSFS_PROVIDER_SOURCES
|
set(WSFS_PROVIDER_SOURCES
|
||||||
|
lib/wsfsp/url.c
|
||||||
lib/wsfsp/client.c
|
lib/wsfsp/client.c
|
||||||
lib/wsfsp/client_protocol.c
|
lib/wsfsp/client_protocol.c
|
||||||
lib/wsfsp/provider_default.c
|
|
||||||
lib/wsfsp/url.c
|
|
||||||
lib/wsfsp/provider.c
|
lib/wsfsp/provider.c
|
||||||
lib/wsfsp/operation/error.c
|
lib/wsfsp/operation/error.c
|
||||||
lib/wsfsp/operation/lookup.c
|
lib/wsfsp/operation/lookup.c
|
||||||
|
@ -6,8 +6,15 @@
|
|||||||
#include <libwebsockets.h>
|
#include <libwebsockets.h>
|
||||||
#include <jansson.h>
|
#include <jansson.h>
|
||||||
|
|
||||||
#include "wsfsp/provider_default.h"
|
|
||||||
#include "wsfsp/provider_intern.h"
|
#include "wsfsp/provider_intern.h"
|
||||||
|
#include "wsfsp/operation/lookup_intern.h"
|
||||||
|
#include "wsfsp/operation/getattr_intern.h"
|
||||||
|
#include "wsfsp/operation/readdir_intern.h"
|
||||||
|
#include "wsfsp/operation/open_intern.h"
|
||||||
|
#include "wsfsp/operation/close_intern.h"
|
||||||
|
#include "wsfsp/operation/read_intern.h"
|
||||||
|
|
||||||
#include "wsfs/util.h"
|
#include "wsfs/util.h"
|
||||||
|
|
||||||
static void wsfsp_client_protocol_respond(
|
static void wsfsp_client_protocol_respond(
|
||||||
|
@ -26,4 +26,18 @@ void wsfsp_close(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void wsfsp_close_default(
|
||||||
|
ino_t inode,
|
||||||
|
uint32_t handle,
|
||||||
|
int flags,
|
||||||
|
void * user_data)
|
||||||
|
{
|
||||||
|
(void) inode;
|
||||||
|
(void) handle;
|
||||||
|
(void) flags;
|
||||||
|
(void) user_data;
|
||||||
|
|
||||||
|
// empty
|
||||||
}
|
}
|
@ -14,6 +14,12 @@ extern void wsfsp_close(
|
|||||||
json_t * params,
|
json_t * params,
|
||||||
int id);
|
int id);
|
||||||
|
|
||||||
|
extern void wsfsp_close_default(
|
||||||
|
ino_t inode,
|
||||||
|
uint32_t handle,
|
||||||
|
int flags,
|
||||||
|
void * user_data);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
#include "wsfsp/operation/getattr_intern.h"
|
#include "wsfsp/operation/getattr_intern.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
#include "wsfsp/operation/error.h"
|
||||||
|
|
||||||
|
|
||||||
void wsfsp_getattr(
|
void wsfsp_getattr(
|
||||||
struct wsfsp_invokation_context * context,
|
struct wsfsp_invokation_context * context,
|
||||||
json_t * params,
|
json_t * params,
|
||||||
@ -13,6 +16,17 @@ void wsfsp_getattr(
|
|||||||
puts("getattr");
|
puts("getattr");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wsfsp_getattr_default(
|
||||||
|
struct wsfsp_request * request,
|
||||||
|
ino_t inode,
|
||||||
|
void * user_data)
|
||||||
|
{
|
||||||
|
(void) inode;
|
||||||
|
(void) user_data;
|
||||||
|
|
||||||
|
wsfsp_respond_error(request, -1);
|
||||||
|
}
|
||||||
|
|
||||||
void wsfsp_respond_getattr(
|
void wsfsp_respond_getattr(
|
||||||
struct wsfsp_request * request,
|
struct wsfsp_request * request,
|
||||||
struct stat const * stat)
|
struct stat const * stat)
|
||||||
|
@ -14,6 +14,11 @@ extern void wsfsp_getattr(
|
|||||||
json_t * params,
|
json_t * params,
|
||||||
int id);
|
int id);
|
||||||
|
|
||||||
|
extern void wsfsp_getattr_default(
|
||||||
|
struct wsfsp_request * request,
|
||||||
|
ino_t inode,
|
||||||
|
void * user_data);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#include "wsfsp/operation/lookup_intern.h"
|
#include "wsfsp/operation/lookup_intern.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include "wsfsp/operation/error.h"
|
||||||
|
|
||||||
void wsfsp_lookup(
|
void wsfsp_lookup(
|
||||||
struct wsfsp_invokation_context * context,
|
struct wsfsp_invokation_context * context,
|
||||||
@ -22,3 +23,16 @@ void wsfsp_respond_lookup(
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wsfsp_lookup_default(
|
||||||
|
struct wsfsp_request * request,
|
||||||
|
ino_t parent,
|
||||||
|
char const * name,
|
||||||
|
void * user_data)
|
||||||
|
{
|
||||||
|
(void) parent;
|
||||||
|
(void) name;
|
||||||
|
(void) user_data;
|
||||||
|
|
||||||
|
wsfsp_respond_error(request, -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -14,6 +14,12 @@ extern void wsfsp_lookup(
|
|||||||
json_t * params,
|
json_t * params,
|
||||||
int id);
|
int id);
|
||||||
|
|
||||||
|
extern void wsfsp_lookup_default(
|
||||||
|
struct wsfsp_request * request,
|
||||||
|
ino_t parent,
|
||||||
|
char const * name,
|
||||||
|
void * user_data);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#include "wsfsp/operation/open_intern.h"
|
#include "wsfsp/operation/open_intern.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include "wsfsp/operation/error.h"
|
||||||
|
|
||||||
void wsfsp_open(
|
void wsfsp_open(
|
||||||
struct wsfsp_invokation_context * context,
|
struct wsfsp_invokation_context * context,
|
||||||
@ -13,6 +14,19 @@ void wsfsp_open(
|
|||||||
puts("open");
|
puts("open");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wsfsp_open_default(
|
||||||
|
struct wsfsp_request * request,
|
||||||
|
ino_t inode,
|
||||||
|
int flags,
|
||||||
|
void * user_data)
|
||||||
|
{
|
||||||
|
(void) inode;
|
||||||
|
(void) flags;
|
||||||
|
(void) user_data;
|
||||||
|
|
||||||
|
wsfsp_respond_error(request, -1);
|
||||||
|
}
|
||||||
|
|
||||||
void wsfsp_respond_open(
|
void wsfsp_respond_open(
|
||||||
struct wsfsp_request * request,
|
struct wsfsp_request * request,
|
||||||
uint32_t handle)
|
uint32_t handle)
|
||||||
|
@ -14,6 +14,12 @@ extern void wsfsp_open(
|
|||||||
json_t * params,
|
json_t * params,
|
||||||
int id);
|
int id);
|
||||||
|
|
||||||
|
extern void wsfsp_open_default(
|
||||||
|
struct wsfsp_request * request,
|
||||||
|
ino_t inode,
|
||||||
|
int flags,
|
||||||
|
void * user_data);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#include "wsfsp/operation/read_intern.h"
|
#include "wsfsp/operation/read_intern.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include "wsfsp/operation/error.h"
|
||||||
|
|
||||||
void wsfsp_read(
|
void wsfsp_read(
|
||||||
struct wsfsp_invokation_context * context,
|
struct wsfsp_invokation_context * context,
|
||||||
@ -13,6 +14,23 @@ void wsfsp_read(
|
|||||||
puts("read");
|
puts("read");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wsfsp_read_default(
|
||||||
|
struct wsfsp_request * request,
|
||||||
|
ino_t inode,
|
||||||
|
uint32_t handle,
|
||||||
|
size_t offset,
|
||||||
|
size_t length,
|
||||||
|
void * user_data)
|
||||||
|
{
|
||||||
|
(void) inode;
|
||||||
|
(void) handle;
|
||||||
|
(void) offset;
|
||||||
|
(void) length;
|
||||||
|
(void) user_data;
|
||||||
|
|
||||||
|
wsfsp_respond_error(request, -1);
|
||||||
|
}
|
||||||
|
|
||||||
void wsfsp_respond_read(
|
void wsfsp_respond_read(
|
||||||
struct wsfsp_request * request,
|
struct wsfsp_request * request,
|
||||||
char const * data,
|
char const * data,
|
||||||
|
@ -14,6 +14,14 @@ extern void wsfsp_read(
|
|||||||
json_t * params,
|
json_t * params,
|
||||||
int id);
|
int id);
|
||||||
|
|
||||||
|
extern void wsfsp_read_default(
|
||||||
|
struct wsfsp_request * request,
|
||||||
|
ino_t inode,
|
||||||
|
uint32_t handle,
|
||||||
|
size_t offset,
|
||||||
|
size_t length,
|
||||||
|
void * user_data);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#include "wsfsp/operation/readdir_intern.h"
|
#include "wsfsp/operation/readdir_intern.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include "wsfsp/operation/error.h"
|
||||||
|
|
||||||
void wsfsp_readdir(
|
void wsfsp_readdir(
|
||||||
struct wsfsp_invokation_context * context,
|
struct wsfsp_invokation_context * context,
|
||||||
@ -13,6 +14,17 @@ void wsfsp_readdir(
|
|||||||
puts("readdir");
|
puts("readdir");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wsfsp_readdir_default(
|
||||||
|
struct wsfsp_request * request,
|
||||||
|
ino_t directory,
|
||||||
|
void * user_data)
|
||||||
|
{
|
||||||
|
(void) directory;
|
||||||
|
(void) user_data;
|
||||||
|
|
||||||
|
wsfsp_respond_error(request, -1);
|
||||||
|
}
|
||||||
|
|
||||||
void wsfsp_respond_readdir(
|
void wsfsp_respond_readdir(
|
||||||
struct wsfsp_request * request,
|
struct wsfsp_request * request,
|
||||||
struct wsfsp_dirbuffer * dirbuffer)
|
struct wsfsp_dirbuffer * dirbuffer)
|
||||||
|
@ -14,6 +14,11 @@ extern void wsfsp_readdir(
|
|||||||
json_t * params,
|
json_t * params,
|
||||||
int id);
|
int id);
|
||||||
|
|
||||||
|
extern void wsfsp_readdir_default(
|
||||||
|
struct wsfsp_request * request,
|
||||||
|
ino_t directory,
|
||||||
|
void * user_data);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -71,4 +71,28 @@ void wsfsp_provider_invoke(
|
|||||||
|
|
||||||
wsfsp_provider_invoke_method(context, method, params, id);
|
wsfsp_provider_invoke_method(context, method, params, id);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void wsfsp_connected_default(
|
||||||
|
void * user_data)
|
||||||
|
{
|
||||||
|
(void) user_data;
|
||||||
|
|
||||||
|
// empty
|
||||||
|
}
|
||||||
|
|
||||||
|
void wsfsp_disconnected_default(
|
||||||
|
void * user_data)
|
||||||
|
{
|
||||||
|
(void) user_data;
|
||||||
|
|
||||||
|
// empty
|
||||||
|
}
|
||||||
|
|
||||||
|
void wsfsp_ontimer_default(
|
||||||
|
void * user_data)
|
||||||
|
{
|
||||||
|
(void) user_data;
|
||||||
|
|
||||||
|
// empty
|
||||||
}
|
}
|
@ -1,105 +0,0 @@
|
|||||||
#include "wsfsp/provider_default.h"
|
|
||||||
#include "wsfsp/operation/error.h"
|
|
||||||
|
|
||||||
void wsfsp_lookup_default(
|
|
||||||
struct wsfsp_request * request,
|
|
||||||
ino_t parent,
|
|
||||||
char const * name,
|
|
||||||
void * user_data)
|
|
||||||
{
|
|
||||||
(void) parent;
|
|
||||||
(void) name;
|
|
||||||
(void) user_data;
|
|
||||||
|
|
||||||
wsfsp_respond_error(request, -1);
|
|
||||||
}
|
|
||||||
|
|
||||||
void wsfsp_getattr_default(
|
|
||||||
struct wsfsp_request * request,
|
|
||||||
ino_t inode,
|
|
||||||
void * user_data)
|
|
||||||
{
|
|
||||||
(void) inode;
|
|
||||||
(void) user_data;
|
|
||||||
|
|
||||||
wsfsp_respond_error(request, -1);
|
|
||||||
}
|
|
||||||
|
|
||||||
void wsfsp_readdir_default(
|
|
||||||
struct wsfsp_request * request,
|
|
||||||
ino_t directory,
|
|
||||||
void * user_data)
|
|
||||||
{
|
|
||||||
(void) directory;
|
|
||||||
(void) user_data;
|
|
||||||
|
|
||||||
wsfsp_respond_error(request, -1);
|
|
||||||
}
|
|
||||||
|
|
||||||
void wsfsp_open_default(
|
|
||||||
struct wsfsp_request * request,
|
|
||||||
ino_t inode,
|
|
||||||
int flags,
|
|
||||||
void * user_data)
|
|
||||||
{
|
|
||||||
(void) inode;
|
|
||||||
(void) flags;
|
|
||||||
(void) user_data;
|
|
||||||
|
|
||||||
wsfsp_respond_error(request, -1);
|
|
||||||
}
|
|
||||||
|
|
||||||
void wsfsp_close_default(
|
|
||||||
ino_t inode,
|
|
||||||
uint32_t handle,
|
|
||||||
int flags,
|
|
||||||
void * user_data)
|
|
||||||
{
|
|
||||||
(void) inode;
|
|
||||||
(void) handle;
|
|
||||||
(void) flags;
|
|
||||||
(void) user_data;
|
|
||||||
|
|
||||||
// empty
|
|
||||||
}
|
|
||||||
|
|
||||||
void wsfsp_read_default(
|
|
||||||
struct wsfsp_request * request,
|
|
||||||
ino_t inode,
|
|
||||||
uint32_t handle,
|
|
||||||
size_t offset,
|
|
||||||
size_t length,
|
|
||||||
void * user_data)
|
|
||||||
{
|
|
||||||
(void) inode;
|
|
||||||
(void) handle;
|
|
||||||
(void) offset;
|
|
||||||
(void) length;
|
|
||||||
(void) user_data;
|
|
||||||
|
|
||||||
wsfsp_respond_error(request, -1);
|
|
||||||
}
|
|
||||||
|
|
||||||
void wsfsp_connected_default(
|
|
||||||
void * user_data)
|
|
||||||
{
|
|
||||||
(void) user_data;
|
|
||||||
|
|
||||||
// empty
|
|
||||||
}
|
|
||||||
|
|
||||||
void wsfsp_disconnected_default(
|
|
||||||
void * user_data)
|
|
||||||
{
|
|
||||||
(void) user_data;
|
|
||||||
|
|
||||||
// empty
|
|
||||||
}
|
|
||||||
|
|
||||||
void wsfsp_ontimer_default(
|
|
||||||
void * user_data)
|
|
||||||
{
|
|
||||||
(void) user_data;
|
|
||||||
|
|
||||||
// empty
|
|
||||||
}
|
|
@ -1,61 +0,0 @@
|
|||||||
#ifndef WSFSP_PROVIDER_DEFAULT_H
|
|
||||||
#define WSFSP_PROVIDER_DEFAULT_H
|
|
||||||
|
|
||||||
#include "wsfsp/provider.h"
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C"
|
|
||||||
{
|
|
||||||
#endif
|
|
||||||
|
|
||||||
extern void wsfsp_lookup_default(
|
|
||||||
struct wsfsp_request * request,
|
|
||||||
ino_t parent,
|
|
||||||
char const * name,
|
|
||||||
void * user_data);
|
|
||||||
|
|
||||||
extern void wsfsp_getattr_default(
|
|
||||||
struct wsfsp_request * request,
|
|
||||||
ino_t inode,
|
|
||||||
void * user_data);
|
|
||||||
|
|
||||||
extern void wsfsp_readdir_default(
|
|
||||||
struct wsfsp_request * request,
|
|
||||||
ino_t directory,
|
|
||||||
void * user_data);
|
|
||||||
|
|
||||||
extern void wsfsp_open_default(
|
|
||||||
struct wsfsp_request * request,
|
|
||||||
ino_t inode,
|
|
||||||
int flags,
|
|
||||||
void * user_data);
|
|
||||||
|
|
||||||
extern void wsfsp_close_default(
|
|
||||||
ino_t inode,
|
|
||||||
uint32_t handle,
|
|
||||||
int flags,
|
|
||||||
void * user_data);
|
|
||||||
|
|
||||||
extern void wsfsp_read_default(
|
|
||||||
struct wsfsp_request * request,
|
|
||||||
ino_t inode,
|
|
||||||
uint32_t handle,
|
|
||||||
size_t offset,
|
|
||||||
size_t length,
|
|
||||||
void * user_data);
|
|
||||||
|
|
||||||
extern void wsfsp_connected_default(
|
|
||||||
void * user_data);
|
|
||||||
|
|
||||||
extern void wsfsp_disconnected_default(
|
|
||||||
void * user_data);
|
|
||||||
|
|
||||||
extern void wsfsp_ontimer_default(
|
|
||||||
void * user_data);
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
@ -20,6 +20,15 @@ extern void wsfsp_provider_invoke(
|
|||||||
struct wsfsp_invokation_context * context,
|
struct wsfsp_invokation_context * context,
|
||||||
json_t * request);
|
json_t * request);
|
||||||
|
|
||||||
|
extern void wsfsp_connected_default(
|
||||||
|
void * user_data);
|
||||||
|
|
||||||
|
extern void wsfsp_disconnected_default(
|
||||||
|
void * user_data);
|
||||||
|
|
||||||
|
extern void wsfsp_ontimer_default(
|
||||||
|
void * user_data);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user