Browse Source

Add Urho3D::String support in tolua++.

Aster Jian 12 years ago
parent
commit
26fb71536a

+ 22 - 0
Source/ThirdParty/tolua++/include/tolua++.h

@@ -32,6 +32,13 @@ extern "C" {
 #define tolua_iscppstringarray tolua_isstringarray
 #define tolua_pushfieldcppstring(L,lo,idx,s) tolua_pushfieldstring(L, lo, idx, s.c_str())
 
+// Add Urho3D::String Support in tolua++.
+#define tolua_pushurho3dstring(x,y)	tolua_pushstring(x,y.CString())
+#define tolua_isurho3dstring	tolua_isstring
+
+#define tolua_isurho3dstringarray tolua_isstringarray
+#define tolua_pushfieldurho3dstring(L,lo,idx,s) tolua_pushfieldstring(L, lo, idx, s.CString())
+
 #ifndef TEMPLATE_BIND
  #define TEMPLATE_BIND(p)
 #endif
@@ -148,9 +155,24 @@ static inline const char* tolua_tofieldcppstring (lua_State* L, int lo, int inde
 	return s?s:"";
 };
 
+// Add Urho3D::String Support in tolua++.
+static inline const char* tolua_tourho3dstring (lua_State* L, int narg, const char* def) {
+
+	const char* s = tolua_tostring(L, narg, def);
+	return s?s:"";
+};
+
+static inline const char* tolua_tofieldurho3dstring (lua_State* L, int lo, int index, const char* def) {
+
+	const char* s = tolua_tofieldstring(L, lo, index, def);
+	return s?s:"";
+};
+
 #else
 #define tolua_tocppstring tolua_tostring
 #define tolua_tofieldcppstring tolua_tofieldstring
+#define tolua_tourho3dstring tolua_tostring
+#define tolua_tofieldurho3dstring tolua_tofieldstring
 #endif
 
 TOLUA_API int tolua_fast_isa(lua_State *L, int mt_indexa, int mt_indexb, int super_index);

+ 5 - 0
Source/ThirdParty/tolua++/src/bin/lua/doit.lua

@@ -48,6 +48,11 @@ function doit ()
 		_basic['string'] = 'cppstring'
 		_basic['std::string'] = 'cppstring'
 		_basic_ctype.cppstring = 'const char*'
+		
+		-- Add Urho3D::String Support in tolua++.
+		_basic['String'] = 'urho3dstring'
+		_basic['Urho3D::String'] = 'urho3dstring'
+		_basic_ctype.urho3dstring = 'const char*'
 	end
 
 	-- proccess package

+ 1 - 1
Source/ThirdParty/tolua++/src/bin/tolua.c

@@ -35,7 +35,7 @@ static void help (void)
          "  -n  name : set package name; default is input file root name.\n"
          "  -p       : parse only.\n"
          "  -P       : parse and print structure information (for debug).\n"
-         "  -S       : disable support for c++ strings.\n"
+         "  -S       : disable support for urho3d strings.\n"
          "  -1       : substract 1 to operator[] index (for compatibility with tolua5).\n"
          "  -L  file : run lua file (with dofile()) before doing anything.\n"
          "  -D       : disable automatic exporting of destructors for classes that have\n"

+ 22 - 22
Source/ThirdParty/tolua++/src/bin/tolua_scons.pkg

@@ -1,25 +1,25 @@
-$lfile "src/bin/lua/compat-5.1.lua"
-$lfile "src/bin/lua/compat.lua"
-$lfile "src/bin/lua/basic.lua"
-$lfile "src/bin/lua/feature.lua"
-$lfile "src/bin/lua/verbatim.lua"
-$lfile "src/bin/lua/code.lua"
-$lfile "src/bin/lua/typedef.lua"
-$lfile "src/bin/lua/container.lua"
-$lfile "src/bin/lua/package.lua"
-$lfile "src/bin/lua/module.lua"
-$lfile "src/bin/lua/namespace.lua"
-$lfile "src/bin/lua/define.lua"
-$lfile "src/bin/lua/enumerate.lua"
-$lfile "src/bin/lua/declaration.lua"
-$lfile "src/bin/lua/variable.lua"
-$lfile "src/bin/lua/array.lua"
-$lfile "src/bin/lua/function.lua"
-$lfile "src/bin/lua/operator.lua"
-$lfile "src/bin/lua/template_class.lua"
-$lfile "src/bin/lua/class.lua"
-$lfile "src/bin/lua/clean.lua"
-$lfile "src/bin/lua/doit.lua"
+$lfile "lua/compat-5.1.lua"
+$lfile "lua/compat.lua"
+$lfile "lua/basic.lua"
+$lfile "lua/feature.lua"
+$lfile "lua/verbatim.lua"
+$lfile "lua/code.lua"
+$lfile "lua/typedef.lua"
+$lfile "lua/container.lua"
+$lfile "lua/package.lua"
+$lfile "lua/module.lua"
+$lfile "lua/namespace.lua"
+$lfile "lua/define.lua"
+$lfile "lua/enumerate.lua"
+$lfile "lua/declaration.lua"
+$lfile "lua/variable.lua"
+$lfile "lua/array.lua"
+$lfile "lua/function.lua"
+$lfile "lua/operator.lua"
+$lfile "lua/template_class.lua"
+$lfile "lua/class.lua"
+$lfile "lua/clean.lua"
+$lfile "lua/doit.lua"
 
 $[
 local err,msg = pcall(doit)

File diff suppressed because it is too large
+ 606 - 913
Source/ThirdParty/tolua++/src/bin/toluabind.c


+ 8 - 8
Source/ThirdParty/tolua++/src/bin/toluabind.h

@@ -1,8 +1,8 @@
-/*
-** Lua binding: tolua
-** Generated automatically by tolua++-1.0.93 on Thu Jul  4 08:55:39 2013.
-*/
-
-/* Exported function */
-TOLUA_API int  tolua_tolua_open (lua_State* tolua_S);
-
+/*
+** Lua binding: tolua
+** Generated automatically by tolua++-1.0.92 on 09/13/13 13:31:48.
+*/
+
+/* Exported function */
+TOLUA_API int  tolua_tolua_open (lua_State* tolua_S);
+

Some files were not shown because too many files changed in this diff