1 //===-- SBQueueItem.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_SBQueueItem_h_
11 #define LLDB_SBQueueItem_h_
12 
13 #include "lldb/API/SBAddress.h"
14 #include "lldb/API/SBDefines.h"
15 
16 namespace lldb {
17 
18 class LLDB_API SBQueueItem {
19 public:
20   SBQueueItem();
21 
22   SBQueueItem(const lldb::QueueItemSP &queue_item_sp);
23 
24   ~SBQueueItem();
25 
26   bool IsValid() const;
27 
28   void Clear();
29 
30   lldb::QueueItemKind GetKind() const;
31 
32   void SetKind(lldb::QueueItemKind kind);
33 
34   lldb::SBAddress GetAddress() const;
35 
36   void SetAddress(lldb::SBAddress addr);
37 
38   void SetQueueItem(const lldb::QueueItemSP &queue_item_sp);
39 
40   SBThread GetExtendedBacktraceThread(const char *type);
41 
42 private:
43   lldb::QueueItemSP m_queue_item_sp;
44 };
45 
46 } // namespace lldb
47 
48 #endif // LLDB_SBQueueItem_h_
49