diff options
Diffstat (limited to 'src/org/tukaani/xz/ARMThumbOptions.java')
-rw-r--r-- | src/org/tukaani/xz/ARMThumbOptions.java | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/org/tukaani/xz/ARMThumbOptions.java b/src/org/tukaani/xz/ARMThumbOptions.java new file mode 100644 index 0000000..4dcfbe4 --- /dev/null +++ b/src/org/tukaani/xz/ARMThumbOptions.java @@ -0,0 +1,37 @@ +/* + * ARMThumbOptions + * + * Author: Lasse Collin <lasse.collin@tukaani.org> + * + * This file has been put into the public domain. + * You can do whatever you want with this file. + */ + +package org.tukaani.xz; + +import java.io.InputStream; +import org.tukaani.xz.simple.ARMThumb; + +/** + * BCJ filter for little endian ARM-Thumb instructions. + */ +public class ARMThumbOptions extends BCJOptions { + private static final int ALIGNMENT = 2; + + public ARMThumbOptions() { + super(ALIGNMENT); + } + + public FinishableOutputStream getOutputStream(FinishableOutputStream out, + ArrayCache arrayCache) { + return new SimpleOutputStream(out, new ARMThumb(true, startOffset)); + } + + public InputStream getInputStream(InputStream in, ArrayCache arrayCache) { + return new SimpleInputStream(in, new ARMThumb(false, startOffset)); + } + + FilterEncoder getFilterEncoder() { + return new BCJEncoder(this, BCJCoder.ARMTHUMB_FILTER_ID); + } +} |