child_process_data.h revision 5821806d5e7f356e8fa4b058a389a808ea183019
1// Copyright (c) 2012 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.
4
5#ifndef CONTENT_PUBLIC_BROWSER_CHILD_PROCESS_DATA_H_
6#define CONTENT_PUBLIC_BROWSER_CHILD_PROCESS_DATA_H_
7
8#include "base/process.h"
9#include "base/string16.h"
10#include "content/common/content_export.h"
11#include "content/public/common/process_type.h"
12
13namespace content {
14
15// Holds information about a child process.
16struct ChildProcessData {
17  // The type of the process.
18  content::ProcessType type;
19
20  // The name of the process.  i.e. for plugins it might be Flash, while for
21  // for workers it might be the domain that it's from.
22  string16 name;
23
24  // The unique identifier for this child process. This identifier is NOT a
25  // process ID, and will be unique for all types of child process for
26  // one run of the browser.
27  int id;
28
29  // The handle to the process.
30  base::ProcessHandle handle;
31
32  ChildProcessData(content::ProcessType type)
33    : type(type), id(0), handle(base::kNullProcessHandle) {
34}
35};
36
37}  // namespace content
38
39#endif  // CONTENT_PUBLIC_BROWSER_CHILD_PROCESS_DATA_H_
40