Package cppclassanalyzer.data
Interface ClassTypeInfoManager
- All Superinterfaces:
ErrorHandler
- All Known Subinterfaces:
FileArchiveClassTypeInfoManager,ProgramClassTypeInfoManager
- All Known Implementing Classes:
ArchiveClassTypeInfoManager,ClassTypeInfoManagerDB,ItaniumAbiClassTypeInfoManager,LibraryClassTypeInfoManager,ProjectClassTypeInfoManager,VsClassTypeInfoManager
public interface ClassTypeInfoManager extends ErrorHandler
ClassTypeInfoManager manages all
ClassTypeInfo within
a DomainObject-
Field Summary
Fields Modifier and Type Field Description static longINVALID_KEYThe value which represents an invalid database key -
Method Summary
Modifier and Type Method Description default voidaddListener(DomainObjectListener listener)IcongetIcon(boolean expanded)Gets the icon for this manager to be used in theTypeInfoArchiveGTreeStringgetName()Gets the name of this managerTypeInfoTreeNodeManagergetTreeNodeManager()Gets theTypeInfoTreeNodeManagerfor this ClassTypeInfoManagerClassTypeInfoDBgetType(long key)Gets the ClassTypeInfo for the corresponding database keyClassTypeInfoDBgetType(Function fun)Gets the ClassTypeInfo for the correspondingFunctionClassTypeInfoDBgetType(GhidraClass gc)Gets the ClassTypeInfo for the correspondingGhidraClassClassTypeInfoDBgetType(String symbolName)Gets the ClassTypeInfo with the specified symbol.ClassTypeInfoDBgetType(String name, Namespace namespace)Gets the ClassTypeInfo with the specified name andNamespaceintgetTypeCount()Gets the number of managed ClassTypeInfosIterable<ClassTypeInfoDB>getTypes()Gets an iterable over all the managed ClassTypeInfosStream<ClassTypeInfoDB>getTypeStream()Gets a stream of all the managed ClassTypeInfosdefault voidremoveListener(DomainObjectListener listener)ClassTypeInfoDBresolve(ClassTypeInfo type)Returns a ClassTypeInfo that is managed by this ClassTypeInfoManager.Methods inherited from interface db.util.ErrorHandler
dbError
-
Field Details
-
INVALID_KEY
static final long INVALID_KEYThe value which represents an invalid database key- See Also:
- Constant Field Values
-
-
Method Details
-
getName
String getName()Gets the name of this manager- Returns:
- the managers name
-
getIcon
Gets the icon for this manager to be used in theTypeInfoArchiveGTree- Parameters:
expanded- true if the manager tree node is expanded- Returns:
- the icon to be used in the tree
-
resolve
Returns a ClassTypeInfo that is managed by this ClassTypeInfoManager. If one does not currently exist a new one is created.- Parameters:
type- the type to resolve- Returns:
- the equivalent type managed by this ClassTypeInfoManager
-
getType
Gets the ClassTypeInfo for the corresponding database key- Parameters:
key- the database key- Returns:
- the ClassTypeInfo or null if it doesn't exist
-
getType
Gets the ClassTypeInfo for the correspondingGhidraClass- Parameters:
gc- the GhidraClass- Returns:
- the ClassTypeInfo or null if it doesn't exist
- Throws:
UnresolvedClassTypeInfoException- if this type requires a copy relocation which cannot be resolved.
-
getType
Gets the ClassTypeInfo for the correspondingFunction- Parameters:
fun- the function- Returns:
- the ClassTypeInfo or null if it doesn't exist
- Throws:
UnresolvedClassTypeInfoException- if this type requires a copy relocation which cannot be resolved.
-
getType
Gets the ClassTypeInfo with the specified name andNamespace- Parameters:
name- the type's namenamespace- the type's namespace- Returns:
- the ClassTypeInfo or null if it doesn't exist
- Throws:
UnresolvedClassTypeInfoException- if this type requires a copy relocation which cannot be resolved.
-
getType
Gets the ClassTypeInfo with the specified symbol. The supplied symbol should be mangled.- Parameters:
symbolName- the mangled symbol name- Returns:
- the ClassTypeInfo or null if it doesn't exist
- Throws:
UnresolvedClassTypeInfoException- if this type requires a copy relocation which cannot be resolved.
-
getTypes
Iterable<ClassTypeInfoDB> getTypes()Gets an iterable over all the managed ClassTypeInfos- Returns:
- an iterable over all the managed ClassTypeInfos
-
getTypeStream
Stream<ClassTypeInfoDB> getTypeStream()Gets a stream of all the managed ClassTypeInfos- Returns:
- a stream of all the managed ClassTypeInfos
-
getTypeCount
int getTypeCount()Gets the number of managed ClassTypeInfos- Returns:
- the number of managed ClassTypeInfos
-
getTreeNodeManager
TypeInfoTreeNodeManager getTreeNodeManager()Gets theTypeInfoTreeNodeManagerfor this ClassTypeInfoManager- Returns:
- this manager's TypeInfoTreeNodeManager
-
addListener
-
removeListener
-