| 1301 | |
| 1302 | |
| 1303 | BinaryView::BinaryView(const std::string& typeName, FileMetadata* file, BinaryView* parentView) |
| 1304 | { |
| 1305 | BNCustomBinaryView view; |
| 1306 | view.context = this; |
| 1307 | view.init = InitCallback; |
| 1308 | view.freeObject = FreeCallback; |
| 1309 | view.externalRefTaken = nullptr; |
| 1310 | view.externalRefReleased = nullptr; |
| 1311 | view.read = ReadCallback; |
| 1312 | view.write = WriteCallback; |
| 1313 | view.insert = InsertCallback; |
| 1314 | view.remove = RemoveCallback; |
| 1315 | view.getModification = GetModificationCallback; |
| 1316 | view.isValidOffset = IsValidOffsetCallback; |
| 1317 | view.isOffsetReadable = IsOffsetReadableCallback; |
| 1318 | view.isOffsetWritable = IsOffsetWritableCallback; |
| 1319 | view.isOffsetExecutable = IsOffsetExecutableCallback; |
| 1320 | view.isOffsetBackedByFile = IsOffsetBackedByFileCallback; |
| 1321 | view.getNextValidOffset = GetNextValidOffsetCallback; |
| 1322 | view.getStart = GetStartCallback; |
| 1323 | view.getLength = GetLengthCallback; |
| 1324 | view.getEntryPoint = GetEntryPointCallback; |
| 1325 | view.isExecutable = IsExecutableCallback; |
| 1326 | view.getDefaultEndianness = GetDefaultEndiannessCallback; |
| 1327 | view.isRelocatable = IsRelocatableCallback; |
| 1328 | view.getAddressSize = GetAddressSizeCallback; |
| 1329 | view.save = SaveCallback; |
| 1330 | m_file = file; |
| 1331 | AddRefForRegistration(); |
| 1332 | m_object = BNCreateCustomBinaryView( |
| 1333 | typeName.c_str(), m_file->GetObject(), parentView ? parentView->GetObject() : nullptr, &view); |
| 1334 | m_memoryMap = std::make_unique<MemoryMap>(m_object); |
| 1335 | } |
| 1336 | |
| 1337 | |
| 1338 | BinaryView::BinaryView(BNBinaryView* view) |
no test coverage detected