/** Send an entire stread of data. @param in The stream of data to send. @return Zero if successful, or a negative error value if failed. @pre SendInitialise() must have been successful. */ int QymodemTx::SendAll(InStream& in) { BlockNumber = 1; // first block to send is number one size_t size; do { // get data from input stream... quint8 data[1024]; int result = in.In(data,sizeof(data)); emit Percent(in.percent); if(result<0) return ErrorInputStreamError; // send data... size = result; result = SendData(data,size); if(result<0) return result; } while(size); // end when no more data left return 0; }