Disable audio callback when appropriate.
[SDL.s60v3.git] / symbian / include / sdlepocapi.h
blob6be520ba230abf8ac4eeb4ccdabd70965520f0b5
1 #ifndef EPOC_SDL_H
2 #define EPOC_SDL_H
4 #include <e32std.h>
5 #include <remconcoreapitargetobserver.h>
6 #include "epoc_sdl.h"
8 class CDesC8Array;
9 class TWsEvent;
10 class RWindow;
11 class CAknAppUi;
12 class RWsSession;
13 class CWsScreenDevice;
14 class CBitmapContext;
15 class CFbsBitmap;
17 extern "C"
19 int SDL_main (int argc, char* argv[]);
22 class ProfileWatcher;
23 class MProfileWatcher
25 public:
26 virtual void ProfileChanged(int profile) = 0;
29 class CSDL : public MRemConCoreApiTargetObserver, public MProfileWatcher
31 public:
32 enum SoundPauseReason
34 SPR_NONE = 0,
35 SPR_FOCUSLOST = 0x1,
36 SPR_SILENTPROFILE = 0x2
39 enum { SPR_HARDSTOP = SPR_FOCUSLOST };
41 CSDL();
42 virtual ~CSDL();
44 void SetContainerWindowL(RWindow& aWindow, RWsSession& aSession, CWsScreenDevice& aDevice);
45 void AppendWsEvent(const TWsEvent& aEvent); //give event to SDL
46 void CallMainL();
47 void Resize();
49 CEventQueue* EventQueue() { return m_eventQueue; }
50 void SetOrientation(CAknAppUi::TAppUiOrientation orientation, const TSize& aSize, TDisplayMode aMode);
52 int GetSoundPauseReason() const { return m_soundPauseReason; }
53 void SetFocus(bool focused);
55 private:
56 void MrccatoCommand(TRemConCoreApiOperationId aOperationId, TRemConCoreApiButtonAction aButtonAct);
57 void ProfileChanged(int profile);
59 CEventQueue* m_eventQueue;
60 bool m_orientationWait;
61 TSize m_size;
62 TDisplayMode m_mode;
63 int m_soundPauseReason;
64 ProfileWatcher* m_profileWatcher;
67 extern CSDL* g_SDL;
69 #endif