///////////////////////////////////////////////////////////////////
// forward declaration
- class MountEntry;
+ struct MountEntry;
class MediaManager_Impl;
///////////////////////////////////////////////////////////////////
* The MediaManager uses several media access handlers (backends),
* that can be specified by a Media Access URL in its open() method.
*
- * All URL's may contain following query parameters, that are
+ * All URLs may contain following query parameters, that are
* reserved by the Source classes and unused/ignored by the media
* manager:
* - <tt>alias</tt>: A source specific media alias string.
* Optional parameter, containing a comma separated list of
* block device names to use, e.g.: "/dev/sr0,/dev/sr1".
* <br>
- * The device names will be verified using a HAL query. If one
- * of the provided devices is not usable (not a block device,
- * or does not support required media type), an exception is
- * thrown.
+ * The device names will be verified. If one of the provided
+ * devices is not usable (not a block device, or does not
+ * support required media type), an exception is thrown.
* <br>
- * If the devices parameter is not provided (or empty), all
- * avaliable CD/DVD drives 'detected' using a HAL query. The
- * preferred drive (used as first drive) is the drive pointed
- * to by the symlink "/dev/dvd" ("dvd" scheme only) or
- * "/dev/cdrom".
+ * If the devices parameter is not provided (or empty), available
+ * CD/DVD drives will be auto-detected. The preferred device is
+ * the one denoted by "/dev/dvd" ("dvd" scheme only) or "/dev/cdrom".
* - Authority:
* A non-empty authority URL component (e.g. containing a host
* name) is not allowed.
* server is authentic against the chain of digital signatures
* found in <tt>ssl_capath</tt>.
* - <tt>ssl_clientcert</tt>
- * Path to a ssl client certificate for authentication to a repo.
+ * Path to the ssl client certificate for authentication to a repo (CURLOPT_SSLCERT).
+ * - <tt>ssl_clientkey</tt>
+ * Path to the ssl client key for authentication to a repo (CURLOPT_SSLKEY).
* - <tt>timeout</tt>:
* Transfer timeout in seconds between 0 and 3600, 0 disables
* the timeout, default timeout is 180 seconds.
*
* \param accessId The media access id to use.
* \param filename The filename to provide, relative to localRoot().
+ * \param expectedFileSize The expected filesize, download will stop if it is exceeded
*
* \throws MediaNotOpenException in case of invalid access id.
* \throws MediaNotAttachedException in case, that the media is not attached.
*/
void
+ provideFile(MediaAccessId accessId,
+ const Pathname &filename,
+ const ByteCount &expectedFileSize) const;
+
+ void
provideFile(MediaAccessId accessId,
const Pathname &filename ) const;