Jacob Schmidt ab68dcc79b
Some checks failed
Build / build (push) Failing after 1m18s
feat(native): Enhance native interop and client API
This commit introduces several enhancements to the native interop layer and the client API, focusing on improved data handling and memory management.

- Modified `ListRange` and `HashGetAll` to return `StringArray` and `Dictionary` structures respectively, instead of newline-delimited strings. This change provides more structured data to native clients and avoids the need for manual parsing.
- Added `ListLength` to retrieve the length of a list.
- Introduced `NativeStringList` and `NativeDictionary` structures for interop, along with marshalling and unmarshalling methods (`MarshalStringList`, `MarshalDictionary`, `NativeFreeStringList`, `NativeFreeDictionary`) to facilitate data exchange between C# and native code.
- Updated the `firefly.h` header file with C header definitions for the new structures and functions.
- Changed access modifiers of several methods in `StringOperations.cs`, `HashOperations.cs`, `ListOperations.cs` and `FireflyClient.cs` to private.
- Updated documentation to reflect the API changes.
- Updated the command-line interface to use more modern C# syntax.

These changes improve the usability and efficiency of the Firefly client for native applications, while also improving the internal code structure.
2025-04-13 16:48:44 -05:00
..