blob: c15961a0d15f598a9ccbea866e41faec33ee4a9f [file] [log] [blame] [edit]
// Copyright 2012 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/installer/util/callback_work_item.h"
CallbackWorkItem::CallbackWorkItem(
base::OnceCallback<bool(const CallbackWorkItem&)> do_action,
base::OnceCallback<void(const CallbackWorkItem&)> rollback_action)
: do_action_(std::move(do_action)),
rollback_action_(std::move(rollback_action)) {}
CallbackWorkItem::~CallbackWorkItem() = default;
bool CallbackWorkItem::DoImpl() {
return std::move(do_action_).Run(*this);
}
void CallbackWorkItem::RollbackImpl() {
std::move(rollback_action_).Run(*this);
}