Script started on Fri 22 Feb 2013 02:50:28 PM CST [rebelsky@church 500] ~/Web/Courses/CS195/2013S/Examples/DBus/gioExample2 $ ex port PS1="$ " $ qdbus :1.0 org.freedesktop.DBus $ dbuqdbus org.freedesktop.DBus / $ qdbus org.freedesktop.DBus / method QString org.freedesktop.DBus.Introspectable.Introspect() method void org.freedesktop.DBus.AddMatch(QString) method QByteArray org.freedesktop.DBus.GetAdtAuditSessionData(QString) method QByteArray org.freedesktop.DBus.GetConnectionSELinuxSecurityContext(QString) method uint org.freedesktop.DBus.GetConnectionUnixProcessID(QString) method uint org.freedesktop.DBus.GetConnectionUnixUser(QString) method QString org.freedesktop.DBus.GetId() method QString org.freedesktop.DBus.GetNameOwner(QString) method QString org.freedesktop.DBus.Hello() method QStringList org.freedesktop.DBus.ListActivatableNames() method QStringList org.freedesktop.DBus.ListNames() method QStringList org.freedesktop.DBus.ListQueuedOwners(QString) signal void org.freedesktop.DBus.NameAcquired(QString) method bool org.freedesktop.DBus.NameHasOwner(QString) signal void org.freedesktop.DBus.NameLost(QString) signal void org.freedesktop.DBus.NameOwnerChanged(QString, QString, QString) method uint org.freedesktop.DBus.ReleaseName(QString) method void org.freedesktop.DBus.ReloadConfig() method void org.freedesktop.DBus.RemoveMatch(QString) method uint org.freedesktop.DBus.RequestName(QString, uint) method uint org.freedesktop.DBus.StartServiceByName(QString, uint) $ qdbus org.freedesktop.DBus / org.freedesktop.DBUs.Introspectable.Introspect  Error: org.freedesktop.DBus.Error.UnknownMethod org.freedesktop.DBus does not understand message Introspect $ qdbus org.freedesktop.DBus / org.freedesktop.DBUs.Introspectable.Introspect  us.Introspectable.Introspect  $ $ ls class5c.txt example2* example2.c Makefile $ ./example2 & [1] 31189 $ qdbus :1.5 org.gtk.GDBus.TestServer :1.6 org.freedesktop.DBus $ qdbus org.freedesktop.DBus / $ qdbus org.freedesktop.DBusorg.gtk.GDBus.TestServer / /org /org/gtk /org/gtk/GDBus /org/gtk/GDBus/TestObject $ qdbus org.gtk.GDBus.TestServer /org/gtk/GDBus/TestObject method QDBusVariant org.freedesktop.DBus.Properties.Get(QString interface_name, QString property_name) method void org.freedesktop.DBus.Properties.Set(QString interface_name, QString property_name, QDBusVariant value) method QString org.freedesktop.DBus.Introspectable.Introspect() method QString org.freedesktop.DBus.Peer.GetMachineId() method void org.freedesktop.DBus.Peer.Ping() property read QString org.gtk.GDBus.TestInterface.Bar property read QString org.gtk.GDBus.TestInterface.FluxCapicitorName property read QString org.gtk.GDBus.TestInterface.Foo property write QString org.gtk.GDBus.TestInterface.OnlyWritable property read QString org.gtk.GDBus.TestInterface.ReadingAlwaysThrowsError property readwrite QString org.gtk.GDBus.TestInterface.Title property readwrite QString org.gtk.GDBus.TestInterface.WritingAlwaysThrowsError method void org.gtk.GDBus.TestInterface.EmitSignal(double speed_in_mph) method void org.gtk.GDBus.TestInterface.GimmeStdout() method QString org.gtk.GDBus.TestInterface.HelloWorld(QString greeting) signal void org.gtk.GDBus.TestInterface.VelocityChanged(double speed_in_mph, QString speed_as_string) $ qdbus org.gtk.GDBus.TestServer /org/gtk/GDBus/TestObject org.gtk.GDBus.TestI nterface.HelloWorld "Hello" You greeted me with 'Hello'. Thanks! $ qdbus org.gtk.GDBus.TestServer /org/gtk/GDBus/TestObject org.gtk.GDBus.TestIn nterface.HelloWorld "Hello""""""G"o"o"d"b"y"e" You greeted me with 'Goodbye'. Thanks! $ qdbus org.gtk.GDBus.TestServer /org/gtk/GDBus/TestObject org.gtk.GDBus.TestIn nterface.HelloWorld "Goodbye"Return Raw" Error: org.gtk.GDBus.SomeErrorName As requested, here's a raw D-Bus error $ hostname church $ gdbus introspect -e -d org.gtk.GDBus.TestServer -o /org/gtk/GDBus/TestObject t bash: gdbus: command not found $ mesc0 [rebelsky@church 500] ~/Web/Courses/CS195/2013S/Examples/DBus/gioExample2 $ me s bash: mes: command not found [rebelsky@church 501] ~/Web/Courses/CS195/2013S/Examples/DBus/gioExample2 $ exit $ mesc1 Adding /glimmer/bin to PATH $ gdbus introspect -e -d org.gtk.GDBus.TestServer -o /org/gtk/GDBus/TestObject t node /org/gtk/GDBus/TestObject { interface org.freedesktop.DBus.Properties { methods: Get(in s interface_name, in s property_name, out v value); GetAll(in s interface_name, out a{sv} properties); Set(in s interface_name, in s property_name, in v value); signals: PropertiesChanged(s interface_name, a{sv} changed_properties, as invalidated_properties); properties: }; interface org.freedesktop.DBus.Introspectable { methods: Introspect(out s xml_data); signals: properties: }; interface org.freedesktop.DBus.Peer { methods: Ping(); GetMachineId(out s machine_uuid); signals: properties: }; @org.gtk.GDBus.Annotation("OnInterface") @org.gtk.GDBus.Annotation("AlsoOnInterface") interface org.gtk.GDBus.TestInterface { methods: @org.gtk.GDBus.Annotation("OnMethod") HelloWorld(in s greeting, out s response); EmitSignal(@org.gtk.GDBus.Annotation("OnArg") in d speed_in_mph); GimmeStdout(); signals: @org.gtk.GDBus.Annotation("Onsignal") VelocityChanged(d speed_in_mph, @org.gtk.GDBus.Annotation("OnArg_NonFirst") s speed_as_string); properties: @org.gtk.GDBus.Annotation("OnProperty") @org.gtk.GDBus.Annotation("OnAnnotation_YesThisIsCrazy") readonly s FluxCapicitorName = 'DeLorean'; readwrite s Title = 'Back To C!'; readonly s ReadingAlwaysThrowsError; readwrite s WritingAlwaysThrowsError = "There's no home like home"; writeonly s OnlyWritable; readonly s Foo = 'Tock'; readonly s Bar = 'Tick'; }; }; $ gdbus introspect -e -d org.gtk.GDBus.TestServer -o /org/gtk/GDBus/TestObject  [1@m[1@o[1@n[1@i[1@t[1@o[1@r Monitoring signals on object /org/gtk/GDBus/TestObject owned by org.gtk.GDBus.TestServer The name org.gtk.GDBus.TestServer is owned by :1.5 /org/gtk/GDBus/TestObject: org.freedesktop.DBus.Properties.PropertiesChanged ('org.gtk.GDBus.TestInterface', {'Foo': <'Tock'>, 'Bar': <'Tick'>}, @as []) /org/gtk/GDBus/TestObject: org.freedesktop.DBus.Properties.PropertiesChanged ('org.gtk.GDBus.TestInterface', {'Foo': <'Tick'>, 'Bar': <'Tock'>}, @as []) /org/gtk/GDBus/TestObject: org.freedesktop.DBus.Properties.PropertiesChanged ('org.gtk.GDBus.TestInterface', {'Foo': <'Tock'>, 'Bar': <'Tick'>}, @as []) /org/gtk/GDBus/TestObject: org.freedesktop.DBus.Properties.PropertiesChanged ('org.gtk.GDBus.TestInterface', {'Foo': <'Tick'>, 'Bar': <'Tock'>}, @as []) /org/gtk/GDBus/TestObject: org.freedesktop.DBus.Properties.PropertiesChanged ('org.gtk.GDBus.TestInterface', {'Foo': <'Tock'>, 'Bar': <'Tick'>}, @as []) /org/gtk/GDBus/TestObject: org.freedesktop.DBus.Properties.PropertiesChanged ('org.gtk.GDBus.TestInterface', {'Foo': <'Tick'>, 'Bar': <'Tock'>}, @as []) /org/gtk/GDBus/TestObject: org.freedesktop.DBus.Properties.PropertiesChanged ('org.gtk.GDBus.TestInterface', {'Foo': <'Tock'>, 'Bar': <'Tick'>}, @as []) /org/gtk/GDBus/TestObject: org.freedesktop.DBus.Properties.PropertiesChanged ('org.gtk.GDBus.TestInterface', {'Foo': <'Tick'>, 'Bar': <'Tock'>}, @as []) /org/gtk/GDBus/TestObject: org.freedesktop.DBus.Properties.PropertiesChanged ('org.gtk.GDBus.TestInterface', {'Foo': <'Tock'>, 'Bar': <'Tick'>}, @as []) ^Z [2]+ Stopped gdbus monitor -e -d org.gtk.GDBus.TestServer -o /org/gtk/GDBus/TestObject $ bg [2]+ gdbus monitor -e -d org.gtk.GDBus.TestServer -o /org/gtk/GDBus/TestObject & $ /org/gtk/GDBus/TestObject: org.freedesktop.DBus.Properties.PropertiesChanged ('org.gtk.GDBus.TestInterface', {'Foo': <'Tick'>, 'Bar': <'Tock'>}, @as []) /org/gtk/GDBus/TestObject: org.freedesktop.DBus.Properties.PropertiesChanged ('org.gtk.GDBus.TestInterface', {'Foo': <'Tock'>, 'Bar': <'Tick'>}, @as []) /org/gtk/GDBus/TestObject: org.freedesktop.DBus.Properties.PropertiesChanged ('org.gtk.GDBus.TestInterface', {'Foo': <'Tick'>, 'Bar': <'Tock'>}, @as []) /org/gtk/GDBus/TestObject: org.freedesktop.DBus.Properties.PropertiesChanged ('org.gtk.GDBus.TestInterface', {'Foo': <'Tock'>, 'Bar': <'Tick'>}, @as []) bggdbus monitor -e -d org.gtk.GDBus.TestServer -o /org/gtk/GDBus/TestObject introspect -e -d org.gtk.GDBus.TestServer -o /org/gtk/GDBus/TestObject mesc1 /org/gtk/GDBus/TestObject: org.freedesktop.DBus.Properties.PropertiesChanged ('org.gtk.GDBus.TestInterface', {'Foo': <'Tick'>, 'Bar': <'Tock'>}, @as []) 0 gdbus introspect -e -d org.gtk.GDBus.TestServer -o /org/gtk/GDBus/TestObject hostname  qdbus org.gtk.GDBus.TestServer /org/gtk/GDBus/TestObject org.gtk.GDBus.TestIn nterface.HelloWorld "Return Raw"/org/gtk/GDBus/TestObject: org.freedesktop.DBus.Properties.PropertiesChanged ('org.gtk.GDBus.TestInterface', {'Foo': <'Tock'>, 'Bar': <'Tick'>}, @as []) Goodbye"/org/gtk/GDBus/TestObject: org.freedesktop.DBus.Properties.PropertiesChanged ('org.gtk.GDBus.TestInterface', {'Foo': <'Tick'>, 'Bar': <'Tock'>}, @as [])   ^C $ /org/gtk/GDBus/TestObject: org.freedesktop.DBus.Properties.PropertiesChanged ('org.gtk.GDBus.TestInterface', {'Foo': <'Tock'>, 'Bar': <'Tick'>}, @as []) /org/gtk/GDBus/TestObject: org.freedesktop.DBus.Properties.PropertiesChanged ('org.gtk.GDBus.TestInterface', {'Foo': <'Tick'>, 'Bar': <'Tock'>}, @as []) /org/gtk/GDBus/TestObject: org.freedesktop.DBus.Properties.PropertiesChanged ('org.gtk.GDBus.TestInterface', {'Foo': <'Tock'>, 'Bar': <'Tick'>}, @as []) /org/gtk/GDBus/TestObject: org.freedesktop.DBus.Properties.PropertiesChanged ('org.gtk.GDBus.TestInterface', {'Foo': <'Tick'>, 'Bar': <'Tock'>}, @as []) /org/gtk/GDBus/TestObject: org.freedesktop.DBus.Properties.PropertiesChanged ('org.gtk.GDBus.TestInterface', {'Foo': <'Tock'>, 'Bar': <'Tick'>}, @as []) /org/gtk/GDBus/TestObject: org.freedesktop.DBus.Properties.PropertiesChanged ('org.gtk.GDBus.TestInterface', {'Foo': <'Tick'>, 'Bar': <'Tock'>}, @as []) /org/gtk/GDBus/TestObject: org.freedesktop.DBus.Properties.PropertiesChanged ('org.gtk.GDBus.TestInterface', {'Foo': <'Tock'>, 'Bar': <'Tick'>}, @as []) /org/gtk/GDBus/TestObject: org.freedesktop.DBus.Properties.PropertiesChanged ('org.gtk.GDBus.TestInterface', {'Foo': <'Tick'>, 'Bar': <'Tock'>}, @as []) /org/gtk/GDBus/TestObject: org.freedesktop.DBus.Properties.PropertiesChanged ('org.gtk.GDBus.TestInterface', {'Foo': <'Tock'>, 'Bar': <'Tick'>}, @as []) /org/gtk/GDBus/TestObject: org.freedesktop.DBus.Properties.PropertiesChanged ('org.gtk.GDBus.TestInterface', {'Foo': <'Tick'>, 'Bar': <'Tock'>}, @as []) /org/gtk/GDBus/TestObject: org.freedesktop.DBus.Properties.PropertiesChanged ('org.gtk.GDBus.TestInterface', {'Foo': <'Tock'>, 'Bar': <'Tick'>}, @as []) /org/gtk/GDBus/TestObject: org.freedesktop.DBus.Properties.PropertiesChanged ('org.gtk.GDBus.TestInterface', {'Foo': <'Tick'>, 'Bar': <'Tock'>}, @as []) $ exit Script done on Fri 22 Feb 2013 03:00:12 PM CST