Inheritance diagram for CP_HTTP:
Public Types | |
enum | { kCP_HTTPPortNumber = 80 } |
Public Member Functions | |
void | SetID (FourCharCode inIdentifier) |
FourCharCode | GetID () |
void | RegisterSignal (const CP_SignalHolder &inSignal) |
CP_DataValueSignal * | FindSignal (const CP_String &inSignalName) |
UInt32 | GetNumberSignals () |
CP_String | GetNthSignalName (UInt32 inSignalIndex) |
void | RegisterSlot (const CP_SlotHolder &inSlot) |
CP_DataValueSlot | FindSlot (const CP_String &inSlotName) |
UInt32 | GetNumberSlots () |
CP_String | GetNthSlotName (UInt32 inSlotIndex) |
template<class R, class P1, class P2> | |
CP_CommandHandlerSignal * | Connect (CPLAT::CP_CommandNo cmd, void(R::*handler)(P1, P2), SInt32 mode) |
template<class R, class P1, class P2> | |
void | Connect (CP_Object *control, const CPLAT::CP_String &signalName, void(R::*handler)(P1, P2)) |
Constructor / Destructor | |
CP_HTTP (CP_Socket *inSocketConnection) | |
Constructor. | |
virtual | ~CP_HTTP () throw () |
Destructor. | |
Sendinng | |
void | SendRequest (bool InIsPOST, char *inUrl, CP_String &inOutHeaderSend, CP_String &inOutHeaderReceive, CP_String &inOutMessage) |
Static Public Member Functions | |
static void | Connect (CP_Object *sender, const CP_String &signalName, CP_Object *receiver, const CP_String &slotName, const bool reciprocal=false) |
static void | Connect (CP_Object *sender, CP_Object *receiver, const bool reciprocal=false, const CP_String &signalName=kCP_Signal_ValueChanged, const CP_String &slotName=kCP_Slot_SetValue) |
Protected Member Functions | |
Misc | |
void | ParseURL (char *inUrl, char *inProtocol, SInt32 inProtocolLength, char *inHost, SInt32 inHostLength, char *inHTTPBuffer, SInt32 inHTTPBufferLength, SInt32 *port) |
Sending | |
SInt32 | SendHTTP (char *inUrl, char *inHeaders, unsigned char *inPost, SInt32 inPostLength, HTTPCP_HTTP *inRequest) |
void | SendString (char *inString) |
Memory Buffer | |
void | MemBufferCreate (MemBuffer *inMemBuffer) |
void | MemBufferGrow (MemBuffer *inMemBuffer) |
void | MemBufferAddByte (MemBuffer *inMemBuffer, unsigned char inByte) |
void | MemBufferAddBuffer (MemBuffer *inMemBuffer, unsigned char *inBuffer, size_t inSize) |
Tester | |
bool | IsValidHostchar (char inchar) |
Protected Attributes | |
CP_Socket * | fSocketConnection |
CP_InternetResponse * | fLastServerResponse |
CP_DataValueSignal | fProgressSignal |
CP_Signals_Array * | fSignals |
CP_Slots_Array * | fSlots |
FourCharCode | fObjectID |
Static Protected Attributes | |
static FourCharCode | fObjectIDCount = 0 |
CP_Socket socket; CP_HTTP *httpRequest = CP_new CP_HTTP( &socket ); CP_String psHeaderSend; CP_String psHeaderReceive; CP_String psMessage; httpRequest->SendRequest( false, "http://www.ksoft.net", psHeaderSend, psHeaderReceive, psMessage ); psSend -- contains the message sent psReceive -- contains the results of the sent message psMessage -- contains the returned result from the server
|
The port number used for this class. |
|
Copy constructor.
|
|
Destructor.
|
|
Main function to request the HTTP data from the passed in URL. The results will be returned in the passed in CP_Strings.
|
|
Break up the passed in URL into its component parts.
|
|
Sends/Receives the data to the URL.
|
|
Sends the passed in string over the socket connection.
|
|
Allocate a memory buffer of MEM_BUFFER_SIZE as a default. The buffer size can grow as needed.
|
|
Allocate more memory to the memory buffer. We double the size of the allocation each time.
|
|
Add a single byte to the memory buffer, grow if needed.
|
|
Add a range of bytes to the memory buffer, grow if needed.
|
|
Return TRUE if the specified character is valid for a host name, i.e. A-Z or 0-9 or -.:
|
|
Returns the last server response.
|
|
Broadcast our progress information to any objects that have added themselves as listeners to this object. This will send the signal kCP_Signal_InternetProgress which listeners should connect a slot to.
|
|
Receive the next line from our server. We keep receiving until the end of line is reached.
|
|
Return true if our passed in string is in the form of a 6 part address. (h1,h2,h3,h4,p1,p2)
|
|
Sends a command to the server, but does not wait for a response.
|
|
Send the command, and wait for a response. The response will be placed in the CP_InternetResponse object associated with this object.
|
|
Send data to our socket connection. inData needs to be formatted correctly since we just send the bytes.
|
|
Send data to our socket connection. inData needs to be formatted correctly since we just send the bytes.
|
|
Sets the identifier for this object. If a specific identifier is not set with this function, then a default id is used, which is simply a running count of the number of objects created.
|
|
Returns the objects identifier.
|
|
Registers the signal / signal name contained in the passed in inSignal object.
|
|
Finds the CP_DataValueSignal object that matches the passed in inSignalName.
|
|
Returns the number of signals for this object.
|
|
Returns the signal name of the passed in signal index.
|
|
Registers the slot / slot name contained in the passed in inSlot object.
|
|
Finds the CP_Slot1 object that matches the passed in inSlotName.
|
|
Returns the number of slots for this object.
|
|
Returns the slot name of the passed in signal index.
|
|
|
|
|
|
|
|
|
|
|
|
The CP_Socket object that communicates between CPLAT and the server. |
|
This object contains the last response for the server, each different protocol class will implement its own response class to handle server responses. |
|
|
|
List of registered signals for this object. |
|
List of registered slots for this object. |
|
Object identifier. |