diff options
Diffstat (limited to 'libfusepp')
| -rw-r--r-- | libfusepp/fuseAppBase.h | 6 | 
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 *);  | 
