diff options
Diffstat (limited to 'xbmc/addons/interfaces/Network.h')
-rw-r--r-- | xbmc/addons/interfaces/Network.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/xbmc/addons/interfaces/Network.h b/xbmc/addons/interfaces/Network.h new file mode 100644 index 0000000..b704fb1 --- /dev/null +++ b/xbmc/addons/interfaces/Network.h @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2005-2018 Team Kodi + * This file is part of Kodi - https://kodi.tv + * + * SPDX-License-Identifier: GPL-2.0-or-later + * See LICENSES/README.md for more information. + */ + +#pragma once + +struct AddonGlobalInterface; + +extern "C" +{ +namespace ADDON +{ + +/*! + * @brief Global general Add-on to Kodi callback functions + * + * To hold network functions not related to a instance type and usable for + * every add-on type. + * + * Related add-on header is "./xbmc/addons/kodi-dev-kit/include/kodi/Network.h" + */ +struct Interface_Network +{ + static void Init(AddonGlobalInterface* addonInterface); + static void DeInit(AddonGlobalInterface* addonInterface); + + /*! + * @brief callback functions from add-on to kodi + * + * @note To add a new function use the "_" style to directly identify an + * add-on callback function. Everything with CamelCase is only to be used + * in Kodi. + * + * The parameter `kodiBase` is used to become the pointer for a `CAddonDll` + * class. + */ + //@{ + static bool wake_on_lan(void* kodiBase, const char* mac); + static char* get_ip_address(void* kodiBase); + static char* get_hostname(void* kodiBase); + static char* get_user_agent(void* kodiBase); + static bool is_local_host(void* kodiBase, const char* hostname); + static bool is_host_on_lan(void* kodiBase, const char* hostname, bool offLineCheck); + static char* dns_lookup(void* kodiBase, const char* url, bool* ret); + static char* url_encode(void* kodiBase, const char* url); + //@} +}; + +} /* namespace ADDON */ +} /* extern "C" */ |