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 virtual BString LogReport(); 20 21 protected: 22 virtual status_t RunInternal(); 23 24 virtual status_t ProcessLocalData() = 0; 25 26 virtual BString UrlPathComponent() = 0; 27 28 virtual status_t GetLocalPath(BPath& path) const = 0; 29 30 virtual status_t GetStandardMetaDataPath(BPath& path) const; 31 32 protected: 33 double fDownloadDurationSeconds; 34 double fProcessLocalDataDurationSeconds; 35 }; 36 37 #endif // ABSTRACT_SINGLE_FILE_SERVER_PROCESS_H