ZOO-Project
Functions
caching.h File Reference
#include "ulinet.h"
#include "service.h"

Go to the source code of this file.

Functions

void addToCache (maps *, char *, char *, char *, int, char *, size_t)
 Cache a file for a given request. More...
 
char * isInCache (maps *, char *)
 Verify if a url is available in the cache. More...
 
int runHttpRequests (maps **, maps **, HINTERNET *, map **)
 Effectively run all the HTTP requests in the queue. More...
 
void addRequestToQueue (maps **, HINTERNET *, const char *, bool)
 Add a request in the download queue. More...
 
int loadRemoteFile (maps **, map **, HINTERNET *, char *)
 Try to load file from cache or download a remote file if not in cache. More...
 
char * getMd5f (char *)
 Compute md5 of a file. More...
 
int storeMd5 (char *)
 

Function Documentation

void addRequestToQueue ( maps **  m,
HINTERNET hInternet,
const char *  url,
bool  req 
)

Add a request in the download queue.

Parameters
mthe maps containing the settings of the main.cfg file
urlthe url to add to the queue
void addToCache ( maps conf,
char *  request,
char *  content,
char *  mimeType,
int  length,
char *  filepath,
size_t  max_path 
)

Cache a file for a given request.

For each cached file, the are two files stored, a .zca and a .zcm containing the downloaded content and the mimeType respectively.

Parameters
confthe maps containing the settings of the main.cfg file
requestthe url used too fetch the content
contentthe downloaded content
mimeTypethe content mimeType
lengththe content size
filepatha buffer for storing the path of the cached file; may be NULL
max_paththe size of the allocated filepath buffer
char* getMd5f ( char *  file)

Compute md5 of a file.

Parameters
filethe char*
Returns
a char* representing the md5 of the url
Warning
make sure to free resources returned by this function
char* isInCache ( maps conf,
char *  request 
)

Verify if a url is available in the cache.

Parameters
confthe maps containing the settings of the main.cfg file
requestthe url
Returns
the full name of the cached file if any, NULL in other case
Warning
make sure to free resources returned by this function (if not NULL)
int loadRemoteFile ( maps **  m,
map **  content,
HINTERNET hInternet,
char *  url 
)

Try to load file from cache or download a remote file if not in cache.

Parameters
mthe maps containing the settings of the main.cfg file
contentthe map to update
hInternetthe HINTERNET pointer
urlthe url to fetch
Returns
0
int runHttpRequests ( maps **  m,
maps **  inputs,
HINTERNET hInternet,
map **  error 
)

Effectively run all the HTTP requests in the queue.

Parameters
mthe maps containing the settings of the main.cfg file
inputsthe maps containing the inputs (defined in the requests+added per default based on the zcfg file)
hInternetthe HINTERNET pointer
errorthe error map pointer
Returns
0 on success, -1 on failure
int storeMd5 ( char *  )