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 long
INVALID_KEY
The value which represents an invalid database key -
Method Summary
Modifier and Type Method Description default void
addListener(DomainObjectListener listener)
Icon
getIcon(boolean expanded)
Gets the icon for this manager to be used in theTypeInfoArchiveGTree
String
getName()
Gets the name of this managerTypeInfoTreeNodeManager
getTreeNodeManager()
Gets theTypeInfoTreeNodeManager
for this ClassTypeInfoManagerClassTypeInfoDB
getType(long key)
Gets the ClassTypeInfo for the corresponding database keyClassTypeInfoDB
getType(Function fun)
Gets the ClassTypeInfo for the correspondingFunction
ClassTypeInfoDB
getType(GhidraClass gc)
Gets the ClassTypeInfo for the correspondingGhidraClass
ClassTypeInfoDB
getType(String symbolName)
Gets the ClassTypeInfo with the specified symbol.ClassTypeInfoDB
getType(String name, Namespace namespace)
Gets the ClassTypeInfo with the specified name andNamespace
int
getTypeCount()
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 void
removeListener(DomainObjectListener listener)
ClassTypeInfoDB
resolve(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 theTypeInfoTreeNodeManager
for this ClassTypeInfoManager- Returns:
- this manager's TypeInfoTreeNodeManager
-
addListener
-
removeListener
-