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 14class AbstractSingleFileServerProcess : public AbstractServerProcess { 15public: 16 AbstractSingleFileServerProcess(uint32 options); 17 virtual ~AbstractSingleFileServerProcess(); 18 19 virtual BString LogReport(); 20 21protected: 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 32protected: 33 double fDownloadDurationSeconds; 34 double fProcessLocalDataDurationSeconds; 35}; 36 37#endif // ABSTRACT_SINGLE_FILE_SERVER_PROCESS_H