Back to index

nordugrid-arc-nox  1.1.0~rc6
SRM1Client.h
Go to the documentation of this file.
00001 #ifndef __HTTPSD_SRM1_CLIENT_H__
00002 #define __HTTPSD_SRM1_CLIENT_H__
00003 
00004 #include "SRMClient.h"
00005 
00006 #include "srm1_soapH.h"
00007 
00008 const static SOAP_NMAC struct Namespace srm1_soap_namespaces[] =
00009 {
00010   {"SOAP-ENV", "http://schemas.xmlsoap.org/soap/envelope/", "http://www.w3.org/*/soap-envelope", NULL},
00011   {"SOAP-ENC", "http://schemas.xmlsoap.org/soap/encoding/", "http://www.w3.org/*/soap-encoding", NULL},
00012   {"xsi", "http://www.w3.org/2001/XMLSchema-instance", "http://www.w3.org/*/XMLSchema-instance", NULL},
00013   {"xsd", "http://www.w3.org/2001/XMLSchema", "http://www.w3.org/*/XMLSchema", NULL},
00014   {"SRMv1Type", "http://www.themindelectric.com/package/diskCacheV111.srm/", NULL, NULL},
00015   {"SRMv1Meth", "http://tempuri.org/diskCacheV111.srm.server.SRMServerV1", NULL, NULL},
00016   {NULL, NULL, NULL, NULL}
00017 };
00018   
00019 //namespace Arc {
00020   
00021   class SRM1Client: public SRMClient {
00022    private:
00023     struct soap soapobj;
00024     SRMReturnCode acquire(SRMClientRequest& req,std::list<std::string>& urls);
00025     //static Logger logger;
00026     
00027    public:
00028     SRM1Client(SRMURL url);
00029     ~SRM1Client(void);
00030     
00031     // not supported in v1
00032     SRMReturnCode ping(std::string& version,
00033                        bool report_error = true)
00034       {return SRM_ERROR_NOT_SUPPORTED;};
00035     // not supported in v1
00036     SRMReturnCode getSpaceTokens(std::list<std::string>& tokens,
00037                                  std::string description = "")
00038       {return SRM_ERROR_NOT_SUPPORTED;};
00039     // not supported in v1
00040     SRMReturnCode getRequestTokens(std::list<std::string>& tokens,
00041                                    std::string description = "")
00042       {return SRM_ERROR_NOT_SUPPORTED;};
00043     // not supported in v1
00044     SRMReturnCode requestBringOnline(SRMClientRequest& req) {return SRM_ERROR_NOT_SUPPORTED;};
00045     // not supported in v1
00046     SRMReturnCode requestBringOnlineStatus(SRMClientRequest& req) {return SRM_ERROR_NOT_SUPPORTED;};
00047     // not supported
00048     SRMReturnCode mkDir(SRMClientRequest& req) { return SRM_ERROR_NOT_SUPPORTED; };
00049   
00050     SRMReturnCode getTURLs(SRMClientRequest& req, std::list<std::string>& urls);
00051     SRMReturnCode putTURLs(SRMClientRequest& req, std::list<std::string>& urls,unsigned long long size = 0);
00052     SRMReturnCode releaseGet(SRMClientRequest& req);
00053     SRMReturnCode releasePut(SRMClientRequest& req);
00054     SRMReturnCode release(SRMClientRequest& req);
00055     SRMReturnCode abort(SRMClientRequest& req);
00056     SRMReturnCode info(SRMClientRequest& req, std::list<struct SRMFileMetaData>& metadata, const int recursive = 0, bool report_error = true);
00057     SRMReturnCode remove(SRMClientRequest& req);
00058     SRMReturnCode copy(SRMClientRequest& req, const std::string& source);
00059     
00060   };
00061 
00062 //} // namespace Arc
00063 
00064 #endif // __HTTPSD_SRM1_CLIENT_H__