CHTTPFormEncoder Class Reference

#include <mw/chttpformencoder.h>

class CHTTPFormEncoder : public CBase, public MHTTPDataSupplier

Inherits from

Detailed Description

A data supplier class that is used to build up data that is to be encoded to application/x-www-form-urlencoded.

A client will create an instance of this class and add name/value pairs. They then use this as the data supplier for the body of an http request that is a forms submission.

The name and value must both be supplied in the correct character encoding that you want to send to the server. This then gets url encoded.

Constructor & Destructor Documentation

~CHTTPFormEncoder ( )


Member Function Documentation

AddFieldL ( const TDesC8 &, const TDesC8 & )

IMPORT_C voidAddFieldL(const TDesC8 &aFieldName,
const TDesC8 &aFieldValue
Adds a field to the data. A field consists a name and value pair
aFieldNameA name. This must not be empty
aFieldValueA value. This may be an empty descriptor
Leave Codes
KErrNoMemoryThere was not enough memory
KErrArgumentaFieldName was empty
Panic Codes
Willpanic if called after the first data has been supplied or OverallDataSize has been called

GetNextDataPart ( TPtrC8 & )

TBool GetNextDataPart(TPtrC8 &aDataPart)[virtual]

Obtain a data part from the supplier. The data is guaranteed to survive until a call is made to ReleaseData().

aDataPart- the data part
Return Value
ETrue if this is the last part. EFalse otherwise

NewL ( )

IMPORT_C CHTTPFormEncoder *NewL()[static]

OverallDataSize ( )

TInt OverallDataSize()[virtual]

Obtain the overall size of the data being supplied, if known to the supplier. Where a body of data is supplied in several parts this size will be the sum of all the part sizes. If the size is not known, KErrNotFound is returned; in this case the client must use the return code of GetNextDataPart to find out when the data is complete.

Return Value
A size in bytes, or KErrNotFound if the size is not known.

ReleaseData ( )


Release the current data part being held at the data supplier. This call indicates to the supplier that the part is no longer needed, and another one can be supplied, if appropriate.

Reset ( )

TInt Reset()[virtual]

Reimplemented from MHTTPDataSupplier::Reset()

Reset the data supplier. This indicates to the data supplier that it should return to the first part of the data. This could be used in a situation where the data consumer has encountered an error and needs the data to be supplied afresh. Even if the last part has been supplied (i.e. GetNextDataPart has returned ETrue), the data supplier should reset to the first part.

If the supplier cannot reset it should return an error code; otherwise it should return KErrNone, where the reset will be assumed to have succeeded