MediaCurl.cc File Reference

#include <iostream>
#include <list>
#include "zypp/base/Logger.h"
#include "zypp/ExternalProgram.h"
#include "zypp/base/String.h"
#include "zypp/base/Gettext.h"
#include "zypp/base/Sysconfig.h"
#include "zypp/media/MediaCurl.h"
#include "zypp/media/proxyinfo/ProxyInfos.h"
#include "zypp/media/ProxyInfo.h"
#include "zypp/media/MediaUserAuth.h"
#include "zypp/media/CredentialManager.h"
#include "zypp/media/CurlConfig.h"
#include "zypp/thread/Once.h"
#include "zypp/Target.h"
#include "zypp/ZYppFactory.h"
#include "zypp/ZConfig.h"
#include <cstdlib>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/mount.h>
#include <errno.h>
#include <dirent.h>
#include <unistd.h>
#include <boost/format.hpp>

Include dependency graph for MediaCurl.cc:

Go to the source code of this file.


Namespaces

namespace  zypp
 Easy-to use interface to the ZYPP dependency resolver.
namespace  zypp::media

Defines

#define DETECT_DIR_INDEX   0
#define CONNECT_TIMEOUT   60
#define TRANSFER_TIMEOUT_MAX   60 * 60
#define EXPLICITLY_NO_PROXY   "_none_"
#define CURLVERSION_AT_LEAST(M, N, O)   LIBCURL_VERSION_NUM >= ((((M)<<8)+(N))<<8)+(O)
#define SET_OPTION(opt, val)
#define SET_OPTION_OFFT(opt, val)   SET_OPTION(opt,(curl_off_t)val)
#define SET_OPTION_LONG(opt, val)   SET_OPTION(opt,(long)val)
#define SET_OPTION_VOID(opt, val)   SET_OPTION(opt,(void*)val)

Functions

void zypp::media::fillSettingsFromUrl (const Url &url, TransferSettings &s)
 Fills the settings structure using options passed on the url for example ?timeout=x&proxy=foo.
void zypp::media::fillSettingsSystemProxy (const Url &url, TransferSettings &s)
 Reads the system proxy configuration and fills the settings structure proxy information.
static const char *const zypp::media::anonymousIdHeader ()
 initialized only once, this gets the anonymous id from the target, which we pass in the http header
static const char *const zypp::media::distributionFlavorHeader ()
 initialized only once, this gets the distribution flavor from the target, which we pass in the http header
static const char *const zypp::media::agentString ()
 initialized only once, this gets the agent string which also includes the curl version


Detailed Description

Definition in file MediaCurl.cc.


Define Documentation

#define DETECT_DIR_INDEX   0

Definition at line 43 of file MediaCurl.cc.

#define CONNECT_TIMEOUT   60

Definition at line 44 of file MediaCurl.cc.

#define TRANSFER_TIMEOUT_MAX   60 * 60

Definition at line 45 of file MediaCurl.cc.

#define EXPLICITLY_NO_PROXY   "_none_"

#define CURLVERSION_AT_LEAST ( M,
N,
 )     LIBCURL_VERSION_NUM >= ((((M)<<8)+(N))<<8)+(O)

Definition at line 50 of file MediaCurl.cc.

#define SET_OPTION ( opt,
val   ) 

Value:

do { \
    ret = curl_easy_setopt ( _curl, opt, val ); \
    if ( ret != 0) { \
      ZYPP_THROW(MediaCurlSetOptException(_url, _curlError)); \
    } \
  } while ( false )
Todo:
deprecate SET_OPTION and use the typed versions below.

Definition at line 406 of file MediaCurl.cc.

Referenced by zypp::media::MediaCurl::setupEasy().

#define SET_OPTION_OFFT ( opt,
val   )     SET_OPTION(opt,(curl_off_t)val)

Definition at line 413 of file MediaCurl.cc.

Referenced by zypp::media::MediaCurl::setupEasy().

#define SET_OPTION_LONG ( opt,
val   )     SET_OPTION(opt,(long)val)

Definition at line 414 of file MediaCurl.cc.

#define SET_OPTION_VOID ( opt,
val   )     SET_OPTION(opt,(void*)val)

Definition at line 415 of file MediaCurl.cc.


Variable Documentation

long timeout

Definition at line 175 of file MediaCurl.cc.

bool reached

Definition at line 176 of file MediaCurl.cc.

callback::SendReport<DownloadProgressReport>* report

double drate_period

Definition at line 179 of file MediaCurl.cc.

double dload_period

Definition at line 181 of file MediaCurl.cc.

long secs

Definition at line 183 of file MediaCurl.cc.

double drate_avg

Definition at line 185 of file MediaCurl.cc.

time_t ltime

Definition at line 187 of file MediaCurl.cc.

double dload

Definition at line 189 of file MediaCurl.cc.

double uload

Definition at line 191 of file MediaCurl.cc.


doxygen