Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b6c4cfad authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "GD Security OobData" am: ccb1f745 am: 0c456108

Original change: https://android-review.googlesource.com/c/platform/system/bt/+/1500610

Change-Id: I1ec7d5b6a8cdd8ffb4a15b8d9f8cff8f0424651f
parents 449554d1 0c456108
Loading
Loading
Loading
Loading
+52 −0
Original line number Diff line number Diff line
/*
 *
 *  Copyright 2020 The Android Open Source Project
 *
 *  Licensed under the Apache License, Version 2.0 (the "License") override;
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at:
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 *
 */
#pragma once

namespace bluetooth {
namespace security {
namespace pairing {

using SimplePairingHash = std::array<uint8_t, 16>;
using SimplePairingRandomizer = std::array<uint8_t, 16>;

class OobData {
 public:
  OobData() {}
  OobData(SimplePairingHash C, SimplePairingRandomizer R) : C_(C), R_(R) {}

  SimplePairingHash GetC() {
    return C_;
  }

  SimplePairingRandomizer GetR() {
    return R_;
  }

  bool IsValid() {
    return !std::all_of(C_.begin(), C_.end(), [](uint8_t b) { return b == 0; }) &&
           !std::all_of(R_.begin(), R_.end(), [](uint8_t b) { return b == 0; });
  }

 private:
  SimplePairingHash C_ = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
  SimplePairingRandomizer R_ = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
};

}  // namespace pairing
}  // namespace security
}  // namespace bluetooth