summaryrefslogtreecommitdiff
path: root/Runtime/Scripting/Backend/Flash/ScriptingBackendApi_Flash.h
blob: c2372a286e2d58ba8846af67067e37f80bbe89aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#ifndef _SCRIPTINGBACKENDAPI_FLASH_H_
#define _SCRIPTINGBACKENDAPI_FLASH_H_

#include <string>

#include "../ScriptingTypes.h"
#include "../ScriptingBackendApi.h"

//todo: remove
typedef ScriptingObject* (*FastMonoMethod) (void* thiz, ScriptingException** ex);
typedef int AS3String;

struct ScriptingMethod
{
	const char* m_Name;
	const char* m_Mappedname;
	const char* m_Signature;
	AS3String m_As3String;

	ScriptingClass* m_Class;
	ScriptingObject* m_SystemType;
	ScriptingObject* m_MethodInfo;

	ScriptingMethod(const char* name, ScriptingClass* klass);
	ScriptingMethod(const char* name, const char* mappedName, const char* sig, ScriptingClass* klass);
	void Init(const char* name, const char* mappedName, const char* sig, ScriptingClass* klass);	
	ScriptingClass* GetReturnType();
	const char* GetName() { return m_Name; }
	ScriptingObjectPtr GetSystemReflectionMethodInfo();
};

struct ScriptingField
{
	ScriptingField(const char* name,const char* type)
		: m_name(name)
		, m_type(type)
	{

	}

	std::string m_name;
	std::string m_type;
};

#endif