private void createDefinitionFile(string nodeName, string definition) { if (readContents.Length > 0) { List <Byte> definitionBytes = new List <byte>(); definitionBytes.AddRange(ASCIIEncoding.ASCII.GetBytes(definition)); definitionFile = new Apx.File(nodeName + ".apx", (uint)definitionBytes.Count); definitionFile.write(0, definitionBytes); Console.WriteLine("definitionFile length: " + definitionFile.length); definitionFile.setFileEventHandler(this); } else { throw new ArgumentException("Definition string must not be empty"); } }
protected override void _processFileWrite(uint address, bool more_bit, List <byte> data) { File remoteFile = remoteFileMap.findByAddress(address); if ((remoteFile != null) && (remoteFile.isOpen == true)) { int offset = (int)address - (int)remoteFile.address; if ((offset >= 0) && (offset + data.Count <= remoteFile.length)) { remoteFile.write((uint)offset, data, more_bit); } else { throw new ArgumentException("_processFileWrite couldn't write (outside of memory)"); } } else { Console.WriteLine("_processFileWrite: Nothing written"); } }