/* File: DataStore.h Description: Declares the DataStore singleton class responsible for managing collections of users, services, combo packages, service bookings, job cards, inventory items, invoices, and payments in the Vehicle Service Management System. Author: Trenser Date: 19-May-2026 */ #pragma once #include #include "Map.h" class User; class Service; class ComboPackage; class ServiceBooking; class JobCard; class InventoryItem; class Invoice; class Payment; class DataStore { private: util::Map m_users; util::Map m_services; util::Map m_comboPackages; util::Map m_serviceBookings; util::Map m_jobCards; util::Map m_inventoryItems; util::Map m_invoices; util::Map m_payments; DataStore() {} public: static DataStore& getInstance(); DataStore(const DataStore&) = delete; DataStore& operator=(const DataStore&) = delete; DataStore(DataStore&&) = delete; DataStore& operator=(DataStore&&) = delete; util::Map& getUsers(); util::Map& getServices(); util::Map& getComboPackages(); util::Map& getServiceBookings(); util::Map& getJobCards(); util::Map& getInventoryItems(); util::Map& getInvoices(); util::Map& getPayments(); };