blob: f8682da2982b58c37e2be5a3dd508ada30f0fa3d [file] [log] [blame]
// Copyright 2014 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/fake_lorgnette_manager_client.h"
#include <utility>
#include "base/bind.h"
#include "base/callback.h"
#include "base/location.h"
#include "base/single_thread_task_runner.h"
#include "base/threading/thread_task_runner_handle.h"
namespace chromeos {
FakeLorgnetteManagerClient::FakeLorgnetteManagerClient() = default;
FakeLorgnetteManagerClient::~FakeLorgnetteManagerClient() = default;
void FakeLorgnetteManagerClient::Init(dbus::Bus* bus) {}
void FakeLorgnetteManagerClient::ListScanners(
DBusMethodCallback<ScannerTable> callback) {
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::BindOnce(std::move(callback),
scanner_table_.empty()
? base::nullopt
: base::make_optional(scanner_table_)));
}
void FakeLorgnetteManagerClient::ScanImageToString(
std::string device_name,
const ScanProperties& properties,
DBusMethodCallback<std::string> callback) {
auto it = scan_data_.find(
std::make_tuple(device_name, properties.mode, properties.resolution_dpi));
auto data =
it == scan_data_.end() ? base::nullopt : base::make_optional(it->second);
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::BindOnce(std::move(callback), std::move(data)));
}
void FakeLorgnetteManagerClient::AddScannerTableEntry(
const std::string& device_name,
const ScannerTableEntry& entry) {
scanner_table_[device_name] = entry;
}
void FakeLorgnetteManagerClient::AddScanData(const std::string& device_name,
const ScanProperties& properties,
const std::string& data) {
scan_data_[std::make_tuple(device_name, properties.mode,
properties.resolution_dpi)] = data;
}
} // namespace chromeos