glibmm 2.80.0
Public Member Functions | Static Public Member Functions | Protected Member Functions | Related Functions | List of all members
Gio::InetAddress Class Reference

An IPv4/IPv6 address. More...

#include <giomm/inetaddress.h>

Inheritance diagram for Gio::InetAddress:
Inheritance graph
[legend]

Public Member Functions

 InetAddress (InetAddress && src) noexcept
 
InetAddressoperator= (InetAddress && src) noexcept
 
 ~InetAddress () noexcept override
 
GInetAddress * gobj ()
 Provides access to the underlying C GObject. More...
 
const GInetAddress * gobj () const
 Provides access to the underlying C GObject. More...
 
GInetAddress * gobj_copy ()
 Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...
 
bool address_equal (const Glib::RefPtr< const InetAddress > & other_address) const
 Checks if two InetAddress instances are equal, e.g. the same address. More...
 
const guint8 * to_bytes () const
 Gets the raw binary address data from address. More...
 
Glib::ustring to_string () const
 Converts address to string form. More...
 
SocketFamily get_family () const
 Gets address's family. More...
 
bool get_is_any () const
 Tests whether address is the "any" address for its family. More...
 
bool get_is_link_local () const
 Tests whether address is a link-local address (that is, if it identifies a host on a local network that is not connected to the Internet). More...
 
bool get_is_loopback () const
 Tests whether address is the loopback address for its family. More...
 
bool get_is_mc_global () const
 Tests whether address is a global multicast address. More...
 
bool get_is_mc_link_local () const
 Tests whether address is a link-local multicast address. More...
 
bool get_is_mc_node_local () const
 Tests whether address is a node-local multicast address. More...
 
bool get_is_mc_org_local () const
 Tests whether address is an organization-local multicast address. More...
 
bool get_is_mc_site_local () const
 Tests whether address is a site-local multicast address. More...
 
bool get_is_multicast () const
 Tests whether address is a multicast address. More...
 
bool get_is_site_local () const
 Tests whether address is a site-local address such as 10.0.0.1 (that is, the address identifies a host on a local network that can not be reached directly from the Internet, but which may have outgoing Internet connectivity via a NAT or firewall). More...
 
gsize get_native_size () const
 Gets the size of the native raw binary address for address. More...
 
Glib::PropertyProxy_ReadOnly< void * > property_bytes () const
 The raw address data. More...
 
Glib::PropertyProxy_ReadOnly< SocketFamilyproperty_family () const
 The address family (IPv4 or IPv6). More...
 
Glib::PropertyProxy_ReadOnly< bool > property_is_any () const
 Whether this is the "any" address for its family. More...
 
Glib::PropertyProxy_ReadOnly< bool > property_is_link_local () const
 Whether this is a link-local address. More...
 
Glib::PropertyProxy_ReadOnly< bool > property_is_loopback () const
 Whether this is the loopback address for its family. More...
 
Glib::PropertyProxy_ReadOnly< bool > property_is_mc_global () const
 Whether this is a global multicast address. More...
 
Glib::PropertyProxy_ReadOnly< bool > property_is_mc_link_local () const
 Whether this is a link-local multicast address. More...
 
Glib::PropertyProxy_ReadOnly< bool > property_is_mc_node_local () const
 Whether this is a node-local multicast address. More...
 
Glib::PropertyProxy_ReadOnly< bool > property_is_mc_org_local () const
 Whether this is an organization-local multicast address. More...
 
Glib::PropertyProxy_ReadOnly< bool > property_is_mc_site_local () const
 Whether this is a site-local multicast address. More...
 
Glib::PropertyProxy_ReadOnly< bool > property_is_multicast () const
 Whether this is a multicast address. More...
 
Glib::PropertyProxy_ReadOnly< bool > property_is_site_local () const
 Whether this is a site-local address. More...
 
- Public Member Functions inherited from Glib::Object
 Object (const Object &)=delete
 
Objectoperator= (const Object &)=delete
 
 Object (Object && src) noexcept
 
Objectoperator= (Object && src) noexcept
 
void * get_data (const QueryQuark & key)
 
void set_data (const Quark & key, void *data)
 
void set_data_with_c_callback (const Quark & key, void *data, GDestroyNotify notify)
 
void set_data (const Quark & key, void *data, DestroyNotify notify)
 Prefer set_data_with_c_callback() with a callback with C linkage. More...
 
void remove_data (const QueryQuark & quark)
 
void * steal_data (const QueryQuark & quark)
 
- Public Member Functions inherited from Glib::ObjectBase
 ObjectBase (const ObjectBase &)=delete
 
ObjectBaseoperator= (const ObjectBase &)=delete
 
void set_property_value (const Glib::ustring & property_name, const Glib::ValueBase & value)
 You probably want to use a specific property_*() accessor method instead. More...
 
void get_property_value (const Glib::ustring & property_name, Glib::ValueBase & value) const
 You probably want to use a specific property_*() accessor method instead. More...
 
template<class PropertyType >
void set_property (const Glib::ustring & property_name, const PropertyType & value)
 You probably want to use a specific property_*() accessor method instead. More...
 
template<class PropertyType >
void get_property (const Glib::ustring & property_name, PropertyType & value) const
 You probably want to use a specific property_*() accessor method instead. More...
 
template<class PropertyType >
PropertyType get_property (const Glib::ustring & property_name) const
 You probably want to use a specific property_*() accessor method instead. More...
 
sigc::connection connect_property_changed (const Glib::ustring & property_name, const sigc::slot< void()> & slot)
 You can use the signal_changed() signal of the property proxy instead. More...
 
sigc::connection connect_property_changed (const Glib::ustring & property_name, sigc::slot< void()> && slot)
 You can use the signal_changed() signal of the property proxy instead. More...
 
void freeze_notify ()
 Increases the freeze count on object. More...
 
void thaw_notify ()
 Reverts the effect of a previous call to freeze_notify(). More...
 
virtual void reference () const
 Increment the reference count for this object. More...
 
virtual void unreference () const
 Decrement the reference count for this object. More...
 
GObject * gobj ()
 Provides access to the underlying C GObject. More...
 
const GObject * gobj () const
 Provides access to the underlying C GObject. More...
 
GObject * gobj_copy () const
 Give a ref-ed copy to someone. Use for direct struct access. More...
 

Static Public Member Functions

static GType get_type ()
 Get the GType for this class, for use with the underlying GObject type system. More...
 
static Glib::RefPtr< InetAddresscreate (const Glib::ustring &string)
 
static Glib::RefPtr< InetAddresscreate (const guint8 * bytes, SocketFamily family)
 
static Glib::RefPtr< InetAddresscreate_any (SocketFamily family)
 
static Glib::RefPtr< InetAddresscreate_loopback (SocketFamily family)
 

Protected Member Functions

 InetAddress (const guint8 * bytes, SocketFamily family)
 
- Protected Member Functions inherited from Glib::Object
 Object ()
 
 Object (const Glib::ConstructParams & construct_params)
 
 Object (GObject * castitem)
 
 ~Object () noexcept override
 
- Protected Member Functions inherited from Glib::ObjectBase
 ObjectBase ()
 This default constructor is called implicitly from the constructor of user-derived classes, even if, for instance, Gtk::Button calls a different ObjectBase constructor. More...
 
 ObjectBase (const char * custom_type_name)
 A derived constructor always overrides this choice. More...
 
 ObjectBase (const std::type_info & custom_type_info)
 This constructor is a special feature to allow creation of derived types on the fly, without having to use g_object_new() manually. More...
 
 ObjectBase (ObjectBase && src) noexcept
 
ObjectBaseoperator= (ObjectBase && src) noexcept
 
virtual ~ObjectBase () noexcept=0
 
void initialize (GObject * castitem)
 
void initialize_move (GObject * castitem, Glib::ObjectBase * previous_wrapper)
 

Related Functions

(Note that these are not member functions.)

Glib::RefPtr< Gio::InetAddresswrap (GInetAddress * object, bool take_copy=false)
 A Glib::wrap() method for this object. More...
 

Additional Inherited Members

- Public Types inherited from Glib::Object
using DestroyNotify = void(*)(gpointer data)
 

Detailed Description

An IPv4/IPv6 address.

InetAddress represents an IPv4 or IPv6 internet address. Use Resolver::lookup_by_name() or Resolver::lookup_by_name_async() to look up the InetAddress for a hostname. Use Resolver::lookup_by_address() or Resolver::lookup_by_address_async() to look up the hostname for a InetAddress.

To actually connect to a remote host, you will need a InetSocketAddress (which includes a InetAddress as well as a port number).

Since glibmm 2.24:

Constructor & Destructor Documentation

◆ InetAddress() [1/2]

Gio::InetAddress::InetAddress ( InetAddress &&  src)
noexcept

◆ ~InetAddress()

Gio::InetAddress::~InetAddress ( )
overridenoexcept

◆ InetAddress() [2/2]

Gio::InetAddress::InetAddress ( const guint8 *  bytes,
SocketFamily  family 
)
explicitprotected

Member Function Documentation

◆ address_equal()

bool Gio::InetAddress::address_equal ( const Glib::RefPtr< const InetAddress > &  other_address) const

Checks if two InetAddress instances are equal, e.g. the same address.

Since glibmm 2.30:
Parameters
other_addressAnother InetAddress.
Returns
true if address and other_address are equal, false otherwise.

◆ create() [1/2]

static Glib::RefPtr< InetAddress > Gio::InetAddress::create ( const Glib::ustring string)
static

◆ create() [2/2]

static Glib::RefPtr< InetAddress > Gio::InetAddress::create ( const guint8 *  bytes,
SocketFamily  family 
)
static

◆ create_any()

static Glib::RefPtr< InetAddress > Gio::InetAddress::create_any ( SocketFamily  family)
static

◆ create_loopback()

static Glib::RefPtr< InetAddress > Gio::InetAddress::create_loopback ( SocketFamily  family)
static

◆ get_family()

SocketFamily Gio::InetAddress::get_family ( ) const

Gets address's family.

Since glibmm 2.22:
Returns
address's family.

◆ get_is_any()

bool Gio::InetAddress::get_is_any ( ) const

Tests whether address is the "any" address for its family.

Since glibmm 2.22:
Returns
true if address is the "any" address for its family.

◆ get_is_link_local()

bool Gio::InetAddress::get_is_link_local ( ) const

Tests whether address is a link-local address (that is, if it identifies a host on a local network that is not connected to the Internet).

Since glibmm 2.22:
Returns
true if address is a link-local address.

◆ get_is_loopback()

bool Gio::InetAddress::get_is_loopback ( ) const

Tests whether address is the loopback address for its family.

Since glibmm 2.22:
Returns
true if address is the loopback address for its family.

◆ get_is_mc_global()

bool Gio::InetAddress::get_is_mc_global ( ) const

Tests whether address is a global multicast address.

Since glibmm 2.22:
Returns
true if address is a global multicast address.

◆ get_is_mc_link_local()

bool Gio::InetAddress::get_is_mc_link_local ( ) const

Tests whether address is a link-local multicast address.

Since glibmm 2.22:
Returns
true if address is a link-local multicast address.

◆ get_is_mc_node_local()

bool Gio::InetAddress::get_is_mc_node_local ( ) const

Tests whether address is a node-local multicast address.

Since glibmm 2.22:
Returns
true if address is a node-local multicast address.

◆ get_is_mc_org_local()

bool Gio::InetAddress::get_is_mc_org_local ( ) const

Tests whether address is an organization-local multicast address.

Since glibmm 2.22:
Returns
true if address is an organization-local multicast address.

◆ get_is_mc_site_local()

bool Gio::InetAddress::get_is_mc_site_local ( ) const

Tests whether address is a site-local multicast address.

Since glibmm 2.22:
Returns
true if address is a site-local multicast address.

◆ get_is_multicast()

bool Gio::InetAddress::get_is_multicast ( ) const

Tests whether address is a multicast address.

Since glibmm 2.22:
Returns
true if address is a multicast address.

◆ get_is_site_local()

bool Gio::InetAddress::get_is_site_local ( ) const

Tests whether address is a site-local address such as 10.0.0.1 (that is, the address identifies a host on a local network that can not be reached directly from the Internet, but which may have outgoing Internet connectivity via a NAT or firewall).

Since glibmm 2.22:
Returns
true if address is a site-local address.

◆ get_native_size()

gsize Gio::InetAddress::get_native_size ( ) const

Gets the size of the native raw binary address for address.

This is the size of the data that you get from g_inet_address_to_bytes().

Since glibmm 2.22:
Returns
The number of bytes used for the native version of address.

◆ get_type()

static GType Gio::InetAddress::get_type ( )
static

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

◆ gobj() [1/2]

GInetAddress * Gio::InetAddress::gobj ( )
inline

Provides access to the underlying C GObject.

◆ gobj() [2/2]

const GInetAddress * Gio::InetAddress::gobj ( ) const
inline

Provides access to the underlying C GObject.

◆ gobj_copy()

GInetAddress * Gio::InetAddress::gobj_copy ( )

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

◆ operator=()

InetAddress & Gio::InetAddress::operator= ( InetAddress &&  src)
noexcept

◆ property_bytes()

Glib::PropertyProxy_ReadOnly< void * > Gio::InetAddress::property_bytes ( ) const

The raw address data.

Since glibmm 2.22:
Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

◆ property_family()

Glib::PropertyProxy_ReadOnly< SocketFamily > Gio::InetAddress::property_family ( ) const

The address family (IPv4 or IPv6).

Since glibmm 2.22:

Default value: Gio::SocketFamily::INVALID

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

◆ property_is_any()

Glib::PropertyProxy_ReadOnly< bool > Gio::InetAddress::property_is_any ( ) const

Whether this is the "any" address for its family.

See g_inet_address_get_is_any().

Since glibmm 2.22:

Default value: false

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

◆ property_is_link_local()

Glib::PropertyProxy_ReadOnly< bool > Gio::InetAddress::property_is_link_local ( ) const

Whether this is a link-local address.

See g_inet_address_get_is_link_local().

Since glibmm 2.22:

Default value: false

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

◆ property_is_loopback()

Glib::PropertyProxy_ReadOnly< bool > Gio::InetAddress::property_is_loopback ( ) const

Whether this is the loopback address for its family.

See g_inet_address_get_is_loopback().

Since glibmm 2.22:

Default value: false

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

◆ property_is_mc_global()

Glib::PropertyProxy_ReadOnly< bool > Gio::InetAddress::property_is_mc_global ( ) const

Whether this is a global multicast address.

See g_inet_address_get_is_mc_global().

Since glibmm 2.22:

Default value: false

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

◆ property_is_mc_link_local()

Glib::PropertyProxy_ReadOnly< bool > Gio::InetAddress::property_is_mc_link_local ( ) const

Whether this is a link-local multicast address.

See g_inet_address_get_is_mc_link_local().

Since glibmm 2.22:

Default value: false

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

◆ property_is_mc_node_local()

Glib::PropertyProxy_ReadOnly< bool > Gio::InetAddress::property_is_mc_node_local ( ) const

Whether this is a node-local multicast address.

See g_inet_address_get_is_mc_node_local().

Since glibmm 2.22:

Default value: false

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

◆ property_is_mc_org_local()

Glib::PropertyProxy_ReadOnly< bool > Gio::InetAddress::property_is_mc_org_local ( ) const

Whether this is an organization-local multicast address.

See g_inet_address_get_is_mc_org_local().

Since glibmm 2.22:

Default value: false

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

◆ property_is_mc_site_local()

Glib::PropertyProxy_ReadOnly< bool > Gio::InetAddress::property_is_mc_site_local ( ) const

Whether this is a site-local multicast address.

See g_inet_address_get_is_mc_site_local().

Since glibmm 2.22:

Default value: false

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

◆ property_is_multicast()

Glib::PropertyProxy_ReadOnly< bool > Gio::InetAddress::property_is_multicast ( ) const

Whether this is a multicast address.

See g_inet_address_get_is_multicast().

Since glibmm 2.22:

Default value: false

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

◆ property_is_site_local()

Glib::PropertyProxy_ReadOnly< bool > Gio::InetAddress::property_is_site_local ( ) const

Whether this is a site-local address.

See g_inet_address_get_is_loopback().

Since glibmm 2.22:

Default value: false

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

◆ to_bytes()

const guint8 * Gio::InetAddress::to_bytes ( ) const

Gets the raw binary address data from address.

Since glibmm 2.22:
Returns
A pointer to an internal array of the bytes in address, which should not be modified, stored, or freed. The size of this array can be gotten with g_inet_address_get_native_size().

◆ to_string()

Glib::ustring Gio::InetAddress::to_string ( ) const

Converts address to string form.

Since glibmm 2.22:
Returns
A representation of address as a string, which should be freed after use.

Friends And Related Function Documentation

◆ wrap()

Glib::RefPtr< Gio::InetAddress > wrap ( GInetAddress *  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.