Top | ![]() |
![]() |
![]() |
![]() |
gboolean | (*VikFileContentCheckerFunc) () |
gboolean | a_check_map_file () |
gboolean | a_check_html_file () |
gboolean | a_check_kml_file () |
void | a_try_decompress_file () |
void | (*VikFileContentConvertFunc) () |
void | a_download_init () |
void | a_download_uninit () |
DownloadResult_t | a_http_download_get_url () |
DownloadResult_t | a_ftp_download_get_url () |
void * | a_download_handle_init () |
void | a_download_handle_cleanup () |
gchar * | a_download_uri_to_tmp_file () |
void
a_try_decompress_file (gchar *name
);
Perform magic to decide how which type of decompression to attempt
DownloadResult_t a_http_download_get_url (const char *hostname
,const char *uri
,const char *fn
,DownloadFileOptions *opt
,void *handle
);
DownloadResult_t a_ftp_download_get_url (const char *hostname
,const char *uri
,const char *fn
,DownloadFileOptions *opt
,void *handle
);
gchar * a_download_uri_to_tmp_file (const gchar *uri
,DownloadFileOptions *options
);
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;