From 3bc041877aee8115c304ff07b48224bc47665779 Mon Sep 17 00:00:00 2001 From: Falk Werner Date: Sun, 24 Feb 2019 19:16:29 +0100 Subject: [PATCH] refactor: moved default implementation of operations to their modules --- CMakeLists.txt | 3 +- lib/wsfsp/client_protocol.c | 9 ++- lib/wsfsp/operation/close.c | 14 ++++ lib/wsfsp/operation/close_intern.h | 6 ++ lib/wsfsp/operation/getattr.c | 14 ++++ lib/wsfsp/operation/getattr_intern.h | 5 ++ lib/wsfsp/operation/lookup.c | 14 ++++ lib/wsfsp/operation/lookup_intern.h | 6 ++ lib/wsfsp/operation/open.c | 14 ++++ lib/wsfsp/operation/open_intern.h | 6 ++ lib/wsfsp/operation/read.c | 18 +++++ lib/wsfsp/operation/read_intern.h | 8 ++ lib/wsfsp/operation/readdir.c | 12 +++ lib/wsfsp/operation/readdir_intern.h | 5 ++ lib/wsfsp/provider.c | 24 ++++++ lib/wsfsp/provider_default.c | 105 --------------------------- lib/wsfsp/provider_default.h | 61 ---------------- lib/wsfsp/provider_intern.h | 9 +++ 18 files changed, 164 insertions(+), 169 deletions(-) delete mode 100644 lib/wsfsp/provider_default.c delete mode 100644 lib/wsfsp/provider_default.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 8157263..4686de9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -99,10 +99,9 @@ install(FILES "${PROJECT_BINARY_DIR}/libwsfs.pc" DESTINATION lib${LIB_SUFFIX}/pk #libwsfs-provider set(WSFS_PROVIDER_SOURCES + lib/wsfsp/url.c lib/wsfsp/client.c lib/wsfsp/client_protocol.c - lib/wsfsp/provider_default.c - lib/wsfsp/url.c lib/wsfsp/provider.c lib/wsfsp/operation/error.c lib/wsfsp/operation/lookup.c diff --git a/lib/wsfsp/client_protocol.c b/lib/wsfsp/client_protocol.c index c633015..999b5bc 100644 --- a/lib/wsfsp/client_protocol.c +++ b/lib/wsfsp/client_protocol.c @@ -6,8 +6,15 @@ #include #include -#include "wsfsp/provider_default.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" static void wsfsp_client_protocol_respond( diff --git a/lib/wsfsp/operation/close.c b/lib/wsfsp/operation/close.c index 126924a..0d90062 100644 --- a/lib/wsfsp/operation/close.c +++ b/lib/wsfsp/operation/close.c @@ -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 } \ No newline at end of file diff --git a/lib/wsfsp/operation/close_intern.h b/lib/wsfsp/operation/close_intern.h index c74d5f7..3ce8fe6 100644 --- a/lib/wsfsp/operation/close_intern.h +++ b/lib/wsfsp/operation/close_intern.h @@ -14,6 +14,12 @@ extern void wsfsp_close( json_t * params, int id); +extern void wsfsp_close_default( + ino_t inode, + uint32_t handle, + int flags, + void * user_data); + #ifdef __cplusplus } #endif diff --git a/lib/wsfsp/operation/getattr.c b/lib/wsfsp/operation/getattr.c index 12b0c38..4f204f4 100644 --- a/lib/wsfsp/operation/getattr.c +++ b/lib/wsfsp/operation/getattr.c @@ -1,6 +1,9 @@ #include "wsfsp/operation/getattr_intern.h" #include +#include "wsfsp/operation/error.h" + + void wsfsp_getattr( struct wsfsp_invokation_context * context, json_t * params, @@ -13,6 +16,17 @@ void wsfsp_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( struct wsfsp_request * request, struct stat const * stat) diff --git a/lib/wsfsp/operation/getattr_intern.h b/lib/wsfsp/operation/getattr_intern.h index 7c67dff..7d2a564 100644 --- a/lib/wsfsp/operation/getattr_intern.h +++ b/lib/wsfsp/operation/getattr_intern.h @@ -14,6 +14,11 @@ extern void wsfsp_getattr( json_t * params, int id); +extern void wsfsp_getattr_default( + struct wsfsp_request * request, + ino_t inode, + void * user_data); + #ifdef __cplusplus } #endif diff --git a/lib/wsfsp/operation/lookup.c b/lib/wsfsp/operation/lookup.c index efee473..29cf201 100644 --- a/lib/wsfsp/operation/lookup.c +++ b/lib/wsfsp/operation/lookup.c @@ -1,5 +1,6 @@ #include "wsfsp/operation/lookup_intern.h" #include +#include "wsfsp/operation/error.h" void wsfsp_lookup( 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); +} + diff --git a/lib/wsfsp/operation/lookup_intern.h b/lib/wsfsp/operation/lookup_intern.h index cc36cc3..bf0aa53 100644 --- a/lib/wsfsp/operation/lookup_intern.h +++ b/lib/wsfsp/operation/lookup_intern.h @@ -14,6 +14,12 @@ extern void wsfsp_lookup( json_t * params, int id); +extern void wsfsp_lookup_default( + struct wsfsp_request * request, + ino_t parent, + char const * name, + void * user_data); + #ifdef __cplusplus } #endif diff --git a/lib/wsfsp/operation/open.c b/lib/wsfsp/operation/open.c index 0d92523..15a35fa 100644 --- a/lib/wsfsp/operation/open.c +++ b/lib/wsfsp/operation/open.c @@ -1,5 +1,6 @@ #include "wsfsp/operation/open_intern.h" #include +#include "wsfsp/operation/error.h" void wsfsp_open( struct wsfsp_invokation_context * context, @@ -13,6 +14,19 @@ void wsfsp_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( struct wsfsp_request * request, uint32_t handle) diff --git a/lib/wsfsp/operation/open_intern.h b/lib/wsfsp/operation/open_intern.h index ac5a1d7..006a407 100644 --- a/lib/wsfsp/operation/open_intern.h +++ b/lib/wsfsp/operation/open_intern.h @@ -14,6 +14,12 @@ extern void wsfsp_open( json_t * params, int id); +extern void wsfsp_open_default( + struct wsfsp_request * request, + ino_t inode, + int flags, + void * user_data); + #ifdef __cplusplus } #endif diff --git a/lib/wsfsp/operation/read.c b/lib/wsfsp/operation/read.c index ac87f63..48cb78e 100644 --- a/lib/wsfsp/operation/read.c +++ b/lib/wsfsp/operation/read.c @@ -1,5 +1,6 @@ #include "wsfsp/operation/read_intern.h" #include +#include "wsfsp/operation/error.h" void wsfsp_read( struct wsfsp_invokation_context * context, @@ -13,6 +14,23 @@ void wsfsp_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( struct wsfsp_request * request, char const * data, diff --git a/lib/wsfsp/operation/read_intern.h b/lib/wsfsp/operation/read_intern.h index bc3a44f..2891e5d 100644 --- a/lib/wsfsp/operation/read_intern.h +++ b/lib/wsfsp/operation/read_intern.h @@ -14,6 +14,14 @@ extern void wsfsp_read( json_t * params, 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 } #endif diff --git a/lib/wsfsp/operation/readdir.c b/lib/wsfsp/operation/readdir.c index 226465c..212525b 100644 --- a/lib/wsfsp/operation/readdir.c +++ b/lib/wsfsp/operation/readdir.c @@ -1,5 +1,6 @@ #include "wsfsp/operation/readdir_intern.h" #include +#include "wsfsp/operation/error.h" void wsfsp_readdir( struct wsfsp_invokation_context * context, @@ -13,6 +14,17 @@ void wsfsp_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( struct wsfsp_request * request, struct wsfsp_dirbuffer * dirbuffer) diff --git a/lib/wsfsp/operation/readdir_intern.h b/lib/wsfsp/operation/readdir_intern.h index 09142f5..d04a8ed 100644 --- a/lib/wsfsp/operation/readdir_intern.h +++ b/lib/wsfsp/operation/readdir_intern.h @@ -14,6 +14,11 @@ extern void wsfsp_readdir( json_t * params, int id); +extern void wsfsp_readdir_default( + struct wsfsp_request * request, + ino_t directory, + void * user_data); + #ifdef __cplusplus } #endif diff --git a/lib/wsfsp/provider.c b/lib/wsfsp/provider.c index e1c42bc..fd2412d 100644 --- a/lib/wsfsp/provider.c +++ b/lib/wsfsp/provider.c @@ -71,4 +71,28 @@ void wsfsp_provider_invoke( 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 } \ No newline at end of file diff --git a/lib/wsfsp/provider_default.c b/lib/wsfsp/provider_default.c deleted file mode 100644 index 6bfe1d6..0000000 --- a/lib/wsfsp/provider_default.c +++ /dev/null @@ -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 -} diff --git a/lib/wsfsp/provider_default.h b/lib/wsfsp/provider_default.h deleted file mode 100644 index 32106c6..0000000 --- a/lib/wsfsp/provider_default.h +++ /dev/null @@ -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 diff --git a/lib/wsfsp/provider_intern.h b/lib/wsfsp/provider_intern.h index f3a7b26..b48d857 100644 --- a/lib/wsfsp/provider_intern.h +++ b/lib/wsfsp/provider_intern.h @@ -20,6 +20,15 @@ extern void wsfsp_provider_invoke( struct wsfsp_invokation_context * context, 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 } #endif