<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://alteeve.com/w/index.php?action=history&amp;feed=atom&amp;title=Net%3A%3ADBus%3A%3ABinding%3A%3AConnection_Methods</id>
	<title>Net::DBus::Binding::Connection Methods - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://alteeve.com/w/index.php?action=history&amp;feed=atom&amp;title=Net%3A%3ADBus%3A%3ABinding%3A%3AConnection_Methods"/>
	<link rel="alternate" type="text/html" href="https://alteeve.com/w/index.php?title=Net::DBus::Binding::Connection_Methods&amp;action=history"/>
	<updated>2026-05-15T22:33:41Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://alteeve.com/w/index.php?title=Net::DBus::Binding::Connection_Methods&amp;diff=447&amp;oldid=prev</id>
		<title>Digimer: Created page with &#039;{{dbtut_header}}  = new =  Connect to a remote server specified by the &#039;address&#039;. May also have &#039;private&#039; set to true (1) in which case a private connection is established. Other…&#039;</title>
		<link rel="alternate" type="text/html" href="https://alteeve.com/w/index.php?title=Net::DBus::Binding::Connection_Methods&amp;diff=447&amp;oldid=prev"/>
		<updated>2009-10-12T02:43:52Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;#039;{{dbtut_header}}  = new =  Connect to a remote server specified by the &amp;#039;address&amp;#039;. May also have &amp;#039;private&amp;#039; set to true (1) in which case a private connection is established. Other…&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Páàjì titun&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{dbtut_header}}&lt;br /&gt;
&lt;br /&gt;
= new =&lt;br /&gt;
&lt;br /&gt;
Connect to a remote server specified by the &amp;#039;address&amp;#039;. May also have &amp;#039;private&amp;#039; set to true (1) in which case a private connection is established. Otherwise the connection is shared. If the connection is private, it must be explicitely killed using the &amp;#039;disconnect&amp;#039; method before releasing the last before the last reference is released. Conversely, a shared connection should never have &amp;#039;disconnect&amp;#039; called on it.&lt;br /&gt;
&lt;br /&gt;
A private connection is ...? A shared connection is ...?&lt;br /&gt;
&lt;br /&gt;
Usage;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
my $address=&amp;quot;unix:path=/path/to/socket&amp;quot;;&lt;br /&gt;
my $connection=Net::DBus::Binding::Connection-&amp;gt;new(address =&amp;gt; &amp;quot;$address&amp;quot;);               # Create a shared connection.&lt;br /&gt;
#my $connection=Net::DBus::Binding::Connection-&amp;gt;new(address =&amp;gt; &amp;quot;$address&amp;quot;, private =&amp;gt; 1); # Create a private connection.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
:MADI: Confirm this syntax.&lt;br /&gt;
&lt;br /&gt;
= is_connected =&lt;br /&gt;
&lt;br /&gt;
This takes a connection handle and checks if it is still connected to the server, returning &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;&amp;#039; if so, &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&amp;#039; if not.&lt;br /&gt;
&lt;br /&gt;
Usage;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
my $status=$connection-&amp;gt;is_connected();&lt;br /&gt;
&amp;lt;/perl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= is_authenticated =&lt;br /&gt;
&lt;br /&gt;
This checks if the connection to the server has completed authenticating against the server, returning &amp;#039;1&amp;#039; if so, &amp;#039;0&amp;#039; if not.&lt;br /&gt;
&lt;br /&gt;
Usage;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
my $status=$connection-&amp;gt;is_authenticated();&lt;br /&gt;
:MADI: Would this be used/useful in a &amp;quot;while (!$connection-&amp;gt;is_authenticated()) { &amp;amp;show_progress_bar; }&amp;quot; type method?&lt;br /&gt;
&lt;br /&gt;
= disconnect =&lt;br /&gt;
&lt;br /&gt;
This explicitely disconnects from a remote server. This is automatically called during garbage collection should you forget to call it yourself.&lt;br /&gt;
&lt;br /&gt;
Usage;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
$connection-&amp;gt;disconnect();&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= flush =&lt;br /&gt;
&lt;br /&gt;
This pauses the program until the data in the current outgoing data stream has been sent. This method will not re-enter the application event loop.&lt;br /&gt;
:MADI: What does &amp;quot;not re-enter the application event loop&amp;quot; mean?&lt;br /&gt;
&lt;br /&gt;
Usage;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
$connection-&amp;gt;flush();&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= send =&lt;br /&gt;
&lt;br /&gt;
This queues up a message for delivery on the message bus, returning the serial number of the message for later identifying a reply, if any. This method is asynchronous by nature. If you do not want to proceed until a reply returns, follow this call with a call to the &amp;#039;flush&amp;#039; method.&lt;br /&gt;
&lt;br /&gt;
Usage;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
my $message_serial_number=$connection-&amp;gt;send($message);&lt;br /&gt;
# Do other stuff, not knowing if your message has been sent yet.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
OR&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
my $message_serial_number=$connection-&amp;gt;send($message);&lt;br /&gt;
$connection-&amp;gt;flush();&lt;br /&gt;
# Proceed knowing your message was sent.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= send_with_reply_and_block =&lt;br /&gt;
&lt;br /&gt;
This sends a message and waits for a reply from the remote method before proceeding. The data returned will either be a &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;Net::DBus::Binding::Message::MethodReturn&amp;lt;/span&amp;gt;&amp;#039; or &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;Net::DBus::Binding::Message::Error&amp;lt;/span&amp;gt;&amp;#039; object.&lt;br /&gt;
&lt;br /&gt;
Usage;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
my $message=&amp;quot;what would a valid message be?&amp;quot;;&lt;br /&gt;
my $timeout=300;&lt;br /&gt;
my $reply=$connection-&amp;gt;send_with_reply_and_block($message, $timeout);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
:Is &amp;#039;$timeout&amp;#039; specified as a raw integer representing the number of seconds to wait?&lt;br /&gt;
&lt;br /&gt;
= send_with_reply =&lt;br /&gt;
&lt;br /&gt;
This queues a message for sending and returns a reference to a &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;Net::DBus::Binding::PendingCall&amp;lt;/span&amp;gt;&amp;#039; object which can be used to watch for a reply. This allows you to either wait for a reply or proceed, watching for a matching reply and allowing for asynchronous method processing.&lt;br /&gt;
&lt;br /&gt;
Usage;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
my $pending_call=$connection-&amp;gt;send_with_reply($msg, $timeout);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
:MADI: What would be an example of waiting on this call vs. reacting to the reply later?&lt;br /&gt;
&lt;br /&gt;
= dispatch =&lt;br /&gt;
&lt;br /&gt;
This tells the program to dispatch any messages sitting in the incoming queue to their respective message handlers. This is generally called whenever the main application event loop is triggered by data on the incoming socket.&lt;br /&gt;
&lt;br /&gt;
Usage;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
$connection-&amp;gt;dispatch;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= borrow_message =&lt;br /&gt;
&lt;br /&gt;
This temporarily shifts the first message out of the message queue, making it unavailable to any other thread. Given this, you should replace the message using the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;return_message&amp;lt;/span&amp;gt;&amp;#039; method or permanently remove the message using the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;steal_message&amp;lt;/span&amp;gt;&amp;#039; method as soon as possible.&lt;br /&gt;
&lt;br /&gt;
Usage;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
my $message=$connection-&amp;gt;borrow_message;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= return_message =&lt;br /&gt;
&lt;br /&gt;
This returns a message &amp;quot;borrowed&amp;quot; to the incoming queue that was borrowed via the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;borrow_message&amp;lt;/span&amp;gt;&amp;#039; method. Once returned, the message can be dispatched again to the appropriate message handler.&lt;br /&gt;
&lt;br /&gt;
Usage;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
my $message=$connection-&amp;gt;borrow_message;&lt;br /&gt;
# Do work on the message...&lt;br /&gt;
$connection-&amp;gt;return_message($message);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= steal_message =&lt;br /&gt;
&lt;br /&gt;
This permanently removes a message from the incoming message queue, preventing it from being dispatched to any message handler.&lt;br /&gt;
&lt;br /&gt;
Usage;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
my $message=$connection-&amp;gt;borrow_message;&lt;br /&gt;
# Do work on the message...&lt;br /&gt;
$connection-&amp;gt;steal_message($message);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= pop_message =&lt;br /&gt;
&lt;br /&gt;
This permanently removes the first message from the incoming message queue. This prevents registered message handlers from seeing this message. If you have hooked this connection to an event handler like &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;Net::DBus::Binding::Reactor&amp;lt;/span&amp;gt;&amp;#039; you probably shouldn&amp;#039;t use this method.&lt;br /&gt;
:MADI: Why not? What happens if this is called on connection that has a reactor loop on it?&lt;br /&gt;
&lt;br /&gt;
Usage;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
my $message=$connection-&amp;gt;pop_message();&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= set_watch_callbacks =&lt;br /&gt;
&lt;br /&gt;
This registers a set of methods, as references, that will be called to adding, removing and updating watches in the application&amp;#039;s main event loop. Each method will be called with two parameters; the connection object ($connection) and the watch object (??). If you are using the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;Net::DBus::Binding::Reactor&amp;lt;/span&amp;gt;&amp;#039; object as the event loop, the &amp;#039;manage&amp;#039; method is called on your behalf. &lt;br /&gt;
:MADI: Talk to Daniel about this... I need to understand why/where this would be used better.&lt;br /&gt;
&lt;br /&gt;
Usage;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
$connection-&amp;gt;set_watch_callbacks(\&amp;amp;add_watch, \&amp;amp;remove_watch, \&amp;amp;toggle_watch);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= set_timeout_callbacks =&lt;br /&gt;
&lt;br /&gt;
This registers a set of methods, as references, that will be called to adding, removing and updating timeouts in the application&amp;#039;s main event loop. Each method will be called with two parameters; the connection object (&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$connection&amp;lt;/span&amp;gt;) and the watch object (??). If you are using the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;Net::DBus::Binding::Reactor&amp;lt;/span&amp;gt;&amp;#039; object as the event loop, the &amp;#039;manage&amp;#039; method is called on your behalf. &lt;br /&gt;
&lt;br /&gt;
Usage;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
$connection-&amp;gt;set_timeout_callbacks(\&amp;amp;add_watch, \&amp;amp;remove_watch, \&amp;amp;toggle_watch);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= register_object_path =&lt;br /&gt;
&lt;br /&gt;
This registers a handler for messages whose specific path matches that specified in the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$path&amp;lt;/span&amp;gt;&amp;#039; variable. The supplied code reference is called with two parameters; the connection object that the message was received on (&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$connection&amp;lt;/span&amp;gt;) and the message to be processed, which is a &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;Net::DBus::Binding::Message&amp;lt;/span&amp;gt;&amp;#039; class.&lt;br /&gt;
:MADI: What does &amp;quot;&amp;#039;Net::DBus::Binding::Message&amp;#039; class&amp;quot; mean?&lt;br /&gt;
&lt;br /&gt;
Using TLE-BU as a reference, this would be called when a client successfully connects to the server.&lt;br /&gt;
&lt;br /&gt;
Usage;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
$connection-&amp;gt;register_object_path($path, \&amp;amp;handler);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= unregister_object_path =&lt;br /&gt;
&lt;br /&gt;
This removes a handler associated with a specific &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$path&amp;lt;/span&amp;gt;&amp;#039; from the referenced handler method previously set by the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;register_object_path&amp;lt;/span&amp;gt;&amp;#039; method.&lt;br /&gt;
&lt;br /&gt;
Using TLE-BU as a reference, this would be called when a client disconnects from the server.&lt;br /&gt;
&lt;br /&gt;
Usage;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
$connection-&amp;gt;unregister_object_path($path, \&amp;amp;handler);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= register_fallback =&lt;br /&gt;
&lt;br /&gt;
This registers a handler for messages whose path starts with the path set in the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$path&amp;lt;/span&amp;gt;&amp;#039; variable. The supplied code reference is called with two parameters; the connection object that the message was received on (&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$connection&amp;lt;/span&amp;gt;) and the message to be processed, which is a &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;Net::DBus::Binding::Message&amp;lt;/span&amp;gt;&amp;#039; class.&lt;br /&gt;
&lt;br /&gt;
Think of this method as a &amp;quot;fallback&amp;quot; for messages that don&amp;#039;t specifically match a handler previously defined by the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;register_object_path&amp;lt;/span&amp;gt;&amp;#039; method.&lt;br /&gt;
&lt;br /&gt;
Usage;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
$connection-&amp;gt;register_fallback($path, \&amp;amp;handler);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= set_max_message_size =&lt;br /&gt;
&lt;br /&gt;
This specifies, in [[bytes]], the maximum size that a message can be. Messages larger than this size will be rejected before they can exceed this size.&lt;br /&gt;
&lt;br /&gt;
Usage;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
my $bytes=4096;&lt;br /&gt;
$connection-&amp;gt;set_max_message_size($bytes);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
:MADI: What is a reasonable size to use in this document? Is there a way to set no limit (ie: 0)?&lt;br /&gt;
&lt;br /&gt;
= get_max_message_size =&lt;br /&gt;
&lt;br /&gt;
This reads the maximum size that a message is allowed to be, in [[bytes]].&lt;br /&gt;
&lt;br /&gt;
Usage;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
my $bytes=$connection-&amp;gt;get_max_message_size();&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= set_max_received_size =&lt;br /&gt;
&lt;br /&gt;
This sets the maximum size, in [[bytes]], that the incoming message queue can grow to. Once the messages in the queue are equal to or larger than this size, no more messages will be accepted by the queue until space is freed up by dispatching some messages to their respective handlers.&lt;br /&gt;
&lt;br /&gt;
Please note, this actual size of the data in the queue can exceed this limit. The full contents of the last message to make it into the queue will be stored. If you have a hard limit you cannot exceed, set this value to your maximum size minus the maximum message size as set via the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;set_max_message_size&amp;lt;/span&amp;gt;&amp;#039; method.&lt;br /&gt;
&lt;br /&gt;
Usage;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
my $bytes=1048576;&lt;br /&gt;
$connection-&amp;gt;set_max_received_size($bytes);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
:MADI: What is a reasonable size to use in this document? Is there a way to set no limit (ie: 0)?&lt;br /&gt;
&lt;br /&gt;
= get_max_received_size =&lt;br /&gt;
&lt;br /&gt;
This reads the maximum size of the incoming message queue, as set by the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;set_max_received_size&amp;lt;/span&amp;gt;&amp;#039; method. Please see that method&amp;#039;s notes for an important caveat!&lt;br /&gt;
&lt;br /&gt;
Usage;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
my $bytes=$connection-&amp;gt;get_max_received_size($bytes);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= add_filter =&lt;br /&gt;
&lt;br /&gt;
This takes a reference to a subrouting that acts as a filter on the connection. When a message is received, it is passed to the references subroutine. This expects the referenced subroutine to return only true (&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;) or false (&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;). If true, the message is filtered out of the incoming queue. If false, the message is passed on to the appropriate message handler.&lt;br /&gt;
:MADI: Does the referenced subroutine get passed the usual connection object followed by the message object?&lt;br /&gt;
&lt;br /&gt;
Usage;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
my $coderef=\&amp;amp;filter_messages;&lt;br /&gt;
$connection-&amp;gt;add_filter($coderef);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= make_raw_message =&lt;br /&gt;
&lt;br /&gt;
This creates a new message object based on the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$rawmsg&amp;lt;/span&amp;gt;&amp;#039; parameter using the matching low-level C message object. The returned message will be an appropriate &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;Net::DBus::Binding::Message&amp;lt;/span&amp;gt;&amp;#039; subclass.&lt;br /&gt;
:MADI: Ask Daniel to clarify this.&lt;br /&gt;
&lt;br /&gt;
Usage;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
my $rawmsg=&amp;quot;what are valid options? the typing key words?&amp;quot;;&lt;br /&gt;
my $message=$connection-&amp;gt;make_raw_message($rawmsg);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= make_error_message =&lt;br /&gt;
&lt;br /&gt;
This creates a new message, representing an error which occurred during the handling of a message, represented by the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;replyto&amp;lt;/span&amp;gt;&amp;#039; variable. The &amp;#039;name&amp;#039; is the formal name of the error and the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;description&amp;lt;/span&amp;gt;&amp;#039; is a short bit of plain text describing the error.&lt;br /&gt;
&lt;br /&gt;
Usage;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
my $method_call=&amp;quot;what?&amp;quot;;&lt;br /&gt;
my $name=&amp;quot;what are the valid error names&amp;quot;;&lt;br /&gt;
my $description=&amp;quot;This error is generally the result of ...&amp;quot;;&lt;br /&gt;
my $message=$connection-&amp;gt;make_error_message(&lt;br /&gt;
        replyto     =&amp;gt; $method_call,&lt;br /&gt;
        name        =&amp;gt; $name,&lt;br /&gt;
        description =&amp;gt; $description&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
:MADI: Get examples of valid &amp;#039;method_call&amp;#039; and &amp;#039;name&amp;#039; values.&lt;br /&gt;
&lt;br /&gt;
= make_method_call_message =&lt;br /&gt;
&lt;br /&gt;
Create a message that represents a call (?) on the object located at the path &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$object_path&amp;lt;/span&amp;gt;&amp;#039;. This is performed withing the client owning the well-known (?) service name &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$service_name&amp;lt;/span&amp;gt;&amp;#039;. The method (method) to be invoked has the name &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$method_name&amp;lt;/span&amp;gt;&amp;#039; (remote method or a local coderef?) within the interface specified by the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$interface&amp;lt;/span&amp;gt;&amp;#039; parameter.&lt;br /&gt;
&lt;br /&gt;
Usage;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
my $service_name=&amp;quot;??&amp;quot;;&lt;br /&gt;
my $object_path=&amp;quot;??&amp;quot;;&lt;br /&gt;
my $interface=&amp;quot;??&amp;quot;;&lt;br /&gt;
my $method_name=&amp;quot;??&amp;quot;;&lt;br /&gt;
my $call=$connection-&amp;gt;make_method_call_message($service_name, $object_path, $interface, $method_name);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= make_method_return_message =&lt;br /&gt;
&lt;br /&gt;
Create a message representing a reply to the method call passed in the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;replyto&amp;lt;/span&amp;gt;&amp;#039; variable.&lt;br /&gt;
&lt;br /&gt;
Usage;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
my $method_call=&amp;quot;??&amp;quot;;&lt;br /&gt;
my $message=$connection-&amp;gt;make_method_return_message(replyto =&amp;gt; $method_call);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= make_signal_message =&lt;br /&gt;
&lt;br /&gt;
This prepares a message that will be emitted by the object specified by the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$path&amp;lt;/span&amp;gt;&amp;#039; variable. The signal will have the name specified in the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;signal_name&amp;lt;/span&amp;gt;&amp;#039; variable and will be emitted onto the interface specified by the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;interface&amp;lt;/span&amp;gt;&amp;#039; variable.&lt;br /&gt;
&lt;br /&gt;
Usage;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
my $path=&amp;quot;??&amp;quot;;&lt;br /&gt;
my $interface=&amp;quot;??&amp;quot;;&lt;br /&gt;
my $name=&amp;quot;??&amp;quot;;&lt;br /&gt;
my $signal=$connection-&amp;gt;make_signal_message(&lt;br /&gt;
        object_path =&amp;gt; $path,&lt;br /&gt;
        interface   =&amp;gt; $interface,&lt;br /&gt;
        signal_name =&amp;gt; $name&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{footer}}&lt;/div&gt;</summary>
		<author><name>Digimer</name></author>
	</entry>
</feed>