xref: /haiku/src/apps/haikudepot/server/AbstractSingleFileServerProcess.h (revision 02354704729d38c3b078c696adc1bbbd33cbcf72)
1 /*
2  * Copyright 2017-2018, Andrew Lindesay <apl@lindesay.co.nz>.
3  * All rights reserved. Distributed under the terms of the MIT License.
4  */
5 
6 
7 #ifndef ABSTRACT_SINGLE_FILE_SERVER_PROCESS_H
8 #define ABSTRACT_SINGLE_FILE_SERVER_PROCESS_H
9 
10 
11 #include "AbstractServerProcess.h"
12 
13 
14 class AbstractSingleFileServerProcess : public AbstractServerProcess {
15 public:
16 								AbstractSingleFileServerProcess(uint32 options);
17 	virtual						~AbstractSingleFileServerProcess();
18 
19 protected:
20 	virtual status_t			RunInternal();
21 
22 	virtual status_t			ProcessLocalData() = 0;
23 
24 	virtual	BString				UrlPathComponent() = 0;
25 
26 	virtual	status_t			GetLocalPath(BPath& path) const = 0;
27 
28 	virtual	status_t			GetStandardMetaDataPath(BPath& path) const;
29 };
30 
31 #endif // ABSTRACT_SINGLE_FILE_SERVER_PROCESS_H