1//===-- SWIG Interface for SBQueue.h -----------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9namespace lldb {
10
11class SBQueue
12{
13public:
14    SBQueue ();
15
16    SBQueue (const lldb::QueueSP& queue_sp);
17
18   ~SBQueue();
19
20    bool
21    IsValid() const;
22
23    explicit operator bool() const;
24
25    void
26    Clear ();
27
28    lldb::SBProcess
29    GetProcess ();
30
31    %feature("autodoc", "
32    Returns an lldb::queue_id_t type unique identifier number for this
33    queue that will not be used by any other queue during this process'
34    execution.  These ID numbers often start at 1 with the first
35    system-created queues and increment from there.")
36    GetQueueID;
37
38    lldb::queue_id_t
39    GetQueueID () const;
40
41    const char *
42    GetName () const;
43
44    %feature("autodoc", "
45    Returns an lldb::QueueKind enumerated value (e.g. eQueueKindUnknown,
46    eQueueKindSerial, eQueueKindConcurrent) describing the type of this
47    queue.")
48    GetKind();
49
50    lldb::QueueKind
51    GetKind();
52
53    uint32_t
54    GetIndexID () const;
55
56    uint32_t
57    GetNumThreads ();
58
59    lldb::SBThread
60    GetThreadAtIndex (uint32_t);
61
62    uint32_t
63    GetNumPendingItems ();
64
65    lldb::SBQueueItem
66    GetPendingItemAtIndex (uint32_t);
67
68    uint32_t
69    GetNumRunningItems ();
70
71};
72
73} // namespace lldb
74
75