xref: /trueos/contrib/llvm/tools/lldb/include/lldb/API/SBQueueItem.h (revision fa88ea9f26d1e5430901a9ca6c47daebcc5af5de)
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/SBDefines.h"
14 #include "lldb/API/SBAddress.h"
15 #include "lldb/API/SBThread.h"
16 
17 namespace lldb {
18 
19 class SBQueueItem
20 {
21 public:
22     SBQueueItem ();
23 
24     SBQueueItem (const lldb::QueueItemSP& queue_item_sp);
25 
26    ~SBQueueItem();
27 
28     bool
29     IsValid() const;
30 
31     void
32     Clear ();
33 
34     lldb::QueueItemKind
35     GetKind () const;
36 
37     void
38     SetKind (lldb::QueueItemKind kind);
39 
40     lldb::SBAddress
41     GetAddress () const;
42 
43     void
44     SetAddress (lldb::SBAddress addr);
45 
46     void
47     SetQueueItem (const lldb::QueueItemSP& queue_item_sp);
48 
49     SBThread
50     GetExtendedBacktraceThread (const char *type);
51 
52 private:
53     lldb::QueueItemSP           m_queue_item_sp;
54 };
55 
56 } // namespace lldb
57 
58 #endif  // LLDB_SBQueueItem_h_
59