// ---------------------------------------------------------
// CListenerOrientationMessageHandler::DoHandleRequestL
// Dispatches the message to the appropriate handler.
// ---------------------------------------------------------
//
void CListenerOrientationMessageHandler::DoHandleRequestL(
	TMMFMessage& aMessage )
	{
	switch( aMessage.Function() )
		{
		case ELofInitialize: // Request to initialize the bassboost
			{
			DoInitializeL(aMessage);
			break;
			}
		case ELofApply: // Request to apply the bassboost settings
			{
			DoApplyL(aMessage);
			break;
			}
		case ELofObserve: // Observation request
			{
			DoObserveL(aMessage);
			break;
			}
		default:
			{
			aMessage.Complete(KErrNotSupported);
			}
		}
	}
// ---------------------------------------------------------
// CIlbcEncoderIntfcMsgHdlr::DoHandleRequestL
// Determines which custom interface to call.
// (other items were commented in a header).
// ---------------------------------------------------------
//
void CIlbcEncoderIntfcMsgHdlr::DoHandleRequestL(TMMFMessage& aMessage)
	{
	switch(aMessage.Function())
		{
		case EIlbceimSetEncoderMode:
			{
    		DoSetEncoderModeL(aMessage);
			break;
			}
		case EIlbceimSetVadMode:
			{
			DoSetVadModeL(aMessage);
			break;
			}
		case EIlbceimGetVadMode:
			{
			DoGetVadModeL(aMessage);
			break;
			}
		default:
			{
			aMessage.Complete(KErrNotSupported);
			}
		}
	}
// ---------------------------------------------------------
// CEnvironmentalReverbMessageHandler::DoHandleRequestL
// Dispatches the message to the appropriate handler.
// ---------------------------------------------------------
//
void CEnvironmentalReverbMessageHandler::DoHandleRequestL(
	TMMFMessage& aMessage )
	{
	switch( aMessage.Function() )
		{
		case EErfInitialize:
			{
			DoInitializeL(aMessage);
			break;
			}
		case EErfApply:
			{
			DoApplyL(aMessage);
			break;
			}
		case EErfObserve:
			{
			DoObserveL(aMessage);
			break;
			}
			
			
			
		default:
			{
			aMessage.Complete(KErrNotSupported);
			}
		}
	}
// ---------------------------------------------------------
// CErrorConcealmentIntfcMsgHdlr::DoHandleRequestL
// Determines which custom interface to call.
// (other items were commented in a header).
// ---------------------------------------------------------
//
void CErrorConcealmentIntfcMsgHdlr::DoHandleRequestL(TMMFMessage& aMessage)
	{
	switch(aMessage.Function())
		{
		case EEcimConcealError:
			{
    		DoConcealErrorForNextBufferL(aMessage);
			break;
			}
		case EEcimSetFrameMode:
			{
    		DoSetFrameModeL(aMessage);
			break;
			}
		case EEcimFrameModeRqrd:
			{
    		DoFrameModeRqrdForEcL(aMessage);
			break;
			}
		default:
			{
			aMessage.Complete(KErrNotSupported);
			}
		}
	}
// ---------------------------------------------------------
// CAacDecoderConfigMsgHdlr::DoHandleRequestL
// Determines which custom interface to call.
// (other items were commented in a header).
// ---------------------------------------------------------
//
void CAacDecoderConfigMsgHdlr::DoHandleRequestL(TMMFMessage& aMessage)
	{
	switch(aMessage.Function())
		{
		case EAdcmSetConfig:
			{
    		DoSetAudioConfigL(aMessage);
			break;
			}
		default:
			{
			aMessage.Complete(KErrNotSupported);
			}
		}
	}
void CMMFDurationInfoCustomCommandParser::HandleRequest(TMMFMessage& aMessage)
	{
	TInt err = KErrNotSupported;
	
	if (aMessage.Destination().InterfaceId() == KUidInterfaceMMFDurationInfoControl)
		{
		switch (aMessage.Function())
			{
		case EMMFGetDurationInfo:
			err = GetDurationInfo(aMessage);
			break;
		default:
			err = KErrNotSupported;
			break;
			}
		}

	aMessage.Complete(err);
	}
// Internal request handling methods.
TInt CStreamControlCustomCommandParser::DoHandleRequest( TMMFMessage& aMessage )
    {
    TInt status = KErrNotSupported;
    switch (aMessage.Function())
        {
        case EEnableEvents:
            status = DoEnableEvents(aMessage);
            break;
        case EGetSeekingSupported:
            status = DoGetSeekingSupported(aMessage);
            break;
        case EGetRandomSeekingSupported:
            status = DoGetRandomSeekingSupported(aMessage);
            break;
        default:
            break;
        }
    return status;	
    }
// -----------------------------------------------------------------------------
// CRa8CustomInterfaceMsgHdlr::DoHandleRequestL
// Determines which custom interface to call.
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
void CRa8CustomInterfaceMsgHdlr::DoHandleRequestL(TMMFMessage& aMessage)
	{
	switch (aMessage.Function())
		{
		case ERa8CiFrameNumber:
			{
    		DoFrameNumberL(aMessage);
			break;
			}
		case ERa8CiSetInitString:
			{
    		DoSetInitStringL(aMessage);
			break;
			}
		default:
			{
			aMessage.Complete(KErrNotSupported);
			}
		}
	}
void CMidiCustomCommandParser::DoHandleRequestL(TMMFMessage& aMessage)
	{
	TBool complete = ETrue;
	switch (aMessage.Function())
		{
	case EMMFMidiControllerSetPositionMicroBeats:
		complete = DoSetPositionMicroBeatsL(aMessage);
		break;
	case EMMFMidiControllerPositionMicroBeats:
		complete = DoPositionMicroBeatsL(aMessage);
		break;
	case EMMFMidiControllerPlayNote:
		complete = DoPlayNoteL(aMessage);
		break;
	case EMMFMidiControllerPlayNoteWithStartTime:
		complete = DoPlayNoteWithStartTimeL(aMessage);
		break;
	case EMMFMidiControllerStopNotes:
		complete = DoStopNotesL(aMessage);
		break;
	case EMMFMidiControllerNoteOn:
		complete = DoNoteOnL(aMessage);
		break;
	case EMMFMidiControllerNoteOff:
		complete = DoNoteOffL(aMessage);
		break;
	case EMMFMidiControllerPlaybackRate:
		complete = DoPlaybackRateL(aMessage);
		break;
	case EMMFMidiControllerSetPlaybackRate:
		complete = DoSetPlaybackRateL(aMessage);
		break;
	case EMMFMidiControllerMaxPlaybackRate:
		complete = DoMaxPlaybackRateL(aMessage);
		break;
	case EMMFMidiControllerMinPlaybackRate:
		complete = DoMinPlaybackRateL(aMessage);
		break;
	case EMMFMidiControllerTempo:
		complete = DoTempoMicroBeatsPerMinuteL(aMessage);
		break;
	case EMMFMidiControllerSetTempo:
		complete = DoSetTempoL(aMessage);
		break;
	case EMMFMidiControllerPitch:
		complete = DoPitchTranspositionCentsL(aMessage);
		break;
	case EMMFMidiControllerSetPitch:
		complete = DoSetPitchTranspositionL(aMessage);
		break;
	case EMMFMidiControllerDurationMicroBeats:
		complete = DoDurationMicroBeatsL(aMessage);
		break;
	case EMMFMidiControllerNumTracks:
		complete = DoNumTracksL(aMessage);
		break;
	case EMMFMidiControllerSetTrackMute:
		complete = DoSetTrackMuteL(aMessage);
		break;
	case EMMFMidiControllerMimeType:
		complete = DoMimeTypeL(aMessage);
		break;
	case EMMFMidiControllerSetSyncUpdateCallbackInterval:
		complete = DoSetSyncUpdateCallbackIntervalL(aMessage);
		break;
	case EMMFMidiControllerSendMessage:
		complete = DoSendMessageL(aMessage);
		break;
	case EMMFMidiControllerSendMessageWithTimeStamp:
		complete = DoSendMessageWithTimeStampL(aMessage);
		break;
	case EMMFMidiControllerSendMipMessage:
		complete = DoSendMipMessageL(aMessage);
		break;
	case EMMFMidiControllerNumberOfBanks:
		complete = DoNumberOfBanksL(aMessage);
		break;
	case EMMFMidiControllerGetBankId:
		complete = DoGetBankIdL(aMessage);
		break;
	case EMMFMidiControllerLoadCustomBank:
		complete = DoLoadCustomBankL(aMessage);
		break;
	case EMMFMidiControllerLoadCustomBankData:
		complete = DoLoadCustomBankDataL(aMessage);
		break;
	case EMMFMidiControllerUnloadCustomBank:
		complete = DoUnloadCustomBankL(aMessage);
		break;
	case EMMFMidiControllerCustomBankLoaded:
		complete = DoCustomBankLoadedL(aMessage);
		break;
	case EMMFMidiControllerUnloadAllCustomBanks:
		complete = DoUnloadAllCustomBanksL(aMessage);
		break;
	case EMMFMidiControllerNumberOfInstruments:
		complete = DoNumberOfInstrumentsL(aMessage);
		break;
	case EMMFMidiControllerGetInstrumentId:
		complete = DoGetInstrumentIdL(aMessage);
		break;
	case EMMFMidiControllerInstrumentName:
		complete = DoInstrumentNameL(aMessage);
		break;
	case EMMFMidiControllerCopyInstrumentName:
		complete = DoCopyInstrumentNameL(aMessage);
		break;
	case EMMFMidiControllerSetInstrument:
		complete = DoSetInstrumentL(aMessage);
		break;
	case EMMFMidiControllerLoadCustomInstrument:
		complete = DoLoadCustomInstrumentL(aMessage);
		break;
	case EMMFMidiControllerLoadCustomInstrumentData:
		complete = DoLoadCustomInstrumentDataL(aMessage);
		break;
	case EMMFMidiControllerUnloadCustomInstrument:
		complete = DoUnloadCustomInstrumentL(aMessage);
		break;
	case EMMFMidiControllerPercussionKeyName:
		complete = DoPercussionKeyNameL(aMessage);
		break;
	case EMMFMidiControllerCopyPercussionKeyName:
		complete = DoCopyPercussionKeyNameL(aMessage);
		break;
	case EMMFMidiControllerStopTime:
		complete = DoStopTimeL(aMessage);
		break;
	case EMMFMidiControllerSetStopTime:
		complete = DoSetStopTimeL(aMessage);
		break;
	case EMMFMidiControllerPolyphony:
		complete = DoPolyphonyL(aMessage);
		break;
	case EMMFMidiControllerChannelsSupported:
		complete = DoChannelsSupportedL(aMessage);
		break;
	case EMMFMidiControllerChannelVolume:
		complete = DoChannelVolumeL(aMessage);
		break;
	case EMMFMidiControllerMaxChannelVolume:
		complete = DoMaxChannelVolumeL(aMessage);
		break;
	case EMMFMidiControllerSetChannelVolume:
		complete = DoSetChannelVolumeL(aMessage);
		break;
	case EMMFMidiControllerSetChannelMute:
		complete = DoSetChannelMuteL(aMessage);
		break;
	case EMMFMidiControllerVolume:
		complete = DoVolumeL(aMessage);
		break;
	case EMMFMidiControllerMaxVolume:
		complete = DoMaxVolumeL(aMessage);
		break;
	case EMMFMidiControllerSetVolume:
		complete = DoSetVolumeL(aMessage);
		break;
	case EMMFMidiControllerSetVolumeRamp:
		complete = DoSetVolumeRampL(aMessage);
		break;
	case EMMFMidiControllerGetBalance:
		complete = DoGetBalanceL(aMessage);
		break;
	case EMMFMidiControllerSetBalance:
		complete = DoSetBalanceL(aMessage);
		break;
	case EMMFMidiControllerSetMaxPolyphony:
		complete = DoSetMaxPolyphonyL(aMessage);
		break;
	case EMMFMidiControllerGetRepeats:
		complete = DoGetRepeatsL(aMessage);
		break;
	case EMMFMidiControllerSetRepeats:
		complete = DoSetRepeatsL(aMessage);
		break;
	case EMMFMidiControllerSetBank:
		DoSetBankL(aMessage);
		break;
	case EMMFMidiControllerIsTrackMute:
		DoIsTrackMuteL(aMessage);
		break;
	case EMMFMidiControllerIsChannelMute:
		DoIsChannelMuteL(aMessage);
		break;
	case EMMFMidiControllerGetInstrument:
		DoGetInstrumentL(aMessage);
		break;
	case EMMFMidiControllerClose:
		complete = DoCloseL(aMessage);
		break;
	case EMMFMidiControllerStop:
		complete = DoStopL(aMessage);
		break;
	case EMMFMidiControllerReceiveEvents:
		complete = DoReceiveEventsL(aMessage);
		break;
	case EMMFMidiControllerRetrieveEvent:
		complete = DoRetrieveEventL(aMessage);
		break;
	case EMMFMidiControllerCancelReceiveEvents:
		complete = DoCancelReceiveEventsL(aMessage);
		break;
	case EMMFMidiControllerMaxPolyphony:
		complete = DoMaxPolyphonyL(aMessage);
		break;
	default:
		User::Leave(KErrNotSupported);
		break;
		}
	if (complete)
		aMessage.Complete(KErrNone);
	}