SBSourceManager.h revision 538eb82a89a68dbc57251915080bd5152b333978
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 lldb::SBSourceManager &rhs);
23
24    ~SBSourceManager();
25
26#ifndef SWIG
27    const lldb::SBSourceManager &
28    operator = (const lldb::SBSourceManager &rhs);
29#endif
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                                       FILE *f);
38
39
40protected:
41    friend class SBCommandInterpreter;
42    friend class SBDebugger;
43
44    SBSourceManager(lldb_private::SourceManager *source_manager);
45
46private:
47
48    lldb_private::SourceManager *m_opaque_ptr;
49};
50
51} // namespace lldb
52
53#endif  // LLDB_SBSourceManager_h_
54