3 #ifndef __ARC_SUBMITTERPLUGIN_H__
4 #define __ARC_SUBMITTERPLUGIN_H__
15 #include <arc/loader/Loader.h>
16 #include <arc/loader/Plugin.h>
17 #include <arc/compute/EntityRetriever.h>
18 #include <arc/compute/Job.h>
19 #include <arc/compute/JobDescription.h>
20 #include <arc/compute/SubmissionStatus.h>
21 #include <arc/data/DataHandle.h>
31 class ExecutionTarget;
48 : Plugin(parg), usercfg(usercfg), dest_handle(NULL) {}
76 std::list<const JobDescription*>& notSubmitted) = 0;
78 const std::string& endpoint,
80 std::list<const JobDescription*>& notSubmitted);
97 bool forcemigration,
Job& job);
99 virtual const std::list<std::string>& SupportedInterfaces()
const {
return supportedInterfaces; };
102 bool PutFiles(
const JobDescription& jobdesc,
const URL& url)
const;
103 void AddJobDetails(
const JobDescription& jobdesc, Job& job)
const;
105 const UserConfig& usercfg;
106 std::list<std::string> supportedInterfaces;
107 DataHandle* dest_handle;
109 static Logger logger;
141 void initialiseInterfacePluginMap(
const UserConfig& uc);
142 const std::map<std::string, std::string>& getInterfacePluginMap()
const {
return interfacePluginMap; }
145 std::multimap<std::string, SubmitterPlugin*> submitters;
146 static std::map<std::string, std::string> interfacePluginMap;
154 :
public PluginArgument {
157 : usercfg(usercfg) {}
168 #endif // __ARC_SUBMITTERPLUGIN_H__