class CRemConInterfaceSelector : public CBase |
CRemConInterfaceSelector is only instantiable via its NewL function. It is not derivable.
Private Member Functions | |
---|---|
CRemConInterfaceSelector() | |
void | AssertSession(RRemCon *, TInt) |
void | BulkCleanup() |
TBool | BulkOpened() |
void | ConstructL() |
void | EstablishBulkThreadBindingL() |
void | OpenTargetCommonL() |
void | RegisterInterestedApisL(TRemConClientType) |
void | RegisterInterfaceCommonL(CRemConInterfaceBase &, const TDesC8 &) |
TInt | StaticBulkCleanup(TAny *) |
TInt | TryToReconnect() |
TInt | TryToReconnectBulk() |
Private Attributes | |
---|---|
TRemConAddress | iAddress |
RSpecificThreadCallBack * | iBulkCleanupCall |
RHeap * | iBulkHeap |
TUint | iBulkMaxDataLength |
CBulkReceiver * | iBulkReceiver |
RRemConBulk * | iBulkSession |
RThread | iBulkThread |
TUint | iControlMaxDataLength |
CReceiver * | iControllerReceiver |
RRemConController * | iControllerSession |
MRemConErrorObserver * | iErrorObserver |
CRemConInterfaceDetailsArray * | iInterfaces |
RNestableLock * | iLock |
RRemCon * | iNotificationSession |
RHeap * | iSharedThreadHeap |
CReceiver * | iTargetReceiver |
RRemConTarget * | iTargetSession |
void | AssertSession | ( | RRemCon * | aSess, |
TInt | aPanicCode | |||
) | const [private] |
RRemCon * aSess | |
TInt aPanicCode |
void | BulkError | ( | TInt | aError | ) |
Only called internally, by the Active Object which sucks messages out of RemCon Bulk Server. This is called in the case of a session error.
TInt aError |
void | BulkReceiveComplete | ( | TUid | aInterfaceUid, |
TUint | aOperationId, | |||
const TDesC8 & | aData | |||
) |
Only called internally, by the Active Object which sucks messages out of RemCon. Note that the message type is not given- it is interpolated from the type of the session doing the receiving.
void | BulkSessionConnectL | ( | ) |
Only called internally, by the Active Object which sucks messages out of RemCon (bulk server).
IMPORT_C void | ConnectBearer | ( | TRequestStatus & | aStatus | ) |
Brings up a bearer-level connection. The controller session must already exist (use OpenControllerL) and be connection-oriented.
TRequestStatus & aStatus | TRequestStatus for asynchronous completion. |
IMPORT_C TInt | ConnectBearerCancel | ( | ) |
Cancels interest in the completion of a ConnectBearer request. KErrNone.
IMPORT_C TBool | ControllerOpened | ( | ) | const |
To determine if a controller session has been opened. EFalse if no session has been opened, ETrue otherwise.
IMPORT_C void | DisconnectBearer | ( | TRequestStatus & | aStat | ) |
Destroys a bearer-level connection. The controller session must already exist (use OpenControllerL) and be connection-oriented.
TRequestStatus & aStat |
IMPORT_C TInt | DisconnectBearerCancel | ( | ) |
Cancels interest in the completion of a DisconnectBearer request. KErrNone.
void | Error | ( | TInt | aError | ) |
Only called internally, by the Active Object which sucks messages out of RemCon. This is called in the case of a session error.
TInt aError |
IMPORT_C TInt | GetConnections | ( | TSglQue< TRemConAddress > & | aConnections | ) |
Getter for the current set of connections in the system (not just those associated with this session). The client is responsible for cleaning up aConnections- the addresses will be on the heap. Error.
TSglQue< TRemConAddress > & aConnections | A collection of remote addresses, representing all the currently extant connections. |
IMPORT_C void | GoConnectionOrientedL | ( | const TRemConAddress & | aConnection | ) |
Makes the controller session (which must already exist- use OpenControllerL) connection-oriented.
const TRemConAddress & aConnection | The remote to talk to. |
IMPORT_C void | GoConnectionlessL | ( | ) |
Makes the controller session (which must already exist- use OpenControllerL) connectionless.
IMPORT_C CRemConInterfaceSelector * | NewL | ( | ) | [static] |
Factory method. Ownership of a new CRemConInterfaceSelector.
IMPORT_C void | NotifyConnectionsChange | ( | TRequestStatus & | aStatus | ) |
Notification for changes in the set of connections.
TRequestStatus & aStatus | TRequestStatus for asynchronous completion. |
IMPORT_C TInt | NotifyConnectionsChangeCancel | ( | ) |
Cancels interest in the completion of an outstanding NotifyConnectionsChange operation. KErrNone.
IMPORT_C void | OpenControllerL | ( | ) |
Opens a controller session to RemCon. The session is connectionless until such time as GoConnectionOriented may be called. leave
KErrInUse If a controller session is already open.
IMPORT_C void | OpenTargetL | ( | ) |
Opens a target session to RemCon. leave
KErrInUse If a target session is already open.
IMPORT_C void | OpenTargetL | ( | TPlayerType | aPlayerType, |
TPlayerSubType | aPlayerSubType, | |||
const TDesC8 & | aPlayerName | |||
) |
Opens a target session to RemCon. leave
KErrInUse If a target session is already open.
TPlayerType aPlayerType | The type of player |
TPlayerSubType aPlayerSubType | The sub-type of the player |
const TDesC8 & aPlayerName | The name of the player in UTF-8. |
void | ReceiveComplete | ( | TUid | aInterfaceUid, |
TUint | aOperationId, | |||
TRemConMessageSubType | aMsgSubType, | |||
const TRemConAddress & | aRemoteAddress, | |||
const TDesC8 & | aData, | |||
TRemConClientType | aType | |||
) |
Only called internally, by the Active Object which sucks messages out of RemCon. Note that the message type is not given- it is interpolated from the type of the session doing the receiving.
TUid aInterfaceUid | Interface UID of the new message. |
TUint aOperationId | Operation ID of the new message. |
TRemConMessageSubType aMsgSubType | The message subtype. |
const TRemConAddress & aRemoteAddress | The address of the remote which sent the message. |
const TDesC8 & aData | Data associated with the new message. |
TRemConClientType aType | The type of session which received the message (from which the type of the message can be interpolated). |
IMPORT_C void | RegisterErrorObserver | ( | MRemConErrorObserver * | aObserver | ) |
Register an error observer. This is provided to allow the client to discover when an error has occurred passively.
MRemConErrorObserver * aObserver | An error observer to be notified on a passive error. NULL to stop receiving notifications. |
void | RegisterInterestedApisL | ( | TRemConClientType | aType | ) | [private] |
TRemConClientType aType |
void | RegisterInterfaceCommonL | ( | CRemConInterfaceBase & | aInterface, |
const TDesC8 & | aFeatures | |||
) | [private] |
CRemConInterfaceBase & aInterface | |
const TDesC8 & aFeatures |
IMPORT_C void | RegisterInterfaceL | ( | CRemConInterfaceBase & | aInterface | ) |
Register the interface with the selector. This is called by the interface's BaseConstructL. Takes ownership of aInterface. This function is not to be called outside of remconinterfacebase.dll. It is available for compatibility with previous versions, but it is intended to be called only by CRemConInterfaceBase::BaseConstructL. CRemConInterfaceBase-derived classes should indirectly perform a RegisterInterfaceL, by calling CRemConInterfaceBase::BaseConstructL from their construction functions.
CRemConInterfaceBase & aInterface | The interface. |
void | RegisterInterfaceL | ( | CRemConInterfaceBase & | aInterface, |
RRemConInterfaceFeatures & | aRemConInterfaceFeatures | |||
) |
Register the interface with the selector. This is called by the interface's BaseConstructL. Takes ownership of aInterface. This function is not to be called outside of remconinterfacebase.dll. It is available for compatibility with previous versions, but it is intended to be called only by CRemConInterfaceBase::BaseConstructL. CRemConInterfaceBase-derived classes should indirectly perform a RegisterInterfaceL, by calling CRemConInterfaceBase::BaseConstructL from their construction functions.
CRemConInterfaceBase & aInterface | The interface. |
RRemConInterfaceFeatures & aRemConInterfaceFeatures | The operation IDs of the interface. Ownership is retained by the caller. Any necessary data will be copied by the interface selector. |
IMPORT_C void | Send | ( | TRequestStatus & | aStatus, |
TUid | aInterfaceUid, | |||
TUint | aOperationId, | |||
TUint & | aNumRemotes, | |||
TRemConMessageType | aMsgType, | |||
const TDesC8 & | aData = KNullDesC8() | |||
) |
Sends a message to the remote device(s). There should be only one command and response outstanding at any one time. Send cannot be called again until aStatus is completed. panic
RemConClient 4 If a send is already outstanding
TRequestStatus & aStatus | TRequestStatus for asynchronous completion. |
TUid aInterfaceUid | The UID of the concrete (outer-layer) interface sending the message. |
TUint aOperationId | The interface-specific operation identifier. |
TUint & aNumRemotes | On success, the number of remotes the message was successfully sent to. |
TRemConMessageType aMsgType | Whether the message is a command or a response. |
const TDesC8 & aData = KNullDesC8() | Any associated message data in interface-specific format. |
IMPORT_C void | Send | ( | TRequestStatus & | aStatus, |
TUid | aInterfaceUid, | |||
TUint | aOperationId, | |||
TUint & | aNumRemotes, | |||
TRemConMessageType | aMsgType, | |||
TRemConMessageSubType | aMsgSubType, | |||
const TDesC8 & | aData = KNullDesC8() | |||
) |
Sends a message to the remote device(s).
TRequestStatus & aStatus | TRequestStatus for asynchronous completion. |
TUid aInterfaceUid | The UID of the concrete (outer-layer) interface sending the message. |
TUint aOperationId | The interface-specific operation identifier. |
TUint & aNumRemotes | On success, the number of remotes the message was successfully sent to. |
TRemConMessageType aMsgType | Whether the message is a command or a response. |
TRemConMessageSubType aMsgSubType | The subtype of the command of response |
const TDesC8 & aData = KNullDesC8() | Any associated message data in interface-specific format. |
IMPORT_C void | SendBulk | ( | TRequestStatus & | aStatus, |
TUid | aInterfaceUid, | |||
TUint | aOperationId, | |||
const TDesC8 & | aData = KNullDesC8() | |||
) |
This method is for internal sub-system use only and should be not be used otherwise. Sends a message to the remote device(s) through the bulk path. There should be only one response outstanding at any one time. Send cannot be called again until aStatus is completed. panic
RemConClient 4 If a send is already outstanding
TRequestStatus & aStatus | TRequestStatus for asynchronous completion. |
TUid aInterfaceUid | The UID of the concrete (outer-layer) interface sending the message. |
TUint aOperationId | The interface-specific operation identifier. |
const TDesC8 & aData = KNullDesC8() | Any associated message data in interface-specific format. |
IMPORT_C TInt | SendBulkCancel | ( | ) |
This method is for internal sub-system use only and should be not be used otherwise. Cancels interest in the completion of a BulkSend request. KErrNone.
IMPORT_C TInt | SendBulkUnreliable | ( | TUid | aInterfaceUid, |
TUint | aOperationId, | |||
const TDesC8 & | aData = KNullDesC8() | |||
) |
This method is for internal sub-system use only and should be not be used otherwise. Sends a message to the remote device(s) through the bulk path, without waiting for the send to complete.
TUid aInterfaceUid | The UID of the concrete (outer-layer) interface sending the message. |
TUint aOperationId | The interface-specific operation identifier. |
const TDesC8 & aData = KNullDesC8() | Any associated message data in interface-specific format. |
IMPORT_C TInt | SendCancel | ( | TRemConMessageType | aMsgType | ) |
Cancels interest in the completion of a Send request. KErrNone.
TRemConMessageType aMsgType | The type of the message, the completion of the send of which we are not interested in. This is needed because a single CRemConInterfaceSelector may have two sends outstanding at once, one on a controller session and another on a target session. |
IMPORT_C void | SendNotify | ( | TRequestStatus & | aStatus, |
TUid | aInterfaceUid, | |||
TUint | aOperationId, | |||
TRemConMessageType | aMsgType, | |||
TRemConMessageSubType | aMsgSubType, | |||
const TDesC8 & | aData = KNullDesC8() | |||
) |
Sends a
TRequestStatus & aStatus | |
TUid aInterfaceUid | |
TUint aOperationId | |
TRemConMessageType aMsgType | |
TRemConMessageSubType aMsgSubType | |
const TDesC8 & aData = KNullDesC8() |
IMPORT_C TInt | SendUnreliable | ( | TUid | aInterfaceUid, |
TUint | aOperationId, | |||
TRemConMessageType | aMsgType, | |||
const TDesC8 & | aData = KNullDesC8() | |||
) |
This method is for internal sub-system use only and should be not be used otherwise. Sends a message to the remote device(s), without waiting for the send to complete
TUid aInterfaceUid | The UID of the concrete (outer-layer) interface sending the message. |
TUint aOperationId | The interface-specific operation identifier. |
TRemConMessageType aMsgType | Whether the message is a command or a response. |
const TDesC8 & aData = KNullDesC8() | Any associated message data in interface-specific format. |
IMPORT_C TInt | SendUnreliable | ( | TUid | aInterfaceUid, |
TUint | aOperationId, | |||
TRemConMessageType | aMsgType, | |||
TRemConMessageSubType | aMsgSubType, | |||
const TDesC8 & | aData = KNullDesC8() | |||
) |
This method is for internal sub-system use only and should be not be used otherwise. Sends a message to the remote device(s), without waiting for the send to complete
TUid aInterfaceUid | The UID of the concrete (outer-layer) interface sending the message. |
TUint aOperationId | The interface-specific operation identifier. |
TRemConMessageType aMsgType | Whether the message is a command or a response. |
TRemConMessageSubType aMsgSubType | The subtype of the command of response |
const TDesC8 & aData = KNullDesC8() | Any associated message data in interface-specific format. |
TInt | StaticBulkCleanup | ( | TAny * | aSelf | ) | [private, static] |
TAny * aSelf |
IMPORT_C TBool | TargetOpened | ( | ) | const |
To determine if a target session has been opened. EFalse if no session has been opened, ETrue otherwise.
TUint | iControlMaxDataLength | [private] |
For all registered interfaces, this is the size of the biggest operation-associated data lump.