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 8 namespace base { 9 class FilePath; 10 } // namespace base 11 12 namespace drive { 13 namespace internal { 14 15 // Interface for classes that need to observe events from ChangeListLoader. 16 // All events are notified on UI thread. 17 class ChangeListLoaderObserver { 18 public: 19 // Triggered when a content of a directory has been changed. 20 // |directory_path| is a virtual directory path representing the 21 // changed directory. 22 virtual void OnDirectoryChanged(const base::FilePath& directory_path) {} 23 24 // Triggered when loading from the server is complete. 25 virtual void OnLoadFromServerComplete() {} 26 27 // Triggered when loading is complete for the first time, either from the 28 // the server or the cache. To be precise, for the latter case, we do not 29 // load anything from the cache. We just check that the resource metadata 30 // is stored locally thus can be used. 31 virtual void OnInitialLoadComplete() {} 32 33 protected: 34 virtual ~ChangeListLoaderObserver() {} 35 }; 36 37 } // namespace internal 38 } // namespace drive 39 40 #endif // CHROME_BROWSER_CHROMEOS_DRIVE_CHANGE_LIST_LOADER_OBSERVER_H_ 41