Public Types | |
typedef LLXMLRPCTransaction::Status | Status |
Public Member Functions | |
Impl (const std::string &uri, XMLRPC_REQUEST request, bool useGzip) | |
Impl (const std::string &uri, const std::string &method, LLXMLRPCValue params, bool useGzip) | |
~Impl () | |
bool | process () |
void | setStatus (Status code, const std::string &message="", const std::string &uri="") |
void | setCurlStatus (CURLcode) |
Public Attributes | |
CURL * | mCurl |
CURLM * | mCurlMulti |
Status | mStatus |
CURLcode | mCurlCode |
std::string | mStatusMessage |
std::string | mStatusURI |
char | mCurlErrorBuffer [CURL_ERROR_SIZE] |
std::string | mURI |
char * | mRequestText |
int | mRequestTextSize |
std::string | mProxyAddress |
curl_slist * | mHeaders |
std::string | mResponseText |
XMLRPC_REQUEST | mResponse |
Private Member Functions | |
void | init (XMLRPC_REQUEST request, bool useGzip) |
Static Private Member Functions | |
static size_t | curlDownloadCallback (void *data, size_t size, size_t nmemb, void *user_data) |
Definition at line 149 of file llxmlrpctransaction.cpp.
Definition at line 152 of file llxmlrpctransaction.cpp.
LLXMLRPCTransaction::Impl::Impl | ( | const std::string & | uri, | |
XMLRPC_REQUEST | request, | |||
bool | useGzip | |||
) |
LLXMLRPCTransaction::Impl::Impl | ( | const std::string & | uri, | |
const std::string & | method, | |||
LLXMLRPCValue | params, | |||
bool | useGzip | |||
) |
LLXMLRPCTransaction::Impl::~Impl | ( | ) |
Definition at line 277 of file llxmlrpctransaction.cpp.
References mCurl, mCurlMulti, mHeaders, mRequestText, and mResponse.
size_t LLXMLRPCTransaction::Impl::curlDownloadCallback | ( | void * | data, | |
size_t | size, | |||
size_t | nmemb, | |||
void * | user_data | |||
) | [static, private] |
Definition at line 506 of file llxmlrpctransaction.cpp.
References LLXMLRPCTransaction::impl, mResponseText, mStatus, n, setStatus(), LLXMLRPCTransaction::StatusDownloading, and LLXMLRPCTransaction::StatusStarted.
Referenced by init().
void LLXMLRPCTransaction::Impl::init | ( | XMLRPC_REQUEST | request, | |
bool | useGzip | |||
) | [private] |
Definition at line 223 of file llxmlrpctransaction.cpp.
References curlDownloadCallback(), gDirUtilp, LLControlGroup::getBOOL(), LLDir::getCAFile(), LLControlGroup::getS32(), LLControlGroup::getString(), gSavedSettings, gVerifySSLCert, mCurl, mCurlErrorBuffer, mCurlMulti, mHeaders, mProxyAddress, mRequestText, mRequestTextSize, mURI, S32, setStatus(), and LLXMLRPCTransaction::StatusOtherError.
Referenced by Impl().
bool LLXMLRPCTransaction::Impl::process | ( | ) |
Definition at line 310 of file llxmlrpctransaction.cpp.
References LLXMLRPCValue::asInt(), LLXMLRPCValue::asString(), count, LLTimer::getElapsedTimeF32(), LLXMLRPCValue::isValid(), llendl, llwarns, MAX_PROCESSING_TIME, mCurlCode, mCurlErrorBuffer, mCurlMulti, mResponse, mResponseText, mStatus, mURI, NULL, setCurlStatus(), setStatus(), LLXMLRPCTransaction::StatusComplete, LLXMLRPCTransaction::StatusCURLError, LLXMLRPCTransaction::StatusNotStarted, LLXMLRPCTransaction::StatusOtherError, LLXMLRPCTransaction::StatusStarted, and LLXMLRPCTransaction::StatusXMLRPCError.
Referenced by LLXMLRPCTransaction::process().
void LLXMLRPCTransaction::Impl::setCurlStatus | ( | CURLcode | ) |
Definition at line 463 of file llxmlrpctransaction.cpp.
References mCurlCode, setStatus(), and LLXMLRPCTransaction::StatusCURLError.
Referenced by process().
void LLXMLRPCTransaction::Impl::setStatus | ( | Status | code, | |
const std::string & | message = "" , |
|||
const std::string & | uri = "" | |||
) |
Definition at line 404 of file llxmlrpctransaction.cpp.
References mStatus, mStatusMessage, mStatusURI, LLXMLRPCTransaction::StatusComplete, LLXMLRPCTransaction::StatusDownloading, LLXMLRPCTransaction::StatusNotStarted, and LLXMLRPCTransaction::StatusStarted.
Referenced by curlDownloadCallback(), init(), process(), and setCurlStatus().
Definition at line 154 of file llxmlrpctransaction.cpp.
Referenced by init(), LLXMLRPCTransaction::transferRate(), and ~Impl().
CURLcode LLXMLRPCTransaction::Impl::mCurlCode |
Definition at line 158 of file llxmlrpctransaction.cpp.
Referenced by process(), setCurlStatus(), and LLXMLRPCTransaction::status().
char LLXMLRPCTransaction::Impl::mCurlErrorBuffer[CURL_ERROR_SIZE] |
Definition at line 155 of file llxmlrpctransaction.cpp.
struct curl_slist* LLXMLRPCTransaction::Impl::mHeaders |
std::string LLXMLRPCTransaction::Impl::mProxyAddress |
Definition at line 172 of file llxmlrpctransaction.cpp.
Referenced by process(), LLXMLRPCTransaction::response(), LLXMLRPCTransaction::responseValue(), and ~Impl().
std::string LLXMLRPCTransaction::Impl::mResponseText |
Definition at line 171 of file llxmlrpctransaction.cpp.
Referenced by curlDownloadCallback(), process(), and LLXMLRPCTransaction::transferRate().
Definition at line 157 of file llxmlrpctransaction.cpp.
Referenced by curlDownloadCallback(), process(), setStatus(), LLXMLRPCTransaction::status(), and LLXMLRPCTransaction::transferRate().
std::string LLXMLRPCTransaction::Impl::mStatusMessage |
Definition at line 159 of file llxmlrpctransaction.cpp.
Referenced by setStatus(), and LLXMLRPCTransaction::statusMessage().
std::string LLXMLRPCTransaction::Impl::mStatusURI |
Definition at line 160 of file llxmlrpctransaction.cpp.
Referenced by setStatus(), and LLXMLRPCTransaction::statusURI().
std::string LLXMLRPCTransaction::Impl::mURI |