Home | History | Annotate | Download | only in drive
      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