blob: 803f1eec0a3b1af1b094f8a5a4fd6c31db6df494 [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(
const ListScannersCallback& callback) {
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE,
base::BindOnce(callback, !scanner_table_.empty(), scanner_table_));
}
void FakeLorgnetteManagerClient::ScanImageToString(
std::string device_name,
const ScanProperties& properties,
const ScanImageToStringCallback& callback) {
auto it = scan_data_.find(
std::make_tuple(device_name, properties.mode, properties.resolution_dpi));
auto task = it != scan_data_.end()
? base::BindOnce(callback, true, it->second)
: base::BindOnce(callback, false, std::string());
base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, std::move(task));
}
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