Back to index

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

Request for information in InfoSystem. More...

#include <InformationInterface.h>

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

List of all members.

Public Member Functions

 InformationRequest (void)
 Dummy constructor.
 InformationRequest (const std::list< std::string > &path)
 Request for attribute specified by elements of path.
 InformationRequest (const std::list< std::list< std::string > > &paths)
 Request for attribute specified by elements of paths.
 InformationRequest (XMLNode query)
 Request for attributes specified by XPath query.
 ~InformationRequest (void)
 operator bool (void)
bool operator! (void)
SOAPEnvelope * SOAP (void)
 Returns generated SOAP message.

Private Attributes

WSRPwsrp_

Detailed Description

Request for information in InfoSystem.

This is a convenience wrapper creating proper WS-ResourceProperties request targeted InfoSystem interface of service.

Definition at line 74 of file InformationInterface.h.


Constructor & Destructor Documentation

Dummy constructor.

Definition at line 215 of file InformationInterface.cpp.

                                          :wsrp_(NULL) {
  wsrp_=new WSRPGetResourcePropertyDocumentRequest();
}
Arc::InformationRequest::InformationRequest ( const std::list< std::string > &  path)

Request for attribute specified by elements of path.

Currently only first element is used.

Definition at line 219 of file InformationInterface.cpp.

                                                                    :wsrp_(NULL) {
  if(path.size() > 0) {
    wsrp_=new WSRPGetResourcePropertyRequest(*(path.begin()));
  } else {
    wsrp_=new WSRPGetResourcePropertyDocumentRequest();
  };
}
Arc::InformationRequest::InformationRequest ( const std::list< std::list< std::string > > &  paths)

Request for attribute specified by elements of paths.

Currently only first element of every path is used.

Definition at line 227 of file InformationInterface.cpp.

                                                                               :wsrp_(NULL) {
  std::vector<std::string> names;
  std::list<std::list<std::string> >::const_iterator path = paths.begin();
  for(;path != paths.end();++path) {
    if(path->size() > 0) names.push_back(*(path->begin()));
  };
  if(names.size() > 1) {
    wsrp_=new WSRPGetMultipleResourcePropertiesRequest(names);
  } else if(names.size() == 1) {
    wsrp_=new WSRPGetResourcePropertyRequest(*(names.begin()));
  } else {
    wsrp_=new WSRPGetResourcePropertyDocumentRequest();
  };
}

Request for attributes specified by XPath query.

Definition at line 242 of file InformationInterface.cpp.

                                                   :wsrp_(NULL) {
  WSRPQueryResourcePropertiesRequest* req = new WSRPQueryResourcePropertiesRequest(XPATH_1_0_URI);
  wsrp_=req;
  XMLNode q = req->Query();
  std::string s = query;
  if(!s.empty()) { q=s; return; };
  for(int n = 0;;++n) {
    XMLNode node = query.Child(n);
    if(!node) break;
    q.NewChild(node);
  };
}

Here is the call graph for this function:

Definition at line 255 of file InformationInterface.cpp.

                                            {
  if(wsrp_) delete wsrp_;
}

Member Function Documentation

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

Definition at line 89 of file InformationInterface.h.

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

Definition at line 90 of file InformationInterface.h.

{ return (wsrp_ == NULL); };
SOAPEnvelope * Arc::InformationRequest::SOAP ( void  )

Returns generated SOAP message.

Definition at line 259 of file InformationInterface.cpp.

                                           {
  if(!wsrp_) return NULL;
  return &(wsrp_->SOAP());
}

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

Definition at line 76 of file InformationInterface.h.


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