xref: /haiku/src/add-ons/kernel/file_systems/nfs4/NFS4Object.h (revision f8da8f3477d3c18142e59d17d05a545982faa5a8)
1 /*
2  * Copyright 2012 Haiku, Inc. All rights reserved.
3  * Distributed under the terms of the MIT License.
4  *
5  * Authors:
6  *		Paweł Dziepak, pdziepak@quarnos.org
7  */
8 #ifndef NFS4OBJECT_H
9 #define NFS4OBJECT_H
10 
11 #include "FileInfo.h"
12 #include "NFS4Defs.h"
13 #include "RPCServer.h"
14 
15 
16 class OpenStateCookie;
17 class OpenState;
18 
19 class NFS4Object {
20 public:
21 			bool		HandleErrors(uint32& attempt, uint32 nfs4Error,
22 							RPC::Server* server, OpenStateCookie* cookie = NULL,
23 							OpenState* state = NULL, uint32* sequence = NULL);
24 
25 			status_t	ConfirmOpen(const FileHandle& fileHandle,
26 							OpenState* state, uint32* sequence);
27 
28 	static	uint32		IncrementSequence(uint32 error);
29 
30 	inline				NFS4Object();
31 
32 			FileInfo	fInfo;
33 			FileSystem*	fFileSystem;
34 };
35 
36 
37 inline
38 NFS4Object::NFS4Object()
39 	:
40 	fFileSystem(NULL)
41 {
42 }
43 
44 
45 #endif	// NFS4OBJECT_H
46 
47