sbThreadPoolService.h
Go to the documentation of this file.
1 /*
2 //
3 // BEGIN SONGBIRD GPL
4 //
5 // This file is part of the Songbird web player.
6 //
7 // Copyright(c) 2005-2008 POTI, Inc.
8 // http://songbirdnest.com
9 //
10 // This file may be licensed under the terms of of the
11 // GNU General Public License Version 2 (the "GPL").
12 //
13 // Software distributed under the License is distributed
14 // on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
15 // express or implied. See the GPL for the specific language
16 // governing rights and limitations.
17 //
18 // You should have received a copy of the GPL along with this
19 // program. If not, go to http://www.gnu.org/licenses/gpl.html
20 // or write to the Free Software Foundation, Inc.,
21 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
22 //
23 // END SONGBIRD GPL
24 //
25  */
26 
32 #ifndef __SB_THREADPOOLSERVICE_H__
33 #define __SB_THREADPOOLSERVICE_H__
34 
35 #include <nsIObserver.h>
36 #include <nsIRunnable.h>
37 #include <nsIThreadPool.h>
38 #include <nsCOMPtr.h>
39 
40 #define SB_THREADPOOLSERVICE_CONTRACTID \
41  "@songbirdnest.com/Songbird/ThreadPoolService;1"
42 #define SB_THREADPOOLSERVICE_CLASSNAME \
43  "Songbird ThreadPool Service"
44 #define SB_THREADPOOLSERVICE_CID \
45 { /* f3980a5a-39da-4e1b-bb63-c3e26e85d3c6 */ \
46  0xf3980a5a, \
47  0x39da, \
48  0x4e1b, \
49  { 0xbb, 0x63, 0xc3, 0xe2, 0x6e, 0x85, 0xd3, 0xc6 } \
50 }
51 
52 class sbThreadPoolService : public nsIThreadPool,
53  public nsIObserver
54 {
55 public:
57  virtual ~sbThreadPoolService();
58 
60  NS_DECL_NSIOBSERVER
61  NS_FORWARD_SAFE_NSITHREADPOOL(mThreadPool)
62  NS_FORWARD_SAFE_NSIEVENTTARGET(mThreadPool)
63 
64  nsresult Init();
65 
66 private:
67  nsCOMPtr<nsIThreadPool> mThreadPool;
68 };
69 
70 #endif // __SB_THREADPOOLSERVICE_H__
71 
NS_DECL_ISUPPORTS NS_DECL_NSIOBSERVER nsresult Init()