summaryrefslogtreecommitdiff
path: root/Runtime/Scripting/Backend/ScriptingMethodFactory.h
blob: a497d629140317d65a1190021000100d6246ad8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#ifndef _SCRIPTINGMETHODFACTORY_H_
#define _SCRIPTINGMETHODFACTORY_H_

#include "ScriptingTypes.h"


// !!TODO: ScriptingMethodPtr Produce(ScriptingTypePtr klass, const char* name, int searchFilter) & ScriptingMethodPtr Produce(BackendNativeMethod nativeMethod) must return the same
// method if internally method is the same !!!
class IScriptingMethodFactory
{
public:
	virtual ~IScriptingMethodFactory() {}
	virtual	ScriptingMethodPtr Produce(ScriptingTypePtr klass, const char* name, int searchFilter) = 0;
	virtual	ScriptingMethodPtr Produce(BackendNativeMethod nativeMethod) = 0;
	virtual	void Release(ScriptingMethodPtr) = 0;
};

#endif