SBTypeCategory.h revision 16376ed044df3ee70fcf69e19f06af01e71a8e9a
1//===-- SBTypeCategory.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_SBTypeCategory_h_ 11#define LLDB_SBTypeCategory_h_ 12 13#include "lldb/API/SBDefines.h" 14 15namespace lldb { 16 17 class SBTypeCategory 18 { 19 public: 20 21 SBTypeCategory(); 22 23 SBTypeCategory (const lldb::SBTypeCategory &rhs); 24 25 ~SBTypeCategory (); 26 27 bool 28 IsValid() const; 29 30 bool 31 GetEnabled (); 32 33 void 34 SetEnabled (bool); 35 36 const char* 37 GetName(); 38 39 bool 40 GetDescription (lldb::SBStream &description, 41 lldb::DescriptionLevel description_level); 42 43 uint32_t 44 GetNumFormats (); 45 46 uint32_t 47 GetNumSummaries (); 48 49 uint32_t 50 GetNumFilters (); 51 52 uint32_t 53 GetNumSynthetics (); 54 55 SBTypeNameSpecifier 56 GetTypeNameSpecifierForFilterAtIndex (uint32_t); 57 58 SBTypeNameSpecifier 59 GetTypeNameSpecifierForFormatAtIndex (uint32_t); 60 61 SBTypeNameSpecifier 62 GetTypeNameSpecifierForSummaryAtIndex (uint32_t); 63 64 SBTypeNameSpecifier 65 GetTypeNameSpecifierForSyntheticAtIndex (uint32_t); 66 67 SBTypeFilter 68 GetFilterForType (SBTypeNameSpecifier); 69 70 SBTypeFormat 71 GetFormatForType (SBTypeNameSpecifier); 72 73 SBTypeSummary 74 GetSummaryForType (SBTypeNameSpecifier); 75 76 SBTypeSynthetic 77 GetSyntheticForType (SBTypeNameSpecifier); 78 79 SBTypeFilter 80 GetFilterAtIndex (uint32_t); 81 82 SBTypeFormat 83 GetFormatAtIndex (uint32_t); 84 85 SBTypeSummary 86 GetSummaryAtIndex (uint32_t); 87 88 SBTypeSynthetic 89 GetSyntheticAtIndex (uint32_t); 90 91 bool 92 AddTypeFormat (SBTypeNameSpecifier, 93 SBTypeFormat); 94 95 bool 96 DeleteTypeFormat (SBTypeNameSpecifier); 97 98 bool 99 AddTypeSummary (SBTypeNameSpecifier, 100 SBTypeSummary); 101 102 bool 103 DeleteTypeSummary (SBTypeNameSpecifier); 104 105 bool 106 AddTypeFilter (SBTypeNameSpecifier, 107 SBTypeFilter); 108 109 bool 110 DeleteTypeFilter (SBTypeNameSpecifier); 111 112 bool 113 AddTypeSynthetic (SBTypeNameSpecifier, 114 SBTypeSynthetic); 115 116 bool 117 DeleteTypeSynthetic (SBTypeNameSpecifier); 118 119 lldb::SBTypeCategory & 120 operator = (const lldb::SBTypeCategory &rhs); 121 122 bool 123 operator == (lldb::SBTypeCategory &rhs); 124 125 bool 126 operator != (lldb::SBTypeCategory &rhs); 127 128 protected: 129 friend class SBDebugger; 130 131 lldb::TypeCategoryImplSP 132 GetSP (); 133 134 void 135 SetSP (const lldb::TypeCategoryImplSP &typecategory_impl_sp); 136 137 TypeCategoryImplSP m_opaque_sp; 138 139 SBTypeCategory (const lldb::TypeCategoryImplSP &); 140 141 SBTypeCategory (const char*); 142 143 bool 144 IsDefaultCategory(); 145 146 }; 147 148} // namespace lldb 149 150#endif // LLDB_SBTypeCategory_h_ 151