private void transmitFile(object obj) { string ipAddress = ((string[])obj)[0]; string file = ((string[])obj)[1]; Protocol prot = ((string[])obj)[2].Contains("JODI") ? Protocol.JODI : Protocol.HAXX; setControls(false); HbcTransmitter transmitter = new HbcTransmitter(prot, ipAddress); transmitter.Progress += new System.EventHandler<System.ComponentModel.ProgressChangedEventArgs>(transmitter_Progress); if (!transmitter.TransmitFile(file)) { MessageBox.Show(transmitter.LastError, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { MessageBox.Show(string.Format("Successfully transmitted file!{0}", (transmitter.CompressionRatio > 0) ? "\nCompression Ratio: " + transmitter.CompressionRatio + "%" : string.Empty), "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); } setControls(true); }
void bwTransmit_DoWork(object sender, DoWorkEventArgs e) { try { BackgroundWorker bwTransmit = sender as BackgroundWorker; //Insert wad into stub dol string fileName = "CMiiInstaller.dol"; byte[] fileData = CustomizeMiiInstaller.InstallerHelper.CreateInstaller(wadCreationInfo.wadFile, (byte)wadCreationInfo.transmitIos).ToArray(); //Transmit installer Stopwatch transmitTimer = new Stopwatch(); HbcTransmitter transmitter = new HbcTransmitter(wadCreationInfo.transmitProtocol, wadCreationInfo.transmitIp); transmitter.Progress += new EventHandler<ProgressChangedEventArgs>(transmitter_Progress); transmitter_Progress(null, new ProgressChangedEventArgs(0, null)); transmitTimer.Start(); bool success = transmitter.TransmitFile(fileName, fileData); transmitTimer.Stop(); if (!success) errorBox(transmitter.LastError); else { transmitInfo.timeElapsed = (int)transmitTimer.ElapsedMilliseconds; transmitInfo.compressionRatio = transmitter.CompressionRatio; transmitInfo.transmittedLength = Math.Round(transmitter.TransmittedLength * 0.0009765625, 2); } } catch (Exception ex) { errorBox(ex.Message); } }