12using namespace MaxOS::common;
13using namespace MaxOS::drivers;
14using namespace MaxOS::drivers::ethernet;
20EthernetDriverEventHandler::~EthernetDriverEventHandler() =
default;
59 switch (
event->type) {
61 case EthernetDriverEvents::BEFORE_SEND:
65 case EthernetDriverEvents::DATA_SENT:
69 case EthernetDriverEvents::DATA_RECEIVED:
81EthernetDriver::EthernetDriver() =
default;
82EthernetDriver::~EthernetDriver() =
default;
130 switch (
value->type) {
131 case EthernetDriverEvents::DATA_RECEIVED:
132 if (
value->return_value.bool_value)
188DataSentEvent::~DataSentEvent() =
default;
202DataReceivedEvent::~DataReceivedEvent()
217BeforeSendEvent::~BeforeSendEvent()
Vector< Event< EthernetDriverEvents > * > raise_event(Event< EthernetDriverEvents > *event)
Calls the on_event function of all the event m_handlers connected to the event manager and returns a ...
Used to store information about an event, has a type and a return value.
Stores the left, top, width and height of a rectangle.
Event that is triggered before data is sent, holds the buffer and size of the data.
BeforeSendEvent(uint8_t *buffer, uint32_t size)
Construct a new Before send Event object.
uint32_t size
The size of the buffer to be sent.
uint8_t * buffer
The buffer to be sent.
Event that is triggered when data is received, holds the buffer and size of the data.
DataReceivedEvent(uint8_t *buffer, uint32_t size)
Construct a new Data Received Event object.
Event that is triggered when data is sent, holds the buffer and size of the data.
uint8_t * buffer
The buffer that was sent.
DataSentEvent(uint8_t *buffer, uint32_t size)
Construct a new Data Sent Event object.
uint32_t size
The size of the buffer that was sent.
virtual void before_send(uint8_t *buffer, uint32_t size)
Handle before send event.
common::Event< EthernetDriverEvents > * on_event(common::Event< EthernetDriverEvents > *event) override
Handle an event.
EthernetDriverEventHandler()
__EVENT HANDLER___
virtual void data_sent(uint8_t *buffer, uint32_t size)
Handle data sent event.
virtual bool data_received(uint8_t *buffer, uint32_t size)
Handle data received event.
static MediaAccessControlAddress create_media_access_control_address(uint8_t digit1, uint8_t digit2, uint8_t digit3, uint8_t digit4, uint8_t digit5, uint8_t digit6)
Create a Media Access Control Address.
virtual MediaAccessControlAddress get_media_access_control_address()
Get the MAC address.
void send(uint8_t *buffer, uint32_t size)
send data to the network via the driver backend
void fire_data_received(uint8_t *buffer, uint32_t size)
Handle the recieved data.
virtual void do_send(uint8_t *buffer, uint32_t size)
(Device Side) send the data
void fire_data_sent(uint8_t *buffer, uint32_t size)
send data
Defines an EthernetDriver class for managing Ethernet communication, including sending and receiving ...
EthernetDriverEvents
Events that can be triggered by the Ethernet Driver.