LLDB mainline
SBQueue.h
Go to the documentation of this file.
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
20public:
21 SBQueue();
22
23 SBQueue(const SBQueue &rhs);
24
25 const SBQueue &operator=(const lldb::SBQueue &rhs);
26
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
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
#define LLDB_API
Definition: SBDefines.h:28
uint32_t GetKind(uint32_t data)
Return the type kind encoded in the given data.
static llvm::StringRef GetName(XcodeSDK::Type type)
Definition: XcodeSDK.cpp:21
std::shared_ptr< lldb_private::QueueImpl > m_opaque_sp
Definition: SBQueue.h:64
Definition: SBAddress.h:15
std::shared_ptr< lldb_private::Queue > QueueSP
Definition: lldb-forward.h:395
QueueKind
Queue type.
uint64_t queue_id_t
Definition: lldb-types.h:90