37 lines
1009 B
Java
37 lines
1009 B
Java
package sega.a7;
|
|
|
|
import javacard.framework.JCSystem;
|
|
import javacard.framework.Util;
|
|
|
|
public class AppBuffer {
|
|
private static final short BUFFER_SIZE = 416;
|
|
|
|
private short[] m_ramD_size = JCSystem.makeTransientShortArray((short) 1, (byte) 1);
|
|
private byte[] m_ramD_buffer = JCSystem.makeTransientByteArray(BUFFER_SIZE, (byte) 1);
|
|
|
|
public AppBuffer() {
|
|
this.m_ramD_size[0] = 0;
|
|
}
|
|
|
|
public byte[] getBuffer_ramD() {
|
|
return this.m_ramD_buffer;
|
|
}
|
|
|
|
public short getBufferSize_ramD() {
|
|
return this.m_ramD_size[0];
|
|
}
|
|
|
|
public boolean setData_ramD(byte[] data, short offset, short length) {
|
|
if (this.m_ramD_size[0] + length > this.m_ramD_buffer.length)
|
|
return false;
|
|
|
|
Util.arrayCopyNonAtomic(data, offset, this.m_ramD_buffer, this.m_ramD_size[0], length);
|
|
this.m_ramD_size[0] = (short) (this.m_ramD_size[0] + length);
|
|
return true;
|
|
}
|
|
|
|
public void clear_ramD() {
|
|
this.m_ramD_size[0] = 0;
|
|
}
|
|
}
|