summaryrefslogtreecommitdiff
path: root/libfusepp
diff options
context:
space:
mode:
Diffstat (limited to 'libfusepp')
-rw-r--r--libfusepp/fuseAppBase.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/libfusepp/fuseAppBase.h b/libfusepp/fuseAppBase.h
index a320d36..91ba22f 100644
--- a/libfusepp/fuseAppBase.h
+++ b/libfusepp/fuseAppBase.h
@@ -56,11 +56,13 @@ class FuseAppBase {
virtual int fallocate(const char *, int, off_t, off_t, struct fuse_file_info *);
virtual int onError(const std::exception & err) throw();
+ virtual int fuse_opt_parse(struct fuse_args *args, void *data, const struct fuse_opt opts[], fuse_opt_proc_t proc) = 0;
+
#define GetHelper(func) getHelper<&FuseAppBase::func>(typeid(&FuseAppBase::func) != typeid(&FuseApp::func))
template <typename FuseApp>
static int run(int & argc, char** & argv, FuseApp * fa)
{
- auto args = runint(argc, argv, fa);
+ auto args = fa->runint(argc, argv, fa);
struct fuse_operations operations = {
fuseCall<const char *, struct stat *>::GetHelper(getattr),
fuseCall<const char *, char *, size_t>::GetHelper(readlink),
@@ -122,7 +124,7 @@ class FuseAppBase {
return fuse_main(args.argc, args.argv, &operations, fa);
}
private:
- static struct fuse_args runint(int &, char ** &, FuseAppBase *);
+ struct fuse_args runint(int &, char ** &, FuseAppBase *);
static void * fuseInit(struct fuse_conn_info *conn);
static void fuseDestroy(void *);