logo top
Main Page   glibmm Namespaces   Book  

Gio::SrvTarget Class Reference

DNS SRV record target. More...

List of all members.

Public Member Functions

 SrvTarget ()
 SrvTarget (GSrvTarget* gobject, bool make_a_copy=true)
 SrvTarget (const SrvTarget& other)
SrvTargetoperator= (const SrvTarget& other)
 ~SrvTarget ()
void swap (SrvTarget& other)
GSrvTarget* gobj ()
 Provides access to the underlying C instance.
const GSrvTarget* gobj () const
 Provides access to the underlying C instance.
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.
 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.
guint16 get_port () const
 Gets target's port.
guint16 get_priority () const
 Gets target's priority.
guint16 get_weight () const
 Gets target's weight.

Protected Attributes

GSrvTarget* gobject_

Related Functions

(Note that these are not member functions.)

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


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.


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 (  ) 

Gio::SrvTarget::SrvTarget ( const Glib::ustring hostname,
guint16  port,
guint16  priority,
guint16  weight 
)


Member Function Documentation

SrvTarget& Gio::SrvTarget::operator= ( const SrvTarget other  ) 

void Gio::SrvTarget::swap ( SrvTarget other  ) 

Referenced by swap().

GSrvTarget* Gio::SrvTarget::gobj (  )  [inline]

Provides access to the underlying C instance.

References gobject_.

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

Provides access to the underlying C instance.

References gobject_.

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.

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.

)

Returns:
target's hostname
.

guint16 Gio::SrvTarget::get_port (  )  const

Gets target's port.

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.

Returns:
target's priority
.

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.

Returns:
target's weight
.


Friends And Related Function Documentation

void swap ( SrvTarget lhs,
SrvTarget rhs 
) [related]

Parameters:
lhs The left-hand side
rhs The right-hand side

References swap(), and swap().

Gio::SrvTarget wrap ( GSrvTarget *  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.


Member Data Documentation

GSrvTarget* Gio::SrvTarget::gobject_ [protected]

Referenced by gobj().


The documentation for this class was generated from the following file:

Generated for glibmm 2.4 by Doxygen 1.5.6 © 1997-2001