jigdo API
glibcurl/glibcurl.h File Reference
Use the libcurl multi interface from GTK+/glib programs without having to resort to multithreading. More...
#include <curl/curl.h>
Go to the source code of this file.
Typedefs | |
typedef void(* | GlibcurlCallback )(void *) |
Callback function for glibcurl_set_callback. | |
Functions | |
void | glibcurl_init () |
Initialize libcurl. | |
CURLM * | glibcurl_handle () |
Return global multi handle. | |
CURLMcode | glibcurl_add (CURL *easy_handle) |
Convenience function, just executes curl_multi_add_handle(glibcurl_handle(), easy_handle); glibcurl_start(). | |
CURLMcode | glibcurl_remove (CURL *easy_handle) |
Convenience function, just executes curl_multi_remove_handle(glibcurl_handle(), easy_handle). | |
void | glibcurl_start () |
Call this whenever you have added a request using curl_multi_add_handle(). | |
void | glibcurl_set_callback (GlibcurlCallback function, void *data) |
Set function to call after each invocation of curl_multi_perform(). | |
void | glibcurl_cleanup () |
You must call glibcurl_remove() and curl_easy_cleanup() for all requests before calling this. |
Detailed Description
Use the libcurl multi interface from GTK+/glib programs without having to resort to multithreading.
Typedef Documentation
typedef void(* GlibcurlCallback)(void *) |
Callback function for glibcurl_set_callback.
Function Documentation
CURLMcode glibcurl_add | ( | CURL * | easy_handle | ) |
Convenience function, just executes curl_multi_add_handle(glibcurl_handle(), easy_handle); glibcurl_start().
References CurlGSource_::callPerform, and CurlGSource_::multiHandle.
Referenced by Download::cont(), main(), and Download::run().
void glibcurl_cleanup | ( | ) |
You must call glibcurl_remove() and curl_easy_cleanup() for all requests before calling this.
This function makes calls to curl_multi_cleanup() and curl_global_cleanup().
References CurlGSource_::multiHandle, and CurlGSource_::source.
Referenced by Download::cleanup(), and main().
CURLM* glibcurl_handle | ( | ) |
void glibcurl_init | ( | ) |
Initialize libcurl.
Call this once at the beginning of your program. This function makes calls to curl_global_init() and curl_multi_init()
References CurlGSource_::callPerform, D, GLIBCURL_EXC, GLIBCURL_FDMAX, GLIBCURL_READ, GLIBCURL_WRITE, CurlGSource_::lastPollFd, CurlGSource_::lastPollFdMax, CurlGSource_::multiHandle, NULL, and CurlGSource_::source.
Referenced by Download::init(), and main().
CURLMcode glibcurl_remove | ( | CURL * | easy_handle | ) |
Convenience function, just executes curl_multi_remove_handle(glibcurl_handle(), easy_handle).
References CurlGSource_::multiHandle.
Referenced by main(), Download::pause(), Download::stop(), and Download::~Download().
void glibcurl_set_callback | ( | GlibcurlCallback | function, | |
void * | data | |||
) |
Set function to call after each invocation of curl_multi_perform().
Pass function==0 to unregister a previously set callback. The callback function will be called with the supplied data pointer as its first argument.
References NULL, and CurlGSource_::source.
Referenced by Download::init(), and main().
void glibcurl_start | ( | ) |
Call this whenever you have added a request using curl_multi_add_handle().
This is necessary to start new requests. It does so by triggering a call to curl_multi_perform() even in the case where no open fds cause that function to be called anyway. The call happens "later", i.e. during the next iteration of the glib main loop. glibcurl_start() only sets a flag to make it happen.
References CurlGSource_::callPerform.
Generated on Tue Sep 23 14:27:42 2008 for jigdo by
