File tree 5 files changed +19
-15
lines changed
examples/all-clusters-app
src/app/clusters/mode-select-server
5 files changed +19
-15
lines changed Original file line number Diff line number Diff line change @@ -31,7 +31,7 @@ namespace ModeSelect {
31
31
* This implementation statically defines the options.
32
32
*/
33
33
34
- class StaticSupportedModesManager : public chip ::app::Clusters::ModeSelect:: SupportedModesManager
34
+ class StaticSupportedModesManager : public SupportedModesManager
35
35
{
36
36
using ModeOptionStructType = Structs::ModeOptionStruct::Type;
37
37
using storage_value_type = const ModeOptionStructType;
@@ -52,8 +52,6 @@ class StaticSupportedModesManager : public chip::app::Clusters::ModeSelect::Supp
52
52
static const EndpointSpanPair supportedOptionsByEndpoints[MATTER_DM_MODE_SELECT_CLUSTER_SERVER_ENDPOINT_COUNT];
53
53
54
54
public:
55
- static const StaticSupportedModesManager instance;
56
-
57
55
SupportedModesManager::ModeOptionsProvider getModeOptionsProvider (EndpointId endpointId) const override ;
58
56
59
57
Protocols::InteractionModel::Status getModeOptionByMode (EndpointId endpointId, uint8_t mode,
@@ -62,12 +60,8 @@ class StaticSupportedModesManager : public chip::app::Clusters::ModeSelect::Supp
62
60
~StaticSupportedModesManager (){};
63
61
64
62
StaticSupportedModesManager () {}
65
-
66
- static inline const StaticSupportedModesManager & getStaticSupportedModesManagerInstance () { return instance; }
67
63
};
68
64
69
- const SupportedModesManager * getSupportedModesManager ();
70
-
71
65
} // namespace ModeSelect
72
66
} // namespace Clusters
73
67
} // namespace app
Original file line number Diff line number Diff line change @@ -39,8 +39,6 @@ const StaticSupportedModesManager::EndpointSpanPair
39
39
EndpointSpanPair (1 , Span<storage_value_type>(StaticSupportedModesManager::coffeeOptions)) // Options for Endpoint 1
40
40
};
41
41
42
- const StaticSupportedModesManager StaticSupportedModesManager::instance = StaticSupportedModesManager();
43
-
44
42
SupportedModesManager::ModeOptionsProvider StaticSupportedModesManager::getModeOptionsProvider (EndpointId endpointId) const
45
43
{
46
44
for (auto & endpointSpanPair : supportedOptionsByEndpoints)
@@ -76,8 +74,3 @@ Status StaticSupportedModesManager::getModeOptionByMode(unsigned short endpointI
76
74
ChipLogProgress (Zcl, " Cannot find the mode %u" , mode);
77
75
return Status::InvalidCommand;
78
76
}
79
-
80
- const ModeSelect::SupportedModesManager * ModeSelect::getSupportedModesManager ()
81
- {
82
- return &StaticSupportedModesManager::instance;
83
- }
Original file line number Diff line number Diff line change 58
58
#include < platform/DeviceInstanceInfoProvider.h>
59
59
#include < platform/DiagnosticDataProvider.h>
60
60
#include < platform/PlatformManager.h>
61
+ #include < static-supported-modes-manager.h>
61
62
#include < static-supported-temperature-levels.h>
62
63
#include < system/SystemPacketBuffer.h>
63
64
#include < transport/SessionManager.h>
@@ -80,6 +81,7 @@ AllClustersCommandDelegate sAllClustersCommandDelegate;
80
81
Clusters::WindowCovering::WindowCoveringManager sWindowCoveringManager ;
81
82
82
83
Clusters::TemperatureControl::AppSupportedTemperatureLevelsDelegate sAppSupportedTemperatureLevelsDelegate ;
84
+ Clusters::ModeSelect::StaticSupportedModesManager sStaticSupportedModesManager ;
83
85
Clusters::ValveConfigurationAndControl::ValveControlDelegate sValveDelegate ;
84
86
Clusters::TimeSynchronization::ExtendedTimeSyncDelegate sTimeSyncDelegate ;
85
87
@@ -246,6 +248,8 @@ void ApplicationInit()
246
248
MatterDishwasherAlarmServerInit ();
247
249
#endif
248
250
Clusters::TemperatureControl::SetInstance (&sAppSupportedTemperatureLevelsDelegate );
251
+ Clusters::ModeSelect::setSupportedModesManager (&sStaticSupportedModesManager );
252
+ ;
249
253
250
254
Clusters::ValveConfigurationAndControl::SetDefaultDelegate (chip::EndpointId (1 ), &sValveDelegate );
251
255
Clusters::TimeSynchronization::SetDefaultDelegate (&sTimeSyncDelegate );
Original file line number Diff line number Diff line change @@ -49,6 +49,17 @@ using BootReasonType = GeneralDiagnostics::BootReasonEnum;
49
49
50
50
static InteractionModel::Status verifyModeValue (const EndpointId endpointId, const uint8_t newMode);
51
51
52
+ ModeSelect::SupportedModesManager *sSupportedModesManager = nullptr ;
53
+
54
+ const SupportedModesManager * ModeSelect::getSupportedModesManager ()
55
+ {
56
+ return sSupportedModesManager ;
57
+ }
58
+
59
+ void ModeSelect::setSupportedModesManager (ModeSelect::SupportedModesManager * aSupportedModesManager)
60
+ {
61
+ sSupportedModesManager = aSupportedModesManager;
62
+ }
52
63
namespace {
53
64
54
65
inline bool areStartUpModeAndCurrentModeNonVolatile (EndpointId endpoint);
Original file line number Diff line number Diff line change @@ -34,7 +34,6 @@ class SupportedModesManager
34
34
{
35
35
36
36
using ModeOptionStructType = Structs::ModeOptionStruct::Type;
37
-
38
37
public:
39
38
/* *
40
39
* A class that can return the supported ModeOptions for a specific endpoint.
@@ -80,10 +79,13 @@ class SupportedModesManager
80
79
const ModeOptionStructType ** dataPtr) const = 0;
81
80
82
81
virtual ~SupportedModesManager () {}
82
+
83
83
};
84
84
85
85
const SupportedModesManager * getSupportedModesManager ();
86
86
87
+ void setSupportedModesManager (SupportedModesManager * aSupportedModesManager);
88
+
87
89
} // namespace ModeSelect
88
90
} // namespace Clusters
89
91
} // namespace app
You can’t perform that action at this time.
0 commit comments