26#include <angelscript.h>
28using namespace AngelScript;
34 LocalStorage::RegisterRefCountingObject(engine,
"LocalStorageClass");
38 r = engine->RegisterObjectBehaviour(
"LocalStorageClass", asBEHAVE_FACTORY,
"LocalStorageClass@+ f(string, const string&in = \"common\", const string&in = \"Cache\")", asFUNCTION(
LocalStorageFactory), asCALL_CDECL);
ROR_ASSERT(r >= 0);
40 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"void copyFrom(LocalStorageClassPtr@)", asMETHOD(
LocalStorage,copyFrom), asCALL_THISCALL);
ROR_ASSERT( r >= 0 );
41 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"void changeSection(const string &in)", asMETHOD(
LocalStorage,changeSection), asCALL_THISCALL);
ROR_ASSERT( r >= 0 );
43 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"string get(string)", asMETHODPR(
LocalStorage,get,(std::string), std::string), asCALL_THISCALL);
ROR_ASSERT( r >= 0 );
44 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"string getString(string)", asMETHODPR(
LocalStorage,get,(std::string), std::string), asCALL_THISCALL);
ROR_ASSERT( r >= 0 );
45 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"void set(string, const string &in)", asMETHODPR(
LocalStorage,set,(std::string,
const std::string&),
void), asCALL_THISCALL);
ROR_ASSERT( r >= 0 );
46 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"void setString(string, const string &in)", asMETHODPR(
LocalStorage,set,(std::string,
const std::string&),
void), asCALL_THISCALL);
ROR_ASSERT( r >= 0 );
48 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"float getFloat(string)", asMETHODPR(
LocalStorage,getFloat,(std::string),
float), asCALL_THISCALL);
ROR_ASSERT( r >= 0 );
49 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"void set(string, float)", asMETHODPR(
LocalStorage,set,(std::string,
const float),
void), asCALL_THISCALL);
ROR_ASSERT( r >= 0 );
50 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"void setFloat(string, float)", asMETHODPR(
LocalStorage,set,(std::string,
const float),
void), asCALL_THISCALL);
ROR_ASSERT( r >= 0 );
52 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"vector3 getVector3(string)", asMETHODPR(
LocalStorage,getVector3,(std::string), Ogre::Vector3), asCALL_THISCALL);
ROR_ASSERT( r >= 0 );
53 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"void set(string, const vector3 &in)", asMETHODPR(
LocalStorage,set,(std::string,
const Ogre::Vector3&),
void), asCALL_THISCALL);
ROR_ASSERT( r >= 0 );
54 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"void setVector3(string, const vector3 &in)", asMETHODPR(
LocalStorage,set,(std::string,
const Ogre::Vector3&),
void), asCALL_THISCALL);
ROR_ASSERT( r >= 0 );
56 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"radian getRadian(string)", asMETHODPR(
LocalStorage,getRadian,(std::string), Ogre::Radian), asCALL_THISCALL);
ROR_ASSERT( r >= 0 );
57 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"void set(string, const radian &in)", asMETHODPR(
LocalStorage,set,(std::string,
const Ogre::Radian&),
void), asCALL_THISCALL);
ROR_ASSERT( r >= 0 );
58 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"void setRadian(string, const radian &in)", asMETHODPR(
LocalStorage,set,(std::string,
const Ogre::Radian&),
void), asCALL_THISCALL);
ROR_ASSERT( r >= 0 );
60 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"degree getDegree(string)", asMETHODPR(
LocalStorage,getDegree,(std::string), Ogre::Degree), asCALL_THISCALL);
ROR_ASSERT( r >= 0 );
61 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"void set(string, const degree &in)", asMETHODPR(
LocalStorage,set,(std::string,
const Ogre::Degree&),
void), asCALL_THISCALL);
ROR_ASSERT( r >= 0 );
62 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"void setDegree(string, const degree &in)", asMETHODPR(
LocalStorage,set,(std::string,
const Ogre::Degree&),
void), asCALL_THISCALL);
ROR_ASSERT( r >= 0 );
64 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"quaternion getQuaternion(string)", asMETHODPR(
LocalStorage,getQuaternion,(std::string), Ogre::Quaternion), asCALL_THISCALL);
ROR_ASSERT( r >= 0 );
65 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"void set(string, const quaternion &in)", asMETHODPR(
LocalStorage,set,(std::string,
const Ogre::Quaternion&),
void), asCALL_THISCALL);
ROR_ASSERT( r >= 0 );
66 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"void setQuaternion(string, const quaternion &in)", asMETHODPR(
LocalStorage,set,(std::string,
const Ogre::Quaternion&),
void), asCALL_THISCALL);
ROR_ASSERT( r >= 0 );
68 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"bool getBool(string)", asMETHODPR(
LocalStorage,getBool,(std::string),
bool), asCALL_THISCALL);
ROR_ASSERT( r >= 0 );
69 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"void set(string, const bool &in)", asFUNCTION(
LocalStorage_setBool), asCALL_CDECL_OBJFIRST);
ROR_ASSERT( r >= 0 );
70 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"void setBool(string, const bool &in)", asFUNCTION(
LocalStorage_setBool), asCALL_CDECL_OBJFIRST);
ROR_ASSERT( r >= 0 );
72 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"int getInt(string)", asMETHODPR(
LocalStorage,getInt,(std::string),
int), asCALL_THISCALL);
ROR_ASSERT( r >= 0 );
73 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"int getInteger(string)", asMETHODPR(
LocalStorage,getInt,(std::string),
int), asCALL_THISCALL);
ROR_ASSERT( r >= 0 );
74 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"void set(string, int)", asMETHODPR(
LocalStorage,set,(std::string,
const int),
void), asCALL_THISCALL);
ROR_ASSERT( r >= 0 );
75 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"void setInt(string, int)", asMETHODPR(
LocalStorage,set,(std::string,
const int),
void), asCALL_THISCALL);
ROR_ASSERT( r >= 0 );
76 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"void setInteger(string, int)", asMETHODPR(
LocalStorage,set,(std::string,
const int),
void), asCALL_THISCALL);
ROR_ASSERT( r >= 0 );
78 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"void save()", asMETHOD(
LocalStorage,saveDict), asCALL_THISCALL);
ROR_ASSERT( r >= 0 );
79 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"bool reload()", asMETHOD(
LocalStorage,loadDict), asCALL_THISCALL);
ROR_ASSERT( r >= 0 );
81 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"bool exists(string &in) const", asFUNCTION(
LocalStorage_exists), asCALL_CDECL_OBJFIRST);
ROR_ASSERT( r >= 0 );
82 r = engine->RegisterObjectMethod(
"LocalStorageClass",
"void delete(string &in)", asFUNCTION(
LocalStorage_eraseKey), asCALL_CDECL_OBJFIRST);
ROR_ASSERT( r >= 0 );
#define ROR_ASSERT(_EXPR)
Helper/wrapper functions shared by native (LocalStorageAngelscript.cpp) and generic (LocalStorageAnge...
static void RegisterRefCountingObjectPtr(AS_NAMESPACE_QUALIFIER asIScriptEngine *engine, const char *handle_name, const char *obj_name)
A class that allows scripts to store data persistently.
void RegisterLocalStorageNative(AngelScript::asIScriptEngine *engine)
Registers RoR::LocalStorage, defined in LocalStorageAngelscript.cpp.
static void LocalStorage_setBool(LocalStorage *self, std::string key, const bool &value)
static void LocalStorage_eraseKey(LocalStorage *self, const std::string &key)
static LocalStorage * LocalStorageFactory(std::string filename, const std::string §ion_name, const std::string &rg_name)
static bool LocalStorage_exists(LocalStorage *self, const std::string &key)