From 1079430860de71cf79eed86ffd10262762eb2820 Mon Sep 17 00:00:00 2001 From: Ravinder <43106203+shinchan-bot@users.noreply.github.com> Date: Thu, 20 Jul 2023 12:23:52 +0530 Subject: [PATCH] [Tizen] Add missing thread network connected callback (#184) (#23454) Co-authored-by: ravinder.01@samsung.com --- src/platform/Tizen/ThreadStackManagerImpl.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/platform/Tizen/ThreadStackManagerImpl.cpp b/src/platform/Tizen/ThreadStackManagerImpl.cpp index 137497afb76526..7813fb0c083ee0 100644 --- a/src/platform/Tizen/ThreadStackManagerImpl.cpp +++ b/src/platform/Tizen/ThreadStackManagerImpl.cpp @@ -55,6 +55,7 @@ #include #include +#include namespace chip { namespace DeviceLayer { @@ -311,9 +312,26 @@ CHIP_ERROR ThreadStackManagerImpl::_SetThreadEnabled(bool val) if (val && !isEnabled) { threadErr = thread_network_attach(mThreadInstance); + DeviceLayer::SystemLayer().ScheduleLambda([&, threadErr]() { + if (this->mpConnectCallback != nullptr && threadErr != THREAD_ERROR_NONE) + { + this->mpConnectCallback->OnResult(NetworkCommissioning::Status::kUnknownError, CharSpan(), 0); + this->mpConnectCallback = nullptr; + } + }); + VerifyOrExit(threadErr == THREAD_ERROR_NONE, ChipLogError(DeviceLayer, "FAIL: attach thread network")); threadErr = thread_start(mThreadInstance); + DeviceLayer::SystemLayer().ScheduleLambda([&, threadErr]() { + if (this->mpConnectCallback != nullptr) + { + this->mpConnectCallback->OnResult(threadErr == THREAD_ERROR_NONE ? NetworkCommissioning::Status::kSuccess + : NetworkCommissioning::Status::kUnknownError, + CharSpan(), 0); + this->mpConnectCallback = nullptr; + } + }); VerifyOrExit(threadErr == THREAD_ERROR_NONE, ChipLogError(DeviceLayer, "FAIL: start thread network")); } else if (!val && isEnabled)