1ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// Copyright 2014 PDFium Authors. All rights reserved. 2ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// Use of this source code is governed by a BSD-style license that can be 3ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// found in the LICENSE file. 4ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 5ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 7ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#ifndef _APP_H_ 8ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define _APP_H_ 9ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 10ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CJS_Runtime; 11ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 12ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* ---------------------------- TimerObj ---------------------------- */ 13ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 14ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CJS_Timer; 15ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 16ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass TimerObj : public CJS_EmbedObj 17ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 18ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 19ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov TimerObj(CJS_Object* pJSObject); 20ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov virtual ~TimerObj(); 21ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 22ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 23ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void SetTimer(CJS_Timer* pTimer); 24ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_Timer* GetTimer() const; 25ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 26ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovprivate: 27ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_Timer* m_pTimer; 28ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 29ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 30ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CJS_TimerObj : public CJS_Object 31ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 32ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 33ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_TimerObj(JSFXObject pObject) : CJS_Object(pObject) {} 34ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov virtual ~CJS_TimerObj(){} 35ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 36ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov DECLARE_JS_CLASS(CJS_TimerObj); 37ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 38ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 39ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 40ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// struct APP_MENUITEM_ARRAY; 41ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// 42ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// struct APP_MENUITEM 43ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// { 44ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// APP_MENUITEM() : oSubMenu(NULL), cName(L""), cReturn(L""), bMarked(false), bEnabled(true) 45ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// { 46ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// } 47ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// CFX_WideString cName; 48ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// CFX_WideString cReturn; 49ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// APP_MENUITEM_ARRAY* oSubMenu; 50ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// bool bMarked; 51ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// bool bEnabled; 52ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// }; 53ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 54ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// struct APP_MENUITEM_ARRAY 55ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// { 56ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// APP_MENUITEM_ARRAY() : m_hMenu(NULL), pContents(NULL), nSize(0) 57ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// { 58ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// 59ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// } 60ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// APP_MENUITEM * pContents; 61ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// HMENU m_hMenu; 62ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// int nSize; 63ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// }; 64ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 65ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// struct APP_MENU; 66ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// struct APP_MENU_ARRAY 67ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// { 68ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// APP_MENU_ARRAY(): 69ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// pContent(NULL) 70ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// { 71ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// } 72ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// 73ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// APP_MENU* pContent; 74ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// }; 75ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 76ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// struct APP_MENU 77ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// { 78ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// APP_MENU():bSubMenu(false), 79ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// SubMenuItems(NULL), 80ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// cwMenuItemName(L""), 81ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// hMenu(NULL), 82ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// iSize(0) 83ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// { 84ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// 85ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// } 86ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// 87ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// APP_MENU(CFX_WideString &cwName): 88ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// cwMenuItemName(cwName), 89ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// bSubMenu(false), 90ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// SubMenuItems(NULL), 91ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// hMenu(NULL), 92ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// iSize(0) 93ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// { 94ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// 95ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// } 96ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// 97ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// CFX_WideString cwMenuItemName; 98ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// bool bSubMenu; 99ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// APP_MENU_ARRAY* SubMenuItems; 100ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// int iSize; 101ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// HMENU hMenu; 102ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// }; 103ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 104ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass app : public CJS_EmbedObj 105ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 106ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 107ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov app(CJS_Object * pJSObject); 108ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov virtual ~app(); 109ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 110ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 111ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL activeDocs(OBJ_PROP_PARAMS); 112ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL calculate(OBJ_PROP_PARAMS); 113ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL formsVersion(OBJ_PROP_PARAMS); 114ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL fs(OBJ_PROP_PARAMS); 115ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL fullscreen(OBJ_PROP_PARAMS); 116ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL language(OBJ_PROP_PARAMS); 117ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL media(OBJ_PROP_PARAMS); 118ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL platform(OBJ_PROP_PARAMS); 119ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL runtimeHighlight(OBJ_PROP_PARAMS); 120ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL viewerType(OBJ_PROP_PARAMS); 121ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL viewerVariation(OBJ_PROP_PARAMS); 122ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL viewerVersion(OBJ_PROP_PARAMS); 123ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 124ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 125ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL alert(OBJ_METHOD_PARAMS); 126ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL beep(OBJ_METHOD_PARAMS); 127ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL browseForDoc(OBJ_METHOD_PARAMS); 128ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL clearInterval(OBJ_METHOD_PARAMS); 129ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL clearTimeOut(OBJ_METHOD_PARAMS); 130ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL execDialog(OBJ_METHOD_PARAMS); 131ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL execMenuItem(OBJ_METHOD_PARAMS); 132ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL findComponent(OBJ_METHOD_PARAMS); 133ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL goBack(OBJ_METHOD_PARAMS); 134ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL goForward(OBJ_METHOD_PARAMS); 135ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL launchURL(OBJ_METHOD_PARAMS); 136ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL mailMsg(OBJ_METHOD_PARAMS); 137ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL newFDF(OBJ_METHOD_PARAMS); 138ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL newDoc(OBJ_METHOD_PARAMS); 139ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL openDoc(OBJ_METHOD_PARAMS); 140ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL openFDF(OBJ_METHOD_PARAMS); 141ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL popUpMenuEx(OBJ_METHOD_PARAMS); 142ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL popUpMenu(OBJ_METHOD_PARAMS); 143ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL response(OBJ_METHOD_PARAMS); 144ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL setInterval(OBJ_METHOD_PARAMS); 145ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL setTimeOut(OBJ_METHOD_PARAMS); 146ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 147ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovprivate: 148ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// FX_DWORD AppGetTickCount(); 149ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void TimerProc(CJS_Timer* pTimer); 150ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void RunJsScript(CJS_Runtime * pRuntime,const CFX_WideString & wsScript); 151ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// void ParsePopupMenuObj(APP_MENUITEM * ppMenuItem,JSObject * pObj); 152ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// void DeleteMenuItems(APP_MENUITEM_ARRAY * pMenuItems); 153ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// void AddMenuItem(APP_MENUITEM_ARRAY * pMenuItems, HMENU hMenu, MENUITEMINFO MenuItemInfo); 154ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// void InitMenuItemInfo(MENUITEMINFO& MenuItemInfo); 155ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// void DestroyPopUpMenu(); 156ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 157ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// void ParserMenuItem(APP_MENU* pHead, const CJS_Parameters¶ms); 158ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// void AddItemToMenu(APP_MENU* pHead, HMENU hMenu, MENUITEMINFO MenuItemInfo); 159ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// void DestroyMenuItems(APP_MENU* pHead); 160ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 161ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 162ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov static CFX_WideString SysPathToPDFPath(const CFX_WideString& sOldPath); 163ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov static CFX_WideString PDFPathToSysPath(const CFX_WideString& sOldPath); 164ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov static CFX_WideString RelativePathToSysPath(const CFX_WideString& sOldPath, const CFX_WideString& sFilePath); 165ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 166ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 167ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovprivate: 168ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 169ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov bool m_bCalculate; 170ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_Runtime* m_pRuntime; 171ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov bool m_bRuntimeHighLight; 172ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 173ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_ArrayTemplate<CJS_Timer*> m_aTimer; 174ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// APP_MENU* m_pMenuHead; 175ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 176ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 177ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// static CReader_App* s_App; 178ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 179ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 180ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CJS_App : public CJS_Object 181ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 182ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 183ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CJS_App(JSFXObject pObject) : CJS_Object(pObject) {}; 184ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov virtual ~CJS_App(void){}; 185ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 186ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov DECLARE_JS_CLASS(CJS_App); 187ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 188ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP(activeDocs, app); 189ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP(calculate, app); 190ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP(formsVersion, app); 191ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP(fs, app); 192ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP(fullscreen, app); 193ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP(language, app); 194ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP(media, app); 195ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP(platform, app); 196ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP(runtimeHighlight, app); 197ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP(viewerType, app); 198ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP(viewerVariation, app); 199ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_PROP(viewerVersion, app); 200ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 201ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD(alert, app); 202ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD(beep, app); 203ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD(browseForDoc, app); 204ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD(clearInterval, app); 205ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD(clearTimeOut, app); 206ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD(execDialog, app); 207ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD(execMenuItem, app); 208ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD(findComponent, app); 209ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD(goBack, app); 210ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD(goForward, app); 211ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD(launchURL, app); 212ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD(mailMsg, app); 213ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD(newFDF, app); 214ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD(newDoc, app); 215ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD(openDoc, app); 216ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD(openFDF, app); 217ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD(popUpMenuEx, app); 218ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD(popUpMenu, app); 219ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD(response, app); 220ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD(setInterval, app); 221ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov JS_STATIC_METHOD(setTimeOut, app); 222ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 223ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 224ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 225ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#endif //_APP_H_ 226