// Copyright 2014 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 CONTENT_BROWSER_FILEAPI_MOCK_FILE_UPDATE_OBSERVER_H_ #define CONTENT_BROWSER_FILEAPI_MOCK_FILE_UPDATE_OBSERVER_H_ #include #include "base/basictypes.h" #include "base/compiler_specific.h" #include "storage/browser/fileapi/file_observers.h" #include "storage/browser/fileapi/file_system_url.h" #include "storage/browser/fileapi/task_runner_bound_observer_list.h" namespace storage { // Mock file change observer. class MockFileUpdateObserver : public FileUpdateObserver { public: MockFileUpdateObserver(); ~MockFileUpdateObserver() override; // Creates a ChangeObserverList which only contains given |observer|. static UpdateObserverList CreateList(MockFileUpdateObserver* observer); // FileUpdateObserver overrides. void OnStartUpdate(const FileSystemURL& url) override; void OnUpdate(const FileSystemURL& url, int64 delta) override; void OnEndUpdate(const FileSystemURL& url) override; void Enable() { is_ready_ = true; } void Disable() { start_update_count_.clear(); end_update_count_.clear(); is_ready_ = false; } private: std::map start_update_count_; std::map end_update_count_; bool is_ready_; DISALLOW_COPY_AND_ASSIGN(MockFileUpdateObserver); }; } // namespace storage #endif // CONTENT_BROWSER_FILEAPI_MOCK_FILE_UPDATE_OBSERVER_H_