blob: 01562a25006edb5e8bda1b62bb6f0ad02d80f6e1 [file] [log] [blame]
cylee1fee6492016-03-09 20:04:411// Copyright 2016 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.
yusukescd2c29812016-06-02 06:24:034
cylee1fee6492016-03-09 20:04:415#ifndef CHROME_BROWSER_CHROMEOS_ARC_ARC_PROCESS_H_
6#define CHROME_BROWSER_CHROMEOS_ARC_ARC_PROCESS_H_
7
8#include <string>
yusukescd2c29812016-06-02 06:24:039#include <vector>
cylee1fee6492016-03-09 20:04:4110
11#include "base/process/process_handle.h"
12#include "components/arc/common/process.mojom.h"
13
14namespace arc {
15
yusukescd2c29812016-06-02 06:24:0316class ArcProcess {
17 public:
18 ArcProcess(base::ProcessId nspid,
19 base::ProcessId pid,
20 const std::string& process_name,
21 mojom::ProcessState process_state);
22 ~ArcProcess();
23
24 ArcProcess(ArcProcess&& other);
25 ArcProcess& operator=(ArcProcess&& other);
26
27 base::ProcessId nspid() const { return nspid_; }
28 base::ProcessId pid() const { return pid_; }
29 const std::string& process_name() const { return process_name_; }
30 mojom::ProcessState process_state() const { return process_state_; }
31 std::vector<std::string>& packages() { return packages_; }
32 const std::vector<std::string>& packages() const { return packages_; }
33
34 private:
35 base::ProcessId nspid_;
36 base::ProcessId pid_;
37 std::string process_name_;
38 mojom::ProcessState process_state_;
39 std::vector<std::string> packages_;
40
41 DISALLOW_COPY_AND_ASSIGN(ArcProcess);
cylee1fee6492016-03-09 20:04:4142};
43
44} // namespace arc
45
46#endif // CHROME_BROWSER_CHROMEOS_ARC_ARC_PROCESS_H_