blob: 1eb3386e669585b3b7c6ff7489b582a931739870 [file] [log] [blame]
// Copyright (c) 2012 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 "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);
}