fmradio/fmradioengine/inc/fmradioenginestatechangecallback.h
branchRCL_3
changeset 20 93c594350b9a
parent 0 f3d95d9c00ab
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fmradio/fmradioengine/inc/fmradioenginestatechangecallback.h	Wed Sep 01 12:30:32 2010 +0100
@@ -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