package yaffs2.platform.jop; import yaffs2.port.yaffs_Device; import yaffs2.port.yaffs_Spare; import yaffs2.utils.Yaffs1NANDInterface; // XXX change to implement Yaffs1NANDInterface, add constructor for initialization public class InternalNANDYaffs1NANDInterface implements Yaffs1NANDInterface { public static InternalNANDYaffs1NANDInterface instance = new InternalNANDYaffs1NANDInterface( InternalNANDYaffs1NANDInterfacePrimitives.instance); protected InternalNANDYaffs1NANDInterfacePrimitives primitivesInstance; protected InternalNANDYaffs1NANDInterface(InternalNANDYaffs1NANDInterfacePrimitives instance) { this.primitivesInstance = instance; } /** * * writes data to nand at the address given * returns true if error occurred */ public boolean writeChunkToNAND(yaffs_Device dev, int chunkInNAND, byte[] data, int dataIndex, yaffs_Spare spare) { return primitivesInstance.writeChunkToNAND( dev.subField1.genericDevice, dev.subField1.nDataBytesPerChunk, chunkInNAND, data, dataIndex, spare.serialized, spare.offset); } public boolean eraseBlockInNAND(yaffs_Device dev, int blockNumber) { return primitivesInstance.eraseBlockInNAND( dev.subField1.genericDevice, dev.subField1.nDataBytesPerChunk, blockNumber); } /*public byte[] readFromNAND(int chunkInNAND) */ public boolean readChunkFromNAND(yaffs_Device dev, int chunkInNAND, byte[] data, int dataIndex, yaffs_Spare spare) { return primitivesInstance.readChunkFromNAND( dev.subField1.genericDevice, dev.subField1.nDataBytesPerChunk, chunkInNAND, data, dataIndex, spare.serialized, spare.offset); } public boolean initialiseNAND(yaffs_Device dev) { return primitivesInstance.initialiseNAND( dev.subField1.genericDevice, dev.subField1.nDataBytesPerChunk); } }