5 #include <remconcoreapitargetobserver.h>
12 class CWsScreenDevice
;
19 typedef int (*mainfunc1
) ();
20 typedef int (*mainfunc2
) (int argc
, char* argv
[]);
21 typedef int (*mainfunc3
) (int argc
, char* argv
[], char* env
[]);
22 typedef void (*mainfunc4
) ();
23 typedef void (*mainfunc5
) (int argc
, char* argv
[]);
24 typedef void (*mainfunc6
) (int argc
, char* argv
[], char* env
[]);
30 int SDL_main (int argc
, char* argv
[]);
44 const void* operator[](TInt aIndex
) const;
51 class CSDL
: public CBase
, public MRemConCoreApiTargetObserver
55 void SetContainerWindowL(RWindow
& aWindow
, RWsSession
& aSession
, CWsScreenDevice
& aDevice
); //the window where drawn happens, should be recalled (propably in application HandleResourceChange) if screen device changes
57 void AppendWsEvent(const TWsEvent
& aEvent
); //give event to SDL
58 TInt
GetSDLCode(TInt aScanCode
); //get SDL internal key code bind to given scancode, return -1 if scancode is not found, aScancode must be postive number
59 TInt
SetSDLCode(TInt aScanCode
, TInt aSDLCode
); //set internal SDL code with given key code, return replaced code
60 TInt
SDLCodesCount() const; //return count of scancodes
61 void ResetSDLCodes(); //rest all code replacement to their initial values
62 void Resume(); //restart SDL main
63 void Suspend(); //stop SDL main
64 void SDLPanic(const TDesC
& aInfo
, TInt aErr
); //Panic from SDL thread (see SDLThreadEvent)
65 TThreadId
CallMainL(const TMainFunc
& aFunc
, TRequestStatus
* const aStatus
, const CDesC8Array
* const iArg
); //internal
68 void MrccatoCommand(TRemConCoreApiOperationId aOperationId
, TRemConCoreApiButtonAction aButtonAct
);