Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CHROME_BROWSER_CHROMEOS_DRIVE_DRIVE_FEED_PROCESSOR_H_ | 5 #ifndef CHROME_BROWSER_CHROMEOS_DRIVE_DRIVE_FEED_PROCESSOR_H_ |
| 6 #define CHROME_BROWSER_CHROMEOS_DRIVE_DRIVE_FEED_PROCESSOR_H_ | 6 #define CHROME_BROWSER_CHROMEOS_DRIVE_DRIVE_FEED_PROCESSOR_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <set> | 9 #include <set> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 72 void ApplyEntryProtoMap(bool is_delta_feed, int64 feed_changestamp); | 72 void ApplyEntryProtoMap(bool is_delta_feed, int64 feed_changestamp); |
| 73 | 73 |
| 74 // Apply the next item from entry_proto_map_ to the file system. The async | 74 // Apply the next item from entry_proto_map_ to the file system. The async |
| 75 // version posts to the message loop to avoid recursive stack-overflow. | 75 // version posts to the message loop to avoid recursive stack-overflow. |
| 76 void ApplyNextEntryProto(); | 76 void ApplyNextEntryProto(); |
| 77 void ApplyNextEntryProtoAsync(); | 77 void ApplyNextEntryProtoAsync(); |
| 78 | 78 |
| 79 // Apply |entry_proto| to resource_metadata_. | 79 // Apply |entry_proto| to resource_metadata_. |
| 80 void ApplyEntryProto(const DriveEntryProto& entry_proto); | 80 void ApplyEntryProto(const DriveEntryProto& entry_proto); |
| 81 | 81 |
| 82 // Continue ApplyEntryProto. This is a callback for | |
| 83 // DriveResourceMetadata::GetEntryInfoByResourceId. | |
| 84 void ContinueApplyEntryProto( | |
| 85 const DriveEntryProto& entry_proto, | |
| 86 DriveFileError error, | |
| 87 const FilePath& drive_file_path, | |
| 88 scoped_ptr<DriveEntryProto> old_entry_proto); | |
| 89 | |
| 82 // Apply the DriveEntryProto pointed to by |it| to resource_metadata_. | 90 // Apply the DriveEntryProto pointed to by |it| to resource_metadata_. |
| 83 void ApplyNextByIterator(DriveEntryProtoMap::iterator it); | 91 void ApplyNextByIterator(DriveEntryProtoMap::iterator it); |
| 84 | 92 |
| 85 // Helper function for adding an |entry| from the feed to its new parent. | 93 // TODO(achuith): Delete this. |
| 86 // changed_dirs_ are updated if this operation needs to raise a directory | |
| 87 // change notification. | |
| 88 void AddEntryToParent(DriveEntry* entry); | 94 void AddEntryToParent(DriveEntry* entry); |
| 89 | 95 |
| 90 // Helper function for removing |entry| from its parent. | 96 // Helper function to add |entry_proto| to its parent. Updates changed_dirs_ |
| 91 // changed_dirs_ are updated if this operation needs to raise a directory | 97 // as a side effect. |
| 92 // change notification, including child directories. | 98 void AddEntryToParent(const DriveEntryProto& entry_proto); |
|
hashimoto
2012/11/14 10:15:56
Our coding style discourages function overloading.
achuithb
2012/11/14 11:11:29
Renamed to AddEntryToParentDeprecated. This will b
| |
| 99 | |
| 100 // Callback for DriveResourceMetadata::AddEntryToParent. | |
| 101 void NotifyForAddEntryToParent(bool is_directory, | |
| 102 DriveFileError error, | |
| 103 const FilePath& file_path); | |
| 104 | |
| 105 // TODO(achuith): Delete this. | |
| 93 void RemoveEntryFromParent(DriveEntry* entry); | 106 void RemoveEntryFromParent(DriveEntry* entry); |
| 94 | 107 |
| 108 // Removes entry pointed to by |resource_id| from its parent. Updates | |
| 109 // changed_dirs_ as a side effect. | |
| 110 void RemoveEntryFromParent(const std::string& resource_id); | |
| 111 | |
| 112 // Continues RemoveEntryFromParent after | |
| 113 // DriveResourceMetadata::GetChildDirectories. | |
| 114 void ContinueRemoveEntryFromParent( | |
| 115 const std::string& resource_id, | |
| 116 const std::set<FilePath>& changed_directories); | |
| 117 | |
| 118 // Callback for DriveResourceMetadata::RemoveEntryFromParent. | |
| 119 void NotifyForRemoveEntryFromParent( | |
| 120 const std::set<FilePath>& changed_directories, | |
| 121 DriveFileError error, | |
| 122 const FilePath& file_path); | |
| 123 | |
| 124 // Refreshes DriveResourceMetadata entry that has the same resource_id as | |
| 125 // |entry_proto| with |entry_proto|. Updates changed_dirs_ as a side effect. | |
| 126 void RefreshEntryProto(const DriveEntryProto& entry_proto); | |
| 127 | |
| 128 // Continues Refresh after DriveResourceMetadata::GetChangedDirectories. | |
| 129 void ContinueRefreshEntryProto(const DriveEntryProto& entry_proto, | |
| 130 const std::set<FilePath>& changed_directories); | |
| 131 | |
| 132 // Callback for DriveResourceMetadata::RefreshEntryProto. | |
| 133 void NotifyForRefreshEntryProto( | |
| 134 const std::set<FilePath>& changed_directories, | |
| 135 DriveFileError error, | |
| 136 const FilePath& file_path, | |
| 137 scoped_ptr<DriveEntryProto> entry_proto); | |
| 138 | |
| 95 // Resolves parent directory for |new_entry| from the feed. | 139 // Resolves parent directory for |new_entry| from the feed. |
| 140 // TODO(achuith): Delete this. | |
| 96 DriveDirectory* ResolveParent(DriveEntry* new_entry); | 141 DriveDirectory* ResolveParent(DriveEntry* new_entry); |
| 97 | 142 |
| 98 // Reset the state of this object. | 143 // Reset the state of this object. |
| 99 void Clear(); | 144 void Clear(); |
| 100 | 145 |
| 101 DriveResourceMetadata* resource_metadata_; // Not owned. | 146 DriveResourceMetadata* resource_metadata_; // Not owned. |
| 102 | 147 |
| 103 DriveEntryProtoMap entry_proto_map_; | 148 DriveEntryProtoMap entry_proto_map_; |
| 104 std::set<FilePath> changed_dirs_; | 149 std::set<FilePath> changed_dirs_; |
| 105 base::Closure on_complete_callback_; | 150 base::Closure on_complete_callback_; |
| 106 | 151 |
| 107 // Note: This should remain the last member so it'll be destroyed and | 152 // Note: This should remain the last member so it'll be destroyed and |
| 108 // invalidate its weak pointers before any other members are destroyed. | 153 // invalidate its weak pointers before any other members are destroyed. |
| 109 base::WeakPtrFactory<DriveFeedProcessor> weak_ptr_factory_; | 154 base::WeakPtrFactory<DriveFeedProcessor> weak_ptr_factory_; |
| 110 DISALLOW_COPY_AND_ASSIGN(DriveFeedProcessor); | 155 DISALLOW_COPY_AND_ASSIGN(DriveFeedProcessor); |
| 111 }; | 156 }; |
| 112 | 157 |
| 113 } // namespace drive | 158 } // namespace drive |
| 114 | 159 |
| 115 #endif // CHROME_BROWSER_CHROMEOS_DRIVE_DRIVE_FEED_PROCESSOR_H_ | 160 #endif // CHROME_BROWSER_CHROMEOS_DRIVE_DRIVE_FEED_PROCESSOR_H_ |
| OLD | NEW |