1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROMEOS_CROSAPI_CPP_TELEMETRY_FAKE_PROBE_SERVICE_H_
#define CHROMEOS_CROSAPI_CPP_TELEMETRY_FAKE_PROBE_SERVICE_H_
#include <vector>
#include "chromeos/crosapi/mojom/probe_service.mojom.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/receiver.h"
namespace chromeos {
class FakeProbeService : public crosapi::mojom::TelemetryProbeService {
public:
FakeProbeService();
FakeProbeService(const FakeProbeService&) = delete;
FakeProbeService& operator=(const FakeProbeService&) = delete;
~FakeProbeService() override;
void BindPendingReceiver(
mojo::PendingReceiver<crosapi::mojom::TelemetryProbeService> receiver);
mojo::PendingRemote<crosapi::mojom::TelemetryProbeService>
BindNewPipeAndPassRemote();
// crosapi::mojom::TelemetryProbeService overrides.
void ProbeTelemetryInfo(
const std::vector<crosapi::mojom::ProbeCategoryEnum>& categories,
ProbeTelemetryInfoCallback callback) override;
void GetOemData(GetOemDataCallback callback) override;
// Sets the return value for |ProbeTelemetryInfo|.
void SetProbeTelemetryInfoResponse(
crosapi::mojom::ProbeTelemetryInfoPtr response_info);
// Sets the return value for |GetOemData|.
void SetOemDataResponse(crosapi::mojom::ProbeOemDataPtr oem_data);
const std::vector<crosapi::mojom::ProbeCategoryEnum>&
GetLastRequestedCategories();
int GetProbeTelemetryInfoCallCount();
private:
mojo::Receiver<crosapi::mojom::TelemetryProbeService> receiver_;
// Response for a call to |ProbeTelemetryInfo|.
crosapi::mojom::ProbeTelemetryInfoPtr telem_info_{
crosapi::mojom::ProbeTelemetryInfo::New()};
// Response for a call to |GetOemData|.
crosapi::mojom::ProbeOemDataPtr oem_data_{
crosapi::mojom::ProbeOemData::New()};
std::vector<crosapi::mojom::ProbeCategoryEnum>
probe_telemetry_info_requested_categories_;
int probe_telemetry_info_call_count_ = 0;
};
} // namespace chromeos
#endif // CHROMEOS_CROSAPI_CPP_TELEMETRY_FAKE_PROBE_SERVICE_H_
|