Symbian
Symbian OS Library

SYMBIAN OS V9.3

[Index] [Spacer] [Previous] [Next]



Location: wapmessage.h
Link against: wapmsgcli.lib

Class CWapFullySpecCLPushService

class CWapFullySpecCLPushService : public CBase;

Description

Listens for WAP Push messages from a single, named remote host.

The class is an ECom plug-in interface. Clients use NewL() to request an implementation of the interface, and then call the interface's virtual functions to access the implementation's services.

The use of the plug-in architecture allows different implementations to use different underlying WAP stacks.

Functions can return system wide error codes, and also API-specific errors as defined in wapmsgerr.h.

Derivation

Members

Defined in CWapFullySpecCLPushService:
AwaitPush(), CWapFullySpecCLPushService(), CancelAwaitPush(), Connect(), Connect(), ConstructL(), GetLocalAddress(), GetLocalPort(), NewL(), NewL(), ~CWapFullySpecCLPushService()

Inherited from CBase:
Delete(), Extension_(), operator new()


Construction and destruction


NewL()

static IMPORT_C CWapFullySpecCLPushService *NewL();

Description

Allocates and creates a new CWapFullySpecCLPushService object.

Return value

CWapFullySpecCLPushService *

A new CWapFullySpecCLPushService object.

Leave codes

System

wide error codes.


NewL()

static IMPORT_C CWapFullySpecCLPushService *NewL(const TUid &aImplementation);

Description

Allocates and creates a new CWapFullySpecCLPushService object.

Parameters

const TUid &aImplementation

Return value

CWapFullySpecCLPushService *

A new CWapFullySpecCLPushService object.

Leave codes

System

wide error codes.


~CWapFullySpecCLPushService()

virtual IMPORT_C ~CWapFullySpecCLPushService();

Description

Destructor


CWapFullySpecCLPushService()

protected: IMPORT_C CWapFullySpecCLPushService();

Description


ConstructL()

protected: IMPORT_C void ConstructL();

Description

[Top]


Member functions


Connect()

virtual TInt Connect(const TDesC8 &aRemoteHost, Wap::TPort aRemotePort, Wap::TBearer aBearer, TBool aSecure, TInetAddr aInetAddr)=0;

Description

Connects to the WAP stack, opening an endpoint that can be used to listen for Push messages from a specified remote host.

This overload of Connect() allows an IP address associated with a network interface to be specified. In multihomed systems, this can be used to specify the network interface to which the endpoint should be bound.

All CWapFullySpecCLPushService implementations must automatically close this endpoint upon destruction.

Parameters

const TDesC8 &aRemoteHost

The bearer-dependent address of the remote host with which the data will be exchanged

Wap::TPort aRemotePort

The port on the remote host to which data will be sent

Wap::TBearer aBearer

The bearer to listen on. You cannot use EAll.

TBool aSecure

Security flag to indicate whether WTLS should be used or not

TInetAddr aInetAddr

The address of the adapter to use

Return value

TInt

KErrNone on successful completion, or one of the system error codes on failure.


Connect()

virtual TInt Connect(const TDesC8 &aRemoteHost, Wap::TPort aRemotePort, Wap::TBearer aBearer, TBool aSecure)=0;

Description

Connects to the WAP stack, opening an endpoint that can be used to listen for Push messages from a specified remote host.

All CWapFullySpecCLPushService implementations must automatically close this endpoint upon destruction.

Parameters

const TDesC8 &aRemoteHost

The bearer-dependent address of the remote host with which the data will be exchanged

Wap::TPort aRemotePort

The port on the remote host to which data will be sent

Wap::TBearer aBearer

The bearer to listen on. You cannot use EAll.

TBool aSecure

Security flag to indicate whether WTLS should be used or not

Return value

TInt

KErrNone on successful completion, or one of the system error codes on failure.


AwaitPush()

virtual TInt AwaitPush(TDes8 &aPushHeaders, TDes8 &aPushBody, TPckgBuf< TUint8 > &aPushIdPckg, TRequestStatus &aReqStatus)=0;

Description

Requests an asynchronous notification upon arrival of the next push message on the listening connection.

The request completes upon receipt of the message, filling the buffers with as much received data as possible. A return code indicates whether further data remains. The call must be re-issued for subsequent messages or to receive remaining data from a previous push message.

Parameters

TDes8 &aPushHeaders

A client-allocated buffer that, on completion, is filled with the push message's header data

TDes8 &aPushBody

A client-allocated buffer that, on completion, is filled with the push message's body data

TPckgBuf< TUint8 > &aPushIdPckg

On completion, an integer ID that uniquely specifies the push message

TRequestStatus &aReqStatus

Asynchronous status word, used by the service provider to notify the client when a push message has arrived. EMoreData is returned if more pushed data is available.

Return value

TInt

KErrNone on successful completion, or one of the system error codes on failure.


CancelAwaitPush()

virtual void CancelAwaitPush()=0;

Description

Cancels a previous push message request.

If a push message arrives, the client will not be notified.


GetLocalPort()

virtual TInt GetLocalPort(Wap::TPort &aPort)=0;

Description

Gets the local port of this endpoint.

This is useful if the port was chosen automatically.

Parameters

Wap::TPort &aPort

On return, the port number

Return value

TInt

KErrNone on successful completion, or one of the system error codes on failure.


GetLocalAddress()

virtual TInt GetLocalAddress(HBufC8 *&aLocalHost)=0;

Description

Gets the local address of this endpoint.

Parameters

HBufC8 *&aLocalHost

On return, the address of the local host. Clients must pass in a reference to a NULL HBufC8 pointer. The function allocates a new HBufC8 buffer to hold the address, and passes ownership of the buffer to the client.

Return value

TInt

KErrNone on successful completion, or one of the system error codes on failure.