aboutsummaryrefslogtreecommitdiff
path: root/Src/Wasabi/api/script/objects/rootobj.h
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Wasabi/api/script/objects/rootobj.h')
-rw-r--r--Src/Wasabi/api/script/objects/rootobj.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/Src/Wasabi/api/script/objects/rootobj.h b/Src/Wasabi/api/script/objects/rootobj.h
new file mode 100644
index 00000000..4a44f8c2
--- /dev/null
+++ b/Src/Wasabi/api/script/objects/rootobj.h
@@ -0,0 +1,40 @@
+#ifndef __ROOTOBJ_H
+#define __ROOTOBJ_H
+
+#include <bfc/dispatch.h>
+#include <api/script/objects/rootobjcbi.h>
+#include <api/script/scriptobji.h>
+
+class ScriptObject;
+class ScriptObjectI;
+class RootObject;
+
+// RootObjectInstance::this == RootObjectInstance::getScriptObject()->vcpu_getInterface(rootObjectInstanceGuid);
+// {F6D49468-4036-41a1-9683-C372416AD31B}
+static const GUID rootObjectInstanceGuid =
+{ 0xf6d49468, 0x4036, 0x41a1, { 0x96, 0x83, 0xc3, 0x72, 0x41, 0x6a, 0xd3, 0x1b } };
+
+// Instantiate this class to create an object from which you can trap notify events, or inherit from
+// it if you want to implement your own descendant of script class 'Object' (see GuiObjectWnd)
+class RootObjectInstance : public RootObjectCallbackI
+{
+public:
+
+ RootObjectInstance();
+ virtual ~RootObjectInstance();
+
+ virtual RootObject *getRootObject();
+ virtual ScriptObject *getScriptObject();
+
+ virtual void rootobjectcb_onNotify(const wchar_t *a, const wchar_t *b, int c, int d) {};
+ virtual const wchar_t *getClassName();
+ virtual void notify(const wchar_t *s, const wchar_t *t, int u, int v);
+
+ private:
+ void rootobject_init();
+ ScriptObjectI my_script_object;
+ RootObject * my_root_object;
+};
+
+
+#endif