diff options
Diffstat (limited to 'Src/Wasabi/api/script/objects/wacobj.h')
-rw-r--r-- | Src/Wasabi/api/script/objects/wacobj.h | 75 |
1 files changed, 75 insertions, 0 deletions
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 <api/script/script.h> +#include <api/script/scriptobj.h> +#include <api/script/objects/guiobj.h> +#include <bfc/ptrlist.h> +#include <api/wac/wac.h> + +// {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 <api/wnd/virtualwnd.h> + +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<WACObject> wacobjs; + +public: +}; + + +#endif |