1 //===-- SBQueue.h -----------------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef LLDB_SBQueue_h_
11 #define LLDB_SBQueue_h_
15 #include "lldb/API/SBDefines.h"
16 #include "lldb/lldb-forward.h"
20 class LLDB_API SBQueue {
24 SBQueue(const QueueSP &queue_sp);
26 SBQueue(const SBQueue &rhs);
28 const SBQueue &operator=(const lldb::SBQueue &rhs);
36 lldb::SBProcess GetProcess();
38 lldb::queue_id_t GetQueueID() const;
40 const char *GetName() const;
42 uint32_t GetIndexID() const;
44 uint32_t GetNumThreads();
46 lldb::SBThread GetThreadAtIndex(uint32_t);
48 uint32_t GetNumPendingItems();
50 lldb::SBQueueItem GetPendingItemAtIndex(uint32_t);
52 uint32_t GetNumRunningItems();
54 lldb::QueueKind GetKind();
57 friend class SBProcess;
58 friend class SBThread;
60 void SetQueue(const lldb::QueueSP &queue_sp);
67 std::shared_ptr<lldb_private::QueueImpl> m_opaque_sp;
72 #endif // LLDB_SBQueue_h_