diff --git a/dserial-cli/src/dbus-serial-client.vala b/dserial-cli/src/dbus-serial-client.vala index fef765d6983af7be6afef6198db8e150cc83fc8e..8be8bb934d862a2f75b67514767e7e5b21141846 100644 --- a/dserial-cli/src/dbus-serial-client.vala +++ b/dserial-cli/src/dbus-serial-client.vala @@ -24,6 +24,8 @@ namespace Serial { [DBus (name = "info.skorepa.DSerial1.port")] private interface Methods : GLib.Object { + [DBus (name = "Write")] + public abstract void write_sync(uint8[] msg) throws IOError; public abstract async void write(uint8[] msg) throws IOError; public abstract void open() throws IOError; public abstract void close() throws IOError; @@ -304,8 +306,11 @@ public class SerialClient : GLib.Object { /*===================================== * Message sender *=====================================*/ - public void write(uint8[] msg) { - methods.write.begin(msg,()=>{}); + public void write(uint8[] msg, bool asynchronous = false) { + if(asynchronous) methods.write.begin(msg,()=>{}); + else try { + methods.write_sync(msg); + } catch (Error e) {} } /*=====================================