Arc::DelegationContainerSOAP Class Reference

#include <DelegationInterface.h>

Public Member Functions

bool DelegatedToken (std::string &credentials, XMLNode token, const std::string &client="")

Protected Member Functions

virtual DelegationConsumerSOAPAddConsumer (std::string &id, const std::string &client)
virtual DelegationConsumerSOAPFindConsumer (const std::string &id, const std::string &client)
virtual bool TouchConsumer (DelegationConsumerSOAP *c, const std::string &credentials)
virtual bool QueryConsumer (DelegationConsumerSOAP *c, std::string &credentials)
virtual void ReleaseConsumer (DelegationConsumerSOAP *c)
virtual void RemoveConsumer (DelegationConsumerSOAP *c)
virtual void CheckConsumers (void)
bool DelegateCredentialsInit (const SOAPEnvelope &in, SOAPEnvelope &out, const std::string &client="")
bool UpdateCredentials (std::string &credentials, const SOAPEnvelope &in, SOAPEnvelope &out, const std::string &client="")

Protected Attributes

int max_size_
int max_duration_
int max_usage_
bool context_lock_

Detailed Description

Manages multiple delegated credentials. Delegation consumers are created automatically with DelegateCredentialsInit method up to max_size_ and assigned unique identifier. It's methods are similar to those of DelegationConsumerSOAP with identifier included in SOAP message used to route execution to one of managed DelegationConsumerSOAP instances.


Member Function Documentation

virtual DelegationConsumerSOAP* Arc::DelegationContainerSOAP::AddConsumer ( std::string &  id,
const std::string &  client 
) [protected, virtual]

Creates new consumer object, if empty assigns id and stores in intenal store

virtual void Arc::DelegationContainerSOAP::CheckConsumers ( void   )  [protected, virtual]

Periodic management of stored consumers

bool Arc::DelegationContainerSOAP::DelegateCredentialsInit ( const SOAPEnvelope &  in,
SOAPEnvelope &  out,
const std::string &  client = "" 
) [protected]

See DelegationConsumerSOAP::DelegateCredentialsInit If 'client' is not empty then all subsequent calls involving access to generated credentials must contain same value in their 'client' arguments.

bool Arc::DelegationContainerSOAP::DelegatedToken ( std::string &  credentials,
XMLNode  token,
const std::string &  client = "" 
)
virtual DelegationConsumerSOAP* Arc::DelegationContainerSOAP::FindConsumer ( const std::string &  id,
const std::string &  client 
) [protected, virtual]

Finds previously created consumer in internal store

virtual bool Arc::DelegationContainerSOAP::QueryConsumer ( DelegationConsumerSOAP c,
std::string &  credentials 
) [protected, virtual]

Obtain stored credentials - not all containers may provide this functionality

virtual void Arc::DelegationContainerSOAP::ReleaseConsumer ( DelegationConsumerSOAP c  )  [protected, virtual]

Releases consumer obtained by call to AddConsumer() or FindConsumer()

virtual void Arc::DelegationContainerSOAP::RemoveConsumer ( DelegationConsumerSOAP c  )  [protected, virtual]

Releases consumer obtained by call to AddConsumer() or FindConsumer() and deletes it

virtual bool Arc::DelegationContainerSOAP::TouchConsumer ( DelegationConsumerSOAP c,
const std::string &  credentials 
) [protected, virtual]

Marks consumer as recently used and acquire new credentials

bool Arc::DelegationContainerSOAP::UpdateCredentials ( std::string &  credentials,
const SOAPEnvelope &  in,
SOAPEnvelope &  out,
const std::string &  client = "" 
) [protected]

Field Documentation

If true delegation consumer is deleted when connection context is destroyed

Lifetime of unused delegation consumer

Max. number of delegation consumers

Max. times same delegation consumer may accept credentials


The documentation for this class was generated from the following file:
Generated on Wed Jun 27 11:54:22 2012 for Hosting Environment (Daemon) by  doxygen 1.6.3