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
11%feature("docstring",
12"Represents a libdispatch queue in the process."
13) SBQueue;
14class SBQueue
15{
16public:
17    SBQueue ();
18
19    SBQueue (const lldb::QueueSP& queue_sp);
20
21   ~SBQueue();
22
23    bool
24    IsValid() const;
25
26    explicit operator bool() const;
27
28    void
29    Clear ();
30
31    lldb::SBProcess
32    GetProcess ();
33
34    %feature("autodoc", "
35    Returns an lldb::queue_id_t type unique identifier number for this
36    queue that will not be used by any other queue during this process'
37    execution.  These ID numbers often start at 1 with the first
38    system-created queues and increment from there.")
39    GetQueueID;
40
41    lldb::queue_id_t
42    GetQueueID () const;
43
44    const char *
45    GetName () const;
46
47    %feature("autodoc", "
48    Returns an lldb::QueueKind enumerated value (e.g. eQueueKindUnknown,
49    eQueueKindSerial, eQueueKindConcurrent) describing the type of this
50    queue.")
51    GetKind();
52
53    lldb::QueueKind
54    GetKind();
55
56    uint32_t
57    GetIndexID () const;
58
59    uint32_t
60    GetNumThreads ();
61
62    lldb::SBThread
63    GetThreadAtIndex (uint32_t);
64
65    uint32_t
66    GetNumPendingItems ();
67
68    lldb::SBQueueItem
69    GetPendingItemAtIndex (uint32_t);
70
71    uint32_t
72    GetNumRunningItems ();
73
74};
75
76} // namespace lldb
77
78