xref: /haiku/src/apps/haikudepot/server/ServerRepositoryDataUpdateProcess.h (revision 21258e2674226d6aa732321b6f8494841895af5f)
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 #ifndef REPOSITORY_DATA_UPDATE_PROCESS_H
6 #define REPOSITORY_DATA_UPDATE_PROCESS_H
7 
8 
9 #include "AbstractSingleFileServerProcess.h"
10 
11 #include <File.h>
12 #include <Path.h>
13 #include <String.h>
14 #include <Url.h>
15 
16 #include "Model.h"
17 #include "PackageInfo.h"
18 
19 
20 #undef B_TRANSLATION_CONTEXT
21 #define B_TRANSLATION_CONTEXT "ServerRepositoryDataUpdateProcess"
22 
23 
24 class ServerRepositoryDataUpdateProcess : public AbstractSingleFileServerProcess {
25 public:
26 
27 								ServerRepositoryDataUpdateProcess(
28 									Model* model, uint32 serverProcessOptions);
29 	virtual						~ServerRepositoryDataUpdateProcess();
30 
31 			const char*			Name() const;
32 			const char*			Description() const;
33 
34 protected:
35 			status_t			GetStandardMetaDataPath(BPath& path) const;
36 			void				GetStandardMetaDataJsonPath(
37 									BString& jsonPath) const;
38 
39 			BString				UrlPathComponent();
40 			status_t			ProcessLocalData();
41 			status_t			GetLocalPath(BPath& path) const;
42 
43 private:
44 			Model*				fModel;
45 
46 };
47 
48 #endif // REPOSITORY_DATA_UPDATE_PROCESS_H
49