aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Colish <colish@google.com>2016-04-27 23:22:20 +0000
committerandroid-build-merger <android-build-merger@google.com>2016-04-27 23:22:20 +0000
commitfb2d9678bf048c55dfeb2299eb3d3db6719acdef (patch)
tree019219b02728d5d4fd96ee85b28b5bf8a55971ec
parent998887525e530fe78ffd4473b967e304c275f15c (diff)
parent6c4d5508fc1af4b1c8b9799aa455ae21fa4c9fd0 (diff)
downloadplatform_external_libbrillo-fb2d9678bf048c55dfeb2299eb3d3db6719acdef.tar.gz
platform_external_libbrillo-fb2d9678bf048c55dfeb2299eb3d3db6719acdef.tar.bz2
platform_external_libbrillo-fb2d9678bf048c55dfeb2299eb3d3db6719acdef.zip
libbrillo: Add curl_multi_perform, curl_multi_wait wrappers. am: ed104e9 am: 9cadf91 am: 164017a
am: 6c4d550 * commit '6c4d5508fc1af4b1c8b9799aa455ae21fa4c9fd0': libbrillo: Add curl_multi_perform, curl_multi_wait wrappers. Change-Id: Ideaaa1f45cca1eff67a02f1cebdba8096a2d9db6
-rw-r--r--brillo/http/curl_api.cc13
-rw-r--r--brillo/http/curl_api.h22
-rw-r--r--brillo/http/mock_curl_api.h3
3 files changed, 38 insertions, 0 deletions
diff --git a/brillo/http/curl_api.cc b/brillo/http/curl_api.cc
index 96a12f1..1c018bc 100644
--- a/brillo/http/curl_api.cc
+++ b/brillo/http/curl_api.cc
@@ -180,5 +180,18 @@ std::string CurlApi::MultiStrError(CURLMcode code) const {
return curl_multi_strerror(code);
}
+CURLMcode CurlApi::MultiPerform(CURLM* multi_handle, int* running_handles) {
+ return curl_multi_perform(multi_handle, running_handles);
+}
+
+CURLMcode CurlApi::MultiWait(CURLM* multi_handle,
+ curl_waitfd extra_fds[],
+ unsigned int extra_nfds,
+ int timeout_ms,
+ int* numfds) {
+ return curl_multi_wait(multi_handle, extra_fds, extra_nfds, timeout_ms,
+ numfds);
+}
+
} // namespace http
} // namespace brillo
diff --git a/brillo/http/curl_api.h b/brillo/http/curl_api.h
index ac4c0ea..8e9001d 100644
--- a/brillo/http/curl_api.h
+++ b/brillo/http/curl_api.h
@@ -113,6 +113,17 @@ class CurlInterface {
// Wrapper around curl_multi_strerror().
virtual std::string MultiStrError(CURLMcode code) const = 0;
+ // Wrapper around curl_multi_perform().
+ virtual CURLMcode MultiPerform(CURLM* multi_handle,
+ int* running_handles) = 0;
+
+ // Wrapper around curl_multi_wait().
+ virtual CURLMcode MultiWait(CURLM* multi_handle,
+ curl_waitfd extra_fds[],
+ unsigned int extra_nfds,
+ int timeout_ms,
+ int* numfds) = 0;
+
private:
DISALLOW_COPY_AND_ASSIGN(CurlInterface);
};
@@ -200,6 +211,17 @@ class BRILLO_EXPORT CurlApi : public CurlInterface {
// Wrapper around curl_multi_strerror().
std::string MultiStrError(CURLMcode code) const override;
+ // Wrapper around curl_multi_perform().
+ CURLMcode MultiPerform(CURLM* multi_handle,
+ int* running_handles) override;
+
+ // Wrapper around curl_multi_wait().
+ CURLMcode MultiWait(CURLM* multi_handle,
+ curl_waitfd extra_fds[],
+ unsigned int extra_nfds,
+ int timeout_ms,
+ int* numfds) override;
+
private:
DISALLOW_COPY_AND_ASSIGN(CurlApi);
};
diff --git a/brillo/http/mock_curl_api.h b/brillo/http/mock_curl_api.h
index 2dd9d04..32b6e0d 100644
--- a/brillo/http/mock_curl_api.h
+++ b/brillo/http/mock_curl_api.h
@@ -45,6 +45,9 @@ class MockCurlInterface : public CurlInterface {
MOCK_METHOD3(MultiAssign, CURLMcode(CURLM*, curl_socket_t, void*));
MOCK_METHOD4(MultiSocketAction, CURLMcode(CURLM*, curl_socket_t, int, int*));
MOCK_CONST_METHOD1(MultiStrError, std::string(CURLMcode));
+ MOCK_METHOD2(MultiPerform, CURLMcode(CURLM*, int*));
+ MOCK_METHOD5(MultiWait,
+ CURLMcode(CURLM*, curl_waitfd[], unsigned int, int, int*));
private:
DISALLOW_COPY_AND_ASSIGN(MockCurlInterface);