From 60b99e48d4126ec9d612203f46d2244f36c63e11 Mon Sep 17 00:00:00 2001 From: larryl Date: Wed, 9 Jan 2008 06:50:07 +0000 Subject: [PATCH] Added `global_cleanup' which declared as curl_global_cleanup() in C. Added comments. git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@71817 8089f293-4706-0410-a29e-feb5c42a2edf --- curl_easy_externals.e | 3 +++ curl_externals.e | 25 ++++++++++++++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/curl_easy_externals.e b/curl_easy_externals.e index 73259dab..3fdb7e36 100644 --- a/curl_easy_externals.e +++ b/curl_easy_externals.e @@ -95,6 +95,7 @@ feature -- Command perform (a_curl_handle: POINTER): INTEGER is -- Declared as curl_easy_perform(). + -- Result is one value from {CURL_CODES} require exists: a_curl_handle /= default_pointer local @@ -145,6 +146,8 @@ feature -- Special setting set_write_function (a_curl_handle: POINTER) is -- Set cURL write function + -- Set cURL write function with Eiffel default write function. + -- So we can use CURL_STRING as parameter in {CURL_EASY_EXTERNALS}.setopt_curl_string when the option is {CURL_OPT_CONSTANTS}.curlopt_writedata require exists: a_curl_handle /= default_pointer local diff --git a/curl_externals.e b/curl_externals.e index d834c389..d430736e 100644 --- a/curl_externals.e +++ b/curl_externals.e @@ -25,6 +25,17 @@ feature -- Command end end + global_cleanup is + -- Declared as curl_global_cleanup(). + local + l_ptr: POINTER + do + l_ptr := api_loader.safe_load_api (module_name, "curl_global_cleanup") + if l_ptr /= default_pointer then + c_curl_global_cleanup (l_ptr); + end + end + formadd_string_string (a_form: CURL_FORM; a_last_pointer: CURL_FORM; a_arg_1: INTEGER; a_arg_1_value: STRING_GENERAL; a_arg_2: INTEGER; a_arg_2_value: STRING_GENERAL; a_arg_3: INTEGER) is -- Declared as curl_formadd (). require @@ -165,7 +176,7 @@ feature {NONE} -- C externals end c_curl_global_init (a_api: POINTER; a_opt: NATURAL_64) is - -- `a_api' point to AIP curl_global_init () + -- `a_api' point to API curl_global_init () -- `a_opt' is intialization option. require exists: a_api /= default_pointer @@ -177,6 +188,18 @@ feature {NONE} -- C externals ]" end + c_curl_global_cleanup (a_api: POINTER) is + -- `a_api' point to API curl_global_cleanup() + require + exists: a_api /= default_pointer + external + "C inline use " + alias + "[ + (FUNCTION_CAST(void, ()) $a_api)(); + ]" + end + c_slist_append (a_api: POINTER; a_list_pointer: POINTER; a_string: POINTER): POINTER is -- Declared as curl_slist_append (). require