LLDB API Documentation

- Main Page
- Namespaces
- Classes
- Files

- File List

SBQueue.h
Go to the documentation of this file.
1 //===-- SBQueue.h -----------------------------------------------*- C++ -*-===//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9
10 #ifndef LLDB_SBQueue_h_
11 #define LLDB_SBQueue_h_
12
13 #include <vector>
14
15 #include "lldb/API/SBDefines.h"
16 #include "lldb/lldb-forward.h"
17
18 namespace lldb {
19
20 class LLDB_API SBQueue {
21 public:
22 SBQueue();
23
24 SBQueue(const QueueSP &queue_sp);
25
26 SBQueue(const SBQueue &rhs);
27
28 const SBQueue &operator=(const lldb::SBQueue &rhs);
29
30 ~SBQueue();
31
32 bool IsValid() const;
33
34 void Clear();
35
36 lldb::SBProcess GetProcess();
37
38 lldb::queue_id_t GetQueueID() const;
39
40 const char *GetName() const;
41
42 uint32_t GetIndexID() const;
43
44 uint32_t GetNumThreads();
45
46 lldb::SBThread GetThreadAtIndex(uint32_t);
47
48 uint32_t GetNumPendingItems();
49
50 lldb::SBQueueItem GetPendingItemAtIndex(uint32_t);
51
52 uint32_t GetNumRunningItems();
53
54 lldb::QueueKind GetKind();
55
56 protected:
57 friend class SBProcess;
58 friend class SBThread;
59
60 void SetQueue(const lldb::QueueSP &queue_sp);
61
62 void FetchThreads();
63
64 void FetchItems();
65
66 private:
67 std::shared_ptr<lldb_private::QueueImpl> m_opaque_sp;
68 };
69
70 } // namespace lldb
71
72 #endif // LLDB_SBQueue_h_
lldb::SBThread
Definition: SBThread.h:21
SBDefines.h
lldb::SBQueue
Definition: SBQueue.h:20
lldb::SBQueue
class LLDB_API SBQueue
Definition: SBDefines.h:68
lldb::SBProcess
Definition: SBProcess.h:23
lldb::SBQueueItem
Definition: SBQueueItem.h:18