libzypp  11.13.5
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

Macros

#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.


Macro Definition 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.

zypp::Url url

Definition at line 191 of file MediaCurl.cc.