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

Unified Diff: third_party/courgette/win32_x86_generator.h

Issue 115062: Move Courgette... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/courgette/testdata/setup2.exe ('k') | third_party/courgette/win32_x86_patcher.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/courgette/win32_x86_generator.h
===================================================================
--- third_party/courgette/win32_x86_generator.h (revision 15668)
+++ third_party/courgette/win32_x86_generator.h (working copy)
@@ -1,126 +0,0 @@
-// Copyright (c) 2009 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// This is the transformation and adjustment for Windows X86 executables.
-
-#ifndef COURGETTE_WIN32_X86_GENERATOR_H_
-#define COURGETTE_WIN32_X86_GENERATOR_H_
-
-#include "base/scoped_ptr.h"
-
-#include "third_party/courgette/ensemble.h"
-
-namespace courgette {
-
-class CourgetteWin32X86PatchGenerator : public TransformationPatchGenerator {
- public:
- CourgetteWin32X86PatchGenerator(Element* old_element,
- Element* new_element,
- CourgetteWin32X86Patcher* patcher)
- : TransformationPatchGenerator(old_element, new_element, patcher) {
- }
-
- CourgettePatchFile::TransformationMethodId Kind() {
- return CourgettePatchFile::T_COURGETTE_WIN32_X86;
- }
-
- Status WriteInitialParameters(SinkStream* parameter_stream) {
- parameter_stream->WriteVarint32(old_element_->offset_in_ensemble());
- parameter_stream->WriteVarint32(old_element_->region().length());
- return C_OK;
- // TODO(sra): Initialize |patcher_| with these parameters.
- }
-
- Status PredictTransformParameters(SinkStreamSet* prediction) {
- return TransformationPatchGenerator::PredictTransformParameters(prediction);
- }
-
- Status CorrectedTransformParameters(SinkStreamSet* parameters) {
- // No code needed to write an 'empty' parameter set.
- return C_OK;
- }
-
- // The format of a transformed_element is a serialized EncodedProgram. We
- // first disassemble the original old and new Elements into AssemblyPrograms.
- // Then we adjust the new AssemblyProgram to make it as much like the old one
- // as possible, before converting the AssemblyPrograms to EncodedPrograms and
- // serializing them.
- Status Transform(SourceStreamSet* corrected_parameters,
- SinkStreamSet* old_transformed_element,
- SinkStreamSet* new_transformed_element) {
- // Don't expect any corrected parameters.
- if (!corrected_parameters->Empty())
- return C_GENERAL_ERROR;
-
- // Generate old version of program using |corrected_parameters|.
- // TODO(sra): refactor to use same code from patcher_.
- AssemblyProgram* old_program = NULL;
- Status old_parse_status =
- ParseWin32X86PE(old_element_->region().start(),
- old_element_->region().length(),
- &old_program);
- if (old_parse_status != C_OK)
- return old_parse_status;
-
- AssemblyProgram* new_program = NULL;
- Status new_parse_status =
- ParseWin32X86PE(new_element_->region().start(),
- new_element_->region().length(),
- &new_program);
- if (new_parse_status != C_OK) {
- DeleteAssemblyProgram(old_program);
- return new_parse_status;
- }
-
- EncodedProgram* old_encoded = NULL;
- Status old_encode_status = Encode(old_program, &old_encoded);
- if (old_encode_status != C_OK) {
- DeleteAssemblyProgram(old_program);
- return old_encode_status;
- }
-
- Status old_write_status =
- WriteEncodedProgram(old_encoded, old_transformed_element);
- DeleteEncodedProgram(old_encoded);
- if (old_write_status != C_OK) {
- DeleteAssemblyProgram(old_program);
- return old_write_status;
- }
-
- Status adjust_status = Adjust(*old_program, new_program);
- DeleteAssemblyProgram(old_program);
- if (adjust_status != C_OK) {
- DeleteAssemblyProgram(new_program);
- return adjust_status;
- }
-
- EncodedProgram* new_encoded = NULL;
- Status new_encode_status = Encode(new_program, &new_encoded);
- DeleteAssemblyProgram(new_program);
- if (new_encode_status != C_OK)
- return new_encode_status;
-
- Status new_write_status =
- WriteEncodedProgram(new_encoded, new_transformed_element);
- DeleteEncodedProgram(new_encoded);
- if (new_write_status != C_OK)
- return new_write_status;
-
- return C_OK;
- }
-
- Status Reform(SourceStreamSet* transformed_element,
- SinkStream* reformed_element) {
- return TransformationPatchGenerator::Reform(transformed_element,
- reformed_element);
- }
-
- private:
- ~CourgetteWin32X86PatchGenerator() { }
-
- DISALLOW_COPY_AND_ASSIGN(CourgetteWin32X86PatchGenerator);
-};
-
-} // namespace courgette
-#endif // COURGETTE_WIN32_X86_GENERATOR_H_
« no previous file with comments | « third_party/courgette/testdata/setup2.exe ('k') | third_party/courgette/win32_x86_patcher.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698