Symbian
Symbian Developer Library

SYMBIAN OS V9.4

Feedback

[Index] [Previous] [Next]

#include <ES_SOCK.H>
Link against: esock.lib

Class RSubConnection

class RSubConnection : public RSubSessionBase;

Description

A Sub-Connection, a channel within a Connection. A representation of a channel between this device and remote devices with which we are communicating. This channel will be used by one or more sockets. Depending on the state of the channel, it may not be possible to bind arbitary sockets into it. Attempts to bind sockets from different protocol families to a single channel is an error, as each channel can only be used by one protocol family.

Note: The sub-connection can represent a end-to-end channel and/or a channel from this device to an intermediate device (e.g an access server such as a GGSN which using UMTS and PDP contexts. Properties can be specified simultaneously on protocol and link level.

Before using any of these services, a connection to a socket server session must have been made and the connection must be open.

Derivation

Members

Defined in RSubConnection:

Inherited from RSubSessionBase:


Construction and destruction


RSubConnection()

IMPORT_C RSubConnection();

Description

Empty sub-connection handle constructor

[Top]


Member functions


Open(RSocketServ &,TSubConnType,RConnection &)

IMPORT_C TInt Open(RSocketServ &aServer, TSubConnType aSubConnType, RConnection &aConnection);

Description

Opens a new RSubConnection instance.

Parameters

RSocketServ &aServer

RSubConnection::TSubConnType aSubConnType

specifies the type of sub connection, the different available types are defined by TSubConnType.

RConnection &aConnection

Parent Connection that is to be sub divided by this sub-connection

Return value

TInt

KErrNone if successful, otherwise another of the system wide error codes.


Close()

IMPORT_C void Close();

Description

Closes the sub-connection.

The sub-connection will not be dropped immediately: it will be dropped when there is no more data traffic on the sub-connection.


Start(TRequestStatus &)

IMPORT_C void Start(TRequestStatus &aStatus);

Description

Unused

Parameters

TRequestStatus &aStatus


Start()

IMPORT_C TInt Start();

Description

Unused

Return value

TInt


Stop()

IMPORT_C TInt Stop();

Description

Unused

Return value

TInt


Add(RSocket &,TRequestStatus &)

IMPORT_C void Add(RSocket &aSocket, TRequestStatus &aStatus);

Description

Associate a socket with a subconnection. The socket must already be using the same connection or the association attempt will fail. The completion of this method does not indicate that the socket is now running over the sub-connection, it only indicates that the association is complete and a negotiation has started to move the socket onto the subconnection. An event (via eventNotification) will be sent once the socket is running on the sub-connection.

Parameters

RSocket &aSocket

Socket to be associated with the Sub-Connection

TRequestStatus &aStatus

Status to complete when socket has been added (or failed to add)


Remove(RSocket &,TRequestStatus &)

IMPORT_C void Remove(RSocket &aSocket, TRequestStatus &aStatus);

Description

Remove a socket from a subconnection. The socket will be moved back to the default sub-connection. The successful completion of this method does not indicate that the socket has moved back to the default sub-connection, it only indicates that the move negotiation has been successful. An event (via eventNotification) will be sent once the socket is running on the default sub-connection.

Parameters

RSocket &aSocket

Socket to be removed from the Sub-Connection

TRequestStatus &aStatus

Status to complete when socket has been removed (or failed to remove)


SetParameters(const RSubConParameterBundle &)

IMPORT_C TInt SetParameters(const RSubConParameterBundle &aParametersSet);

Description

Set Parameters of the sub-connection. Successful completion of this method only indicates that the negotiation has been successfully started. An event via eventNotification) will be sent once the granted parameters are available.

Parameters

const RSubConParameterBundle &aParametersSet

bundle of parameters to be applied to the sub-connection

Return value

TInt

KErrNone if successful, otherwise a system wide error


GetParameters(RSubConParameterBundle &)

IMPORT_C TInt GetParameters(RSubConParameterBundle &aParametersSet);

Description

Fetch the sub-connection's current parameters (Requested, Acceptable and Granted)

Parameters

RSubConParameterBundle &aParametersSet

bundle of parameters to write the current parameters into

Return value

TInt

KErrNone if successful, otherwise a system wide error


EventNotification(TNotificationEventBuf &,TBool,TRequestStatus &)

IMPORT_C void EventNotification(TNotificationEventBuf &aEventBuffer, TBool aGenericEventsOnly, TRequestStatus &aStatus);

Description

Requests asynchronous event notification for the sub-connection.

Parameters

TNotificationEventBuf &aEventBuffer

A buffer to receive event notification.

TBool aGenericEventsOnly

TRequestStatus &aStatus

On return, the status of the request.


EventNotification(TNotificationEventBuf &,TEventFilter,TUint,TRequestStatus &)

IMPORT_C void EventNotification(TNotificationEventBuf &aEventBuffer, TEventFilter aEventFilterList[], TUint aEventListLength, TRequestStatus &aStatus);

Description

Requests asynchronous notification of a specific list of events for the sub-connection.

Parameters

TNotificationEventBuf &aEventBuffer

A buffer to receive event notification.

RSubConnection::TEventFilter aEventFilterList

list of event filters specifying a subset of events of interest.

TUint aEventListLength

Length of the filter list provided

TRequestStatus &aStatus

On return, the status of the request.


CancelEventNotification()

IMPORT_C void CancelEventNotification();

Description

Cancel an outstanding Event Notification request


Control(TUint,TUint,TDes8 &)

IMPORT_C TInt Control(TUint aOptionLevel, TUint aOptionName, TDes8 &aOption);

Description

Parameters

TUint aOptionLevel

TUint aOptionName

TDes8 &aOption

Return value

TInt

[Top]


Member structures


Struct TEventFilter

struct TEventFilter;

Description

Members

Defined in RSubConnection::TEventFilter:

Construction and destruction


TEventFilter(TInt32,TUint32)

inline TEventFilter(TInt32 aEventGroupId=KSubConnGenericEventsImplUid, TUint32 aEventMask=0xffffffff);

Description

Parameters

TInt32 aEventGroupId

TUint32 aEventMask

Member data


iEventGroupUid

TInt32 iEventGroupUid;

Description


iEventMask

TUint32 iEventMask;

Description

[Top]


Member enumerations


Enum TSubConnType

TSubConnType

Description

EAttachToDefault

ECreateNew