package de.persosim.simulator.apdu; import de.persosim.simulator.platform.Iso7816; import de.persosim.simulator.tlv.TlvDataObjectContainer; import de.persosim.simulator.tlv.TlvValue; public class SmMarkerApdu implements CommandApdu, IsoSecureMessagingCommandApdu { private final CommandApdu predecessor; public SmMarkerApdu(CommandApdu previousCommandApdu) { //store history predecessor = previousCommandApdu; } @Override public byte getSecureMessaging() { return Iso7816.SM_COMMAND_HEADER_AUTHENTICATED; } @Override public CommandApdu rewrapApdu(byte newSmStatus, byte[] data) { // XXX Auto-generated method stub return this; } @Override public boolean wasSecureMessaging() { return true; } @Override public byte getIsoFormat() { return predecessor.getIsoFormat(); } @Override public byte getCla() { return predecessor.getCla(); } @Override public byte getIns() { return predecessor.getIns(); } @Override public byte getP1() { return predecessor.getP1(); } @Override public byte getP2() { return predecessor.getP2(); } @Override public byte getIsoCase() { return predecessor.getIsoCase(); } @Override public boolean isExtendedLength() { return predecessor.isExtendedLength(); } @Override public int getNc() { return predecessor.getNc(); } @Override public TlvValue getCommandData() { return predecessor.getCommandData(); } @Override public TlvDataObjectContainer getCommandDataObjectContainer() { return getPredecessor().getCommandDataObjectContainer(); } @Override public int getNe() { return predecessor.getNe(); } @Override public short getP1P2() { return predecessor.getP1P2(); } @Override public byte[] getHeader() { return predecessor.getHeader(); } @Override public byte[] toByteArray() { return predecessor.toByteArray(); } @Override public CommandApdu getPredecessor() { SmMarkerApdu ret = new SmMarkerApdu(predecessor); return ret.predecessor; } @Override public boolean isNeZeroEncoded() { return predecessor.isNeZeroEncoded(); } }