Package ghidra.formats.gfilesystem
Class FileSystemRefManager
- java.lang.Object
- 
- ghidra.formats.gfilesystem.FileSystemRefManager
 
- 
 public class FileSystemRefManager extends java.lang.ObjectA threadsafe helper class that manages creating and releasingFileSystemRefinstances and broadcasting events toFileSystemEventListenerlisteners.
- 
- 
Constructor SummaryConstructors Constructor Description FileSystemRefManager(GFileSystem fs)Creates a newFileSystemRefManagerpointing at the specifiedGFileSystem.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddListener(FileSystemEventListener listener)booleancanClose(FileSystemRef callersRef)Returns true if the onlyFileSystemRefpinning this filesystem is the caller's ref.FileSystemRefcreate()Creates a newFileSystemRefthat points at the owningfilesystem.voidfinalize()longgetLastUsedTimestamp()voidonClose()Called from theCloseable.close()before any destructive changes have been made to gracefully shutdown the ref manager.voidrelease(FileSystemRef ref)Releases an existingFileSystemRefand broadcastsFileSystemEventListener.onFilesystemRefChange(GFileSystem, FileSystemRefManager)to listeners.voidremoveListener(FileSystemEventListener listener)Removes a previously addedlistener.
 
- 
- 
- 
Constructor Detail- 
FileSystemRefManagerpublic FileSystemRefManager(GFileSystem fs) Creates a newFileSystemRefManagerpointing at the specifiedGFileSystem.- Parameters:
- fs-- GFileSystemto manage.
 
 
- 
 - 
Method Detail- 
addListenerpublic void addListener(FileSystemEventListener listener) - Parameters:
- listener-- FileSystemEventListenerto receive callbacks, weakly refd and automagically removed if a reference isn't held to the listener somewhere else.
 
 - 
removeListenerpublic void removeListener(FileSystemEventListener listener) Removes a previously addedlistener.- Parameters:
- listener-- FileSystemEventListenerto remove.
 
 - 
createpublic FileSystemRef create() Creates a newFileSystemRefthat points at the owningfilesystem.- Returns:
- new FileSystemRefpointing at the filesystem, never null.
 
 - 
releasepublic void release(FileSystemRef ref) Releases an existingFileSystemRefand broadcastsFileSystemEventListener.onFilesystemRefChange(GFileSystem, FileSystemRefManager)to listeners.- Parameters:
- ref- the- FileSystemRefto release.
 
 - 
canClosepublic boolean canClose(FileSystemRef callersRef) Returns true if the onlyFileSystemRefpinning this filesystem is the caller's ref.- Parameters:
- callersRef-- FileSystemRefto test
- Returns:
- boolean true if the tested FileSystemRefis the only ref pinning the filesystem.
 
 - 
onClosepublic void onClose() Called from theCloseable.close()before any destructive changes have been made to gracefully shutdown the ref manager.Broadcasts FileSystemEventListener.onFilesystemClose(GFileSystem).
 - 
finalizepublic void finalize() - Overrides:
- finalizein class- java.lang.Object
 
 - 
getLastUsedTimestamppublic long getLastUsedTimestamp() 
 
- 
 
-