Lockable renamed to Lock (#219)

Also changed usage from unique_ptr to class value.
This commit is contained in:
Ken Van Hoeylandt
2025-02-12 22:28:22 +01:00
committed by GitHub
parent 2e86d4774b
commit 55bfb9fe3b
40 changed files with 257 additions and 263 deletions
+4 -4
View File
@@ -32,8 +32,8 @@ std::string State::getSelectedChildPath() const {
}
bool State::setEntriesForPath(const std::string& path) {
auto scoped_lock = mutex.scoped();
if (!scoped_lock->lock(100)) {
auto lock = mutex.asScopedLock();
if (!lock.lock(100)) {
TT_LOG_E(TAG, LOG_MESSAGE_MUTEX_LOCK_FAILED_FMT, "setEntriesForPath");
return false;
}
@@ -102,8 +102,8 @@ bool State::setEntriesForChildPath(const std::string& child_path) {
}
bool State::getDirent(uint32_t index, dirent& dirent) {
auto scoped_mutex = mutex.scoped();
if (!scoped_mutex->lock(50 / portTICK_PERIOD_MS)) {
auto lock = mutex.asScopedLock();
if (!lock.lock(50 / portTICK_PERIOD_MS)) {
return false;
}
+3 -3
View File
@@ -228,7 +228,7 @@ void View::showActionsForFile() {
}
void View::update() {
auto scoped_lockable = lvgl::getLvglSyncLockable()->scoped();
auto scoped_lockable = lvgl::getLvglSyncLock()->scoped();
if (scoped_lockable->lock(100 / portTICK_PERIOD_MS)) {
lv_obj_clean(dir_entry_list);
@@ -277,14 +277,14 @@ void View::init(lv_obj_t* parent) {
}
void View::onDirEntryListScrollBegin() {
auto scoped_lockable = lvgl::getLvglSyncLockable()->scoped();
auto scoped_lockable = lvgl::getLvglSyncLock()->scoped();
if (scoped_lockable->lock(100 / portTICK_PERIOD_MS)) {
lv_obj_add_flag(action_list, LV_OBJ_FLAG_HIDDEN);
}
}
void View::onNavigate() {
auto scoped_lockable = lvgl::getLvglSyncLockable()->scoped();
auto scoped_lockable = lvgl::getLvglSyncLock()->scoped();
if (scoped_lockable->lock(100 / portTICK_PERIOD_MS)) {
lv_obj_add_flag(action_list, LV_OBJ_FLAG_HIDDEN);
}
+3 -3
View File
@@ -49,9 +49,9 @@ void GpioApp::updatePinStates() {
}
void GpioApp::updatePinWidgets() {
auto scoped_lvgl_lock = lvgl::getLvglSyncLockable()->scoped();
auto scoped_gpio_lock = mutex.scoped();
if (scoped_gpio_lock->lock() && scoped_lvgl_lock->lock(100)) {
auto scoped_lvgl_lock = lvgl::getLvglSyncLock()->scoped();
auto scoped_gpio_lock = mutex.asScopedLock();
if (scoped_gpio_lock.lock() && scoped_lvgl_lock->lock(100)) {
for (int j = 0; j < GPIO_NUM_MAX; ++j) {
int level = pinStates[j];
lv_obj_t* label = lvPins[j];
@@ -90,7 +90,7 @@ ScreenshotApp::~ScreenshotApp() {
}
void ScreenshotApp::onTimerTick() {
auto lvgl_lock = lvgl::getLvglSyncLockable()->scoped();
auto lvgl_lock = lvgl::getLvglSyncLock()->scoped();
if (lvgl_lock->lock(50 / portTICK_PERIOD_MS)) {
updateScreenshotMode();
}
+3 -3
View File
@@ -36,7 +36,7 @@ void unlock() {
unlock_singleton();
}
class LvglSync : public Lockable {
class LvglSync : public Lock {
public:
~LvglSync() override = default;
@@ -50,9 +50,9 @@ public:
}
};
static std::shared_ptr<Lockable> lvglSync = std::make_shared<LvglSync>();
static std::shared_ptr<Lock> lvglSync = std::make_shared<LvglSync>();
std::shared_ptr<Lockable> getLvglSyncLockable() {
std::shared_ptr<Lock> getLvglSyncLock() {
return lvglSync;
}
+5 -5
View File
@@ -147,8 +147,8 @@ static LoaderStatus startAppWithManifestInternal(
TT_LOG_I(TAG, "Start with manifest %s", manifest->id.c_str());
auto scoped_lock = loader_singleton->mutex.scoped();
if (!scoped_lock->lock(50 / portTICK_PERIOD_MS)) {
auto lock = loader_singleton->mutex.asScopedLock();
if (!lock.lock(50 / portTICK_PERIOD_MS)) {
return LoaderStatus::ErrorInternal;
}
@@ -202,8 +202,8 @@ static LoaderStatus startAppInternal(
static void stopAppInternal() {
tt_check(loader_singleton != nullptr);
auto scoped_lock = loader_singleton->mutex.scoped();
if (!scoped_lock->lock(50 / portTICK_PERIOD_MS)) {
auto lock = loader_singleton->mutex.asScopedLock();
if (!lock.lock(50 / portTICK_PERIOD_MS)) {
return;
}
@@ -257,7 +257,7 @@ static void stopAppInternal() {
}
// Unlock so that we can send results to app and they can also start/stop new apps while processing these results
scoped_lock->unlock();
lock.unlock();
// WARNING: After this point we cannot change the app states from this method directly anymore as we don't have a lock!
LoaderEvent event_external = { .type = LoaderEventTypeApplicationStopped };
@@ -20,8 +20,8 @@ std::shared_ptr<ScreenshotService> _Nullable optScreenshotService() {
}
void ScreenshotService::startApps(const std::string& path) {
auto scoped_lockable = mutex.scoped();
if (!scoped_lockable->lock(50 / portTICK_PERIOD_MS)) {
auto lock = mutex.asScopedLock();
if (!lock.lock(50 / portTICK_PERIOD_MS)) {
TT_LOG_W(TAG, LOG_MESSAGE_MUTEX_LOCK_FAILED);
return;
}
@@ -36,8 +36,8 @@ void ScreenshotService::startApps(const std::string& path) {
}
void ScreenshotService::startTimed(const std::string& path, uint8_t delayInSeconds, uint8_t amount) {
auto scoped_lockable = mutex.scoped();
if (!scoped_lockable->lock(50 / portTICK_PERIOD_MS)) {
auto lock = mutex.asScopedLock();
if (!lock.lock(50 / portTICK_PERIOD_MS)) {
TT_LOG_W(TAG, LOG_MESSAGE_MUTEX_LOCK_FAILED);
return;
}
@@ -52,8 +52,8 @@ void ScreenshotService::startTimed(const std::string& path, uint8_t delayInSecon
}
void ScreenshotService::stop() {
auto scoped_lockable = mutex.scoped();
if (!scoped_lockable->lock(50 / portTICK_PERIOD_MS)) {
auto lock = mutex.asScopedLock();
if (!lock.lock(50 / portTICK_PERIOD_MS)) {
TT_LOG_W(TAG, LOG_MESSAGE_MUTEX_LOCK_FAILED);
return;
}
@@ -67,8 +67,8 @@ void ScreenshotService::stop() {
}
Mode ScreenshotService::getMode() const {
auto scoped_lockable = mutex.scoped();
if (!scoped_lockable->lock(50 / portTICK_PERIOD_MS)) {
auto lock = mutex.asScopedLock();
if (!lock.lock(50 / portTICK_PERIOD_MS)) {
TT_LOG_W(TAG, LOG_MESSAGE_MUTEX_LOCK_FAILED);
return Mode::None;
}
@@ -23,8 +23,8 @@ ScreenshotTask::~ScreenshotTask() {
}
bool ScreenshotTask::isInterrupted() {
auto scoped_lockable = mutex.scoped();
if (!scoped_lockable->lock(50 / portTICK_PERIOD_MS)) {
auto lock = mutex.asScopedLock();
if (!lock.lock(50 / portTICK_PERIOD_MS)) {
TT_LOG_W(TAG, LOG_MESSAGE_MUTEX_LOCK_FAILED);
return true;
}
@@ -32,8 +32,8 @@ bool ScreenshotTask::isInterrupted() {
}
bool ScreenshotTask::isFinished() {
auto scoped_lockable = mutex.scoped();
if (!scoped_lockable->lock(50 / portTICK_PERIOD_MS)) {
auto lock = mutex.asScopedLock();
if (!lock.lock(50 / portTICK_PERIOD_MS)) {
TT_LOG_W(TAG, LOG_MESSAGE_MUTEX_LOCK_FAILED);
return false;
}
@@ -41,8 +41,8 @@ bool ScreenshotTask::isFinished() {
}
void ScreenshotTask::setFinished() {
auto scoped_lockable = mutex.scoped();
scoped_lockable->lock();
auto lock = mutex.asScopedLock();
lock.lock();
finished = true;
}
@@ -106,8 +106,8 @@ void ScreenshotTask::taskMain() {
}
void ScreenshotTask::taskStart() {
auto scoped_lockable = mutex.scoped();
if (!scoped_lockable->lock(50 / portTICK_PERIOD_MS)) {
auto lock = mutex.asScopedLock();
if (!lock.lock(50 / portTICK_PERIOD_MS)) {
TT_LOG_E(TAG, LOG_MESSAGE_MUTEX_LOCK_FAILED);
return;
}
@@ -123,8 +123,8 @@ void ScreenshotTask::taskStart() {
}
void ScreenshotTask::startApps(const std::string& path) {
auto scoped_lockable = mutex.scoped();
if (!scoped_lockable->lock(50 / portTICK_PERIOD_MS)) {
auto lock = mutex.asScopedLock();
if (!lock.lock(50 / portTICK_PERIOD_MS)) {
TT_LOG_E(TAG, LOG_MESSAGE_MUTEX_LOCK_FAILED);
return;
}
@@ -140,8 +140,8 @@ void ScreenshotTask::startApps(const std::string& path) {
}
void ScreenshotTask::startTimed(const std::string& path, uint8_t delay_in_seconds, uint8_t amount) {
auto scoped_lockable = mutex.scoped();
if (!scoped_lockable->lock(50 / portTICK_PERIOD_MS)) {
auto lock = mutex.asScopedLock();
if (!lock.lock(50 / portTICK_PERIOD_MS)) {
TT_LOG_E(TAG, LOG_MESSAGE_MUTEX_LOCK_FAILED);
return;
}