1 // Copyright 2017 The PDFium Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6 7 #ifndef FXJS_XFA_CJX_HOSTPSEUDOMODEL_H_ 8 #define FXJS_XFA_CJX_HOSTPSEUDOMODEL_H_ 9 10 #include "fxjs/xfa/cjx_object.h" 11 #include "fxjs/xfa/jse_define.h" 12 #include "xfa/fxfa/fxfa_basic.h" 13 14 class CScript_HostPseudoModel; 15 16 class CJX_HostPseudoModel final : public CJX_Object { 17 public: 18 CONSTRUCT_VIA_MAKE_GARBAGE_COLLECTED; 19 ~CJX_HostPseudoModel() override; 20 21 // CJX_Object: 22 bool DynamicTypeIs(TypeTag eType) const override; 23 24 JSE_METHOD(beep); 25 JSE_METHOD(documentCountInBatch); 26 JSE_METHOD(documentInBatch); 27 JSE_METHOD(exportData); 28 JSE_METHOD(getFocus); 29 JSE_METHOD(gotoURL); 30 JSE_METHOD(importData); 31 JSE_METHOD(messageBox); 32 JSE_METHOD(openList); 33 JSE_METHOD(pageDown); 34 JSE_METHOD(pageUp); 35 JSE_METHOD(print); 36 JSE_METHOD(resetData); 37 JSE_METHOD(response); 38 JSE_METHOD(setFocus); 39 40 JSE_PROP(appType); 41 JSE_PROP(calculationsEnabled); 42 JSE_PROP(currentPage); 43 JSE_PROP(language); 44 JSE_PROP(numPages); 45 JSE_PROP(platform); 46 JSE_PROP(title); 47 JSE_PROP(validationsEnabled); 48 JSE_PROP(variation); 49 JSE_PROP(version); 50 51 // TODO(dsinclair): Remove when xfa_basic_data_element_script is removed. 52 // Doesn't exist in spec 53 JSE_PROP(name); 54 55 private: 56 explicit CJX_HostPseudoModel(CScript_HostPseudoModel* model); 57 58 using Type__ = CJX_HostPseudoModel; 59 using ParentType__ = CJX_Object; 60 61 static const TypeTag static_type__ = TypeTag::HostPseudoModel; 62 static const CJX_MethodSpec MethodSpecs[]; 63 }; 64 65 #endif // FXJS_XFA_CJX_HOSTPSEUDOMODEL_H_ 66