1/* 2 * Copyright 2017-2020, Andrew Lindesay <apl@lindesay.co.nz>. 3 * All rights reserved. Distributed under the terms of the MIT License. 4 */ 5#ifndef SERVER_ICON_EXPORT_UPDATE_PROCESS_H 6#define SERVER_ICON_EXPORT_UPDATE_PROCESS_H 7 8 9#include <File.h> 10#include <Path.h> 11#include <String.h> 12#include <Url.h> 13 14#include "AbstractSingleFileServerProcess.h" 15#include "Model.h" 16 17 18class DumpExportPkg; 19 20 21class ServerIconExportUpdateProcess : public AbstractSingleFileServerProcess { 22public: 23 24 ServerIconExportUpdateProcess( 25 Model* model, uint32 serverProcessOptions); 26 virtual ~ServerIconExportUpdateProcess(); 27 28 const char* Name() const; 29 const char* Description() const; 30 31 virtual status_t ProcessLocalData(); 32 33 virtual status_t GetLocalPath(BPath& path) const; 34 virtual status_t IfModifiedSinceHeaderValue( 35 BString& headerValue) const; 36 37 38 virtual status_t GetStandardMetaDataPath(BPath& path) const; 39 virtual void GetStandardMetaDataJsonPath( 40 BString& jsonPath) const; 41 42protected: 43 virtual BString UrlPathComponent(); 44 45private: 46 void _NotifyPackagesWithIconsInDepots() const; 47 void _NotifyPackagesWithIconsInDepot( 48 const DepotInfoRef& depotInfo) const; 49 50private: 51 Model* fModel; 52 53}; 54 55#endif // SERVER_ICON_EXPORT_UPDATE_PROCESS_H 56