LogChannelDWARF.h revision 314564
1296417Sdim//===-- LogChannelDWARF.h ---------------------------------------*- C++ -*-===// 2254721Semaste// 3254721Semaste// The LLVM Compiler Infrastructure 4254721Semaste// 5254721Semaste// This file is distributed under the University of Illinois Open Source 6254721Semaste// License. See LICENSE.TXT for details. 7254721Semaste// 8254721Semaste//===----------------------------------------------------------------------===// 9254721Semaste 10254721Semaste#ifndef SymbolFileDWARF_LogChannelDWARF_h_ 11254721Semaste#define SymbolFileDWARF_LogChannelDWARF_h_ 12254721Semaste 13254721Semaste// C Includes 14254721Semaste// C++ Includes 15254721Semaste// Other libraries and framework includes 16254721Semaste// Project includes 17254721Semaste#include "lldb/Core/Log.h" 18254721Semaste 19314564Sdim#define DWARF_LOG_VERBOSE (1u << 0) 20314564Sdim#define DWARF_LOG_DEBUG_INFO (1u << 1) 21314564Sdim#define DWARF_LOG_DEBUG_LINE (1u << 2) 22314564Sdim#define DWARF_LOG_DEBUG_PUBNAMES (1u << 3) 23314564Sdim#define DWARF_LOG_DEBUG_PUBTYPES (1u << 4) 24314564Sdim#define DWARF_LOG_DEBUG_ARANGES (1u << 5) 25314564Sdim#define DWARF_LOG_LOOKUPS (1u << 6) 26314564Sdim#define DWARF_LOG_TYPE_COMPLETION (1u << 7) 27314564Sdim#define DWARF_LOG_DEBUG_MAP (1u << 8) 28314564Sdim#define DWARF_LOG_ALL (UINT32_MAX) 29314564Sdim#define DWARF_LOG_DEFAULT (DWARF_LOG_DEBUG_INFO) 30254721Semaste 31314564Sdimclass LogChannelDWARF : public lldb_private::LogChannel { 32254721Semastepublic: 33314564Sdim LogChannelDWARF(); 34254721Semaste 35314564Sdim ~LogChannelDWARF() override; 36254721Semaste 37314564Sdim static void Initialize(); 38254721Semaste 39314564Sdim static void Terminate(); 40254721Semaste 41314564Sdim static lldb_private::ConstString GetPluginNameStatic(); 42254721Semaste 43314564Sdim static const char *GetPluginDescriptionStatic(); 44254721Semaste 45314564Sdim static lldb_private::LogChannel *CreateInstance(); 46254721Semaste 47314564Sdim lldb_private::ConstString GetPluginName() override; 48254721Semaste 49314564Sdim uint32_t GetPluginVersion() override; 50254721Semaste 51314564Sdim void Disable(const char **categories, 52314564Sdim lldb_private::Stream *feedback_strm) override; 53254721Semaste 54314564Sdim void Delete(); 55254721Semaste 56314564Sdim bool Enable(lldb::StreamSP &log_stream_sp, uint32_t log_options, 57314564Sdim lldb_private::Stream 58314564Sdim *feedback_strm, // Feedback stream for argument errors etc 59314564Sdim const char **categories) override; // The categories to enable 60314564Sdim // within this logging stream, 61314564Sdim // if empty, enable default set 62254721Semaste 63314564Sdim void ListCategories(lldb_private::Stream *strm) override; 64254721Semaste 65314564Sdim static lldb_private::Log *GetLog(); 66254721Semaste 67314564Sdim static lldb_private::Log *GetLogIfAll(uint32_t mask); 68314564Sdim 69314564Sdim static lldb_private::Log *GetLogIfAny(uint32_t mask); 70314564Sdim 71314564Sdim static void LogIf(uint32_t mask, const char *format, ...); 72254721Semaste}; 73254721Semaste 74296417Sdim#endif // SymbolFileDWARF_LogChannelDWARF_h_ 75