GNetworkService

GNetworkService — A GSocketConnectable for resolving SRV records

Properties

char * domain Read / Write / Construct Only
char * protocol Read / Write / Construct Only
char * scheme Read / Write
char * service Read / Write / Construct Only

Types and Values

Object Hierarchy

    GObject
    ╰── GNetworkService

Implemented Interfaces

GNetworkService implements GSocketConnectable.

Includes

#include <gio/gio.h>

Description

Like GNetworkAddress does with hostnames, GNetworkService 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 GSrvTarget for more information about SRV records, and see GSocketConnectable for an example of using the connectable interface.

Functions

g_network_service_new ()

GSocketConnectable *
g_network_service_new (const gchar *service,
                       const gchar *protocol,
                       const gchar *domain);

Creates a new GNetworkService representing the given service , protocol , and domain . This will initially be unresolved; use the GSocketConnectable interface to resolve it.

Parameters

service

the service type to look up (eg, "ldap")

 

protocol

the networking protocol to use for service (eg, "tcp")

 

domain

the DNS domain to look up the service in

 

Returns

a new GNetworkService.

[transfer full][type GNetworkService]

Since: 2.22


g_network_service_get_service ()

const gchar *
g_network_service_get_service (GNetworkService *srv);

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

Parameters

srv

a GNetworkService

 

Returns

srv 's service name

Since: 2.22


g_network_service_get_protocol ()

const gchar *
g_network_service_get_protocol (GNetworkService *srv);

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

Parameters

srv

a GNetworkService

 

Returns

srv 's protocol name

Since: 2.22


g_network_service_get_domain ()

const gchar *
g_network_service_get_domain (GNetworkService *srv);

Gets the domain that srv serves. This might be either UTF-8 or ASCII-encoded, depending on what srv was created with.

Parameters

srv

a GNetworkService

 

Returns

srv 's domain name

Since: 2.22


g_network_service_get_scheme ()

const gchar *
g_network_service_get_scheme (GNetworkService *srv);

Gets the URI scheme used to resolve proxies. By default, the service name is used as scheme.

Parameters

srv

a GNetworkService

 

Returns

srv 's scheme name

Since: 2.26


g_network_service_set_scheme ()

void
g_network_service_set_scheme (GNetworkService *srv,
                              const gchar *scheme);

Set's the URI scheme used to resolve proxies. By default, the service name is used as scheme.

Parameters

srv

a GNetworkService

 

scheme

a URI scheme

 

Since: 2.26

Types and Values

GNetworkService

typedef struct _GNetworkService GNetworkService;

A GSocketConnectable for resolving a SRV record and connecting to that service.

Property Details

The “domain” property

  “domain”                   char *

Network domain, eg, "example.com".

Owner: GNetworkService

Flags: Read / Write / Construct Only

Default value: NULL


The “protocol” property

  “protocol”                 char *

Network protocol, eg "tcp".

Owner: GNetworkService

Flags: Read / Write / Construct Only

Default value: NULL


The “scheme” property

  “scheme”                   char *

Network scheme (default is to use service).

Owner: GNetworkService

Flags: Read / Write

Default value: NULL


The “service” property

  “service”                  char *

Service name, eg "ldap".

Owner: GNetworkService

Flags: Read / Write / Construct Only

Default value: NULL