#include <Scheme.h>

Inheritance diagram for Auth::Scheme:
Collaboration diagram for Auth::Scheme:

Public Types

typedef RefCount< SchemePointer
 
typedef std::vector
< Scheme::Pointer >::iterator 
iterator
 
typedef std::vector
< Scheme::Pointer >
::const_iterator 
const_iterator
 

Public Member Functions

 Scheme ()
 
virtual ~Scheme ()
 
virtual char const * type () const =0
 
virtual void shutdownCleanup ()=0
 
virtual Auth::SchemeConfigcreateConfig ()=0
 
 Scheme (Scheme const &)
 
Schemeoperator= (Scheme const &)
 

Static Public Member Functions

static void AddScheme (Scheme::Pointer)
 
static void FreeAll ()
 
static Scheme::Pointer Find (const char *)
 
static std::vector
< Scheme::Pointer > & 
GetSchemes ()
 

Protected Attributes

bool initialised
 

Static Private Attributes

static std::vector
< Scheme::Pointer > * 
_Schemes = NULL
 

Detailed Description

I represent an authentication scheme. For now my children store the scheme metadata.

Should we need multiple configs of a single scheme, a new class should be made, and the config specific calls on Auth::Scheme moved to it.

Definition at line 27 of file Scheme.h.

Member Typedef Documentation

Definition at line 31 of file Scheme.h.

Definition at line 30 of file Scheme.h.

Constructor & Destructor Documentation

Auth::Scheme::Scheme ( )
inline

Definition at line 35 of file Scheme.h.

virtual Auth::Scheme::~Scheme ( )
inlinevirtual

Definition at line 36 of file Scheme.h.

Auth::Scheme::Scheme ( Scheme const &  )

Member Function Documentation

void Auth::Scheme::AddScheme ( Scheme::Pointer  instance)
static

Definition at line 20 of file Scheme.cc.

References assert, GetSchemes(), and i.

virtual Auth::SchemeConfig* Auth::Scheme::createConfig ( )
pure virtual
Auth::Scheme::Pointer Auth::Scheme::Find ( const char *  typestr)
static

Locate an authentication scheme component by Name.

Definition at line 33 of file Scheme.cc.

References i, and NULL.

Referenced by getConfig(), parse_authparam(), and Auth::UserRequest::scheme().

void Auth::Scheme::FreeAll ( )
static

Final termination of all authentication components. To be used only on shutdown. All global pointers are released. After this all schemes will appear completely unsupported until a call to InitAuthModules(). Release the Auth::TheConfig handles instead to disable authentication without terminiating all support.

Called when a graceful shutdown is to occur of each scheme module. On completion the auth components are to be considered deleted. None will be available globally. Some may remain around for their currently active connections to close, but only those active connections will retain pointers to them.

Definition at line 60 of file Scheme.cc.

References assert, shutting_down, and size.

Referenced by SignalEngine::FinalShutdownRunners().

std::vector< Auth::Scheme::Pointer > & Auth::Scheme::GetSchemes ( )
static
Scheme& Auth::Scheme::operator= ( Scheme const &  )
virtual void Auth::Scheme::shutdownCleanup ( )
pure virtual
virtual char const* Auth::Scheme::type ( ) const
pure virtual

Member Data Documentation

std::vector< Auth::Scheme::Pointer > * Auth::Scheme::_Schemes = NULL
staticprivate

Definition at line 70 of file Scheme.h.

bool Auth::Scheme::initialised
protected

Definition at line 67 of file Scheme.h.


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

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors