summaryrefslogtreecommitdiff
path: root/libfusepp/fuseAppBase.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libfusepp/fuseAppBase.cpp')
-rw-r--r--libfusepp/fuseAppBase.cpp214
1 files changed, 214 insertions, 0 deletions
diff --git a/libfusepp/fuseAppBase.cpp b/libfusepp/fuseAppBase.cpp
new file mode 100644
index 0000000..a1ea491
--- /dev/null
+++ b/libfusepp/fuseAppBase.cpp
@@ -0,0 +1,214 @@
+#include "fuseAppBase.h"
+#include <errno.h>
+#include <assert.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <typeinfo>
+
+FuseAppBase * FuseAppBase::fuseApp;
+
+FuseAppBase::FuseAppBase()
+{
+}
+FuseAppBase::~FuseAppBase()
+{
+}
+void * FuseAppBase::init(fuse_conn_info*)
+{
+ return NULL;
+}
+int FuseAppBase::opt_parse(void*, const char *, int, fuse_args*)
+{
+ return 1;
+}
+int FuseAppBase::access(const char *, int)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::chmod(const char *, mode_t)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::chown(const char *, uid_t, gid_t)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::create(const char *, mode_t, struct fuse_file_info *)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::fgetattr(const char *, struct stat *, struct fuse_file_info *)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::flush(const char *, struct fuse_file_info *)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::fsync(const char *, int, struct fuse_file_info *)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::fsyncdir(const char *, int, struct fuse_file_info *)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::ftruncate(const char *, off_t, struct fuse_file_info *)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::getattr(const char *, struct stat *)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::getxattr(const char *, const char *, char *, size_t)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::link(const char *, const char *)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::listxattr(const char *, char *, size_t)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::mkdir(const char *, mode_t)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::mknod(const char *, mode_t, dev_t)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::open(const char *, struct fuse_file_info *)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::opendir(const char *, struct fuse_file_info *)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::read(const char *, char *, size_t, off_t, struct fuse_file_info *)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::readdir(const char *, void *, fuse_fill_dir_t, off_t, struct fuse_file_info *)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::readlink(const char *, char *, size_t)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::release(const char *, struct fuse_file_info *)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::releasedir(const char *, struct fuse_file_info *)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::removexattr(const char *, const char *)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::rename(const char *, const char *)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::rmdir(const char *)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::setxattr(const char *, const char *, const char *, size_t, int)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::statfs(const char *, struct statvfs *)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::symlink(const char *, const char *)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::truncate(const char *, off_t)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::unlink(const char *)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::write(const char *, const char *, size_t, off_t, struct fuse_file_info *)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::lock(const char *, struct fuse_file_info *, int, struct flock *)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::utimens(const char *, const struct timespec[2])
+{
+ return -ENOSYS;
+}
+int FuseAppBase::bmap(const char *, size_t, uint64_t *)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::ioctl(const char *, int, void *, struct fuse_file_info *, unsigned int, void *)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::poll(const char *, struct fuse_file_info *, struct fuse_pollhandle *, unsigned *)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::write_buf(const char *, struct fuse_bufvec *, off_t, struct fuse_file_info *)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::read_buf(const char *, struct fuse_bufvec **, size_t, off_t, struct fuse_file_info *)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::flock(const char *, struct fuse_file_info *, int)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::fallocate(const char *, int, off_t, off_t, struct fuse_file_info *)
+{
+ return -ENOSYS;
+}
+int FuseAppBase::onError(const std::exception & e) throw()
+{
+ fprintf(stderr, "Unknown exception (what: %s)\n", e.what());
+ return -ENOSYS;
+}
+
+void * FuseAppBase::fuseInit (struct fuse_conn_info *conn)
+{
+ return fuseApp->init(conn);
+}
+void FuseAppBase::fuseDestroy(void *)
+{
+ delete fuseApp;
+}
+
+struct fuse_args
+FuseAppBase::runint(int & argc, char** & argv)
+{
+ struct fuse_opt fuse_opts[] = {
+ { NULL, 0, 0 }
+ };
+ fuseApp = this;
+ struct fuse_args args = FUSE_ARGS_INIT(argc, argv);
+ if (fuse_opt_parse(&args, fuseApp, fuse_opts,
+ fuseCall<void *, const char *, int, struct fuse_args *>::helper<&FuseAppBase::opt_parse>) == -1) {
+ exit(1);
+ }
+ return args;
+}
+