MACS -- the base MACS class
The MACS object is a purse. Other objects use it to carry around all the useful stuff. It is also an oracle, because it frontends MACS::CClient to expose configuration information. Since this is the logical starting point for documenting the big picture of the MACS core object hierarchy, here is a nose-bleed view:
MACS - this class MACS::CClient - Perl frontend to C client library MACS::GUA - Grand Unified User Agent (web UI support class.) TODO: this class actually does basically what MACS does. Remove it. MACS::Service - common svc functionality MACS::Foreman - spawns and manages workers MACS::Worker - does work, though lately it mostly just takes union breaks and gossips by the water fountain MACS::Service::Async - asynchronous version of MACS::Service MACS::Factory - listens for client requests, hands to Foreman MACS::ATS - authorization service MACS::AUS - authentication service MACS::RPS - resource profile service MACS::LMC - login method services' base class MACS::LMC::Null - default (db) login method MACS::LMC::LDAP - ldap login method MACS::LMC::Yahoo - yahoo.com login method MACS::LMC::ESPN - espn.com login method MACS::AMC - authorization method services' base class MACS::AMC::Null - default (db) authz method MACS::AMC::Home - home directory authz method MACS::PMC - profile method services' base class MACS::PMC::Null - default (db) profile method MACS::PMC::LDAP - ldap profile method MACS::Util - utilities hang off the MACS object MACS::Comm - handles communications MACS::Comm::Mux - handles async communications MACS::DBI - database access/manipulation MACS::Dispatch - route messages throughout core framework MACS::Dispatch::Async - dispatcher for use with Comm::Async MACS::Log - base class for logging MACS::Log::File - logs to a file MACS::Request - liaison between different pieces of the core framework MACS::Session - Manage shared memory (session information) for workers
cfgsmethods below for a painless way access that.