May I add some midl generated files into svn? (like we do with flex and bison) Lack of features in widl is a great stopper to ReactOS development. Actually, I can't do anything with event logging api because of widl. I want to inplment some rpcss functionality, but widl stops me from doing this.
Saveliy Tretiakov wrote:
May I add some midl generated files into svn? (like we do with flex and bison) Lack of features in widl is a great stopper to ReactOS development. Actually, I can't do anything with event logging api because of widl. I want to inplment some rpcss functionality, but widl stops me from doing this.
I'm for it (as long as the .idl file also is saved in the repository) for the same reason. I wanted to do that with LSA. However, the generated files need quite some adjustments to satisfy GCC, the code is horrible.
- Thomas
Saveliy Tretiakov wrote:
May I add some midl generated files into svn? (like we do with flex and bison) Lack of features in widl is a great stopper to ReactOS development. Actually, I can't do anything with event logging api because of widl. I want to inplment some rpcss functionality, but widl stops me from doing this.
I am against committing MIDL generated files to SVN for the following reasons:
1) The use of MIDL might defer improvements to WIDL.
2) We always need to clean-up the MIDL generated files.
3) Some features missing from WIDL require additional support from rpcrt4.dll. Context handles for example require some not-yet-implemented rpcrt4 functions. Just using MIDL instead of WIDL won't fix this issue.
PS: Saveliy, which WIDL features do you need?
Regards, Eric
Hi.
Eric Kohl wrote:
PS: Saveliy, which WIDL features do you need?
First of all, I need custom and context handles. I planed to implement them in WIDL in a few weeks, but since my clean and working typedef implementation was rejected by wine for unknown reason, all my further widl work became impossible. Now, I think I will start my own project based on widl and implement everything I want. I enjoy hacking widl code and I don't want to stop, only because Rob Shearman doesn't like my patches.
- Some features missing from WIDL require additional support from
rpcrt4.dll. Context handles for example require some not-yet-implemented rpcrt4 functions. Just using MIDL instead of WIDL won't fix this issue.
Hm, yes, I forget about it. If so, I will try to implement context handles in rpcrt4 too. Don't want to wait for years till someone else does it :)
Saveliy Tretiakov wrote:
First of all, I need custom and context handles. I planed to implement them in WIDL in a few weeks, but since my clean and working typedef implementation was rejected by wine for unknown reason, all my further widl work became impossible. Now, I think I will start my own project based on widl and implement everything I want. I enjoy hacking widl code and I don't want to stop, only because Rob Shearman doesn't like my patches.
It seems we tried to add the same features. I did some work on the typedef, custom and context handles issues too but I didn't have enought time to finish any of these. ;-) I guess we should combine our effort as soon as I am done with porting the ReactOS-WIDL stuff to WINE.
I think you should post your typedef patch the patches list. It is not up to Robert to decide which patch goes into the tree and which patch doesn't. That Alexandre's job.
- Some features missing from WIDL require additional support from
rpcrt4.dll. Context handles for example require some not-yet-implemented rpcrt4 functions. Just using MIDL instead of WIDL won't fix this issue.
Hm, yes, I forget about it. If so, I will try to implement context handles in rpcrt4 too. Don't want to wait for years till someone else does it :)
The rpcrt4 functions NDRCContextMarshall, NDRCContextUnmarshall, NDRSContextMarshall and NDRSContextUnmarshall must be implemented because MIDL generates calls to these functions.
Regards, Eric
Eric Kohl wrote:
It seems we tried to add the same features. I did some work on the typedef, custom and context handles issues too but I didn't have enought time to finish any of these. ;-) I guess we should combine our effort as soon as I am done with porting the ReactOS-WIDL stuff to WINE.
Ok! And how much is not finnished in it btw?
I think you should post your typedef patch the patches list. It is not up to Robert to decide which patch goes into the tree and which patch doesn't. That Alexandre's job.
Ok, I'll send it.
The rpcrt4 functions NDRCContextMarshall, NDRCContextUnmarshall, NDRSContextMarshall and NDRSContextUnmarshall must be implemented because MIDL generates calls to these functions.
Even more. Midl client calls NDRCContextBinding, NdrClientContextMarshall, NdrClientContextUnmarshall. Server calls NdrServerContextNewMarshall, NdrServerContextNewUnmarshall, NdrContextHandleInitialize, NDRSContextValue.
Saveliy Tretiakov wrote:
It seems we tried to add the same features. I did some work on the typedef, custom and context handles issues too but I didn't have enought time to finish any of these. ;-) I guess we should combine our effort as soon as I am done with porting the ReactOS-WIDL stuff to WINE.
Ok! And how much is not finnished in it btw?
I dropped the code because I didn't have the time to finish it. Implementing these features is pretty easy as soon as typedefs are supported properly.
Eric