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

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

Issue 10692154: gdata: Remove IsCache/SetCache/ClearCache* functions from GDataCache (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: address comments Created 8 years, 5 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
« no previous file with comments | « no previous file | chrome/browser/chromeos/gdata/gdata_cache.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_CACHE_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_GDATA_GDATA_CACHE_H_
6 #define CHROME_BROWSER_CHROMEOS_GDATA_GDATA_CACHE_H_ 6 #define CHROME_BROWSER_CHROMEOS_GDATA_GDATA_CACHE_H_
7 7
8 #include <map> 8 #include <map>
9 #include <string> 9 #include <string>
10 10
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 // Structure to store information of an existing cache file. 121 // Structure to store information of an existing cache file.
122 struct CacheEntry { 122 struct CacheEntry {
123 CacheEntry() : cache_state(CACHE_STATE_NONE) {} 123 CacheEntry() : cache_state(CACHE_STATE_NONE) {}
124 124
125 CacheEntry(const std::string& md5, 125 CacheEntry(const std::string& md5,
126 int cache_state) 126 int cache_state)
127 : md5(md5), 127 : md5(md5),
128 cache_state(cache_state) { 128 cache_state(cache_state) {
129 } 129 }
130 130
131 bool IsPresent() const { return IsCachePresent(cache_state); } 131 // Returns true if the file is present locally.
132 bool IsPinned() const { return IsCachePinned(cache_state); } 132 bool IsPresent() const { return cache_state & CACHE_STATE_PRESENT; }
133 bool IsDirty() const { return IsCacheDirty(cache_state); } 133
134 bool IsMounted() const { return IsCacheMounted(cache_state); } 134 // Returns true if the file is pinned (i.e. available offline).
135 bool IsPersistent() const { return IsCachePersistent(cache_state); } 135 bool IsPinned() const { return cache_state & CACHE_STATE_PINNED; }
136
137 // Returns true if the file is dirty (i.e. modified locally).
138 bool IsDirty() const { return cache_state & CACHE_STATE_DIRTY; }
139
140 // Returns true if the file is a mounted archive file.
141 bool IsMounted() const { return cache_state & CACHE_STATE_MOUNTED; }
142
143 // Returns true if the file is in the persistent directory.
144 bool IsPersistent() const { return cache_state & CACHE_STATE_PERSISTENT; }
145
146 // Setters for the states describe above.
147 void SetPresent(bool value) {
148 cache_state = (value ? cache_state |= CACHE_STATE_PRESENT :
149 cache_state &= ~CACHE_STATE_PRESENT);
150 }
151 void SetPinned(bool value) {
152 cache_state = (value ? cache_state |= CACHE_STATE_PINNED :
153 cache_state &= ~CACHE_STATE_PINNED);
154 }
155 void SetDirty(bool value) {
156 cache_state = (value ? cache_state |= CACHE_STATE_DIRTY :
157 cache_state &= ~CACHE_STATE_DIRTY);
158 }
159 void SetMounted(bool value) {
160 cache_state = (value ? cache_state |= CACHE_STATE_MOUNTED :
161 cache_state &= ~CACHE_STATE_MOUNTED);
162 }
163 void SetPersistent(bool value) {
164 cache_state = (value ? cache_state |= CACHE_STATE_PERSISTENT :
165 cache_state &= ~CACHE_STATE_PERSISTENT);
166 }
136 167
137 // Returns the type of the sub directory where the cache file is stored. 168 // Returns the type of the sub directory where the cache file is stored.
138 CacheSubDirectoryType GetSubDirectoryType() const { 169 CacheSubDirectoryType GetSubDirectoryType() const {
139 return IsPersistent() ? CACHE_TYPE_PERSISTENT : CACHE_TYPE_TMP; 170 return IsPersistent() ? CACHE_TYPE_PERSISTENT : CACHE_TYPE_TMP;
140 } 171 }
141 172
142 // For debugging purposes. 173 // For debugging purposes.
143 std::string ToString() const; 174 std::string ToString() const;
144 175
145 std::string md5; 176 std::string md5;
146 int cache_state; 177 int cache_state;
147 }; 178 };
148 179
149 // Callback for GetCacheEntryOnUIThread. 180 // Callback for GetCacheEntryOnUIThread.
150 // |success| indicates if the operation was successful. 181 // |success| indicates if the operation was successful.
151 // |cache_entry| is the obtained cache entry. On failure, |cache_state| is 182 // |cache_entry| is the obtained cache entry. On failure, |cache_state| is
152 // set to CACHE_STATE_NONE. 183 // set to CACHE_STATE_NONE.
153 // 184 //
154 // TODO(satorux): Unlike other callback types, this has to be defined 185 // TODO(satorux): Unlike other callback types, this has to be defined
155 // inside GDataCache as CacheEntry is inside GDataCache. We should get them 186 // inside GDataCache as CacheEntry is inside GDataCache. We should get them
156 // outside of GDataCache. 187 // outside of GDataCache.
157 typedef base::Callback<void(bool success, const CacheEntry& cache_entry)> 188 typedef base::Callback<void(bool success, const CacheEntry& cache_entry)>
158 GetCacheEntryCallback; 189 GetCacheEntryCallback;
159 190
160 static bool IsCachePresent(int cache_state) {
161 return cache_state & CACHE_STATE_PRESENT;
162 }
163 static bool IsCachePinned(int cache_state) {
164 return cache_state & CACHE_STATE_PINNED;
165 }
166 static bool IsCacheDirty(int cache_state) {
167 return cache_state & CACHE_STATE_DIRTY;
168 }
169 static bool IsCacheMounted(int cache_state) {
170 return cache_state & CACHE_STATE_MOUNTED;
171 }
172 static bool IsCachePersistent(int cache_state) {
173 return cache_state & CACHE_STATE_PERSISTENT;
174 }
175 static int SetCachePresent(int cache_state) {
176 return cache_state |= CACHE_STATE_PRESENT;
177 }
178 static int SetCachePinned(int cache_state) {
179 return cache_state |= CACHE_STATE_PINNED;
180 }
181 static int SetCacheDirty(int cache_state) {
182 return cache_state |= CACHE_STATE_DIRTY;
183 }
184 static int SetCacheMounted(int cache_state) {
185 return cache_state |= CACHE_STATE_MOUNTED;
186 }
187 static int SetCachePersistent(int cache_state) {
188 return cache_state |= CACHE_STATE_PERSISTENT;
189 }
190 static int ClearCachePresent(int cache_state) {
191 return cache_state &= ~CACHE_STATE_PRESENT;
192 }
193 static int ClearCachePinned(int cache_state) {
194 return cache_state &= ~CACHE_STATE_PINNED;
195 }
196 static int ClearCacheDirty(int cache_state) {
197 return cache_state &= ~CACHE_STATE_DIRTY;
198 }
199 static int ClearCacheMounted(int cache_state) {
200 return cache_state &= ~CACHE_STATE_MOUNTED;
201 }
202 static int ClearCachePersistent(int cache_state) {
203 return cache_state &= ~CACHE_STATE_PERSISTENT;
204 }
205
206 // Returns the sub-directory under gdata cache directory for the given sub 191 // Returns the sub-directory under gdata cache directory for the given sub
207 // directory type. Example: <user_profile_dir>/GCache/v1/tmp 192 // directory type. Example: <user_profile_dir>/GCache/v1/tmp
208 // 193 //
209 // Can be called on any thread. 194 // Can be called on any thread.
210 FilePath GetCacheDirectoryPath(CacheSubDirectoryType sub_dir_type) const; 195 FilePath GetCacheDirectoryPath(CacheSubDirectoryType sub_dir_type) const;
211 196
212 // Returns absolute path of the file if it were cached or to be cached. 197 // Returns absolute path of the file if it were cached or to be cached.
213 // 198 //
214 // Can be called on any thread. 199 // Can be called on any thread.
215 FilePath GetCacheFilePath(const std::string& resource_id, 200 FilePath GetCacheFilePath(const std::string& resource_id,
(...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after
525 }; 510 };
526 511
527 // Sets the free disk space getter for testing. 512 // Sets the free disk space getter for testing.
528 // The existing getter is deleted. 513 // The existing getter is deleted.
529 void SetFreeDiskSpaceGetterForTesting( 514 void SetFreeDiskSpaceGetterForTesting(
530 FreeDiskSpaceGetterInterface* getter); 515 FreeDiskSpaceGetterInterface* getter);
531 516
532 } // namespace gdata 517 } // namespace gdata
533 518
534 #endif // CHROME_BROWSER_CHROMEOS_GDATA_GDATA_CACHE_H_ 519 #endif // CHROME_BROWSER_CHROMEOS_GDATA_GDATA_CACHE_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/chromeos/gdata/gdata_cache.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698