/* * File: UserInterface.h * Description: Declaration of the UserInterface class and related functions. * Author: Trenser * Created: 02-Apr-2026 */ #pragma once #include #include "AdminMenu.h" #include "EmployeeMenu.h" #include "FinanceExecutiveMenu.h" #include "HRManagerMenu.h" #include "ITExecutiveMenu.h" #include "TalentExecutiveMenu.h" #include "TeamExecutiveMenu.h" #include "TeamLeadMenu.h" #include "ZenvyController.h" class UserInterface { private: ZenvyController* m_controller; EmployeeMenu* m_employeeMenu; AdminMenu* m_adminMenu; FinanceExecutiveMenu* m_financeExecutiveMenu; HRManagerMenu* m_hrManagerMenu; ITExecutiveMenu* m_itExecutiveMenu; TalentExecutiveMenu* m_talentExecutiveMenu; TeamExecutiveMenu* m_teamExecutiveMenu; TeamLeadMenu* m_teamLeadMenu; public: UserInterface() : m_controller(new ZenvyController()), m_employeeMenu(new EmployeeMenu()), m_adminMenu(new AdminMenu()), m_financeExecutiveMenu(new FinanceExecutiveMenu()), m_hrManagerMenu(new HRManagerMenu()), m_itExecutiveMenu(new ITExecutiveMenu()), m_talentExecutiveMenu(new TalentExecutiveMenu()), m_teamExecutiveMenu(new TeamExecutiveMenu()), m_teamLeadMenu(new TeamLeadMenu()) {}; void run(); bool handleOperation(int choice); void login(); ~UserInterface(); };