Open
Description
- Rename the class that encapsulates the JNA bindings to something like "CAPI" or "JNAAPI"
- The native library name is currently hardcoded. I guess it should be derived from the target assembly name or from a build config value once automatic builds are supported. Oh it can't be derived from the target assembly because that's not the same as the native one so it must come from a config value. (added in ec19a5c)
- Ensure unsigned integers are handled correctly (see https://www.mkammerer.de/blog/jna-and-unsigned-integers/). NOTE: Tests suggest that everything works properly but I'm still not quite sure if it's correct.
- Fix Nullability of method parameters (potentially also other cases)
- Interfaces (added in bac7635)
- Casting/Type Checking (added in facd687) ToDo: The generic castAs/To functions use Java reflection which obviously is less than ideal. Maybe there's a better way to solve this?
- Implement equality operators for DNObject. NOTE: As per https://kotlinlang.org/docs/operator-overloading.html#equality-and-inequality-operators identity checks (ie. === and !===) cannot be overridden so we can only implement/override equals (==, !=).
- By ref arguments (added in c1acdae)
- Out parameter placeholders (like in Swift) (see
Memory
to allocate a temporary pointer; it's automatically freed when GCed) - Boxing/Unboxing
- Extension methods (added in 3666e8a)
- Arrays (added in 66ecb38)
- Multidimensional Arrays
- Add date conversion extension methods (added in a318373)
- Add Guid/UUID conversion extension methods (added in 54ec1c1)
-
byte[]
/sbyte[]
->UByteArray
/ByteArray
conversions (added in 6929f5a) -
UByteArray
/ByteArray
->byte[]
/sbyte[]
conversions (added in 90ffb44) - Fix override issue (see 4f32c0a and a208fa7; seemingly related to Interfaces and Nullability; worked around for now with Kotlin-specific type/interface type excludes)
- ReadOnlySpanOfByte
- Delegates/Events
- Typealiases to restore namespace hierarchy
- Generate properties and fields as Kotlin properties instead of methods suffixed with _get/_set
- Automatic build support
Activity