LLCurl::Easy Class Reference

Collaboration diagram for LLCurl::Easy:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 ~Easy ()
CURL * getCurlHandle () const
void setErrorBuffer ()
void setCA ()
void setopt (CURLoption option, S32 value)
void setopt (CURLoption option, void *value)
void setopt (CURLoption option, char *value)
void setoptString (CURLoption option, const std::string &value)
void slist_append (const char *str)
void setHeaders ()
U32 report (CURLcode)
void getTransferInfo (LLCurl::TransferInfo *info)
void prepRequest (const std::string &url, ResponderPtr, bool post=false)
const char * getErrorBuffer ()
std::stringstream & getInput ()
std::stringstream & getHeaderOutput ()
LLIOPipe::buffer_ptr_tgetOutput ()
const LLChannelDescriptorsgetChannels ()
void resetState ()

Static Public Member Functions

static EasygetEasy ()

Private Member Functions

 LOG_CLASS (Easy)
 Easy ()

Private Attributes

CURL * mCurlEasyHandle
struct curl_slist * mHeaders
std::stringstream mRequest
LLChannelDescriptors mChannels
LLIOPipe::buffer_ptr_t mOutput
std::stringstream mInput
std::stringstream mHeaderOutput
char mErrorBuffer [CURL_ERROR_SIZE]
std::vector< char * > mStrings
ResponderPtr mResponder


Detailed Description

Definition at line 203 of file llcurl.cpp.


Constructor & Destructor Documentation

LLCurl::Easy::Easy (  )  [private]

Definition at line 260 of file llcurl.cpp.

References mErrorBuffer.

Referenced by getEasy().

Here is the caller graph for this function:

LLCurl::Easy::~Easy (  ) 

Definition at line 282 of file llcurl.cpp.

References gCurlEasyCount, mCurlEasyHandle, mHeaders, and mStrings.


Member Function Documentation

LLCurl::Easy::LOG_CLASS ( Easy   )  [private]

LLCurl::Easy * LLCurl::Easy::getEasy (  )  [static]

Definition at line 267 of file llcurl.cpp.

References Easy(), gCurlEasyCount, gCurlMultiCount, llendl, llwarns, mCurlEasyHandle, and NULL.

Referenced by LLCurl::Multi::allocEasy().

Here is the call graph for this function:

Here is the caller graph for this function:

CURL* LLCurl::Easy::getCurlHandle (  )  const [inline]

Definition at line 214 of file llcurl.cpp.

Referenced by LLCurl::Multi::addEasy(), LLCurl::Multi::allocEasy(), LLCurl::Multi::easyFree(), LLCurl::Multi::removeEasy(), and LLCurl::Multi::~Multi().

Here is the caller graph for this function:

void LLCurl::Easy::setErrorBuffer (  ) 

Definition at line 314 of file llcurl.cpp.

References mErrorBuffer, and setopt().

Referenced by LLCurlEasyRequest::LLCurlEasyRequest(), and prepRequest().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLCurl::Easy::setCA (  ) 

Definition at line 324 of file llcurl.cpp.

References LLCurl::sCAFile, LLCurl::sCAPath, and setoptString().

Referenced by LLCurlEasyRequest::LLCurlEasyRequest(), and prepRequest().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLCurl::Easy::setopt ( CURLoption  option,
S32  value 
)

void LLCurl::Easy::setopt ( CURLoption  option,
void *  value 
)

Definition at line 380 of file llcurl.cpp.

References mCurlEasyHandle.

void LLCurl::Easy::setopt ( CURLoption  option,
char *  value 
)

Definition at line 385 of file llcurl.cpp.

References mCurlEasyHandle.

void LLCurl::Easy::setoptString ( CURLoption  option,
const std::string &  value 
)

Definition at line 391 of file llcurl.cpp.

References mCurlEasyHandle, and mStrings.

Referenced by prepRequest(), LLCurlEasyRequest::sendRequest(), setCA(), and LLCurlEasyRequest::setoptString().

Here is the caller graph for this function:

void LLCurl::Easy::slist_append ( const char *  str  ) 

Definition at line 399 of file llcurl.cpp.

References mHeaders.

Referenced by LLCurlRequest::getByteRange(), LLCurlRequest::post(), prepRequest(), and LLCurlEasyRequest::slist_append().

Here is the caller graph for this function:

void LLCurl::Easy::setHeaders (  ) 

Definition at line 336 of file llcurl.cpp.

References mHeaders, and setopt().

Referenced by LLCurlRequest::getByteRange(), LLCurlRequest::post(), and LLCurlEasyRequest::sendRequest().

Here is the call graph for this function:

Here is the caller graph for this function:

U32 LLCurl::Easy::report ( CURLcode  code  ) 

Definition at line 348 of file llcurl.cpp.

References mChannels, mCurlEasyHandle, mErrorBuffer, mOutput, mResponder, NULL, resetState(), and LLCurl::strerror().

Referenced by LLCurl::Multi::process().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLCurl::Easy::getTransferInfo ( LLCurl::TransferInfo info  ) 

Definition at line 341 of file llcurl.cpp.

References mCurlEasyHandle, LLCurl::TransferInfo::mSizeDownload, LLCurl::TransferInfo::mSpeedDownload, and LLCurl::TransferInfo::mTotalTime.

Referenced by LLCurlEasyRequest::info_read().

Here is the caller graph for this function:

void LLCurl::Easy::prepRequest ( const std::string &  url,
ResponderPtr  responder,
bool  post = false 
)

Definition at line 440 of file llcurl.cpp.

References CURL_REQUEST_TIMEOUT, curlHeaderCallback(), curlReadCallback(), curlWriteCallback(), mOutput, mResponder, resetState(), setCA(), setErrorBuffer(), setopt(), setoptString(), and slist_append().

Referenced by LLCurlRequest::getByteRange(), and LLCurlRequest::post().

Here is the call graph for this function:

Here is the caller graph for this function:

const char * LLCurl::Easy::getErrorBuffer (  ) 

Definition at line 319 of file llcurl.cpp.

References mErrorBuffer.

Referenced by LLCurlEasyRequest::getErrorString().

Here is the caller graph for this function:

std::stringstream& LLCurl::Easy::getInput (  )  [inline]

Definition at line 236 of file llcurl.cpp.

Referenced by curlReadCallback(), and LLCurlRequest::post().

Here is the caller graph for this function:

std::stringstream& LLCurl::Easy::getHeaderOutput (  )  [inline]

Definition at line 237 of file llcurl.cpp.

References mHeaderOutput.

Referenced by curlHeaderCallback().

Here is the caller graph for this function:

LLIOPipe::buffer_ptr_t& LLCurl::Easy::getOutput (  )  [inline]

Definition at line 238 of file llcurl.cpp.

Referenced by curlWriteCallback().

Here is the caller graph for this function:

const LLChannelDescriptors& LLCurl::Easy::getChannels (  )  [inline]

Definition at line 239 of file llcurl.cpp.

Referenced by curlWriteCallback().

Here is the caller graph for this function:

void LLCurl::Easy::resetState (  ) 

Definition at line 290 of file llcurl.cpp.

References mCurlEasyHandle, mErrorBuffer, mHeaderOutput, mHeaders, mInput, mOutput, mRequest, and NULL.

Referenced by LLCurl::Multi::easyFree(), prepRequest(), and report().

Here is the caller graph for this function:


Member Data Documentation

Definition at line 244 of file llcurl.cpp.

Referenced by getEasy(), getTransferInfo(), report(), resetState(), setopt(), setoptString(), and ~Easy().

struct curl_slist* LLCurl::Easy::mHeaders [read, private]

Definition at line 245 of file llcurl.cpp.

Referenced by resetState(), setHeaders(), slist_append(), and ~Easy().

std::stringstream LLCurl::Easy::mRequest [private]

Definition at line 247 of file llcurl.cpp.

Referenced by resetState().

Definition at line 248 of file llcurl.cpp.

Referenced by report().

Definition at line 249 of file llcurl.cpp.

Referenced by prepRequest(), report(), and resetState().

std::stringstream LLCurl::Easy::mInput [private]

Definition at line 250 of file llcurl.cpp.

Referenced by resetState().

std::stringstream LLCurl::Easy::mHeaderOutput [private]

Definition at line 251 of file llcurl.cpp.

Referenced by resetState().

char LLCurl::Easy::mErrorBuffer[CURL_ERROR_SIZE] [private]

Definition at line 252 of file llcurl.cpp.

Referenced by Easy(), getErrorBuffer(), report(), resetState(), and setErrorBuffer().

std::vector<char*> LLCurl::Easy::mStrings [private]

Definition at line 255 of file llcurl.cpp.

Referenced by setoptString(), and ~Easy().

Definition at line 257 of file llcurl.cpp.

Referenced by prepRequest(), and report().


The documentation for this class was generated from the following file:

Generated on Fri May 16 08:43:29 2008 for SecondLife by  doxygen 1.5.5