blob: 2065e54335233019bdd4416c196a95682d2cdca7 [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chromeos/dbus/upstart/fake_upstart_client.h"
#include "base/bind.h"
#include "base/threading/thread_task_runner_handle.h"
#include "chromeos/dbus/auth_policy/fake_auth_policy_client.h"
#include "chromeos/dbus/kerberos/fake_kerberos_client.h"
#include "chromeos/dbus/kerberos/kerberos_client.h"
#include "chromeos/dbus/media_analytics/fake_media_analytics_client.h"
namespace chromeos {
namespace {
// Used to track the fake instance, mirrors the instance in the base class.
FakeUpstartClient* g_instance = nullptr;
} // namespace
FakeUpstartClient::FakeUpstartClient() {
DCHECK(!g_instance);
g_instance = this;
}
FakeUpstartClient::~FakeUpstartClient() {
DCHECK_EQ(this, g_instance);
g_instance = nullptr;
}
void FakeUpstartClient::AddObserver(Observer* observer) {}
void FakeUpstartClient::RemoveObserver(Observer* observer) {}
// static
FakeUpstartClient* FakeUpstartClient::Get() {
return g_instance;
}
void FakeUpstartClient::StartJob(const std::string& job,
const std::vector<std::string>& upstart_env,
VoidDBusMethodCallback callback) {
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::BindOnce(std::move(callback), start_job_result_));
}
void FakeUpstartClient::StopJob(const std::string& job,
const std::vector<std::string>& upstart_env,
VoidDBusMethodCallback callback) {
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::BindOnce(std::move(callback), stop_job_result_));
}
void FakeUpstartClient::StartAuthPolicyService() {
FakeAuthPolicyClient::Get()->SetStarted(true);
}
void FakeUpstartClient::RestartAuthPolicyService() {
DLOG_IF(WARNING, !FakeAuthPolicyClient::Get()->started())
<< "Trying to restart authpolicyd which is not started";
FakeAuthPolicyClient::Get()->SetStarted(true);
}
void FakeUpstartClient::StartMediaAnalytics(
const std::vector<std::string>& /* upstart_env */,
VoidDBusMethodCallback callback) {
DLOG_IF(WARNING, FakeMediaAnalyticsClient::Get()->process_running())
<< "Trying to start media analytics which is already started.";
FakeMediaAnalyticsClient::Get()->set_process_running(true);
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::BindOnce(std::move(callback), true));
}
void FakeUpstartClient::RestartMediaAnalytics(VoidDBusMethodCallback callback) {
FakeMediaAnalyticsClient::Get()->set_process_running(false);
FakeMediaAnalyticsClient::Get()->set_process_running(true);
FakeMediaAnalyticsClient::Get()->SetStateSuspended();
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::BindOnce(std::move(callback), true));
}
void FakeUpstartClient::StopMediaAnalytics() {
DLOG_IF(WARNING, !FakeMediaAnalyticsClient::Get()->process_running())
<< "Trying to stop media analytics which is not started.";
FakeMediaAnalyticsClient::Get()->set_process_running(false);
}
void FakeUpstartClient::StopMediaAnalytics(VoidDBusMethodCallback callback) {
FakeMediaAnalyticsClient::Get()->set_process_running(false);
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::BindOnce(std::move(callback), true));
}
void FakeUpstartClient::StartWilcoDtcService(VoidDBusMethodCallback callback) {
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::BindOnce(std::move(callback), true));
}
void FakeUpstartClient::StopWilcoDtcService(VoidDBusMethodCallback callback) {
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::BindOnce(std::move(callback), true));
}
} // namespace chromeos