Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(212)

Side by Side Diff: chrome/browser/chromeos/gdata/gdata_files.h

Issue 10204013: Move FindEntryDelegate and friends to separate file. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: change tense of comments Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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_GDATA_GDATA_FILES_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_GDATA_GDATA_FILES_H_
6 #define CHROME_BROWSER_CHROMEOS_GDATA_GDATA_FILES_H_ 6 #define CHROME_BROWSER_CHROMEOS_GDATA_GDATA_FILES_H_
7 #pragma once 7 #pragma once
8 8
9 #include <map> 9 #include <map>
10 #include <string> 10 #include <string>
11 11
12 #include "base/callback.h" 12 #include "base/callback.h"
13 #include "base/gtest_prod_util.h" 13 #include "base/gtest_prod_util.h"
14 #include "base/memory/scoped_ptr.h" 14 #include "base/memory/scoped_ptr.h"
15 #include "base/memory/singleton.h" 15 #include "base/memory/singleton.h"
16 #include "base/memory/weak_ptr.h" 16 #include "base/memory/weak_ptr.h"
17 #include "base/platform_file.h" 17 #include "base/platform_file.h"
18 #include "base/synchronization/lock.h" 18 #include "base/synchronization/lock.h"
19 #include "chrome/browser/chromeos/gdata/gdata_params.h" 19 #include "chrome/browser/chromeos/gdata/gdata_params.h"
20 #include "chrome/browser/chromeos/gdata/gdata_parser.h" 20 #include "chrome/browser/chromeos/gdata/gdata_parser.h"
21 #include "chrome/browser/chromeos/gdata/gdata_uploader.h" 21 #include "chrome/browser/chromeos/gdata/gdata_uploader.h"
22 #include "chrome/browser/profiles/profile_keyed_service.h" 22 #include "chrome/browser/profiles/profile_keyed_service.h"
23 #include "chrome/browser/profiles/profile_keyed_service_factory.h" 23 #include "chrome/browser/profiles/profile_keyed_service_factory.h"
24 24
25 namespace gdata { 25 namespace gdata {
26 26
27 class FindEntryDelegate;
27 class GDataFile; 28 class GDataFile;
28 class GDataDirectory; 29 class GDataDirectory;
29 class GDataRootDirectory; 30 class GDataRootDirectory;
30 31
31 class GDataEntryProto; 32 class GDataEntryProto;
32 class GDataFileProto; 33 class GDataFileProto;
33 class GDataDirectoryProto; 34 class GDataDirectoryProto;
34 class GDataRootDirectoryProto; 35 class GDataRootDirectoryProto;
35 36
36 // Directory content origin. 37 // Directory content origin.
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 DocumentEntry* doc, 74 DocumentEntry* doc,
74 GDataRootDirectory* root); 75 GDataRootDirectory* root);
75 76
76 // Serialize/Parse to/from string via proto classes. 77 // Serialize/Parse to/from string via proto classes.
77 // TODO(achuith): Correctly set up parent_ and root_ links in 78 // TODO(achuith): Correctly set up parent_ and root_ links in
78 // FromProtoString. 79 // FromProtoString.
79 void SerializeToString(std::string* serialized_proto) const; 80 void SerializeToString(std::string* serialized_proto) const;
80 static scoped_ptr<GDataEntry> FromProtoString( 81 static scoped_ptr<GDataEntry> FromProtoString(
81 const std::string& serialized_proto); 82 const std::string& serialized_proto);
82 83
83 // Convert to/from proto. 84 // Converts to/from proto.
84 void FromProto(const GDataEntryProto& proto); 85 void FromProto(const GDataEntryProto& proto);
85 void ToProto(GDataEntryProto* proto) const; 86 void ToProto(GDataEntryProto* proto) const;
86 87
87 // Escapes forward slashes from file names with magic unicode character 88 // Escapes forward slashes from file names with magic unicode character
88 // \u2215 pretty much looks the same in UI. 89 // \u2215 pretty much looks the same in UI.
89 static std::string EscapeUtf8FileName(const std::string& input); 90 static std::string EscapeUtf8FileName(const std::string& input);
90 91
91 // Unescapes what was escaped in EScapeUtf8FileName. 92 // Unescapes what was escaped in EScapeUtf8FileName.
92 static std::string UnescapeUtf8FileName(const std::string& input); 93 static std::string UnescapeUtf8FileName(const std::string& input);
93 94
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 }; 179 };
179 180
180 explicit GDataFile(GDataDirectory* parent, GDataRootDirectory* root); 181 explicit GDataFile(GDataDirectory* parent, GDataRootDirectory* root);
181 virtual ~GDataFile(); 182 virtual ~GDataFile();
182 virtual GDataFile* AsGDataFile() OVERRIDE; 183 virtual GDataFile* AsGDataFile() OVERRIDE;
183 184
184 static GDataEntry* FromDocumentEntry(GDataDirectory* parent, 185 static GDataEntry* FromDocumentEntry(GDataDirectory* parent,
185 DocumentEntry* doc, 186 DocumentEntry* doc,
186 GDataRootDirectory* root); 187 GDataRootDirectory* root);
187 188
188 // Convert to/from proto. 189 // Converts to/from proto.
189 void FromProto(const GDataFileProto& proto); 190 void FromProto(const GDataFileProto& proto);
190 void ToProto(GDataFileProto* proto) const; 191 void ToProto(GDataFileProto* proto) const;
191 192
192 static bool IsCachePresent(int cache_state) { 193 static bool IsCachePresent(int cache_state) {
193 return cache_state & CACHE_STATE_PRESENT; 194 return cache_state & CACHE_STATE_PRESENT;
194 } 195 }
195 static bool IsCachePinned(int cache_state) { 196 static bool IsCachePinned(int cache_state) {
196 return cache_state & CACHE_STATE_PINNED; 197 return cache_state & CACHE_STATE_PINNED;
197 } 198 }
198 static bool IsCacheDirty(int cache_state) { 199 static bool IsCacheDirty(int cache_state) {
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
262 class GDataDirectory : public GDataEntry { 263 class GDataDirectory : public GDataEntry {
263 public: 264 public:
264 GDataDirectory(GDataDirectory* parent, GDataRootDirectory* root); 265 GDataDirectory(GDataDirectory* parent, GDataRootDirectory* root);
265 virtual ~GDataDirectory(); 266 virtual ~GDataDirectory();
266 virtual GDataDirectory* AsGDataDirectory() OVERRIDE; 267 virtual GDataDirectory* AsGDataDirectory() OVERRIDE;
267 268
268 static GDataEntry* FromDocumentEntry(GDataDirectory* parent, 269 static GDataEntry* FromDocumentEntry(GDataDirectory* parent,
269 DocumentEntry* doc, 270 DocumentEntry* doc,
270 GDataRootDirectory* root); 271 GDataRootDirectory* root);
271 272
272 // Convert to/from proto. 273 // Converts to/from proto.
273 void FromProto(const GDataDirectoryProto& proto); 274 void FromProto(const GDataDirectoryProto& proto);
274 void ToProto(GDataDirectoryProto* proto) const; 275 void ToProto(GDataDirectoryProto* proto) const;
275 276
276 // Adds child file to the directory and takes over the ownership of |file| 277 // Adds child file to the directory and takes over the ownership of |file|
277 // object. The method will also do name de-duplication to ensure that the 278 // object. The method will also do name de-duplication to ensure that the
278 // exposed presentation path does not have naming conflicts. Two files with 279 // exposed presentation path does not have naming conflicts. Two files with
279 // the same name "Foo" will be renames to "Foo (1)" and "Foo (2)". 280 // the same name "Foo" will be renames to "Foo (1)" and "Foo (2)".
280 void AddEntry(GDataEntry* entry); 281 void AddEntry(GDataEntry* entry);
281 282
282 // Takes the ownership of |entry| from its current parent. If this directory 283 // Takes the ownership of |entry| from its current parent. If this directory
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
406 // Last time when we dumped serialized file system to disk. 407 // Last time when we dumped serialized file system to disk.
407 const base::Time& last_serialized() const { return last_serialized_; } 408 const base::Time& last_serialized() const { return last_serialized_; }
408 void set_last_serialized(const base::Time& time) { last_serialized_ = time; } 409 void set_last_serialized(const base::Time& time) { last_serialized_ = time; }
409 // Size of serialized file system on disk in bytes. 410 // Size of serialized file system on disk in bytes.
410 const size_t serialized_size() const { return serialized_size_; } 411 const size_t serialized_size() const { return serialized_size_; }
411 void set_serialized_size(size_t size) { serialized_size_ = size; } 412 void set_serialized_size(size_t size) { serialized_size_ = size; }
412 413
413 // GDataEntry implementation. 414 // GDataEntry implementation.
414 virtual GDataRootDirectory* AsGDataRootDirectory() OVERRIDE; 415 virtual GDataRootDirectory* AsGDataRootDirectory() OVERRIDE;
415 416
416 // Add the entry to resource map. 417 // Adds the entry to resource map.
417 void AddEntryToResourceMap(GDataEntry* entry); 418 void AddEntryToResourceMap(GDataEntry* entry);
418 419
419 // Remove the entry from resource map. 420 // Removes the entry from resource map.
420 void RemoveEntryFromResourceMap(GDataEntry* entry); 421 void RemoveEntryFromResourceMap(GDataEntry* entry);
421 422
422 // Remove the entries from resource map. 423 // Removes the entries from resource map.
423 void RemoveEntriesFromResourceMap(const GDataFileCollection& children); 424 void RemoveEntriesFromResourceMap(const GDataFileCollection& children);
424 425
426 // Searches for |file_path| triggering callback in |delegate|.
427 void FindEntryByPath(const FilePath& file_path,
428 FindEntryDelegate* delegate);
429
425 // Returns the GDataEntry* with the corresponding |resource_id|. 430 // Returns the GDataEntry* with the corresponding |resource_id|.
426 GDataEntry* GetEntryByResourceId(const std::string& resource_id); 431 GDataEntry* GetEntryByResourceId(const std::string& resource_id);
427 432
428 // Set |cache_map_| data member to formal parameter |new_cache_map|. 433 // Sets |cache_map_| data member to formal parameter |new_cache_map|.
429 void SetCacheMap(const CacheMap& new_cache_map); 434 void SetCacheMap(const CacheMap& new_cache_map);
430 435
431 // Updates cache map with entry corresponding to |resource_id|. 436 // Updates cache map with entry corresponding to |resource_id|.
432 // Creates new entry if it doesn't exist, otherwise update the entry. 437 // Creates new entry if it doesn't exist, otherwise update the entry.
433 void UpdateCacheMap(const std::string& resource_id, 438 void UpdateCacheMap(const std::string& resource_id,
434 const std::string& md5, 439 const std::string& md5,
435 CacheSubDirectoryType subdir, 440 CacheSubDirectoryType subdir,
436 int cache_state); 441 int cache_state);
437 442
438 // Removes entry corresponding to |resource_id| from cache map. 443 // Removes entry corresponding to |resource_id| from cache map.
439 void RemoveFromCacheMap(const std::string& resource_id); 444 void RemoveFromCacheMap(const std::string& resource_id);
440 445
441 // Returns the cache entry for file corresponding to |resource_id| and |md5| 446 // Returns the cache entry for file corresponding to |resource_id| and |md5|
442 // if entry exists in cache map. Otherwise, returns NULL. 447 // if entry exists in cache map. Otherwise, returns NULL.
443 // |md5| can be empty if only matching |resource_id| is desired, which may 448 // |md5| can be empty if only matching |resource_id| is desired, which may
444 // happen when looking for pinned entries where symlinks' filenames have no 449 // happen when looking for pinned entries where symlinks' filenames have no
445 // extension and hence no md5. 450 // extension and hence no md5.
446 CacheEntry* GetCacheEntry(const std::string& resource_id, 451 CacheEntry* GetCacheEntry(const std::string& resource_id,
447 const std::string& md5); 452 const std::string& md5);
448 453
449 // Remove temporary files (files in CACHE_TYPE_TMP) from the cache map. 454 // Removes temporary files (files in CACHE_TYPE_TMP) from the cache map.
450 void RemoveTemporaryFilesFromCacheMap(); 455 void RemoveTemporaryFilesFromCacheMap();
451 456
452 // Serialize/Parse to/from string via proto classes. 457 // Serializes/Parses to/from string via proto classes.
453 void SerializeToString(std::string* serialized_proto) const; 458 void SerializeToString(std::string* serialized_proto) const;
454 bool ParseFromString(const std::string& serialized_proto); 459 bool ParseFromString(const std::string& serialized_proto);
455 460
456 // Convert to/from proto. 461 // Converts to/from proto.
457 void FromProto(const GDataRootDirectoryProto& proto); 462 void FromProto(const GDataRootDirectoryProto& proto);
458 void ToProto(GDataRootDirectoryProto* proto) const; 463 void ToProto(GDataRootDirectoryProto* proto) const;
459 464
460 private: 465 private:
461 ResourceMap resource_map_; 466 ResourceMap resource_map_;
462 CacheMap cache_map_; 467 CacheMap cache_map_;
463 468
464 base::Time last_serialized_; 469 base::Time last_serialized_;
465 int largest_changestamp_; 470 int largest_changestamp_;
466 size_t serialized_size_; 471 size_t serialized_size_;
467 472
468 DISALLOW_COPY_AND_ASSIGN(GDataRootDirectory); 473 DISALLOW_COPY_AND_ASSIGN(GDataRootDirectory);
469 }; 474 };
470 475
471 } // namespace gdata 476 } // namespace gdata
472 477
473 #endif // CHROME_BROWSER_CHROMEOS_GDATA_GDATA_FILES_H_ 478 #endif // CHROME_BROWSER_CHROMEOS_GDATA_GDATA_FILES_H_
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/gdata/gdata_file_system.cc ('k') | chrome/browser/chromeos/gdata/gdata_files.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698