download

download

Functions

Types and Values

Description

Functions

VikFileContentCheckerFunc ()

gboolean
(*VikFileContentCheckerFunc) (FILE *Param1);

a_check_map_file ()

gboolean
a_check_map_file (FILE *Param1);

a_check_html_file ()

gboolean
a_check_html_file (FILE *Param1);

a_check_kml_file ()

gboolean
a_check_kml_file (FILE *Param1);

a_try_decompress_file ()

void
a_try_decompress_file (gchar *name);

Perform magic to decide how which type of decompression to attempt

Parameters

name

The potentially compressed filename

 

VikFileContentConvertFunc ()

void
(*VikFileContentConvertFunc) (gchar *Param1);

a_download_init ()

void
a_download_init (void);

a_download_uninit ()

void
a_download_uninit (void);

a_http_download_get_url ()

DownloadResult_t
a_http_download_get_url (const char *hostname,
                         const char *uri,
                         const char *fn,
                         DownloadFileOptions *opt,
                         void *handle);

a_ftp_download_get_url ()

DownloadResult_t
a_ftp_download_get_url (const char *hostname,
                        const char *uri,
                        const char *fn,
                        DownloadFileOptions *opt,
                        void *handle);

a_download_handle_init ()

void *
a_download_handle_init ();

a_download_handle_cleanup ()

void
a_download_handle_cleanup (void *handle);

a_download_uri_to_tmp_file ()

gchar *
a_download_uri_to_tmp_file (const gchar *uri,
                            DownloadFileOptions *options);

Types and Values

DownloadFileOptions

typedef struct {
  /**
   * Check if the server has a more recent file than the one we have before downloading it
   * This uses http header If-Modified-Since
   */
  gboolean check_file_server_time;

  /**
   * Set if the server handle ETag
   */
  gboolean use_etag;

  /**
   * The REFERER string to use.
   * Could be NULL.
   */
  gchar *referer;

  /**
   * follow_location specifies the number of retries
   * to follow a redirect while downloading a page.
   */
  glong follow_location;

  /**
   * Custom http headers in the send request.
   * Separate multiple requests with '\n'
   */
  gchar *custom_http_headers;

  /**
   * File content checker.
   */
  VikFileContentCheckerFunc check_file;

  /**
   * If need to authenticate on download
   *  format: 'username:password'
   */
  gchar *user_pass;

  /**
   * https://curl.se/libcurl/c/CURLOPT_UNRESTRICTED_AUTH.html
   * Send credentials to other hosts too
   */
  gboolean allow_credential_follow;

  /**
   * ATM a single cookie jar is used between all connections that desire cookie usage
   */
  gboolean use_cookies;

  /**
   * File manipulation if necessary such as uncompressing the downloaded file.
   */
  VikFileContentConvertFunc convert_file;
} DownloadFileOptions;

enum DownloadResult_t

Members

DOWNLOAD_PARAMETERS_ERROR

   

DOWNLOAD_FILE_WRITE_ERROR

   

DOWNLOAD_HTTP_ERROR

   

DOWNLOAD_CONTENT_ERROR

   

DOWNLOAD_SUCCESS

   

DOWNLOAD_NOT_REQUIRED