The multi interface offers several abilities that the easy interface doesn't. They are mainly: 1. Enable a "pull" interface. The application that uses libcurl decides where and when to ask libcurl to get/send data. 2. Enable multiple simultaneous transfers in the same thread without making it complicated for the application. 3. Enable the application to wait for action on its own file descriptors and curl's file descriptors simultaneous easily. More info: http://curl.haxx.se/libcurl/c/libcurl-multi.html git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@88299 8089f293-4706-0410-a29e-feb5c42a2edf
84 lines
1.6 KiB
Plaintext
84 lines
1.6 KiB
Plaintext
note
|
|
description: "[
|
|
|
|
C Struct CURLMsg wrapper
|
|
Read multi stack informationals
|
|
|
|
This class is used by {CURL_MSG_STRUCT}.info_read
|
|
|
|
More info:
|
|
http://curl.haxx.se/libcurl/c/curl_multi_info_read.html
|
|
]"
|
|
date: "$Date$"
|
|
revision: "$Revision$"
|
|
|
|
class
|
|
CURL_MSG_STRUCT
|
|
|
|
create
|
|
make
|
|
|
|
feature {NONE} -- Initialization
|
|
|
|
make (a_pointer: POINTER)
|
|
-- Creation method
|
|
-- Bind message structure to the address `a_pointer'".
|
|
require
|
|
not_default: a_pointer /= default_pointer
|
|
do
|
|
item := a_pointer
|
|
ensure
|
|
set: item = a_pointer
|
|
end
|
|
|
|
feature -- Query
|
|
|
|
curl_handle: POINTER
|
|
-- CURL easy_handle
|
|
-- The handle it concerns
|
|
do
|
|
Result := c_curl_handle (item)
|
|
end
|
|
|
|
msg: INTEGER
|
|
-- What does this message mean?
|
|
-- It's one value from {CURLMSG}
|
|
do
|
|
Result := c_msg (item)
|
|
end
|
|
|
|
feature {NONE} -- Implementation
|
|
|
|
item: POINTER
|
|
-- C struct item
|
|
|
|
feature {NONE} -- C externals
|
|
|
|
c_curl_handle (a_item: POINTER): POINTER
|
|
-- cURL easy handle it concerns
|
|
external
|
|
"C inline use <curl/curl.h>"
|
|
alias
|
|
"return (CURL *)((CURLMsg *)$a_item)->easy_handle;"
|
|
end
|
|
|
|
c_msg (a_item: POINTER): INTEGER
|
|
-- Get msg
|
|
external
|
|
"C inline use <curl/curl.h>"
|
|
alias
|
|
"return (CURLMSG)((CURLMsg *)$a_item)->msg;"
|
|
end
|
|
|
|
;note
|
|
copyright: "Copyright (c) 1984-2012, Eiffel Software and others"
|
|
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
|
|
source: "[
|
|
Eiffel Software
|
|
5949 Hollister Ave., Goleta, CA 93117 USA
|
|
Telephone 805-685-1006, Fax 805-685-6869
|
|
Website http://www.eiffel.com
|
|
Customer support http://support.eiffel.com
|
|
]"
|
|
end
|