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
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 _do_free_once ()
void globalFreeOnce ()
void _do_init_once ()
void globalInitOnce ()
int log_curl (CURL *curl, curl_infotype info, char *ptr, size_t len, void *max_lvl)
static size_t log_redirects_curl (void *ptr, size_t size, size_t nmemb, void *stream)
void zypp::media::escape (string &str_r, const char char_r, const string &escaped_r)
string zypp::media::escapedPath (string path_r)
string zypp::media::unEscape (string text_r)
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

Variables

zypp::thread::OnceFlag g_InitOnceFlag = PTHREAD_ONCE_INIT
zypp::thread::OnceFlag g_FreeOnceFlag = PTHREAD_ONCE_INIT


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_"

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

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

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

Definition at line 433 of file MediaCurl.cc.

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

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


Function Documentation

void @151::_do_free_once (  )  [static]

Definition at line 59 of file MediaCurl.cc.

Referenced by globalFreeOnce().

void @151::globalFreeOnce (  )  [static]

Definition at line 64 of file MediaCurl.cc.

References _do_free_once(), and zypp::thread::callOnce().

void @151::_do_init_once (  )  [static]

Definition at line 69 of file MediaCurl.cc.

References WAR.

Referenced by globalInitOnce().

void @151::globalInitOnce (  )  [inline, static]

Definition at line 87 of file MediaCurl.cc.

References _do_init_once(), and zypp::thread::callOnce().

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

int @151::log_curl ( CURL *  curl,
curl_infotype  info,
char *  ptr,
size_t  len,
void *  max_lvl 
) [static]

Definition at line 92 of file MediaCurl.cc.

References DBG, and zypp::str::split().

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

static size_t @151::log_redirects_curl ( void *  ptr,
size_t  size,
size_t  nmemb,
void *  stream 
) [static]

Definition at line 119 of file MediaCurl.cc.

References DBG.

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


Variable Documentation

zypp::thread::OnceFlag g_InitOnceFlag = PTHREAD_ONCE_INIT [static]

Definition at line 56 of file MediaCurl.cc.

zypp::thread::OnceFlag g_FreeOnceFlag = PTHREAD_ONCE_INIT [static]

Definition at line 57 of file MediaCurl.cc.

long timeout

Definition at line 174 of file MediaCurl.cc.

bool reached

Definition at line 175 of file MediaCurl.cc.

callback::SendReport<DownloadProgressReport>* report

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.


Generated on Tue May 5 14:44:30 2015 for libzypp by  doxygen 1.5.6