-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Prefer GValue to GIArgument #65
Comments
I talked to the g-golf maintainer, who himself has talked to the GObject Introspection about the duplication between GIArgument and GValue. Apparently they feel there is too much technical debt to do anything about it now, but, they would prefer GIArgument over GValue. |
IIRC the As a solution to this issue, I think we can use |
Given #96, I think I do somewhat understand now, why GObject-Introspection is not based on GValues in this regard. If it were, it would not at all be possible to load a different version of GObject, whereas it seems somewhat possible with GIArguments. Which in a weird way means we're back to square one. I think we should be able to keep most of our GigTypeMeta and GigArgMap however. |
Right now C values are stored in both
GValue
andGIArgument
types, which is not ideal. The use ofGIArgument
types could be reduced:GValue
instances could be general value storage solution for the C side. The use ofGIArgument
instances could be limited to immediately before and after usingg_function_info_invoke
.There was a previous attempt at accomplishing this. The previous attempt was perhaps wrongheaded in its approach. That approach assumed that one of the the two necessary conversions (either from
SCM
toGValue
or fromGValue
toGIArgument
) could be done without reference toGigTypeMeta
information. It tried solve that problem by inventing newGValue
types so that theGValue
toGIArgument
conversion did not requireGigTypeMeta
information. But to pull it off, it had to invent several newGValue
types, which was not ideal.Conceding that
GigTypeMeta
is necessary for bothSCM
toGValue
andGValue
toGIArgument
conversions, we could makeGValue
the standard storage of C values.The text was updated successfully, but these errors were encountered: