Parking Garage Control System
ESP32 Parking Garage – ESP-IDF/FreeRTOS
Loading...
Searching...
No Matches
ITicketService.h
Go to the documentation of this file.
1#pragma once
2
3#include "Ticket.h"
4
14 public:
15 virtual ~ITicketService() = default;
16
21 [[nodiscard]] virtual uint32_t getNewTicket() = 0;
22
28 virtual bool payTicket(uint32_t ticketId) = 0;
29
35 virtual bool validateAndUseTicket(uint32_t ticketId) = 0;
36
43 [[nodiscard]] virtual bool getTicketInfo(uint32_t ticketId, Ticket& ticket) const = 0;
44
49 [[nodiscard]] virtual uint32_t getActiveTicketCount() const = 0;
50
55 [[nodiscard]] virtual uint32_t getCapacity() const = 0;
56
61 virtual void reset() = 0;
62
67 virtual void setCapacity(uint32_t capacity) = 0;
68};
Interface for ticket service.
Definition ITicketService.h:13
virtual ~ITicketService()=default
virtual bool getTicketInfo(uint32_t ticketId, Ticket &ticket) const =0
Get ticket information.
virtual bool payTicket(uint32_t ticketId)=0
Mark ticket as paid.
virtual void setCapacity(uint32_t capacity)=0
Set parking capacity.
virtual uint32_t getNewTicket()=0
Create new ticket.
virtual uint32_t getActiveTicketCount() const =0
Get number of active (not used) tickets.
virtual void reset()=0
Reset ticket service to initial state Clears all tickets and resets ID counter to 1.
virtual bool validateAndUseTicket(uint32_t ticketId)=0
Validate ticket is paid and mark as used (for exit)
virtual uint32_t getCapacity() const =0
Get maximum parking capacity.
Parking ticket structure.
Definition Ticket.h:8
Coverage