Have been working hard to get familiar with the workflow in wine, by
reporting bugs (bug 33542 33550 and 33558) and sending patches (patch
96154 and 96157) to wine. I got more accustomed to the community to
find I like here and I will keep working in wine even after GSoC.

Working progress :

I've concluded that all the registry operations :
*create_key
*delete_key
*delete_value
=enum_key
=enum_value
-flush_key
-get_key_security
-load_key
-notify_change_key_value
=open_key
-override_predef_key
=query_info_key
=query_multipe_values
=query_value
-replace_key
-restore_key
-save_key
-set_key_security
*set_value
-unload_key
[ - operations that are not very important and less used, put them
aside at first ]
[ * operations that change the contents ]
[ = operations that only read contents ]
In my previous tests I found that create_key & delete_key of HKCR
works like simply redirecting to HKCU or HKLM (depending on how their
subkeys conflict). So I guess that all the operations have such
feature. The next thing I need to write tests for :
 - Where does each write-operations redirect to when there's [no
subkey|both subkeys] in HKCU & HKLM.
 - Where does each read-operations redirect to when HKCU & HKLM conflicts.
There is one thing that I can make sur, when it does not conflict in
HKCU & HKLM, operations are redirected to the only one.

Another guess : open_key (including opening from create_key) will be a
special operation, it should not return a handle directly based on
HKCU or HKLM, or further operation on the handle will be treated as
opened directly from the source. So it may be necessary to define a
new type of key handle.

Updated time table:

Start Date      End Date        Event
3rd, May        12th, May       Work on some basic knowledge (bugs, patches,
winedbg debugchannel), learning workflow of wine.
13th, May *     16th, Jun       Write full tests and test reports. Make puzzles
clear. Design the main algorithm.
28th, May       24th, Jul       Implement almost all of the registry merging
feature. Submit as patch and track feedbacks.
25th, Jul       31st, Jul       Finish and submit the Mid-term evaluations.
1st, Aug        31st, Aug       Implement the rest part of our scheme. Apply
changes by patches.
1st, Sep        22th, Sep       Cleanups. Write the final evaluations.
23th, Sep       /       Submit to Google after some modification from the 
mentor.

Note that the 2nd and 3rd part have time intersection beacause I think
each of the two is based on another.

-- 
Regards,
Guo Jian


Reply via email to