Index: chrome/browser/media_galleries/fileapi/picasa/picasa_data_provider.h |
diff --git a/chrome/browser/media_galleries/fileapi/picasa/picasa_data_provider.h b/chrome/browser/media_galleries/fileapi/picasa/picasa_data_provider.h |
deleted file mode 100644 |
index 61b66b63bfaf9e24badef63d2d2fc4449e2e3916..0000000000000000000000000000000000000000 |
--- a/chrome/browser/media_galleries/fileapi/picasa/picasa_data_provider.h |
+++ /dev/null |
@@ -1,121 +0,0 @@ |
-// Copyright 2013 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. |
- |
-#ifndef CHROME_BROWSER_MEDIA_GALLERIES_FILEAPI_PICASA_PICASA_DATA_PROVIDER_H_ |
-#define CHROME_BROWSER_MEDIA_GALLERIES_FILEAPI_PICASA_PICASA_DATA_PROVIDER_H_ |
- |
-#include <map> |
-#include <queue> |
-#include <string> |
-#include <vector> |
- |
-#include "base/basictypes.h" |
-#include "base/callback_forward.h" |
-#include "base/files/file_path.h" |
-#include "base/files/file_path_watcher.h" |
-#include "base/memory/ref_counted.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "base/memory/weak_ptr.h" |
-#include "base/time/time.h" |
-#include "chrome/common/media_galleries/picasa_types.h" |
- |
-namespace picasa { |
- |
-class SafePicasaAlbumTableReader; |
-class SafePicasaAlbumsIndexer; |
- |
-// Created and owned by ImportedMediaGalleryRegistryTaskRunnerValues |
-class PicasaDataProvider { |
- public: |
- typedef base::Callback<void(bool)> ReadyCallback; |
- |
- enum DataType { |
- LIST_OF_ALBUMS_AND_FOLDERS_DATA, |
- ALBUMS_IMAGES_DATA |
- }; |
- |
- explicit PicasaDataProvider(const base::FilePath& database_path); |
- virtual ~PicasaDataProvider(); |
- |
- // Ask the data provider to refresh the data if necessary. |ready_callback| |
- // will be called when the data is up to date. |
- void RefreshData(DataType needed_data, const ReadyCallback& ready_callback); |
- |
- // These methods return scoped_ptrs because we want to return a copy that |
- // will not change to the caller. |
- scoped_ptr<AlbumMap> GetAlbums(); |
- scoped_ptr<AlbumMap> GetFolders(); |
- // |error| must be non-NULL. |
- scoped_ptr<AlbumImages> FindAlbumImages(const std::string& key, |
- base::PlatformFileError* error); |
- |
- protected: |
- // Notifies data provider that any currently cached data is stale. |
- virtual void InvalidateData(); |
- |
- private: |
- enum State { |
- STALE_DATA_STATE, |
- INVALID_DATA_STATE, |
- LIST_OF_ALBUMS_AND_FOLDERS_FRESH_STATE, |
- ALBUMS_IMAGES_FRESH_STATE |
- }; |
- |
- friend class PicasaFileUtilTest; |
- friend class TestPicasaDataProvider; |
- |
- // Called when the FilePathWatcher for Picasa's temp directory has started. |
- void OnTempDirWatchStarted( |
- scoped_ptr<base::FilePathWatcher> temp_dir_watcher); |
- |
- // Called when Picasa's temp directory has changed. Virtual for testing. |
- virtual void OnTempDirChanged(const base::FilePath& temp_dir_path, |
- bool error); |
- |
- // Kicks off utility processes needed to fulfill any pending callbacks. |
- void DoRefreshIfNecessary(); |
- |
- void OnAlbumTableReaderDone(scoped_refptr<SafePicasaAlbumTableReader> reader, |
- bool parse_success, |
- const std::vector<AlbumInfo>& albums, |
- const std::vector<AlbumInfo>& folder); |
- |
- void OnAlbumsIndexerDone(scoped_refptr<SafePicasaAlbumsIndexer> indexer, |
- bool success, |
- const picasa::AlbumImagesMap& albums_images); |
- |
- static std::string DateToPathString(const base::Time& time); |
- static void UniquifyNames(const std::vector<AlbumInfo>& info_list, |
- AlbumMap* result_map); |
- |
- AlbumMap album_map_; |
- AlbumMap folder_map_; |
- AlbumImagesMap albums_images_; |
- |
- base::FilePath database_path_; |
- |
- State state_; |
- |
- // Callbacks that are waiting for their requested data to be ready. |
- std::queue<ReadyCallback> album_list_ready_callbacks_; |
- std::queue<ReadyCallback> albums_index_ready_callbacks_; |
- |
- // Stores the "live" in-flight utility processes. Callbacks from other |
- // (older) utility processes are stale and ignored. Only one of these at a |
- // time should be non-NULL. |
- scoped_refptr<SafePicasaAlbumTableReader> album_table_reader_; |
- scoped_refptr<SafePicasaAlbumsIndexer> albums_indexer_; |
- |
- // We watch the temp dir, as we can't detect database file modifications on |
- // Mac, but we are able to detect creation and deletion of temporary files. |
- scoped_ptr<base::FilePathWatcher> temp_dir_watcher_; |
- |
- base::WeakPtrFactory<PicasaDataProvider> weak_factory_; |
- |
- DISALLOW_COPY_AND_ASSIGN(PicasaDataProvider); |
-}; |
- |
-} // namespace picasa |
- |
-#endif // CHROME_BROWSER_MEDIA_GALLERIES_FILEAPI_PICASA_PICASA_DATA_PROVIDER_H_ |