MRemConTargetSelectorPluginInterface Class Reference

class MRemConTargetSelectorPluginInterface

Abstract base class for target selector plugins.

Member Functions Documentation

AddressIncomingCommand(TUid, TUint, TSglQue< TClientInfo > &)

void AddressIncomingCommand ( TUid aInterfaceUid,
TUint aOperationId,
TSglQue < TClientInfo > & aClients
) [pure virtual]

Called by RemCon to get the TSP to address an incoming command (from a remote to zero or more target clients). The implementor should add or remove zero or more items from aClients and then call IncomingCommandAddressed on the observer with a suitable error.

Parameters

TUid aInterfaceUid The UID of the client interface.
TUint aOperationId The operation ID of the command.
TSglQue < TClientInfo > & aClients A collection of existing target clients. The implementor may wish to start further target client(s) and add their process ID(s) to this collection. New TClientInfo items must be made on the stack. Note that when adding a TClientInfo to aClients, only the process ID needs to be correctly populated. There is no 'cancel' method for AddressIncomingCommand. RemCon will only want to 'cancel' this when the server is terminating, at which point it will destroy the TSP anyway.

AddressOutgoingCommand(TUid, TUint, const TClientInfo &, TSglQue< TRemConAddress > &, TSglQue< TBearerSecurity > &)

void AddressOutgoingCommand ( TUid aInterfaceUid,
TUint aOperationId,
const TClientInfo & aSender,
TSglQue < TRemConAddress > & aConnections,
TSglQue < TBearerSecurity > & aBearerSecurity
) [pure virtual]

Called by RemCon to get the TSP to address an outgoing command (from a connectionless controller client) to zero or more remotes. The implementor should add zero or more items to aConnections and then call OutgoingCommandAddressed on the observer with an appropriate error. Note that only one of AddressOutgoingCommand and PermitOutgoingCommand is outstanding at once. The implementor is responsible for the capability check. For this reason, aSender contains the client's current send message, and aBearerSecurity contains all the bearer security policies. To reiterate, RemCon does no security check on the client's send request either before calling AddressOutgoingCommand.

Parameters

TUid aInterfaceUid The UID of the client interface.
TUint aOperationId The operation ID of the command.
const TClientInfo & aSender The TClientInfo of the sending session.
TSglQue < TRemConAddress > & aConnections An empty collection of connections. NB On completion, an actual (bearer-level) connection does not need to exist for each item in the collection- RemCon passes responsibility to the bearer(s) for creating the specified connections. On successful completion, RemCon takes ownership of any items in the collection- new TRemConAddresses must be made on the heap.
TSglQue < TBearerSecurity > & aBearerSecurity Contains all the bearer security policies.

CancelOutgoingCommand()

void CancelOutgoingCommand ( ) [pure virtual]

Called by RemCon to cancel the current AddressOutgoingCommand or PermitOutgoingCommand command. On receipt, the TSP must stop dereferencing any data given in the AddressOutgoingCommand or PermitOutgoingCommand request. The TSP should not subsequently call OutgoingCommandAddressed or OutgoingCommandPermitted, except in response to a subsequent new AddressOutgoingCommand or PermitOutgoingCommand command. If an AddressOutgoingCommand request is currently being processed, the TSP is responsible for deleting any TRemConAddresses it has already created.

PermitOutgoingCommand(TUid, TUint, const TClientInfo &, const TRemConAddress &)

void PermitOutgoingCommand ( TUid aInterfaceUid,
TUint aOperationId,
const TClientInfo & aSender,
const TRemConAddress & aConnection
) [pure virtual]

Called by RemCon to find out from the TSP whether the given connection-oriented controller client is permitted to send the given command to the given remote at this time. The implementor should call PermitOutgoingCommand with either ETrue, if the send is permitted, or EFalse, if the send is not permitted. Note that only one of AddressOutgoingCommand and PermitOutgoingCommand is outstanding at once. Note that a capability check will have been done by RemCon before PermitOutgoingCommand is called- actually at GoConnectionOriented time.

Parameters

TUid aInterfaceUid The UID of the client interface.
TUint aOperationId The operation ID of the command.
const TClientInfo & aSender The TClientInfo of the sending session.
const TRemConAddress & aConnection The remote the command will be sent over if permission is granted.