Hi guys,
Sorry for the radio silence, I haven't been very productive in the last
month...
Current status with UI work:
* I've finally got most of my branches in order, only
the merging of jku-dbus-update and jku-single-window is still pending
* jku-dbus-update contains the C glib-dbus wrapper code that's updated
for the new API. It should be complete for Session and Server,
although some changes to the data type helpers (syncevo-dbus-types.h)
may still be coming.
* The same branch has the updates I've done to the GTK client. The
intention is just to reimplement old functionality first.
Syncing, session changes, progress changes and status changes mostly
work, although there are some bugs left. Configuration editing
doesn't
work at all yet, this is waiting for the jku-single-window merging.
The code still has some old code paths still in it, I'll remove them
as I re-implement.
It's really not ready for QA yet, but I believe it will be after this week.
Comments on the api after actually implementing a client: So far it's
been quite a bit more work than the old one. I have to follow several
sessions now (the one currently running and the one I start) and there
are a lot more method calls required to get all the data I need, and
doing them all asynchronously leads to some concurrency trouble... It
seems to do the job alright though -- I've included some open questions
below.
Anyway, I think the rest will be more straightforward: the config
handling should be quite similar than it used to be from my POV.
Some open questions:
* Can I find out if a source is supported on local machine without a
Session? This would be useful so I could show the UI even if another
Session is running.
* Server.GetSessions() is not implemented: was this on purpose?
* If it gets implemented, can I trust that the first one is currently
active?
* syncing seems to make the session inactive (after the sync finishes),
is this as designed?
* I can't seem to get StatusChanged from Session B in this case:
- session A starts syncing
- session B starts
- session A stops syncing, detaches
I expected to get StatusChanged "idle" for B but I don't
I'm currently testing the last case with starting a sync with
"test-syncevo-dbus <server>" (my glib-dbus wrapper test in src/dbus/)
and then starting sync-ui: status_changed_cb() doesn't get called in
this case. I should probably add a flag so I could start several
sync-ui's...
Jussi