13using namespace MaxOS::common;
14using namespace MaxOS::drivers;
15using namespace MaxOS::memory;
16using namespace MaxOS::hardwarecommunication;
18Driver::Driver() =
default;
20Driver::~Driver() =
default;
67 return "Unknown Driver";
70DriverSelectorEventHandler::DriverSelectorEventHandler() =
default;
72DriverSelectorEventHandler::~DriverSelectorEventHandler() =
default;
82DriverSelector::DriverSelector() =
default;
84DriverSelector::~DriverSelector() =
default;
110 while (!m_drivers.empty())
125 m_drivers.push_back(
driver);
193 for (
auto &
driver: m_drivers) {
213 for (
auto &
driver: m_drivers)
224 for (
auto &
driver: m_drivers)
238 for (
auto &
driver: m_drivers)
static Logger INFO()
Gets active logger set to info level.
Stores the left, top, width and height of a rectangle.
DriverManager()
Constructs the Driver Manager, adding any default driver selectors.
void add_driver(Driver *)
Adds a driver to the manager.
void activate_drivers()
Activate the drivers.
void on_driver_selected(Driver *) final
When a driver is selected add it to the manager.
uint32_t reset_devices()
Reset all the devices.
void remove_driver_selector(DriverSelector *)
Remove a driver selector from the manager.
void add_driver_selector(DriverSelector *)
Add a driver selector to the manager.
void deactivate_drivers()
Deactivate the drivers.
void initialise_drivers()
Initialise the drivers.
void find_drivers()
Find the drivers.
~DriverManager()
Destructor for the Driver Manager, removes all drivers and driver selectors.
void remove_driver(Driver *)
Removes a driver from the driver vector.
Event handler for the DriverSelector class, handles the event when a driver is selected.
virtual void on_driver_selected(Driver *)
This function is called when a driver is selected.
Selects the drivers to be used.
virtual void select_drivers(DriverSelectorEventHandler *handler)
Select the drivers available on the system.
base class for all drivers, handles the activation, deactivation, initialisation and reset of the dri...
virtual string vendor_name()
Get who created the device.
virtual uint32_t reset()
Reset the driver.
virtual string device_name()
Get the device name of the driver.
virtual void initialise()
Initialise the driver.
virtual void activate()
Activate the driver.
virtual void deactivate()
Deactivate the driver.
Handles the selecting and loading of drivers for PCI devices.
Defines a base Driver class and DriverManager for managing drivers.
Defines a Peripheral Component Interconnect (PCI) controller for managing PCI devices and loading the...