Commit 32ae4305 authored by Josh Nohle's avatar Josh Nohle Committed by Commit Bot

[Nearby] Add GetDeviceState to HTTP client

Add support for GetDeviceState RPC in the HTTP client and the HTTP tab
of chrome://nearby-internals. The proto was added in a previous CL, and
the RPC will be called in a follow-up CL.

Bug: b/166115703
Change-Id: Id6965c5e59a1ee892737df398425eb4ece9d5ab1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2399505
Auto-Submit: Josh Nohle <nohle@chromium.org>
Commit-Queue: James Vecore <vecore@google.com>
Reviewed-by: default avatarJames Vecore <vecore@google.com>
Cr-Commit-Position: refs/heads/master@{#805197}
parent 5f3103a0
...@@ -19,6 +19,20 @@ FakeNearbyShareClient::UpdateDeviceRequest::UpdateDeviceRequest( ...@@ -19,6 +19,20 @@ FakeNearbyShareClient::UpdateDeviceRequest::UpdateDeviceRequest(
FakeNearbyShareClient::UpdateDeviceRequest::~UpdateDeviceRequest() = default; FakeNearbyShareClient::UpdateDeviceRequest::~UpdateDeviceRequest() = default;
FakeNearbyShareClient::GetDeviceStateRequest::GetDeviceStateRequest(
const nearbyshare::proto::GetDeviceStateRequest& request,
GetDeviceStateCallback&& callback,
ErrorCallback&& error_callback)
: request(request),
callback(std::move(callback)),
error_callback(std::move(error_callback)) {}
FakeNearbyShareClient::GetDeviceStateRequest::GetDeviceStateRequest(
FakeNearbyShareClient::GetDeviceStateRequest&& request) = default;
FakeNearbyShareClient::GetDeviceStateRequest::~GetDeviceStateRequest() =
default;
FakeNearbyShareClient::CheckContactsReachabilityRequest:: FakeNearbyShareClient::CheckContactsReachabilityRequest::
CheckContactsReachabilityRequest( CheckContactsReachabilityRequest(
const nearbyshare::proto::CheckContactsReachabilityRequest& request, const nearbyshare::proto::CheckContactsReachabilityRequest& request,
...@@ -83,6 +97,14 @@ void FakeNearbyShareClient::UpdateDevice( ...@@ -83,6 +97,14 @@ void FakeNearbyShareClient::UpdateDevice(
std::move(error_callback)); std::move(error_callback));
} }
void FakeNearbyShareClient::GetDeviceState(
const nearbyshare::proto::GetDeviceStateRequest& request,
GetDeviceStateCallback&& callback,
ErrorCallback&& error_callback) {
get_device_state_requests_.emplace_back(request, std::move(callback),
std::move(error_callback));
}
void FakeNearbyShareClient::CheckContactsReachability( void FakeNearbyShareClient::CheckContactsReachability(
const nearbyshare::proto::CheckContactsReachabilityRequest& request, const nearbyshare::proto::CheckContactsReachabilityRequest& request,
CheckContactsReachabilityCallback&& callback, CheckContactsReachabilityCallback&& callback,
......
...@@ -28,6 +28,17 @@ class FakeNearbyShareClient : public NearbyShareClient { ...@@ -28,6 +28,17 @@ class FakeNearbyShareClient : public NearbyShareClient {
UpdateDeviceCallback callback; UpdateDeviceCallback callback;
ErrorCallback error_callback; ErrorCallback error_callback;
}; };
struct GetDeviceStateRequest {
GetDeviceStateRequest(
const nearbyshare::proto::GetDeviceStateRequest& request,
GetDeviceStateCallback&& callback,
ErrorCallback&& error_callback);
GetDeviceStateRequest(GetDeviceStateRequest&& request);
~GetDeviceStateRequest();
nearbyshare::proto::GetDeviceStateRequest request;
GetDeviceStateCallback callback;
ErrorCallback error_callback;
};
struct CheckContactsReachabilityRequest { struct CheckContactsReachabilityRequest {
CheckContactsReachabilityRequest( CheckContactsReachabilityRequest(
const nearbyshare::proto::CheckContactsReachabilityRequest& request, const nearbyshare::proto::CheckContactsReachabilityRequest& request,
...@@ -69,6 +80,9 @@ class FakeNearbyShareClient : public NearbyShareClient { ...@@ -69,6 +80,9 @@ class FakeNearbyShareClient : public NearbyShareClient {
std::vector<UpdateDeviceRequest>& update_device_requests() { std::vector<UpdateDeviceRequest>& update_device_requests() {
return update_device_requests_; return update_device_requests_;
} }
std::vector<GetDeviceStateRequest>& get_device_state_requests() {
return get_device_state_requests_;
}
std::vector<CheckContactsReachabilityRequest>& std::vector<CheckContactsReachabilityRequest>&
check_contacts_reachabilty_requests() { check_contacts_reachabilty_requests() {
return check_contacts_reachabilty_requests_; return check_contacts_reachabilty_requests_;
...@@ -88,6 +102,9 @@ class FakeNearbyShareClient : public NearbyShareClient { ...@@ -88,6 +102,9 @@ class FakeNearbyShareClient : public NearbyShareClient {
void UpdateDevice(const nearbyshare::proto::UpdateDeviceRequest& request, void UpdateDevice(const nearbyshare::proto::UpdateDeviceRequest& request,
UpdateDeviceCallback&& callback, UpdateDeviceCallback&& callback,
ErrorCallback&& error_callback) override; ErrorCallback&& error_callback) override;
void GetDeviceState(const nearbyshare::proto::GetDeviceStateRequest& request,
GetDeviceStateCallback&& callback,
ErrorCallback&& error_callback) override;
void CheckContactsReachability( void CheckContactsReachability(
const nearbyshare::proto::CheckContactsReachabilityRequest& request, const nearbyshare::proto::CheckContactsReachabilityRequest& request,
CheckContactsReachabilityCallback&& callback, CheckContactsReachabilityCallback&& callback,
...@@ -103,6 +120,7 @@ class FakeNearbyShareClient : public NearbyShareClient { ...@@ -103,6 +120,7 @@ class FakeNearbyShareClient : public NearbyShareClient {
std::string GetAccessTokenUsed() override; std::string GetAccessTokenUsed() override;
std::vector<UpdateDeviceRequest> update_device_requests_; std::vector<UpdateDeviceRequest> update_device_requests_;
std::vector<GetDeviceStateRequest> get_device_state_requests_;
std::vector<CheckContactsReachabilityRequest> std::vector<CheckContactsReachabilityRequest>
check_contacts_reachabilty_requests_; check_contacts_reachabilty_requests_;
std::vector<ListContactPeopleRequest> list_contact_people_requests_; std::vector<ListContactPeopleRequest> list_contact_people_requests_;
......
...@@ -15,6 +15,8 @@ namespace nearbyshare { ...@@ -15,6 +15,8 @@ namespace nearbyshare {
namespace proto { namespace proto {
class CheckContactsReachabilityRequest; class CheckContactsReachabilityRequest;
class CheckContactsReachabilityResponse; class CheckContactsReachabilityResponse;
class GetDeviceStateRequest;
class GetDeviceStateResponse;
class ListContactPeopleRequest; class ListContactPeopleRequest;
class ListContactPeopleResponse; class ListContactPeopleResponse;
class ListPublicCertificatesRequest; class ListPublicCertificatesRequest;
...@@ -33,6 +35,8 @@ class NearbyShareClient { ...@@ -33,6 +35,8 @@ class NearbyShareClient {
using CheckContactsReachabilityCallback = base::OnceCallback<void( using CheckContactsReachabilityCallback = base::OnceCallback<void(
const nearbyshare::proto::CheckContactsReachabilityResponse&)>; const nearbyshare::proto::CheckContactsReachabilityResponse&)>;
using ErrorCallback = base::OnceCallback<void(NearbyShareHttpError)>; using ErrorCallback = base::OnceCallback<void(NearbyShareHttpError)>;
using GetDeviceStateCallback = base::OnceCallback<void(
const nearbyshare::proto::GetDeviceStateResponse&)>;
using ListContactPeopleCallback = base::OnceCallback<void( using ListContactPeopleCallback = base::OnceCallback<void(
const nearbyshare::proto::ListContactPeopleResponse&)>; const nearbyshare::proto::ListContactPeopleResponse&)>;
using ListPublicCertificatesCallback = base::OnceCallback<void( using ListPublicCertificatesCallback = base::OnceCallback<void(
...@@ -49,6 +53,12 @@ class NearbyShareClient { ...@@ -49,6 +53,12 @@ class NearbyShareClient {
UpdateDeviceCallback&& callback, UpdateDeviceCallback&& callback,
ErrorCallback&& error_callback) = 0; ErrorCallback&& error_callback) = 0;
// NearbyShareService v1: GetDeviceState
virtual void GetDeviceState(
const nearbyshare::proto::GetDeviceStateRequest& request,
GetDeviceStateCallback&& callback,
ErrorCallback&& error_callback) = 0;
// NearbyShareService v1: CheckContactsReachability // NearbyShareService v1: CheckContactsReachability
virtual void CheckContactsReachability( virtual void CheckContactsReachability(
const nearbyshare::proto::CheckContactsReachabilityRequest& request, const nearbyshare::proto::CheckContactsReachabilityRequest& request,
......
...@@ -36,6 +36,7 @@ const char kDefaultNearbyShareV1HTTPHost[] = ...@@ -36,6 +36,7 @@ const char kDefaultNearbyShareV1HTTPHost[] =
const char kNearbyShareV1Path[] = "v1/"; const char kNearbyShareV1Path[] = "v1/";
const char kCheckContactsReachabilityPath[] = "contactsReachability:check"; const char kCheckContactsReachabilityPath[] = "contactsReachability:check";
const char kGetDeviceStatePath[] = "deviceState";
const char kListContactPeoplePath[] = "contactRecords"; const char kListContactPeoplePath[] = "contactRecords";
const char kListPublicCertificatesPath[] = "publicCertificates"; const char kListPublicCertificatesPath[] = "publicCertificates";
...@@ -240,6 +241,22 @@ void NearbyShareClientImpl::UpdateDevice( ...@@ -240,6 +241,22 @@ void NearbyShareClientImpl::UpdateDevice(
GetUpdateDeviceAnnotation()); GetUpdateDeviceAnnotation());
} }
void NearbyShareClientImpl::GetDeviceState(
const nearbyshare::proto::GetDeviceStateRequest& request,
GetDeviceStateCallback&& callback,
ErrorCallback&& error_callback) {
notifier_->NotifyOfRequest(request);
// NOTE: No query parameters are needed because the lone field, "parent", of
// the GetDeviceState request is bound by the URL path template defined by the
// Nearby Share server.
MakeApiCall(CreateV1RequestUrl(request.parent() + "/" + kGetDeviceStatePath),
RequestType::kGet,
/*serialized_request=*/base::nullopt,
NearbyShareApiCallFlow::QueryParameters(), std::move(callback),
std::move(error_callback), GetContactsAnnotation());
}
void NearbyShareClientImpl::CheckContactsReachability( void NearbyShareClientImpl::CheckContactsReachability(
const nearbyshare::proto::CheckContactsReachabilityRequest& request, const nearbyshare::proto::CheckContactsReachabilityRequest& request,
CheckContactsReachabilityCallback&& callback, CheckContactsReachabilityCallback&& callback,
......
...@@ -52,6 +52,9 @@ class NearbyShareClientImpl : public NearbyShareClient { ...@@ -52,6 +52,9 @@ class NearbyShareClientImpl : public NearbyShareClient {
void UpdateDevice(const nearbyshare::proto::UpdateDeviceRequest& request, void UpdateDevice(const nearbyshare::proto::UpdateDeviceRequest& request,
UpdateDeviceCallback&& callback, UpdateDeviceCallback&& callback,
ErrorCallback&& error_callback) override; ErrorCallback&& error_callback) override;
void GetDeviceState(const nearbyshare::proto::GetDeviceStateRequest& request,
GetDeviceStateCallback&& callback,
ErrorCallback&& error_callback) override;
void CheckContactsReachability( void CheckContactsReachability(
const nearbyshare::proto::CheckContactsReachabilityRequest& request, const nearbyshare::proto::CheckContactsReachabilityRequest& request,
CheckContactsReachabilityCallback&& callback, CheckContactsReachabilityCallback&& callback,
......
...@@ -213,6 +213,16 @@ class NearbyShareClientImplTest : public testing::Test, ...@@ -213,6 +213,16 @@ class NearbyShareClientImplTest : public testing::Test,
update_device_response_from_notifier_ = response; update_device_response_from_notifier_ = response;
} }
void OnGetDeviceStateRequest(
const nearbyshare::proto::GetDeviceStateRequest& request) override {
get_device_state_request_from_notifier_ = request;
}
void OnGetDeviceStateResponse(
const nearbyshare::proto::GetDeviceStateResponse& response) override {
get_device_state_response_from_notifier_ = response;
}
void OnListContactPeopleRequest( void OnListContactPeopleRequest(
const nearbyshare::proto::ListContactPeopleRequest& request) override { const nearbyshare::proto::ListContactPeopleRequest& request) override {
list_contact_people_request_from_notifier_ = request; list_contact_people_request_from_notifier_ = request;
...@@ -286,6 +296,21 @@ class NearbyShareClientImplTest : public testing::Test, ...@@ -286,6 +296,21 @@ class NearbyShareClientImplTest : public testing::Test,
update_device_response_from_notifier_->SerializeAsString()); update_device_response_from_notifier_->SerializeAsString());
} }
void VerifyRequestNotification(
const nearbyshare::proto::GetDeviceStateRequest& expected_request) const {
ASSERT_TRUE(get_device_state_request_from_notifier_);
EXPECT_EQ(expected_request.SerializeAsString(),
get_device_state_request_from_notifier_->SerializeAsString());
}
void VerifyResponseNotification(
const nearbyshare::proto::GetDeviceStateResponse& expected_response)
const {
ASSERT_TRUE(get_device_state_response_from_notifier_);
EXPECT_EQ(expected_response.SerializeAsString(),
get_device_state_response_from_notifier_->SerializeAsString());
}
void VerifyRequestNotification( void VerifyRequestNotification(
const nearbyshare::proto::ListContactPeopleRequest& expected_request) const nearbyshare::proto::ListContactPeopleRequest& expected_request)
const { const {
...@@ -343,6 +368,10 @@ class NearbyShareClientImplTest : public testing::Test, ...@@ -343,6 +368,10 @@ class NearbyShareClientImplTest : public testing::Test,
update_device_request_from_notifier_; update_device_request_from_notifier_;
base::Optional<nearbyshare::proto::UpdateDeviceResponse> base::Optional<nearbyshare::proto::UpdateDeviceResponse>
update_device_response_from_notifier_; update_device_response_from_notifier_;
base::Optional<nearbyshare::proto::GetDeviceStateRequest>
get_device_state_request_from_notifier_;
base::Optional<nearbyshare::proto::GetDeviceStateResponse>
get_device_state_response_from_notifier_;
base::Optional<nearbyshare::proto::ListContactPeopleRequest> base::Optional<nearbyshare::proto::ListContactPeopleRequest>
list_contact_people_request_from_notifier_; list_contact_people_request_from_notifier_;
base::Optional<nearbyshare::proto::ListContactPeopleResponse> base::Optional<nearbyshare::proto::ListContactPeopleResponse>
...@@ -445,6 +474,61 @@ TEST_F(NearbyShareClientImplTest, UpdateDeviceFailure) { ...@@ -445,6 +474,61 @@ TEST_F(NearbyShareClientImplTest, UpdateDeviceFailure) {
EXPECT_EQ(NearbyShareHttpError::kInternalServerError, error); EXPECT_EQ(NearbyShareHttpError::kInternalServerError, error);
} }
TEST_F(NearbyShareClientImplTest, GetDeviceStateSuccess) {
nearbyshare::proto::GetDeviceStateResponse result_proto;
nearbyshare::proto::GetDeviceStateRequest request_proto;
request_proto.set_parent(kDeviceIdPath);
client_->GetDeviceState(
request_proto,
base::BindOnce(
&SaveResultConstRef<nearbyshare::proto::GetDeviceStateResponse>,
&result_proto),
base::BindOnce(&NotCalled<NearbyShareHttpError>));
identity_test_environment_
.WaitForAccessTokenRequestIfNecessaryAndRespondWithToken(
kAccessToken, base::Time::Max());
VerifyRequestNotification(request_proto);
EXPECT_EQ(kGet, http_method());
EXPECT_EQ(request_url(), std::string(kTestGoogleApisUrl) + "/v1/" +
std::string(kDeviceIdPath) + "/deviceState");
nearbyshare::proto::GetDeviceStateRequest expected_request;
EXPECT_EQ(NearbyShareApiCallFlow::QueryParameters(),
request_as_query_parameters());
nearbyshare::proto::GetDeviceStateResponse response_proto;
response_proto.set_are_contacts_changed(true);
FinishApiCallFlow(&response_proto);
VerifyResponseNotification(response_proto);
// Check that the result received in callback is the same as the response.
ASSERT_EQ(true, result_proto.are_contacts_changed());
}
TEST_F(NearbyShareClientImplTest, GetDeviceStateFailure) {
nearbyshare::proto::GetDeviceStateRequest request;
request.set_parent(kDeviceIdPath);
NearbyShareHttpError error;
client_->GetDeviceState(
request,
base::BindOnce(
&NotCalledConstRef<nearbyshare::proto::GetDeviceStateResponse>),
base::BindOnce(&SaveResult<NearbyShareHttpError>, &error));
identity_test_environment_
.WaitForAccessTokenRequestIfNecessaryAndRespondWithToken(
kAccessToken, base::Time::Max());
EXPECT_EQ(kGet, http_method());
EXPECT_EQ(request_url(), std::string(kTestGoogleApisUrl) + "/v1/" +
std::string(kDeviceIdPath) + "/deviceState");
FailApiCallFlow(NearbyShareHttpError::kInternalServerError);
EXPECT_EQ(NearbyShareHttpError::kInternalServerError, error);
}
TEST_F(NearbyShareClientImplTest, CheckContactsReachabilitySuccess) { TEST_F(NearbyShareClientImplTest, CheckContactsReachabilitySuccess) {
nearbyshare::proto::CheckContactsReachabilityResponse result_proto; nearbyshare::proto::CheckContactsReachabilityResponse result_proto;
nearbyshare::proto::CheckContactsReachabilityRequest request_proto; nearbyshare::proto::CheckContactsReachabilityRequest request_proto;
......
...@@ -28,6 +28,18 @@ void NearbyShareHttpNotifier::NotifyOfResponse( ...@@ -28,6 +28,18 @@ void NearbyShareHttpNotifier::NotifyOfResponse(
observer.OnUpdateDeviceResponse(response); observer.OnUpdateDeviceResponse(response);
} }
void NearbyShareHttpNotifier::NotifyOfRequest(
const nearbyshare::proto::GetDeviceStateRequest& request) {
for (auto& observer : observers_)
observer.OnGetDeviceStateRequest(request);
}
void NearbyShareHttpNotifier::NotifyOfResponse(
const nearbyshare::proto::GetDeviceStateResponse& response) {
for (auto& observer : observers_)
observer.OnGetDeviceStateResponse(response);
}
void NearbyShareHttpNotifier::NotifyOfRequest( void NearbyShareHttpNotifier::NotifyOfRequest(
const nearbyshare::proto::ListContactPeopleRequest& request) { const nearbyshare::proto::ListContactPeopleRequest& request) {
for (auto& observer : observers_) for (auto& observer : observers_)
......
...@@ -22,6 +22,10 @@ class NearbyShareHttpNotifier { ...@@ -22,6 +22,10 @@ class NearbyShareHttpNotifier {
const nearbyshare::proto::UpdateDeviceRequest& request) = 0; const nearbyshare::proto::UpdateDeviceRequest& request) = 0;
virtual void OnUpdateDeviceResponse( virtual void OnUpdateDeviceResponse(
const nearbyshare::proto::UpdateDeviceResponse& response) = 0; const nearbyshare::proto::UpdateDeviceResponse& response) = 0;
virtual void OnGetDeviceStateRequest(
const nearbyshare::proto::GetDeviceStateRequest& request) = 0;
virtual void OnGetDeviceStateResponse(
const nearbyshare::proto::GetDeviceStateResponse& response) = 0;
virtual void OnListContactPeopleRequest( virtual void OnListContactPeopleRequest(
const nearbyshare::proto::ListContactPeopleRequest& request) = 0; const nearbyshare::proto::ListContactPeopleRequest& request) = 0;
virtual void OnListContactPeopleResponse( virtual void OnListContactPeopleResponse(
...@@ -48,6 +52,8 @@ class NearbyShareHttpNotifier { ...@@ -48,6 +52,8 @@ class NearbyShareHttpNotifier {
// Sends |request| to all observers. // Sends |request| to all observers.
void NotifyOfRequest(const nearbyshare::proto::UpdateDeviceRequest& request); void NotifyOfRequest(const nearbyshare::proto::UpdateDeviceRequest& request);
void NotifyOfRequest(
const nearbyshare::proto::GetDeviceStateRequest& request);
void NotifyOfRequest( void NotifyOfRequest(
const nearbyshare::proto::CheckContactsReachabilityRequest& request); const nearbyshare::proto::CheckContactsReachabilityRequest& request);
void NotifyOfRequest( void NotifyOfRequest(
...@@ -58,6 +64,8 @@ class NearbyShareHttpNotifier { ...@@ -58,6 +64,8 @@ class NearbyShareHttpNotifier {
// Sends |response| to all observers. // Sends |response| to all observers.
void NotifyOfResponse( void NotifyOfResponse(
const nearbyshare::proto::UpdateDeviceResponse& response); const nearbyshare::proto::UpdateDeviceResponse& response);
void NotifyOfResponse(
const nearbyshare::proto::GetDeviceStateResponse& response);
void NotifyOfResponse( void NotifyOfResponse(
const nearbyshare::proto::ListContactPeopleResponse& response); const nearbyshare::proto::ListContactPeopleResponse& response);
void NotifyOfResponse( void NotifyOfResponse(
......
...@@ -255,3 +255,17 @@ base::Value EncryptedMetadataToReadableDictionary( ...@@ -255,3 +255,17 @@ base::Value EncryptedMetadataToReadableDictionary(
dict.SetStringKey("obfuscated_gaia_id", data.obfuscated_gaia_id()); dict.SetStringKey("obfuscated_gaia_id", data.obfuscated_gaia_id());
return dict; return dict;
} }
base::Value GetDeviceStateRequestToReadableDictionary(
const nearbyshare::proto::GetDeviceStateRequest& request) {
base::Value dict(base::Value::Type::DICTIONARY);
dict.SetStringKey("parent", request.parent());
return dict;
}
base::Value GetDeviceStateResponseToReadableDictionary(
const nearbyshare::proto::GetDeviceStateResponse& response) {
base::Value dict(base::Value::Type::DICTIONARY);
dict.SetBoolKey("are_contacts_changed", response.are_contacts_changed());
return dict;
}
...@@ -53,5 +53,9 @@ base::Value UpdateDeviceResponseToReadableDictionary( ...@@ -53,5 +53,9 @@ base::Value UpdateDeviceResponseToReadableDictionary(
const nearbyshare::proto::UpdateDeviceResponse& response); const nearbyshare::proto::UpdateDeviceResponse& response);
base::Value EncryptedMetadataToReadableDictionary( base::Value EncryptedMetadataToReadableDictionary(
const nearbyshare::proto::EncryptedMetadata& data); const nearbyshare::proto::EncryptedMetadata& data);
base::Value GetDeviceStateRequestToReadableDictionary(
const nearbyshare::proto::GetDeviceStateRequest& request);
base::Value GetDeviceStateResponseToReadableDictionary(
const nearbyshare::proto::GetDeviceStateResponse& response);
#endif // CHROME_BROWSER_NEARBY_SHARING_LOGGING_PROTO_TO_DICTIONARY_CONVERSION_H_ #endif // CHROME_BROWSER_NEARBY_SHARING_LOGGING_PROTO_TO_DICTIONARY_CONVERSION_H_
...@@ -47,14 +47,17 @@ Polymer({ ...@@ -47,14 +47,17 @@ Polymer({
*/ */
rpcToString_(rpc) { rpcToString_(rpc) {
switch (rpc) { switch (rpc) {
case Rpc.DEVICE: case Rpc.CERTIFICATE:
return 'UpdateDevice RPC'; return 'ListPublicCertificates RPC';
break; break;
case Rpc.CONTACT: case Rpc.CONTACT:
return 'ListContactPeople RPC'; return 'ListContactPeople RPC';
break; break;
case Rpc.CERTIFICATE: case Rpc.DEVICE:
return 'ListPublicCertificates RPC'; return 'UpdateDevice RPC';
break;
case Rpc.DEVICE_STATE:
return 'GetDeviceState RPC';
break; break;
default: default:
break; break;
......
...@@ -35,7 +35,8 @@ export let LogMessage; ...@@ -35,7 +35,8 @@ export let LogMessage;
export const Rpc = { export const Rpc = {
CERTIFICATE: 0, CERTIFICATE: 0,
CONTACT: 1, CONTACT: 1,
DEVICE: 2 DEVICE: 2,
DEVICE_STATE: 3
}; };
/** /**
......
...@@ -24,15 +24,13 @@ namespace { ...@@ -24,15 +24,13 @@ namespace {
enum class Rpc { enum class Rpc {
kCertificate = 0, kCertificate = 0,
kContact = 1, kContact = 1,
kDevice = 2 kDevice = 2,
kDeviceState = 3
}; };
// This enum class needs to stay in sync with the Direction definition in // This enum class needs to stay in sync with the Direction definition in
// chrome/browser/resources/nearby_internals/types.js. // chrome/browser/resources/nearby_internals/types.js.
enum class Direction { enum class Direction { kRequest = 0, kResponse = 1 };
kRequest = 0,
kResponse = 1
};
std::string FormatAsJSON(const base::Value& value) { std::string FormatAsJSON(const base::Value& value) {
std::string json; std::string json;
...@@ -162,6 +160,22 @@ void NearbyInternalsHttpHandler::OnUpdateDeviceResponse( ...@@ -162,6 +160,22 @@ void NearbyInternalsHttpHandler::OnUpdateDeviceResponse(
Direction::kResponse, Rpc::kDevice)); Direction::kResponse, Rpc::kDevice));
} }
void NearbyInternalsHttpHandler::OnGetDeviceStateRequest(
const nearbyshare::proto::GetDeviceStateRequest& request) {
FireWebUIListener(kHttpMessageAdded,
HttpMessageToDictionary(
GetDeviceStateRequestToReadableDictionary(request),
Direction::kRequest, Rpc::kDeviceState));
}
void NearbyInternalsHttpHandler::OnGetDeviceStateResponse(
const nearbyshare::proto::GetDeviceStateResponse& response) {
FireWebUIListener(kHttpMessageAdded,
HttpMessageToDictionary(
GetDeviceStateResponseToReadableDictionary(response),
Direction::kResponse, Rpc::kDeviceState));
}
void NearbyInternalsHttpHandler::OnListContactPeopleRequest( void NearbyInternalsHttpHandler::OnListContactPeopleRequest(
const nearbyshare::proto::ListContactPeopleRequest& request) { const nearbyshare::proto::ListContactPeopleRequest& request) {
FireWebUIListener(kHttpMessageAdded, FireWebUIListener(kHttpMessageAdded,
......
...@@ -42,6 +42,10 @@ class NearbyInternalsHttpHandler : public content::WebUIMessageHandler, ...@@ -42,6 +42,10 @@ class NearbyInternalsHttpHandler : public content::WebUIMessageHandler,
const nearbyshare::proto::UpdateDeviceRequest& request) override; const nearbyshare::proto::UpdateDeviceRequest& request) override;
void OnUpdateDeviceResponse( void OnUpdateDeviceResponse(
const nearbyshare::proto::UpdateDeviceResponse& response) override; const nearbyshare::proto::UpdateDeviceResponse& response) override;
void OnGetDeviceStateRequest(
const nearbyshare::proto::GetDeviceStateRequest& request) override;
void OnGetDeviceStateResponse(
const nearbyshare::proto::GetDeviceStateResponse& response) override;
void OnListContactPeopleRequest( void OnListContactPeopleRequest(
const nearbyshare::proto::ListContactPeopleRequest& request) override; const nearbyshare::proto::ListContactPeopleRequest& request) override;
void OnListContactPeopleResponse( void OnListContactPeopleResponse(
......
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