libzypp  10.5.0
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.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 42 of file MediaCurl.cc.

#define CONNECT_TIMEOUT   60

Definition at line 43 of file MediaCurl.cc.

#define TRANSFER_TIMEOUT_MAX   60 * 60

Definition at line 44 of file MediaCurl.cc.

#define EXPLICITLY_NO_PROXY   "_none_"

Definition at line 46 of file MediaCurl.cc.

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

Definition at line 49 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 426 of file MediaCurl.cc.

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

Definition at line 433 of file MediaCurl.cc.

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

Definition at line 434 of file MediaCurl.cc.

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

Definition at line 435 of file MediaCurl.cc.


Variable Documentation

long timeout

Definition at line 174 of file MediaCurl.cc.

bool reached

Definition at line 175 of file MediaCurl.cc.

callback::SendReport<DownloadProgressReport>* report

Definition at line 176 of file MediaCurl.cc.

double drate_period

Definition at line 178 of file MediaCurl.cc.

double dload_period

Definition at line 180 of file MediaCurl.cc.

long secs

Definition at line 182 of file MediaCurl.cc.

double drate_avg

Definition at line 184 of file MediaCurl.cc.

time_t ltime

Definition at line 186 of file MediaCurl.cc.

double dload

Definition at line 188 of file MediaCurl.cc.

double uload

Definition at line 190 of file MediaCurl.cc.

Definition at line 191 of file MediaCurl.cc.