//////////////////////////////////////////////////////////////////////////////// // (c) Copyright, Ubisoft Entertainment Inc. || Created by Harbour // //////////////////////////////////////////////////////////////////////////////// #pragma once #include #include #include "ubiservices/core/http/curl/curlImpl.h" namespace US_NS {; class MockCurlImpl; namespace MockCurlImpl_BF { void setInitExpectations(MockCurlImpl* impl, uint32* multiHandle); void setInitExpectations(MockCurlImpl& impl, uint32* multiHandle); } class MockCurlImpl : public ICurlImpl { public: MockCurlImpl(); MOCK_METHOD6(globalInitMem, CURLcode(uint32 flags, curl_malloc_callback m, curl_free_callback f, curl_realloc_callback r, curl_strdup_callback s, curl_calloc_callback c)); MOCK_METHOD0(globalCleanup, void()); MOCK_METHOD0(easyInit, CURL*()); MOCK_METHOD1(easyCleanup, void(CURL* handle)); MOCK_METHOD3(easyGetInfo, CURLcode(CURL* handle, CURLINFO info, long* arg)); MOCK_METHOD3(easyGetInfo, CURLcode(CURL* handle, CURLINFO info, char** arg)); MOCK_METHOD3(easyGetInfo, CURLcode(CURL* handle, CURLINFO info, struct curl_slist** arg)); MOCK_METHOD3(easyGetInfo, CURLcode(CURL* handle, CURLINFO info, double* arg)); MOCK_METHOD3(easySetOpt, CURLcode(CURL* handle, CURLoption option, curl_sockopt_callback parameter)); MOCK_METHOD3(easySetOpt, CURLcode(CURL* handle, CURLoption option, curl_write_callback parameter)); MOCK_METHOD3(easySetOpt, CURLcode(CURL* handle, CURLoption option, curl_seek_callback parameter)); MOCK_METHOD3(easySetOpt, CURLcode(CURL* handle, CURLoption option, curl_ssl_ctx_callback parameter)); MOCK_METHOD3(easySetOpt, CURLcode(CURL* handle, CURLoption option, curl_debug_callback parameter)); MOCK_METHOD3(easySetOpt, CURLcode(CURL* handle, CURLoption option, void* parameter)); MOCK_METHOD3(easySetOpt, CURLcode(CURL* handle, CURLoption option, const char* parameter)); MOCK_METHOD3(easySetOpt, CURLcode(CURL* handle, CURLoption option, long parameter)); #if !defined(CURL_OFF_T_IS_LONG) MOCK_METHOD3(easySetOpt, CURLcode(CURL* handle, CURLoption option, curl_off_t parameter)); #endif MOCK_METHOD2(easyPause, CURLcode(CURL* handle, int bitmask)); MOCK_METHOD1(easyStrError, const char*(CURLcode errornum)); // Multi interface MOCK_METHOD0(multiInit, CURLM*()); MOCK_METHOD1(multiCleanup, CURLMcode(CURLM* multiHandle)); MOCK_METHOD2(multiAddHandle, CURLMcode(CURLM* multiHandle, CURL* easyHandle)); MOCK_METHOD2(multiRemoveHandle, CURLMcode(CURLM* multiHandle, CURL* easyHandle)); MOCK_METHOD2(multiInfoRead, CURLMsg*(CURLM* multiHandle, int32* msgsInQueue)); MOCK_METHOD2(multiPerform, CURLMcode(CURLM* multiHandle, int32* runningHandles)); MOCK_METHOD1(multiStrError, const char*(CURLMcode errornum)); }; };