Merge pull request #4857 from t-nelson/Gotham_13.2_backports
[vuplus_xbmc] / xbmc / BackgroundInfoLoader.h
index c0c1580..5fad3f0 100644 (file)
@@ -2,7 +2,7 @@
 
 /*
  *      Copyright (C) 2005-2013 Team XBMC
- *      http://www.xbmc.org
+ *      http://xbmc.org
  *
  *  This Program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -40,7 +40,7 @@ public:
 class CBackgroundInfoLoader : public IRunnable
 {
 public:
-  CBackgroundInfoLoader(int nThreads=-1);
+  CBackgroundInfoLoader();
   virtual ~CBackgroundInfoLoader();
 
   void Load(CFileItemList& items);
@@ -49,12 +49,12 @@ public:
   void SetObserver(IBackgroundLoaderObserver* pObserver);
   void SetProgressCallback(IProgressCallback* pCallback);
   virtual bool LoadItem(CFileItem* pItem) { return false; };
+  virtual bool LoadItemCached(CFileItem* pItem) { return false; };
+  virtual bool LoadItemLookup(CFileItem* pItem) { return false; };
 
-  void StopThread(); // will actually stop all worker threads.
+  void StopThread(); // will actually stop the loader thread.
   void StopAsync();  // will ask loader to stop as soon as possible, but not block
 
-  void SetNumOfWorkers(int nThreads); // -1 means auto compute num of required threads
-
 protected:
   virtual void OnLoaderStart() {};
   virtual void OnLoaderFinish() {};
@@ -63,14 +63,11 @@ protected:
   std::vector<CFileItemPtr> m_vecItems; // FileItemList would delete the items and we only want to keep a reference.
   CCriticalSection m_lock;
 
-  bool m_bStartCalled;
+  volatile bool m_bIsLoading;
   volatile bool m_bStop;
-  int  m_nRequestedThreads;
-  int  m_nActiveThreads;
+  CThread *m_thread;
 
   IBackgroundLoaderObserver* m_pObserver;
   IProgressCallback* m_pProgressCallback;
-
-  std::vector<CThread *> m_workers;
 };