diff options
Diffstat (limited to 'binaryview.cpp')
| -rw-r--r-- | binaryview.cpp | 207 |
1 files changed, 102 insertions, 105 deletions
diff --git a/binaryview.cpp b/binaryview.cpp index b62d0290..cbb70166 100644 --- a/binaryview.cpp +++ b/binaryview.cpp @@ -87,37 +87,31 @@ BinaryDataNotification::BinaryDataNotification() Symbol::Symbol(BNSymbolType type, const string& shortName, const string& fullName, const string& rawName, uint64_t addr) { - m_sym = BNCreateSymbol(type, shortName.c_str(), fullName.c_str(), rawName.c_str(), addr); + m_object = BNCreateSymbol(type, shortName.c_str(), fullName.c_str(), rawName.c_str(), addr); } Symbol::Symbol(BNSymbolType type, const std::string& name, uint64_t addr) { - m_sym = BNCreateSymbol(type, name.c_str(), name.c_str(), name.c_str(), addr); + m_object = BNCreateSymbol(type, name.c_str(), name.c_str(), name.c_str(), addr); } Symbol::Symbol(BNSymbol* sym) { - m_sym = sym; -} - - -Symbol::~Symbol() -{ - BNFreeSymbol(m_sym); + m_object = sym; } BNSymbolType Symbol::GetType() const { - return BNGetSymbolType(m_sym); + return BNGetSymbolType(m_object); } string Symbol::GetShortName() const { - char* name = BNGetSymbolShortName(m_sym); + char* name = BNGetSymbolShortName(m_object); string result = name; BNFreeString(name); return result; @@ -126,7 +120,7 @@ string Symbol::GetShortName() const string Symbol::GetFullName() const { - char* name = BNGetSymbolFullName(m_sym); + char* name = BNGetSymbolFullName(m_object); string result = name; BNFreeString(name); return result; @@ -135,7 +129,7 @@ string Symbol::GetFullName() const string Symbol::GetRawName() const { - char* name = BNGetSymbolRawName(m_sym); + char* name = BNGetSymbolRawName(m_object); string result = name; BNFreeString(name); return result; @@ -144,25 +138,25 @@ string Symbol::GetRawName() const uint64_t Symbol::GetAddress() const { - return BNGetSymbolAddress(m_sym); + return BNGetSymbolAddress(m_object); } bool Symbol::IsAutoDefined() const { - return BNIsSymbolAutoDefined(m_sym); + return BNIsSymbolAutoDefined(m_object); } void Symbol::SetAutoDefined(bool val) { - BNSetSymbolAutoDefined(m_sym, val); + BNSetSymbolAutoDefined(m_object, val); } Ref<Symbol> Symbol::ImportedFunctionFromImportAddressSymbol(Symbol* sym, uint64_t addr) { - return new Symbol(BNImportedFunctionFromImportAddressSymbol(sym->GetSymbolObject(), addr)); + return new Symbol(BNImportedFunctionFromImportAddressSymbol(sym->GetObject(), addr)); } @@ -171,6 +165,7 @@ BinaryView::BinaryView(const std::string& typeName, FileMetadata* file) BNCustomBinaryView view; view.context = this; view.init = InitCallback; + view.freeObject = FreeCallback; view.read = ReadCallback; view.write = WriteCallback; view.insert = InsertCallback; @@ -190,27 +185,29 @@ BinaryView::BinaryView(const std::string& typeName, FileMetadata* file) view.save = SaveCallback; m_file = file; - m_view = BNCreateCustomBinaryView(typeName.c_str(), m_file->GetFileObject(), &view); + AddRefForRegistration(); + m_object = BNCreateCustomBinaryView(typeName.c_str(), m_file->GetObject(), &view); } BinaryView::BinaryView(BNBinaryView* view) { - m_view = view; - m_file = new FileMetadata(BNNewFileReference(BNGetFileForView(m_view))); + m_object = view; + m_file = new FileMetadata(BNNewFileReference(BNGetFileForView(m_object))); } -BinaryView::~BinaryView() +bool BinaryView::InitCallback(void* ctxt) { - BNFreeBinaryView(m_view); + BinaryView* view = (BinaryView*)ctxt; + return view->Init(); } -bool BinaryView::InitCallback(void* ctxt) +void BinaryView::FreeCallback(void* ctxt) { BinaryView* view = (BinaryView*)ctxt; - return view->Init(); + view->ReleaseForRegistration(); } @@ -389,25 +386,25 @@ size_t BinaryView::PerformGetAddressSize() const void BinaryView::NotifyDataWritten(uint64_t offset, size_t len) { - BNNotifyDataWritten(m_view, offset, len); + BNNotifyDataWritten(m_object, offset, len); } void BinaryView::NotifyDataInserted(uint64_t offset, size_t len) { - BNNotifyDataInserted(m_view, offset, len); + BNNotifyDataInserted(m_object, offset, len); } void BinaryView::NotifyDataRemoved(uint64_t offset, uint64_t len) { - BNNotifyDataRemoved(m_view, offset, len); + BNNotifyDataRemoved(m_object, offset, len); } string BinaryView::GetTypeName() const { - char* str = BNGetViewType(m_view); + char* str = BNGetViewType(m_object); string result = str; BNFreeString(str); return result; @@ -416,7 +413,7 @@ string BinaryView::GetTypeName() const bool BinaryView::IsModified() const { - return BNIsViewModified(m_view); + return BNIsViewModified(m_object); } @@ -452,7 +449,7 @@ void BinaryView::BeginUndoActions() void BinaryView::AddUndoAction(UndoAction* action) { - action->Add(m_view); + action->Add(m_object); } @@ -494,27 +491,27 @@ bool BinaryView::Navigate(const string& view, uint64_t offset) DataBuffer BinaryView::ReadBuffer(uint64_t offset, size_t len) { - BNDataBuffer* result = BNReadViewBuffer(m_view, offset, len); + BNDataBuffer* result = BNReadViewBuffer(m_object, offset, len); return DataBuffer(result); } size_t BinaryView::WriteBuffer(uint64_t offset, const DataBuffer& data) { - return BNWriteViewBuffer(m_view, offset, data.GetBufferObject()); + return BNWriteViewBuffer(m_object, offset, data.GetBufferObject()); } size_t BinaryView::InsertBuffer(uint64_t offset, const DataBuffer& data) { - return BNInsertViewBuffer(m_view, offset, data.GetBufferObject()); + return BNInsertViewBuffer(m_object, offset, data.GetBufferObject()); } vector<BNModificationStatus> BinaryView::GetModification(uint64_t offset, size_t len) { BNModificationStatus* mod = new BNModificationStatus[len]; - len = BNGetModificationArray(m_view, offset, mod, len); + len = BNGetModificationArray(m_object, offset, mod, len); vector<BNModificationStatus> result; for (size_t i = 0; i < len; i++) @@ -527,109 +524,109 @@ vector<BNModificationStatus> BinaryView::GetModification(uint64_t offset, size_t uint64_t BinaryView::GetEnd() const { - return BNGetEndOffset(m_view); + return BNGetEndOffset(m_object); } bool BinaryView::Save(const string& path) { - return BNSaveToFilename(m_view, path.c_str()); + return BNSaveToFilename(m_object, path.c_str()); } void BinaryView::RegisterNotification(BinaryDataNotification* notify) { - BNRegisterDataNotification(m_view, notify->GetCallbacks()); + BNRegisterDataNotification(m_object, notify->GetCallbacks()); } void BinaryView::UnregisterNotification(BinaryDataNotification* notify) { - BNUnregisterDataNotification(m_view, notify->GetCallbacks()); + BNUnregisterDataNotification(m_object, notify->GetCallbacks()); } size_t BinaryView::Read(void* dest, uint64_t offset, size_t len) { - return BNReadViewData(m_view, dest, offset, len); + return BNReadViewData(m_object, dest, offset, len); } size_t BinaryView::Write(uint64_t offset, const void* data, size_t len) { - return BNWriteViewData(m_view, offset, data, len); + return BNWriteViewData(m_object, offset, data, len); } size_t BinaryView::Insert(uint64_t offset, const void* data, size_t len) { - return BNInsertViewData(m_view, offset, data, len); + return BNInsertViewData(m_object, offset, data, len); } size_t BinaryView::Remove(uint64_t offset, uint64_t len) { - return BNRemoveViewData(m_view, offset, len); + return BNRemoveViewData(m_object, offset, len); } BNModificationStatus BinaryView::GetModification(uint64_t offset) { - return BNGetModification(m_view, offset); + return BNGetModification(m_object, offset); } bool BinaryView::IsValidOffset(uint64_t offset) const { - return BNIsValidOffset(m_view, offset); + return BNIsValidOffset(m_object, offset); } bool BinaryView::IsOffsetReadable(uint64_t offset) const { - return BNIsOffsetReadable(m_view, offset); + return BNIsOffsetReadable(m_object, offset); } bool BinaryView::IsOffsetWritable(uint64_t offset) const { - return BNIsOffsetWritable(m_view, offset); + return BNIsOffsetWritable(m_object, offset); } bool BinaryView::IsOffsetExecutable(uint64_t offset) const { - return BNIsOffsetExecutable(m_view, offset); + return BNIsOffsetExecutable(m_object, offset); } uint64_t BinaryView::GetNextValidOffset(uint64_t offset) const { - return BNGetNextValidOffset(m_view, offset); + return BNGetNextValidOffset(m_object, offset); } uint64_t BinaryView::GetStart() const { - return BNGetStartOffset(m_view); + return BNGetStartOffset(m_object); } uint64_t BinaryView::GetLength() const { - return BNGetViewLength(m_view); + return BNGetViewLength(m_object); } uint64_t BinaryView::GetEntryPoint() const { - return BNGetEntryPoint(m_view); + return BNGetEntryPoint(m_object); } Ref<Architecture> BinaryView::GetDefaultArchitecture() const { - BNArchitecture* arch = BNGetDefaultArchitecture(m_view); + BNArchitecture* arch = BNGetDefaultArchitecture(m_object); if (!arch) return nullptr; return new CoreArchitecture(arch); @@ -639,15 +636,15 @@ Ref<Architecture> BinaryView::GetDefaultArchitecture() const void BinaryView::SetDefaultArchitecture(Architecture* arch) { if (arch) - BNSetDefaultArchitecture(m_view, arch->GetArchitectureObject()); + BNSetDefaultArchitecture(m_object, arch->GetObject()); else - BNSetDefaultArchitecture(m_view, nullptr); + BNSetDefaultArchitecture(m_object, nullptr); } Ref<Platform> BinaryView::GetDefaultPlatform() const { - BNPlatform* platform = BNGetDefaultPlatform(m_view); + BNPlatform* platform = BNGetDefaultPlatform(m_object); if (!platform) return nullptr; return new Platform(platform); @@ -657,76 +654,76 @@ Ref<Platform> BinaryView::GetDefaultPlatform() const void BinaryView::SetDefaultPlatform(Platform* platform) { if (platform) - BNSetDefaultPlatform(m_view, platform->GetPlatformObject()); + BNSetDefaultPlatform(m_object, platform->GetObject()); else - BNSetDefaultPlatform(m_view, nullptr); + BNSetDefaultPlatform(m_object, nullptr); } BNEndianness BinaryView::GetDefaultEndianness() const { - return BNGetDefaultEndianness(m_view); + return BNGetDefaultEndianness(m_object); } size_t BinaryView::GetAddressSize() const { - return BNGetViewAddressSize(m_view); + return BNGetViewAddressSize(m_object); } bool BinaryView::IsExecutable() const { - return BNIsExecutableView(m_view); + return BNIsExecutableView(m_object); } bool BinaryView::Save(FileAccessor* file) { - return BNSaveToFile(m_view, file->GetCallbacks()); + return BNSaveToFile(m_object, file->GetCallbacks()); } void BinaryView::AddFunctionForAnalysis(Platform* platform, uint64_t addr) { - BNAddFunctionForAnalysis(m_view, platform->GetPlatformObject(), addr); + BNAddFunctionForAnalysis(m_object, platform->GetObject(), addr); } void BinaryView::AddEntryPointForAnalysis(Platform* platform, uint64_t addr) { - BNAddEntryPointForAnalysis(m_view, platform->GetPlatformObject(), addr); + BNAddEntryPointForAnalysis(m_object, platform->GetObject(), addr); } void BinaryView::RemoveAnalysisFunction(Function* func) { - BNRemoveAnalysisFunction(m_view, func->GetFunctionObject()); + BNRemoveAnalysisFunction(m_object, func->GetObject()); } void BinaryView::CreateUserFunction(Platform* platform, uint64_t start) { - BNCreateUserFunction(m_view, platform->GetPlatformObject(), start); + BNCreateUserFunction(m_object, platform->GetObject(), start); } void BinaryView::UpdateAnalysis() { - BNUpdateAnalysis(m_view); + BNUpdateAnalysis(m_object); } void BinaryView::AbortAnalysis() { - BNAbortAnalysis(m_view); + BNAbortAnalysis(m_object); } vector<Ref<Function>> BinaryView::GetAnalysisFunctionList() { size_t count; - BNFunction** list = BNGetAnalysisFunctionList(m_view, &count); + BNFunction** list = BNGetAnalysisFunctionList(m_object, &count); vector<Ref<Function>> result; for (size_t i = 0; i < count; i++) @@ -739,13 +736,13 @@ vector<Ref<Function>> BinaryView::GetAnalysisFunctionList() bool BinaryView::HasFunctions() const { - return BNHasFunctions(m_view); + return BNHasFunctions(m_object); } Ref<Function> BinaryView::GetAnalysisFunction(Platform* platform, uint64_t addr) { - BNFunction* func = BNGetAnalysisFunction(m_view, platform->GetPlatformObject(), addr); + BNFunction* func = BNGetAnalysisFunction(m_object, platform->GetObject(), addr); if (!func) return nullptr; return new Function(func); @@ -754,7 +751,7 @@ Ref<Function> BinaryView::GetAnalysisFunction(Platform* platform, uint64_t addr) Ref<Function> BinaryView::GetRecentAnalysisFunctionForAddress(uint64_t addr) { - BNFunction* func = BNGetRecentAnalysisFunctionForAddress(m_view, addr); + BNFunction* func = BNGetRecentAnalysisFunctionForAddress(m_object, addr); if (!func) return nullptr; return new Function(func); @@ -764,7 +761,7 @@ Ref<Function> BinaryView::GetRecentAnalysisFunctionForAddress(uint64_t addr) vector<Ref<Function>> BinaryView::GetAnalysisFunctionsForAddress(uint64_t addr) { size_t count; - BNFunction** list = BNGetAnalysisFunctionsForAddress(m_view, addr, &count); + BNFunction** list = BNGetAnalysisFunctionsForAddress(m_object, addr, &count); vector<Ref<Function>> result; for (size_t i = 0; i < count; i++) @@ -777,7 +774,7 @@ vector<Ref<Function>> BinaryView::GetAnalysisFunctionsForAddress(uint64_t addr) Ref<Function> BinaryView::GetAnalysisEntryPoint() { - BNFunction* func = BNGetAnalysisEntryPoint(m_view); + BNFunction* func = BNGetAnalysisEntryPoint(m_object); if (!func) return nullptr; return new Function(func); @@ -786,7 +783,7 @@ Ref<Function> BinaryView::GetAnalysisEntryPoint() Ref<BasicBlock> BinaryView::GetRecentBasicBlockForAddress(uint64_t addr) { - BNBasicBlock* block = BNGetRecentBasicBlockForAddress(m_view, addr); + BNBasicBlock* block = BNGetRecentBasicBlockForAddress(m_object, addr); if (!block) return nullptr; return new BasicBlock(block); @@ -796,7 +793,7 @@ Ref<BasicBlock> BinaryView::GetRecentBasicBlockForAddress(uint64_t addr) vector<Ref<BasicBlock>> BinaryView::GetBasicBlocksForAddress(uint64_t addr) { size_t count; - BNBasicBlock** blocks = BNGetBasicBlocksForAddress(m_view, addr, &count); + BNBasicBlock** blocks = BNGetBasicBlocksForAddress(m_object, addr, &count); vector<Ref<BasicBlock>> result; for (size_t i = 0; i < count; i++) @@ -810,7 +807,7 @@ vector<Ref<BasicBlock>> BinaryView::GetBasicBlocksForAddress(uint64_t addr) vector<ReferenceSource> BinaryView::GetCodeReferences(uint64_t addr) { size_t count; - BNReferenceSource* refs = BNGetCodeReferences(m_view, addr, &count); + BNReferenceSource* refs = BNGetCodeReferences(m_object, addr, &count); vector<ReferenceSource> result; for (size_t i = 0; i < count; i++) @@ -830,7 +827,7 @@ vector<ReferenceSource> BinaryView::GetCodeReferences(uint64_t addr) vector<ReferenceSource> BinaryView::GetCodeReferences(uint64_t addr, uint64_t len) { size_t count; - BNReferenceSource* refs = BNGetCodeReferencesInRange(m_view, addr, len, &count); + BNReferenceSource* refs = BNGetCodeReferencesInRange(m_object, addr, len, &count); vector<ReferenceSource> result; for (size_t i = 0; i < count; i++) @@ -849,7 +846,7 @@ vector<ReferenceSource> BinaryView::GetCodeReferences(uint64_t addr, uint64_t le Ref<Symbol> BinaryView::GetSymbolByAddress(uint64_t addr) { - BNSymbol* sym = BNGetSymbolByAddress(m_view, addr); + BNSymbol* sym = BNGetSymbolByAddress(m_object, addr); if (!sym) return nullptr; return new Symbol(sym); @@ -858,7 +855,7 @@ Ref<Symbol> BinaryView::GetSymbolByAddress(uint64_t addr) Ref<Symbol> BinaryView::GetSymbolByRawName(const string& name) { - BNSymbol* sym = BNGetSymbolByRawName(m_view, name.c_str()); + BNSymbol* sym = BNGetSymbolByRawName(m_object, name.c_str()); if (!sym) return nullptr; return new Symbol(sym); @@ -868,7 +865,7 @@ Ref<Symbol> BinaryView::GetSymbolByRawName(const string& name) vector<Ref<Symbol>> BinaryView::GetSymbolsByName(const string& name) { size_t count; - BNSymbol** syms = BNGetSymbolsByName(m_view, name.c_str(), &count); + BNSymbol** syms = BNGetSymbolsByName(m_object, name.c_str(), &count); vector<Ref<Symbol>> result; for (size_t i = 0; i < count; i++) @@ -882,7 +879,7 @@ vector<Ref<Symbol>> BinaryView::GetSymbolsByName(const string& name) vector<Ref<Symbol>> BinaryView::GetSymbols() { size_t count; - BNSymbol** syms = BNGetSymbols(m_view, &count); + BNSymbol** syms = BNGetSymbols(m_object, &count); vector<Ref<Symbol>> result; for (size_t i = 0; i < count; i++) @@ -896,7 +893,7 @@ vector<Ref<Symbol>> BinaryView::GetSymbols() vector<Ref<Symbol>> BinaryView::GetSymbols(uint64_t start, uint64_t len) { size_t count; - BNSymbol** syms = BNGetSymbolsInRange(m_view, start, len, &count); + BNSymbol** syms = BNGetSymbolsInRange(m_object, start, len, &count); vector<Ref<Symbol>> result; for (size_t i = 0; i < count; i++) @@ -910,7 +907,7 @@ vector<Ref<Symbol>> BinaryView::GetSymbols(uint64_t start, uint64_t len) vector<Ref<Symbol>> BinaryView::GetSymbolsOfType(BNSymbolType type) { size_t count; - BNSymbol** syms = BNGetSymbolsOfType(m_view, type, &count); + BNSymbol** syms = BNGetSymbolsOfType(m_object, type, &count); vector<Ref<Symbol>> result; for (size_t i = 0; i < count; i++) @@ -924,7 +921,7 @@ vector<Ref<Symbol>> BinaryView::GetSymbolsOfType(BNSymbolType type) vector<Ref<Symbol>> BinaryView::GetSymbolsOfType(BNSymbolType type, uint64_t start, uint64_t len) { size_t count; - BNSymbol** syms = BNGetSymbolsOfTypeInRange(m_view, type, start, len, &count); + BNSymbol** syms = BNGetSymbolsOfTypeInRange(m_object, type, start, len, &count); vector<Ref<Symbol>> result; for (size_t i = 0; i < count; i++) @@ -937,92 +934,92 @@ vector<Ref<Symbol>> BinaryView::GetSymbolsOfType(BNSymbolType type, uint64_t sta void BinaryView::DefineAutoSymbol(Symbol* sym) { - BNDefineAutoSymbol(m_view, sym->GetSymbolObject()); + BNDefineAutoSymbol(m_object, sym->GetObject()); } void BinaryView::UndefineAutoSymbol(Symbol* sym) { - BNUndefineAutoSymbol(m_view, sym->GetSymbolObject()); + BNUndefineAutoSymbol(m_object, sym->GetObject()); } void BinaryView::DefineUserSymbol(Symbol* sym) { - BNDefineUserSymbol(m_view, sym->GetSymbolObject()); + BNDefineUserSymbol(m_object, sym->GetObject()); } void BinaryView::UndefineUserSymbol(Symbol* sym) { - BNUndefineUserSymbol(m_view, sym->GetSymbolObject()); + BNUndefineUserSymbol(m_object, sym->GetObject()); } bool BinaryView::IsNeverBranchPatchAvailable(Architecture* arch, uint64_t addr) { - return BNIsNeverBranchPatchAvailable(m_view, arch->GetArchitectureObject(), addr); + return BNIsNeverBranchPatchAvailable(m_object, arch->GetObject(), addr); } bool BinaryView::IsAlwaysBranchPatchAvailable(Architecture* arch, uint64_t addr) { - return BNIsAlwaysBranchPatchAvailable(m_view, arch->GetArchitectureObject(), addr); + return BNIsAlwaysBranchPatchAvailable(m_object, arch->GetObject(), addr); } bool BinaryView::IsInvertBranchPatchAvailable(Architecture* arch, uint64_t addr) { - return BNIsInvertBranchPatchAvailable(m_view, arch->GetArchitectureObject(), addr); + return BNIsInvertBranchPatchAvailable(m_object, arch->GetObject(), addr); } bool BinaryView::IsSkipAndReturnZeroPatchAvailable(Architecture* arch, uint64_t addr) { - return BNIsSkipAndReturnZeroPatchAvailable(m_view, arch->GetArchitectureObject(), addr); + return BNIsSkipAndReturnZeroPatchAvailable(m_object, arch->GetObject(), addr); } bool BinaryView::IsSkipAndReturnValuePatchAvailable(Architecture* arch, uint64_t addr) { - return BNIsSkipAndReturnValuePatchAvailable(m_view, arch->GetArchitectureObject(), addr); + return BNIsSkipAndReturnValuePatchAvailable(m_object, arch->GetObject(), addr); } bool BinaryView::ConvertToNop(Architecture* arch, uint64_t addr) { - return BNConvertToNop(m_view, arch->GetArchitectureObject(), addr); + return BNConvertToNop(m_object, arch->GetObject(), addr); } bool BinaryView::AlwaysBranch(Architecture* arch, uint64_t addr) { - return BNAlwaysBranch(m_view, arch->GetArchitectureObject(), addr); + return BNAlwaysBranch(m_object, arch->GetObject(), addr); } bool BinaryView::InvertBranch(Architecture* arch, uint64_t addr) { - return BNInvertBranch(m_view, arch->GetArchitectureObject(), addr); + return BNInvertBranch(m_object, arch->GetObject(), addr); } bool BinaryView::SkipAndReturnValue(Architecture* arch, uint64_t addr, uint64_t value) { - return BNSkipAndReturnValue(m_view, arch->GetArchitectureObject(), addr, value); + return BNSkipAndReturnValue(m_object, arch->GetObject(), addr, value); } size_t BinaryView::GetInstructionLength(Architecture* arch, uint64_t addr) { - return BNGetInstructionLength(m_view, arch->GetArchitectureObject(), addr); + return BNGetInstructionLength(m_object, arch->GetObject(), addr); } vector<BNStringReference> BinaryView::GetStrings() { size_t count; - BNStringReference* strings = BNGetStrings(m_view, &count); + BNStringReference* strings = BNGetStrings(m_object, &count); vector<BNStringReference> result; result.insert(result.end(), strings, strings + count); BNFreeStringList(strings); @@ -1033,7 +1030,7 @@ vector<BNStringReference> BinaryView::GetStrings() vector<BNStringReference> BinaryView::GetStrings(uint64_t start, uint64_t len) { size_t count; - BNStringReference* strings = BNGetStringsInRange(m_view, start, len, &count); + BNStringReference* strings = BNGetStringsInRange(m_object, start, len, &count); vector<BNStringReference> result; result.insert(result.end(), strings, strings + count); BNFreeStringList(strings); @@ -1041,30 +1038,30 @@ vector<BNStringReference> BinaryView::GetStrings(uint64_t start, uint64_t len) } -BinaryData::BinaryData(FileMetadata* file): BinaryView(BNCreateBinaryDataView(file->GetFileObject())) +BinaryData::BinaryData(FileMetadata* file): BinaryView(BNCreateBinaryDataView(file->GetObject())) { } BinaryData::BinaryData(FileMetadata* file, const DataBuffer& data): - BinaryView(BNCreateBinaryDataViewFromBuffer(file->GetFileObject(), data.GetBufferObject())) + BinaryView(BNCreateBinaryDataViewFromBuffer(file->GetObject(), data.GetBufferObject())) { } BinaryData::BinaryData(FileMetadata* file, const void* data, size_t len): - BinaryView(BNCreateBinaryDataViewFromData(file->GetFileObject(), data, len)) + BinaryView(BNCreateBinaryDataViewFromData(file->GetObject(), data, len)) { } BinaryData::BinaryData(FileMetadata* file, const string& path): - BinaryView(BNCreateBinaryDataViewFromFilename(file->GetFileObject(), path.c_str())) + BinaryView(BNCreateBinaryDataViewFromFilename(file->GetObject(), path.c_str())) { } BinaryData::BinaryData(FileMetadata* file, FileAccessor* accessor): - BinaryView(BNCreateBinaryDataViewFromFile(file->GetFileObject(), accessor->GetCallbacks())) + BinaryView(BNCreateBinaryDataViewFromFile(file->GetObject(), accessor->GetCallbacks())) { } |
