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

Side by Side Diff: delta_diff_generator.h

Issue 5684002: Add support for bsdiff of file system metadata blocks (Closed) Base URL: http://git.chromium.org/git/update_engine.git@master
Patch Set: Addressed code review feedbacks Created 10 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 | Annotate | Revision Log
« no previous file with comments | « SConstruct ('k') | delta_diff_generator.cc » ('j') | test_utils.h » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium OS Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium OS 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_DELTA_DIFF_GENERATOR_H__ 5 #ifndef CHROMEOS_PLATFORM_UPDATE_ENGINE_DELTA_DIFF_GENERATOR_H__
6 #define CHROMEOS_PLATFORM_UPDATE_ENGINE_DELTA_DIFF_GENERATOR_H__ 6 #define CHROMEOS_PLATFORM_UPDATE_ENGINE_DELTA_DIFF_GENERATOR_H__
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 const std::vector<CutEdgeVertexes>& cuts); 206 const std::vector<CutEdgeVertexes>& cuts);
207 207
208 // Returns true if |op| is a no-op operation that doesn't do any useful work 208 // Returns true if |op| is a no-op operation that doesn't do any useful work
209 // (e.g., a move operation that copies blocks onto themselves). 209 // (e.g., a move operation that copies blocks onto themselves).
210 static bool IsNoopOperation(const DeltaArchiveManifest_InstallOperation& op); 210 static bool IsNoopOperation(const DeltaArchiveManifest_InstallOperation& op);
211 211
212 static bool InitializePartitionInfo(bool is_kernel, 212 static bool InitializePartitionInfo(bool is_kernel,
213 const std::string& partition, 213 const std::string& partition,
214 PartitionInfo* info); 214 PartitionInfo* info);
215 215
216 // Runs the bsdiff tool on two files and returns the resulting delta in
217 // |out|. Returns true on success.
218 static bool BsdiffFiles(const std::string& old_file,
219 const std::string& new_file,
220 std::vector<char>* out);
221
222 // The |blocks| vector contains a reader and writer for each block on the
223 // filesystem that's being in-place updated. We populate the reader/writer
224 // fields of |blocks| by calling this function.
225 // For each block in |operation| that is read or written, find that block
226 // in |blocks| and set the reader/writer field to the vertex passed.
227 // |graph| is not strictly necessary, but useful for printing out
228 // error messages.
229 static bool AddInstallOpToBlocksVector(
230 const DeltaArchiveManifest_InstallOperation& operation,
231 const Graph& graph,
232 Vertex::Index vertex,
233 std::vector<DeltaDiffGenerator::Block>* blocks);
234
216 private: 235 private:
217 // This should never be constructed 236 // This should never be constructed
218 DISALLOW_IMPLICIT_CONSTRUCTORS(DeltaDiffGenerator); 237 DISALLOW_IMPLICIT_CONSTRUCTORS(DeltaDiffGenerator);
219 }; 238 };
220 239
221 extern const char* const kBsdiffPath; 240 extern const char* const kBsdiffPath;
222 extern const char* const kBspatchPath; 241 extern const char* const kBspatchPath;
223 extern const char* const kDeltaMagic; 242 extern const char* const kDeltaMagic;
224 243
225 }; // namespace chromeos_update_engine 244 }; // namespace chromeos_update_engine
226 245
227 #endif // CHROMEOS_PLATFORM_UPDATE_ENGINE_DELTA_DIFF_GENERATOR_H__ 246 #endif // CHROMEOS_PLATFORM_UPDATE_ENGINE_DELTA_DIFF_GENERATOR_H__
OLDNEW
« no previous file with comments | « SConstruct ('k') | delta_diff_generator.cc » ('j') | test_utils.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698