
Some checks failed
Build / build (push) Failing after 1m18s
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.