CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

cond::XMLAuthenticationService::DataSourceEntry Class Reference

#include <XMLAuthenticationService.h>

List of all members.

Public Member Functions

void appendCredentialItem (const std::string &item, const std::string &value)
void appendCredentialItemForRole (const std::string &item, const std::string &value, const std::string &role)
const
coral::IAuthenticationCredentials & 
credentials () const
const
coral::IAuthenticationCredentials & 
credentials (const std::string &role) const
 DataSourceEntry (const std::string &serviceName, const std::string &connectionName)
 Constructor.
 ~DataSourceEntry ()
 Destructor.

Private Member Functions

 DataSourceEntry ()
 DataSourceEntry (const DataSourceEntry &)
DataSourceEntryoperator= (const DataSourceEntry &)

Private Attributes

std::string m_connectionName
 The connection name.
std::map< std::string,
coral::AuthenticationCredentials * > 
m_data
 The structure with the authentication data for the various roles.
coral::AuthenticationCredentials * m_default
 The input file with the data.
std::string m_serviceName
 The service name.

Detailed Description

A simple class holding the roles and the credentials corresponding to a database service

Definition at line 27 of file XMLAuthenticationService.h.


Constructor & Destructor Documentation

cond::XMLAuthenticationService::DataSourceEntry::DataSourceEntry ( const std::string &  serviceName,
const std::string &  connectionName 
)

Constructor.

Definition at line 33 of file XMLAuthenticationService.cc.

                                                                                                   :
  m_serviceName( serviceName ),
  m_connectionName( connectionName ),
  m_default( new coral::AuthenticationCredentials( serviceName ) ),
  m_data()
{}
cond::XMLAuthenticationService::DataSourceEntry::~DataSourceEntry ( )

Destructor.

Definition at line 41 of file XMLAuthenticationService.cc.

{
  delete m_default;
  for ( std::map< std::string, coral::AuthenticationCredentials* >::iterator iData = m_data.begin();
        iData != m_data.end(); ++iData )
    delete iData->second;
}
cond::XMLAuthenticationService::DataSourceEntry::DataSourceEntry ( ) [private]
cond::XMLAuthenticationService::DataSourceEntry::DataSourceEntry ( const DataSourceEntry ) [private]

Member Function Documentation

void cond::XMLAuthenticationService::DataSourceEntry::appendCredentialItem ( const std::string &  item,
const std::string &  value 
)

Adds a credential item to the default role.

Definition at line 50 of file XMLAuthenticationService.cc.

Referenced by cond::XMLAuthenticationService::XMLAuthenticationService::processFile().

{
  m_default->registerItem( item, value );
}
void cond::XMLAuthenticationService::DataSourceEntry::appendCredentialItemForRole ( const std::string &  item,
const std::string &  value,
const std::string &  role 
)

Adds a credential item to the default role.

Definition at line 57 of file XMLAuthenticationService.cc.

Referenced by cond::XMLAuthenticationService::XMLAuthenticationService::processFile().

{
  std::map< std::string, coral::AuthenticationCredentials* >::iterator iRole = m_data.find( role );
  if ( iRole == m_data.end() ) {
    iRole = m_data.insert( std::make_pair( role, new coral::AuthenticationCredentials( m_serviceName ) ) ).first;
  }
  iRole->second->registerItem( item, value );
}
const coral::IAuthenticationCredentials & cond::XMLAuthenticationService::DataSourceEntry::credentials ( const std::string &  role) const

Returns a reference to the credentials object for a given role. If the role is not known to the service an UnknownRoleException is thrown.

std::map< std::string, coral::AuthenticationCredentials* >::const_iterator iRole = m_data.find( role ); if ( iRole == m_data.end() ) throw coral::UnknownRoleException( m_serviceName, m_connectionName, role ); return *( iRole->second );

Definition at line 75 of file XMLAuthenticationService.cc.

{
  return *m_default;
}
const coral::IAuthenticationCredentials & cond::XMLAuthenticationService::DataSourceEntry::credentials ( ) const

Returns a reference to the credentials object for the default role.

Definition at line 69 of file XMLAuthenticationService.cc.

{
  return *m_default;
}
DataSourceEntry& cond::XMLAuthenticationService::DataSourceEntry::operator= ( const DataSourceEntry ) [private]

Member Data Documentation

The connection name.

Definition at line 66 of file XMLAuthenticationService.h.

std::map< std::string, coral::AuthenticationCredentials* > cond::XMLAuthenticationService::DataSourceEntry::m_data [private]

The structure with the authentication data for the various roles.

Definition at line 72 of file XMLAuthenticationService.h.

coral::AuthenticationCredentials* cond::XMLAuthenticationService::DataSourceEntry::m_default [private]

The input file with the data.

Definition at line 69 of file XMLAuthenticationService.h.

The service name.

Definition at line 63 of file XMLAuthenticationService.h.