On Fri Mar 17 04:41:47 2023 +0000, Mohamad Al-Jaf wrote:
It looks like most of the definitions aren't actually needed. Sure, if it makes review easier for you then I don't mind doing it. I split up the header as much as I could, I hope this is how you wanted it. There wasn't much to add, the forward declarations were sufficient. Yeah, it might be useful to keep them around. I spent a long time working on it so it would be nice to keep it, but perhaps I should first split it up into smaller additions for easier review. In any case, here's a branch of the headers in case you need it in the future: https://gitlab.winehq.org/maljaf/wine/-/commits/WinRT-Core
Yes, thanks a lot.
Yeah, it might be useful to keep them around. I spent a long time working on it so it would be nice to keep it, but perhaps I should first split it up into smaller additions for easier review. In any case, here's a branch of the headers in case you need it in the future: https://gitlab.winehq.org/maljaf/wine/-/commits/WinRT-Core
I can only imagine the time your spent, and thanks for doing that. It may be arguably useful to have them in Wine, but at the same time it's also a lot of additions.
The amount of code that is is the SDK IDL file is quite overwhelming, I don't know if there's any saner way to have them than rewriting everything by hand. They are actually generated from some binary metadata, so maybe we could do that too (but then where to source this metadata is a good question).
An alternative which I thought about was to implement IDL 3.0 syntax, which I believe allows much terser interface / runtimeclass declaration, and would generate the same header output.
Or, somehow, we could make WIDL compatible with the SDK IDL files, and use them directly, but here like with the .winmd metadata, there's the question of how to source it properly.
In any case I'm really not looking forward the time where we'll need to stub or implement all these new interfaces...