chromium/chrome/browser/ash/printing/test_cups_print_job_manager.cc

// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "chrome/browser/ash/printing/test_cups_print_job_manager.h"

#include "chrome/browser/ash/printing/cups_print_job.h"

namespace ash {

TestCupsPrintJobManager::TestCupsPrintJobManager(Profile* profile)
    : CupsPrintJobManager(profile) {}

TestCupsPrintJobManager::~TestCupsPrintJobManager() = default;

void TestCupsPrintJobManager::CancelPrintJob(CupsPrintJob* job) {
  job->set_state(CupsPrintJob::State::STATE_CANCELLED);
  NotifyJobCanceled(job->GetWeakPtr());
}

bool TestCupsPrintJobManager::SuspendPrintJob(CupsPrintJob* job) {
  job->set_state(CupsPrintJob::State::STATE_SUSPENDED);
  NotifyJobSuspended(job->GetWeakPtr());
  return true;
}

bool TestCupsPrintJobManager::ResumePrintJob(CupsPrintJob* job) {
  job->set_state(CupsPrintJob::State::STATE_RESUMED);
  NotifyJobResumed(job->GetWeakPtr());
  return true;
}

bool TestCupsPrintJobManager::CreatePrintJob(
    const std::string& printer_id,
    const std::string& title,
    uint32_t job_id,
    int total_page_number,
    ::printing::PrintJob::Source source,
    const std::string& source_id,
    const printing::proto::PrintSettings& settings) {
  return false;
}

void TestCupsPrintJobManager::CreatePrintJob(CupsPrintJob* job) {
  job->set_state(CupsPrintJob::State::STATE_NONE);
  NotifyJobCreated(job->GetWeakPtr());
}

void TestCupsPrintJobManager::StartPrintJob(CupsPrintJob* job) {
  job->set_state(CupsPrintJob::State::STATE_STARTED);
  NotifyJobStarted(job->GetWeakPtr());
}

void TestCupsPrintJobManager::FailPrintJob(CupsPrintJob* job) {
  job->set_state(CupsPrintJob::State::STATE_FAILED);
  NotifyJobFailed(job->GetWeakPtr());
}

void TestCupsPrintJobManager::CompletePrintJob(CupsPrintJob* job) {
  job->set_state(CupsPrintJob::State::STATE_DOCUMENT_DONE);
  NotifyJobDone(job->GetWeakPtr());
}

}  // namespace ash