// builds the list of files to transfer (async) private void BuildTransferList(DelegateTransfer callback, BuildTransferListAsync caller) { try { // calls wether BuildUploadList or BuildDownloadList async caller.BeginInvoke( delegate(IAsyncResult iar) { var c = (BuildTransferListAsync)iar.AsyncState; c.EndInvoke(iar); callback(true); }, caller); } catch (Exception e) { ErrorLog.Add(this, e.Message); callback(false); } }
// builds the list of files do upload (async) private void BuildUploadListAsync(DelegateTransfer callback) { var caller = new BuildTransferListAsync(BuildUploadList); BuildTransferList(callback, caller); }