CTelephonyAudioRoutingManager Class Reference

class CTelephonyAudioRoutingManager : public CBase

Used by Adaptation to notify server regarding changes in audio output.

TelephonyAudioRoutingManager.lib
Since
Series 60 3.1

Inherits from

  • CTelephonyAudioRoutingManager

Constructor & Destructor Documentation

CTelephonyAudioRoutingManager(MTelephonyAudioRoutingPolicyObserver &)

CTelephonyAudioRoutingManager ( MTelephonyAudioRoutingPolicyObserver & aObserver ) [private]

C++ default constructor.

~CTelephonyAudioRoutingManager()

~CTelephonyAudioRoutingManager ( ) [virtual]

Destructor.

Member Functions Documentation

AvailableOutputsChanged(const TArray< CTelephonyAudioRouting::TAudioOutput > &)

IMPORT_C void AvailableOutputsChanged ( const TArray < CTelephonyAudioRouting::TAudioOutput > & aArray )
Notify the server that available audio outputs have changed. Adaptation will call this when list of available outputs changes. The array contains list of following outputs depending on whether the output is available or not:
  • EHandset

  • ELoudspeaker

  • EWiredAudioAccessory,

  • EBTAudioAccessory

  • ETTY

Since
Series 60 3.1

Parameters

const TArray < CTelephonyAudioRouting::TAudioOutput > & aArray : Array of currently active outputs.

ConstructL(const TArray< CTelephonyAudioRouting::TAudioOutput > &)

void ConstructL ( const TArray < CTelephonyAudioRouting::TAudioOutput > & aArray ) [private]

2nd Phase constructor.

NewL(MTelephonyAudioRoutingPolicyObserver &, const TArray< CTelephonyAudioRouting::TAudioOutput > &)

IMPORT_C CTelephonyAudioRoutingManager * NewL ( MTelephonyAudioRoutingPolicyObserver & aObserver,
const TArray < CTelephonyAudioRouting::TAudioOutput > & aArray
) [static]

Factory interface returning a new instance of CTelephonyAudioRoutingManager .

Instantiate Manager with initial list of available outputs. The array contains list of following outputs depending on whether the output is available or not at the time instance creation:
  • EHandset

  • ELoudspeaker

  • EWiredAudioAccessory,

  • EBTAudioAccessory

  • ETTY

Only one instance of Manager can exist in the system.

Leaves on failure. Call to this function to create a second instance will leave with KErrAlreadyExists.

Since
Series 60 3.1

OutputChangeRequestCompleted(CTelephonyAudioRouting::TAudioOutput, TInt)

IMPORT_C void OutputChangeRequestCompleted ( CTelephonyAudioRouting::TAudioOutput aOutput,
TInt aError
)

Notify the server that MTelephonyAudioRoutingPolicyObserver::OutputChangeRequested request from client has be serviced. If output requested by client is set active, aError will be KErrNone. If for any reason the output requested by the client is not set, Adaptation will call this with active output and reason for not setting the requested output.

Since
Series 60 3.1

Parameters

CTelephonyAudioRouting::TAudioOutput aOutput : Currently active output
TInt aError KErrNone if aOutput was requested by client, else system wide error code.

OutputChanged(CTelephonyAudioRouting::TAudioOutput)

IMPORT_C void OutputChanged ( CTelephonyAudioRouting::TAudioOutput aOutput )

Notify the server that active output has changed.

This function will be called by Adaptation only if:
  • EBTAudioAccessory - In-call audio is routed from the device to BT audio accessory by the user via long key press. (Audio is automatically routed by Audio subsystem).

  • ENone - In call audio is currently routed to BT audio accessory and Audio link between device and BT audio accessory is destroyed by the user via long key press. Audio is not routed anywhere and BT audio accessory is still a valid output.

Since
Series 60 3.1

Parameters

CTelephonyAudioRouting::TAudioOutput aOutput : ENone or EBTAudioAccessory.

StartServer()

TInt StartServer ( ) [private]

Start the TelephonyAudioRoutingServer

Member Data Documentation

RTelephonyAudioRoutingManagerSession * iMgrSession

RTelephonyAudioRoutingManagerSession * iMgrSession [private]

MTelephonyAudioRoutingPolicyObserver & iObserver

MTelephonyAudioRoutingPolicyObserver & iObserver [private]

RThread iServer

RThread iServer [private]