summaryrefslogtreecommitdiff
path: root/netfs/ice/typeConverter.h
blob: b8d6fcda9a70a1b0f94f8cb267ac945c15c8cf2d (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
29
30
31
#ifndef NETFS_TYPECONVERT_H
#define NETFS_TYPECONVERT_H

#include <types.h>
#include <sys/stat.h>
#include <sys/statvfs.h>
#include <visibility.h>
#include "entryResolver.h"

class DLL_PUBLIC TypeConverter {
	public:
		// VFS
		struct statvfs convert(const NetFS::VFS &) const;
		NetFS::VFS convert(const struct statvfs &) const;
};

class DLL_PUBLIC EntryTypeConverter : public TypeConverter {
	public:
		EntryTypeConverter(const EntryResolver<uid_t> &, const EntryResolver<gid_t> &);

		// Attributes
		struct stat convert(const NetFS::Attr &) const;
		NetFS::Attr convert(const struct stat &) const;

	protected:
		const EntryResolver<uid_t> & userLookup;
		const EntryResolver<gid_t> & groupLookup;
};

#endif