#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "device/fido/cable/v2_registration.h"
#include "base/memory/raw_ptr.h"
#include "base/strings/string_number_conversions.h"
#include "build/build_config.h"
#include "components/cbor/reader.h"
#include "components/cbor/values.h"
#include "components/device_event_log/device_event_log.h"
#include "components/gcm_driver/gcm_app_handler.h"
#include "components/gcm_driver/gcm_driver.h"
#include "components/gcm_driver/instance_id/instance_id.h"
#include "components/gcm_driver/instance_id/instance_id_driver.h"
#include "device/fido/fido_parsing_utils.h"
#include "third_party/boringssl/src/include/openssl/bytestring.h"
#include "third_party/boringssl/src/include/openssl/mem.h"
namespace device {
namespace cablev2 {
namespace authenticator {
namespace {
static const char kFCMAppId[] = …;
static const char kFCMSyncAppId[] = …;
static const char kFCMSenderId[] = …;
class FCMHandler : public gcm::GCMAppHandler, public Registration { … };
}
Registration::~Registration() = default;
Registration::Event::Event() = default;
Registration::Event::~Event() = default;
std::unique_ptr<Registration::Event> Registration::Event::FromSerialized(
base::span<const uint8_t> in) { … }
std::optional<std::vector<uint8_t>> Registration::Event::Serialize() { … }
std::unique_ptr<Registration> Register(
instance_id::InstanceIDDriver* instance_id_driver,
Registration::Type type,
base::OnceCallback<void()> on_ready,
base::RepeatingCallback<void(std::unique_ptr<Registration::Event>)>
event_callback) { … }
}
}
}