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__