GSOC Project TSE Week 9

by SR13 | August 5, 2017

Hey there, its Shriraj here! 0/

We are already in week 9 of this 12-week journey of GSoC! Soon about to take the final lap, but wait we have a lot to do before that. This time too I don't have any pics as such to show visible progress, but yeah let's see through words what I managed to do last week. ;P

What I did Last week?

As I told in my last blog, we are currently working to find the appropriate enumeration filters required for safely removable devices, but as that feature is being tested on a standalone console app, I was free to prepare the stobject of ReactOS to welcome the hotplug! And that was perhaps the best thing to do, i.e. to parallelly work on the actual ReactOS code too instead of only concentrating on standalone tests. (which is unexpectedly slow in progress :P)

So first, I understood the idea behind stobject and its csystray. Basically, it uses function pointer mechanism to handle different notification tray modules. Then I added hotplug.cpp and integrated it with stobject for handling the safely remove feature and stubbed the required methods. But simply stubbing the methods didn't felt good to me so I added some code to test the icon and its response too. And it worked fine.

Next, I cleared my doubts regarding the API used for implementing removable devices and understood how WM_DEVICECHANGE notifications et al should be handled. Besides, I also worked to visually understand what Windows does while handling removable devices and tried to figure out how control should flow through our code.

Next week!

I am planning to code the remaining features and figure out the appropriate enumeration with help from my mentor and devs. Plus I want to rectify some serious bugs which might have remained within my earlier modules. Also, we would be getting some flashy new icons for battery and perhaps this hotplug too, thanks to Mr. Jared Smudde ( a.k.a Pi_User5, his nick on ReactOS IRC).

(Spoiler Alert!) Being excited, I already went one step ahead and plugged in the experimental enumeration function which is under test. (Shh.. don't tell this to anyone. XP) Assuming it works, I am coding some features (like showing the icon only when removable devices are present, just like windows) and results look promising. But that's for the next time!

Keep calm, and Stay Tuned!! ;)

#Some Important links to fast track:
  1. List of Milestones and plan
  2. Present history of commits
  3. Code Repository: Phase 3