Package ghidra.formats.gfilesystem
Class RefdByteProvider
java.lang.Object
ghidra.formats.gfilesystem.RefdByteProvider
- All Implemented Interfaces:
ByteProvider
,Closeable
,AutoCloseable
A
ByteProvider
along with a FileSystemRef
to keep the filesystem pinned
in memory.
The caller is responsible for closing
this object, which releases
the FilesystemRef.
-
Field Summary
Fields inherited from interface ghidra.app.util.bin.ByteProvider
EMPTY_BYTEPROVIDER
-
Constructor Summary
ConstructorDescriptionRefdByteProvider
(FileSystemRef fsRef, ByteProvider provider, FSRL fsrl) Creates a RefdByteProvider instance, taking ownership of the supplied FileSystemRef. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Releases any resources theByteProvider
may have occupiedReturns the absolute path (similar to, but not a, URI) to theByteProvider
.getFile()
Returns the underlyingFile
for thisByteProvider
, or null if thisByteProvider
is not associated with aFile
.getFSRL()
Returns theFSRL
of the underlying file for this byte provider, or null if this byte provider is not associated with a file.getName()
Returns the name of theByteProvider
.boolean
isValidIndex
(long index) Returns true if the specified index is valid.long
length()
Returns the length of theByteProvider
byte
readByte
(long index) Reads a byte at the specified indexbyte[]
readBytes
(long index, long length) Reads a byte array at the specified indextoString()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface ghidra.app.util.bin.ByteProvider
getInputStream, isEmpty
-
Constructor Details
-
RefdByteProvider
Creates a RefdByteProvider instance, taking ownership of the supplied FileSystemRef.- Parameters:
fsRef
-FileSystemRef
that contains the specified ByteProviderprovider
-ByteProvider
inside the filesystem held open by the reffsrl
-FSRL
identity of this new ByteProvider
-
-
Method Details
-
close
Description copied from interface:ByteProvider
Releases any resources theByteProvider
may have occupied- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceByteProvider
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
- if an I/O error occurs
-
getFSRL
Description copied from interface:ByteProvider
Returns theFSRL
of the underlying file for this byte provider, or null if this byte provider is not associated with a file.- Specified by:
getFSRL
in interfaceByteProvider
- Returns:
- The
FSRL
of the underlyingFile
, or null if no associatedFile
.
-
getFile
Description copied from interface:ByteProvider
Returns the underlyingFile
for thisByteProvider
, or null if thisByteProvider
is not associated with aFile
.- Specified by:
getFile
in interfaceByteProvider
- Returns:
- the underlying file for this byte provider
-
getName
Description copied from interface:ByteProvider
Returns the name of theByteProvider
. For example, the underlying file name.- Specified by:
getName
in interfaceByteProvider
- Returns:
- the name of the
ByteProvider
or null if there is no name
-
getAbsolutePath
Description copied from interface:ByteProvider
Returns the absolute path (similar to, but not a, URI) to theByteProvider
. For example, the complete path to the file.- Specified by:
getAbsolutePath
in interfaceByteProvider
- Returns:
- the absolute path to the
ByteProvider
or null if not associated with aFile
.
-
length
Description copied from interface:ByteProvider
Returns the length of theByteProvider
- Specified by:
length
in interfaceByteProvider
- Returns:
- the length of the
ByteProvider
- Throws:
IOException
- if an I/O error occurs
-
isValidIndex
public boolean isValidIndex(long index) Description copied from interface:ByteProvider
Returns true if the specified index is valid.- Specified by:
isValidIndex
in interfaceByteProvider
- Parameters:
index
- the index in the byte provider to check- Returns:
- true if the specified index is valid
-
readByte
Description copied from interface:ByteProvider
Reads a byte at the specified index- Specified by:
readByte
in interfaceByteProvider
- Parameters:
index
- the index of the byte to read- Returns:
- the byte read from the specified index
- Throws:
IOException
- if an I/O error occurs
-
readBytes
Description copied from interface:ByteProvider
Reads a byte array at the specified index- Specified by:
readBytes
in interfaceByteProvider
- Parameters:
index
- the index of the byte to readlength
- the number of bytes to read- Returns:
- the byte array read from the specified index
- Throws:
IOException
- if an I/O error occurs
-
toString
-