00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __FLASH_UI_H__
00022 #define __FLASH_UI_H__
00023
00024 #include <eikapp.h>
00025 #include <apparc.h>
00026 #include <apgcli.h>
00027
00028
00091 struct FlashUIConfig
00092 {
00096 TBool iIsMMI;
00097
00101 TBool iIsStubApp;
00102
00106 TFileName iContentFileName;
00107
00111 TUint32 iContentChecksum;
00112
00116 const TDesC8* iExtensions;
00117
00121 const TDesC8* iReserved1;
00122
00126 TUint32 iReserved2;
00127 };
00128
00132 _LIT(KFlashUILibraryName, "flash2ui.dll");
00133
00137 const TInt KFlashCreateDocumentOrdinal = 1;
00138
00142 typedef void* (*PFNC_CreateFlashDocumentL)(CEikApplication* aApp, const FlashUIConfig& aUIConfig);
00143
00144 class CEikApplication;
00159 inline CApaDocument* CreateFlashDocumentL(RLibrary& aLibrary, CEikApplication* aApp, const FlashUIConfig& aUIConfig)
00160 {
00161 CApaDocument* doc = NULL;
00162 User::LeaveIfError(aLibrary.Load(KFlashUILibraryName));
00163 PFNC_CreateFlashDocumentL pFncCreateFlashDocumentL = (PFNC_CreateFlashDocumentL)aLibrary.Lookup(KFlashCreateDocumentOrdinal);
00164 if (pFncCreateFlashDocumentL == NULL)
00165 {
00166 User::Leave(KErrGeneral);
00167 }
00168 doc = (CApaDocument*)pFncCreateFlashDocumentL(aApp, aUIConfig);
00169 return doc;
00170 }
00171
00177 inline TBool FlashStubsSupported()
00178 {
00179
00180 RLibrary library;
00181 TInt err = library.Load(KFlashUILibraryName);
00182 if(err == KErrNone)
00183 {
00184 library.Close();
00185 return ETrue;
00186 }
00187 else
00188 {
00189 return EFalse;
00190 }
00191 }
00192 #endif // __FLASH_UI_H__