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