![]() |
libgpac
Documentation of the core library of GPAC
|
HTTP(S) Downloader. More...
Data Structures | |
struct | GF_URL_Info |
struct | GF_NETIO_Parameter |
struct | GF_UserCredentials |
Typedefs | |
typedef void(* | gf_dm_on_usr_pass) (void *usr_cbk, const char *usr_name, const char *password, Bool store_info) |
callback function for authentication | |
typedef Bool(* | gf_dm_get_usr_pass) (void *usr_cbk, Bool secure, const char *site_url, char *usr_name, char *password, gf_dm_on_usr_pass async_pass, void *async_udta) |
function for authentication | |
typedef void(* | gf_dm_user_io) (void *usr_cbk, GF_NETIO_Parameter *parameter) |
callback function for data reception and state signaling | |
Enumerations | |
enum | GF_NetIOStatus { GF_NETIO_SETUP = 0 , GF_NETIO_CONNECTED , GF_NETIO_GET_METHOD , GF_NETIO_GET_HEADER , GF_NETIO_GET_CONTENT , GF_NETIO_WAIT_FOR_REPLY , GF_NETIO_PARSE_HEADER , GF_NETIO_PARSE_REPLY , GF_NETIO_DATA_EXCHANGE , GF_NETIO_DATA_TRANSFERED , GF_NETIO_DISCONNECTED , GF_NETIO_STATE_ERROR , GF_NETIO_REQUEST_SESSION , GF_NETIO_CANCEL_STREAM } |
enum | GF_NetIOFlags { GF_NETIO_SESSION_NOT_THREADED = 1 , GF_NETIO_SESSION_NOT_CACHED = 1<<1 , GF_NETIO_SESSION_NOTIFY_DATA = 1<<2 , GF_NETIO_SESSION_PERSISTENT = 1<<3 , GF_NETIO_SESSION_MEMORY_CACHE = 1<<4 , GF_NETIO_SESSION_KEEP_CACHE = 1<<5 , GF_NETIO_SESSION_KEEP_FIRST_CACHE = 1<<6 , GF_NETIO_SESSION_AUTO_CACHE = 1<<7 , GF_NETIO_SESSION_NO_BLOCK = 1<<8 } |
enum | { GF_HTTP_UNKNOWN = 0 , GF_HTTP_GET , GF_HTTP_HEAD , GF_HTTP_OPTIONS , GF_HTTP_CONNECT , GF_HTTP_TRACE , GF_HTTP_PUT , GF_HTTP_POST , GF_HTTP_DELETE } |
enum | GF_CredentialRequestState { GF_CREDS_STATE_NONE =0 , GF_CREDS_STATE_PENDING , GF_CREDS_STATE_DONE } |
Functions | |
GF_Err | gf_dm_get_url_info (const char *url, GF_URL_Info *info, const char *baseURL) |
void | gf_dm_url_info_init (GF_URL_Info *info) |
void | gf_dm_url_info_del (GF_URL_Info *info) |
GF_DownloadManager * | gf_dm_new (GF_DownloadFilterSession *fsess) |
download manager constructor | |
void | gf_dm_del (GF_DownloadManager *dm) |
download manager destructor | |
void | gf_dm_set_auth_callback (GF_DownloadManager *dm, gf_dm_get_usr_pass get_pass, void *usr_cbk) |
password retrieval assignment | |
GF_DownloadSession * | gf_dm_sess_new (GF_DownloadManager *dm, const char *url, u32 dl_flags, gf_dm_user_io user_io, void *usr_cbk, GF_Err *error) |
download session constructor | |
GF_DownloadSession * | gf_dm_sess_new_simple (GF_DownloadManager *dm, const char *url, u32 dl_flags, gf_dm_user_io user_io, void *usr_cbk, GF_Err *e) |
download session simple constructor | |
void | gf_dm_sess_del (GF_DownloadSession *sess) |
downloader session destructor | |
void | gf_dm_sess_abort (GF_DownloadSession *sess) |
aborts downloading | |
GF_Err | gf_dm_sess_last_error (GF_DownloadSession *sess) |
gets last session error | |
GF_Err | gf_dm_sess_fetch_data (GF_DownloadSession *sess, char *buffer, u32 buffer_size, u32 *read_size) |
fetches data on session | |
const char * | gf_dm_sess_mime_type (GF_DownloadSession *sess) |
get mime type as lower case | |
GF_Err | gf_dm_sess_set_range (GF_DownloadSession *sess, u64 start_range, u64 end_range, Bool discontinue_cache) |
sets session range | |
const char * | gf_dm_sess_get_cache_name (GF_DownloadSession *sess) |
get cache file name | |
void | gf_dm_delete_cached_file_entry (const GF_DownloadManager *dm, const char *url) |
Marks the cache file to be deleted once the file is not used anymore by any session. | |
void | gf_dm_delete_cached_file_entry_session (const GF_DownloadSession *sess, const char *url) |
GF_Err | gf_dm_sess_get_stats (GF_DownloadSession *sess, const char **server, const char **path, u64 *total_size, u64 *bytes_done, u32 *bytes_per_sec, GF_NetIOStatus *net_status) |
get statistics | |
u64 | gf_dm_sess_get_utc_start (GF_DownloadSession *sess) |
get start time | |
GF_Err | gf_dm_sess_process (GF_DownloadSession *sess) |
fetch session object | |
GF_Err | gf_dm_sess_process_headers (GF_DownloadSession *sess) |
fetch session object headers | |
const char * | gf_dm_sess_get_resource_name (GF_DownloadSession *sess) |
Get session resource url. | |
GF_Err | gf_dm_wget_with_cache (GF_DownloadManager *dm, const char *url, const char *filename, u64 start_range, u64 end_range, char **redirected_url) |
GF_Err | gf_dm_wget (const char *url, const char *filename, u64 start_range, u64 end_range, char **redirected_url) |
Same as gf_dm_wget_with_cache, but initializes the GF_DownloadManager by itself. | |
GF_Err | gf_dm_sess_setup_from_url (GF_DownloadSession *sess, const char *url, Bool allow_direct_reuse) |
const char * | gf_dm_sess_get_header (GF_DownloadSession *sess, const char *name) |
retrieves the HTTP header value for the given name | |
GF_Err | gf_dm_sess_enum_headers (GF_DownloadSession *sess, u32 *idx, const char **hdr_name, const char **hdr_val) |
enumerates the HTTP headers for a session | |
void | gf_dm_set_data_rate (GF_DownloadManager *dm, u32 rate_in_bits_per_sec) |
sets download manager max rate per session | |
u32 | gf_dm_get_data_rate (GF_DownloadManager *dm) |
gets download manager max rate per session | |
u32 | gf_dm_get_global_rate (GF_DownloadManager *dm) |
gets cumultaed download rate for all sessions | |
GF_Err | gf_dm_sess_get_header_sizes_and_times (GF_DownloadSession *sess, u32 *req_hdr_size, u32 *rsp_hdr_size, u32 *connect_time, u32 *reply_time, u32 *download_time) |
Get header sizes and times stats for the session. | |
void | gf_dm_sess_force_memory_mode (GF_DownloadSession *sess, u32 force_cache_type) |
Forces session to use memory storage. | |
GF_Err | gf_dm_set_localcache_provider (GF_DownloadManager *dm, Bool(*local_cache_url_provider_cbk)(void *udta, char *url, Bool is_cache_destroy), void *lc_udta) |
DownloadedCacheEntry | gf_dm_add_cache_entry (GF_DownloadManager *dm, const char *szURL, GF_Blob *blob, u64 start_range, u64 end_range, const char *mime, Bool clone_memory, u32 download_time_ms) |
GF_Err | gf_dm_force_headers (GF_DownloadManager *dm, const DownloadedCacheEntry entry, const char *headers) |
GF_UserCredentials * | gf_user_credentials_find_for_site (GF_DownloadManager *dm, const char *server_name, const char *user_name) |
GF_UserCredentials * | gf_user_credentials_register (GF_DownloadManager *dm, Bool secure, const char *server_name, const char *username, const char *password, Bool valid) |
HTTP(S) Downloader.
>