SBSourceManager.h revision 81a96aa6242f7b559770f5dc62316253cb8cb0d4
1//===-- SBSourceManager.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_SBSourceManager_h_
11#define LLDB_SBSourceManager_h_
12
13#include "lldb/API/SBDefines.h"
14
15#include <stdio.h>
16
17namespace lldb {
18
19class SBSourceManager
20{
21public:
22    SBSourceManager (const SBDebugger &debugger);
23    SBSourceManager (const SBTarget &target);
24    SBSourceManager (const SBSourceManager &rhs);
25
26    ~SBSourceManager();
27
28    const lldb::SBSourceManager &
29    operator = (const lldb::SBSourceManager &rhs);
30
31    size_t
32    DisplaySourceLinesWithLineNumbers (const lldb::SBFileSpec &file,
33                                       uint32_t line,
34                                       uint32_t context_before,
35                                       uint32_t context_after,
36                                       const char* current_line_cstr,
37                                       lldb::SBStream &s);
38
39
40protected:
41    friend class SBCommandInterpreter;
42    friend class SBDebugger;
43
44    SBSourceManager(lldb_private::SourceManager *source_manager);
45
46private:
47
48    STD_UNIQUE_PTR(lldb_private::SourceManagerImpl) m_opaque_ap;
49};
50
51} // namespace lldb
52
53#endif  // LLDB_SBSourceManager_h_
54