summaryrefslogtreecommitdiff
path: root/xfa/include/fxjse
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/include/fxjse')
-rw-r--r--xfa/include/fxjse/fxjse.h247
1 files changed, 142 insertions, 105 deletions
diff --git a/xfa/include/fxjse/fxjse.h b/xfa/include/fxjse/fxjse.h
index 368acd18ad..ed3e987b95 100644
--- a/xfa/include/fxjse/fxjse.h
+++ b/xfa/include/fxjse/fxjse.h
@@ -7,125 +7,162 @@
#ifndef _FXJSE_H_
#define _FXJSE_H_
-typedef struct FXJSE_HRUNTIME_ {
- void* pData;
-}* FXJSE_HRUNTIME;
-typedef struct FXJSE_HCONTEXT_ {
- void* pData;
-}* FXJSE_HCONTEXT;
-typedef struct FXJSE_HCLASS_ {
- void* pData;
-}* FXJSE_HCLASS;
-typedef struct FXJSE_HVALUE_ {
- void* pData;
-}* FXJSE_HVALUE;
-typedef struct FXJSE_HOBJECT_ : public FXJSE_HVALUE_ {
-}* FXJSE_HOBJECT;
+typedef struct FXJSE_HRUNTIME_ { void* pData; } * FXJSE_HRUNTIME;
+typedef struct FXJSE_HCONTEXT_ { void* pData; } * FXJSE_HCONTEXT;
+typedef struct FXJSE_HCLASS_ { void* pData; } * FXJSE_HCLASS;
+typedef struct FXJSE_HVALUE_ { void* pData; } * FXJSE_HVALUE;
+typedef struct FXJSE_HOBJECT_ : public FXJSE_HVALUE_{} * FXJSE_HOBJECT;
typedef double FXJSE_DOUBLE;
void FXJSE_Initialize();
void FXJSE_Finalize();
-FXJSE_HRUNTIME FXJSE_Runtime_Create();
-void FXJSE_Runtime_Release(FXJSE_HRUNTIME hRuntime);
+FXJSE_HRUNTIME FXJSE_Runtime_Create();
+void FXJSE_Runtime_Release(FXJSE_HRUNTIME hRuntime);
typedef struct _FXJSE_CLASS FXJSE_CLASS;
-FXJSE_HCONTEXT FXJSE_Context_Create (FXJSE_HRUNTIME hRuntime, const FXJSE_CLASS* lpGlobalClass = NULL, void* lpGlobalObject = NULL);
-void FXJSE_Context_Release (FXJSE_HCONTEXT hContext);
-FXJSE_HVALUE FXJSE_Context_GetGlobalObject(FXJSE_HCONTEXT hContext);
-FXJSE_HRUNTIME FXJSE_Context_GetRuntime(FXJSE_HCONTEXT hContext);
+FXJSE_HCONTEXT FXJSE_Context_Create(FXJSE_HRUNTIME hRuntime,
+ const FXJSE_CLASS* lpGlobalClass = NULL,
+ void* lpGlobalObject = NULL);
+void FXJSE_Context_Release(FXJSE_HCONTEXT hContext);
+FXJSE_HVALUE FXJSE_Context_GetGlobalObject(FXJSE_HCONTEXT hContext);
+FXJSE_HRUNTIME FXJSE_Context_GetRuntime(FXJSE_HCONTEXT hContext);
enum FXJSE_CompatibleModeFlags {
- FXJSE_COMPATIBLEMODEFLAG_CONSTRUCTOREXTRAMETHODS = (1 << 0),
- FXJSE_COMPATIBLEMODEFLAGCOUNT = 1,
+ FXJSE_COMPATIBLEMODEFLAG_CONSTRUCTOREXTRAMETHODS = (1 << 0),
+ FXJSE_COMPATIBLEMODEFLAGCOUNT = 1,
};
-void FXJSE_Context_EnableCompatibleMode(FXJSE_HCONTEXT hContext, FX_DWORD dwCompatibleFlags);
-class CFXJSE_Arguments
-{
-public:
- FXJSE_HRUNTIME GetRuntime() const;
- int32_t GetLength() const;
- FXJSE_HVALUE GetValue(int32_t index) const;
- FX_BOOL GetBoolean(int32_t index) const;
- int32_t GetInt32(int32_t index) const;
- FX_FLOAT GetFloat(int32_t index) const;
- CFX_ByteString GetUTF8String(int32_t index) const;
- void* GetObject(int32_t index, FXJSE_HCLASS hClass = NULL) const;
- FXJSE_HVALUE GetReturnValue();
+void FXJSE_Context_EnableCompatibleMode(FXJSE_HCONTEXT hContext,
+ FX_DWORD dwCompatibleFlags);
+class CFXJSE_Arguments {
+ public:
+ FXJSE_HRUNTIME GetRuntime() const;
+ int32_t GetLength() const;
+ FXJSE_HVALUE GetValue(int32_t index) const;
+ FX_BOOL GetBoolean(int32_t index) const;
+ int32_t GetInt32(int32_t index) const;
+ FX_FLOAT GetFloat(int32_t index) const;
+ CFX_ByteString GetUTF8String(int32_t index) const;
+ void* GetObject(int32_t index, FXJSE_HCLASS hClass = NULL) const;
+ FXJSE_HVALUE GetReturnValue();
};
-typedef void (*FXJSE_FuncCallback) (FXJSE_HOBJECT hThis, const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);
-typedef void (*FXJSE_PropAccessor) (FXJSE_HOBJECT hObject, const CFX_ByteStringC& szPropName, FXJSE_HVALUE hValue);
-typedef int32_t(*FXJSE_PropTypeGetter) (FXJSE_HOBJECT hObject, const CFX_ByteStringC& szPropName, FX_BOOL bQueryIn);
-typedef FX_BOOL (*FXJSE_PropDeleter) (FXJSE_HOBJECT hObject, const CFX_ByteStringC& szPropName);
+typedef void (*FXJSE_FuncCallback)(FXJSE_HOBJECT hThis,
+ const CFX_ByteStringC& szFuncName,
+ CFXJSE_Arguments& args);
+typedef void (*FXJSE_PropAccessor)(FXJSE_HOBJECT hObject,
+ const CFX_ByteStringC& szPropName,
+ FXJSE_HVALUE hValue);
+typedef int32_t (*FXJSE_PropTypeGetter)(FXJSE_HOBJECT hObject,
+ const CFX_ByteStringC& szPropName,
+ FX_BOOL bQueryIn);
+typedef FX_BOOL (*FXJSE_PropDeleter)(FXJSE_HOBJECT hObject,
+ const CFX_ByteStringC& szPropName);
typedef struct _FXJSE_FUNCTION {
- const FX_CHAR* name;
- FXJSE_FuncCallback callbackProc;
+ const FX_CHAR* name;
+ FXJSE_FuncCallback callbackProc;
} FXJSE_FUNCTION;
-#define FXJSE_DEF_FUNCTION(functionName, functionCallback) {functionName, functionCallback}
-void FXJSE_DefineFunctions(FXJSE_HCONTEXT hContext, const FXJSE_FUNCTION* lpFunctions, int nNum);
+#define FXJSE_DEF_FUNCTION(functionName, functionCallback) \
+ { functionName, functionCallback }
+void FXJSE_DefineFunctions(FXJSE_HCONTEXT hContext,
+ const FXJSE_FUNCTION* lpFunctions,
+ int nNum);
typedef struct _FXJSE_PROPERTY {
- const FX_CHAR* name;
- FXJSE_PropAccessor getProc;
- FXJSE_PropAccessor setProc;
+ const FX_CHAR* name;
+ FXJSE_PropAccessor getProc;
+ FXJSE_PropAccessor setProc;
} FXJSE_PROPERTY;
enum FXJSE_ClassPropTypes {
- FXJSE_ClassPropType_None,
- FXJSE_ClassPropType_Property,
- FXJSE_ClassPropType_Method
+ FXJSE_ClassPropType_None,
+ FXJSE_ClassPropType_Property,
+ FXJSE_ClassPropType_Method
};
typedef struct _FXJSE_CLASS {
- const FX_CHAR* name;
- FXJSE_FuncCallback constructor;
- FXJSE_PROPERTY* properties;
- FXJSE_FUNCTION* methods;
- int32_t propNum;
- int32_t methNum;
- FXJSE_PropTypeGetter dynPropTypeGetter;
- FXJSE_PropAccessor dynPropGetter;
- FXJSE_PropAccessor dynPropSetter;
- FXJSE_PropDeleter dynPropDeleter;
- FXJSE_FuncCallback dynMethodCall;
+ const FX_CHAR* name;
+ FXJSE_FuncCallback constructor;
+ FXJSE_PROPERTY* properties;
+ FXJSE_FUNCTION* methods;
+ int32_t propNum;
+ int32_t methNum;
+ FXJSE_PropTypeGetter dynPropTypeGetter;
+ FXJSE_PropAccessor dynPropGetter;
+ FXJSE_PropAccessor dynPropSetter;
+ FXJSE_PropDeleter dynPropDeleter;
+ FXJSE_FuncCallback dynMethodCall;
} FXJSE_CLASS;
-FXJSE_HCLASS FXJSE_DefineClass(FXJSE_HCONTEXT hContext, const FXJSE_CLASS* lpClass);
-FXJSE_HCLASS FXJSE_GetClass(FXJSE_HCONTEXT hContext, const CFX_ByteStringC& szName);
-FXJSE_HVALUE FXJSE_Value_Create(FXJSE_HRUNTIME hRuntime);
-void FXJSE_Value_Release(FXJSE_HVALUE hValue);
-FXJSE_HRUNTIME FXJSE_Value_GetRuntime(FXJSE_HVALUE hValue);
-FX_BOOL FXJSE_Value_IsUndefined (FXJSE_HVALUE hValue);
-FX_BOOL FXJSE_Value_IsNull (FXJSE_HVALUE hValue);
-FX_BOOL FXJSE_Value_IsBoolean (FXJSE_HVALUE hValue);
-FX_BOOL FXJSE_Value_IsUTF8String (FXJSE_HVALUE hValue);
-FX_BOOL FXJSE_Value_IsNumber (FXJSE_HVALUE hValue);
-FX_BOOL FXJSE_Value_IsInteger (FXJSE_HVALUE hValue);
-FX_BOOL FXJSE_Value_IsObject (FXJSE_HVALUE hValue);
-FX_BOOL FXJSE_Value_IsArray (FXJSE_HVALUE hValue);
-FX_BOOL FXJSE_Value_IsFunction (FXJSE_HVALUE hValue);
-FX_BOOL FXJSE_Value_IsDate (FXJSE_HVALUE hValue);
-FX_BOOL FXJSE_Value_ToBoolean (FXJSE_HVALUE hValue);
-FX_FLOAT FXJSE_Value_ToFloat (FXJSE_HVALUE hValue);
-FXJSE_DOUBLE FXJSE_Value_ToDouble (FXJSE_HVALUE hValue);
-int32_t FXJSE_Value_ToInteger (FXJSE_HVALUE hValue);
-void FXJSE_Value_ToUTF8String (FXJSE_HVALUE hValue, CFX_ByteString& szStrOutput);
-void* FXJSE_Value_ToObject (FXJSE_HVALUE hValue, FXJSE_HCLASS hClass);
-void FXJSE_Value_SetUndefined (FXJSE_HVALUE hValue);
-void FXJSE_Value_SetNull (FXJSE_HVALUE hValue);
-void FXJSE_Value_SetBoolean (FXJSE_HVALUE hValue, FX_BOOL bBoolean);
-void FXJSE_Value_SetUTF8String (FXJSE_HVALUE hValue, const CFX_ByteStringC& szString);
-void FXJSE_Value_SetInteger (FXJSE_HVALUE hValue, int32_t nInteger);
-void FXJSE_Value_SetFloat (FXJSE_HVALUE hValue, FX_FLOAT fFloat);
-void FXJSE_Value_SetDouble (FXJSE_HVALUE hValue, FXJSE_DOUBLE dDouble);
-void FXJSE_Value_SetObject (FXJSE_HVALUE hValue, void* lpObject, FXJSE_HCLASS hClass);
-void FXJSE_Value_SetArray (FXJSE_HVALUE hValue, uint32_t uValueCount, FXJSE_HVALUE* rgValues);
-void FXJSE_Value_SetDate (FXJSE_HVALUE hValue, FXJSE_DOUBLE dDouble);
-void FXJSE_Value_Set (FXJSE_HVALUE hValue, FXJSE_HVALUE hOriginalValue);
-FX_BOOL FXJSE_Value_GetObjectProp (FXJSE_HVALUE hValue, const CFX_ByteStringC& szPropName, FXJSE_HVALUE hPropValue);
-FX_BOOL FXJSE_Value_SetObjectProp (FXJSE_HVALUE hValue, const CFX_ByteStringC& szPropName, FXJSE_HVALUE hPropValue);
-FX_BOOL FXJSE_Value_GetObjectPropByIdx (FXJSE_HVALUE hValue, uint32_t uPropIdx, FXJSE_HVALUE hPropValue);
-FX_BOOL FXJSE_Value_SetObjectPropByIdx (FXJSE_HVALUE hValue, uint32_t uPropIdx, FXJSE_HVALUE hPropValue);
-FX_BOOL FXJSE_Value_DeleteObjectProp (FXJSE_HVALUE hValue, const CFX_ByteStringC& szPropName);
-FX_BOOL FXJSE_Value_ObjectHasOwnProp (FXJSE_HVALUE hValue, const CFX_ByteStringC& szPropName, FX_BOOL bUseTypeGetter);
-FX_BOOL FXJSE_Value_SetObjectOwnProp (FXJSE_HVALUE hValue, const CFX_ByteStringC& szPropName, FXJSE_HVALUE hPropValue);
-FX_BOOL FXJSE_Value_CallFunction (FXJSE_HVALUE hFunction, FXJSE_HVALUE hThis, FXJSE_HVALUE hRetValue, uint32_t nArgCount, FXJSE_HVALUE* lpArgs);
-FX_BOOL FXJSE_Value_SetFunctionBind (FXJSE_HVALUE hValue, FXJSE_HVALUE hOldFunction, FXJSE_HVALUE hNewThis);
-FX_BOOL FXJSE_ExecuteScript(FXJSE_HCONTEXT hContext, const FX_CHAR* szScript, FXJSE_HVALUE hRetValue, FXJSE_HVALUE hNewThisObject = NULL);
-void FXJSE_ThrowMessage(const CFX_ByteStringC& utf8Name, const CFX_ByteStringC& utf8Message);
-FX_BOOL FXJSE_ReturnValue_GetMessage(FXJSE_HVALUE hRetValue, CFX_ByteString& utf8Name, CFX_ByteString& utf8Message);
-FX_BOOL FXJSE_ReturnValue_GetLineInfo(FXJSE_HVALUE hRetValue, int32_t& nLine, int32_t& nCol);
+FXJSE_HCLASS FXJSE_DefineClass(FXJSE_HCONTEXT hContext,
+ const FXJSE_CLASS* lpClass);
+FXJSE_HCLASS FXJSE_GetClass(FXJSE_HCONTEXT hContext,
+ const CFX_ByteStringC& szName);
+FXJSE_HVALUE FXJSE_Value_Create(FXJSE_HRUNTIME hRuntime);
+void FXJSE_Value_Release(FXJSE_HVALUE hValue);
+FXJSE_HRUNTIME FXJSE_Value_GetRuntime(FXJSE_HVALUE hValue);
+FX_BOOL FXJSE_Value_IsUndefined(FXJSE_HVALUE hValue);
+FX_BOOL FXJSE_Value_IsNull(FXJSE_HVALUE hValue);
+FX_BOOL FXJSE_Value_IsBoolean(FXJSE_HVALUE hValue);
+FX_BOOL FXJSE_Value_IsUTF8String(FXJSE_HVALUE hValue);
+FX_BOOL FXJSE_Value_IsNumber(FXJSE_HVALUE hValue);
+FX_BOOL FXJSE_Value_IsInteger(FXJSE_HVALUE hValue);
+FX_BOOL FXJSE_Value_IsObject(FXJSE_HVALUE hValue);
+FX_BOOL FXJSE_Value_IsArray(FXJSE_HVALUE hValue);
+FX_BOOL FXJSE_Value_IsFunction(FXJSE_HVALUE hValue);
+FX_BOOL FXJSE_Value_IsDate(FXJSE_HVALUE hValue);
+FX_BOOL FXJSE_Value_ToBoolean(FXJSE_HVALUE hValue);
+FX_FLOAT FXJSE_Value_ToFloat(FXJSE_HVALUE hValue);
+FXJSE_DOUBLE FXJSE_Value_ToDouble(FXJSE_HVALUE hValue);
+int32_t FXJSE_Value_ToInteger(FXJSE_HVALUE hValue);
+void FXJSE_Value_ToUTF8String(FXJSE_HVALUE hValue, CFX_ByteString& szStrOutput);
+void* FXJSE_Value_ToObject(FXJSE_HVALUE hValue, FXJSE_HCLASS hClass);
+void FXJSE_Value_SetUndefined(FXJSE_HVALUE hValue);
+void FXJSE_Value_SetNull(FXJSE_HVALUE hValue);
+void FXJSE_Value_SetBoolean(FXJSE_HVALUE hValue, FX_BOOL bBoolean);
+void FXJSE_Value_SetUTF8String(FXJSE_HVALUE hValue,
+ const CFX_ByteStringC& szString);
+void FXJSE_Value_SetInteger(FXJSE_HVALUE hValue, int32_t nInteger);
+void FXJSE_Value_SetFloat(FXJSE_HVALUE hValue, FX_FLOAT fFloat);
+void FXJSE_Value_SetDouble(FXJSE_HVALUE hValue, FXJSE_DOUBLE dDouble);
+void FXJSE_Value_SetObject(FXJSE_HVALUE hValue,
+ void* lpObject,
+ FXJSE_HCLASS hClass);
+void FXJSE_Value_SetArray(FXJSE_HVALUE hValue,
+ uint32_t uValueCount,
+ FXJSE_HVALUE* rgValues);
+void FXJSE_Value_SetDate(FXJSE_HVALUE hValue, FXJSE_DOUBLE dDouble);
+void FXJSE_Value_Set(FXJSE_HVALUE hValue, FXJSE_HVALUE hOriginalValue);
+FX_BOOL FXJSE_Value_GetObjectProp(FXJSE_HVALUE hValue,
+ const CFX_ByteStringC& szPropName,
+ FXJSE_HVALUE hPropValue);
+FX_BOOL FXJSE_Value_SetObjectProp(FXJSE_HVALUE hValue,
+ const CFX_ByteStringC& szPropName,
+ FXJSE_HVALUE hPropValue);
+FX_BOOL FXJSE_Value_GetObjectPropByIdx(FXJSE_HVALUE hValue,
+ uint32_t uPropIdx,
+ FXJSE_HVALUE hPropValue);
+FX_BOOL FXJSE_Value_SetObjectPropByIdx(FXJSE_HVALUE hValue,
+ uint32_t uPropIdx,
+ FXJSE_HVALUE hPropValue);
+FX_BOOL FXJSE_Value_DeleteObjectProp(FXJSE_HVALUE hValue,
+ const CFX_ByteStringC& szPropName);
+FX_BOOL FXJSE_Value_ObjectHasOwnProp(FXJSE_HVALUE hValue,
+ const CFX_ByteStringC& szPropName,
+ FX_BOOL bUseTypeGetter);
+FX_BOOL FXJSE_Value_SetObjectOwnProp(FXJSE_HVALUE hValue,
+ const CFX_ByteStringC& szPropName,
+ FXJSE_HVALUE hPropValue);
+FX_BOOL FXJSE_Value_CallFunction(FXJSE_HVALUE hFunction,
+ FXJSE_HVALUE hThis,
+ FXJSE_HVALUE hRetValue,
+ uint32_t nArgCount,
+ FXJSE_HVALUE* lpArgs);
+FX_BOOL FXJSE_Value_SetFunctionBind(FXJSE_HVALUE hValue,
+ FXJSE_HVALUE hOldFunction,
+ FXJSE_HVALUE hNewThis);
+FX_BOOL FXJSE_ExecuteScript(FXJSE_HCONTEXT hContext,
+ const FX_CHAR* szScript,
+ FXJSE_HVALUE hRetValue,
+ FXJSE_HVALUE hNewThisObject = NULL);
+void FXJSE_ThrowMessage(const CFX_ByteStringC& utf8Name,
+ const CFX_ByteStringC& utf8Message);
+FX_BOOL FXJSE_ReturnValue_GetMessage(FXJSE_HVALUE hRetValue,
+ CFX_ByteString& utf8Name,
+ CFX_ByteString& utf8Message);
+FX_BOOL FXJSE_ReturnValue_GetLineInfo(FXJSE_HVALUE hRetValue,
+ int32_t& nLine,
+ int32_t& nCol);
#endif