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