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

Side by Side Diff: src/platform/update_engine/utils.h

Issue 492008: AU: Try delta updates first, then full updates (Closed)
Patch Set: use mkstemp Created 11 years 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
« no previous file with comments | « src/platform/update_engine/update_metadata.proto ('k') | src/platform/update_engine/utils.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) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 CHROMEOS_PLATFORM_UPDATE_ENGINE_UTILS_H__ 5 #ifndef CHROMEOS_PLATFORM_UPDATE_ENGINE_UTILS_H__
6 #define CHROMEOS_PLATFORM_UPDATE_ENGINE_UTILS_H__ 6 #define CHROMEOS_PLATFORM_UPDATE_ENGINE_UTILS_H__
7 7
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 20 matching lines...) Expand all
31 31
32 // Returns true if the file exists for sure. Returns false if it doesn't exist, 32 // Returns true if the file exists for sure. Returns false if it doesn't exist,
33 // or an error occurs. 33 // or an error occurs.
34 bool FileExists(const char* path); 34 bool FileExists(const char* path);
35 35
36 // The last 6 chars of path must be XXXXXX. They will be randomly changed 36 // The last 6 chars of path must be XXXXXX. They will be randomly changed
37 // and a non-existent path will be returned. Intentionally makes a copy 37 // and a non-existent path will be returned. Intentionally makes a copy
38 // of the string passed in. 38 // of the string passed in.
39 // NEVER CALL THIS FUNCTION UNLESS YOU ARE SURE 39 // NEVER CALL THIS FUNCTION UNLESS YOU ARE SURE
40 // THAT YOUR PROCESS WILL BE THE ONLY THING WRITING FILES IN THIS DIRECTORY. 40 // THAT YOUR PROCESS WILL BE THE ONLY THING WRITING FILES IN THIS DIRECTORY.
41 std::string TempFilename(string path); 41 std::string TempFilename(std::string path);
42 42
43 // Deletes a directory and all its contents synchronously. Returns true 43 // Deletes a directory and all its contents synchronously. Returns true
44 // on success. This may be called with a regular file--it will just unlink it. 44 // on success. This may be called with a regular file--it will just unlink it.
45 // This WILL cross filesystem boundaries. 45 // This WILL cross filesystem boundaries.
46 bool RecursiveUnlinkDir(const std::string& path); 46 bool RecursiveUnlinkDir(const std::string& path);
47 47
48 // Synchronously mount or unmount a filesystem. Return true on success. 48 // Synchronously mount or unmount a filesystem. Return true on success.
49 // Mounts as ext3 with default options. 49 // Mounts as ext3 with default options.
50 bool MountFilesystem(const string& device, const string& mountpoint); 50 bool MountFilesystem(const std::string& device, const std::string& mountpoint);
51 bool UnmountFilesystem(const string& mountpoint); 51 bool UnmountFilesystem(const std::string& mountpoint);
52 52
53 // Log a string in hex to LOG(INFO). Useful for debugging. 53 // Log a string in hex to LOG(INFO). Useful for debugging.
54 void HexDumpArray(const unsigned char* const arr, const size_t length); 54 void HexDumpArray(const unsigned char* const arr, const size_t length);
55 inline void HexDumpString(const std::string& str) { 55 inline void HexDumpString(const std::string& str) {
56 HexDumpArray(reinterpret_cast<const unsigned char*>(str.data()), str.size()); 56 HexDumpArray(reinterpret_cast<const unsigned char*>(str.data()), str.size());
57 } 57 }
58 inline void HexDumpVector(const std::vector<char>& vect) { 58 inline void HexDumpVector(const std::vector<char>& vect) {
59 HexDumpArray(reinterpret_cast<const unsigned char*>(&vect[0]), vect.size()); 59 HexDumpArray(reinterpret_cast<const unsigned char*>(&vect[0]), vect.size());
60 } 60 }
61 61
62 extern const string kStatefulPartition; 62 extern const char* const kStatefulPartition;
63 63
64 bool StringHasSuffix(const std::string& str, const std::string& suffix); 64 bool StringHasSuffix(const std::string& str, const std::string& suffix);
65 bool StringHasPrefix(const std::string& str, const std::string& prefix); 65 bool StringHasPrefix(const std::string& str, const std::string& prefix);
66 66
67 template<typename KeyType, typename ValueType> 67 template<typename KeyType, typename ValueType>
68 bool MapContainsKey(const std::map<KeyType, ValueType>& m, const KeyType& k) { 68 bool MapContainsKey(const std::map<KeyType, ValueType>& m, const KeyType& k) {
69 return m.find(k) != m.end(); 69 return m.find(k) != m.end();
70 } 70 }
71 template<typename KeyType>
72 bool SetContainsKey(const std::set<KeyType>& s, const KeyType& k) {
73 return s.find(k) != s.end();
74 }
71 75
72 template<typename ValueType> 76 template<typename ValueType>
73 std::set<ValueType> SetWithValue(const ValueType& value) { 77 std::set<ValueType> SetWithValue(const ValueType& value) {
74 std::set<ValueType> ret; 78 std::set<ValueType> ret;
75 ret.insert(value); 79 ret.insert(value);
76 return ret; 80 return ret;
77 } 81 }
78 82
79 // Returns the currently booted device. "/dev/sda1", for example. 83 // Returns the currently booted device. "/dev/sda1", for example.
80 // This will not interpret LABEL= or UUID=. You'll need to use findfs 84 // This will not interpret LABEL= or UUID=. You'll need to use findfs
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 bool _success = (_x); \ 183 bool _success = (_x); \
180 if (!_success) { \ 184 if (!_success) { \
181 LOG(ERROR) << #_x " failed."; \ 185 LOG(ERROR) << #_x " failed."; \
182 return; \ 186 return; \
183 } \ 187 } \
184 } while (0) 188 } while (0)
185 189
186 190
187 191
188 #endif // CHROMEOS_PLATFORM_UPDATE_ENGINE_UTILS_H__ 192 #endif // CHROMEOS_PLATFORM_UPDATE_ENGINE_UTILS_H__
OLDNEW
« no previous file with comments | « src/platform/update_engine/update_metadata.proto ('k') | src/platform/update_engine/utils.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698