1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef CHROME_BROWSER_CHROMEOS_DRIVE_CHANGE_LIST_LOADER_OBSERVER_H_ 6#define CHROME_BROWSER_CHROMEOS_DRIVE_CHANGE_LIST_LOADER_OBSERVER_H_ 7 8namespace base { 9class FilePath; 10} // namespace base 11 12namespace drive { 13class FileChange; 14namespace internal { 15 16// Interface for classes that need to observe events from ChangeListLoader. 17// All events are notified on UI thread. 18class ChangeListLoaderObserver { 19 public: 20 // Triggered when the content of a directory is reloaded. The content may 21 // changed. |directory_path| is a virtual directory path representing the 22 // reloaded directory. 23 virtual void OnDirectoryReloaded(const base::FilePath& directory_path) {} 24 25 // Triggered when content(s) in drive has been changed. 26 virtual void OnFileChanged(const FileChange& changed_files) {} 27 28 // Triggered when loading from the server is complete. 29 virtual void OnLoadFromServerComplete() {} 30 31 // Triggered when loading is complete for the first time, either from the 32 // the server or the cache. To be precise, for the latter case, we do not 33 // load anything from the cache. We just check that the resource metadata 34 // is stored locally thus can be used. 35 virtual void OnInitialLoadComplete() {} 36 37 protected: 38 virtual ~ChangeListLoaderObserver() {} 39}; 40 41} // namespace internal 42} // namespace drive 43 44#endif // CHROME_BROWSER_CHROMEOS_DRIVE_CHANGE_LIST_LOADER_OBSERVER_H_ 45