Package ghidra.program.model.data
Class StandAloneDataTypeManager
java.lang.Object
ghidra.program.database.data.DataTypeManagerDB
ghidra.program.model.data.StandAloneDataTypeManager
- All Implemented Interfaces:
DataTypeManager
- Direct Known Subclasses:
BuiltInDataTypeManager,FileDataTypeManager
Basic implementation of the DataTypeManger interface
-
Field Summary
FieldsFields inherited from class ghidra.program.database.data.DataTypeManagerDB
addrMap, dataOrganization, dbHandle, defaultListener, errHandler, lock, sourceArchiveAdapter, universalIDFields inherited from interface ghidra.program.model.data.DataTypeManager
BAD_DATATYPE_ID, BUILT_IN_ARCHIVE_KEY, BUILT_IN_ARCHIVE_UNIVERSAL_ID, BUILT_IN_DATA_TYPES_NAME, DEFAULT_DATATYPE_ID, LOCAL_ARCHIVE_KEY, LOCAL_ARCHIVE_UNIVERSAL_ID, NULL_DATATYPE_ID -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedStandAloneDataTypeManager(ResourceFile packedDbfile, int openMode) Constructor for a data-type manager backed by a packed database file.StandAloneDataTypeManager(String rootName) Constructor for new temporary data-type manager using the default DataOrganization.StandAloneDataTypeManager(String rootName, DataOrganization dataOrganzation) Constructor for new temporary data-type manager using a specified DataOrganization. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Closes this dataType managerprotected voiddeleteDataTypeIDs(LinkedList<Long> deletedIds, TaskMonitor monitor) voidendTransaction(int transactionID, boolean commit) Ends the current transactionvoidfinalize()voidForce all pending notification events to be flushedfinal DataOrganizationGet the data organization associated with this data type manager.protected StringgetName()Returns this data type manager's nameprotected StringgetPath()getType()Returns this manager's archive typeprotected voidreplaceDataTypeIDs(long oldID, long newID) voidSets this data type manager's nameintstartTransaction(String description) Starts a transaction for making changes in this data type manager.Methods inherited from class ghidra.program.database.data.DataTypeManagerDB
addDataType, addDataTypeManagerListener, addDataTypes, addDataTypeToDelete, addInvalidatedListener, allowsDefaultBuiltInSettings, allowsDefaultComponentSettings, associateDataTypeWithArchive, categoryCreated, categoryMoved, categoryRemoved, categoryRenamed, contains, containsCategory, createCategory, dataTypeAdded, dataTypeChanged, dataTypeDeleted, dataTypeMoved, dataTypeNameChanged, dataTypeReplaced, dataTypeSettingsChanged, dbError, disassociate, dispose, doSourceArchiveUpdates, favoritesChanged, findDataType, findDataTypeForID, findDataTypes, findDataTypes, findEnumValueNames, fixupComposites, getAllComposites, getAllDataTypes, getAllDataTypes, getAllStructures, getCategory, getCategory, getCategoryCount, getDataMap, getDataType, getDataType, getDataType, getDataType, getDataType, getDataTypeCount, getDataTypes, getDataTypes, getDataTypesContaining, getFavorites, getID, getLastChangeTimeForMyManager, getLocalSourceArchive, getPointer, getPointer, getResolvedID, getRootCategory, getSourceArchive, getSourceArchive, getSourceArchives, getUniqueName, getUniversalID, getUnusedConflictName, initializeOtherAdapters, invalidateCache, isChanged, isCreatingDataType, isFavorite, isTransactionActive, isUpdatable, migrateOldFlexArrayComponentsIfRequired, remove, removeDataTypeManagerListener, removeInvalidatedListener, removeSourceArchive, replaceDataType, replaceSourceArchive, resolve, resolveSourceArchive, setFavorite, sourceArchiveAdded, sourceArchiveChanged, updateID, updateSourceArchiveName, updateSourceArchiveName
-
Field Details
-
name
-
-
Constructor Details
-
StandAloneDataTypeManager
Constructor for new temporary data-type manager using the default DataOrganization. Note that this manager does not support the save or saveAs operation.- Parameters:
rootName- Name of the root category.
-
StandAloneDataTypeManager
Constructor for new temporary data-type manager using a specified DataOrganization. Note that this manager does not support the save or saveAs operation.- Parameters:
rootName- Name of the root category.dataOrganzation- applicable data organization
-
StandAloneDataTypeManager
Constructor for a data-type manager backed by a packed database file. When opening for UPDATE an automatic upgrade will be performed if required.- Parameters:
packedDbfile- packed datatype archive file (i.e., *.gdt resource).openMode- open mode CREATE, READ_ONLY or UPDATE (seeDBConstants)- Throws:
IOException- a low-level IO error. This exception may also be thrown when a version error occurs (cause is VersionException).
-
-
Method Details
-
getName
Description copied from interface:DataTypeManagerReturns this data type manager's name- Returns:
- the name
-
setName
Description copied from interface:DataTypeManagerSets this data type manager's name- Parameters:
name- the new name- Throws:
InvalidNameException- if the given name is invalid (such as when null or empty)
-
getDataOrganization
Description copied from interface:DataTypeManagerGet the data organization associated with this data type manager. Note that the DataOrganization settings may not be changed dynamically.- Specified by:
getDataOrganizationin interfaceDataTypeManager- Overrides:
getDataOrganizationin classDataTypeManagerDB- Returns:
- data organization (will never be null)
-
startTransaction
Description copied from interface:DataTypeManagerStarts a transaction for making changes in this data type manager.- Parameters:
description- a short description of the changes to be made.- Returns:
- the transaction ID
-
flushEvents
public void flushEvents()Description copied from interface:DataTypeManagerForce all pending notification events to be flushed -
endTransaction
public void endTransaction(int transactionID, boolean commit) Description copied from interface:DataTypeManagerEnds the current transaction- Parameters:
transactionID- id of the transaction to endcommit- true if changes are committed, false if changes in transaction are revoked
-
replaceDataTypeIDs
protected void replaceDataTypeIDs(long oldID, long newID) - Specified by:
replaceDataTypeIDsin classDataTypeManagerDB
-
deleteDataTypeIDs
- Specified by:
deleteDataTypeIDsin classDataTypeManagerDB
-
close
public void close()Description copied from interface:DataTypeManagerCloses this dataType manager- Specified by:
closein interfaceDataTypeManager- Overrides:
closein classDataTypeManagerDB
-
finalize
public void finalize() -
getDomainFileID
- Specified by:
getDomainFileIDin classDataTypeManagerDB
-
getPath
- Specified by:
getPathin classDataTypeManagerDB
-
getType
Description copied from interface:DataTypeManagerReturns this manager's archive type- Returns:
- the type
-