--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fmradio/fmradioengine/inc/fmradioenginestatechangecallback.h Tue Feb 02 00:17:10 2010 +0200
@@ -0,0 +1,94 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Declaration of a simple interface to integrate the FM Radio
+* application engine and Ui.
+* Ui is derived from this class and Ui implements
+* the virtual method HandleRadioEngineCallBackL in class
+* CFMRadioAppUi. Radio engine then calls this virtual function
+* when it needs to pass information i.e. about its changed
+* state where Ui must react to. The traffic between Ui and
+* engine goes like:
+* Ui::RequestToEngine() -> Engine() -> Ui::DoAndShowItAndUpdateState()
+*
+*/
+
+
+#ifndef FMRADIOENGINESTATECHANGECALLBACK_H
+#define FMRADIOENGINESTATECHANGECALLBACK_H
+
+// Class declaration
+
+/**
+* It is interface to integrate the FM Radio
+* application engine and Ui.
+* @lib FMRadioEngine.lib
+* @since Series 60 2.7
+*/
+class MRadioEngineStateChangeCallback
+{
+ public:
+ /**
+ * Event codes for identifying the event that
+ * caused the change in engine's internal state.
+ * Also, the possible error context is determined
+ * from the event code. See the TFMRadioErrorCode
+ * decalaration below for further information.
+ */
+ enum TFMRadioNotifyEvent
+ {
+ // Radio functionality events
+ EFMRadioEventNone = 0x00,
+ EFMRadioEventTunerReady,
+ EFMRadioEventRadioOn,
+ EFMRadioEventRadioOff,
+ EFMRadioEventTune,
+ EFMRadioEventVolumeUpdated,
+ EFMRadioEventSetAudioMode,
+ EFMRadioEventSetAudioOutput,
+ EFMRadioEventHeadsetDisconnected,
+ EFMRadioEventHeadsetReconnected,
+ EFMRadioEventButtonPressed,
+ EFMRadioEventFlightModeEnabled,
+ EFMRadioEventFlightModeDisabled,
+ EFMRadioEventStandbyMode,
+ EFMRadioEventSetMuteState,
+ EFMRadioEventAudioResourceAvailable,
+ EFMRadioEventAudioResourcePaused,
+ EFMRadioEventAudioResourceLost,
+ EFMRadioEventCallStarted,
+ EFMRadioEventCallEnded,
+ EFMRadioEventFMRadioInitialized,
+ EFMRadioEventFMTransmitterOn,
+ EFMRadioEventFreqRangeChanged,
+ EFMRadioEventRDSNotSupported,
+ EFMRadioEventScanLocalStationsCanceled
+
+ };
+ public:
+ /**
+ * Interface method to get the callback from the
+ * radio engine to radio Ui.
+ *
+ * @param aEventCode Predefined code of the event which
+ * caused the change in engine's internal state.
+ * @param aErrorCode Predefined code of the error if
+ * one was generated. If no errors, value is 0x00 (NULL).
+ * @return none
+ */
+ virtual void HandleRadioEngineCallBack(TFMRadioNotifyEvent aEventCode, TInt aErrorCode ) = 0;
+};
+
+#endif //FMRADIOENGINESTATECHANGECALLBACK_H
+
+// End of file