# Gio::NetworkService Class Reference
[Portable Network I/O Functionality]

A GSocketConnectable for resolving SRV records. More...

`#include <giomm/networkservice.h>`

Inheritance diagram for Gio::NetworkService:
[legend]

List of all members.

## Public Member Functions

virtual | ~NetworkService ()
GNetworkService* | gobj ()
| Provides access to the underlying C GObject.
const GNetworkService* | gobj () const
| Provides access to the underlying C GObject.
GNetworkService* | gobj_copy ()
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
Glib::ustring | get_service () const
| Gets srv's service name (eg, "ldap").
Glib::ustring | get_protocol () const
| Gets srv's protocol name (eg, "tcp").
Glib::ustring | get_domain () const
| Gets the domain that srv serves.
Glib::PropertyProxy_ReadOnly < Glib::ustring > | property_domain () const
| Network domain.
Glib::PropertyProxy_ReadOnly < Glib::ustring > | property_protocol () const
| Network protocol.
Glib::PropertyProxy_ReadOnly < Glib::ustring > | property_service () const
| Service name.

## Static Public Member Functions

static Glib::RefPtr < NetworkService > | create (const Glib::ustring& service, const Glib::ustring& protocol, const Glib::ustring& domain)

## Related Functions

(Note that these are not member functions.)
Glib::RefPtr< Gio::NetworkService > | wrap (GNetworkService* object, bool take_copy=false)
| A Glib::wrap() method for this object.

## Detailed Description

A GSocketConnectable for resolving SRV records.

Like NetworkAddress does with hostnames, NetworkService provides an easy way to resolve a SRV record, and then attempt to connect to one of the hosts that implements that service, handling service priority/weighting, multiple IP addresses, and multiple address families.

See SrvTarget for more information about SRV records, and see SocketConnectable for and example of using the connectable interface.

Since glibmm 2.24:

## Constructor & Destructor Documentation

virtual Gio::NetworkService::~NetworkService | ( |  | ) | `[virtual]`

## Member Function Documentation

static Glib::RefPtr<NetworkService> Gio::NetworkService::create | ( | const Glib::ustring& | service,
|  | const Glib::ustring& | protocol,
|  | const Glib::ustring& | domain |
| ) |  |  | `[static]`

Glib::ustring Gio::NetworkService::get_domain | ( |  | ) | const

Gets the domain that srv serves.

This might be either UTF-8 or ASCII-encoded, depending on what srv was created with.

Since glibmm 2.22:

Returns:
  srv's domain name.

Glib::ustring Gio::NetworkService::get_protocol | ( |  | ) | const

Gets srv's protocol name (eg, "tcp").

Since glibmm 2.22:

Returns:
  srv's protocol name.

Glib::ustring Gio::NetworkService::get_service | ( |  | ) | const

Gets srv's service name (eg, "ldap").

Since glibmm 2.22:

Returns:
  srv's service name.

const GNetworkService* Gio::NetworkService::gobj | ( |  | ) | const`[inline]`

Provides access to the underlying C GObject.

Reimplemented from Gio::SocketConnectable.

GNetworkService* Gio::NetworkService::gobj | ( |  | ) | `[inline]`

Provides access to the underlying C GObject.

Reimplemented from Gio::SocketConnectable.

GNetworkService* Gio::NetworkService::gobj_copy | ( |  | ) |

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

Glib::PropertyProxy_ReadOnly<Glib::ustring> Gio::NetworkService::property_domain | ( |  | ) | const

Network domain.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<Glib::ustring> Gio::NetworkService::property_protocol | ( |  | ) | const

Network protocol.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<Glib::ustring> Gio::NetworkService::property_service | ( |  | ) | const

Service name.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

## Friends And Related Function Documentation

Glib::RefPtr< Gio::NetworkService > wrap | ( | GNetworkService * | object,
|  | bool | take_copy = `false` |
| ) |  |  | `[related]`

A Glib::wrap() method for this object.

Parameters:

  | object | The C instance.
  | take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.

Returns:
  A C++ instance that wraps this C instance.