blob: 018db9f7caac923ca93fec18e84b137b17ef5c25 [file]
// Copyright 2011 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "remoting/protocol/authenticator.h"
#include "base/functional/bind.h"
#include "base/logging.h"
#include "remoting/base/constants.h"
namespace remoting::protocol {
Authenticator::RejectionDetails::RejectionDetails() = default;
Authenticator::RejectionDetails::RejectionDetails(RejectionDetails&&) = default;
Authenticator::RejectionDetails::RejectionDetails(const RejectionDetails&) =
default;
Authenticator::RejectionDetails::RejectionDetails(
std::string_view message,
const base::Location& location)
: message(std::string(message)), location(location) {}
Authenticator::RejectionDetails::~RejectionDetails() = default;
Authenticator::RejectionDetails& Authenticator::RejectionDetails::operator=(
RejectionDetails&&) = default;
Authenticator::RejectionDetails& Authenticator::RejectionDetails::operator=(
const RejectionDetails&) = default;
Authenticator::Authenticator() = default;
Authenticator::~Authenticator() = default;
void Authenticator::NotifyStateChangeAfterAccepted() {
if (on_state_change_after_accepted_) {
on_state_change_after_accepted_.Run();
} else {
LOG(WARNING)
<< "State change notification ignored because callback is not set.";
}
}
void Authenticator::ChainStateChangeAfterAcceptedWithUnderlying(
Authenticator& underlying) {
underlying.set_state_change_after_accepted_callback(
base::BindRepeating(&Authenticator::NotifyStateChangeAfterAccepted,
weak_factory_.GetWeakPtr()));
}
} // namespace remoting::protocol