xref: /haiku/src/add-ons/kernel/file_systems/netfs/headers/shared/RequestHandler.h (revision 5a1d355fdf2747f80f8c46e2539f844a0b813346)
1 // RequestHandler.h
2 
3 #ifndef NET_FS_REQUEST_HANDLER_H
4 #define NET_FS_REQUEST_HANDLER_H
5 
6 #include "Requests.h"
7 #include "ThreadLocal.h"
8 
9 class RequestChannel;
10 
11 class RequestHandler : protected RequestVisitor {
12 public:
13 								RequestHandler();
14 	virtual						~RequestHandler();
15 
16 	virtual	status_t			HandleRequest(Request* request,
17 									RequestChannel* channel);
18 
19 protected:
20 	virtual	status_t			VisitAny(Request* request);
21 
22 			RequestChannel*		GetChannel() const;
23 
24 private:
25 			ThreadLocal			fChannels;
26 };
27 
28 #endif	// NET_FS_REQUEST_HANDLER_H
29