summaryrefslogtreecommitdiff
path: root/netfs/fuse/fuseConfig.h
diff options
context:
space:
mode:
Diffstat (limited to 'netfs/fuse/fuseConfig.h')
-rw-r--r--netfs/fuse/fuseConfig.h34
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
+
+