gir.core
gir.core copied to clipboard
Support Out parameters for Records and Classes
Support Out parameters for Records and Classes.
Implementation for both should be similar. This could require heavy refactorings as out parameters inverse the direction of flow similar to return values. Out-Parameters in a callback would double inverse the direction of flow.
One idea would be to have a completely new set of converters for out
datatypes in addition to the currently available converters for "ToNative" / "ToManaged".
Keep in mind that there are already converters for primitive value types, which support out parameters. Those should probably be split up into two converters to align with the new converters for classes / records.
- [ ] TypedOpaqueRecord: Method with out parameter, caller allocates 0, transfer ownership full, optional, allow none (see https://docs.gtk.org/gio/vfunc.MenuAttributeIter.get_next.html)
- [ ] TypedOpaqueRecord: Method with out parameter, caller allocates 0, transfer ownership none, optional, allow none (see https://docs.gtk.org/gio/vfunc.ActionGroup.query_action.html parameter_type)
- [ ] TypedOpaqueRecord: Callback with out parameter, caller allocates 0, transfer ownership full, optional, allow none (see https://docs.gtk.org/gio/vfunc.MenuAttributeIter.get_next.html)
- [ ] TypedOpaqueRecord: Callback with out parameter, caller allocates 0, transfer ownership none, optional, allow none (see https://docs.gtk.org/gio/vfunc.ActionGroup.query_action.html parameter_type)