Back to index

nordugrid-arc-nox  1.1.0~rc6
UNICOREClient.h
Go to the documentation of this file.
00001 // -*- indent-tabs-mode: nil -*-
00002 
00003 #ifndef __UNICORE_CLIENT__
00004 #define __UNICORE_CLIENT__
00005 
00006 #include <string>
00007 #include <iostream>
00008 
00009 #include <arc/URL.h>
00010 #include <arc/XMLNode.h>
00011 #include <arc/client/JobDescription.h>
00012 
00013 namespace Arc {
00014 
00015   class ClientSOAP;
00016   class Config;
00017   class Loader;
00018   class Logger;
00019   class MCC;
00020   class MCCConfig;
00021 
00023 
00031   class UNICOREClient {
00032   public:
00033 
00035 
00041     UNICOREClient(const URL& url, const MCCConfig& cfg, int timeout=20);
00042 
00044     ~UNICOREClient();
00045 
00047 
00054     bool submit(const JobDescription& jobdesc, XMLNode& id,
00055                 bool delegate = false);
00056 
00058 
00064     bool stat(const std::string& jobid, std::string& status);
00065 
00067 
00072     bool kill(const std::string& jobid);
00073 
00075 
00081     bool clean(const std::string& jobid);
00082 
00084 
00088     bool sstat(std::string& status);
00095     bool listTargetSystemFactories(std::list< std::pair<URL, ServiceType> >& tsf);
00096 
00097     ClientSOAP* SOAP(void) {
00098       return client;
00099     }
00100 
00101   private:
00102     bool uasStartJob();
00104 
00107     MCCConfig client_config;
00108 
00110 
00113     Loader *client_loader;
00114 
00115     ClientSOAP *client;
00116 
00118 
00121     MCC *client_entry;
00122 
00124 
00126     NS unicore_ns;
00127 
00128     URL rurl;
00129 
00130     std::string proxyPath;
00132 
00135     static Logger logger;
00136   };
00137 
00138 }
00139 
00140 #endif