Functions to manage the addon and get basic information about it
These are e.g. GetCapabilities to know supported groups at this addon or the others to get information about the source of the PVR stream.
More...
Functions to manage the addon and get basic information about it
These are e.g. GetCapabilities to know supported groups at this addon or the others to get information about the source of the PVR stream.
The with "Valid implementation required." declared functions are mandatory, all others are an option.
Basic parts in interface:
Copy this to your project and extend with your parts or leave functions complete away where not used or supported.
◆ AddMenuHook()
Callback to Kodi Function\nAdd or replace a menu hook for the context menu for this add-on
This is a callback function, called from addon to give Kodi his context menu's.
- Parameters
-
The following table contains values that can be set with class PVRMenuhook :
Here's an example of the use of it:
...
{
}
{
}
...
void AddMenuHook(const kodi::addon::PVRMenuhook &hook)
Callback to Kodi Function\nAdd or replace a menu hook for the context menu for this add-on
Definition addon-instance/pvr.h:742
Here another way:
◆ CallSettingsMenuHook()
Call one of the settings related menu hooks (if supported).
Supported menu hook instances have to be added in constructor()
, by calling AddMenuHook() on the callback.
- Parameters
-
[in] | menuhook | The hook to call. |
- Returns
- PVR_ERROR_NO_ERROR if the hook was called successfully.
The following table contains values that can be set with class PVRMenuhook :
Example:
{
}
@ QUEUE_INFO
Show info notification message.
Definition kodi-dev-kit/include/kodi/c-api/General.h:45
PVR_ERROR
Definition pvr_general.h:36
@ PVR_ERROR_NO_ERROR
0 : No error occurred.
Definition pvr_general.h:38
void ATTR_DLL_LOCAL QueueNotification(QueueMsg type, const std::string &header, const std::string &message, const std::string &imageFile="", unsigned int displayTime=5000, bool withSound=true, unsigned int messageTime=1000)
Queue a notification in the GUI.
Definition kodi-dev-kit/include/kodi/General.h:260
◆ CInstancePVRClient() [1/2]
kodi::addon::CInstancePVRClient::CInstancePVRClient |
( |
| ) |
|
|
inline |
PVR client class constructor.
Used by an add-on that only supports only PVR and only in one instance.
Here's example about the use of this:
...
{
public:
CPVRExample()
{
}
~CPVRExample() override;
{
}
...
};
#define ATTR_DLL_LOCAL
Definition addon_base.h:86
Definition kodi-dev-kit/include/kodi/AddonBase.h:775
Definition addon-instance/pvr.h:404
#define ADDONCREATOR(AddonClass)
Definition kodi-dev-kit/include/kodi/AddonBase.h:2047
◆ CInstancePVRClient() [2/2]
kodi::addon::CInstancePVRClient::CInstancePVRClient |
( |
const IInstanceInfo & | instance | ) |
|
|
inlineexplicit |
PVR client class constructor used to support multiple instance types.
- Parameters
-
[in] | instance | The instance value given to kodi::addon::CAddonBase::CreateInstance(...) . |
Here's example about the use of this:
{
public:
{
...
}
...
};
{
}
void * KODI_ADDON_INSTANCE_HDL
Definition addon_base.h:121
KODI_ADDON_HDL * hdl
Definition addon_base.h:344
Definition kodi-dev-kit/include/kodi/AddonBase.h:498
@ ADDON_LOG_INFO
1 : To include information messages in the log file.
Definition addon_base.h:187
ADDON_STATUS
Definition addon_base.h:138
@ ADDON_STATUS_OK
For everything OK and no error.
Definition addon_base.h:140
void ATTR_DLL_LOCAL Log(const ADDON_LOG loglevel, const char *format,...)
Add a message to Kodi's log.
Definition kodi-dev-kit/include/kodi/AddonBase.h:1938
Definition addon_base.h:268
◆ ClientPath()
std::string kodi::addon::CInstancePVRClient::ClientPath |
( |
| ) |
const |
|
inline |
Callback to Kodi Function
Get main client path of the PVR addon.
- Returns
- Path of addon client
- Note
- Alternatively, kodi::GetBaseUserPath() can be used for this.
◆ ConnectionStateChange()
void kodi::addon::CInstancePVRClient::ConnectionStateChange |
( |
const std::string & | connectionString, |
|
|
PVR_CONNECTION_STATE | newState, |
|
|
const std::string & | message ) |
|
inline |
Callback to Kodi Function
Notify a state change for a PVR backend connection.
- Parameters
-
[in] | connectionString | The connection string reported by the backend that can be displayed in the UI. |
[in] | newState | The by PVR_CONNECTION_STATE defined new state. |
[in] | message | A localized addon-defined string representing the new state, that can be displayed in the UI or empty if the Kodi-defined default string for the new state shall be displayed. |
Here's an example of the use of it:
◆ GetBackendHostname()
virtual PVR_ERROR kodi::addon::CInstancePVRClient::GetBackendHostname |
( |
std::string & | hostname | ) |
|
|
inlinevirtual |
Get the hostname of the pvr backend server.
- Parameters
-
[out] | hostname | Hostname as ip address or alias. If backend does not utilize a server, return empty string. |
- Returns
- PVR_ERROR_NO_ERROR if successfully done
◆ GetBackendName()
virtual PVR_ERROR kodi::addon::CInstancePVRClient::GetBackendName |
( |
std::string & | name | ) |
|
|
pure virtual |
Get the name reported by the backend that will be displayed in the UI.
- Parameters
-
[out] | name | The name reported by the backend that will be displayed in the UI. |
- Returns
- PVR_ERROR_NO_ERROR if successfully done
Example:
{
name =
"My special PVR client";
}
enum const char * name
Definition addon_base.h:203
- Note
- Valid implementation required.
◆ GetBackendVersion()
virtual PVR_ERROR kodi::addon::CInstancePVRClient::GetBackendVersion |
( |
std::string & | version | ) |
|
|
pure virtual |
Get the version string reported by the backend that will be displayed in the UI.
- Parameters
-
[out] | version | The version string reported by the backend that will be displayed in the UI. |
- Returns
- PVR_ERROR_NO_ERROR if successfully done
Example:
PVR_ERROR CMyPVRClient::GetBackendVersion(std::string& version)
{
version = "1.0.0";
}
- Note
- Valid implementation required.
◆ GetCapabilities()
Get the list of features that this add-on provides.
Called by Kodi to query the add-on's capabilities. Used to check which options should be presented in the UI, which methods to call, etc. All capabilities that the add-on supports should be set to true.
- Parameters
-
- Returns
- PVR_ERROR_NO_ERROR if the properties were fetched successfully.
@ingroup cpp_kodi_addon_pvr_Defs_PVRCapabilities
The following table contains values that can be set with class PVRCapabilities :
- Warning
- This class can not be used outside of kodi::addon::CInstancePVRClient::GetCapabilities()
Example:
{
}
Definition kodi-dev-kit/include/kodi/addon-instance/pvr/General.h:1077
void SetSupportsEPG(bool supportsEPG)
Set true if the add-on provides EPG information.
Definition kodi-dev-kit/include/kodi/addon-instance/pvr/General.h:1125
void SetSupportsTV(bool supportsTV)
Set true if this add-on provides TV channels.
Definition kodi-dev-kit/include/kodi/addon-instance/pvr/General.h:1138
- Note
- Valid implementation required.
◆ GetConnectionString()
virtual PVR_ERROR kodi::addon::CInstancePVRClient::GetConnectionString |
( |
std::string & | connection | ) |
|
|
inlinevirtual |
To get the connection string reported by the backend that will be displayed in the UI.
- Parameters
-
[out] | connection | The connection string reported by the backend that will be displayed in the UI. |
- Returns
- PVR_ERROR_NO_ERROR if successfully done
◆ GetDriveSpace()
virtual PVR_ERROR kodi::addon::CInstancePVRClient::GetDriveSpace |
( |
uint64_t & | total, |
|
|
uint64_t & | used ) |
|
inlinevirtual |
Get the disk space reported by the backend (if supported).
- Parameters
-
[in] | total | The total disk space in KiB. |
[in] | used | The used disk space in KiB. |
- Returns
- PVR_ERROR_NO_ERROR if the drive space has been fetched successfully.
Example:
PVR_ERROR CMyPVRClient::GetDriveSpace(uint64_t& total, uint64_t& used)
{
total = 100 * 1024 * 1024;
used = 12232424;
}
◆ UserPath()
std::string kodi::addon::CInstancePVRClient::UserPath |
( |
| ) |
const |
|
inline |
Callback to Kodi Function
Get user data path of the PVR addon.
- Returns
- Path of current Kodi user
- Note
- Alternatively, kodi::GetAddonPath() can be used for this.
◆ ~CInstancePVRClient()
kodi::addon::CInstancePVRClient::~CInstancePVRClient |
( |
| ) |
|
|
overridedefault |