From 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d Mon Sep 17 00:00:00 2001 From: Jef Date: Tue, 24 Sep 2024 14:54:57 +0200 Subject: Initial community commit --- Src/Wasabi/api/script/objects/wacobj.h | 75 ++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 Src/Wasabi/api/script/objects/wacobj.h (limited to 'Src/Wasabi/api/script/objects/wacobj.h') diff --git a/Src/Wasabi/api/script/objects/wacobj.h b/Src/Wasabi/api/script/objects/wacobj.h new file mode 100644 index 00000000..44cf2d3e --- /dev/null +++ b/Src/Wasabi/api/script/objects/wacobj.h @@ -0,0 +1,75 @@ +#ifndef _WACOBJ_H +#define _WACOBJ_H + +#include +#include +#include +#include +#include + +// {00C074A0-FEA2-49a0-BE8D-FABBDB161640} +static const GUID wacGuid = +{ 0xc074a0, 0xfea2, 0x49a0, { 0xbe, 0x8d, 0xfa, 0xbb, 0xdb, 0x16, 0x16, 0x40 } }; + +#define WACOBJECT_SCRIPTPARENT RootObjectInstance + +class WacScriptController : public ScriptObjectControllerI { + public: + + virtual const wchar_t *getClassName(); + virtual const wchar_t *getAncestorClassName(); + virtual ScriptObjectController *getAncestorController(); + virtual int getNumFunctions(); + virtual const function_descriptor_struct *getExportedFunctions(); + virtual GUID getClassGuid(); + virtual ScriptObject *instantiate(); + virtual void destroy(ScriptObject *o); + virtual int getInstantiable(); + virtual void *encapsulate(ScriptObject *o); + virtual void deencapsulate(void *o); + + private: + + static function_descriptor_struct exportedFunction[]; + +}; + +extern WacScriptController *wacController; + +#include + +class WACObject : public WACOBJECT_SCRIPTPARENT { + +public: + WACObject(); + virtual ~WACObject(); + + void setGUID(GUID g); + GUID getGUID(void); + + int onScriptNotify(const wchar_t *s, int i1, int i2); + + // VCPU + static scriptVar script_getGUID(SCRIPT_FUNCTION_PARAMS, ScriptObject *o); + static scriptVar script_getName(SCRIPT_FUNCTION_PARAMS, ScriptObject *o); + static scriptVar script_vcpu_onNotify(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar str, scriptVar i1, scriptVar i2); + + static scriptVar script_vcpu_dummy4(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar a, scriptVar b, scriptVar c, scriptVar d); + static scriptVar script_vcpu_dummy1(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar a); + static scriptVar script_vcpu_dummy0(SCRIPT_FUNCTION_PARAMS, ScriptObject *o); + + // End VCPU + + static int notifyScripts(WaComponent *comp, const wchar_t *s, int i1, int i2); + + GUID myGUID; + +private: + + static PtrList wacobjs; + +public: +}; + + +#endif -- cgit