diff --git a/src/de/mas/wiiu/jnus/interfaces/FSTDataProvider.java b/src/de/mas/wiiu/jnus/interfaces/FSTDataProvider.java new file mode 100644 index 0000000..597410e --- /dev/null +++ b/src/de/mas/wiiu/jnus/interfaces/FSTDataProvider.java @@ -0,0 +1,22 @@ +package de.mas.wiiu.jnus.interfaces; + +import java.io.IOException; +import java.io.InputStream; +import java.util.Optional; + +import de.mas.wiiu.jnus.entities.fst.FSTEntry; + +public interface FSTDataProvider { + public String getName(); + + public FSTEntry getRoot(); + + public default byte[] readFile(FSTEntry entry) throws IOException { + return readFile(entry, 0, entry.getFileSize()); + } + + public byte[] readFile(FSTEntry entry, long offset, long size) throws IOException; + + public InputStream readFileAsStream(FSTEntry entry, long offset, Optional size) throws IOException; + +}