-
Notifications
You must be signed in to change notification settings - Fork 188
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ability to use libdbus for client's dbus messaging #147
Conversation
|
So I suppose I should explain that I used systemd because I felt it's api was far more elegant and much easier to use. I also could actually get the damn thing to work, where libdbus seemed to constantly give pain. Given libdbus-1 and systemd are effectively interchangeable in this context (correct?) I think swapping the client lib to libdbus seems fine. We'll have two dbus implementations at once but oh well. If you wanted to PR a swap the daemon to dbus as well wouldn't see that as a bad change either as long as it was cleanly written and thoroughly tested. Just maybe wait a bit - I have one hell of a project cleanup/reorganisation PR incoming... |
|
@mdiluz very cool. I will change this PR to switch the client and then sit tight until your cleanup work is landed! |
|
Also side note: GameMode Tester is very cool. Was wondering if I needed to make the testing code a bit less of a hack because currently it only allows testing if there isn't a portal between the two. This at least helps a ton, but I'll maybe do a PR sometime to refactor testing into something more broadly usable. |
|
@cwilling if the daemon is swapped over too, then yes. Though I think there'll be a little nuance in making sure it's a positive solution for both user and developer experience. |
265bb1b to
325f02a
Compare
Switch the dbus implementation for the client from systemd to libdbus. The main reason is that, in flatpaks systemd is not easily available. No phenomenological change for users of the library, hopefully.
|
I'm happy with doing this for the client library now, looks good to me and I can't see any regressions so I've merged it. Noticed just after merging that you'd marked it as draft though... did you have more planned changes? |
|
Great @aejsmith, looking forward to it. I was going to try it myself although without any previous experience of dbus API. It's definitely better to be done by someone who knows what they're doing :) |
Accidentally left in FeralInteractive#147
Accidentally left in #147
In flatpaks systemd is not available, and thus would need to be build as an extra dependency (see com.valvesoftware.Steam#180). For the GameMode Tester App, I re-implemented the client bits and extracted those into a separate project: gamemode-libdbus. The code from this PR is basically taking from there and adds support for using
libdbus.I am a bit unsure what is the best way to go:
libdbussupport to GameMode (this PR):#ifdef/if ! systemd_dep.found()sprinkled all over the place and two basically different client libs in one code-baselibdbusin GameMode instead of systemdifdef/if-hellWhat do you guys think?