Roll leveldb 3f7758:803d69 (v1.17 -> v1.18)
[chromium-blink-merge.git] / content / utility / in_process_utility_thread.h
blob00c71a1dd282183fcf5679a4ac60f7355794d6c5
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
3 // found in the LICENSE file.
5 #ifndef CONTENT_UTILITY_IN_PROCESS_UTILITY_THREAD_H_
6 #define CONTENT_UTILITY_IN_PROCESS_UTILITY_THREAD_H_
8 #include <string>
10 #include "base/threading/thread.h"
11 #include "content/common/content_export.h"
13 namespace content {
15 class ChildProcess;
17 class InProcessUtilityThread : public base::Thread {
18 public:
19 InProcessUtilityThread(const std::string& channel_id);
20 ~InProcessUtilityThread() override;
22 private:
23 // base::Thread implementation:
24 void Init() override;
25 void CleanUp() override;
27 void InitInternal();
29 std::string channel_id_;
30 scoped_ptr<ChildProcess> child_process_;
32 DISALLOW_COPY_AND_ASSIGN(InProcessUtilityThread);
35 CONTENT_EXPORT base::Thread* CreateInProcessUtilityThread(
36 const std::string& channel_id);
38 } // namespace content
40 #endif // CONTENT_UTILITY_IN_PROCESS_UTILITY_THREAD_H_