@@ -38,14 +38,6 @@ using chip::Protocols::InteractionModel::Status;
38
38
39
39
namespace {
40
40
41
- NodeId getNodeId (const app::CommandHandler * commandObj)
42
- {
43
- VerifyOrDie (commandObj);
44
- auto descriptor = commandObj->GetSubjectDescriptor ();
45
-
46
- return descriptor.subject ;
47
- }
48
-
49
41
void AddReverseOpenCommissioningWindowResponse (CommandHandler * commandObj, const ConcreteCommandPath & path,
50
42
const Clusters::CommissionerControl::CommissioningWindowParams & params)
51
43
{
@@ -128,7 +120,8 @@ CommissionerControlServer::SetSupportedDeviceCategoriesValue(EndpointId endpoint
128
120
return status;
129
121
}
130
122
131
- CHIP_ERROR CommissionerControlServer::GenerateCommissioningRequestResultEvent (const Events::CommissioningRequestResult::Type & result)
123
+ CHIP_ERROR
124
+ CommissionerControlServer::GenerateCommissioningRequestResultEvent (const Events::CommissioningRequestResult::Type & result)
132
125
{
133
126
EventNumber eventNumber;
134
127
CHIP_ERROR error = LogEvent (result, kRootEndpointId , eventNumber);
@@ -154,7 +147,8 @@ bool emberAfCommissionerControlClusterRequestCommissioningApprovalCallback(
154
147
155
148
ChipLogProgress (Zcl, " Received command to request commissioning approval" );
156
149
157
- auto sourceNodeId = getNodeId (commandObj);
150
+ auto descriptor = commandObj->GetSubjectDescriptor ();
151
+ auto sourceNodeId = descriptor.subject ;
158
152
auto fabricIndex = commandObj->GetAccessingFabricIndex ();
159
153
auto requestId = commandData.requestId ;
160
154
auto vendorId = commandData.vendorId ;
@@ -197,7 +191,8 @@ bool emberAfCommissionerControlClusterCommissionNodeCallback(
197
191
198
192
ChipLogProgress (Zcl, " Received command to commission node" );
199
193
200
- auto sourceNodeId = getNodeId (commandObj);
194
+ auto descriptor = commandObj->GetSubjectDescriptor ();
195
+ auto sourceNodeId = descriptor.subject ;
201
196
auto requestId = commandData.requestId ;
202
197
203
198
auto info = std::make_unique<Clusters::CommissionerControl::CommissionNodeInfo>();
@@ -210,7 +205,9 @@ bool emberAfCommissionerControlClusterCommissionNodeCallback(
210
205
VerifyOrExit (sourceNodeId != kUndefinedNodeId , err = CHIP_ERROR_WRONG_NODE_ID);
211
206
VerifyOrExit (delegate != nullptr , err = CHIP_ERROR_INCORRECT_STATE);
212
207
213
- // Handle commissioning approval request
208
+ // Handle commissioning approval request, the ipAddress assigned from commandData need to be stored in
209
+ // CommissionerControl::Delegate which ensure that the backing buffer of ipAddress has a valid lifespan until the deferred task
210
+ // is executed.
214
211
err = delegate->ValidateCommissionNodeCommand (sourceNodeId, requestId, info->params );
215
212
SuccessOrExit (err == CHIP_NO_ERROR);
216
213
@@ -229,3 +226,8 @@ bool emberAfCommissionerControlClusterCommissionNodeCallback(
229
226
230
227
return true ;
231
228
}
229
+
230
+ void MatterCommissionerControlPluginServerInitCallback ()
231
+ {
232
+ ChipLogProgress (Zcl, " Initiating Commissioner Control cluster." );
233
+ }
0 commit comments