1//===-- SBQueue.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_SBQUEUE_H
10#define LLDB_API_SBQUEUE_H
11
12#include <vector>
13
14#include "lldb/API/SBDefines.h"
15#include "lldb/lldb-forward.h"
16
17namespace lldb {
18
19class LLDB_API SBQueue {
20public:
21 SBQueue();
22
23 SBQueue(const SBQueue &rhs);
24
25 const SBQueue &operator=(const lldb::SBQueue &rhs);
26
27 ~SBQueue();
28
29 explicit operator bool() const;
30
31 bool IsValid() const;
32
33 void Clear();
34
35 lldb::SBProcess GetProcess();
36
37 lldb::queue_id_t GetQueueID() const;
38
39 const char *GetName() const;
40
41 uint32_t GetIndexID() const;
42
43 uint32_t GetNumThreads();
44
45 lldb::SBThread GetThreadAtIndex(uint32_t);
46
47 uint32_t GetNumPendingItems();
48
49 lldb::SBQueueItem GetPendingItemAtIndex(uint32_t);
50
51 uint32_t GetNumRunningItems();
52
53 lldb::QueueKind GetKind();
54
55protected:
56 friend class SBProcess;
57 friend class SBThread;
58
59 SBQueue(const QueueSP &queue_sp);
60
61 void SetQueue(const lldb::QueueSP &queue_sp);
62
63private:
64 std::shared_ptr<lldb_private::QueueImpl> m_opaque_sp;
65};
66
67} // namespace lldb
68
69#endif // LLDB_API_SBQUEUE_H
70

source code of lldb/include/lldb/API/SBQueue.h