Phase 5E β Device I/O Abstraction + Parser Routing#3
Open
BOZYILDIZ wants to merge 32 commits into
Open
Conversation
- Setup CMake build system (C++17, Qt6 support) - Create RecoveryEngine base class with interface - Add MainWindow Qt placeholder UI - Configure multi-platform output directories
- Define FileSystemInterface base class - Create FileEntry struct for recovered files - Setup forward declarations for NTFS, APFS, ext4 parsers - Ready for Phase 1 implementation of concrete parsers
- Create unit test suite skeleton with RecoveryEngineTest - Add placeholder tests ready for Phase 1 implementation - Add src/README.md with build and structure documentation - Configure CMake test discovery (CTest integration)
- Implements DeviceIO class for low-level block device operations - Platform-specific implementations: Linux (POSIX), macOS (BSD), Windows (CreateFile) - Automatic filesystem detection: NTFS, APFS, ext4, FAT32, HFS+ - Magic number-based detection with error handling - Device info retrieval: size, sector size, filesystem type - Comprehensive error handling with DeviceIOException
- Bridges DeviceIO with filesystem parsers (NTFS, APFS, ext4) - Automatic filesystem detection and parser routing - Device lifecycle management (open/close) - Error handling and statistics collection - TODO: Full parser integration in Phase 5E+
- 16 test cases covering all DeviceIO functionality - Device open/close operations - Block reading at various offsets - Filesystem detection (NTFS, APFS, ext4, FAT32, HFS+) - Error handling (invalid device, out-of-bounds, null buffer) - Multi-device operation and sequential reads - Platform-specific implementation verification - Target: >80% code coverage
- Comprehensive DEVICE_IO_INTEGRATION.md (396 lines) - Architecture overview and component descriptions - Usage flow examples and error handling guide - Platform-specific implementation details - Performance considerations and optimization tips - Integration patterns for parser upgrades - Phase 5E roadmap and next steps - Updated src/parsers/README.md with Phase 5E section
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
π Description
π― Related Issues
Fixes #
Relates to #
π Type of Change
β Changes Made
π§ͺ Testing
Test Coverage
Test Results
π Documentation
π Security Considerations
π» Checklist
πΈ Screenshots (if applicable)
π Deployment Notes
π€ Author Info
boz/bootstrap(or your feature branch)Thank you for contributing to RecoverySoftNetz! π