Commit Graph
34 Commits
Author SHA1 Message Date
Oliver Hamlet de97b90618 Improve Python wrapper error handling
The new libloot-ffi-errors crate is for sharing code between the CXX and PyO3 wrappers.
2025-03-25 22:02:33 +00:00
Oliver Hamlet d71a207c57 Add Python wrapper built using PyO3
It's missing logging integration, specific error types, and the ability to retrieve loaded plugin data.
2025-03-25 22:02:33 +00:00
Oliver Hamlet 4f53341950 Sync with libloot v0.25.5 2025-03-25 22:02:33 +00:00
Oliver Hamlet 327d9935c9 Map C++ exception types 2025-03-25 22:02:33 +00:00
Oliver Hamlet d1757df904 Implement ABI-compatible C++ wrapper
The interface tests have been tweaked slightly to expect different log messages, but that's the only intentional behavioural change.
2025-03-25 22:02:31 +00:00
Oliver Hamlet 3fe91be7e5 Add a C++ wrapper crate using CXX 2025-03-25 22:02:13 +00:00
Oliver Hamlet 567998c159 Fix are_file_paths_equivalent on Windows
Trying to get an exclusive lock on the files was too flaky and also prone to false positives.
2025-03-25 20:56:12 +00:00
Oliver Hamlet ce1742ef54 Add a couple of parameterised fixture tests 2025-03-25 20:56:07 +00:00
Oliver Hamlet 7c9558fd36 Initial translation of libloot into Rust
This should be equivalent to libloot commit 55b341fc6c, except for:

- Error types are incomplete
- Setting a logging callback doesn't work properly
- Serialising metadata to YAML isn't implemented
- Tests are almost entirely missing
- C/C++ FFI doesn't exist
2025-03-25 20:41:00 +00:00