// -*- indent-tabs-mode: nil -*- #ifndef __ARC_JOBINFORMATIONSTORAGEXML_H__ #define __ARC_JOBINFORMATIONSTORAGEXML_H__ #include #include "JobInformationStorage.h" namespace Arc { class JobInformationStorageXML : public JobInformationStorage { public: JobInformationStorageXML(const std::string& name, unsigned nTries = 10, unsigned tryInterval = 500000); virtual ~JobInformationStorageXML() {} static JobInformationStorage* Instance(const std::string& name) { return new JobInformationStorageXML(name); } bool ReadAll(std::list& jobs, const std::list& rejectEndpoints = std::list()); bool Read(std::list& jobs, std::list& jobIdentifiers, const std::list& endpoints = std::list(), const std::list& rejectEndpoints = std::list()); bool Write(const std::list& jobs) { std::list newJobs; std::set prunedServices; return Write(jobs, prunedServices, newJobs); } bool Write(const std::list& jobs, const std::set& prunedServices, std::list& newJobs); bool Clean(); bool Remove(const std::list& jobids); private: Config jobstorage; static Logger logger; }; } // namespace Arc #endif // __ARC_JOBINFORMATIONSTORAGEXML_H__