Kodi Development  20.0
for Binary and Script based Add-Ons
Interface - kodi::network

Detailed Description

Network functions
The network module offers functions that allow you to control it.

It has the header #include <kodi/Network.h> be included to enjoy it.

Function Documentation

◆ WakeOnLan()

bool ATTRIBUTE_HIDDEN kodi::network::WakeOnLan ( const std::string &  mac)
inline

Send WakeOnLan magic packet.

Parameters
[in]macNetwork address of the host to wake.
Returns
True if the magic packet was successfully sent, false otherwise.

◆ GetIPAddress()

std::string ATTRIBUTE_HIDDEN kodi::network::GetIPAddress ( )
inline

To the current own ip address as a string.

Returns
Own system ip.

Example:

#include <kodi/Network.h>
...
std::string ipAddress = kodi::network::GetIPAddress();
fprintf(stderr, "My IP is '%s'\n", ipAddress.c_str());
...
std::string ATTRIBUTE_HIDDEN GetIPAddress()
To the current own ip address as a string.
Definition: Network.h:66

◆ GetHostname()

std::string ATTRIBUTE_HIDDEN kodi::network::GetHostname ( )
inline

Return our hostname.

Returns
String about hostname, empty in case of error

Example:

#include <kodi/Network.h>
...
std::string hostname = kodi::network::GetHostname();
fprintf(stderr, "My hostname is '%s'\n", hostname.c_str());
...
std::string ATTRIBUTE_HIDDEN GetHostname()
Return our hostname.
Definition: Network.h:100

◆ GetUserAgent()

std::string ATTRIBUTE_HIDDEN kodi::network::GetUserAgent ( )
inline

Returns Kodi's HTTP UserAgent string.

Returns
HTTP user agent

Example:

..
std::string agent = kodi::network::GetUserAgent()
..
std::string ATTRIBUTE_HIDDEN GetUserAgent()
Returns Kodi's HTTP UserAgent string.
Definition: Network.h:135

example output: Kodi/19.0-ALPHA1 (X11; Linux x86_64) Ubuntu/20.04 App_Bitness/64 Version/19.0-ALPHA1-Git:20200522-0076d136d3-dirty

◆ IsLocalHost()

bool ATTRIBUTE_HIDDEN kodi::network::IsLocalHost ( const std::string &  hostname)
inline

Check given name or ip address corresponds to localhost.

Parameters
[in]hostnameHostname to check
Returns
Return true if given name or ip address corresponds to localhost

Example:

#include <kodi/Network.h>
...
if (kodi::network::IsLocalHost("127.0.0.1"))
fprintf(stderr, "Is localhost\n");
...
bool ATTRIBUTE_HIDDEN IsLocalHost(const std::string &hostname)
Check given name or ip address corresponds to localhost.
Definition: Network.h:170

◆ IsHostOnLAN()

bool ATTRIBUTE_HIDDEN kodi::network::IsHostOnLAN ( const std::string &  hostname,
bool  offLineCheck = false 
)
inline

Checks whether the specified path refers to a local network.

Parameters
[in]hostnameHostname to check
[in]offLineCheckCheck if in private range, see https://en.wikipedia.org/wiki/Private_network
Returns
True if host is on a LAN, false otherwise

◆ URLEncode()

std::string ATTRIBUTE_HIDDEN kodi::network::URLEncode ( const std::string &  url)
inline

URL encodes the given string.

This function converts the given input string to a URL encoded string and returns that as a new allocated string. All input characters that are not a-z, A-Z, 0-9, '-', '.', '_' or '~' are converted to their "URL escaped" version (NN where NN is a two-digit hexadecimal number).

Parameters
[in]urlThe code of the message to get.
Returns
Encoded URL string

Example:

#include <kodi/Network.h>
...
std::string encodedUrl = kodi::network::URLEncode("François");
fprintf(stderr, "Encoded URL is '%s'\n", encodedUrl.c_str());
...
std::string ATTRIBUTE_HIDDEN URLEncode(const std::string &url)
URL encodes the given string.
Definition: Network.h:221

For example, the string: François ,would be encoded as: FranC3A7ois

◆ DNSLookup()

bool ATTRIBUTE_HIDDEN kodi::network::DNSLookup ( const std::string &  hostName,
std::string &  ipAddress 
)
inline

Lookup URL in DNS cache.

This test will get DNS record for a domain. The DNS lookup is done directly against the domain's authoritative name server, so changes to DNS Records should show up instantly. By default, the DNS lookup tool will return an IP address if you give it a name (e.g. www.example.com)

Parameters
[in]hostNameThe code of the message to get.
[out]ipAddressReturned address
Returns
true if successfull

Example:

#include <kodi/Network.h>
...
std::string ipAddress;
bool ret = kodi::network::DNSLookup("www.google.com", ipAddress);
fprintf(stderr, "DNSLookup returned for www.google.com the IP '%s', call was %s\n", ipAddress.c_str(), ret ? "ok" : "failed");
...
bool ATTRIBUTE_HIDDEN DNSLookup(const std::string &hostName, std::string &ipAddress)
Lookup URL in DNS cache.
Definition: Network.h:263