xref: /llvm-project/lldb/include/lldb/API/SBProcessInfoList.h (revision 8f378ff7a0a36137619a446b0bb13b8bc0ef6721)
1 //===-- SBProcessInfoList.h -------------------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLDB_API_SBPROCESSINSTANCEINFOLIST_H
10 #define LLDB_API_SBPROCESSINSTANCEINFOLIST_H
11 
12 #include "lldb/API/SBDefines.h"
13 
14 #include <memory>
15 
16 namespace lldb_private {
17 class ProcessInfoList;
18 } // namespace lldb_private
19 
20 namespace lldb {
21 
22 class LLDB_API SBProcessInfoList {
23 public:
24   SBProcessInfoList();
25   ~SBProcessInfoList();
26 
27   SBProcessInfoList(const lldb::SBProcessInfoList &rhs);
28 
29   const lldb::SBProcessInfoList &operator=(const lldb::SBProcessInfoList &rhs);
30 
31   uint32_t GetSize() const;
32 
33   bool GetProcessInfoAtIndex(uint32_t idx, SBProcessInfo &info);
34 
35   void Clear();
36 
37 private:
38   friend SBPlatform;
39 
40   SBProcessInfoList(const lldb_private::ProcessInfoList &impl);
41   std::unique_ptr<lldb_private::ProcessInfoList> m_opaque_up;
42 };
43 
44 } // namespace lldb
45 
46 #endif // LLDB_API_SBPROCESSINSTANCEINFOLIST_H
47