glibmm: Gio::SrvTarget Class Reference

DNS SRV record target. More...

#include <giomm/srvtarget.h>

Public Member Functions

 SrvTarget ()
 
 SrvTarget (GSrvTarget* gobject, bool make_a_copy=true)
 
 SrvTarget (const SrvTarget& other)
 
SrvTargetoperator= (const SrvTarget& other)
 
 SrvTarget (SrvTarget&& other) noexcept
 
SrvTargetoperator= (SrvTarget&& other) noexcept
 
 ~SrvTarget () noexcept
 
void swap (SrvTarget& other) noexcept
 
GSrvTarget* gobj ()
 Provides access to the underlying C instance. More...

 
const GSrvTarget* gobj () const
 Provides access to the underlying C instance. More...

 
GSrvTarget* gobj_copy () const
 Provides access to the underlying C instance. The caller is responsible for freeing it. Use when directly setting fields in structs. More...

 
 SrvTarget (const Glib::ustring& hostname, guint16 port, guint16 priority, guint16 weight)
 
Glib::ustring get_hostname () const
 Gets target's hostname (in ASCII form; if you are going to present this to the user, you should use Glib::hostname_is_ascii_encoded() to check if it contains encoded Unicode segments, and use Glib::hostname_to_unicode() to convert it if it does.) More...

 
guint16 get_port () const
 Gets target's port. More...

 
guint16 get_priority () const
 Gets target's priority. More...

 
guint16 get_weight () const
 Gets target's weight. More...

 

Static Public Member Functions

static GType get_type ()
 Get the GType for this class, for use with the underlying GObject type system. More...

 

Protected Attributes

GSrvTarget* gobject_
 

Related Functions

(Note that these are not member functions.)

void swap (SrvTarget& lhs, SrvTarget& rhs) noexcept
 
Gio::SrvTarget wrap (GSrvTarget* object, bool take_copy=false)
 A Glib::wrap() method for this object. More...

 

Detailed Description

DNS SRV record target.

SRV (service) records are used by some network protocols to provide service-specific aliasing and load-balancing. For example, XMPP (Jabber) uses SRV records to locate the XMPP server for a domain; rather than connecting directly to "example.com" or assuming a specific server hostname like "xmpp.example.com", an XMPP client would look up the "xmpp-client" SRV record for "example.com", and then connect to whatever host was pointed to by that record.

You can use Resolver::lookup_service() or Resolver::lookup_service_async() to find the SrvTargets for a given service. However, if you are simply planning to connect to the remote service, you can use NetworkService's SocketConnectable interface and not need to worry about SrvTarget at all.

Since glibmm 2.24:

Constructor & Destructor Documentation

Gio::SrvTarget::SrvTarget ( )
Gio::SrvTarget::SrvTarget ( GSrvTarget *  gobject,
bool  make_a_copy = true 
)
explicit
Gio::SrvTarget::SrvTarget ( const SrvTarget other)
Gio::SrvTarget::SrvTarget ( SrvTarget&&  other)
noexcept
Gio::SrvTarget::~SrvTarget ( )
noexcept
Gio::SrvTarget::SrvTarget ( const Glib::ustring hostname,
guint16  port,
guint16  priority,
guint16  weight 
)

Member Function Documentation

Glib::ustring Gio::SrvTarget::get_hostname ( ) const

Gets target's hostname (in ASCII form; if you are going to present this to the user, you should use Glib::hostname_is_ascii_encoded() to check if it contains encoded Unicode segments, and use Glib::hostname_to_unicode() to convert it if it does.)

Since glibmm 2.22:
Returns
target's hostname.
guint16 Gio::SrvTarget::get_port ( ) const

Gets target's port.

Since glibmm 2.22:
Returns
target's port.
guint16 Gio::SrvTarget::get_priority ( ) const

Gets target's priority.

You should not need to look at this; Resolver already sorts the targets according to the algorithm in RFC 2782.

Since glibmm 2.22:
Returns
target's priority.
static GType Gio::SrvTarget::get_type ( )
static

Get the GType for this class, for use with the underlying GObject type system.

guint16 Gio::SrvTarget::get_weight ( ) const

Gets target's weight.

You should not need to look at this; Resolver already sorts the targets according to the algorithm in RFC 2782.

Since glibmm 2.22:
Returns
target's weight.
GSrvTarget* Gio::SrvTarget::gobj ( )
inline

Provides access to the underlying C instance.

const GSrvTarget* Gio::SrvTarget::gobj ( ) const
inline

Provides access to the underlying C instance.

GSrvTarget* Gio::SrvTarget::gobj_copy ( ) const

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

SrvTarget& Gio::SrvTarget::operator= ( const SrvTarget other)
SrvTarget& Gio::SrvTarget::operator= ( SrvTarget&&  other)
noexcept
void Gio::SrvTarget::swap ( SrvTarget other)
noexcept

Friends And Related Function Documentation

void swap ( SrvTarget lhs,
SrvTarget rhs 
)
related
Parameters
lhsThe left-hand side
rhsThe right-hand side
Gio::SrvTarget wrap ( GSrvTarget *  object,
bool  take_copy = false 
)
related

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

Parameters
objectThe C instance.
take_copyFalse 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.

Member Data Documentation

GSrvTarget* Gio::SrvTarget::gobject_
protected