Back to index

nordugrid-arc-nox  1.1.0~rc6
Public Member Functions | Private Attributes
DirectMCC Class Reference
Inheritance diagram for DirectMCC:
Inheritance graph
Collaboration diagram for DirectMCC:
Collaboration graph

List of all members.

Public Member Functions

 DirectMCC (Arc::DelegationContainerSOAP &container)
Arc::MCC_Status process (Arc::Message &in, Arc::Message &out)
 Method for processing of requests and responses.

Private Attributes


Detailed Description

Definition at line 25 of file DelegationInterfaceTest.cpp.

Constructor & Destructor Documentation

Definition at line 29 of file DelegationInterfaceTest.cpp.

:container_(container) {};

Member Function Documentation

Arc::MCC_Status DirectMCC::process ( Arc::Message request,
Arc::Message response 
) [virtual]

Method for processing of requests and responses.

This method is called by preceeding MCC in chain when a request needs to be processed. This method must call similar method of next MCC in chain unless any failure happens. Result returned by call to next MCC should be processed and passed back to previous MCC. In case of failure this method is expected to generate valid error response and return it back to previous MCC without calling the next one.

requestThe request that needs to be processed.
responseA Message object that will contain the response of the request when the method returns.
An object representing the status of the call.

Implements Arc::MCCInterface.

Definition at line 33 of file DelegationInterfaceTest.cpp.

  if(!in.Payload()) return Arc::MCC_Status();
  Arc::PayloadSOAP* in_payload = NULL;
  try {
    in_payload = dynamic_cast<Arc::PayloadSOAP*>(in.Payload());
  } catch(std::exception& e) { };
  if(!in_payload) return Arc::MCC_Status();
  Arc::MCC_Status r;
  Arc::NS ns;
  Arc::PayloadSOAP* out_payload = new Arc::PayloadSOAP(ns);
  if((*in_payload)["DelegateCredentialsInit"]) {
    if(!container_.DelegateCredentialsInit(*in_payload,*out_payload)) return Arc::MCC_Status();
  } else if((*in_payload)["UpdateCredentials"]) {
    std::string cred;
    if(!container_.UpdateCredentials(cred,*in_payload,*out_payload)) return Arc::MCC_Status();
    if(cred.empty()) return Arc::MCC_Status();
  return Arc::MCC_Status(Arc::STATUS_OK);

Here is the call graph for this function:

Member Data Documentation

Definition at line 27 of file DelegationInterfaceTest.cpp.

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