+++ /dev/null
-/*---------------------------------------------------------------------\
-| ____ _ __ __ ___ |
-| |__ / \ / / . \ . \ |
-| / / \ V /| _/ _/ |
-| / /__ | | | | | | |
-| /_____||_| |_| |_| |
-| |
-\---------------------------------------------------------------------*/
-/** \file zypp/media/MediaAria2c.h
- *
-*/
-#ifndef ZYPP_MEDIA_MEDIAARIA2C_H
-#define ZYPP_MEDIA_MEDIAARIA2C_H
-
-#include "zypp/media/MediaHandler.h"
-#include "zypp/ZYppCallbacks.h"
-
-namespace zypp {
- namespace media {
-
-///////////////////////////////////////////////////////////////////
-//
-// CLASS NAME : MediaAria2c
-/**
- * @short Implementation class for FTP, HTTP and HTTPS MediaHandler using an external program (aria2c) to retrive files
- * @author gfarrasb (gfarrasb@gmail.com)
- * @see MediaHandler
- **/
-class MediaAria2c : public MediaHandler {
-
- protected:
-
- virtual void attachTo (bool next = false);
- virtual void releaseFrom( const std::string & ejectDev );
- virtual void getFile( const Pathname & filename ) const;
- virtual void getDir( const Pathname & dirname, bool recurse_r ) const;
- virtual void getDirInfo( std::list<std::string> & retlist,
- const Pathname & dirname, bool dots = true ) const;
- virtual void getDirInfo( filesystem::DirContent & retlist,
- const Pathname & dirname, bool dots = true ) const;
- /**
- * Repeatedly calls doGetDoesFileExist() until it successfully returns,
- * fails unexpectedly, or user cancels the operation. This is used to
- * handle authentication or similar retry scenarios on media level.
- */
- virtual bool getDoesFileExist( const Pathname & filename ) const;
-
- /**
- * \see MediaHandler::getDoesFileExist
- */
- //virtual bool doGetDoesFileExist( const Pathname & filename ) const;
-
- /**
- *
- * \throws MediaException
- *
- */
- virtual void disconnectFrom();
- /**
- *
- * \throws MediaException
- *
- */
- virtual void getFileCopy( const Pathname & srcFilename, const Pathname & targetFilename) const;
-
- /**
- *
- * \throws MediaException
- *
- */
- //virtual void doGetFileCopy( const Pathname & srcFilename, const Pathname & targetFilename, callback::SendReport<DownloadProgressReport> & _report) const;
-
-
- virtual bool checkAttachPoint(const Pathname &apoint) const;
-
- public:
-
- MediaAria2c( const Url & url_r,
- const Pathname & attach_point_hint_r );
-
- virtual ~MediaAria2c() { try { release(); } catch(...) {} }
-
- //static void setCookieFile( const Pathname & );
-
- /* External process to get aria2c version - TODO */
- std::string getAria2cVersion();
-
- class Callbacks
- {
- public:
- virtual ~Callbacks() {}
- virtual bool progress( int percent ) = 0;
- };
-
- protected:
-
- //static int progressCallback( void *clientp, double dltotal, double dlnow,
- // double ultotal, double ulnow );
-
- /** The user agent string */
- static const char *const agentString();
-
-
- private:
- /**
- * Return a comma separated list of available authentication methods
- * supported by server.
- */
- //std::string getAuthHint() const;
-
-
-
- private:
- //CURL *_curl;
- //char _curlError[ CURL_ERROR_SIZE ];
- //long _curlDebug;
-
- mutable std::string _userpwd;
- std::string _proxy;
- std::string _proxyuserpwd;
- std::string _currentCookieFile;
- std::string _ca_path;
- long _xfer_timeout;
-
- static Pathname _cookieFile;
-
- /** Aria2c path */
- static Pathname _aria2cPath;
-};
-
-///////////////////////////////////////////////////////////////////
-
- } // namespace media
-} // namespace zypp
-
-#endif // ZYPP_MEDIA_MEDIAARIA2C_H