Commit f0f50f4b authored by Richard Knoll's avatar Richard Knoll Committed by Commit Bot

[Nearby] Separate Get/GetOrCreate for ShareTargetInfo

This adds Get/GetOrCreate methods for ShareTargetInfo so we don't
accidentally create entries in the maps. Only a few places actually
need to create a new entry and this makes it easier to track those.

Bug: 1085067
Change-Id: I3d9f20a9a371a0af3968a485748d611840e299b2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2353334Reviewed-by: default avatarHimanshu Jaju <himanshujaju@chromium.org>
Commit-Queue: Richard Knoll <knollr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#800125}
parent fab25749
...@@ -406,7 +406,7 @@ void NearbySharingServiceImpl::Accept( ...@@ -406,7 +406,7 @@ void NearbySharingServiceImpl::Accept(
void NearbySharingServiceImpl::Reject( void NearbySharingServiceImpl::Reject(
const ShareTarget& share_target, const ShareTarget& share_target,
StatusCodesCallback status_codes_callback) { StatusCodesCallback status_codes_callback) {
NearbyConnection* connection = GetIncomingConnection(share_target); NearbyConnection* connection = GetConnection(share_target);
if (!connection) { if (!connection) {
NS_LOG(WARNING) << __func__ << ": Reject invoked for unknown share target"; NS_LOG(WARNING) << __func__ << ": Reject invoked for unknown share target";
std::move(status_codes_callback).Run(StatusCodes::kOutOfOrderApiCall); std::move(status_codes_callback).Run(StatusCodes::kOutOfOrderApiCall);
...@@ -481,10 +481,10 @@ void NearbySharingServiceImpl::OnIncomingConnection( ...@@ -481,10 +481,10 @@ void NearbySharingServiceImpl::OnIncomingConnection(
DCHECK(connection); DCHECK(connection);
ShareTarget placeholder_share_target; ShareTarget placeholder_share_target;
auto& share_target_info = placeholder_share_target.is_incoming = true;
GetIncomingShareTargetInfo(placeholder_share_target); ShareTargetInfo& share_target_info =
GetOrCreateShareTargetInfo(placeholder_share_target, endpoint_id);
share_target_info.set_connection(connection); share_target_info.set_connection(connection);
share_target_info.set_endpoint_id(endpoint_id);
connection->SetDisconnectionListener( connection->SetDisconnectionListener(
base::BindOnce(&NearbySharingServiceImpl::RefreshUIOnDisconnection, base::BindOnce(&NearbySharingServiceImpl::RefreshUIOnDisconnection,
...@@ -575,8 +575,6 @@ void NearbySharingServiceImpl::OnOutgoingDecryptedCertificate( ...@@ -575,8 +575,6 @@ void NearbySharingServiceImpl::OnOutgoingDecryptedCertificate(
NS_LOG(VERBOSE) << __func__ NS_LOG(VERBOSE) << __func__
<< ": An endpoint has been discovered, with an advertisement " << ": An endpoint has been discovered, with an advertisement "
"containing a valid share target."; "containing a valid share target.";
GetOrCreateOutgoingShareTargetInfo(*share_target, endpoint_id)
.set_endpoint_id(endpoint_id);
// Notifies the user that we discovered a device. // Notifies the user that we discovered a device.
for (ShareTargetDiscoveredCallback& discovery_callback : for (ShareTargetDiscoveredCallback& discovery_callback :
...@@ -1170,11 +1168,12 @@ NearbySharingService::StatusCodes NearbySharingServiceImpl::ReceivePayloads( ...@@ -1170,11 +1168,12 @@ NearbySharingService::StatusCodes NearbySharingServiceImpl::ReceivePayloads(
const ShareTarget& share_target) { const ShareTarget& share_target) {
mutual_acceptance_timeout_alarm_.Cancel(); mutual_acceptance_timeout_alarm_.Cancel();
NearbyConnection* connection = GetIncomingConnection(share_target); ShareTargetInfo* info = GetShareTargetInfo(share_target);
if (!connection) { if (!info || !info->connection()) {
NS_LOG(WARNING) << __func__ << ": Accept invoked for unknown share target"; NS_LOG(WARNING) << __func__ << ": Accept invoked for unknown share target";
return StatusCodes::kOutOfOrderApiCall; return StatusCodes::kOutOfOrderApiCall;
} }
NearbyConnection* connection = info->connection();
// TODO(himanshujaju) - Implement payload tracker. // TODO(himanshujaju) - Implement payload tracker.
...@@ -1203,11 +1202,10 @@ NearbySharingService::StatusCodes NearbySharingServiceImpl::ReceivePayloads( ...@@ -1203,11 +1202,10 @@ NearbySharingService::StatusCodes NearbySharingServiceImpl::ReceivePayloads(
share_target, share_target,
TransferMetadataBuilder() TransferMetadataBuilder()
.set_status(TransferMetadata::Status::kAwaitingRemoteAcceptance) .set_status(TransferMetadata::Status::kAwaitingRemoteAcceptance)
.set_token(GetIncomingShareTargetInfo(share_target).token()) .set_token(info->token())
.build()); .build());
base::Optional<std::string> endpoint_id = base::Optional<std::string> endpoint_id = info->endpoint_id();
GetIncomingShareTargetInfo(share_target).endpoint_id();
if (endpoint_id) { if (endpoint_id) {
nearby_connections_manager_->UpgradeBandwidth(*endpoint_id); nearby_connections_manager_->UpgradeBandwidth(*endpoint_id);
} else { } else {
...@@ -1243,7 +1241,7 @@ void NearbySharingServiceImpl::WriteResponse( ...@@ -1243,7 +1241,7 @@ void NearbySharingServiceImpl::WriteResponse(
void NearbySharingServiceImpl::Fail(const ShareTarget& share_target, void NearbySharingServiceImpl::Fail(const ShareTarget& share_target,
TransferMetadata::Status status) { TransferMetadata::Status status) {
NearbyConnection* connection = GetIncomingConnection(share_target); NearbyConnection* connection = GetConnection(share_target);
if (!connection) { if (!connection) {
NS_LOG(WARNING) << __func__ << ": Fail invoked for unknown share target."; NS_LOG(WARNING) << __func__ << ": Fail invoked for unknown share target.";
return; return;
...@@ -1291,7 +1289,7 @@ void NearbySharingServiceImpl::Fail(const ShareTarget& share_target, ...@@ -1291,7 +1289,7 @@ void NearbySharingServiceImpl::Fail(const ShareTarget& share_target,
void NearbySharingServiceImpl::CloseConnection( void NearbySharingServiceImpl::CloseConnection(
const ShareTarget& share_target) { const ShareTarget& share_target) {
NearbyConnection* connection = GetIncomingConnection(share_target); NearbyConnection* connection = GetConnection(share_target);
if (!connection) { if (!connection) {
NS_LOG(WARNING) << __func__ << ": Invalid connection for target - " NS_LOG(WARNING) << __func__ << ": Invalid connection for target - "
<< share_target.device_name; << share_target.device_name;
...@@ -1304,8 +1302,7 @@ void NearbySharingServiceImpl::OnIncomingAdvertisementDecoded( ...@@ -1304,8 +1302,7 @@ void NearbySharingServiceImpl::OnIncomingAdvertisementDecoded(
const std::string& endpoint_id, const std::string& endpoint_id,
ShareTarget placeholder_share_target, ShareTarget placeholder_share_target,
sharing::mojom::AdvertisementPtr advertisement) { sharing::mojom::AdvertisementPtr advertisement) {
NearbyConnection* connection = NearbyConnection* connection = GetConnection(placeholder_share_target);
GetIncomingConnection(placeholder_share_target);
if (!connection) { if (!connection) {
NS_LOG(VERBOSE) << __func__ << ": Invalid connection for endoint id - " NS_LOG(VERBOSE) << __func__ << ": Invalid connection for endoint id - "
<< endpoint_id; << endpoint_id;
...@@ -1335,8 +1332,7 @@ void NearbySharingServiceImpl::OnIncomingDecryptedCertificate( ...@@ -1335,8 +1332,7 @@ void NearbySharingServiceImpl::OnIncomingDecryptedCertificate(
sharing::mojom::AdvertisementPtr advertisement, sharing::mojom::AdvertisementPtr advertisement,
ShareTarget placeholder_share_target, ShareTarget placeholder_share_target,
base::Optional<NearbyShareDecryptedPublicCertificate> certificate) { base::Optional<NearbyShareDecryptedPublicCertificate> certificate) {
NearbyConnection* connection = NearbyConnection* connection = GetConnection(placeholder_share_target);
GetIncomingConnection(placeholder_share_target);
if (!connection) { if (!connection) {
NS_LOG(VERBOSE) << __func__ << ": Invalid connection for endpoint id - " NS_LOG(VERBOSE) << __func__ << ": Invalid connection for endpoint id - "
<< endpoint_id; << endpoint_id;
...@@ -1361,10 +1357,9 @@ void NearbySharingServiceImpl::OnIncomingDecryptedCertificate( ...@@ -1361,10 +1357,9 @@ void NearbySharingServiceImpl::OnIncomingDecryptedCertificate(
NS_LOG(VERBOSE) << __func__ << "Received incoming connection from " NS_LOG(VERBOSE) << __func__ << "Received incoming connection from "
<< share_target->device_name; << share_target->device_name;
IncomingShareTargetInfo& share_target_info = ShareTargetInfo* share_target_info = GetShareTargetInfo(*share_target);
GetIncomingShareTargetInfo(*share_target); DCHECK(share_target_info);
share_target_info.set_connection(connection); share_target_info->set_connection(connection);
share_target_info.set_endpoint_id(endpoint_id);
connection->SetDisconnectionListener( connection->SetDisconnectionListener(
base::BindOnce(&NearbySharingServiceImpl::UnregisterShareTarget, base::BindOnce(&NearbySharingServiceImpl::UnregisterShareTarget,
...@@ -1381,18 +1376,18 @@ void NearbySharingServiceImpl::OnIncomingDecryptedCertificate( ...@@ -1381,18 +1376,18 @@ void NearbySharingServiceImpl::OnIncomingDecryptedCertificate(
return; return;
} }
share_target_info.set_frames_reader(std::make_unique<IncomingFramesReader>( share_target_info->set_frames_reader(std::make_unique<IncomingFramesReader>(
process_manager_, profile_, connection)); process_manager_, profile_, connection));
bool restrict_to_contacts = bool restrict_to_contacts =
advertising_power_level_ != PowerLevel::kHighPower; advertising_power_level_ != PowerLevel::kHighPower;
share_target_info.set_key_verification_runner( share_target_info->set_key_verification_runner(
std::make_unique<PairedKeyVerificationRunner>( std::make_unique<PairedKeyVerificationRunner>(
*share_target, endpoint_id, *token, connection, *share_target, endpoint_id, *token, connection,
share_target_info.certificate(), GetCertificateManager(), share_target_info->certificate(), GetCertificateManager(),
settings_.GetVisibility(), restrict_to_contacts, settings_.GetVisibility(), restrict_to_contacts,
share_target_info.frames_reader(), kReadFramesTimeout)); share_target_info->frames_reader(), kReadFramesTimeout));
share_target_info.key_verification_runner()->Run(base::BindOnce( share_target_info->key_verification_runner()->Run(base::BindOnce(
&NearbySharingServiceImpl::OnIncomingConnectionKeyVerificationDone, &NearbySharingServiceImpl::OnIncomingConnectionKeyVerificationDone,
weak_ptr_factory_.GetWeakPtr(), std::move(*share_target), weak_ptr_factory_.GetWeakPtr(), std::move(*share_target),
std::move(token))); std::move(token)));
...@@ -1402,10 +1397,8 @@ void NearbySharingServiceImpl::OnIncomingConnectionKeyVerificationDone( ...@@ -1402,10 +1397,8 @@ void NearbySharingServiceImpl::OnIncomingConnectionKeyVerificationDone(
ShareTarget share_target, ShareTarget share_target,
base::Optional<std::vector<uint8_t>> token, base::Optional<std::vector<uint8_t>> token,
PairedKeyVerificationRunner::PairedKeyVerificationResult result) { PairedKeyVerificationRunner::PairedKeyVerificationResult result) {
NearbyConnection* connection = GetIncomingConnection(share_target); ShareTargetInfo* info = GetShareTargetInfo(share_target);
const base::Optional<std::string>& endpoint_id = if (!info || !info->connection() || !info->endpoint_id()) {
GetIncomingShareTargetInfo(share_target).endpoint_id();
if (!connection || !endpoint_id) {
NS_LOG(VERBOSE) << __func__ << ": Invalid connection or endpoint id"; NS_LOG(VERBOSE) << __func__ << ": Invalid connection or endpoint id";
return; return;
} }
...@@ -1418,14 +1411,14 @@ void NearbySharingServiceImpl::OnIncomingConnectionKeyVerificationDone( ...@@ -1418,14 +1411,14 @@ void NearbySharingServiceImpl::OnIncomingConnectionKeyVerificationDone(
case PairedKeyVerificationRunner::PairedKeyVerificationResult::kFail: case PairedKeyVerificationRunner::PairedKeyVerificationResult::kFail:
NS_LOG(VERBOSE) << __func__ NS_LOG(VERBOSE) << __func__
<< ": Paired key handshake failed, disconnecting."; << ": Paired key handshake failed, disconnecting.";
connection->Close(); info->connection()->Close();
return; return;
case PairedKeyVerificationRunner::PairedKeyVerificationResult::kSuccess: case PairedKeyVerificationRunner::PairedKeyVerificationResult::kSuccess:
NS_LOG(VERBOSE) << __func__ NS_LOG(VERBOSE) << __func__
<< ": Paired key handshake succeeded for target - " << ": Paired key handshake succeeded for target - "
<< share_target.device_name; << share_target.device_name;
nearby_connections_manager_->UpgradeBandwidth(*endpoint_id); nearby_connections_manager_->UpgradeBandwidth(*info->endpoint_id());
ReceiveIntroduction(share_target, /*token=*/base::nullopt); ReceiveIntroduction(share_target, /*token=*/base::nullopt);
break; break;
...@@ -1435,10 +1428,10 @@ void NearbySharingServiceImpl::OnIncomingConnectionKeyVerificationDone( ...@@ -1435,10 +1428,10 @@ void NearbySharingServiceImpl::OnIncomingConnectionKeyVerificationDone(
"receiving connection from target - " "receiving connection from target - "
<< share_target.device_name; << share_target.device_name;
if (advertising_power_level_ == PowerLevel::kHighPower) if (advertising_power_level_ == PowerLevel::kHighPower)
nearby_connections_manager_->UpgradeBandwidth(*endpoint_id); nearby_connections_manager_->UpgradeBandwidth(*info->endpoint_id());
if (token_string) if (token_string)
GetIncomingShareTargetInfo(share_target).set_token(*token_string); info->set_token(*token_string);
ReceiveIntroduction(share_target, std::move(token_string)); ReceiveIntroduction(share_target, std::move(token_string));
break; break;
...@@ -1447,7 +1440,7 @@ void NearbySharingServiceImpl::OnIncomingConnectionKeyVerificationDone( ...@@ -1447,7 +1440,7 @@ void NearbySharingServiceImpl::OnIncomingConnectionKeyVerificationDone(
NS_LOG(VERBOSE) NS_LOG(VERBOSE)
<< __func__ << __func__
<< ": Unknown PairedKeyVerificationResult, disconnecting."; << ": Unknown PairedKeyVerificationResult, disconnecting.";
connection->Close(); info->connection()->Close();
break; break;
} }
} }
...@@ -1468,17 +1461,10 @@ void NearbySharingServiceImpl::ReceiveIntroduction( ...@@ -1468,17 +1461,10 @@ void NearbySharingServiceImpl::ReceiveIntroduction(
base::Optional<std::string> token) { base::Optional<std::string> token) {
NS_LOG(INFO) << __func__ << ": Receiving introduction from " NS_LOG(INFO) << __func__ << ": Receiving introduction from "
<< share_target.device_name; << share_target.device_name;
ShareTargetInfo* info = GetShareTargetInfo(share_target);
DCHECK(info && info->connection());
NearbyConnection* connection = GetIncomingConnection(share_target); info->frames_reader()->ReadFrame(
if (!connection) {
NS_LOG(WARNING)
<< __func__
<< ": Ignore introduction, due to no connection established.";
return;
}
auto& share_target_info = GetIncomingShareTargetInfo(share_target);
share_target_info.frames_reader()->ReadFrame(
sharing::mojom::V1Frame::Tag::INTRODUCTION, sharing::mojom::V1Frame::Tag::INTRODUCTION,
base::BindOnce(&NearbySharingServiceImpl::OnReceivedIntroduction, base::BindOnce(&NearbySharingServiceImpl::OnReceivedIntroduction,
weak_ptr_factory_.GetWeakPtr(), std::move(share_target), weak_ptr_factory_.GetWeakPtr(), std::move(share_target),
...@@ -1490,13 +1476,14 @@ void NearbySharingServiceImpl::OnReceivedIntroduction( ...@@ -1490,13 +1476,14 @@ void NearbySharingServiceImpl::OnReceivedIntroduction(
ShareTarget share_target, ShareTarget share_target,
base::Optional<std::string> token, base::Optional<std::string> token,
base::Optional<sharing::mojom::V1FramePtr> frame) { base::Optional<sharing::mojom::V1FramePtr> frame) {
NearbyConnection* connection = GetIncomingConnection(share_target); ShareTargetInfo* info = GetShareTargetInfo(share_target);
if (!connection) { if (!info || !info->connection()) {
NS_LOG(WARNING) NS_LOG(WARNING)
<< __func__ << __func__
<< ": Ignore received introduction, due to no connection established."; << ": Ignore received introduction, due to no connection established.";
return; return;
} }
NearbyConnection* connection = info->connection();
if (!frame) { if (!frame) {
connection->Close(); connection->Close();
...@@ -1599,12 +1586,13 @@ void NearbySharingServiceImpl::OnStorageCheckCompleted( ...@@ -1599,12 +1586,13 @@ void NearbySharingServiceImpl::OnStorageCheckCompleted(
return; return;
} }
NearbyConnection* connection = GetIncomingConnection(share_target); ShareTargetInfo* info = GetShareTargetInfo(share_target);
if (!connection) { if (!info || !info->connection()) {
NS_LOG(WARNING) << __func__ << ": Invalid connection for share target - " NS_LOG(WARNING) << __func__ << ": Invalid connection for share target - "
<< share_target.device_name; << share_target.device_name;
return; return;
} }
NearbyConnection* connection = info->connection();
mutual_acceptance_timeout_alarm_.Reset(base::BindOnce( mutual_acceptance_timeout_alarm_.Reset(base::BindOnce(
&NearbySharingServiceImpl::OnIncomingMutualAcceptanceTimeout, &NearbySharingServiceImpl::OnIncomingMutualAcceptanceTimeout,
...@@ -1633,8 +1621,7 @@ void NearbySharingServiceImpl::OnStorageCheckCompleted( ...@@ -1633,8 +1621,7 @@ void NearbySharingServiceImpl::OnStorageCheckCompleted(
&NearbySharingServiceImpl::OnIncomingConnectionDisconnected, &NearbySharingServiceImpl::OnIncomingConnectionDisconnected,
weak_ptr_factory_.GetWeakPtr(), share_target)); weak_ptr_factory_.GetWeakPtr(), share_target));
auto* frames_reader = auto* frames_reader = info->frames_reader();
GetIncomingShareTargetInfo(share_target).frames_reader();
if (!frames_reader) { if (!frames_reader) {
NS_LOG(WARNING) << __func__ NS_LOG(WARNING) << __func__
<< ": Stopped reading further frames, due to no connection " << ": Stopped reading further frames, due to no connection "
...@@ -1673,16 +1660,15 @@ void NearbySharingServiceImpl::OnFrameRead( ...@@ -1673,16 +1660,15 @@ void NearbySharingServiceImpl::OnFrameRead(
break; break;
} }
auto* frames_reader = ShareTargetInfo* info = GetShareTargetInfo(share_target);
GetIncomingShareTargetInfo(share_target).frames_reader(); if (!info || !info->frames_reader()) {
if (!frames_reader) {
NS_LOG(WARNING) << __func__ NS_LOG(WARNING) << __func__
<< ": Stopped reading further frames, due to no connection " << ": Stopped reading further frames, due to no connection "
"established."; "established.";
return; return;
} }
frames_reader->ReadFrame( info->frames_reader()->ReadFrame(
base::BindOnce(&NearbySharingServiceImpl::OnFrameRead, base::BindOnce(&NearbySharingServiceImpl::OnFrameRead,
weak_ptr_factory_.GetWeakPtr(), std::move(share_target))); weak_ptr_factory_.GetWeakPtr(), std::move(share_target)));
} }
...@@ -1742,6 +1728,8 @@ base::Optional<ShareTarget> NearbySharingServiceImpl::CreateShareTarget( ...@@ -1742,6 +1728,8 @@ base::Optional<ShareTarget> NearbySharingServiceImpl::CreateShareTarget(
target.is_incoming = is_incoming; target.is_incoming = is_incoming;
target.device_id = GetDeviceId(endpoint_id, certificate); target.device_id = GetDeviceId(endpoint_id, certificate);
ShareTargetInfo& info = GetOrCreateShareTargetInfo(target, endpoint_id);
if (certificate) { if (certificate) {
if (certificate->unencrypted_metadata().has_full_name()) if (certificate->unencrypted_metadata().has_full_name())
target.full_name = certificate->unencrypted_metadata().full_name(); target.full_name = certificate->unencrypted_metadata().full_name();
...@@ -1750,36 +1738,57 @@ base::Optional<ShareTarget> NearbySharingServiceImpl::CreateShareTarget( ...@@ -1750,36 +1738,57 @@ base::Optional<ShareTarget> NearbySharingServiceImpl::CreateShareTarget(
target.image_url = GURL(certificate->unencrypted_metadata().icon_url()); target.image_url = GURL(certificate->unencrypted_metadata().icon_url());
target.is_known = true; target.is_known = true;
info.set_certificate(std::move(*certificate));
if (is_incoming)
GetIncomingShareTargetInfo(target).set_certificate(
std::move(*certificate));
else
GetOrCreateOutgoingShareTargetInfo(target, endpoint_id)
.set_certificate(std::move(*certificate));
} }
return target; return target;
} }
IncomingShareTargetInfo& NearbySharingServiceImpl::GetIncomingShareTargetInfo( ShareTargetInfo& NearbySharingServiceImpl::GetOrCreateShareTargetInfo(
const ShareTarget& share_target,
const std::string& endpoint_id) {
if (share_target.is_incoming) {
auto& info = incoming_share_target_info_map_[share_target.id];
info.set_endpoint_id(endpoint_id);
return info;
} else {
outgoing_share_target_map_.emplace(endpoint_id, share_target);
auto& info = outgoing_share_target_info_map_[share_target.id];
info.set_endpoint_id(endpoint_id);
return info;
}
}
ShareTargetInfo* NearbySharingServiceImpl::GetShareTargetInfo(
const ShareTarget& share_target) {
if (share_target.is_incoming)
return GetIncomingShareTargetInfo(share_target);
else
return GetOutgoingShareTargetInfo(share_target);
}
IncomingShareTargetInfo* NearbySharingServiceImpl::GetIncomingShareTargetInfo(
const ShareTarget& share_target) { const ShareTarget& share_target) {
return incoming_share_target_info_map_[share_target.id]; auto it = incoming_share_target_info_map_.find(share_target.id);
if (it == incoming_share_target_info_map_.end())
return nullptr;
return &it->second;
} }
NearbyConnection* NearbySharingServiceImpl::GetIncomingConnection( OutgoingShareTargetInfo* NearbySharingServiceImpl::GetOutgoingShareTargetInfo(
const ShareTarget& share_target) { const ShareTarget& share_target) {
return GetIncomingShareTargetInfo(share_target).connection(); auto it = outgoing_share_target_info_map_.find(share_target.id);
if (it == outgoing_share_target_info_map_.end())
return nullptr;
return &it->second;
} }
OutgoingShareTargetInfo& NearbyConnection* NearbySharingServiceImpl::GetConnection(
NearbySharingServiceImpl::GetOrCreateOutgoingShareTargetInfo( const ShareTarget& share_target) {
const ShareTarget& share_target, ShareTargetInfo* share_target_info = GetShareTargetInfo(share_target);
const std::string& endpoint_id) { return share_target_info ? share_target_info->connection() : nullptr;
// Default initialize outgoing_share_target_map_ as well, since Share Target
// needs to have fields explicitly set.
outgoing_share_target_map_.emplace(endpoint_id, share_target);
return outgoing_share_target_info_map_[share_target.id];
} }
void NearbySharingServiceImpl::ClearOutgoingShareTargetInfoMap() { void NearbySharingServiceImpl::ClearOutgoingShareTargetInfoMap() {
...@@ -1810,8 +1819,7 @@ void NearbySharingServiceImpl::UnregisterShareTarget( ...@@ -1810,8 +1819,7 @@ void NearbySharingServiceImpl::UnregisterShareTarget(
if (endpoint_id) { if (endpoint_id) {
NS_LOG(VERBOSE) << __func__ << ": Unregister share target: " NS_LOG(VERBOSE) << __func__ << ": Unregister share target: "
<< share_target.device_name; << share_target.device_name;
GetOrCreateOutgoingShareTargetInfo(share_target, *endpoint_id) GetOrCreateShareTargetInfo(share_target, *endpoint_id);
.set_endpoint_id(*endpoint_id);
} else { } else {
NS_LOG(VERBOSE) NS_LOG(VERBOSE)
<< __func__ << __func__
......
...@@ -211,12 +211,17 @@ class NearbySharingServiceImpl ...@@ -211,12 +211,17 @@ class NearbySharingServiceImpl
base::Optional<NearbyShareDecryptedPublicCertificate> certificate, base::Optional<NearbyShareDecryptedPublicCertificate> certificate,
bool is_incoming); bool is_incoming);
IncomingShareTargetInfo& GetIncomingShareTargetInfo( ShareTargetInfo& GetOrCreateShareTargetInfo(const ShareTarget& share_target,
const std::string& endpoint_id);
ShareTargetInfo* GetShareTargetInfo(const ShareTarget& share_target);
IncomingShareTargetInfo* GetIncomingShareTargetInfo(
const ShareTarget& share_target);
OutgoingShareTargetInfo* GetOutgoingShareTargetInfo(
const ShareTarget& share_target); const ShareTarget& share_target);
NearbyConnection* GetIncomingConnection(const ShareTarget& share_target);
OutgoingShareTargetInfo& GetOrCreateOutgoingShareTargetInfo( NearbyConnection* GetConnection(const ShareTarget& share_target);
const ShareTarget& share_target,
const std::string& endpoint_id);
void ClearOutgoingShareTargetInfoMap(); void ClearOutgoingShareTargetInfoMap();
void SetAttachmentPayloadId(const Attachment& attachment, int64_t payload_id); void SetAttachmentPayloadId(const Attachment& attachment, int64_t payload_id);
base::Optional<int64_t> GetAttachmentPayloadId(int64_t attachment_id); base::Optional<int64_t> GetAttachmentPayloadId(int64_t attachment_id);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment