OpenW is not dead!
Currently I'm in process of refactoring Wine's message queue. Originally all Wine stuff that I ported was separated to 'client' and 'server' code. And there was a protocol.
One day (when I came across nasty bug with lifetime management) I decided to MERGE client and server code, getting rid of protocol communication.
ATOMs and CLASSes were merged in two days. Message queue is another story, because there are much more code (150+k). (Windowing code is even bigger.)
Anyways, I'm bitting the code every day doing a little progress.
вторник, 6 ноября 2007 г.
вторник, 25 сентября 2007 г.
first window!
OK, after numerous hacks I've managed to get my first window!
Though I still have to do MUCH more work for v0.1...
Though I still have to do MUCH more work for v0.1...
четверг, 13 сентября 2007 г.
progress
I've successfully distilled 'window' part of Wine. For now I can create ATOMs and CLASSes.
I've also implemented some system stuff - Events, Mutexes, Semaphores, WaitFor* functions and Threads.
I thought that I can decouple 'wine' part from 'my' part, but it turned out that 'windows' has relations with 'threads', which are implemented outside of 'wine'. I have to notify 'wine' about thread creation and destruction in order to make windowing work.
This means to hack wine's original process.c and thread.c and make my 'thread.c' with sufficient functionality.
I've also implemented some system stuff - Events, Mutexes, Semaphores, WaitFor* functions and Threads.
I thought that I can decouple 'wine' part from 'my' part, but it turned out that 'windows' has relations with 'threads', which are implemented outside of 'wine'. I have to notify 'wine' about thread creation and destruction in order to make windowing work.
This means to hack wine's original process.c and thread.c and make my 'thread.c' with sufficient functionality.
воскресенье, 26 августа 2007 г.
wine
Well, its 27 of august, and I've got nothing to show no Nokia.
For the last days I've been digging wine source. I decided to use wine source, because wine already implements windowing and messaging stuff correctly. All those validation, handing of different style flags, correct messages at correct times, ect. On the minus side, wine's separation of 'kernel' (wine server) from 'dlls' (user32, kernel32 and the like), and more notably - wine's completeness, in the sense of implemented APIs - all that are very difficult to comprehend, decouple and 'hack'.
Anyways, I think wine is right path to go.
For the last days I've been digging wine source. I decided to use wine source, because wine already implements windowing and messaging stuff correctly. All those validation, handing of different style flags, correct messages at correct times, ect. On the minus side, wine's separation of 'kernel' (wine server) from 'dlls' (user32, kernel32 and the like), and more notably - wine's completeness, in the sense of implemented APIs - all that are very difficult to comprehend, decouple and 'hack'.
Anyways, I think wine is right path to go.
вторник, 14 августа 2007 г.
boost, typename and stuff
I've ported boost's shared_ptr to Symbian. It uses User::LockedInc, LockedDec and SafeInc interlocked functions.
Also I've written those missing typeinfo header. It turned out that pointer returned from typeid() points to stucture with only one data member: pointer to type's name. This is true for WINCW build, I don't know how things are in real device.
Ah, and shared_ptr port was possible because of STLPort port to Symbian by Marco.
Also I've written those missing typeinfo header. It turned out that pointer returned from typeid() points to stucture with only one data member: pointer to type's name. This is true for WINCW build, I don't know how things are in real device.
Ah, and shared_ptr port was possible because of STLPort port to Symbian by Marco.
OpenW news
For the past 3 weeks I've been working on OpenW.
Well...
I guess I will not be able to present anything valuable at the end of August.
But. I'm beginning to like this project, I'm learning alot of new stuff, and there is cool things I can do - like merging WTL with my implementation of WIN32, i.e. WTL will not be implemented ontop of emulated WIN32 C API, but instead will use classes that is used to implement those C API.
Anyhow, progress is as follows: I've implemented basic MessageQueue, and now I'm implementing basic Window class (which uses windowed CCoeControl).
Well...
I guess I will not be able to present anything valuable at the end of August.
But. I'm beginning to like this project, I'm learning alot of new stuff, and there is cool things I can do - like merging WTL with my implementation of WIN32, i.e. WTL will not be implemented ontop of emulated WIN32 C API, but instead will use classes that is used to implement those C API.
Anyhow, progress is as follows: I've implemented basic MessageQueue, and now I'm implementing basic Window class (which uses windowed CCoeControl).
понедельник, 13 августа 2007 г.
Why OpenW?
This project was started to participate in Nokia Open C Challenge.
Originally I wanted to port "Haali reader" - famous free reader for WM. But after I realized how different Symbian UI model is, after discovering all those cleanup stacks, leaves, two-phase constructions, and such, I thought it would be simpler to create wrapper for Win32, than to rewrite all UI and "port" (by rewriting most of) other parts.
Then I thought that there are many Win32 programmers like me, who want to program for Symbian, but do not want to dig that deep. Also it's always nice to have a possibility for "multiplatform" application. Of course, in Symbian you will need to use Symbian-specific classes for telephony, SMS, and all, but still, "core" will be multiplatform.
So I started OpenW.
Originally I wanted to port "Haali reader" - famous free reader for WM. But after I realized how different Symbian UI model is, after discovering all those cleanup stacks, leaves, two-phase constructions, and such, I thought it would be simpler to create wrapper for Win32, than to rewrite all UI and "port" (by rewriting most of) other parts.
Then I thought that there are many Win32 programmers like me, who want to program for Symbian, but do not want to dig that deep. Also it's always nice to have a possibility for "multiplatform" application. Of course, in Symbian you will need to use Symbian-specific classes for telephony, SMS, and all, but still, "core" will be multiplatform.
So I started OpenW.
Подписаться на:
Сообщения (Atom)