1 //===-- CommandObjectThread.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 liblldb_CommandObjectThread_h_
11 #define liblldb_CommandObjectThread_h_
12 
13 // C Includes
14 // C++ Includes
15 // Other libraries and framework includes
16 // Project includes
17 #include "lldb/Interpreter/CommandObjectMultiword.h"
18 
19 namespace lldb_private {
20 
21 class CommandObjectThreadList : public CommandObject
22 {
23 public:
24 
25     CommandObjectThreadList ();
26 
27     ~CommandObjectThreadList ();
28 
29     virtual bool
30     Execute (Args& command,
31              CommandContext *context,
32              CommandInterpreter *interpreter,
33              CommandReturnObject &result);
34 };
35 
36 
37 class CommandObjectMultiwordThread : public CommandObjectMultiword
38 {
39 public:
40 
41     CommandObjectMultiwordThread (CommandInterpreter *interpreter);
42 
43     virtual
44     ~CommandObjectMultiwordThread ();
45 
46 };
47 
48 
49 bool
50 DisplayThreadInfo (CommandInterpreter *interpreter,
51                    Stream &strm,
52                    Thread *thread,
53                    bool only_threads_with_stop_reason,
54                    bool show_source);
55 
56 size_t
57 DisplayThreadsInfo (CommandInterpreter *interpreter,
58                     ExecutionContext *exe_ctx,
59                     CommandReturnObject &result,
60                     bool only_threads_with_stop_reason,
61                     bool show_source);
62 
63 size_t
64 DisplayFramesForExecutionContext (Thread *thread,
65                                   CommandInterpreter *interpreter,
66                                   Stream& strm,
67                                   bool ascending,
68                                   uint32_t first_frame,
69                                   uint32_t num_frames,
70                                   bool show_frame_info,
71                                   uint32_t num_frames_with_source,
72                                   uint32_t source_lines_before,
73                                   uint32_t source_lines_after);
74 
75 bool
76 DisplayFrameForExecutionContext (Thread *thread,
77                                  StackFrame *frame,
78                                  CommandInterpreter *interpreter,
79                                  Stream& strm,
80                                  bool show_frame_info,
81                                  bool show_source,
82                                  uint32_t source_lines_before,
83                                  uint32_t source_lines_after);
84 
85 } // namespace lldb_private
86 
87 #endif  // liblldb_CommandObjectThread_h_
88