diff options
Diffstat (limited to 'netfs/fuse/fuseConfig.h')
-rw-r--r-- | netfs/fuse/fuseConfig.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/netfs/fuse/fuseConfig.h b/netfs/fuse/fuseConfig.h new file mode 100644 index 0000000..f33c8f7 --- /dev/null +++ b/netfs/fuse/fuseConfig.h @@ -0,0 +1,34 @@ +#ifndef FUSECONFIG_H +#define FUSECONFIG_H + +#include <string> +#include <map> +#include <set> +#include <intrusivePtrBase.h> +#include <boost/intrusive_ptr.hpp> +#include "xml.h" + +class FuseConfig : public virtual IntrusivePtrBase { + public: + class Export; + typedef boost::intrusive_ptr<Export> ExportPtr; + typedef std::map<std::string, ExportPtr> ExportMap; + class Export : public virtual IntrusivePtrBase { + public: + typedef std::set<std::string> Endpoints; + Export(xmlNodePtr); + + std::string name; + Endpoints endpoints; + }; + + FuseConfig(xmlNodePtr); + static boost::intrusive_ptr<FuseConfig> Load(const std::string & path); + + ExportMap exports; +}; +typedef boost::intrusive_ptr<FuseConfig> FuseConfigPtr; + +#endif + + |