Fix keymap.
[vuplus_xbmc] / xbmc / BackgroundInfoLoader.h
index 71dc9bb..5fad3f0 100644 (file)
@@ -1,8 +1,8 @@
 #pragma once
 
 /*
- *      Copyright (C) 2005-2008 Team XBMC
- *      http://www.xbmc.org
+ *      Copyright (C) 2005-2013 Team XBMC
+ *      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
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
- *  along with XBMC; see the file COPYING.  If not, write to
- *  the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
- *  http://www.gnu.org/copyleft/gpl.html
+ *  along with XBMC; see the file COPYING.  If not, see
+ *  <http://www.gnu.org/licenses/>.
  *
  */
 
-#include "utils/Thread.h"
+#include "threads/Thread.h"
 #include "IProgressCallback.h"
-#include "utils/CriticalSection.h"
+#include "threads/CriticalSection.h"
 
 #include <vector>
 #include "boost/shared_ptr.hpp"
@@ -41,7 +40,7 @@ public:
 class CBackgroundInfoLoader : public IRunnable
 {
 public:
-  CBackgroundInfoLoader(int nThreads=-1);
+  CBackgroundInfoLoader();
   virtual ~CBackgroundInfoLoader();
 
   void Load(CFileItemList& items);
@@ -50,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() {};
@@ -64,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;
 };