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