Parking Garage Control System
ESP32 Parking Garage – ESP-IDF/FreeRTOS
Loading...
Searching...
No Matches
ParkingGarageSystem Class Reference

Main parking garage system orchestrator. More...

#include <ParkingGarageSystem.h>

Public Member Functions

 ParkingGarageSystem (const ParkingGarageConfig &config)
 Construct parking system.
 
 ~ParkingGarageSystem ()=default
 
 ParkingGarageSystem (const ParkingGarageSystem &)=delete
 
ParkingGarageSystem & operator= (const ParkingGarageSystem &)=delete
 
void initialize ()
 Initialize system and start event processing.
 
IEventBus & getEventBus ()
 Get event bus reference.
 
ITicketService & getTicketService ()
 Get ticket service reference.
 
EntryGateController & getEntryGate ()
 Get entry gate controller reference.
 
ExitGateController & getExitGate ()
 Get exit gate controller reference.
 
Gate & getEntryGateHardware ()
 Get entry gate hardware reference (for console commands)
 
Gate & getExitGateHardware ()
 Get exit gate hardware reference (for console commands)
 
void getStatus (char *buffer, size_t bufferSize) const
 Get system status string.
 
void reset ()
 Reset system to initial state Resets all controllers and ticket service to clean state.
 

Detailed Description

Main parking garage system orchestrator.

Uses pure Dependency Injection pattern:

  • Creates all hardware (Gate, Button, LightBarrier, Motor)
  • Creates all services (EventBus, TicketService)
  • Injects dependencies into controllers

Ownership hierarchy:

Constructor & Destructor Documentation

◆ ParkingGarageSystem() [1/2]

ParkingGarageSystem::ParkingGarageSystem ( const ParkingGarageConfig &  config)
explicit

Construct parking system.

Parameters
configSystem configuration

◆ ~ParkingGarageSystem()

ParkingGarageSystem::~ParkingGarageSystem ( )
default

◆ ParkingGarageSystem() [2/2]

ParkingGarageSystem::ParkingGarageSystem ( const ParkingGarageSystem &  )
delete

Member Function Documentation

◆ getEntryGate()

EntryGateController & ParkingGarageSystem::getEntryGate ( )
inline

Get entry gate controller reference.

◆ getEntryGateHardware()

Gate & ParkingGarageSystem::getEntryGateHardware ( )
inline

Get entry gate hardware reference (for console commands)

◆ getEventBus()

IEventBus & ParkingGarageSystem::getEventBus ( )
inline

Get event bus reference.

◆ getExitGate()

ExitGateController & ParkingGarageSystem::getExitGate ( )
inline

Get exit gate controller reference.

◆ getExitGateHardware()

Gate & ParkingGarageSystem::getExitGateHardware ( )
inline

Get exit gate hardware reference (for console commands)

◆ getStatus()

void ParkingGarageSystem::getStatus ( char *  buffer,
size_t  bufferSize 
) const

Get system status string.

◆ getTicketService()

ITicketService & ParkingGarageSystem::getTicketService ( )
inline

Get ticket service reference.

◆ initialize()

void ParkingGarageSystem::initialize ( )

Initialize system and start event processing.

◆ operator=()

ParkingGarageSystem & ParkingGarageSystem::operator= ( const ParkingGarageSystem &  )
delete

◆ reset()

void ParkingGarageSystem::reset ( )

Reset system to initial state Resets all controllers and ticket service to clean state.


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