diff options
Diffstat (limited to 'netfs/fuse/fuseApp.h')
-rw-r--r-- | netfs/fuse/fuseApp.h | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/netfs/fuse/fuseApp.h b/netfs/fuse/fuseApp.h index df342b6..5b5a8fa 100644 --- a/netfs/fuse/fuseApp.h +++ b/netfs/fuse/fuseApp.h @@ -16,7 +16,7 @@ #include <boost/icl/interval_map.hpp> namespace NetFS { - class DLL_PUBLIC FuseApp : public FuseAppBase { + class DLL_PUBLIC FuseApp : public FuseAppBaseT<FuseApp> { private: class OpenDir { public: @@ -49,15 +49,12 @@ namespace NetFS { typedef std::map<int, OpenFilePtr> OpenFiles; public: - FuseApp(Ice::StringSeq); + FuseApp(Ice::StringSeq &&); ~FuseApp(); - private: - void * init (struct fuse_conn_info * info) override; - int opt_parse(void *, const char * arg, int key, struct fuse_args *) override; - + protected: void connectSession(); - void connectToService(); + virtual void connectToService(); void connectToVolume(); void connectHandles(); void verifyConnection(); @@ -100,13 +97,10 @@ namespace NetFS { virtual struct fuse_context * fuse_get_context() = 0; protected: - typedef std::function<Client::ResourcePtr()> Configurator; - Configurator configurator; - virtual NetFS::Client::ConfigurationPtr ReadConfiguration(const std::filesystem::path &) const; - virtual NetFS::Client::ResourcePtr configureFromFile(const std::string &, const std::string &) const; - virtual NetFS::Client::ResourcePtr configureFromUri(const std::string &) const; + NetFS::Client::ResourcePtr configureFromFile(const std::filesystem::path &, const std::string &) const; + NetFS::Client::ResourcePtr configureFromUri(const std::string &) const; - private: + protected: template<typename Handle, typename ... Params> void setProxy(uint64_t & fh, const Params & ...); template<typename Handle> @@ -121,7 +115,6 @@ namespace NetFS { ReqEnv reqEnv(); - Ice::StringSeq iceArgs; Ice::CommunicatorPtr ic; Client::ResourcePtr fcr; mutable std::shared_mutex _proxymaplock; |