libmoldeo (Moldeo 1.0 Core)  1.0
libmoldeo is the group of objects and functions that executes the basic operations of Moldeo 1.0 Platform.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
moLuna.h File Reference
#include "moTypes.h"
#include <string>
#include <vector>
#include <list>
#include "lua.h"
#include "lauxlib.h"
#include "lualib.h"

Go to the source code of this file.

Classes

class  moLuna< T >
 LunaFourCode. More...
 
struct  moLuna< T >::PropertyType
 LunaFourCode. More...
 
struct  moLuna< T >::FunctionType
 LunaFourCode. More...
 

Macros

#define DECLARE_SCRIPT_CLASS(ClassName)
 
#define IMPLEMENT_SCRIPT_CLASS(ClassName)   const char ClassName::className[] = #ClassName;
 
#define DEFINE_SCRIPT_CLASS_FUNCTIONS(ClassName)   moLuna<ClassName>::FunctionType ClassName::Functions[] = {
 
#define SCRIPT_FUNCTION(ClassName, FunctionName)   { #FunctionName, &ClassName::FunctionName }
 
#define END_SCRIPT_CLASS_FUNCTIONS   };
 
#define DEFINE_SCRIPT_CLASS_PROPERTIES(ClassName)   moLuna<ClassName>::PropertyType ClassName::Properties[] = {
 
#define SCRIPT_PROPERTY(ClassName, PropertyName, PropertyGetter, PropertySetter)   { #PropertyName, &ClassName::PropertyGetter, &ClassName::PropertySetter }
 
#define END_SCRIPT_CLASS_PROPERTIES   };
 
#define REGISTER_CLASS(ClassName, LuaState)   moLuna<ClassName>::Register(LuaState);
 
#define SCRIPT_CONSTRUCTOR_DECLARATION(ClassName)   ClassName(lua_State* L);
 
#define SCRIPT_CONSTRUCTOR_IMPLEMENTATION(ClassName)   ClassName::ClassName(lua_State* L)
 
#define SCRIPT_FUNCTION_DECLARATION(FunctionName)   int FunctionName(lua_State* L);
 
#define SCRIPT_FUNCTION_IMPLEMENTATION(ClassName, FunctionName)   int ClassName::FunctionName(lua_State* L)
 

Macro Definition Documentation

#define DECLARE_SCRIPT_CLASS (   ClassName)
Value:
public: \
static const char className[]; \
static moLuna<ClassName>::PropertyType Properties[]; \
static moLuna<ClassName>::FunctionType Functions[];\
\
bool isExisting; \
bool isPrecious;
LunaFourCode.
Definition: moLuna.h:83
LunaFourCode.
Definition: moLuna.h:76

Definition at line 603 of file moLuna.h.

#define DEFINE_SCRIPT_CLASS_FUNCTIONS (   ClassName)    moLuna<ClassName>::FunctionType ClassName::Functions[] = {

Definition at line 616 of file moLuna.h.

#define DEFINE_SCRIPT_CLASS_PROPERTIES (   ClassName)    moLuna<ClassName>::PropertyType ClassName::Properties[] = {

Definition at line 624 of file moLuna.h.

#define END_SCRIPT_CLASS_FUNCTIONS   };

LIST MUST END WITH NULL VALUE: LIKE { 0, 0 }

Definition at line 621 of file moLuna.h.

#define END_SCRIPT_CLASS_PROPERTIES   };

Definition at line 629 of file moLuna.h.

#define IMPLEMENT_SCRIPT_CLASS (   ClassName)    const char ClassName::className[] = #ClassName;

Definition at line 613 of file moLuna.h.

#define REGISTER_CLASS (   ClassName,
  LuaState 
)    moLuna<ClassName>::Register(LuaState);

Definition at line 631 of file moLuna.h.

#define SCRIPT_CONSTRUCTOR_DECLARATION (   ClassName)    ClassName(lua_State* L);

Definition at line 634 of file moLuna.h.

#define SCRIPT_CONSTRUCTOR_IMPLEMENTATION (   ClassName)    ClassName::ClassName(lua_State* L)

Definition at line 635 of file moLuna.h.

#define SCRIPT_FUNCTION (   ClassName,
  FunctionName 
)    { #FunctionName, &ClassName::FunctionName }

Definition at line 619 of file moLuna.h.

#define SCRIPT_FUNCTION_DECLARATION (   FunctionName)    int FunctionName(lua_State* L);

Definition at line 637 of file moLuna.h.

#define SCRIPT_FUNCTION_IMPLEMENTATION (   ClassName,
  FunctionName 
)    int ClassName::FunctionName(lua_State* L)

Definition at line 638 of file moLuna.h.

#define SCRIPT_PROPERTY (   ClassName,
  PropertyName,
  PropertyGetter,
  PropertySetter 
)    { #PropertyName, &ClassName::PropertyGetter, &ClassName::PropertySetter }

Definition at line 627 of file moLuna.h.