Skip to content

Commit 1d4f684

Browse files
ModeSelect: Add setter API for SupportedModesManager. (#34809)
* Add setter API for SupportedModesManager * Example changes * Restyled by clang-format * Fix namespace usage * Address review comments --------- Co-authored-by: Restyled.io <commits@restyled.io>
1 parent 2787db2 commit 1d4f684

File tree

30 files changed

+105
-60
lines changed

30 files changed

+105
-60
lines changed

examples/all-clusters-app/all-clusters-common/include/static-supported-modes-manager.h

+1-7
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ namespace ModeSelect {
3131
* This implementation statically defines the options.
3232
*/
3333

34-
class StaticSupportedModesManager : public chip::app::Clusters::ModeSelect::SupportedModesManager
34+
class StaticSupportedModesManager : public SupportedModesManager
3535
{
3636
using ModeOptionStructType = Structs::ModeOptionStruct::Type;
3737
using storage_value_type = const ModeOptionStructType;
@@ -52,8 +52,6 @@ class StaticSupportedModesManager : public chip::app::Clusters::ModeSelect::Supp
5252
static const EndpointSpanPair supportedOptionsByEndpoints[MATTER_DM_MODE_SELECT_CLUSTER_SERVER_ENDPOINT_COUNT];
5353

5454
public:
55-
static const StaticSupportedModesManager instance;
56-
5755
SupportedModesManager::ModeOptionsProvider getModeOptionsProvider(EndpointId endpointId) const override;
5856

5957
Protocols::InteractionModel::Status getModeOptionByMode(EndpointId endpointId, uint8_t mode,
@@ -62,12 +60,8 @@ class StaticSupportedModesManager : public chip::app::Clusters::ModeSelect::Supp
6260
~StaticSupportedModesManager(){};
6361

6462
StaticSupportedModesManager() {}
65-
66-
static inline const StaticSupportedModesManager & getStaticSupportedModesManagerInstance() { return instance; }
6763
};
6864

69-
const SupportedModesManager * getSupportedModesManager();
70-
7165
} // namespace ModeSelect
7266
} // namespace Clusters
7367
} // namespace app

examples/all-clusters-app/all-clusters-common/src/static-supported-modes-manager.cpp

-7
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,6 @@ const StaticSupportedModesManager::EndpointSpanPair
3939
EndpointSpanPair(1, Span<storage_value_type>(StaticSupportedModesManager::coffeeOptions)) // Options for Endpoint 1
4040
};
4141

42-
const StaticSupportedModesManager StaticSupportedModesManager::instance = StaticSupportedModesManager();
43-
4442
SupportedModesManager::ModeOptionsProvider StaticSupportedModesManager::getModeOptionsProvider(EndpointId endpointId) const
4543
{
4644
for (auto & endpointSpanPair : supportedOptionsByEndpoints)
@@ -76,8 +74,3 @@ Status StaticSupportedModesManager::getModeOptionByMode(unsigned short endpointI
7674
ChipLogProgress(Zcl, "Cannot find the mode %u", mode);
7775
return Status::InvalidCommand;
7876
}
79-
80-
const ModeSelect::SupportedModesManager * ModeSelect::getSupportedModesManager()
81-
{
82-
return &StaticSupportedModesManager::instance;
83-
}

examples/all-clusters-app/ameba/main/chipinterface.cpp

+3
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
#include <platform/CHIPDeviceLayer.h>
4848
#include <setup_payload/ManualSetupPayloadGenerator.h>
4949
#include <setup_payload/QRCodeSetupPayloadGenerator.h>
50+
#include <static-supported-modes-manager.h>
5051
#include <static-supported-temperature-levels.h>
5152
#include <support/CHIPMem.h>
5253
#if CONFIG_ENABLE_AMEBA_TEST_EVENT_TRIGGER
@@ -77,6 +78,7 @@ app::Clusters::NetworkCommissioning::Instance
7778
&(NetworkCommissioning::AmebaWiFiDriver::GetInstance()));
7879

7980
app::Clusters::TemperatureControl::AppSupportedTemperatureLevelsDelegate sAppSupportedTemperatureLevelsDelegate;
81+
Clusters::ModeSelect::StaticSupportedModesManager sStaticSupportedModesManager;
8082
} // namespace
8183

8284
void NetWorkCommissioningInstInit()
@@ -181,6 +183,7 @@ static void InitServer(intptr_t context)
181183
InitManualOperation();
182184
#endif
183185
app::Clusters::TemperatureControl::SetInstance(&sAppSupportedTemperatureLevelsDelegate);
186+
Clusters::ModeSelect::setSupportedModesManager(&sStaticSupportedModesManager);
184187
MatterMicrowaveOvenServerInit();
185188
#if CONFIG_ENABLE_AMEBA_TEST_EVENT_TRIGGER
186189
static SmokeCOTestEventTriggerHandler sSmokeCOTestEventTriggerHandler;

examples/all-clusters-app/asr/src/AppTask.cpp

+3
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
#include <protocols/interaction_model/StatusCode.h>
4343
#include <setup_payload/QRCodeSetupPayloadGenerator.h>
4444
#include <setup_payload/SetupPayload.h>
45+
#include <static-supported-modes-manager.h>
4546
#include <static-supported-temperature-levels.h>
4647

4748
using chip::Protocols::InteractionModel::Status;
@@ -66,6 +67,7 @@ app::Clusters::NetworkCommissioning::Instance
6667
sWiFiNetworkCommissioningInstance(kNetworkCommissioningEndpointMain /* Endpoint Id */,
6768
&(NetworkCommissioning::ASRWiFiDriver::GetInstance()));
6869
app::Clusters::TemperatureControl::AppSupportedTemperatureLevelsDelegate sAppSupportedTemperatureLevelsDelegate;
70+
app::Clusters::ModeSelect::StaticSupportedModesManager sStaticSupportedModesManager;
6971
} // namespace
7072

7173
AppTask AppTask::sAppTask;
@@ -131,6 +133,7 @@ CHIP_ERROR AppTask::Init()
131133
#endif /* CONFIG_NETWORK_LAYER_BLE */
132134

133135
app::Clusters::TemperatureControl::SetInstance(&sAppSupportedTemperatureLevelsDelegate);
136+
app::Clusters::ModeSelect::setSupportedModesManager(&sStaticSupportedModesManager);
134137

135138
return CHIP_NO_ERROR;
136139
}

examples/all-clusters-app/cc13x4_26x4/main/AppTask.cpp

+3
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
#include <app/clusters/general-diagnostics-server/GenericFaultTestEventTriggerHandler.h>
5050
#include <src/platform/cc13xx_26xx/DefaultTestEventTriggerDelegate.h>
5151

52+
#include <static-supported-modes-manager.h>
5253
#include <ti/drivers/apps/Button.h>
5354
#include <ti/drivers/apps/LED.h>
5455

@@ -73,6 +74,7 @@ static Button_Handle sAppRightHandle;
7374
static DeviceInfoProviderImpl sExampleDeviceInfoProvider;
7475

7576
AppTask AppTask::sAppTask;
77+
app::Clusters::ModeSelect::StaticSupportedModesManager sStaticSupportedModesManager;
7678

7779
constexpr EndpointId kNetworkCommissioningEndpointSecondary = 0xFFFE;
7880

@@ -334,6 +336,7 @@ int AppTask::Init()
334336
// QR code will be used with CHIP Tool
335337
PrintOnboardingCodes(RendezvousInformationFlags(RendezvousInformationFlag::kBLE));
336338

339+
app::Clusters::ModeSelect::setSupportedModesManager(&sStaticSupportedModesManager);
337340
return 0;
338341
}
339342

examples/all-clusters-app/esp32/main/CMakeLists.txt

+1-5
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ set(SRC_DIRS_LIST
4040
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/platform/esp32/ota"
4141
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/platform/esp32/common"
4242
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/platform/esp32/shell_extension"
43-
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/platform/esp32/mode-support"
4443
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/server"
4544
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/icd/server"
4645
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/util"
@@ -112,8 +111,6 @@ set(SRC_DIRS_LIST
112111
)
113112

114113

115-
set(EXCLUDE_SRCS "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/all-clusters-app/all-clusters-common/src/static-supported-modes-manager.cpp")
116-
117114
if (CONFIG_ENABLE_PW_RPC)
118115
# Append additional directories for RPC build
119116
set(PRIV_INCLUDE_DIRS_LIST "${PRIV_INCLUDE_DIRS_LIST}"
@@ -143,8 +140,7 @@ if (CONFIG_ENABLE_ICD_SERVER)
143140
endif()
144141

145142
idf_component_register(PRIV_INCLUDE_DIRS ${PRIV_INCLUDE_DIRS_LIST}
146-
SRC_DIRS ${SRC_DIRS_LIST}
147-
EXCLUDE_SRCS ${EXCLUDE_SRCS})
143+
SRC_DIRS ${SRC_DIRS_LIST})
148144

149145
get_filename_component(CHIP_ROOT ${CMAKE_SOURCE_DIR}/third_party/connectedhomeip REALPATH)
150146

examples/all-clusters-app/esp32/main/main.cpp

+3-8
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@
4141
#include <common/Esp32ThreadInit.h>
4242
#include <credentials/DeviceAttestationCredsProvider.h>
4343
#include <credentials/examples/DeviceAttestationCredsExample.h>
44-
#include <examples/platform/esp32/mode-support/static-supported-modes-manager.h>
4544
#include <platform/ESP32/ESP32Utils.h>
45+
#include <static-supported-modes-manager.h>
4646
#include <static-supported-temperature-levels.h>
4747

4848
#if CONFIG_HAVE_DISPLAY
@@ -95,6 +95,7 @@ class AppCallbacks : public AppDelegate
9595
AppCallbacks sCallbacks;
9696

9797
app::Clusters::TemperatureControl::AppSupportedTemperatureLevelsDelegate sAppSupportedTemperatureLevelsDelegate;
98+
app::Clusters::ModeSelect::StaticSupportedModesManager sStaticSupportedModesManager;
9899

99100
constexpr EndpointId kNetworkCommissioningEndpointSecondary = 0xFFFE;
100101

@@ -122,15 +123,9 @@ static void InitServer(intptr_t context)
122123
#if CONFIG_DEVICE_TYPE_M5STACK
123124
SetupPretendDevices();
124125
#endif
125-
CHIP_ERROR err =
126-
app::Clusters::ModeSelect::StaticSupportedModesManager::getStaticSupportedModesManagerInstance().InitEndpointArray(
127-
FIXED_ENDPOINT_COUNT);
128-
if (err != CHIP_NO_ERROR)
129-
{
130-
ESP_LOGE(TAG, "Failed to initialize endpoint array for supported-modes, err:%" CHIP_ERROR_FORMAT, err.Format());
131-
}
132126

133127
app::Clusters::TemperatureControl::SetInstance(&sAppSupportedTemperatureLevelsDelegate);
128+
app::Clusters::ModeSelect::setSupportedModesManager(&sStaticSupportedModesManager);
134129
}
135130

136131
// #include <laundry-washer-controls-server/laundry-washer-controls-server.h>

examples/all-clusters-app/infineon/psoc6/src/AppTask.cpp

+3
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
#include <DeviceInfoProviderImpl.h>
4242
#include <app/clusters/network-commissioning/network-commissioning.h>
4343
#include <platform/Infineon/PSOC6/NetworkCommissioningDriver.h>
44+
#include <static-supported-modes-manager.h>
4445
#include <static-supported-temperature-levels.h>
4546

4647
/* OTA related includes */
@@ -98,6 +99,7 @@ OTAImageProcessorImpl gImageProcessor;
9899
#endif
99100

100101
chip::app::Clusters::TemperatureControl::AppSupportedTemperatureLevelsDelegate sAppSupportedTemperatureLevelsDelegate;
102+
chip::app::Clusters::ModeSelect::StaticSupportedModesManager sStaticSupportedModesManager;
101103
} // namespace
102104

103105
using namespace ::chip;
@@ -141,6 +143,7 @@ static void InitServer(intptr_t context)
141143
GetAppTask().InitOTARequestor();
142144
#endif
143145
chip::app::Clusters::TemperatureControl::SetInstance(&sAppSupportedTemperatureLevelsDelegate);
146+
chip::app::Clusters::ModeSelect::setSupportedModesManager(&sStaticSupportedModesManager);
144147
}
145148

146149
CHIP_ERROR AppTask::StartAppTask()

examples/all-clusters-app/linux/main-common.cpp

+3
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@
5858
#include <platform/DeviceInstanceInfoProvider.h>
5959
#include <platform/DiagnosticDataProvider.h>
6060
#include <platform/PlatformManager.h>
61+
#include <static-supported-modes-manager.h>
6162
#include <static-supported-temperature-levels.h>
6263
#include <system/SystemPacketBuffer.h>
6364
#include <transport/SessionManager.h>
@@ -80,6 +81,7 @@ AllClustersCommandDelegate sAllClustersCommandDelegate;
8081
Clusters::WindowCovering::WindowCoveringManager sWindowCoveringManager;
8182

8283
Clusters::TemperatureControl::AppSupportedTemperatureLevelsDelegate sAppSupportedTemperatureLevelsDelegate;
84+
Clusters::ModeSelect::StaticSupportedModesManager sStaticSupportedModesManager;
8385
Clusters::ValveConfigurationAndControl::ValveControlDelegate sValveDelegate;
8486
Clusters::TimeSynchronization::ExtendedTimeSyncDelegate sTimeSyncDelegate;
8587

@@ -246,6 +248,7 @@ void ApplicationInit()
246248
MatterDishwasherAlarmServerInit();
247249
#endif
248250
Clusters::TemperatureControl::SetInstance(&sAppSupportedTemperatureLevelsDelegate);
251+
Clusters::ModeSelect::setSupportedModesManager(&sStaticSupportedModesManager);
249252

250253
Clusters::ValveConfigurationAndControl::SetDefaultDelegate(chip::EndpointId(1), &sValveDelegate);
251254
Clusters::TimeSynchronization::SetDefaultDelegate(&sTimeSyncDelegate);

examples/all-clusters-app/mbed/main/AppTask.cpp

+4-1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
#include <app/server/Server.h>
2626
#include <credentials/DeviceAttestationCredsProvider.h>
2727
#include <credentials/examples/DeviceAttestationCredsExample.h>
28+
#include <static-supported-modes-manager.h>
2829
#include <static-supported-temperature-levels.h>
2930

3031
#include <lib/support/logging/CHIPLogging.h>
@@ -45,7 +46,8 @@ using namespace ::chip::Credentials;
4546

4647
namespace {
4748
app::Clusters::TemperatureControl::AppSupportedTemperatureLevelsDelegate sAppSupportedTemperatureLevelsDelegate;
48-
}
49+
app::Clusters::ModeSelect::StaticSupportedModesManager sStaticSupportedModesManager;
50+
} // namespace
4951

5052
AppTask AppTask::sAppTask;
5153

@@ -90,6 +92,7 @@ int AppTask::Init()
9092
return EXIT_FAILURE;
9193
}
9294
app::Clusters::TemperatureControl::SetInstance(&sAppSupportedTemperatureLevelsDelegate);
95+
app::Clusters::ModeSelect::setSupportedModesManager(&sStaticSupportedModesManager);
9396
return 0;
9497
}
9598

examples/all-clusters-app/nrfconnect/main/AppTask.cpp

+3
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535

3636
#include <credentials/DeviceAttestationCredsProvider.h>
3737
#include <credentials/examples/DeviceAttestationCredsExample.h>
38+
#include <static-supported-modes-manager.h>
3839
#include <static-supported-temperature-levels.h>
3940

4041
#ifdef CONFIG_CHIP_WIFI
@@ -95,6 +96,7 @@ bool sIsNetworkEnabled = false;
9596
bool sHaveBLEConnections = false;
9697

9798
app::Clusters::TemperatureControl::AppSupportedTemperatureLevelsDelegate sAppSupportedTemperatureLevelsDelegate;
99+
app::Clusters::ModeSelect::StaticSupportedModesManager sStaticSupportedModesManager;
98100

99101
#ifdef CONFIG_CHIP_CRYPTO_PSA
100102
chip::Crypto::PSAOperationalKeystore sPSAOperationalKeystore{};
@@ -257,6 +259,7 @@ CHIP_ERROR AppTask::Init()
257259
}
258260

259261
app::Clusters::TemperatureControl::SetInstance(&sAppSupportedTemperatureLevelsDelegate);
262+
app::Clusters::ModeSelect::setSupportedModesManager(&sStaticSupportedModesManager);
260263
return err;
261264
}
262265

examples/all-clusters-app/nxp/mw320/main.cpp

+3
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
#include <lib/support/logging/CHIPLogging.h>
4242
#include <platform/CHIPDeviceLayer.h>
4343
#include <setup_payload/QRCodeSetupPayloadGenerator.h>
44+
#include <static-supported-modes-manager.h>
4445
#include <static-supported-temperature-levels.h>
4546

4647
#include <app/InteractionModelEngine.h>
@@ -121,6 +122,7 @@ static struct wlan_network sta_network;
121122
static struct wlan_network uap_network;
122123

123124
chip::app::Clusters::TemperatureControl::AppSupportedTemperatureLevelsDelegate sAppSupportedTemperatureLevelsDelegate;
125+
chip::app::Clusters::ModeSelect::StaticSupportedModesManager sStaticSupportedModesManager;
124126

125127
const int TASK_MAIN_PRIO = OS_PRIO_3;
126128
const int TASK_MAIN_STACK_SIZE = 800;
@@ -1083,6 +1085,7 @@ static void run_chip_srv(System::Layer * aSystemLayer, void * aAppState)
10831085
// binding --
10841086

10851087
chip::app::Clusters::TemperatureControl::SetInstance(&sAppSupportedTemperatureLevelsDelegate);
1088+
chip::app::Clusters::ModeSelect::setSupportedModesManager(&sStaticSupportedModesManager);
10861089

10871090
return;
10881091
}

examples/all-clusters-app/telink/src/AppTask.cpp

+3
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,12 @@
1818

1919
#include "AppTask.h"
2020
#include "binding-handler.h"
21+
#include <static-supported-modes-manager.h>
2122

2223
LOG_MODULE_DECLARE(app, CONFIG_CHIP_APP_LOG_LEVEL);
2324

2425
AppTask AppTask::sAppTask;
26+
chip::app::Clusters::ModeSelect::StaticSupportedModesManager sStaticSupportedModesManager;
2527

2628
CHIP_ERROR AppTask::Init(void)
2729
{
@@ -35,5 +37,6 @@ CHIP_ERROR AppTask::Init(void)
3537
return err;
3638
}
3739

40+
chip::app::Clusters::ModeSelect::setSupportedModesManager(&sStaticSupportedModesManager);
3841
return CHIP_NO_ERROR;
3942
}

examples/all-clusters-app/tizen/src/main.cpp

+3
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
#include <app/clusters/network-commissioning/network-commissioning.h>
2323
#include <app/util/endpoint-config-api.h>
2424
#include <platform/Tizen/NetworkCommissioningDriver.h>
25+
#include <static-supported-modes-manager.h>
2526
#include <static-supported-temperature-levels.h>
2627

2728
#include <TizenServiceAppMain.h>
@@ -40,6 +41,7 @@ NetworkCommissioning::TizenEthernetDriver sEthernetDriver;
4041
Clusters::NetworkCommissioning::Instance sEthernetNetworkCommissioningInstance(kNetworkCommissioningEndpointMain, &sEthernetDriver);
4142

4243
app::Clusters::TemperatureControl::AppSupportedTemperatureLevelsDelegate sAppSupportedTemperatureLevelsDelegate;
44+
Clusters::ModeSelect::StaticSupportedModesManager sStaticSupportedModesManager;
4345
} // namespace
4446

4547
void ApplicationInit()
@@ -49,6 +51,7 @@ void ApplicationInit()
4951

5052
sEthernetNetworkCommissioningInstance.Init();
5153
app::Clusters::TemperatureControl::SetInstance(&sAppSupportedTemperatureLevelsDelegate);
54+
Clusters::ModeSelect::setSupportedModesManager(&sStaticSupportedModesManager);
5255
}
5356

5457
void ApplicationShutdown() {}

examples/all-clusters-minimal-app/ameba/main/chipinterface.cpp

+3
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
#include <platform/CHIPDeviceLayer.h>
3838
#include <setup_payload/ManualSetupPayloadGenerator.h>
3939
#include <setup_payload/QRCodeSetupPayloadGenerator.h>
40+
#include <static-supported-modes-manager.h>
4041
#include <support/CHIPMem.h>
4142

4243
#if CONFIG_ENABLE_OTA_REQUESTOR
@@ -64,6 +65,7 @@ namespace { // Network Commissioning
6465
constexpr EndpointId kNetworkCommissioningEndpointMain = 0;
6566
constexpr EndpointId kNetworkCommissioningEndpointSecondary = 0xFFFE;
6667

68+
Clusters::ModeSelect::StaticSupportedModesManager sStaticSupportedModesManager;
6769
app::Clusters::NetworkCommissioning::Instance
6870
sWiFiNetworkCommissioningInstance(kNetworkCommissioningEndpointMain /* Endpoint Id */,
6971
&(NetworkCommissioning::AmebaWiFiDriver::GetInstance()));
@@ -170,6 +172,7 @@ static void InitServer(intptr_t context)
170172
// QR code will be used with CHIP Tool
171173
PrintOnboardingCodes(chip::RendezvousInformationFlags(chip::RendezvousInformationFlag::kBLE));
172174
}
175+
Clusters::ModeSelect::setSupportedModesManager(&sStaticSupportedModesManager);
173176
}
174177

175178
extern "C" void ChipTest(void)

examples/all-clusters-minimal-app/asr/src/AppTask.cpp

+3
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
#include <queue.h>
4343
#include <setup_payload/QRCodeSetupPayloadGenerator.h>
4444
#include <setup_payload/SetupPayload.h>
45+
#include <static-supported-modes-manager.h>
4546

4647
#include "init_Matter.h"
4748
#include "lega_rtos_api.h"
@@ -60,6 +61,7 @@ QueueHandle_t sAppEventQueue;
6061
constexpr EndpointId kNetworkCommissioningEndpointMain = 0;
6162
constexpr EndpointId kNetworkCommissioningEndpointSecondary = 0xFFFE;
6263

64+
app::Clusters::ModeSelect::StaticSupportedModesManager sStaticSupportedModesManager;
6365
app::Clusters::NetworkCommissioning::Instance
6466
sWiFiNetworkCommissioningInstance(kNetworkCommissioningEndpointMain /* Endpoint Id */,
6567
&(NetworkCommissioning::ASRWiFiDriver::GetInstance()));
@@ -120,6 +122,7 @@ CHIP_ERROR AppTask::Init()
120122

121123
sLightLED.Init(LIGHT_LED);
122124

125+
app::Clusters::ModeSelect::setSupportedModesManager(&sStaticSupportedModesManager);
123126
return CHIP_NO_ERROR;
124127
}
125128

0 commit comments

Comments
 (0)