Functions
Misc. utility functions
Functions

Functions

QUVIcode quvi_supported (quvi_t quvi, char *url)
 Check whether the library could parse the URL.
QUVIcode quvi_next_supported_website (quvi_t quvi, char **domain, char **formats)
 Return next supported website.
QUVIcode quvi_next_host (char **domain, char **formats)
 Next supported host.
char * quvi_strerror (quvi_t quvi, QUVIcode code)
 Return a string describing the error code.
char * quvi_version (QUVIversion type)
 Return libquvi version.
void quvi_free (void *ptr)
 Free allocated memory.

Function Documentation

QUVIcode quvi_supported ( quvi_t  quvi,
char *  url 
)

Check whether the library could parse the URL.

The library checks the URL with each website script to see whether it could parse the URL.

This function is designed to work without an Internet connection. This design has a drawback: most shortened URLs (e.g. is.gd, bit.ly, goo.gl, etc.) will fail with this function (QUVI_NOSUPPORTED). Such URLs would normally have to be resolved over an Internet connection. See also the notes.

Parameters:
quviHandle to session
urlNull-terminated string to an URL
Note:
  • Fails (QUVI_NOSUPPORT) with most shortened URLs (e.g. is.gd, goo.gl)
  • Works with a limited number of URL shorteners (youtu.be, dai.ly)
Since:
0.2.9
Remarks:
  • 0.2.9 - 0.2.14: Limited to basic domain name comparison
  • 0.2.15: Improved heuristics: Additional checks for different URL parts
Returns:
Non-zero if an error occurred
Examples:
quvi.c.
QUVIcode quvi_next_supported_website ( quvi_t  quvi,
char **  domain,
char **  formats 
)

Return next supported website.

This function can be used to iterate the supported websites.

Parameters:
quviHandle to a session
domainPointer to a null-terminated string (e.g. "youtube.com")
formatsPointer to a null-terminated string (e.g. "default|best|hq|hd")
Returns:
QUVI_OK or a non-zero value if an error occurred
  • QUVI_LAST indicates end of the list of the websites
  • Any other returned non-zero value indicates an actual error and should be handled accordingly (e.g. relaying the return code to quvi_strerror)
Note:
  • Both domain and formats string must be quvi_free()d after use
  • Return value QUVI_LAST is a non-zero value and indicates the end iteration
  • Consider handling errors
Since:
0.2.0

Example:

 while (quvi_next_supported_website(quvi, &domain, &formats) == QUVI_OK)
   {
     printf("%s\t%s\n", domain, formats);
     quvi_free(domain);
     quvi_free(formats);
   }
Examples:
quvi.c.
QUVIcode quvi_next_host ( char **  domain,
char **  formats 
)

Next supported host.

Iterate the list of the supported hosts.

Parameters:
domainPointer to a null-terminated string
formatsPointer to a null-terminated string
Returns:
QUVI_LAST (always)
Deprecated:
Since 0.2.0, use quvi_next_supported_website() instead
char* quvi_strerror ( quvi_t  quvi,
QUVIcode  code 
)

Return a string describing the error code.

Parameters:
quviHandle to a libquvi session
codeError code
Returns:
Null-terminated string
Warning:
Do not attempt to free the memory returned by this function

Example:

 quvi_t quvi;
 QUVIcode rc = quvi_init(&quvi);
 if (rc != QUVI_OK)
   {
     fprintf(stderr, "error: %s\n", quvi_strerror(quvi,rc));
     exit (rc);
   }
 quvi_close(&quvi);
Examples:
quvi.c, and simple.c.
char* quvi_version ( QUVIversion  type)

Return libquvi version.

Parameters:
typeVersion type
Returns:
Null-terminated string
Warning:
Do not attempt to free the memory returned by this function

Example:

Examples:
quvi.c.
void quvi_free ( void *  ptr)

Free allocated memory.

Parameters:
ptrPointer to data
Examples:
quvi.c.
 All Files Functions Typedefs Enumerations Enumerator Defines