Skip to content

Commit

Permalink
[Telemetry] Put ProbeService mojo into crosapi namespace
Browse files Browse the repository at this point in the history
Put ProbeService mojo related types into crosapi namespace.

This is part of Making Telemetry Extensions work in LaCrOS:
go/dd-telemetry-extensions-lacros.

This CL is part of crrev.com/c/3613280/8 split which is very big to
submit.

Bug: b:219514064
Test: ash_webui_unittests --gtest_filter="*DiagnosticsService*"
Test: browser_tests --gtest_filter="*TelemetryExtension*"
Test: unit_tests --gtest_filter="*ProbeService*"
Change-Id: I580d9ddcef7bb3c32c0b821d879ad6b3c6a10053
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3748467
Commit-Queue: Oleh Lamzin <lamzin@google.com>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Roland Bock <rbock@google.com>
Quick-Run: Oleh Lamzin <lamzin@google.com>
Cr-Commit-Position: refs/heads/main@{#1030707}
  • Loading branch information
Lamzin authored and Chromium LUCI CQ committed Aug 2, 2022
1 parent edf476d commit 44745bf
Show file tree
Hide file tree
Showing 21 changed files with 722 additions and 700 deletions.
15 changes: 8 additions & 7 deletions chrome/browser/ash/telemetry_extension/fake_probe_service.cc
Expand Up @@ -22,9 +22,9 @@ void FakeProbeService::Factory::SetCreateInstanceResponse(
fake_service_ = std::move(fake_service);
}

std::unique_ptr<health::mojom::ProbeService>
std::unique_ptr<crosapi::mojom::ProbeService>
FakeProbeService::Factory::CreateInstance(
mojo::PendingReceiver<health::mojom::ProbeService> receiver) {
mojo::PendingReceiver<crosapi::mojom::ProbeService> receiver) {
fake_service_->BindPendingReceiver(std::move(receiver));
return std::move(fake_service_);
}
Expand All @@ -39,7 +39,7 @@ FakeProbeService::~FakeProbeService() {
}

void FakeProbeService::ProbeTelemetryInfo(
const std::vector<health::mojom::ProbeCategoryEnum>& categories,
const std::vector<crosapi::mojom::ProbeCategoryEnum>& categories,
ProbeTelemetryInfoCallback callback) {
actual_requested_categories_.clear();
actual_requested_categories_.insert(actual_requested_categories_.end(),
Expand All @@ -55,22 +55,23 @@ void FakeProbeService::GetOemData(GetOemDataCallback callback) {
}

void FakeProbeService::SetExpectedLastRequestedCategories(
std::vector<health::mojom::ProbeCategoryEnum>
std::vector<crosapi::mojom::ProbeCategoryEnum>
expected_requested_categories) {
expected_requested_categories_ = std::move(expected_requested_categories);
}

void FakeProbeService::SetProbeTelemetryInfoResponse(
health::mojom::TelemetryInfoPtr response_info) {
crosapi::mojom::ProbeTelemetryInfoPtr response_info) {
telem_info_ = std::move(response_info);
}

void FakeProbeService::SetOemDataResponse(health::mojom::OemDataPtr oem_data) {
void FakeProbeService::SetOemDataResponse(
crosapi::mojom::ProbeOemDataPtr oem_data) {
oem_data_ = std::move(oem_data);
}

void FakeProbeService::BindPendingReceiver(
mojo::PendingReceiver<health::mojom::ProbeService> receiver) {
mojo::PendingReceiver<crosapi::mojom::ProbeService> receiver) {
receiver_.Bind(std::move(receiver));
}

Expand Down
40 changes: 21 additions & 19 deletions chrome/browser/ash/telemetry_extension/fake_probe_service.h
Expand Up @@ -15,7 +15,7 @@

namespace ash {

class FakeProbeService : public health::mojom::ProbeService {
class FakeProbeService : public crosapi::mojom::ProbeService {
public:
class Factory : public ash::ProbeService::Factory {
public:
Expand All @@ -27,16 +27,17 @@ class FakeProbeService : public health::mojom::ProbeService {

protected:
// ProbeService::Factory:
std::unique_ptr<health::mojom::ProbeService> CreateInstance(
mojo::PendingReceiver<health::mojom::ProbeService> receiver) override;
std::unique_ptr<crosapi::mojom::ProbeService> CreateInstance(
mojo::PendingReceiver<crosapi::mojom::ProbeService> receiver) override;

private:
health::mojom::TelemetryInfoPtr telem_info_{
health::mojom::TelemetryInfo::New()};
crosapi::mojom::ProbeTelemetryInfoPtr telem_info_{
crosapi::mojom::ProbeTelemetryInfo::New()};

health::mojom::OemDataPtr oem_data_{health::mojom::OemData::New()};
crosapi::mojom::ProbeOemDataPtr oem_data_{
crosapi::mojom::ProbeOemData::New()};

std::vector<health::mojom::ProbeCategoryEnum> requested_categories_;
std::vector<crosapi::mojom::ProbeCategoryEnum> requested_categories_;

private:
std::unique_ptr<FakeProbeService> fake_service_;
Expand All @@ -47,43 +48,44 @@ class FakeProbeService : public health::mojom::ProbeService {
FakeProbeService& operator=(const FakeProbeService&) = delete;
~FakeProbeService() override;

// health::mojom::ProbeService overrides.
// crosapi::mojom::ProbeService overrides.
void ProbeTelemetryInfo(
const std::vector<health::mojom::ProbeCategoryEnum>& categories,
const std::vector<crosapi::mojom::ProbeCategoryEnum>& categories,
ProbeTelemetryInfoCallback callback) override;

void GetOemData(GetOemDataCallback callback) override;

// Sets the return value for |ProbeTelemetryInfo|.
void SetProbeTelemetryInfoResponse(
health::mojom::TelemetryInfoPtr response_info);
crosapi::mojom::ProbeTelemetryInfoPtr response_info);

// Sets the return value for |GetOemData|.
void SetOemDataResponse(health::mojom::OemDataPtr oem_data);
void SetOemDataResponse(crosapi::mojom::ProbeOemDataPtr oem_data);

// Set expectation about the parameter that is passed to |ProbeTelemetryInfo|.
void SetExpectedLastRequestedCategories(
std::vector<health::mojom::ProbeCategoryEnum>
std::vector<crosapi::mojom::ProbeCategoryEnum>
expected_requested_categories);

private:
void BindPendingReceiver(
mojo::PendingReceiver<health::mojom::ProbeService> receiver);
mojo::PendingReceiver<crosapi::mojom::ProbeService> receiver);

mojo::Receiver<health::mojom::ProbeService> receiver_;
mojo::Receiver<crosapi::mojom::ProbeService> receiver_;

// Response for a call to |ProbeTelemetryInfo|.
health::mojom::TelemetryInfoPtr telem_info_{
health::mojom::TelemetryInfo::New()};
crosapi::mojom::ProbeTelemetryInfoPtr telem_info_{
crosapi::mojom::ProbeTelemetryInfo::New()};

// Response for a call to |GetOemData|.
health::mojom::OemDataPtr oem_data_{health::mojom::OemData::New()};
crosapi::mojom::ProbeOemDataPtr oem_data_{
crosapi::mojom::ProbeOemData::New()};

// Expectation about the parameter that is passed to |ProbeTelemetryInfo|.
std::vector<health::mojom::ProbeCategoryEnum> actual_requested_categories_;
std::vector<crosapi::mojom::ProbeCategoryEnum> actual_requested_categories_;

// Actual passed parameter.
std::vector<health::mojom::ProbeCategoryEnum> expected_requested_categories_;
std::vector<crosapi::mojom::ProbeCategoryEnum> expected_requested_categories_;
};

} // namespace ash
Expand Down
12 changes: 6 additions & 6 deletions chrome/browser/ash/telemetry_extension/probe_service.cc
Expand Up @@ -25,8 +25,8 @@ constexpr char kOemDataLogName[] = "oemdata";
ProbeService::Factory* ProbeService::Factory::test_factory_ = nullptr;

// static
std::unique_ptr<health::mojom::ProbeService> ProbeService::Factory::Create(
mojo::PendingReceiver<health::mojom::ProbeService> receiver) {
std::unique_ptr<crosapi::mojom::ProbeService> ProbeService::Factory::Create(
mojo::PendingReceiver<crosapi::mojom::ProbeService> receiver) {
if (test_factory_) {
return test_factory_->CreateInstance(std::move(receiver));
}
Expand All @@ -42,18 +42,18 @@ void ProbeService::Factory::SetForTesting(ProbeService::Factory* test_factory) {
ProbeService::Factory::~Factory() = default;

ProbeService::ProbeService(
mojo::PendingReceiver<health::mojom::ProbeService> receiver)
mojo::PendingReceiver<crosapi::mojom::ProbeService> receiver)
: receiver_(this, std::move(receiver)) {}

ProbeService::~ProbeService() = default;

void ProbeService::ProbeTelemetryInfo(
const std::vector<health::mojom::ProbeCategoryEnum>& categories,
const std::vector<crosapi::mojom::ProbeCategoryEnum>& categories,
ProbeTelemetryInfoCallback callback) {
GetService()->ProbeTelemetryInfo(
converters::ConvertCategoryVector(categories),
base::BindOnce(
[](health::mojom::ProbeService::ProbeTelemetryInfoCallback callback,
[](crosapi::mojom::ProbeService::ProbeTelemetryInfoCallback callback,
cros_healthd::mojom::TelemetryInfoPtr ptr) {
std::move(callback).Run(
converters::ConvertProbePtr(std::move(ptr)));
Expand All @@ -68,7 +68,7 @@ void ProbeService::GetOemData(GetOemDataCallback callback) {
[](GetOemDataCallback callback,
absl::optional<std::string> oem_data) {
std::move(callback).Run(
health::mojom::OemData::New(std::move(oem_data)));
crosapi::mojom::ProbeOemData::New(std::move(oem_data)));
},
std::move(callback)));
}
Expand Down
18 changes: 9 additions & 9 deletions chrome/browser/ash/telemetry_extension/probe_service.h
Expand Up @@ -21,19 +21,19 @@ namespace cros_healthd {
namespace mojom = ::chromeos::cros_healthd::mojom;
} // namespace cros_healthd

class ProbeService : public health::mojom::ProbeService {
class ProbeService : public crosapi::mojom::ProbeService {
public:
class Factory {
public:
static std::unique_ptr<health::mojom::ProbeService> Create(
mojo::PendingReceiver<health::mojom::ProbeService> receiver);
static std::unique_ptr<crosapi::mojom::ProbeService> Create(
mojo::PendingReceiver<crosapi::mojom::ProbeService> receiver);
static void SetForTesting(Factory* test_factory);

virtual ~Factory();

protected:
virtual std::unique_ptr<health::mojom::ProbeService> CreateInstance(
mojo::PendingReceiver<health::mojom::ProbeService> receiver) = 0;
virtual std::unique_ptr<crosapi::mojom::ProbeService> CreateInstance(
mojo::PendingReceiver<crosapi::mojom::ProbeService> receiver) = 0;

private:
static Factory* test_factory_;
Expand All @@ -45,11 +45,11 @@ class ProbeService : public health::mojom::ProbeService {

private:
explicit ProbeService(
mojo::PendingReceiver<health::mojom::ProbeService> receiver);
mojo::PendingReceiver<crosapi::mojom::ProbeService> receiver);

// health::mojom::ProbeService override
// crosapi::mojom::ProbeService override
void ProbeTelemetryInfo(
const std::vector<health::mojom::ProbeCategoryEnum>& categories,
const std::vector<crosapi::mojom::ProbeCategoryEnum>& categories,
ProbeTelemetryInfoCallback callback) override;
void GetOemData(GetOemDataCallback callback) override;

Expand All @@ -66,7 +66,7 @@ class ProbeService : public health::mojom::ProbeService {
// interface pipe before destroying pending response callbacks owned by
// |service_|. It is an error to drop response callbacks which still
// correspond to an open interface pipe.
mojo::Receiver<health::mojom::ProbeService> receiver_;
mojo::Receiver<crosapi::mojom::ProbeService> receiver_;
};

} // namespace ash
Expand Down

0 comments on commit 44745bf

Please sign in to comment.