]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/llvm/tools/lldb/include/lldb/lldb-private.h
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / llvm / tools / lldb / include / lldb / lldb-private.h
1 //===-- lldb-private.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_lldb_private_h_
11 #define lldb_lldb_private_h_
12
13 #if defined(__cplusplus)
14
15 #include "lldb/lldb-public.h"
16 #include "lldb/lldb-private-enumerations.h"
17 #include "lldb/lldb-private-interfaces.h"
18 #include "lldb/lldb-private-log.h"
19 #include "lldb/lldb-private-types.h"
20
21 namespace lldb_private {
22
23 //------------------------------------------------------------------
24 /// Initializes lldb.
25 ///
26 /// This function should be called prior to using any lldb
27 /// classes to ensure they have a chance to do any static
28 /// initialization that they need to do.
29 //------------------------------------------------------------------
30 void
31 Initialize();
32
33
34 //------------------------------------------------------------------
35 /// Notifies any classes that lldb will be terminating soon.
36 ///
37 /// This function will be called when the Debugger shared instance
38 /// is being destructed and will give classes the ability to clean
39 /// up any threads or other resources they have that they might not
40 /// be able to clean up in their own destructors.
41 ///
42 /// Internal classes that need this ability will need to add their
43 /// void T::WillTerminate() method in the body of this function in
44 /// lldb.cpp to ensure it will get called.
45 ///
46 /// TODO: when we start having external plug-ins, we will need a way
47 /// for plug-ins to register a WillTerminate callback.
48 //------------------------------------------------------------------
49 void
50 WillTerminate();
51
52 //------------------------------------------------------------------
53 /// Terminates lldb
54 ///
55 /// This function optionally can be called when clients are done
56 /// using lldb functionality to free up any static resources
57 /// that have been allocated during initialization or during
58 /// function calls. No lldb functions should be called after
59 /// calling this function without again calling DCInitialize()
60 /// again.
61 //------------------------------------------------------------------
62 void
63 Terminate();
64
65
66 const char *
67 GetVersion ();
68
69 const char *
70 GetVoteAsCString (Vote vote);
71
72 const char *
73 GetSectionTypeAsCString (lldb::SectionType sect_type);
74     
75 bool
76 NameMatches (const char *name, NameMatchType match_type, const char *match);
77
78 } // namespace lldb_private
79
80
81 #endif  // defined(__cplusplus)
82
83
84 #endif  // lldb_lldb_private_h_