Personally I think we should leave the Win32 API in
ReactOS as is for
backwards compatability but we should encourage (eventually) the writing
of another subsystem for a nice, object-oriented API. The two can co-exist
quite easily.
I actually had a few ideas for this, related to the file system thread a
while ago. One idea was to have object descriptors (classes) as a DLL of
some form, and then have subclasses as actual files or objects.
So an MP3 file would be an object of type mp3file, which would be a subclass
of audiofile, subclass of file, etc.
Bit difficult to explain especially as the design is still incomplete.
But in any case, I feel an object-oriented API would be nicer. This is
however difficult as callbacks for C++ objects are a pain (you can't seem to
pass a pointer to a member function to anything) without doing some sort of
bodged workaround (usually involving lots of little macros...) You could, of
course, have standard OnPaint() OnKeyDown() etc routines, or even have an
event object which gets passed around. But this still has difficulties.