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.
◆ CInstancePVRClient() [1/2]
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:
#include <kodi/addon-instance/PVR.h>
...
class ATTR_DLL_LOCAL CPVRExample
{
public:
CPVRExample()
{
}
~CPVRExample() override;
{
}
...
};
ADDONCREATOR(CPVRExample)
Definition AddonBase.h:775
◆ CInstancePVRClient() [2/2]
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:
{
...
}
...
};
KODI_ADDON_INSTANCE_HDL& hdl)
{
hdl = new CMyPVRClient(instance);
}
Definition 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 AddonBase.h:1938
◆ ~CInstancePVRClient()
◆ 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.
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 General.h:1077
PVR_ERROR
Definition pvr_general.h:36
@ PVR_ERROR_NO_ERROR
0 : No error occurred.
Definition pvr_general.h:38
void SetSupportsTV(bool supportsTV)
Set true if this add-on provides TV channels.
Definition General.h:1138
void SetSupportsEPG(bool supportsEPG)
Set true if the add-on provides EPG information.
Definition General.h:1125
- Note
- Valid implementation required.
◆ GetBackendName()
virtual PVR_ERROR 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:
PVR_ERROR CMyPVRClient::GetBackendName(std::string& name)
{
name = "My special PVR client";
}
- Note
- Valid implementation required.
◆ GetBackendVersion()
virtual PVR_ERROR 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.
◆ GetBackendHostname()
virtual PVR_ERROR 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
◆ GetConnectionString()
virtual PVR_ERROR 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 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;
}
◆ 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 general.h:45
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 General.h:260
◆ 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:
#include <kodi/addon-instance/PVR.h>
...
{
}
{
}
...
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 PVR.h:742
Here another way:
#include <kodi/addon-instance/PVR.h>
...
...
◆ ConnectionStateChange()
void 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:
#include <kodi/addon-instance/PVR.h>
#include <kodi/General.h>
◆ UserPath()
std::string 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.
◆ ClientPath()
std::string 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.