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 Details

    • INVALID_KEY

      static final long INVALID_KEY
      The 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

      Icon getIcon​(boolean expanded)
      Gets the icon for this manager to be used in the TypeInfoArchiveGTree
      Parameters:
      expanded - true if the manager tree node is expanded
      Returns:
      the icon to be used in the tree
    • resolve

      ClassTypeInfoDB resolve​(ClassTypeInfo type)
      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

      ClassTypeInfoDB getType​(long key)
      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 corresponding GhidraClass
      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 corresponding Function
      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 and Namespace
      Parameters:
      name - the type's name
      namespace - 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

      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 the TypeInfoTreeNodeManager for this ClassTypeInfoManager
      Returns:
      this manager's TypeInfoTreeNodeManager
    • addListener

      default void addListener​(DomainObjectListener listener)
    • removeListener

      default void removeListener​(DomainObjectListener listener)