summaryrefslogtreecommitdiff
path: root/mythfs/service/inodes/node.h
blob: 449785781daf7a594b87f44f6019939a31810bc7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#ifndef MYTHFS_NODE_H
#define MYTHFS_NODE_H

#include <map>
#include <string>
#include <IceUtil/Handle.h>
#include <Ice/Object.h>
#include <types.h>

namespace MythFS {
	class Node;

	typedef std::map<std::string, std::shared_ptr<Node>> Contents;

	class Node : public virtual Ice::Object {
		public:
			typedef std::shared_ptr<Node> PointerType;

			virtual NetFS::Attr getattr() const = 0;
			virtual std::string readlink() const;
			virtual PointerType getChild(const std::string &) const;
			virtual NetFS::NameList getContents() const;
	};
}

#endif