unit-tests: Add a simple thread_cancel() test
[strongswan.git] / src / libstrongswan / fetcher / fetcher_manager.h
index 183964d..449f284 100644 (file)
@@ -26,22 +26,25 @@ typedef struct fetcher_manager_t fetcher_manager_t;
 #include <fetcher/fetcher.h>
 
 /**
- * Fetches from URIs using registerd fetcher_t instances.
+ * Fetches from URIs using registered fetcher_t instances.
  */
 struct fetcher_manager_t {
 
        /**
-        * Fetch data from URI into chunk.
+        * Fetch data from URI.
         *
         * The variable argument list contains fetcher_option_t's, followed
         * by a option specific data argument.
+        * If no FETCH_CALLBACK function is given as option, userdata must be
+        * a chunk_t*. This chunk gets allocated, accumulated data using the
+        * fetcher_default_callback() function.
         *
         * @param uri                   URI to fetch from
-        * @param result                chunk which receives allocated data
+        * @param userdata              userdata to pass to callback function.
         * @param options               FETCH_END terminated fetcher_option_t arguments
         * @return                              status indicating result of fetch
         */
-       status_t (*fetch)(fetcher_manager_t *this, char *url, chunk_t *response, ...);
+       status_t (*fetch)(fetcher_manager_t *this, char *url, void *userdata, ...);
 
        /**
         * Register a fetcher implementation.
@@ -51,19 +54,19 @@ struct fetcher_manager_t {
         */
        void (*add_fetcher)(fetcher_manager_t *this,
                                                fetcher_constructor_t constructor, char *url);
-       
+
        /**
         * Unregister a previously registered fetcher implementation.
         *
         * @param constructor   fetcher constructor function to unregister
         */
-       void (*remove_fetcher)(fetcher_manager_t *this, 
+       void (*remove_fetcher)(fetcher_manager_t *this,
                                                   fetcher_constructor_t constructor);
-       
+
        /**
-     * Destroy a fetcher_manager instance.
-     */
-    void (*destroy)(fetcher_manager_t *this);
+        * Destroy a fetcher_manager instance.
+        */
+       void (*destroy)(fetcher_manager_t *this);
 };
 
 /**