Skip to content

Commit 137f031

Browse files
committed
updates based on review feedback
1 parent 750784c commit 137f031

File tree

9 files changed

+61
-70
lines changed

9 files changed

+61
-70
lines changed

examples/chip-tool/commands/common/DeviceScanner.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ CHIP_ERROR DeviceScanner::Stop()
5555

5656
void DeviceScanner::OnNodeDiscovered(const DiscoveredNodeData & nodeData)
5757
{
58+
VerifyOrReturn(nodeData.Is<CommissionNodeData>())
5859
auto & commissionData = nodeData.Get<CommissionNodeData>();
5960

6061
auto discriminator = commissionData.longDiscriminator;
@@ -64,7 +65,7 @@ void DeviceScanner::OnNodeDiscovered(const DiscoveredNodeData & nodeData)
6465
ChipLogProgress(chipTool, "OnNodeDiscovered (MDNS): discriminator: %u, vendorId: %u, productId: %u", discriminator, vendorId,
6566
productId);
6667

67-
auto & resolutionData = (CommonResolutionData &) commissionData;
68+
CommonResolutionData & resolutionData = commissionData;
6869

6970
auto & instanceData = mDiscoveredResults[commissionData.instanceName];
7071
auto & interfaceData = instanceData[resolutionData.interfaceId.GetPlatformInterface()];

examples/tv-casting-app/tv-casting-common/core/CastingPlayerDiscovery.cpp

+1-2
Original file line numberDiff line numberDiff line change
@@ -73,13 +73,12 @@ CHIP_ERROR CastingPlayerDiscovery::StopDiscovery()
7373
return CHIP_NO_ERROR;
7474
}
7575

76-
void DeviceDiscoveryDelegateImpl::OnDiscoveredDevice(const chip::Dnssd::CommissionNodeData & discNodeData)
76+
void DeviceDiscoveryDelegateImpl::OnDiscoveredDevice(const chip::Dnssd::CommissionNodeData & nodeData)
7777
{
7878
ChipLogProgress(Discovery, "DeviceDiscoveryDelegateImpl::OnDiscoveredDevice() called");
7979
VerifyOrReturn(mClientDelegate != nullptr,
8080
ChipLogError(Discovery, "DeviceDiscoveryDelegateImpl::OnDiscoveredDevice mClientDelegate is a nullptr"));
8181

82-
auto & nodeData = discNodeData;
8382
// convert nodeData to CastingPlayer
8483
CastingPlayerAttributes attributes;
8584
snprintf(attributes.id, kIdMaxLength + 1, "%s%u", nodeData.hostName, nodeData.port);

src/controller/SetUpCodePairer.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ bool SetUpCodePairer::NodeMatchesCurrentFilter(const Dnssd::DiscoveredNodeData &
337337
return false;
338338
}
339339

340-
Dnssd::CommissionNodeData nodeData = discNodeData.Get<Dnssd::CommissionNodeData>();
340+
const Dnssd::CommissionNodeData & nodeData = discNodeData.Get<Dnssd::CommissionNodeData>();
341341
if (nodeData.commissioningMode == 0)
342342
{
343343
ChipLogProgress(Controller, "Discovered device does not have an open commissioning window.");

src/darwin/Framework/CHIP/MTRCommissionableBrowser.mm

+5
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,11 @@ void OnNodeDiscovered(const DiscoveredNodeData & nodeData) override
161161
{
162162
assertChipStackLockedByCurrentThread();
163163

164+
if (!nodeData.Is<CommissionNodeData>()) {
165+
// not commissionable/commissioners node
166+
return;
167+
}
168+
164169
auto & commissionData = nodeData.Get<CommissionNodeData>();
165170
auto key = [NSString stringWithUTF8String:commissionData.instanceName];
166171
if ([mDiscoveredResults objectForKey:key] == nil) {

src/lib/dnssd/ActiveResolveAttempts.h

+7-6
Original file line numberDiff line numberDiff line change
@@ -153,24 +153,25 @@ class ActiveResolveAttempts
153153
{
154154
return false;
155155
}
156+
auto & nodeData = data.Get<chip::Dnssd::CommissionNodeData>();
156157

157158
switch (browse.filter.type)
158159
{
159160
case chip::Dnssd::DiscoveryFilterType::kNone:
160161
return true;
161162
case chip::Dnssd::DiscoveryFilterType::kShortDiscriminator:
162163
return browse.filter.code ==
163-
static_cast<uint64_t>((data.Get<chip::Dnssd::CommissionNodeData>().longDiscriminator >> 8) & 0x0F);
164+
static_cast<uint64_t>((nodeData.longDiscriminator >> 8) & 0x0F);
164165
case chip::Dnssd::DiscoveryFilterType::kLongDiscriminator:
165-
return browse.filter.code == data.Get<chip::Dnssd::CommissionNodeData>().longDiscriminator;
166+
return browse.filter.code == nodeData.longDiscriminator;
166167
case chip::Dnssd::DiscoveryFilterType::kVendorId:
167-
return browse.filter.code == data.Get<chip::Dnssd::CommissionNodeData>().vendorId;
168+
return browse.filter.code == nodeData.vendorId;
168169
case chip::Dnssd::DiscoveryFilterType::kDeviceType:
169-
return browse.filter.code == data.Get<chip::Dnssd::CommissionNodeData>().deviceType;
170+
return browse.filter.code == nodeData.deviceType;
170171
case chip::Dnssd::DiscoveryFilterType::kCommissioningMode:
171-
return browse.filter.code == data.Get<chip::Dnssd::CommissionNodeData>().commissioningMode;
172+
return browse.filter.code == nodeData.commissioningMode;
172173
case chip::Dnssd::DiscoveryFilterType::kInstanceName:
173-
return strncmp(browse.filter.instanceName, data.Get<chip::Dnssd::CommissionNodeData>().instanceName,
174+
return strncmp(browse.filter.instanceName, nodeData.instanceName,
174175
chip::Dnssd::Commission::kInstanceNameMaxLength + 1) == 0;
175176
case chip::Dnssd::DiscoveryFilterType::kCommissioner:
176177
case chip::Dnssd::DiscoveryFilterType::kCompressedFabricId:

src/lib/dnssd/IncrementalResolve.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -350,7 +350,8 @@ CHIP_ERROR IncrementalResolver::Take(DiscoveredNodeData & outputData)
350350
outputData.Set<CommissionNodeData>();
351351
CommissionNodeData & nodeData = outputData.Get<CommissionNodeData>();
352352
nodeData = mSpecificResolutionData.Get<CommissionNodeData>();
353-
(CommonResolutionData &) nodeData = mCommonResolutionData;
353+
CommonResolutionData & resolutionData = nodeData;
354+
resolutionData = mCommonResolutionData;
354355

355356
ResetToInactive();
356357

src/lib/dnssd/Types.h

+1-24
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,7 @@ struct CommissionNodeData : public CommonResolutionData
235235

236236
void LogDetail() const
237237
{
238+
ChipLogDetail(Discovery, "Discovered commissionable/commissioners node:");
238239
CommonResolutionData::LogDetail();
239240

240241
if (rotatingIdLen > 0)
@@ -301,30 +302,6 @@ struct ResolvedNodeData
301302

302303
using DiscoveredNodeData = Variant<CommissionNodeData>;
303304

304-
#if 0
305-
struct DiscoveredNodeData
306-
{
307-
CommonResolutionData resolutionData;
308-
CommissionNodeData nodeData;
309-
DiscoveryType nodeType;
310-
311-
void Reset()
312-
{
313-
resolutionData.Reset();
314-
nodeData.Reset();
315-
nodeType = DiscoveryType::kUnknown;
316-
}
317-
DiscoveredNodeData() { Reset(); }
318-
319-
void LogDetail() const
320-
{
321-
ChipLogDetail(Discovery, "Discovered node:");
322-
resolutionData.LogDetail();
323-
nodeData.LogDetail();
324-
}
325-
};
326-
#endif
327-
328305
/// Callbacks for discovering nodes advertising non-operational status:
329306
/// - Commissioners
330307
/// - Nodes in commissioning modes over IP (e.g. ethernet devices, devices already

0 commit comments

Comments
 (0)