+ * @vtl: The TrackWaypoint layer to operate on
+ * @track: Operate on a particular track when specified
+ * @dir: The direction of the transfer
+ * @protocol: The GPS device communication protocol
+ * @port: The GPS serial port
+ * @tracking: If tracking then viewport display update will be skipped
+ * @vvp: A viewport is required as the display may get updated
+ * @vlp: A layers panel is needed for uploading as the items maybe modified
+ * @do_tracks: Whether tracks shoud be processed
+ * @do_waypoints: Whether waypoints shoud be processed
+ * @turn_off: Whether we should attempt to turn off the GPS device after the transfer (only some devices support this)