From dc2a99e1159c3951b91935490ec8d2da5fc8e1e7 Mon Sep 17 00:00:00 2001 From: Glenn Smith Date: Mon, 27 Dec 2021 15:18:11 -0500 Subject: Make various database progress functions cancellable --- python/binaryview.py | 2 +- python/filemetadata.py | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'python') diff --git a/python/binaryview.py b/python/binaryview.py index 03b1f9e7..b02f5d1a 100644 --- a/python/binaryview.py +++ b/python/binaryview.py @@ -6757,7 +6757,7 @@ class BinaryView: if progress_func is None: result = core.BNRebase(self.handle, address) else: - result = core.BNRebaseWithProgress(self.handle, address, None, ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_ulonglong, ctypes.c_ulonglong)( + result = core.BNRebaseWithProgress(self.handle, address, None, ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.c_ulonglong, ctypes.c_ulonglong)( lambda ctxt, cur, total: progress_func(cur, total))) if result: return self.get_view_of_type(self.view_type) diff --git a/python/filemetadata.py b/python/filemetadata.py index 5a36fde0..aea68bb6 100644 --- a/python/filemetadata.py +++ b/python/filemetadata.py @@ -434,7 +434,7 @@ class FileMetadata: else: _progress_func = progress_func return core.BNCreateDatabaseWithProgress(self.raw.handle, str(filename), None, - ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_ulonglong, ctypes.c_ulonglong)( + ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.c_ulonglong, ctypes.c_ulonglong)( lambda ctxt, cur, total: _progress_func(cur, total)), settings) def open_existing_database(self, filename:str, progress_func:Callable[[int, int], bool]=None): @@ -442,7 +442,7 @@ class FileMetadata: view = core.BNOpenExistingDatabase(self.handle, str(filename)) else: view = core.BNOpenExistingDatabaseWithProgress(self.handle, str(filename), None, - ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_ulonglong, ctypes.c_ulonglong)( + ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.c_ulonglong, ctypes.c_ulonglong)( lambda ctxt, cur, total: progress_func(cur, total))) if view is None: return None @@ -465,7 +465,7 @@ class FileMetadata: else: _progress_func = progress_func return core.BNSaveAutoSnapshotWithProgress(self.raw.handle, None, - ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_ulonglong, ctypes.c_ulonglong)( + ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.c_ulonglong, ctypes.c_ulonglong)( lambda ctxt, cur, total: _progress_func(cur, total)), _settings) def merge_user_analysis(self, path:str, progress_func:ProgressFuncType, excluded_hashes:Optional[List[str]]=None): @@ -475,7 +475,7 @@ class FileMetadata: for i in range(len(excluded_hashes)): excluded[i] = core.cstr(excluded_hashes[i]) return core.BNMergeUserAnalysis(self.handle, str(path), None, - ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_ulonglong, ctypes.c_ulonglong)( + ctypes.CFUNCTYPE(None, ctypes.c_bool, ctypes.c_ulonglong, ctypes.c_ulonglong)( lambda ctxt, cur, total: progress_func(cur, total)), excluded, len(excluded_hashes)) def get_view_of_type(self, name:str) -> Optional['binaryview.BinaryView']: @@ -509,4 +509,4 @@ class FileMetadata: for i in range(length.value): views.append(result[i].decode("utf-8")) core.BNFreeStringList(result, length) - return views \ No newline at end of file + return views -- cgit v1.3.1