glibmm: Gio::InetAddress Class Reference

glibmm 2.86.0

Public Member Functions | Static Public Member Functions | Protected Member Functions | Related Symbols | List of all members
Gio::InetAddress Class Reference
Portable Network I/O Functionality

An IPv4/IPv6 address. More...

`#include <giomm/inetaddress.h>`

Inheritance diagram for Gio::InetAddress:
[legend]

## Public Member Functions
| InetAddress (InetAddress && src) noexcept
InetAddress & | operator= (InetAddress && src) noexcept
| ~InetAddress () noexcept override
GInetAddress * | gobj ()
| Provides access to the underlying C GObject.
const GInetAddress * | gobj () const
| Provides access to the underlying C GObject.
GInetAddress * | gobj_copy ()
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
bool | address_equal (const Glib::RefPtr< const InetAddress > & other_address) const
| Checks if two InetAddress instances are equal, e.g. the same address.
const guint8 * | to_bytes () const
| Gets the raw binary address data from address.
Glib::ustring | to_string () const
| Converts address to string form.
SocketFamily | get_family () const
| Gets address's family.
bool | get_is_any () const
| Tests whether address is the "any" address for its family.
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).
bool | get_is_loopback () const
| Tests whether address is the loopback address for its family.
bool | get_is_mc_global () const
| Tests whether address is a global multicast address.
bool | get_is_mc_link_local () const
| Tests whether address is a link-local multicast address.
bool | get_is_mc_node_local () const
| Tests whether address is a node-local multicast address.
bool | get_is_mc_org_local () const
| Tests whether address is an organization-local multicast address.
bool | get_is_mc_site_local () const
| Tests whether address is a site-local multicast address.
bool | get_is_multicast () const
| Tests whether address is a multicast address.
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).
gsize | get_native_size () const
| Gets the size of the native raw binary address for address.
guint32 | get_scope_id () const
| Gets the value of Gio::InetAddress::property_scope_id().
guint32 | get_flowinfo () const
| Gets the value of Gio::InetAddress::property_flowinfo().
Glib::PropertyProxy_ReadOnly< void * > | property_bytes () const
| The raw address data.
Glib::PropertyProxy_ReadOnly< SocketFamily > | property_family () const
| The address family (IPv4 or IPv6).
Glib::PropertyProxy_ReadOnly< bool > | property_is_any () const
| Whether this is the "any" address for its family.
Glib::PropertyProxy_ReadOnly< bool > | property_is_link_local () const
| Whether this is a link-local address.
Glib::PropertyProxy_ReadOnly< bool > | property_is_loopback () const
| Whether this is the loopback address for its family.
Glib::PropertyProxy_ReadOnly< bool > | property_is_mc_global () const
| Whether this is a global multicast address.
Glib::PropertyProxy_ReadOnly< bool > | property_is_mc_link_local () const
| Whether this is a link-local multicast address.
Glib::PropertyProxy_ReadOnly< bool > | property_is_mc_node_local () const
| Whether this is a node-local multicast address.
Glib::PropertyProxy_ReadOnly< bool > | property_is_mc_org_local () const
| Whether this is an organization-local multicast address.
Glib::PropertyProxy_ReadOnly< bool > | property_is_mc_site_local () const
| Whether this is a site-local multicast address.
Glib::PropertyProxy_ReadOnly< bool > | property_is_multicast () const
| Whether this is a multicast address.
Glib::PropertyProxy_ReadOnly< bool > | property_is_site_local () const
| Whether this is a site-local address.
Glib::PropertyProxy_ReadOnly< guint > | property_flowinfo () const
| The flowinfo for an IPv6 address.
Glib::PropertyProxy_ReadOnly< guint > | property_scope_id () const
| The scope-id for an IPv6 address.
Public Member Functions inherited from Glib::Object
| Object (const Object &)=delete
Object & | operator= (const Object &)=delete
| Object (Object && src) noexcept
Object & | operator= (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.
void | remove_data (const QueryQuark & quark)
void * | steal_data (const QueryQuark & quark)
Public Member Functions inherited from Glib::ObjectBase
| ObjectBase (const ObjectBase &)=delete
ObjectBase & | operator= (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.
void | get_property_value (const Glib::ustring & property_name, Glib::ValueBase & value) const
| You probably want to use a specific property_*() accessor method instead.
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.
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.
template<class PropertyType>
PropertyType | get_property (const Glib::ustring & property_name) const
| You probably want to use a specific property_*() accessor method instead.
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.
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.
void | freeze_notify ()
| Increases the freeze count on object.
void | thaw_notify ()
| Reverts the effect of a previous call to freeze_notify().
virtual void | reference () const
| Increment the reference count for this object.
virtual void | unreference () const
| Decrement the reference count for this object.
GObject * | gobj ()
| Provides access to the underlying C GObject.
const GObject * | gobj () const
| Provides access to the underlying C GObject.
GObject * | gobj_copy () const
| Give a ref-ed copy to someone. Use for direct struct access.

## Static Public Member Functions
static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system.
static Glib::RefPtr< InetAddress > | create (const Glib::ustring & string)
static Glib::RefPtr< InetAddress > | create (const guint8 * bytes, SocketFamily family)
static Glib::RefPtr< InetAddress > | create (const guint8 * bytes, SocketFamily family, guint32 flowinfo, guint32 scope_id)
| Creates a new Gio::InetAddress from the given `family`, `bytes` and `scope_id`.
static Glib::RefPtr< InetAddress > | create_any (SocketFamily family)
static Glib::RefPtr< InetAddress > | create_loopback (SocketFamily family)

## Protected Member Functions
| InetAddress (const guint8 * bytes, SocketFamily family)
| InetAddress (const guint8 * bytes, SocketFamily family, guint32 flowinfo, guint32 scope_id)
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.
| ObjectBase (const char * custom_type_name)
| A derived constructor always overrides this choice.
| 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.
| ObjectBase (ObjectBase && src) noexcept
ObjectBase & | operator= (ObjectBase && src) noexcept
virtual | ~ObjectBase () noexcept=0
void | initialize (GObject * castitem)
void | initialize_move (GObject * castitem, Glib::ObjectBase * previous_wrapper)

## Related Symbols
(Note that these are not member symbols.)
Glib::RefPtr< Gio::InetAddress > | wrap (GInetAddress * object, bool take_copy=false)
| A Glib::wrap() method for this object.
Related Symbols inherited from Glib::Object
Glib::RefPtr< Glib::Object > | wrap (GObject * object, bool take_copy=false)

## 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/3]

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

## ◆ ~InetAddress()

Gio::InetAddress::~InetAddress | ( |  | ) |
| overridenoexcept

## ◆ InetAddress() [2/3]

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

## ◆ InetAddress() [3/3]

Gio::InetAddress::InetAddress | ( | const guint8 * | bytes,
|  | SocketFamily | family,
|  | guint32 | flowinfo,
|  | guint32 | scope_id )
| 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_address | Another InetAddress.

Returns
  true if address and other_address are equal, false otherwise.

## ◆ create() [1/3]

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

## ◆ create() [2/3]

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

## ◆ create() [3/3]

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

Creates a new Gio::InetAddress from the given `family`, `bytes` and `scope_id`.

`bytes` must be 4 bytes for Gio::SocketFamily::IPV4 and 16 bytes for Gio::SocketFamily::IPV6.

Parameters

  bytes | Raw address data.
  family | The address family of `bytes`.
  scope_id | The scope-id of the address.

Returns
  A new internet address corresponding to `family`, `bytes` and `scope_id`

Since glibmm 2.86

## ◆ create_any()

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

## ◆ create_loopback()

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

guint32 Gio::InetAddress::get_flowinfo | ( |  | ) | const

Gets the value of Gio::InetAddress::property_flowinfo().

Since glibmm 2.86

Returns
  The flowinfo for the address, 0 if unset or not IPv6 address.

## ◆ 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_scope_id()

guint32 Gio::InetAddress::get_scope_id | ( |  | ) | const

Gets the value of Gio::InetAddress::property_scope_id().

Since glibmm 2.86

Returns
  The scope-id for the address, 0 if unset or not IPv6 address.

## ◆ get_type()

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

Glib::PropertyProxy_ReadOnly< guint > Gio::InetAddress::property_flowinfo | ( |  | ) | const

The flowinfo for an IPv6 address.

See Gio::InetAddress::get_flowinfo().

Since glibmm 2.86

Default value: 0

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.

## ◆ property_scope_id()

Glib::PropertyProxy_ReadOnly< guint > Gio::InetAddress::property_scope_id | ( |  | ) | const

The scope-id for an IPv6 address.

See Gio::InetAddress::get_scope_id().

Since glibmm 2.86

Default value: 0

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 Symbol Documentation

## ◆ wrap()

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