// Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #pragma once extern "C" { #include #include } namespace cpp_freertos { class CriticalSectionGuard { public: CriticalSectionGuard(); ~CriticalSectionGuard(); CriticalSectionGuard(const CriticalSectionGuard &) = delete; CriticalSectionGuard(CriticalSectionGuard &&) = delete; CriticalSectionGuard &operator=(const CriticalSectionGuard &) = delete; CriticalSectionGuard &operator=(CriticalSectionGuard &&) = delete; private: UBaseType_t savedInterruptStatus; }; }; // namespace cpp_freertos