xref: /haiku/src/add-ons/kernel/file_systems/netfs/headers/shared/AttrDirInfo.h (revision 5a1d355fdf2747f80f8c46e2539f844a0b813346)
1*5a1d355fSStephan Aßmus // AttrDirInfo.h
2*5a1d355fSStephan Aßmus 
3*5a1d355fSStephan Aßmus #ifndef NET_FS_ATTR_DIR_INFO_H
4*5a1d355fSStephan Aßmus #define NET_FS_ATTR_DIR_INFO_H
5*5a1d355fSStephan Aßmus 
6*5a1d355fSStephan Aßmus #include <fs_attr.h>
7*5a1d355fSStephan Aßmus 
8*5a1d355fSStephan Aßmus #include "RequestMemberArray.h"
9*5a1d355fSStephan Aßmus 
10*5a1d355fSStephan Aßmus // AttributeInfo
11*5a1d355fSStephan Aßmus struct AttributeInfo : public RequestMember {
12*5a1d355fSStephan Aßmus 	virtual	void				ShowAround(RequestMemberVisitor* visitor);
13*5a1d355fSStephan Aßmus 
14*5a1d355fSStephan Aßmus 	StringData			name;
15*5a1d355fSStephan Aßmus 	struct attr_info	info;
16*5a1d355fSStephan Aßmus 	Data				data;
17*5a1d355fSStephan Aßmus };
18*5a1d355fSStephan Aßmus 
19*5a1d355fSStephan Aßmus // AttrDirInfo
20*5a1d355fSStephan Aßmus struct AttrDirInfo : public FlattenableRequestMember {
21*5a1d355fSStephan Aßmus 								AttrDirInfo();
22*5a1d355fSStephan Aßmus 
23*5a1d355fSStephan Aßmus 	virtual	void				ShowAround(RequestMemberVisitor* visitor);
24*5a1d355fSStephan Aßmus 	virtual	status_t			Flatten(RequestFlattener* flattener);
25*5a1d355fSStephan Aßmus 	virtual	status_t			Unflatten(RequestUnflattener* unflattener);
26*5a1d355fSStephan Aßmus 
27*5a1d355fSStephan Aßmus 	RequestMemberArray<AttributeInfo> attributeInfos;
28*5a1d355fSStephan Aßmus 	int64						revision;
29*5a1d355fSStephan Aßmus 	bool						isValid;
30*5a1d355fSStephan Aßmus };
31*5a1d355fSStephan Aßmus 
32*5a1d355fSStephan Aßmus #endif	// NET_FS_ATTR_DIR_INFO_H
33