// Copyright 2013 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_LOCAL_LOCAL_FILE_SYNC_STATUS_H_ #define CHROME_BROWSER_SYNC_FILE_SYSTEM_LOCAL_LOCAL_FILE_SYNC_STATUS_H_ #include <stdint.h> #include <map> #include <set> #include <utility> #include "base/gtest_prod_util.h" #include "base/observer_list.h" #include "storage/browser/file_system/file_system_url.h" namespace storage { class FileSystemURL; } namespace sync_file_system { // Represents local file sync status. // This class is supposed to run only on IO thread. // // This class manages two important synchronization flags: writing (counter) // and syncing (flag). Writing counter keeps track of which URL is in // writing and syncing flag indicates which URL is in syncing. // // An entry can have multiple writers but sync is exclusive and cannot overwrap // with any writes or syncs. class LocalFileSyncStatus { … }; } // namespace sync_file_system #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_LOCAL_LOCAL_FILE_SYNC_STATUS_H_