Back to index

nordugrid-arc-nox  1.1.0~rc6
Public Member Functions | Private Attributes
Arc::InformationResponse Class Reference

Informational response from InfoSystem. More...

#include <InformationInterface.h>

Collaboration diagram for Arc::InformationResponse:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 InformationResponse (SOAPEnvelope &soap)
 Constructor parses WS-ResourceProperties ressponse.
 ~InformationResponse (void)
 operator bool (void)
bool operator! (void)
std::list< XMLNodeResult (void)
 Returns set of attributes which were in SOAP message passed to constructor.

Private Attributes

WSRFwsrp_

Detailed Description

Informational response from InfoSystem.

This is a convenience wrapper analyzing WS-ResourceProperties response from InfoSystem interface of service.

Definition at line 98 of file InformationInterface.h.


Constructor & Destructor Documentation

Constructor parses WS-ResourceProperties ressponse.

Provided SOAPEnvelope object must be valid as long as this object is in use.

Definition at line 264 of file InformationInterface.cpp.

                                                           {
  // Try to extract WSRP object from message
  wsrp_ = &(CreateWSRP(soap));
  if(!(*wsrp_)) { delete wsrp_; wsrp_=NULL; };
}

Here is the call graph for this function:

Definition at line 270 of file InformationInterface.cpp.

                                              {
  if(wsrp_) delete wsrp_;
}

Member Function Documentation

Arc::InformationResponse::operator bool ( void  ) [inline]

Definition at line 106 of file InformationInterface.h.

{ return (wsrp_ != NULL); };
bool Arc::InformationResponse::operator! ( void  ) [inline]

Definition at line 107 of file InformationInterface.h.

{ return (wsrp_ == NULL); };
std::list< XMLNode > Arc::InformationResponse::Result ( void  )

Returns set of attributes which were in SOAP message passed to constructor.

Definition at line 274 of file InformationInterface.cpp.

                                                 {
  if(!wsrp_) return std::list<XMLNode>();
  std::list<XMLNode> props;
  // Check if operation is supported
  try {
    WSRPGetResourcePropertyDocumentResponse* resp =
         dynamic_cast<WSRPGetResourcePropertyDocumentResponse*>(wsrp_);
    if(!resp) throw std::exception();
    if(!(*resp)) throw std::exception();
    props.push_back(resp->Document());
    return props;
  } catch(std::exception& e) { };
  try {
    WSRPGetResourcePropertyResponse* resp =
         dynamic_cast<WSRPGetResourcePropertyResponse*>(wsrp_);
    if(!resp) throw std::exception();
    if(!(*resp)) throw std::exception();
    for(int n = 0;;++n) {
      XMLNode prop = resp->Property(n);
      if(!prop) break;
      props.push_back(prop);
    };
    return props;
  } catch(std::exception& e) { };
  try {
    WSRPGetMultipleResourcePropertiesResponse* resp =
         dynamic_cast<WSRPGetMultipleResourcePropertiesResponse*>(wsrp_);
    if(!resp) throw std::exception();
    if(!(*resp)) throw std::exception();
    for(int n = 0;;++n) {
      XMLNode prop = resp->Property(n);
      if(!prop) break;
      props.push_back(prop);
    };
    return props;
  } catch(std::exception& e) { };
  try {
    WSRPQueryResourcePropertiesResponse* resp =
         dynamic_cast<WSRPQueryResourcePropertiesResponse*>(wsrp_);
    if(!resp) throw std::exception();
    if(!(*resp)) throw std::exception();
    XMLNode props_ = resp->Properties();
    for(int n = 0;;++n) {
      XMLNode prop = props_.Child(n);
      if(!prop) break;
      props.push_back(prop);
    };
    return props;
  } catch(std::exception& e) { };
  return props;
}

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

Definition at line 100 of file InformationInterface.h.


The documentation for this class was generated from the following files: