910e62b5创建于 1月15日历史提交
// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CHROMEOS_ASH_EXPERIENCES_CLIPBOARD_CLIPBOARD_UTIL_H_
#define CHROMEOS_ASH_EXPERIENCES_CLIPBOARD_CLIPBOARD_UTIL_H_

#include "base/functional/callback_forward.h"

namespace base {
class FilePath;
}  // namespace base

namespace clipboard_util {

enum class ReadFileAndCopyToClipboardResult {
  kSuccess,
  kFailedToReadFile,
  kFailedToDecodeImage,
};

using ReadFileAndCopyToClipboardCallback =
    base::OnceCallback<void(ReadFileAndCopyToClipboardResult)>;

// Reads a local file and then copies that file to the system clipboard.
// This posts a task to the thread pool. `callback` will be posted to the
// original task runner.
void ReadFileAndCopyToClipboard(const base::FilePath& local_file,
                                ReadFileAndCopyToClipboardCallback callback);

}  // namespace clipboard_util

#endif  // CHROMEOS_ASH_EXPERIENCES_CLIPBOARD_CLIPBOARD_UTIL_H_