Back to index

nordugrid-arc-nox  1.1.0~rc6
WSRFBaseFault.h
Go to the documentation of this file.
00001 #include "WSRF.h"
00002 #include <arc/ws-addressing/WSA.h>
00003 #include <arc/DateTime.h>
00004 
00005 namespace Arc {
00006 
00007 extern const char* WSRFBaseFaultAction;
00008 
00010 
00011 class WSRFBaseFault: public WSRF {
00012  protected:
00014   void set_namespaces(void);
00015  public:
00017   WSRFBaseFault(SOAPEnvelope& soap);
00019   WSRFBaseFault(const std::string& type);
00020   virtual ~WSRFBaseFault(void);
00021 
00022   std::string Type(void);
00023 
00024   Time Timestamp(void);
00025   void Timestamp(Time);
00026 
00027   WSAEndpointReference Originator(void);
00028   //void Originator(const WSAEndpointReference&);
00029 
00030   void ErrorCode(const std::string& dialect,const XMLNode& error);
00031   XMLNode ErrorCode(void);
00032   std::string ErrorCodeDialect(void);
00033   
00034   void Description(int pos,const std::string& desc,const std::string& lang);
00035   std::string Description(int pos);
00036   std::string DescriptionLang(int pos);
00037 
00038   void FaultCause(int pos,const XMLNode& cause);
00039   XMLNode FaultCause(int pos);
00040 };
00041 
00042 class WSRFResourceUnknownFault: public WSRFBaseFault {
00043  public:
00044   WSRFResourceUnknownFault(SOAPEnvelope& soap):WSRFBaseFault(soap) { };
00045   WSRFResourceUnknownFault(void):WSRFBaseFault("wsrf-r:ResourceUnknownFault") { }
00046   virtual ~WSRFResourceUnknownFault(void) { };
00047 };
00048 
00049 class WSRFResourceUnavailableFault: public WSRFBaseFault {
00050  public:
00051   WSRFResourceUnavailableFault(SOAPEnvelope& soap):WSRFBaseFault(soap) { };
00052   WSRFResourceUnavailableFault(void):WSRFBaseFault("wsrf-r:ResourceUnavailableFault") { }
00053   virtual ~WSRFResourceUnavailableFault(void) { };
00054 };
00055 
00056 WSRF& CreateWSRFBaseFault(SOAPEnvelope& soap);
00057 
00058 } // namespace Arc 
00059