123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- #ifndef _SCRIPT_H
- #define _SCRIPT_H
- #include <api/script/objects/systemobj.h>
- #ifdef WASABI_COMPILE_CONFIG
- #include <api/script/objects/wacobj.h>
- #endif
- #define SOM ScriptObjectManager
- // This class should ONLY contain generic functions which don't have to be duplicated for each script layer !
- // This is why this is (mostly) a static class. Please DO NOT add anything which relates to function pointers,
- // variable tables, etc.
- class ScriptObjectManager {
- public:
- ScriptObjectManager();
- ~ScriptObjectManager();
- static scriptVar makeVar(int type);
- static scriptVar makeVar(int type, ScriptObject *o);
- static void assign(scriptVar *v, const wchar_t *str);
- static void assign(scriptVar *v, int i);
- static void assign(scriptVar *v, float f);
- static void assign(scriptVar *v, double d);
- static void assign(scriptVar *v, ScriptObject *o);
- static void assign(scriptVar *v1, scriptVar *v2);
- static void assignPersistent(scriptVar *v1, scriptVar *v2);
- static void strflatassign(scriptVar *v, const wchar_t *str);
- static void persistentstrassign(scriptVar *v, const wchar_t *str);
- static int compEq(scriptVar *v1, scriptVar *v2);
- static int compNeq(scriptVar *v1, scriptVar *v2);
- static int compA(scriptVar *v1, scriptVar *v2);
- static int compAe(scriptVar *v1, scriptVar *v2);
- static int compB(scriptVar *v1, scriptVar *v2);
- static int compBe(scriptVar *v1, scriptVar *v2);
- static void mid(wchar_t *dest, const wchar_t *str, int s, int l);
- static int makeInt(scriptVar *v);
- static float makeFloat(scriptVar *v);
- static double makeDouble(scriptVar *v);
- static bool makeBoolean(scriptVar *v);
- static int isNumeric(scriptVar *s);
- static int isString(scriptVar *s);
- static int isVoid(scriptVar *s);
- static int isObject(scriptVar *s);
- static int isNumericType(int t);
- #ifdef WASABI_COMPILE_COMPONENTS
- static WACObject *getWACObject(const wchar_t *guid);
- static WACObject *getWACObject(GUID cg);
- #endif
- static SystemObject *getSystemObject(int n);
- static SystemObject *getSystemObjectByScriptId(int id);
- static void registerSystemObject(SystemObject *o);
- static void unregisterSystemObject(SystemObject *o);
- static int getNumSystemObjects();
- static SystemObject *enumSystemObject(int n);
- static int typeCheck(VCPUscriptVar *v, int fail = 1);
- static WindowHolder *getSuitableWindowHolderFromScript(GUID g);
- static int checkAbortShowHideWindow(GUID g, int visible);
- #ifdef WASABI_COMPILE_WND
- static ScriptObject *findObject(const wchar_t *name);
- #endif
- private:
- static SystemObject * system;
- static PtrList < SystemObject > syslist;
- static int inited;
- };
- #ifdef WASABI_COMPILE_COMPONENTS
- extern PtrList<WACObject> comps;
- #endif
- #endif
|