Isomet Modular Synthesiser (iMS) API
v1.4.2
iMS API
|
Interface Specification class for sending large binary data objects to the iMS. More...
#include <include/IBulkTransfer.h>
Public Member Functions | |
virtual bool | StartDownload ()=0 |
Initiates a Bulk Transfer download. More... | |
virtual bool | StartVerify ()=0 |
Initiates a Bulk Transfer verify. More... | |
virtual int | GetVerifyError ()=0 |
Returns the address of the next verify error or -1 if none. More... | |
Interface Specification class for sending large binary data objects to the iMS.
There are several instances in which large binary data must be transferred either from the host to the iMS or in the other direction, e.g. download of image data, compensation tables etc. This is known as Bulk Transfer and it implements a background process that supervises the splitting up of large data objects into individual messages compatible with the communications module, queuing them for transfer, verifying the success or failure of the transfer and reporting to the application software when the transfer is complete.
This interface class defines the methods which application software may use to control the Bulk Transfer process. It is inherited by API classes that require the use of a Bulk Transfer, and which implement the Bulk Transfer mechanism.
Completion and success or failure of a Bulk Transfer are indicated by the IEventHandler mechanism, which must be implemented by the derivative class
|
pure virtual |
Returns the address of the next verify error or -1 if none.
After the application has been notified of a failed verify, it can probe the BulkTransfer derived object to obtain the approximate address at which the BulkTransfer failed. The address is provided as a byte offset from the start of the BulkTransfer binary object.
Due to the way in which the BulkTransfer mechanism splits the transfer into individual messages, there will be one error recorded for each message that results in a verify fail. Therefore, the address will only be approximate, to the nearest message size boundary and if there are multiple byte fails within the scope of a single message, only one error will be recorded.
Calling this function repeatedly will result in returning the next recorded verify error. If there are no errors left, or the transfer was successful (i.e. there were no verify failures recorded) the function will return -1.
Implemented in iMS::CompensationTableDownload, iMS::ToneBufferDownload, and iMS::ImageDownload.
|
pure virtual |
Initiates a Bulk Transfer download.
If the user has subscribed to the relevant event notifications, the BulkTransfer derived object will issue a completion event at the end of the download process and will also warn the user anytime a download messaging error occurs.
Implemented in iMS::CompensationTableDownload, iMS::ToneBufferDownload, and iMS::ImageDownload.
|
pure virtual |
Initiates a Bulk Transfer verify.
If the user has subscribed to the relevant event notifications, the BulkTransfer derived object will raise an event to the application at the end of the verify process to indicate whether the verification was successful or not.
Implemented in iMS::CompensationTableDownload, iMS::ToneBufferDownload, and iMS::ImageDownload.