Skip to content

Commit

Permalink
Fix backend info shown in Kodi
Browse files Browse the repository at this point in the history
And also show full name (+ version + host) returned from backend
  • Loading branch information
manuelm committed Jun 9, 2018
1 parent 8ce8055 commit 1be2b93
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 19 deletions.
14 changes: 5 additions & 9 deletions src/DvbData.cpp
Expand Up @@ -128,18 +128,12 @@ bool Dvb::IsConnected()

std::string Dvb::GetBackendName()
{
// RS api doesn't provide a reliable way to extract the server name
return "DVBViewer";
return m_backendName;
}

std::string Dvb::GetBackendVersion()
unsigned int Dvb::GetBackendVersion()
{
std::string version = StringUtils::Format("%u.%u.%u.%u",
m_backendVersion >> 24 & 0xFF,
m_backendVersion >> 16 & 0xFF,
m_backendVersion >> 8 & 0xFF,
m_backendVersion & 0xFF);
return version;
return m_backendVersion;
}

bool Dvb::GetDriveSpace(long long *total, long long *used)
Expand Down Expand Up @@ -1230,6 +1224,7 @@ bool Dvb::CheckBackendVersion()
return false;
}

m_backendVersion = 0;
XBMC->Log(LOG_NOTICE, "Checking backend version...");
if (doc.RootElement()->QueryUnsignedAttribute("iver", &m_backendVersion)
!= TIXML_SUCCESS)
Expand All @@ -1249,6 +1244,7 @@ bool Dvb::CheckBackendVersion()
return false;
}

m_backendName = doc.RootElement()->GetText();
return true;
}

Expand Down
3 changes: 2 additions & 1 deletion src/DvbData.h
Expand Up @@ -143,7 +143,7 @@ class Dvb
bool IsConnected();

std::string GetBackendName();
std::string GetBackendVersion();
unsigned int GetBackendVersion();
bool GetDriveSpace(long long *total, long long *used);
bool IsGuest()
{ return m_isguest; }
Expand Down Expand Up @@ -209,6 +209,7 @@ class Dvb

private:
PVR_CONNECTION_STATE m_state = PVR_CONNECTION_STATE_UNKNOWN;
std::string m_backendName = "";
unsigned int m_backendVersion = 0;
bool m_isguest = false;

Expand Down
29 changes: 20 additions & 9 deletions src/client.cpp
Expand Up @@ -380,26 +380,37 @@ PVR_ERROR GetAddonCapabilities(PVR_ADDON_CAPABILITIES* pCapabilities)

const char *GetBackendName(void)
{
static const std::string &name = DvbData ? DvbData->GetBackendName()
: "unknown";
if (!DvbData || !DvbData->IsConnected())
return "unknown";

static std::string name;
name = DvbData->GetBackendName();
return name.c_str();
}

const char *GetBackendVersion(void)
{
static const std::string &version = DvbData ? DvbData->GetBackendVersion()
: "UNKNOWN";
if (!DvbData || !DvbData->IsConnected())
return "-1";

static std::string version;
unsigned int iver = DvbData->GetBackendVersion();
version = StringUtils::Format("%u.%u.%u.%u", iver >> 24 & 0xFF,
iver >> 16 & 0xFF, iver >> 8 & 0xFF, iver & 0xFF);
return version.c_str();
}

const char *GetConnectionString(void)
{
static std::string conn;
if (DvbData)
conn = StringUtils::Format("%s%s", g_hostname.c_str(),
DvbData->IsConnected() ? "" : " (Not connected!)");
else
conn = StringUtils::Format("%s (addon error!)", g_hostname.c_str());
static const std::string backend = StringUtils::Format("%s:%u",
g_hostname.c_str(), g_webPort);

conn = backend;
if (!DvbData)
conn = backend + " (Addon error!)";
else if (!DvbData->IsConnected())
conn = backend + " (Not connected!)";
return conn.c_str();
}

Expand Down

0 comments on commit 1be2b93

Please sign in to comment.