LLXMLRPCTransaction::Impl Class Reference

Collaboration diagram for LLXMLRPCTransaction::Impl:

Collaboration graph
[legend]
List of all members.

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)

Detailed Description

Definition at line 149 of file llxmlrpctransaction.cpp.


Member Typedef Documentation

typedef LLXMLRPCTransaction::Status LLXMLRPCTransaction::Impl::Status

Definition at line 152 of file llxmlrpctransaction.cpp.


Constructor & Destructor Documentation

LLXMLRPCTransaction::Impl::Impl ( const std::string &  uri,
XMLRPC_REQUEST  request,
bool  useGzip 
)

Definition at line 192 of file llxmlrpctransaction.cpp.

References init().

LLXMLRPCTransaction::Impl::Impl ( const std::string &  uri,
const std::string &  method,
LLXMLRPCValue  params,
bool  useGzip 
)

Definition at line 204 of file llxmlrpctransaction.cpp.

References init(), params, and request().

LLXMLRPCTransaction::Impl::~Impl (  ) 

Definition at line 277 of file llxmlrpctransaction.cpp.

References mCurl, mCurlMulti, mHeaders, mRequestText, and mResponse.


Member Function Documentation

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().


Member Data Documentation

CURL* LLXMLRPCTransaction::Impl::mCurl

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 162 of file llxmlrpctransaction.cpp.

Referenced by init(), and process().

CURLM* LLXMLRPCTransaction::Impl::mCurlMulti

Definition at line 155 of file llxmlrpctransaction.cpp.

Referenced by init(), process(), and ~Impl().

struct curl_slist* LLXMLRPCTransaction::Impl::mHeaders

Definition at line 169 of file llxmlrpctransaction.cpp.

Referenced by init(), and ~Impl().

std::string LLXMLRPCTransaction::Impl::mProxyAddress

Definition at line 168 of file llxmlrpctransaction.cpp.

Referenced by init().

char* LLXMLRPCTransaction::Impl::mRequestText

Definition at line 165 of file llxmlrpctransaction.cpp.

Referenced by init(), and ~Impl().

int LLXMLRPCTransaction::Impl::mRequestTextSize

Definition at line 166 of file llxmlrpctransaction.cpp.

Referenced by init().

XMLRPC_REQUEST LLXMLRPCTransaction::Impl::mResponse

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().

Status LLXMLRPCTransaction::Impl::mStatus

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

Definition at line 164 of file llxmlrpctransaction.cpp.

Referenced by init(), and process().


The documentation for this class was generated from the following file:
Generated on Thu Jul 1 06:12:05 2010 for Second Life Viewer by  doxygen 1.4.7