summaryrefslogtreecommitdiff
path: root/netfs/daemon/daemonFile.h
blob: 9f170e453c637f96ce9fdd2be9b2531bcb2364c9 (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
28
#ifndef DAEMONFILE_H
#define DAEMONFILE_H

#include <file.h>
#include "entCache.h"

class FileServer : public NetFS::File {
	public:
		FileServer(int fd);
		virtual ~FileServer();

		virtual void close(const Ice::Current&) override;
		virtual void ftruncate(const NetFS::ReqEnv &, Ice::Long size, const Ice::Current&) override;
		virtual NetFS::Attr fgetattr(const NetFS::ReqEnv &, const Ice::Current&) override;

		virtual NetFS::Buffer read(Ice::Long offset, Ice::Long size, const Ice::Current&) override;
		virtual void write(Ice::Long offset, Ice::Long size, const NetFS::Buffer & data, const Ice::Current&) override;

	private:
		const int fd;

		UserEntCache uentries;
		GroupEntCache gentries;
};

#endif