<?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%3AObject_Methods</id>
	<title>Net::DBus::Object 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%3AObject_Methods"/>
	<link rel="alternate" type="text/html" href="https://alteeve.com/w/index.php?title=Net::DBus::Object_Methods&amp;action=history"/>
	<updated>2026-04-07T23:22:43Z</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::Object_Methods&amp;diff=457&amp;oldid=prev</id>
		<title>Digimer at 02:58, 12 October 2009</title>
		<link rel="alternate" type="text/html" href="https://alteeve.com/w/index.php?title=Net::DBus::Object_Methods&amp;diff=457&amp;oldid=prev"/>
		<updated>2009-10-12T02:58:59Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 02:58, 12 October 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l19&quot;&gt;Line 19:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 19:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;my $service=$bus-&amp;gt;export_service(&amp;quot;org.demo.Hello&amp;quot;);&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;my $service=$bus-&amp;gt;export_service(&amp;quot;org.demo.Hello&amp;quot;);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;amp;nbsp;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= new =&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= new =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key an_wiki-mediawiki-:diff:1.41:old-456:rev-457:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Digimer</name></author>
	</entry>
	<entry>
		<id>https://alteeve.com/w/index.php?title=Net::DBus::Object_Methods&amp;diff=456&amp;oldid=prev</id>
		<title>Digimer: Created page with &#039;{{dbtut_header}}  If the environment variable &#039;&lt;span class=&quot;code&quot;&gt;DBUS_DISABLE_INTROSPECT&lt;/span&gt;&#039; is set, then introspection will be disabled.  The following methods are defined;…&#039;</title>
		<link rel="alternate" type="text/html" href="https://alteeve.com/w/index.php?title=Net::DBus::Object_Methods&amp;diff=456&amp;oldid=prev"/>
		<updated>2009-10-12T02:58:34Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;#039;{{dbtut_header}}  If the environment variable &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;DBUS_DISABLE_INTROSPECT&amp;lt;/span&amp;gt;&amp;#039; is set, then introspection will be disabled.  The following methods are defined;…&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;
If the environment variable &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;DBUS_DISABLE_INTROSPECT&amp;lt;/span&amp;gt;&amp;#039; is set, then introspection will be disabled.&lt;br /&gt;
&lt;br /&gt;
The following methods are defined;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
use Net::DBus::Exporter &amp;quot;org.freedesktop.DBus.Introspectable&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
dbus_method(&amp;quot;Introspect&amp;quot;, [], [&amp;quot;string&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
dbus_method(&amp;quot;Get&amp;quot;, [&amp;quot;string&amp;quot;, &amp;quot;string&amp;quot;], [[&amp;quot;variant&amp;quot;]], &amp;quot;org.freedesktop.DBus.Properties&amp;quot;);&lt;br /&gt;
dbus_method(&amp;quot;Set&amp;quot;, [&amp;quot;string&amp;quot;, &amp;quot;string&amp;quot;, [&amp;quot;variant&amp;quot;]], [], &amp;quot;org.freedesktop.DBus.Properties&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
use Net::DBus;&lt;br /&gt;
my $bus=Net::DBus-&amp;gt;find;&lt;br /&gt;
my $service=$bus-&amp;gt;export_service(&amp;quot;org.demo.Hello&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= new =&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;/org/demo/SaySomething&amp;quot;;&lt;br /&gt;
my $object=Net::DBus::Object-&amp;gt;new($service, $path);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a new &amp;#039;&amp;lt;span class=&amp;quot;perl&amp;quot;&amp;gt;$object&amp;lt;/span&amp;gt;&amp;#039; registered withing the &amp;#039;&amp;lt;span class=&amp;quot;perl&amp;quot;&amp;gt;$service&amp;lt;/span&amp;gt;&amp;#039; and available at the defined &amp;#039;&amp;lt;span class=&amp;quot;perl&amp;quot;&amp;gt;$path&amp;lt;/span&amp;gt;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
= disconnect =&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;$object-&amp;gt;disconnect();&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This disconnects the &amp;#039;&amp;lt;span class=&amp;quot;perl&amp;quot;&amp;gt;$object&amp;lt;/span&amp;gt;&amp;#039; and recursively disconnect all child objects from the message bus. This allows new objects to be connected in place of the disconnected one(s).&lt;br /&gt;
&lt;br /&gt;
= is_connected =&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;my $check_connection=$object-&amp;gt;is_connected;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This simply checks if the &amp;#039;&amp;lt;span class=&amp;quot;perl&amp;quot;&amp;gt;$object&amp;lt;/span&amp;gt;&amp;#039; is still connected to the message bus. It returns &amp;#039;&amp;lt;span class=&amp;quot;perl&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;&amp;#039; if it is, &amp;#039;&amp;lt;span class=&amp;quot;perl&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&amp;#039; if not.&lt;br /&gt;
&lt;br /&gt;
= get_service =&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;my $service=$object-&amp;gt;get_service&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This returns the &amp;#039;&amp;lt;span class=&amp;quot;perl&amp;quot;&amp;gt;Net::DBus::Service&amp;lt;/span&amp;gt;&amp;#039; &amp;#039;&amp;lt;span class=&amp;quot;perl&amp;quot;&amp;gt;$service&amp;lt;/span&amp;gt;&amp;#039; handle that this object is exported under.&lt;br /&gt;
&lt;br /&gt;
= get_object_path =&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;my $path=$object-&amp;gt;get_object_path;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This returns the &amp;#039;&amp;lt;span class=&amp;quot;perl&amp;quot;&amp;gt;$path&amp;lt;/span&amp;gt;&amp;#039; name used to export the &amp;lt;span class=&amp;quot;perl&amp;quot;&amp;gt;$object&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
= emit_signal_in =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
my $name=&amp;quot;Greeter&amp;quot;;                       # The name of the method.&lt;br /&gt;
my $interface=&amp;quot;org.example.demo.Greeter&amp;quot;; # If set, the signal will be emitted only within this interface.&lt;br /&gt;
my $client=&amp;quot;&amp;quot;;                            # If set, the signal will be emitted only to this client.&lt;br /&gt;
my @args=(&amp;quot;Just saying hello.&amp;quot;);          # This must match the arguments defined when &amp;#039;dbus_signal&amp;#039; was called for this signal.&lt;br /&gt;
$object-&amp;gt;emit_signal_in($name, $interface, $client, @args);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This emits a signal from the &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$object&amp;lt;/span&amp;gt;&amp;#039;s method named &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$name&amp;lt;/span&amp;gt;&amp;#039;. Optionally, you can specify an &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$interface&amp;lt;/span&amp;gt;&amp;#039; to emit the signal within. Also optionally, you can specify a &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$client&amp;lt;/span&amp;gt;&amp;#039; to have the signal unicast to.&lt;br /&gt;
&lt;br /&gt;
This method must have been previously exported using the [[Net::DBus::Exporter_Methods#dbus_signal|Net::DBus::Exporter-&amp;gt;dbus_signal]] method. &lt;br /&gt;
&lt;br /&gt;
= emit_signal_to =&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 $name=&amp;quot;Greeter&amp;quot;;                       # The name of the method.&lt;br /&gt;
my $client=&amp;quot;&amp;quot;;                            # The client whom the signal will be emitted to.&lt;br /&gt;
my @args=(&amp;quot;Just saying hello.&amp;quot;);          # This must match the arguments defined when &amp;#039;dbus_signal&amp;#039; was called for this signal.&lt;br /&gt;
$object-&amp;gt;emit_signal_to($name, $client, @args);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Like the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;emit_signal_in&amp;lt;/span&amp;gt;&amp;#039; method, this emits a signal. However, this method will explicitely emit a signal to the specified &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$client&amp;lt;/span&amp;gt;&amp;#039;. You can not use this method if a given signal is available on more than one interface. In this case, use &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;emit_signal_in&amp;lt;/span&amp;gt;&amp;#039; with a defined interface instead.&lt;br /&gt;
&lt;br /&gt;
= emit_signal =&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 $name=&amp;quot;Greeter&amp;quot;;                       # The name of the method.&lt;br /&gt;
my @args=(&amp;quot;Just saying hello.&amp;quot;);          # This must match the arguments defined when &amp;#039;dbus_signal&amp;#039; was called for this signal.&lt;br /&gt;
$object-&amp;gt;emit_signal($name, @args);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This method emits a signal from the &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$object&amp;lt;/span&amp;gt;&amp;#039;s method with the given &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$name&amp;lt;/span&amp;gt;&amp;#039;. Unlike &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;emit_signal_to&amp;lt;/span&amp;gt;&amp;#039;, no specific interface can be defined. Also, unlike either &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;emit_signal_in&amp;lt;/span&amp;gt;&amp;#039; or &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;emit_signal_in&amp;lt;/span&amp;gt;&amp;#039;, no specific client can be defined.&lt;br /&gt;
&lt;br /&gt;
= connect_to_signal_in =&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 $name=&amp;quot;Greeter&amp;quot;;                       # The name of the method.&lt;br /&gt;
my $interface=&amp;quot;org.example.demo.Greeter&amp;quot;; # If set, the signal will be emitted only within this interface.&lt;br /&gt;
$object-&amp;gt;connect_to_signal_in($name, $interface, \&amp;amp;some_function);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This connects a subroutine to the object &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$object&amp;lt;/span&amp;gt;&amp;#039; that is called whenever the signal with the given &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$name&amp;lt;/span&amp;gt;&amp;#039; is emitted. The code referenced is passed the data emitted by the signal. You can define the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$interface&amp;lt;/span&amp;gt;&amp;#039; to use when there are more than one interface with a signal of the given name.&lt;br /&gt;
&lt;br /&gt;
= connect_to_signal =&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 $name=&amp;quot;Greeter&amp;quot;;                       # The name of the method.&lt;br /&gt;
$object-&amp;gt;connect_to_signal($name, \&amp;amp;some_function);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This connects a subroutine to the object &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$object&amp;lt;/span&amp;gt;&amp;#039; that is called whenever the signal with the given &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$name&amp;lt;/span&amp;gt;&amp;#039; is emitted. The code referenced is passed the data emitted by the signal. This method does not allow an interface to be defined, and this can not be used when multiple interfaces in the &amp;#039;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;$object&amp;lt;/span&amp;gt;&amp;#039; share the same signal name.&lt;br /&gt;
&lt;br /&gt;
{{footer}}&lt;/div&gt;</summary>
		<author><name>Digimer</name></author>
	</entry>
</feed>