aboutsummaryrefslogtreecommitdiff
path: root/Src/Wasabi/api/script/makiapi.h
blob: e1d27aff3782cc11ff4b66df5afa6cfa9c5cd92e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#ifndef __SCRIPTAPI_H
#define __SCRIPTAPI_H

#include <api/script/api_makii.h>

class ScriptApi : public api_makiI {
  public:
    ScriptApi();
    virtual ~ScriptApi();

    virtual void maki_pushObject(void *o);
    virtual void maki_pushInt(int v);
    virtual void maki_pushBoolean(int b);
    virtual void maki_pushFloat(float f);
    virtual void maki_pushDouble(double d);
    virtual void maki_pushString(const wchar_t *s);
    virtual void maki_pushVoid();
    virtual void maki_pushAny(scriptVar v);
    virtual void *maki_popObject();
    virtual int maki_popInt();
    virtual bool maki_popBoolean();
    virtual float maki_popFloat();
    virtual double maki_popDouble();
    virtual const wchar_t *maki_popString();
    virtual scriptVar maki_popAny();
    virtual void maki_popDiscard();
    virtual const wchar_t *maki_getFunction(int dlfid, int *n, ScriptObjectController **p);
    virtual int maki_addDlfRef(ScriptObjectController *o, const wchar_t *function_name, void *host);
    virtual void maki_addDlfClassRef(ScriptObjectController *o, void *host);
    virtual void maki_remDlfRef(void *host);
    virtual scriptVar maki_callFunction(ScriptObject *o, int dlfid, scriptVar **params);
    virtual scriptVar maki_triggerEvent(ScriptObject *o, int dlfid, int np, int scriptid0=-1);
    virtual int maki_getScriptInt(scriptVar v);
    virtual bool maki_getScriptBoolean(scriptVar v);
    virtual float maki_getScriptFloat(scriptVar v);
    virtual double maki_getScriptDouble(scriptVar v);
    virtual const wchar_t *maki_getScriptString(scriptVar v);
    virtual ScriptObject *maki_getScriptObject(scriptVar v);
    virtual scriptVar maki_updateDlf(maki_cmd *cmd, int *dlfid, int *linkcount);
    virtual ScriptObject *maki_instantiate(GUID classguid);
    virtual void maki_destroy(ScriptObject *o);
    virtual void *maki_encapsulate(GUID classguid, ScriptObject *o);
    virtual void maki_deencapsulate(GUID classguid, void *o);
    virtual ScriptObjectController *maki_getController(GUID scriptclass);
    virtual int maki_createOrphan(int type);
    virtual void maki_killOrphan(int id);
    virtual void maki_setObjectAtom(const wchar_t *atomname, ScriptObject *object);
    virtual ScriptObject *maki_getObjectAtom(const wchar_t *atomname);
#ifdef WASABI_COMPILE_WND
    virtual ScriptObject *maki_findObject(const wchar_t *name);
#endif
    virtual void vcpu_addScriptObject(ScriptObject *o);
    virtual void vcpu_removeScriptObject(ScriptObject *o);
    virtual int vcpu_getCacheCount();
    virtual int vcpu_isValidScriptId(int id);
    virtual int vcpu_mapVarId(int varid, int scriptid);
    virtual int vcpu_getUserAncestorId(int varid, int scriptid);
    virtual int vcpu_getNumEvents();
    virtual int vcpu_getEvent(int event, int *dlf, int *script, int *var);
    virtual int vcpu_getComplete();
    virtual const wchar_t *vcpu_getClassName(int vcpuid, int localclassid);
};

extern api_maki *makiApi;

#endif