chromium/components/services/app_service/public/cpp/app_storage/app_storage_file_handler.h

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

#ifndef COMPONENTS_SERVICES_APP_SERVICE_PUBLIC_CPP_APP_STORAGE_APP_STORAGE_FILE_HANDLER_H_
#define COMPONENTS_SERVICES_APP_SERVICE_PUBLIC_CPP_APP_STORAGE_APP_STORAGE_FILE_HANDLER_H_

#include <memory>
#include <set>
#include <vector>

#include "base/component_export.h"
#include "base/files/file_path.h"
#include "base/memory/ref_counted_delete_on_sequence.h"
#include "base/sequence_checker.h"
#include "base/task/sequenced_task_runner_helpers.h"
#include "base/values.h"
#include "components/services/app_service/public/cpp/app.h"

namespace base {
class SequencedTaskRunner;
}  // namespace base

namespace apps {

// AppStorageFileHandler is the backend used by AppStorage to reads and writes
// the app information from and to disk. AppStorageFileHandler is created on the
// main thread, but the real reading and writing work must be invoked on a
// background task runner `owning_task_runner`.
class COMPONENT_EXPORT(APP_UPDATE) AppStorageFileHandler
    : public base::RefCountedDeleteOnSequence<AppStorageFileHandler> {};

}  // namespace apps

#endif  // COMPONENTS_SERVICES_APP_SERVICE_PUBLIC_CPP_APP_STORAGE_APP_STORAGE_FILE_HANDLER_H_