#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