---
name: "Net::DBus::GLib"
section: "3pm"
platform: "linux"
package: "libnet-dbus-glib-perl"
version: "0.33.0-4+b4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Net::DBus::GLib"
---

# Net::DBus::GLib(3pm)

Perl extension for the DBus GLib bindings

## NAME

Net::DBus::GLib - Perl extension for the DBus GLib bindings

## SYNOPSIS

```
  ####### Attaching to the bus ###########
  use Net::DBus::GLib;
  # Find the most appropriate bus
  my $bus = Net::DBus::GLib->find;
  # ... or explicitly go for the session bus
  my $bus = Net::DBus::GLib->session;
  # .... or explicitly go for the system bus
  my $bus = Net::DBus::GLib->system
```

## DESCRIPTION

Net::DBus::GLib provides an extension to the Net::DBus module allowing integration with the GLib mainloop. To integrate with the main loop, simply get a connection to the bus via the methods in Net::DBus::GLib rather than the usual Net::DBus module. That's it - every other API remains the same.

## EXAMPLE

As an example service using the GLib main loop, assuming that SomeObject inherits from Net::DBus::Service

```
  my $bus = Net::DBus::GLib->session();
  my $service = $bus->export_service("org.designfu.SampleService");
  my $object = SomeObject->new($service);
  Glib::MainLoop->new()->run();
```

And as an example client

```
  my $bus = Net::DBus::GLib->session();
  my $service = $bus->get_service("org.designfu.SampleService");
  my $object = $service->get_object("/SomeObject");
  my $list = $object->HelloWorld("Hello from example-client.pl!");
```

## METHODS

- my $bus = Net::DBus::GLib-\>find(%params);

  Search for the most appropriate bus to connect to and return a connection to it. For details of the heuristics used, consult the method of the same name in `"Net::DBus"`. The `%params` hash may contain an additional entry with a name of `"context"`. This can be a reference to an instance of the `"Glib::MainContext"` object; if omitted, the default GLib context will be used.

- my $bus = Net::DBus::GLib-\>system(%params);

  Return a handle for the system message bus. For further details on this method, consult to the method of the same name in Net::DBus. The `%params` hash may contain an additional entry with a name of `"context"`. This can be a reference to an instance of the `"Glib::MainContext"` object; if omitted, the default GLib context will be used.

- my $bus = Net::DBus::GLib-\>session(%params);

  Return a handle for the session message bus. For further details on this method, consult to the method of the same name in Net::DBus. The `%params` hash may contain an additional entry with a name of `"context"`. This can be a reference to an instance of the `"Glib::MainContext"` object; if omitted, the default GLib context will be used.

## SEE ALSO

Net::DBus, Glib, Glib::MainLoop `"http://dbus.freedesktop.org"`, `"http://gtk.org"`

## AUTHOR

Daniel Berrange \<dan@berrange.com\>

## COPYRIGHT

Copyright 2006-2008 by Daniel Berrange
