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> 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; };
68 std::list<std::string> supportedInterfaces;
104 void initialiseInterfacePluginMap(
const UserConfig& uc);
106 std::multimap<std::string, JobControllerPlugin*> jobcontrollers;
107 static std::map<std::string, std::string> interfacePluginMap;
118 operator const UserConfig&() {
return usercfg; }
125 #endif // __ARC_JOBCONTROLLER_H__ Arc namespace contains all core ARC classes.
Definition: ArcConfig.h:11
User configuration class
Definition: UserConfig.h:196
virtual void SetUserConfig(const UserConfig &uc)
Definition: JobControllerPlugin.h:59
JobControllerPluginLoader()
const UserConfig * usercfg
Definition: JobControllerPlugin.h:67
A logger class.
Definition: Logger.h:493
Job.
Definition: Job.h:33
~JobControllerPluginLoader()
Definition: JobControllerPlugin.h:114
Definition: JobControllerPlugin.h:79
JobControllerPlugin * load(const std::string &name, const UserConfig &uc)
Class to represent general URLs.
Definition: URL.h:88
Definition: JobControllerPlugin.h:29