Skip to content

Commit 1b0532a

Browse files
andy31415andreilitvin
authored andcommitted
Prefix InteractionModel namespace with protocols (project-chip#34376)
* Update namespace access for InteractionModel * Undo change that is from other PR * Pulled 2 more files * Pulled one more file --------- Co-authored-by: Andrei Litvin <andreilitvin@google.com>
1 parent 34e4810 commit 1b0532a

File tree

6 files changed

+71
-62
lines changed

6 files changed

+71
-62
lines changed

src/app/clusters/administrator-commissioning-server/administrator-commissioning-server.cpp

+11-15
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,8 @@ bool emberAfAdministratorCommissioningClusterOpenCommissioningWindowCallback(
9191
auto & iterations = commandData.iterations;
9292
auto & salt = commandData.salt;
9393

94-
Optional<StatusCode> status = Optional<StatusCode>::Missing();
95-
InteractionModel::Status globalStatus = InteractionModel::Status::Success;
94+
Optional<StatusCode> status = Optional<StatusCode>::Missing();
95+
Status globalStatus = Status::Success;
9696
Spake2pVerifier verifier;
9797

9898
ChipLogProgress(Zcl, "Received command to open commissioning window");
@@ -110,11 +110,9 @@ bool emberAfAdministratorCommissioningClusterOpenCommissioningWindowCallback(
110110
VerifyOrExit(iterations <= kSpake2p_Max_PBKDF_Iterations, status.Emplace(StatusCode::kPAKEParameterError));
111111
VerifyOrExit(salt.size() >= kSpake2p_Min_PBKDF_Salt_Length, status.Emplace(StatusCode::kPAKEParameterError));
112112
VerifyOrExit(salt.size() <= kSpake2p_Max_PBKDF_Salt_Length, status.Emplace(StatusCode::kPAKEParameterError));
113-
VerifyOrExit(commissioningTimeout <= commissionMgr.MaxCommissioningTimeout(),
114-
globalStatus = InteractionModel::Status::InvalidCommand);
115-
VerifyOrExit(commissioningTimeout >= commissionMgr.MinCommissioningTimeout(),
116-
globalStatus = InteractionModel::Status::InvalidCommand);
117-
VerifyOrExit(discriminator <= kMaxDiscriminatorValue, globalStatus = InteractionModel::Status::InvalidCommand);
113+
VerifyOrExit(commissioningTimeout <= commissionMgr.MaxCommissioningTimeout(), globalStatus = Status::InvalidCommand);
114+
VerifyOrExit(commissioningTimeout >= commissionMgr.MinCommissioningTimeout(), globalStatus = Status::InvalidCommand);
115+
VerifyOrExit(discriminator <= kMaxDiscriminatorValue, globalStatus = Status::InvalidCommand);
118116

119117
VerifyOrExit(verifier.Deserialize(pakeVerifier) == CHIP_NO_ERROR, status.Emplace(StatusCode::kPAKEParameterError));
120118
VerifyOrExit(commissionMgr.OpenEnhancedCommissioningWindow(commissioningTimeout, discriminator, verifier, iterations, salt,
@@ -130,7 +128,7 @@ bool emberAfAdministratorCommissioningClusterOpenCommissioningWindowCallback(
130128
}
131129
else
132130
{
133-
if (globalStatus != InteractionModel::Status::Success)
131+
if (globalStatus != Status::Success)
134132
{
135133
ChipLogError(Zcl, "Failed to open commissioning window. Global status " ChipLogFormatIMStatus,
136134
ChipLogValueIMStatus(globalStatus));
@@ -147,8 +145,8 @@ bool emberAfAdministratorCommissioningClusterOpenBasicCommissioningWindowCallbac
147145
MATTER_TRACE_SCOPE("OpenBasicCommissioningWindow", "AdministratorCommissioning");
148146
auto commissioningTimeout = System::Clock::Seconds16(commandData.commissioningTimeout);
149147

150-
Optional<StatusCode> status = Optional<StatusCode>::Missing();
151-
InteractionModel::Status globalStatus = InteractionModel::Status::Success;
148+
Optional<StatusCode> status = Optional<StatusCode>::Missing();
149+
Status globalStatus = Status::Success;
152150
ChipLogProgress(Zcl, "Received command to open basic commissioning window");
153151

154152
FabricIndex fabricIndex = commandObj->GetAccessingFabricIndex();
@@ -160,10 +158,8 @@ bool emberAfAdministratorCommissioningClusterOpenBasicCommissioningWindowCallbac
160158

161159
VerifyOrExit(!commissionMgr.IsCommissioningWindowOpen(), status.Emplace(StatusCode::kBusy));
162160
VerifyOrExit(failSafeContext.IsFailSafeFullyDisarmed(), status.Emplace(StatusCode::kBusy));
163-
VerifyOrExit(commissioningTimeout <= commissionMgr.MaxCommissioningTimeout(),
164-
globalStatus = InteractionModel::Status::InvalidCommand);
165-
VerifyOrExit(commissioningTimeout >= commissionMgr.MinCommissioningTimeout(),
166-
globalStatus = InteractionModel::Status::InvalidCommand);
161+
VerifyOrExit(commissioningTimeout <= commissionMgr.MaxCommissioningTimeout(), globalStatus = Status::InvalidCommand);
162+
VerifyOrExit(commissioningTimeout >= commissionMgr.MinCommissioningTimeout(), globalStatus = Status::InvalidCommand);
167163
VerifyOrExit(commissionMgr.OpenBasicCommissioningWindowForAdministratorCommissioningCluster(
168164
commissioningTimeout, fabricIndex, fabricInfo->GetVendorId()) == CHIP_NO_ERROR,
169165
status.Emplace(StatusCode::kPAKEParameterError));
@@ -177,7 +173,7 @@ bool emberAfAdministratorCommissioningClusterOpenBasicCommissioningWindowCallbac
177173
}
178174
else
179175
{
180-
if (globalStatus != InteractionModel::Status::Success)
176+
if (globalStatus != Status::Success)
181177
{
182178
ChipLogError(Zcl, "Failed to open commissioning window. Global status " ChipLogFormatIMStatus,
183179
ChipLogValueIMStatus(globalStatus));

src/app/clusters/icd-management-server/icd-management-server.cpp

+21-21
Original file line numberDiff line numberDiff line change
@@ -259,10 +259,10 @@ Status ICDManagementServer::RegisterClient(CommandHandler * commandObj, const Co
259259
bool isClientAdmin = false;
260260

261261
// Check if ClientType is valid
262-
VerifyOrReturnError(clientType != ClientTypeEnum::kUnknownEnumValue, InteractionModel::Status::ConstraintError);
262+
VerifyOrReturnError(clientType != ClientTypeEnum::kUnknownEnumValue, Status::ConstraintError);
263263

264264
// Check if client is admin
265-
VerifyOrReturnError(CHIP_NO_ERROR == CheckAdmin(commandObj, commandPath, isClientAdmin), InteractionModel::Status::Failure);
265+
VerifyOrReturnError(CHIP_NO_ERROR == CheckAdmin(commandObj, commandPath, isClientAdmin), Status::Failure);
266266

267267
bool isFirstEntryForFabric = false;
268268
ICDMonitoringTable table(*mStorage, fabricIndex, mICDConfigurationData->GetClientsSupportedPerFabric(), mSymmetricKeystore);
@@ -275,22 +275,22 @@ Status ICDManagementServer::RegisterClient(CommandHandler * commandObj, const Co
275275
// Existing entry: Validate Key if, and only if, the ISD does NOT have administrator permissions
276276
if (!isClientAdmin)
277277
{
278-
VerifyOrReturnError(verificationKey.HasValue(), InteractionModel::Status::Failure);
279-
VerifyOrReturnError(entry.IsKeyEquivalent(verificationKey.Value()), InteractionModel::Status::Failure);
278+
VerifyOrReturnError(verificationKey.HasValue(), Status::Failure);
279+
VerifyOrReturnError(entry.IsKeyEquivalent(verificationKey.Value()), Status::Failure);
280280
}
281281
}
282282
else if (CHIP_ERROR_NOT_FOUND == err)
283283
{
284284
// New entry
285-
VerifyOrReturnError(entry.index < table.Limit(), InteractionModel::Status::ResourceExhausted);
285+
VerifyOrReturnError(entry.index < table.Limit(), Status::ResourceExhausted);
286286

287287
// Check if it's going to be the first entry for fabric
288288
isFirstEntryForFabric = table.IsEmpty();
289289
}
290290
else
291291
{
292292
// Error
293-
return InteractionModel::Status::Failure;
293+
return Status::Failure;
294294
}
295295

296296
// Save
@@ -304,8 +304,8 @@ Status ICDManagementServer::RegisterClient(CommandHandler * commandObj, const Co
304304
}
305305

306306
err = entry.SetKey(key);
307-
VerifyOrReturnError(CHIP_ERROR_INVALID_ARGUMENT != err, InteractionModel::Status::ConstraintError);
308-
VerifyOrReturnError(CHIP_NO_ERROR == err, InteractionModel::Status::Failure);
307+
VerifyOrReturnError(CHIP_ERROR_INVALID_ARGUMENT != err, Status::ConstraintError);
308+
VerifyOrReturnError(CHIP_NO_ERROR == err, Status::Failure);
309309
err = table.Set(entry.index, entry);
310310

311311
// Delete key upon failure to prevent key storage leakage.
@@ -314,8 +314,8 @@ Status ICDManagementServer::RegisterClient(CommandHandler * commandObj, const Co
314314
entry.DeleteKey();
315315
}
316316

317-
VerifyOrReturnError(CHIP_ERROR_INVALID_ARGUMENT != err, InteractionModel::Status::ConstraintError);
318-
VerifyOrReturnError(CHIP_NO_ERROR == err, InteractionModel::Status::Failure);
317+
VerifyOrReturnError(CHIP_ERROR_INVALID_ARGUMENT != err, Status::ConstraintError);
318+
VerifyOrReturnError(CHIP_NO_ERROR == err, Status::Failure);
319319

320320
if (isFirstEntryForFabric)
321321
{
@@ -324,7 +324,7 @@ Status ICDManagementServer::RegisterClient(CommandHandler * commandObj, const Co
324324
}
325325

326326
icdCounter = mICDConfigurationData->GetICDCounter().GetValue();
327-
return InteractionModel::Status::Success;
327+
return Status::Success;
328328
}
329329

330330
Status ICDManagementServer::UnregisterClient(CommandHandler * commandObj, const ConcreteCommandPath & commandPath,
@@ -336,32 +336,32 @@ Status ICDManagementServer::UnregisterClient(CommandHandler * commandObj, const
336336
bool isClientAdmin = false;
337337

338338
// Check if client is admin
339-
VerifyOrReturnError(CHIP_NO_ERROR == CheckAdmin(commandObj, commandPath, isClientAdmin), InteractionModel::Status::Failure);
339+
VerifyOrReturnError(CHIP_NO_ERROR == CheckAdmin(commandObj, commandPath, isClientAdmin), Status::Failure);
340340

341341
ICDMonitoringTable table(*mStorage, fabricIndex, mICDConfigurationData->GetClientsSupportedPerFabric(), mSymmetricKeystore);
342342

343343
// Get current entry, if exists
344344
ICDMonitoringEntry entry(mSymmetricKeystore);
345345
CHIP_ERROR err = table.Find(nodeId, entry);
346-
VerifyOrReturnError(CHIP_ERROR_NOT_FOUND != err, InteractionModel::Status::NotFound);
347-
VerifyOrReturnError(CHIP_NO_ERROR == err, InteractionModel::Status::Failure);
346+
VerifyOrReturnError(CHIP_ERROR_NOT_FOUND != err, Status::NotFound);
347+
VerifyOrReturnError(CHIP_NO_ERROR == err, Status::Failure);
348348

349349
// Existing entry: Validate Key if, and only if, the ISD has NOT administrator permissions
350350
if (!isClientAdmin)
351351
{
352-
VerifyOrReturnError(verificationKey.HasValue(), InteractionModel::Status::Failure);
353-
VerifyOrReturnError(entry.IsKeyEquivalent(verificationKey.Value()), InteractionModel::Status::Failure);
352+
VerifyOrReturnError(verificationKey.HasValue(), Status::Failure);
353+
VerifyOrReturnError(entry.IsKeyEquivalent(verificationKey.Value()), Status::Failure);
354354
}
355355

356356
err = table.Remove(entry.index);
357-
VerifyOrReturnError(CHIP_NO_ERROR == err, InteractionModel::Status::Failure);
357+
VerifyOrReturnError(CHIP_NO_ERROR == err, Status::Failure);
358358

359359
if (table.IsEmpty())
360360
{
361361
TriggerICDMTableUpdatedEvent();
362362
}
363363

364-
return InteractionModel::Status::Success;
364+
return Status::Success;
365365
}
366366

367367
void ICDManagementServer::TriggerICDMTableUpdatedEvent()
@@ -396,9 +396,9 @@ bool emberAfIcdManagementClusterRegisterClientCallback(CommandHandler * commandO
396396
uint32_t icdCounter = 0;
397397

398398
ICDManagementServer server;
399-
InteractionModel::Status status = server.RegisterClient(commandObj, commandPath, commandData, icdCounter);
399+
Status status = server.RegisterClient(commandObj, commandPath, commandData, icdCounter);
400400

401-
if (InteractionModel::Status::Success == status)
401+
if (Status::Success == status)
402402
{
403403
// Response
404404
IcdManagement::Commands::RegisterClientResponse::Type response{ .ICDCounter = icdCounter };
@@ -419,7 +419,7 @@ bool emberAfIcdManagementClusterUnregisterClientCallback(CommandHandler * comman
419419
const Commands::UnregisterClient::DecodableType & commandData)
420420
{
421421
ICDManagementServer server;
422-
InteractionModel::Status status = server.UnregisterClient(commandObj, commandPath, commandData);
422+
Status status = server.UnregisterClient(commandObj, commandPath, commandData);
423423

424424
commandObj->AddStatus(commandPath, status);
425425
return true;

src/app/tests/TestCommandInteraction.cpp

+15-15
Original file line numberDiff line numberDiff line change
@@ -165,27 +165,25 @@ struct BadFields
165165
}
166166
};
167167

168-
InteractionModel::Status ServerClusterCommandExists(const ConcreteCommandPath & aRequestCommandPath)
168+
Protocols::InteractionModel::Status ServerClusterCommandExists(const ConcreteCommandPath & aRequestCommandPath)
169169
{
170170
// Mock cluster catalog, only support commands on one cluster on one endpoint.
171-
using InteractionModel::Status;
172-
173171
if (aRequestCommandPath.mEndpointId != kTestEndpointId)
174172
{
175-
return Status::UnsupportedEndpoint;
173+
return Protocols::InteractionModel::Status::UnsupportedEndpoint;
176174
}
177175

178176
if (aRequestCommandPath.mClusterId != kTestClusterId)
179177
{
180-
return Status::UnsupportedCluster;
178+
return Protocols::InteractionModel::Status::UnsupportedCluster;
181179
}
182180

183181
if (aRequestCommandPath.mCommandId == kTestNonExistCommandId)
184182
{
185-
return Status::UnsupportedCommand;
183+
return Protocols::InteractionModel::Status::UnsupportedCommand;
186184
}
187185

188-
return Status::Success;
186+
return Protocols::InteractionModel::Status::Success;
189187
}
190188

191189
void DispatchSingleClusterCommand(const ConcreteCommandPath & aRequestCommandPath, chip::TLV::TLVReader & aReader,
@@ -346,7 +344,7 @@ class MockCommandHandlerCallback : public CommandHandlerImpl::Callback
346344
{
347345
DispatchSingleClusterCommand(aCommandPath, apPayload, &apCommandObj);
348346
}
349-
InteractionModel::Status CommandExists(const ConcreteCommandPath & aCommandPath)
347+
Protocols::InteractionModel::Status CommandExists(const ConcreteCommandPath & aCommandPath)
350348
{
351349
return ServerClusterCommandExists(aCommandPath);
352350
}
@@ -1255,7 +1253,8 @@ TEST_F(TestCommandInteraction, TestCommandHandler_WithOnInvokeReceivedNotExistCo
12551253

12561254
mockCommandHandlerDelegate.ResetCounter();
12571255
MockCommandResponder mockCommandResponder;
1258-
InteractionModel::Status status = commandHandler.OnInvokeCommandRequest(mockCommandResponder, std::move(commandDatabuf), false);
1256+
Protocols::InteractionModel::Status status =
1257+
commandHandler.OnInvokeCommandRequest(mockCommandResponder, std::move(commandDatabuf), false);
12591258

12601259
EXPECT_EQ(status, Protocols::InteractionModel::Status::InvalidAction);
12611260
EXPECT_TRUE(mockCommandResponder.mChunks.IsNull());
@@ -1650,8 +1649,8 @@ TEST_F_FROM_FIXTURE(TestCommandInteraction, TestCommandHandler_RejectsMultipleCo
16501649
mockCommandHandlerDelegate.ResetCounter();
16511650
commandDispatchedCount = 0;
16521651

1653-
InteractionModel::Status status = commandHandler.ProcessInvokeRequest(std::move(commandDatabuf), false);
1654-
EXPECT_EQ(status, InteractionModel::Status::InvalidAction);
1652+
Protocols::InteractionModel::Status status = commandHandler.ProcessInvokeRequest(std::move(commandDatabuf), false);
1653+
EXPECT_EQ(status, Protocols::InteractionModel::Status::InvalidAction);
16551654

16561655
EXPECT_EQ(commandDispatchedCount, 0u);
16571656
}
@@ -1703,8 +1702,9 @@ TEST_F_FROM_FIXTURE(TestCommandInteraction, TestCommandHandler_RejectMultipleCom
17031702

17041703
CommandHandlerImpl commandHandler(&mockCommandHandlerDelegate);
17051704
MockCommandResponder mockCommandResponder;
1706-
InteractionModel::Status status = commandHandler.OnInvokeCommandRequest(mockCommandResponder, std::move(commandDatabuf), false);
1707-
EXPECT_EQ(status, InteractionModel::Status::InvalidAction);
1705+
Protocols::InteractionModel::Status status =
1706+
commandHandler.OnInvokeCommandRequest(mockCommandResponder, std::move(commandDatabuf), false);
1707+
EXPECT_EQ(status, Protocols::InteractionModel::Status::InvalidAction);
17081708
EXPECT_TRUE(mockCommandResponder.mChunks.IsNull());
17091709

17101710
EXPECT_EQ(commandDispatchedCount, 0u);
@@ -1759,8 +1759,8 @@ TEST_F_FROM_FIXTURE(TestCommandInteraction, TestCommandHandler_AcceptMultipleCom
17591759
mockCommandHandlerDelegate.ResetCounter();
17601760
commandDispatchedCount = 0;
17611761

1762-
InteractionModel::Status status = commandHandler.ProcessInvokeRequest(std::move(commandDatabuf), false);
1763-
EXPECT_EQ(status, InteractionModel::Status::Success);
1762+
Protocols::InteractionModel::Status status = commandHandler.ProcessInvokeRequest(std::move(commandDatabuf), false);
1763+
EXPECT_EQ(status, Protocols::InteractionModel::Status::Success);
17641764

17651765
EXPECT_EQ(commandDispatchedCount, 2u);
17661766
}

src/app/tests/suites/commands/interaction_model/InteractionModel.cpp

+14-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,20 @@
1919
#include "InteractionModel.h"
2020

2121
using namespace chip;
22-
using namespace chip::app;
22+
23+
using chip::app::AttributePathParams;
24+
using chip::app::CommandSender;
25+
using chip::app::ConcreteAttributePath;
26+
using chip::app::ConcreteCommandPath;
27+
using chip::app::ConcreteDataAttributePath;
28+
using chip::app::DataVersionFilter;
29+
using chip::app::EventHeader;
30+
using chip::app::EventPathParams;
31+
using chip::app::InteractionModelEngine;
32+
using chip::app::ReadClient;
33+
using chip::app::ReadPrepareParams;
34+
using chip::app::StatusIB;
35+
using chip::app::WriteClient;
2336

2437
namespace chip {
2538
namespace test_utils {

src/controller/tests/data_model/DataModelFixtures.cpp

+8-8
Original file line numberDiff line numberDiff line change
@@ -312,15 +312,15 @@ CHIP_ERROR WriteSingleClusterData(const Access::SubjectDescriptor & aSubjectDesc
312312
// Boolean attribute of unit testing cluster triggers "multiple errors" case.
313313
if (aPath.mClusterId == Clusters::UnitTesting::Id && aPath.mAttributeId == Attributes::Boolean::TypeInfo::GetAttributeId())
314314
{
315-
InteractionModel::ClusterStatusCode status{ Protocols::InteractionModel::Status::InvalidValue };
315+
Protocols::InteractionModel::ClusterStatusCode status{ Protocols::InteractionModel::Status::InvalidValue };
316316

317317
if (gWriteResponseDirective == WriteResponseDirective::kSendMultipleSuccess)
318318
{
319-
status = InteractionModel::Status::Success;
319+
status = Protocols::InteractionModel::Status::Success;
320320
}
321321
else if (gWriteResponseDirective == WriteResponseDirective::kSendMultipleErrors)
322322
{
323-
status = InteractionModel::Status::Failure;
323+
status = Protocols::InteractionModel::Status::Failure;
324324
}
325325
else
326326
{
@@ -337,14 +337,14 @@ CHIP_ERROR WriteSingleClusterData(const Access::SubjectDescriptor & aSubjectDesc
337337

338338
if (aPath.mClusterId == Clusters::UnitTesting::Id && aPath.mAttributeId == Attributes::Int8u::TypeInfo::GetAttributeId())
339339
{
340-
InteractionModel::ClusterStatusCode status{ Protocols::InteractionModel::Status::InvalidValue };
340+
Protocols::InteractionModel::ClusterStatusCode status{ Protocols::InteractionModel::Status::InvalidValue };
341341
if (gWriteResponseDirective == WriteResponseDirective::kSendClusterSpecificSuccess)
342342
{
343-
status = InteractionModel::ClusterStatusCode::ClusterSpecificSuccess(kExampleClusterSpecificSuccess);
343+
status = Protocols::InteractionModel::ClusterStatusCode::ClusterSpecificSuccess(kExampleClusterSpecificSuccess);
344344
}
345345
else if (gWriteResponseDirective == WriteResponseDirective::kSendClusterSpecificFailure)
346346
{
347-
status = InteractionModel::ClusterStatusCode::ClusterSpecificFailure(kExampleClusterSpecificFailure);
347+
status = Protocols::InteractionModel::ClusterStatusCode::ClusterSpecificFailure(kExampleClusterSpecificFailure);
348348
}
349349
else
350350
{
@@ -446,10 +446,10 @@ void DispatchSingleClusterCommand(const ConcreteCommandPath & aCommandPath, chip
446446
}
447447
}
448448

449-
InteractionModel::Status ServerClusterCommandExists(const ConcreteCommandPath & aCommandPath)
449+
Protocols::InteractionModel::Status ServerClusterCommandExists(const ConcreteCommandPath & aCommandPath)
450450
{
451451
// Mock cluster catalog, only support commands on one cluster on one endpoint.
452-
using InteractionModel::Status;
452+
using Protocols::InteractionModel::Status;
453453

454454
if (aCommandPath.mEndpointId != kTestEndpointId)
455455
{

src/controller/tests/data_model/TestCommands.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ TEST_F(TestCommands, TestMultipleSuccessNoDataResponses)
165165
// not safe to do so.
166166
auto onSuccessCb = [&successCalls, &statusCheck](const ConcreteCommandPath & commandPath, const StatusIB & aStatus,
167167
const auto & dataResponse) {
168-
statusCheck = (aStatus.mStatus == InteractionModel::Status::Success);
168+
statusCheck = (aStatus.mStatus == Protocols::InteractionModel::Status::Success);
169169
++successCalls;
170170
};
171171

@@ -290,7 +290,7 @@ TEST_F(TestCommands, TestMultipleFailures)
290290
// Passing of stack variables by reference is only safe because of synchronous completion of the interaction. Otherwise, it's
291291
// not safe to do so.
292292
auto onFailureCb = [&failureCalls, &statusCheck](CHIP_ERROR aError) {
293-
statusCheck = aError.IsIMStatus() && StatusIB(aError).mStatus == InteractionModel::Status::Failure;
293+
statusCheck = aError.IsIMStatus() && StatusIB(aError).mStatus == Protocols::InteractionModel::Status::Failure;
294294
++failureCalls;
295295
};
296296

0 commit comments

Comments
 (0)