Symbian
Symbian Developer Library

SYMBIAN OS V9.4

Feedback

[Index] [Previous] [Next]

#include <chttpformencoder.h>
Link against: http.lib

Class CHTTPFormEncoder

class CHTTPFormEncoder : public CBase, public MHTTPDataSupplier;

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.

Derivation

Members

Defined in CHTTPFormEncoder:

Inherited from CBase:


Construction and destruction


NewL()

IMPORT_C static CHTTPFormEncoder* NewL();

Description

Return value

CHTTPFormEncoder *


~CHTTPFormEncoder()

IMPORT_C ~CHTTPFormEncoder();

Description

[Top]


Member functions


GetNextDataPart(TPtrC8 &)

virtual TBool GetNextDataPart(TPtrC8 &aDataPart);

Description

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

Parameters

TPtrC8 &aDataPart

- the data part

Return value

TBool

ETrue if this is the last part. EFalse otherwise


ReleaseData()

virtual void ReleaseData();

Description

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.


OverallDataSize()

virtual TInt OverallDataSize();

Description

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

TInt

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


Reset()

virtual TInt Reset();

Description

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

Return value

TInt


AddFieldL(const TDesC8 &,const TDesC8 &)

IMPORT_C void AddFieldL(const TDesC8 &aFieldName, const TDesC8 &aFieldValue);

Description

Adds a field to the data. A field consists a name and value pair

Parameters

const TDesC8 &aFieldName

A name. This must not be empty

const TDesC8 &aFieldValue

A value. This may be an empty descriptor

Leave codes

KErrNoMemory

There was not enough memory

KErrArgument

aFieldName was empty

Panic codes

Will

panic if called after the first data has been supplied or OverallDataSize has been called