Functions that should be static

Christian Costa titan.costa at wanadoo.fr
Sat Dec 20 09:01:09 CST 2008


Francois Gouget a écrit :
> On Thu, 18 Dec 2008, Christian Costa wrote:
> [...]
>   
>> For 1) Why not adding a keyword to mark these functions. Something like 
>> WINAPI which resolve to nothing but that can be tracked by your script.
>>     
>
> We could potentially go this way if I merge these checks with 
> winapi_check one day. But for now I prefer not to touch Wine's code. 
> Besides there's really only about a handful of these.
>
>   
>> I would add another item for more object oriented stuff. Some default 
>> implentations can be written but not always used.
>> This is sort of templates. This is used in quartz for example.
>>     
>
> Do you have a specific example of this?
>
>   
If you have a class A (with methods implemented in file 1) that inherits 
from another class B (methods in file B).
The class A may overrides some methods of B which may become unused if B 
is never instanciated and B methods not reused.
They wil be tracked by your script then.
We could make these functions static or worst remove then but from 
object programming pov is not good.
Implement objects or interfaces in C is a little messy. Haven't 
something more consistent would be more convenient I think.
That would we good if we could treat a class as a whole rather that just 
independants C functions.

That said, in quartz only pins use that currently (maybe more base 
classes could be written like what's done in Direct Show base classes 
(through strmbase.lib)).
And if we move that code to a separate static lib (strmbase like in 
DirectShow), functions will be exported and the problem will  disappear.
Maybe it isn't worth the trouble.

Christian





More information about the wine-devel mailing list