Skip to content

Commit cb90e37

Browse files
committed
Pass in optional attributes in the general commissioning constructor.
1 parent d482d77 commit cb90e37

File tree

3 files changed

+47
-47
lines changed

3 files changed

+47
-47
lines changed

src/app/clusters/general-commissioning-server/CodegenIntegration.cpp

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -60,20 +60,19 @@ class IntegrationDelegate : public CodegenClusterIntegration::Delegate
6060
uint32_t optionalAttributeBits, uint32_t featureMap) override
6161
{
6262

63-
gServer.Create(GeneralCommissioningCluster::Context {
64-
.commissioningWindowManager = Server::GetInstance().GetCommissioningWindowManager(), //
65-
.configurationManager = DeviceLayer::ConfigurationMgr(), //
66-
.deviceControlServer = DeviceLayer::DeviceControlServer::DeviceControlSvr(), //
67-
.fabricTable = Server::GetInstance().GetFabricTable(), //
68-
.failsafeContext = Server::GetInstance().GetFailSafeContext(), //
69-
.platformManager = DeviceLayer::PlatformMgr(), //
63+
gServer.Create(
64+
GeneralCommissioningCluster::Context {
65+
.commissioningWindowManager = Server::GetInstance().GetCommissioningWindowManager(), //
66+
.configurationManager = DeviceLayer::ConfigurationMgr(), //
67+
.deviceControlServer = DeviceLayer::DeviceControlServer::DeviceControlSvr(), //
68+
.fabricTable = Server::GetInstance().GetFabricTable(), //
69+
.failsafeContext = Server::GetInstance().GetFailSafeContext(), //
70+
.platformManager = DeviceLayer::PlatformMgr(), //
7071
#if CHIP_CONFIG_TERMS_AND_CONDITIONS_REQUIRED
71-
.termsAndConditionsProvider = TermsAndConditionsManager::GetInstance(),
72+
.termsAndConditionsProvider = TermsAndConditionsManager::GetInstance(),
7273
#endif // CHIP_CONFIG_TERMS_AND_CONDITIONS_REQUIRED
73-
});
74-
75-
// Configure optional attributes based on fetched bits
76-
gServer.Cluster().GetOptionalAttributes() = GeneralCommissioningCluster::OptionalAttributes(optionalAttributeBits);
74+
},
75+
GeneralCommissioningCluster::OptionalAttributes(optionalAttributeBits));
7776

7877
return gServer.Registration();
7978
}

src/app/clusters/general-commissioning-server/general-commissioning-cluster.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,11 @@ class GeneralCommissioningCluster : public DefaultServerCluster, chip::FabricTab
6060
#endif // CHIP_CONFIG_TERMS_AND_CONDITIONS_REQUIRED
6161
};
6262

63-
GeneralCommissioningCluster(Context && context) :
63+
GeneralCommissioningCluster(Context && context, const OptionalAttributes & attrs) :
6464
DefaultServerCluster({ kRootEndpointId, GeneralCommissioning::Id }), mClusterContext(std::move(context)),
65-
mOptionalAttributes(0)
65+
mOptionalAttributes(attrs)
6666
{}
6767

68-
OptionalAttributes & GetOptionalAttributes() { return mOptionalAttributes; }
6968
Context & ClusterContext() { return mClusterContext; }
7069

7170
void SetBreadCrumb(uint64_t value) final;
@@ -99,7 +98,7 @@ class GeneralCommissioningCluster : public DefaultServerCluster, chip::FabricTab
9998

10099
private:
101100
Context mClusterContext;
102-
OptionalAttributes mOptionalAttributes;
101+
const OptionalAttributes mOptionalAttributes;
103102
uint64_t mBreadCrumb = 0;
104103

105104
std::optional<DataModel::ActionReturnStatus>

src/app/clusters/general-commissioning-server/tests/TestGeneralCommissioningCluster.cpp

Lines changed: 33 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -53,19 +53,19 @@ TEST_F(TestGeneralCommissioningCluster, TestAttributes)
5353
{
5454
// test without optional attributes
5555
{
56-
GeneralCommissioningCluster cluster(GeneralCommissioningCluster::Context {
57-
.commissioningWindowManager = Server::GetInstance().GetCommissioningWindowManager(), //
58-
.configurationManager = DeviceLayer::ConfigurationMgr(), //
59-
.deviceControlServer = DeviceLayer::DeviceControlServer::DeviceControlSvr(), //
60-
.fabricTable = Server::GetInstance().GetFabricTable(), //
61-
.failsafeContext = Server::GetInstance().GetFailSafeContext(), //
62-
.platformManager = DeviceLayer::PlatformMgr(), //
56+
GeneralCommissioningCluster cluster(
57+
GeneralCommissioningCluster::Context {
58+
.commissioningWindowManager = Server::GetInstance().GetCommissioningWindowManager(), //
59+
.configurationManager = DeviceLayer::ConfigurationMgr(), //
60+
.deviceControlServer = DeviceLayer::DeviceControlServer::DeviceControlSvr(), //
61+
.fabricTable = Server::GetInstance().GetFabricTable(), //
62+
.failsafeContext = Server::GetInstance().GetFailSafeContext(), //
63+
.platformManager = DeviceLayer::PlatformMgr(), //
6364
#if CHIP_CONFIG_TERMS_AND_CONDITIONS_REQUIRED
64-
.termsAndConditionsProvider = TermsAndConditionsManager::GetInstance(),
65+
.termsAndConditionsProvider = TermsAndConditionsManager::GetInstance(),
6566
#endif // CHIP_CONFIG_TERMS_AND_CONDITIONS_REQUIRED
66-
});
67-
auto & optionalAttributes = cluster.GetOptionalAttributes();
68-
optionalAttributes = GeneralCommissioningCluster::OptionalAttributes(0);
67+
},
68+
GeneralCommissioningCluster::OptionalAttributes(0));
6969

7070
ReadOnlyBufferBuilder<AttributeEntry> builder;
7171
ASSERT_EQ(cluster.Attributes({ kRootEndpointId, GeneralCommissioning::Id }, builder), CHIP_NO_ERROR);
@@ -99,19 +99,19 @@ TEST_F(TestGeneralCommissioningCluster, TestAttributes)
9999

100100
// test with optional attributes
101101
{
102-
GeneralCommissioningCluster cluster(GeneralCommissioningCluster::Context {
103-
.commissioningWindowManager = Server::GetInstance().GetCommissioningWindowManager(), //
104-
.configurationManager = DeviceLayer::ConfigurationMgr(), //
105-
.deviceControlServer = DeviceLayer::DeviceControlServer::DeviceControlSvr(), //
106-
.fabricTable = Server::GetInstance().GetFabricTable(), //
107-
.failsafeContext = Server::GetInstance().GetFailSafeContext(), //
108-
.platformManager = DeviceLayer::PlatformMgr(), //
102+
GeneralCommissioningCluster cluster(
103+
GeneralCommissioningCluster::Context {
104+
.commissioningWindowManager = Server::GetInstance().GetCommissioningWindowManager(), //
105+
.configurationManager = DeviceLayer::ConfigurationMgr(), //
106+
.deviceControlServer = DeviceLayer::DeviceControlServer::DeviceControlSvr(), //
107+
.fabricTable = Server::GetInstance().GetFabricTable(), //
108+
.failsafeContext = Server::GetInstance().GetFailSafeContext(), //
109+
.platformManager = DeviceLayer::PlatformMgr(), //
109110
#if CHIP_CONFIG_TERMS_AND_CONDITIONS_REQUIRED
110-
.termsAndConditionsProvider = TermsAndConditionsManager::GetInstance(),
111+
.termsAndConditionsProvider = TermsAndConditionsManager::GetInstance(),
111112
#endif // CHIP_CONFIG_TERMS_AND_CONDITIONS_REQUIRED
112-
});
113-
auto & optionalAttributes = cluster.GetOptionalAttributes();
114-
optionalAttributes.Set<IsCommissioningWithoutPower::Id>();
113+
},
114+
GeneralCommissioningCluster::OptionalAttributes().Set<IsCommissioningWithoutPower::Id>());
115115

116116
ReadOnlyBufferBuilder<AttributeEntry> builder;
117117
ASSERT_EQ(cluster.Attributes({ kRootEndpointId, GeneralCommissioning::Id }, builder), CHIP_NO_ERROR);
@@ -152,17 +152,19 @@ TEST_F(TestGeneralCommissioningCluster, TestAttributes)
152152

153153
TEST_F(TestGeneralCommissioningCluster, TestAcceptedCommands)
154154
{
155-
GeneralCommissioningCluster cluster(GeneralCommissioningCluster::Context {
156-
.commissioningWindowManager = Server::GetInstance().GetCommissioningWindowManager(), //
157-
.configurationManager = DeviceLayer::ConfigurationMgr(), //
158-
.deviceControlServer = DeviceLayer::DeviceControlServer::DeviceControlSvr(), //
159-
.fabricTable = Server::GetInstance().GetFabricTable(), //
160-
.failsafeContext = Server::GetInstance().GetFailSafeContext(), //
161-
.platformManager = DeviceLayer::PlatformMgr(), //
155+
GeneralCommissioningCluster cluster(
156+
GeneralCommissioningCluster::Context {
157+
.commissioningWindowManager = Server::GetInstance().GetCommissioningWindowManager(), //
158+
.configurationManager = DeviceLayer::ConfigurationMgr(), //
159+
.deviceControlServer = DeviceLayer::DeviceControlServer::DeviceControlSvr(), //
160+
.fabricTable = Server::GetInstance().GetFabricTable(), //
161+
.failsafeContext = Server::GetInstance().GetFailSafeContext(), //
162+
.platformManager = DeviceLayer::PlatformMgr(), //
162163
#if CHIP_CONFIG_TERMS_AND_CONDITIONS_REQUIRED
163-
.termsAndConditionsProvider = TermsAndConditionsManager::GetInstance(),
164+
.termsAndConditionsProvider = TermsAndConditionsManager::GetInstance(),
164165
#endif // CHIP_CONFIG_TERMS_AND_CONDITIONS_REQUIRED
165-
});
166+
},
167+
GeneralCommissioningCluster::OptionalAttributes());
166168

167169
{
168170
ReadOnlyBufferBuilder<AcceptedCommandEntry> builder;

0 commit comments

Comments
 (0)