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__