Chromium Code Reviews
|
| OLD | NEW |
|---|---|
| (Empty) | |
| 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_GDATA_GDATA_DB_H_ | |
| 6 #define CHROME_BROWSER_CHROMEOS_GDATA_GDATA_DB_H_ | |
| 7 #pragma once | |
| 8 | |
| 9 #include <string> | |
| 10 | |
| 11 #include "base/memory/scoped_ptr.h" | |
| 12 | |
| 13 class FilePath; | |
| 14 | |
| 15 namespace gdata { | |
| 16 | |
| 17 class GDataEntry; | |
| 18 class GDataDBIter; | |
| 19 | |
| 20 // GData Database interface class. | |
| 21 class GDataDB { | |
| 22 public: | |
| 23 enum Status { | |
| 24 DB_OK = 0, | |
| 25 DB_KEY_NOT_FOUND, // Key not found. | |
| 26 DB_CORRUPTION, // Database file corrupt. | |
| 27 DB_IO_ERROR, // File I/O error. | |
| 28 DB_INTERNAL_ERROR, | |
| 29 }; | |
| 30 | |
| 31 virtual ~GDataDB() {} | |
| 32 | |
| 33 // Puts |entry| to the database. | |
| 34 virtual Status Put(const GDataEntry& entry) = 0; | |
| 35 | |
| 36 // Deletes a database entry with key |resource_id| or |path| respectively. | |
| 37 virtual Status DeleteByResourceId(const std::string& resource_id) = 0; | |
| 38 virtual Status DeleteByPath(const FilePath& path) = 0; | |
| 39 | |
| 40 // Fetches a GDataEntry* by key |resource_id| or |path| respectively. | |
| 41 virtual Status GetByResourceId(const std::string& resource_id, | |
| 42 scoped_ptr<GDataEntry>* entry) = 0; | |
| 43 virtual Status GetByPath(const FilePath& path, | |
| 44 scoped_ptr<GDataEntry>* entry) = 0; | |
| 45 | |
| 46 // An iterator to fetch all GDataEntry's under |path|. | |
|
satorux1
2012/04/24 21:47:57
nit: Creates an iterator.
btw, can this be NULL?
achuithb
2012/04/24 22:15:13
It cannot be NULL, unless malloc fails. I don't kn
satorux1
2012/04/24 22:34:50
I'd say "Will not return NULL".
achuithb
2012/04/24 23:47:20
Done.
| |
| 47 virtual scoped_ptr<GDataDBIter> CreateIterator(const FilePath& path) = 0; | |
| 48 | |
| 49 protected: | |
| 50 GDataDB() {} | |
| 51 }; | |
| 52 | |
| 53 // GData Database Iterator interface class. | |
| 54 class GDataDBIter { | |
| 55 public: | |
| 56 virtual ~GDataDBIter() {} | |
| 57 | |
| 58 // Fetches the next |entry| in the iteration sequence. Returns false when | |
| 59 // there are no more entries. | |
| 60 virtual bool GetNext(std::string* path, scoped_ptr<GDataEntry>* entry) = 0; | |
| 61 | |
| 62 protected: | |
| 63 GDataDBIter() {} | |
| 64 }; | |
| 65 | |
| 66 } // namespace gdata | |
| 67 | |
| 68 #endif // CHROME_BROWSER_CHROMEOS_GDATA_GDATA_DB_H_ | |
| OLD | NEW |