3 #ifndef __ARC_JOBCONTROLLER_H__
4 #define __ARC_JOBCONTROLLER_H__
15 #include <arc/compute/Job.h>
16 #include <arc/loader/Loader.h>
17 #include <arc/loader/Plugin.h>
33 : Plugin(parg), usercfg(usercfg) {}
37 virtual void UpdateJobs(std::list<Job*>& jobs,
bool isGrouped =
false)
const;
38 virtual void UpdateJobs(std::list<Job*>& jobs, std::list<std::string>& IDsProcessed, std::list<std::string>& IDsNotProcessed,
bool isGrouped =
false)
const = 0;
40 virtual bool CleanJobs(
const std::list<Job*>& jobs,
bool isGrouped =
false)
const;
41 virtual bool CleanJobs(
const std::list<Job*>& jobs, std::list<std::string>& IDsProcessed, std::list<std::string>& IDsNotProcessed,
bool isGrouped =
false)
const = 0;
42 virtual bool CancelJobs(
const std::list<Job*>& jobs,
bool isGrouped =
false)
const;
43 virtual bool CancelJobs(
const std::list<Job*>& jobs, std::list<std::string>& IDsProcessed, std::list<std::string>& IDsNotProcessed,
bool isGrouped =
false)
const = 0;
44 virtual bool RenewJobs(
const std::list<Job*>& jobs,
bool isGrouped =
false)
const;
45 virtual bool RenewJobs(
const std::list<Job*>& jobs, std::list<std::string>& IDsProcessed, std::list<std::string>& IDsNotProcessed,
bool isGrouped =
false)
const = 0;
46 virtual bool ResumeJobs(
const std::list<Job*>& jobs,
bool isGrouped =
false)
const;
47 virtual bool ResumeJobs(
const std::list<Job*>& jobs, std::list<std::string>& IDsProcessed, std::list<std::string>& IDsNotProcessed,
bool isGrouped =
false)
const = 0;
49 virtual bool GetJobDescription(
const Job& job, std::string& desc_str)
const = 0;
50 virtual bool GetURLToJobResource(
const Job& job, Job::ResourceType resource,
URL& url)
const = 0;
52 virtual std::string GetGroupID()
const {
return ""; }
54 virtual const std::list<std::string>& SupportedInterfaces()
const {
return supportedInterfaces; };
58 std::list<std::string> supportedInterfaces;
94 void initialiseInterfacePluginMap(
const UserConfig& uc);
96 std::multimap<std::string, JobControllerPlugin*> jobcontrollers;
97 static std::map<std::string, std::string> interfacePluginMap;
108 operator const UserConfig&() {
return usercfg; }
115 #endif // __ARC_JOBCONTROLLER_H__