Skip to content

Commit 9262278

Browse files
committed
std::function<bool(size_t,size_t)> ==> ProgressFunction
1 parent 4aac12b commit 9262278

21 files changed

+197
-196
lines changed

binaryninjaapi.h

Lines changed: 72 additions & 73 deletions
Large diffs are not rendered by default.

binaryninjacore.h

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,8 @@ extern "C"
308308
typedef struct BNRenderLayer BNRenderLayer;
309309
typedef struct BNStringRef BNStringRef;
310310

311+
typedef bool(*BNProgressFunction)(void*, size_t, size_t);
312+
311313
//! Console log levels
312314
typedef enum BNLogLevel
313315
{
@@ -2713,15 +2715,15 @@ extern "C"
27132715
void* readContext;
27142716
uint64_t (*writeCallback)(uint8_t* data, uint64_t len, void* ctxt);
27152717
void* writeContext;
2716-
bool (*progressCallback)(void* ctxt, uint64_t progress, uint64_t total);
2718+
BNProgressFunction progressCallback;
27172719
void* progressContext;
27182720
} BNDownloadInstanceInputOutputCallbacks;
27192721

27202722
typedef struct BNDownloadInstanceOutputCallbacks
27212723
{
27222724
uint64_t (*writeCallback)(uint8_t* data, uint64_t len, void* ctxt);
27232725
void* writeContext;
2724-
bool (*progressCallback)(void* ctxt, uint64_t progress, uint64_t total);
2726+
BNProgressFunction progressCallback;
27252727
void* progressContext;
27262728
} BNDownloadInstanceOutputCallbacks;
27272729

@@ -3012,7 +3014,7 @@ extern "C"
30123014
void* ctxt, const char* title, const char* text, BNMessageBoxButtonSet buttons, BNMessageBoxIcon icon);
30133015
bool (*openUrl)(void* ctxt, const char* url);
30143016
bool (*runProgressDialog)(void* ctxt, const char* title, bool canCancel,
3015-
void (*task)(void* taskCtxt, bool(*progress)(void* progressCtxt, size_t cur, size_t max), void* progressCtxt), void* taskCtxt);
3017+
void (*task)(void* taskCtxt, BNProgressFunction progress, void* progressCtxt), void* taskCtxt);
30163018
} BNInteractionHandlerCallbacks;
30173019

30183020
typedef struct BNObjectDestructionCallbacks
@@ -3495,7 +3497,6 @@ extern "C"
34953497
uint32_t flags;
34963498
} BNSegmentInfo;
34973499

3498-
typedef bool(*BNProgressFunction)(void*, size_t, size_t);
34993500
typedef bool(*BNCollaborationAnalysisConflictHandler)(void*, const char** keys, BNAnalysisMergeConflict** conflicts, size_t conflictCount);
35003501
typedef bool(*BNCollaborationNameChangesetFunction)(void*, BNCollaborationChangeset*);
35013502

@@ -4230,7 +4231,7 @@ extern "C"
42304231

42314232
BINARYNINJACOREAPI bool BNSearch(BNBinaryView* view, const char* query, void* context, BNProgressFunction progressCallback, void* matchContext, bool (*callback)(void*, uint64_t, BNDataBuffer*));
42324233
BINARYNINJACOREAPI char* BNDetectSearchMode(const char* query);
4233-
BINARYNINJACOREAPI bool BNPerformSearch(const char* query, const uint8_t* buffer, size_t size, bool(*callback)(void*, size_t, size_t), void* context);
4234+
BINARYNINJACOREAPI bool BNPerformSearch(const char* query, const uint8_t* buffer, size_t size, BNProgressFunction callback, void* context);
42344235

42354236
BINARYNINJACOREAPI void BNBeginBulkAddSegments(BNBinaryView* view);
42364237
BINARYNINJACOREAPI void BNEndBulkAddSegments(BNBinaryView* view);
@@ -5274,7 +5275,7 @@ extern "C"
52745275
BINARYNINJACOREAPI BNTypeContainerType BNTypeContainerGetType(BNTypeContainer* container);
52755276
BINARYNINJACOREAPI bool BNTypeContainerIsMutable(BNTypeContainer* container);
52765277
BINARYNINJACOREAPI BNPlatform* BNTypeContainerGetPlatform(BNTypeContainer* container);
5277-
BINARYNINJACOREAPI bool BNTypeContainerAddTypes(BNTypeContainer* container, const BNQualifiedName* typeNames, BNType** types, size_t typeCount, bool(*progress)(void*, size_t, size_t), void* progressContext, BNQualifiedName** resultNames, char*** resultIds, size_t* resultCount);
5278+
BINARYNINJACOREAPI bool BNTypeContainerAddTypes(BNTypeContainer* container, const BNQualifiedName* typeNames, BNType** types, size_t typeCount, BNProgressFunction progress, void* progressContext, BNQualifiedName** resultNames, char*** resultIds, size_t* resultCount);
52785279
BINARYNINJACOREAPI bool BNTypeContainerRenameType(BNTypeContainer* container, const char* typeId, const BNQualifiedName* newName);
52795280
BINARYNINJACOREAPI bool BNTypeContainerDeleteType(BNTypeContainer* container, const char* typeId);
52805281
BINARYNINJACOREAPI bool BNTypeContainerGetTypeId(BNTypeContainer* container, const BNQualifiedName* typeName, char** result);
@@ -7158,7 +7159,7 @@ extern "C"
71587159
const char* title, const char* text, BNMessageBoxButtonSet buttons, BNMessageBoxIcon icon);
71597160
BINARYNINJACOREAPI bool BNOpenUrl(const char* url);
71607161
BINARYNINJACOREAPI bool BNRunProgressDialog(const char* title, bool canCancel,
7161-
void (*task)(void* taskCtxt, bool(*progress)(void* progressCtxt, size_t cur, size_t max), void* progressCtxt), void* taskCtxt);
7162+
void (*task)(void* taskCtxt, BNProgressFunction progress, void* progressCtxt), void* taskCtxt);
71627163

71637164
BINARYNINJACOREAPI BNReportCollection* BNCreateReportCollection(void);
71647165
BINARYNINJACOREAPI BNReportCollection* BNNewReportCollectionReference(BNReportCollection* reports);

binaryview.cpp

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1634,7 +1634,7 @@ bool BinaryView::CreateDatabase(const string& path, Ref<SaveSettings> settings)
16341634

16351635

16361636
bool BinaryView::CreateDatabase(const string& path,
1637-
const function<bool(size_t progress, size_t total)>& progressCallback, Ref<SaveSettings> settings)
1637+
const ProgressFunction& progressCallback, Ref<SaveSettings> settings)
16381638
{
16391639
auto parent = GetParentView();
16401640
if (parent)
@@ -1650,7 +1650,7 @@ bool BinaryView::SaveAutoSnapshot(Ref<SaveSettings> settings)
16501650

16511651

16521652
bool BinaryView::SaveAutoSnapshot(
1653-
const function<bool(size_t progress, size_t total)>& progressCallback, Ref<SaveSettings> settings)
1653+
const ProgressFunction& progressCallback, Ref<SaveSettings> settings)
16541654
{
16551655
return m_file->SaveAutoSnapshot(this, progressCallback, settings);
16561656
}
@@ -4217,7 +4217,7 @@ void BinaryView::DefineUserType(const QualifiedName& name, Ref<Type> type)
42174217
}
42184218

42194219

4220-
std::unordered_map<std::string, QualifiedName> BinaryView::DefineTypes(const vector<pair<string, QualifiedNameAndType>>& types, std::function<bool(size_t, size_t)> progress)
4220+
std::unordered_map<std::string, QualifiedName> BinaryView::DefineTypes(const vector<pair<string, QualifiedNameAndType>>& types, ProgressFunction progress)
42214221
{
42224222
BNQualifiedNameTypeAndId* apiTypes = new BNQualifiedNameTypeAndId[types.size()];
42234223
for (size_t i = 0; i < types.size(); i++)
@@ -4255,7 +4255,7 @@ std::unordered_map<std::string, QualifiedName> BinaryView::DefineTypes(const vec
42554255
}
42564256

42574257

4258-
void BinaryView::DefineUserTypes(const vector<QualifiedNameAndType>& types, std::function<bool(size_t, size_t)> progress)
4258+
void BinaryView::DefineUserTypes(const vector<QualifiedNameAndType>& types, ProgressFunction progress)
42594259
{
42604260
BNQualifiedNameAndType* apiTypes = new BNQualifiedNameAndType[types.size()];
42614261
for (size_t i = 0; i < types.size(); i++)
@@ -4276,7 +4276,7 @@ void BinaryView::DefineUserTypes(const vector<QualifiedNameAndType>& types, std:
42764276
}
42774277

42784278

4279-
void BinaryView::DefineUserTypes(const vector<ParsedType>& types, std::function<bool(size_t, size_t)> progress)
4279+
void BinaryView::DefineUserTypes(const vector<ParsedType>& types, ProgressFunction progress)
42804280
{
42814281
BNQualifiedNameAndType* apiTypes = new BNQualifiedNameAndType[types.size()];
42824282
for (size_t i = 0; i < types.size(); i++)
@@ -4735,7 +4735,7 @@ static bool MatchCallbackForConstant(void* ctxt, uint64_t addr, BNLinearDisassem
47354735

47364736

47374737
bool BinaryView::FindNextData(uint64_t start, uint64_t end, const DataBuffer& data, uint64_t& addr, BNFindFlag flags,
4738-
const std::function<bool(size_t current, size_t total)>& progress)
4738+
const ProgressFunction& progress)
47394739
{
47404740
ProgressContext fp;
47414741
fp.callback = progress;
@@ -4746,7 +4746,7 @@ bool BinaryView::FindNextData(uint64_t start, uint64_t end, const DataBuffer& da
47464746

47474747
bool BinaryView::FindNextText(uint64_t start, uint64_t end, const std::string& data, uint64_t& addr,
47484748
Ref<DisassemblySettings> settings, BNFindFlag flags, const FunctionViewType& viewType,
4749-
const std::function<bool(size_t current, size_t total)>& progress)
4749+
const ProgressFunction& progress)
47504750
{
47514751
ProgressContext fp;
47524752
fp.callback = progress;
@@ -4757,7 +4757,7 @@ bool BinaryView::FindNextText(uint64_t start, uint64_t end, const std::string& d
47574757

47584758
bool BinaryView::FindNextConstant(uint64_t start, uint64_t end, uint64_t constant, uint64_t& addr,
47594759
Ref<DisassemblySettings> settings, const FunctionViewType& viewType,
4760-
const std::function<bool(size_t current, size_t total)>& progress)
4760+
const ProgressFunction& progress)
47614761
{
47624762
ProgressContext fp;
47634763
fp.callback = progress;
@@ -4767,7 +4767,7 @@ bool BinaryView::FindNextConstant(uint64_t start, uint64_t end, uint64_t constan
47674767

47684768

47694769
bool BinaryView::FindAllData(uint64_t start, uint64_t end, const DataBuffer& data, BNFindFlag flags,
4770-
const std::function<bool(size_t current, size_t total)>& progress,
4770+
const ProgressFunction& progress,
47714771
const std::function<bool(uint64_t addr, const DataBuffer& match)>& matchCallback)
47724772
{
47734773
ProgressContext fp;
@@ -4780,7 +4780,7 @@ bool BinaryView::FindAllData(uint64_t start, uint64_t end, const DataBuffer& dat
47804780

47814781

47824782
bool BinaryView::FindAllText(uint64_t start, uint64_t end, const std::string& data, Ref<DisassemblySettings> settings,
4783-
BNFindFlag flags, const FunctionViewType& viewType, const std::function<bool(size_t current, size_t total)>& progress,
4783+
BNFindFlag flags, const FunctionViewType& viewType, const ProgressFunction& progress,
47844784
const std::function<bool(uint64_t addr, const std::string& match, const LinearDisassemblyLine& line)>&
47854785
matchCallback)
47864786
{
@@ -4794,7 +4794,7 @@ bool BinaryView::FindAllText(uint64_t start, uint64_t end, const std::string& da
47944794

47954795

47964796
bool BinaryView::FindAllConstant(uint64_t start, uint64_t end, uint64_t constant, Ref<DisassemblySettings> settings,
4797-
const FunctionViewType& viewType, const std::function<bool(size_t current, size_t total)>& progress,
4797+
const FunctionViewType& viewType, const ProgressFunction& progress,
47984798
const std::function<bool(uint64_t addr, const LinearDisassemblyLine& line)>& matchCallback)
47994799
{
48004800
ProgressContext fp;
@@ -4815,7 +4815,7 @@ string BinaryView::DetectSearchMode(const string& query)
48154815
}
48164816

48174817

4818-
bool BinaryView::Search(const string& query, const std::function<bool(size_t current, size_t total)>& progressCallback, const std::function<bool(uint64_t offset, const DataBuffer& buffer)>& matchCallback)
4818+
bool BinaryView::Search(const string& query, const ProgressFunction& progressCallback, const std::function<bool(uint64_t offset, const DataBuffer& buffer)>& matchCallback)
48194819
{
48204820
ProgressContext fp;
48214821
fp.callback = progressCallback;
@@ -5598,14 +5598,14 @@ Ref<BinaryData> BinaryData::CreateFromFile(FileMetadata* file, FileAccessor* acc
55985598

55995599

56005600
Ref<BinaryView> BinaryNinja::Load(const std::string& filename, bool updateAnalysis,
5601-
std::function<bool(size_t, size_t)> progress, Ref<Metadata> options)
5601+
ProgressFunction progress, Ref<Metadata> options)
56025602
{
56035603
return Load(filename, updateAnalysis, options->GetJsonString(), progress);
56045604
}
56055605

56065606

56075607
Ref<BinaryView> BinaryNinja::Load(
5608-
const DataBuffer& rawData, bool updateAnalysis, std::function<bool(size_t, size_t)> progress, Ref<Metadata> options)
5608+
const DataBuffer& rawData, bool updateAnalysis, ProgressFunction progress, Ref<Metadata> options)
56095609
{
56105610
Ref<FileMetadata> file = new FileMetadata();
56115611
Ref<BinaryView> view = new BinaryData(file, rawData);
@@ -5614,13 +5614,13 @@ Ref<BinaryView> BinaryNinja::Load(
56145614

56155615

56165616
Ref<BinaryView> BinaryNinja::Load(Ref<BinaryView> view, bool updateAnalysis,
5617-
std::function<bool(size_t, size_t)> progress, Ref<Metadata> options, bool isDatabase)
5617+
ProgressFunction progress, Ref<Metadata> options, bool isDatabase)
56185618
{
56195619
return Load(view, updateAnalysis, options->GetJsonString(), progress);
56205620
}
56215621

56225622

5623-
Ref<BinaryView> BinaryNinja::Load(const std::string& filename, bool updateAnalysis, const std::string& options, std::function<bool(size_t, size_t)> progress)
5623+
Ref<BinaryView> BinaryNinja::Load(const std::string& filename, bool updateAnalysis, const std::string& options, ProgressFunction progress)
56245624
{
56255625
ProgressContext cb;
56265626
cb.callback = progress;
@@ -5631,15 +5631,15 @@ Ref<BinaryView> BinaryNinja::Load(const std::string& filename, bool updateAnalys
56315631
}
56325632

56335633

5634-
Ref<BinaryView> BinaryNinja::Load(const DataBuffer& rawData, bool updateAnalysis, const std::string& options, std::function<bool(size_t, size_t)> progress)
5634+
Ref<BinaryView> BinaryNinja::Load(const DataBuffer& rawData, bool updateAnalysis, const std::string& options, ProgressFunction progress)
56355635
{
56365636
Ref<FileMetadata> file = new FileMetadata();
56375637
Ref<BinaryView> view = new BinaryData(file, rawData);
56385638
return Load(view, updateAnalysis, options, progress);
56395639
}
56405640

56415641

5642-
Ref<BinaryView> BinaryNinja::Load(Ref<BinaryView> view, bool updateAnalysis, const std::string& options, std::function<bool(size_t, size_t)> progress)
5642+
Ref<BinaryView> BinaryNinja::Load(Ref<BinaryView> view, bool updateAnalysis, const std::string& options, ProgressFunction progress)
56435643
{
56445644
ProgressContext cb;
56455645
cb.callback = progress;
@@ -5650,7 +5650,7 @@ Ref<BinaryView> BinaryNinja::Load(Ref<BinaryView> view, bool updateAnalysis, con
56505650
}
56515651

56525652

5653-
Ref<BinaryView> BinaryNinja::Load(Ref<ProjectFile> projectFile, bool updateAnalysis, const std::string& options, std::function<bool(size_t, size_t)> progress)
5653+
Ref<BinaryView> BinaryNinja::Load(Ref<ProjectFile> projectFile, bool updateAnalysis, const std::string& options, ProgressFunction progress)
56545654
{
56555655
ProgressContext cb;
56565656
cb.callback = progress;

0 commit comments

Comments
 (0)