OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_EXTENSIONS_API_SYSTEM_INFO_SYSTEM_INFO_PROVIDER_H_ | 5 #ifndef CHROME_BROWSER_EXTENSIONS_API_SYSTEM_INFO_SYSTEM_INFO_PROVIDER_H_ |
6 #define CHROME_BROWSER_EXTENSIONS_API_SYSTEM_INFO_SYSTEM_INFO_PROVIDER_H_ | 6 #define CHROME_BROWSER_EXTENSIONS_API_SYSTEM_INFO_SYSTEM_INFO_PROVIDER_H_ |
7 | 7 |
8 #include <queue> | 8 #include <queue> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
11 #include "base/callback.h" | 11 #include "base/callback.h" |
12 #include "base/memory/ref_counted.h" | 12 #include "base/memory/ref_counted.h" |
13 #include "base/threading/sequenced_worker_pool.h" | 13 #include "base/threading/sequenced_worker_pool.h" |
14 #include "content/public/browser/browser_thread.h" | |
15 | 14 |
16 namespace extensions { | 15 namespace extensions { |
17 | 16 |
18 // An abstract base class for all kinds of system information providers. Each | 17 // An abstract base class for all kinds of system information providers. Each |
19 // kind of SystemInfoProvider is a single shared instance. It is created if | 18 // kind of SystemInfoProvider is a single shared instance. It is created if |
20 // needed, and destroyed at exit time. This is done via LazyInstance and | 19 // needed, and destroyed at exit time. This is done via LazyInstance and |
21 // scoped_refptr. | 20 // scoped_refptr. |
22 // | 21 // |
23 // The SystemInfoProvider is designed to query system information on the worker | 22 // The SystemInfoProvider is designed to query system information on the worker |
24 // pool. It also maintains a queue of callbacks on the UI thread which are | 23 // pool. It also maintains a queue of callbacks on the UI thread which are |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
90 // Sequenced worker pool to make the operation of querying information get | 89 // Sequenced worker pool to make the operation of querying information get |
91 // executed in order. | 90 // executed in order. |
92 scoped_refptr<base::SequencedTaskRunner> worker_pool_; | 91 scoped_refptr<base::SequencedTaskRunner> worker_pool_; |
93 | 92 |
94 DISALLOW_COPY_AND_ASSIGN(SystemInfoProvider); | 93 DISALLOW_COPY_AND_ASSIGN(SystemInfoProvider); |
95 }; | 94 }; |
96 | 95 |
97 } // namespace extensions | 96 } // namespace extensions |
98 | 97 |
99 #endif // CHROME_BROWSER_EXTENSIONS_API_SYSTEM_INFO_SYSTEM_INFO_PROVIDER_H_ | 98 #endif // CHROME_BROWSER_EXTENSIONS_API_SYSTEM_INFO_SYSTEM_INFO_PROVIDER_H_ |
OLD | NEW |