Skip to content

Commit

Permalink
Fix printing of long onboarding code to actually print long onboardin…
Browse files Browse the repository at this point in the history
…g code. (#15061)
  • Loading branch information
bzbarsky-apple authored Feb 14, 2022
1 parent 85e8d98 commit f32685f
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 6 deletions.
12 changes: 7 additions & 5 deletions src/app/server/OnboardingCodesUtil.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,8 @@ void PrintOnboardingCodes(const chip::SetupPayload & payload)
ChipLogError(AppServer, "Getting manual pairing code failed!");
}

if (GetLongManualPairingCode(manualPairingCode, payload) == CHIP_NO_ERROR)
// Hand a copy of the payload to GetLongManualPairingCode.
if (GetLongManualPairingCode(manualPairingCode, chip::SetupPayload(payload)) == CHIP_NO_ERROR)
{
ChipLogProgress(AppServer, "Long manual pairing code: [%s]", manualPairingCode.c_str());
}
Expand Down Expand Up @@ -202,13 +203,14 @@ CHIP_ERROR GetLongManualPairingCode(std::string & aLongManualPairingCode, chip::
ChipLogProgress(AppServer, "GetSetupPayload() failed: %s", chip::ErrorStr(err));
return err;
}
// TODO: Why is this being set to custom?
payload.commissioningFlow = chip::CommissioningFlow::kCustom;
return GetLongManualPairingCode(aLongManualPairingCode, payload);
return GetLongManualPairingCode(aLongManualPairingCode, std::move(payload));
}

CHIP_ERROR GetLongManualPairingCode(std::string & aLongManualPairingCode, const chip::SetupPayload & payload)
CHIP_ERROR GetLongManualPairingCode(std::string & aLongManualPairingCode, chip::SetupPayload && payload)
{
// To get payloadDecimalStringRepresentation to produce a long manual
// pairing code, the commissioning flow in the payload needs to be kCustom.
payload.commissioningFlow = chip::CommissioningFlow::kCustom;

CHIP_ERROR err = chip::ManualSetupPayloadGenerator(payload).payloadDecimalStringRepresentation(aLongManualPairingCode);
if (err != CHIP_NO_ERROR)
Expand Down
2 changes: 1 addition & 1 deletion src/app/server/OnboardingCodesUtil.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ CHIP_ERROR GetQRCode(std::string & aQRCode, const chip::SetupPayload & payload);
CHIP_ERROR GetQRCodeUrl(char * aQRCodeUrl, size_t aUrlMaxSize, const std::string & aQRCode);
CHIP_ERROR GetManualPairingCode(std::string & aManualPairingCode, chip::RendezvousInformationFlags aRendezvousFlags);
CHIP_ERROR GetLongManualPairingCode(std::string & aLongManualPairingCode, chip::RendezvousInformationFlags aRendezvousFlags);
CHIP_ERROR GetLongManualPairingCode(std::string & aLongManualPairingCode, const chip::SetupPayload & payload);
CHIP_ERROR GetLongManualPairingCode(std::string & aLongManualPairingCode, chip::SetupPayload && payload);
CHIP_ERROR GetManualPairingCode(std::string & aManualPairingCode, const chip::SetupPayload & payload);
CHIP_ERROR GetSetupPayload(chip::SetupPayload & aSetupPayload, chip::RendezvousInformationFlags aRendezvousFlags);

Expand Down

0 comments on commit f32685f

Please sign in to comment.