Bug 701842

Summary: yast2-dbus-client ignores the return value (needed for systemd)
Product: [openSUSE] openSUSE 12.1 Reporter: Martin Vidner <mvidner>
Component: YaST2Assignee: Ladislav Slezák <lslezak>
Status: RESOLVED FEATURE QA Contact: Jiri Srain <jsrain>
Severity: Normal    
Priority: P5 - None CC: aschnell, fcrozat, locilka
Version: Milestone 1   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Bug Depends on:    
Bug Blocks: 696902    

Description Martin Vidner 2011-06-23 15:32:44 UTC
SCR::Execute(.dbus.system, (method), (arguments)) returns simply true even though it waited for the actual dbus reply

http://svn.opensuse.org/viewvc/yast/trunk/dbus-client/agent-dbus/src/DbusAgent.cc?revision=64177&view=markup#l178 discards the reply that was obtained on line 161

Aditionally, only simple strings and booleans are accepted as arguments. 

The code for full-featured (un)marshalling is already present in yast2-dbus-server.
Comment 1 Arvin Schnell 2011-06-24 08:10:54 UTC
Well, yes. See the warning in DbusAgent.h:

 * aschnell: WARNING: This agent was written in a hurry for exactly one single
 * purpose (acquire global HAL interface lock). Likely use for other commands
 * is not possible but I'm confident the agent can be extended at the
 * sacrifice of changing the API.

Extending the agent to a full-featured dbus client seems like a major task.
Also my experience with dbus is limited to that agent so I'm likely not the
right person to do so.
Comment 2 Martin Vidner 2011-09-01 12:10:19 UTC
I forgot why we reported the bug in the 1st place. Frederic, do we still need a fix?
Comment 3 Frederic Crozat 2011-09-08 12:29:50 UTC
The idea was to be able to retrieve list of systemd service through D-Bus to implement a systemd service editor. And I was told some stuff was missing in the yast2 dbus client code..