LLDB API Documentation

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_
class LLDB_API SBQueue
Definition: SBDefines.h:68