use crate::base::*;
use crate::shim::*;
pub struct InterruptContext {
x_higher_priority_task_woken: FreeRtosBaseType,
}
impl InterruptContext {
pub fn new() -> InterruptContext {
InterruptContext {
x_higher_priority_task_woken: 0,
}
}
pub fn get_task_field_mut(&mut self) -> FreeRtosBaseTypeMutPtr {
&mut self.x_higher_priority_task_woken as *mut _
}
pub fn higher_priority_task_woken(&self) -> FreeRtosBaseType {
self.x_higher_priority_task_woken
}
}
impl Drop for InterruptContext {
fn drop(&mut self) {
unsafe {
freertos_rs_isr_yield(self.x_higher_priority_task_woken);
}
}
}