1 # Copyright 2013 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 class Patcher(object): 6 def GetPatchedFiles(self, version=None): 7 '''Returns patched files as(added_files, deleted_files, modified_files) 8 from the patchset specified by |version|. 9 ''' 10 raise NotImplementedError(self.__class__) 11 12 def GetVersion(self): 13 '''Returns patch version. Returns None when nothing is patched by the 14 patcher. 15 ''' 16 raise NotImplementedError(self.__class__) 17 18 def Apply(self, paths, file_system, binary, version=None): 19 '''Apply the patch to added/modified files. Returns Future with patched 20 data. Throws FileNotFoundError if |paths| contains deleted files. 21 ''' 22 raise NotImplementedError(self.__class__) 23 24 def GetIdentity(self): 25 '''Returns a string that identifies this patch. Typically it would be the 26 codereview server's ID for this patch. 27 ''' 28 raise NotImplementedError(self.__class__) 29