fixes dbus-launch so the bus goes away when X does (Red Hat Bug #430412)
[platform/upstream/dbus.git] / tools / dbus-send.1
index 6f125c3..4878c3d 100644 (file)
@@ -8,11 +8,12 @@ dbus-send \- Send a message to a message bus
 .SH SYNOPSIS
 .PP
 .B dbus-send
-[\-\-session] [\-\-dest=SERVICE] [\-\-print-reply] <message name> [contents ...]
+[\-\-system | \-\-session] [\-\-dest=NAME] [\-\-print-reply]
+[\-\-type=TYPE] <destination object path> <message name> [contents ...]
 
 .SH DESCRIPTION
 
-The \fIdbus-send\fP command is used to send a message to a D-BUS message
+The \fIdbus-send\fP command is used to send a message to a D-Bus message
 bus. See http://www.freedesktop.org/software/dbus/ for more 
 information about the big picture.
 
@@ -20,48 +21,75 @@ information about the big picture.
 There are two well-known message buses: the systemwide message bus 
 (installed on many systems as the "messagebus" service) and the 
 per-user-login-session message bus (started each time a user logs in).
-\fIdbus-send\fP sends messages to the system bus by default, and 
-to the per-session bus if you specify \-\-session.
+The \-\-system and \-\-session options direct \fIdbus-send\fP to send
+messages to the system or session buses respectively.  If neither is
+specified, \fIdbus-send\fP sends to the session bus.
 
 .PP 
-Nearly all uses of \fIdbus-send\fP must provide the \-\-dest 
-argument which is the name of a service on the bus to send 
-the message to. The other required argument is the name 
-of the message to send. Following arguments are the message 
-contents (message arguments).
+Nearly all uses of \fIdbus-send\fP must provide the \-\-dest argument
+which is the name of a connection on the bus to send the message to. If
+\-\-dest is omitted, no destination is set.
 
 .PP
-The message arguments are given as a type name, a colon, 
-and then the value of the argument. The possible type names 
-are: string, int32, uint32, double, byte, boolean.
-D-BUS supports more types than these, but \fIdbus-send\fP
-does not currently.
+The object path and the name of the message to send must always be
+specified. Following arguments, if any, are the message contents
+(message arguments).  These are given as type-specified values and 
+may include containers (arrays, dicts, and variants) as described below.
+
+.nf
+<contents>   ::= <item> | <container> [ <item> | <container>...]
+<item>       ::= <type>:<value>
+<container>  ::= <array> | <dict> | <variant>
+<array>      ::= array:<type>:<value>[,<value>...] 
+<dict>       ::= dict:<type>:<type>:<key>,<value>[,<key>,<value>...]
+<variant>    ::= variant:<type>:<value>
+<type>       ::= string | int16 | uint 16 | int32 | uint32 | int64 | uint64 | double | byte | boolean | objpath
+.fi
+
+D-Bus supports more types than these, but \fIdbus-send\fP currently
+does not.  Also, \fIdbus-send\fP does not permit empty containers
+or nested containers (e.g. arrays of variants).
 
 .PP
 Here is an example invocation:
 .nf
 
-  dbus-send \-\-dest='org.freedesktop.ExampleService'     \\
-            org.freedesktop.ExampleMessage              \\
-            int32:47 string:'hello world' double:65.32
+  dbus-send \-\-dest=org.freedesktop.ExampleName               \\
+            /org/freedesktop/sample/object/name              \\
+            org.freedesktop.ExampleInterface.ExampleMethod   \\
+            int32:47 string:'hello world' double:65.32       \\
+            array:string:"1st item","next item","last item"  \\
+            dict:string:int32:"one",1,"two",2,"three",3      \\
+            variant:int32:-8                                 \\
+            objpath:/org/freedesktop/sample/object/name 
 
 .fi
 
+Note that the interface is separated from a method or signal 
+name by a dot, though in the actual protocol the interface
+and the interface member are separate fields.
+
 .SH OPTIONS
 The following options are supported:
 .TP
-.I "--dest=SERVICE"
-Specify the service to receive the message.
+.I "--dest=NAME"
+Specify the name of the connection to receive the message.
 .TP
 .I "--print-reply"
 Block for a reply to the message sent, and print any reply received.
 .TP
+.I "--system"
+Send to the system message bus.
+.TP
 .I "--session"
-Use the per-login-session message bus instead of the systemwide bus.
+Send to the session message bus.  (This is the default.)
+.TP
+.I "--type=TYPE"
+Specify "method_call" or "signal" (defaults to "signal").
 
 .SH AUTHOR
 dbus-send was written by Philip Blundell.
 
 .SH BUGS
-Please send bug reports to the D-BUS mailing list or bug tracker,
+Please send bug reports to the D-Bus mailing list or bug tracker,
 see http://www.freedesktop.org/software/dbus/