xbmc: update to xbmc-13.alpha-0d22ffb

This commit is contained in:
Stefan Saraev 2013-12-12 18:29:17 +02:00
parent 4bb2bf69d3
commit b99f392acb
4 changed files with 182 additions and 341 deletions

View File

@ -19,7 +19,7 @@
################################################################################ ################################################################################
PKG_NAME="xbmc-theme-Confluence" PKG_NAME="xbmc-theme-Confluence"
PKG_VERSION="13.alpha-7f6c5e4" PKG_VERSION="13.alpha-0d22ffb"
PKG_REV="1" PKG_REV="1"
PKG_ARCH="any" PKG_ARCH="any"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"

View File

@ -19,7 +19,7 @@
################################################################################ ################################################################################
PKG_NAME="xbmc" PKG_NAME="xbmc"
PKG_VERSION="13.alpha-7f6c5e4" PKG_VERSION="13.alpha-0d22ffb"
PKG_REV="1" PKG_REV="1"
PKG_ARCH="any" PKG_ARCH="any"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"

View File

@ -1,133 +0,0 @@
From 29e44bb9f93767fd1235c33afa4877544f0f95b3 Mon Sep 17 00:00:00 2001
From: xhaggi <sascha.woo@gmail.com>
Date: Mon, 9 Dec 2013 15:25:11 +0100
Subject: [PATCH] [pvr] observe PVRManager state to trigger epg create
---
xbmc/pvr/PVRManager.cpp | 9 +++++++--
xbmc/pvr/PVRManager.h | 3 ++-
xbmc/pvr/channels/PVRChannelGroupInternal.cpp | 12 +++++++++++-
xbmc/pvr/channels/PVRChannelGroupInternal.h | 5 ++++-
xbmc/utils/Observer.h | 1 +
5 files changed, 25 insertions(+), 5 deletions(-)
diff --git a/xbmc/pvr/PVRManager.cpp b/xbmc/pvr/PVRManager.cpp
index 81d81c2..d35df1c 100644
--- a/xbmc/pvr/PVRManager.cpp
+++ b/xbmc/pvr/PVRManager.cpp
@@ -393,8 +393,13 @@ ManagerState CPVRManager::GetState(void) const
void CPVRManager::SetState(ManagerState state)
{
- CSingleLock lock(m_managerStateMutex);
- m_managerState = state;
+ {
+ CSingleLock lock(m_managerStateMutex);
+ m_managerState = state;
+ SetChanged();
+ }
+
+ NotifyObservers(ObservableMessageManagerStateChanged);
}
void CPVRManager::Process(void)
diff --git a/xbmc/pvr/PVRManager.h b/xbmc/pvr/PVRManager.h
index 7038410..5359c05 100644
--- a/xbmc/pvr/PVRManager.h
+++ b/xbmc/pvr/PVRManager.h
@@ -26,6 +26,7 @@
#include "threads/Event.h"
#include "threads/Thread.h"
#include "utils/JobManager.h"
+#include "utils/Observer.h"
class CGUIDialogProgressBarHandle;
class CStopWatch;
@@ -83,7 +84,7 @@
typedef boost::shared_ptr<PVR::CPVRChannelGroup> CPVRChannelGroupPtr;
- class CPVRManager : public ISettingCallback, private CThread
+ class CPVRManager : public ISettingCallback, private CThread, public Observable
{
friend class CPVRClients;
diff --git a/xbmc/pvr/channels/PVRChannelGroupInternal.cpp b/xbmc/pvr/channels/PVRChannelGroupInternal.cpp
index 0bb07d2..ff06d48 100644
--- a/xbmc/pvr/channels/PVRChannelGroupInternal.cpp
+++ b/xbmc/pvr/channels/PVRChannelGroupInternal.cpp
@@ -53,6 +53,7 @@
CPVRChannelGroupInternal::~CPVRChannelGroupInternal(void)
{
Unload();
+ g_PVRManager.UnregisterObserver(this);
}
bool CPVRChannelGroupInternal::Load(void)
@@ -60,7 +61,8 @@ bool CPVRChannelGroupInternal::Load(void)
if (CPVRChannelGroup::Load())
{
UpdateChannelPaths();
- g_PVRManager.TriggerEpgsCreate();
+ g_PVRManager.RegisterObserver(this);
+
return true;
}
@@ -385,3 +387,11 @@ bool CPVRChannelGroupInternal::CreateChannelEpgs(bool bForce /* = false */)
return true;
}
+
+void CPVRChannelGroupInternal::Notify(const Observable &obs, const ObservableMessage msg)
+{
+ if (msg == ObservableMessageManagerStateChanged)
+ {
+ g_PVRManager.TriggerEpgsCreate();
+ }
+}
diff --git a/xbmc/pvr/channels/PVRChannelGroupInternal.h b/xbmc/pvr/channels/PVRChannelGroupInternal.h
index cba4180..10f728a 100644
--- a/xbmc/pvr/channels/PVRChannelGroupInternal.h
+++ b/xbmc/pvr/channels/PVRChannelGroupInternal.h
@@ -21,6 +21,7 @@
*/
#include "PVRChannelGroup.h"
+#include "utils/Observer.h"
namespace PVR
{
@@ -29,7 +30,7 @@
/** XBMC's internal group, the group containing all channels */
- class CPVRChannelGroupInternal : public CPVRChannelGroup
+ class CPVRChannelGroupInternal : public CPVRChannelGroup, public Observer
{
friend class CPVRChannelGroups;
friend class CPVRDatabase;
@@ -45,6 +46,8 @@
virtual ~CPVRChannelGroupInternal(void);
+ virtual void Notify(const Observable &obs, const ObservableMessage msg);
+
/**
* @brief The amount of channels in this container.
* @return The amount of channels in this container.
diff --git a/xbmc/utils/Observer.h b/xbmc/utils/Observer.h
index 291d86b..3ac032a 100644
--- a/xbmc/utils/Observer.h
+++ b/xbmc/utils/Observer.h
@@ -40,6 +40,7 @@
ObservableMessageTimersReset,
ObservableMessageRecordings,
ObservableMessagePeripheralsChanged,
+ ObservableMessageManagerStateChanged
} ObservableMessage;
class Observer
--
1.8.5.1