Embedded Artistry Framework
Embedded Systems C++ Framework
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
embvm::HALDriverBase Class Referenceabstract

#include <hal_driver.hpp>

Inheritance diagram for embvm::HALDriverBase:
Inheritance graph

Public Member Functions

void setBottomHalfDispatcher (const embutil::IRQDispatcherFunc_t &dispatcher) noexcept
 
template<typename TCallback >
void invokeCallback (TCallback &cb) noexcept
 
template<typename TCallback , typename... TArgs>
void invokeCallback (TCallback &cb, TArgs &... args) noexcept
 
virtual void enableInterrupts () noexcept=0
 
virtual void disableInterrupts () noexcept=0
 

Protected Member Functions

 HALDriverBase ()=default
 
virtual ~HALDriverBase ()=default
 

Protected Attributes

embutil::IRQDispatcherFunc_t dispatcher_
 

Constructor & Destructor Documentation

◆ HALDriverBase()

embvm::HALDriverBase::HALDriverBase ( )
protecteddefault

◆ ~HALDriverBase()

virtual embvm::HALDriverBase::~HALDriverBase ( )
protectedvirtualdefault

Member Function Documentation

◆ disableInterrupts()

virtual void embvm::HALDriverBase::disableInterrupts ( )
pure virtualnoexcept

◆ enableInterrupts()

virtual void embvm::HALDriverBase::enableInterrupts ( )
pure virtualnoexcept

◆ invokeCallback() [1/2]

template<typename TCallback >
void embvm::HALDriverBase::invokeCallback ( TCallback &  cb)
inlinenoexcept

◆ invokeCallback() [2/2]

template<typename TCallback , typename... TArgs>
void embvm::HALDriverBase::invokeCallback ( TCallback &  cb,
TArgs &...  args 
)
inlinenoexcept

References dispatcher_.

◆ setBottomHalfDispatcher()

void embvm::HALDriverBase::setBottomHalfDispatcher ( const embutil::IRQDispatcherFunc_t dispatcher)
inlinenoexcept

Member Data Documentation

◆ dispatcher_

embutil::IRQDispatcherFunc_t embvm::HALDriverBase::dispatcher_
protected

The documentation for this class was generated from the following file: