rufus-lua-win 5.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (459) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +69 -0
  6. data/Rakefile +1 -0
  7. data/lib/rufus/lua/win.rb +18 -0
  8. data/lib/rufus/lua/win/version.rb +7 -0
  9. data/rufus-lua-win.gemspec +23 -0
  10. data/vendor/lua/bin/liblua.dll +0 -0
  11. data/vendor/lua/lib/lua/LuaXml.lua +119 -0
  12. data/vendor/lua/lib/lua/alien.lua +250 -0
  13. data/vendor/lua/lib/lua/alien/core.dll +0 -0
  14. data/vendor/lua/lib/lua/alien/struct.dll +0 -0
  15. data/vendor/lua/lib/lua/base.lua +536 -0
  16. data/vendor/lua/lib/lua/bin.lua +20 -0
  17. data/vendor/lua/lib/lua/bit.dll +0 -0
  18. data/vendor/lua/lib/lua/cdlua.dll +0 -0
  19. data/vendor/lua/lib/lua/cdluacontextplus.dll +0 -0
  20. data/vendor/lua/lib/lua/cdluagl.dll +0 -0
  21. data/vendor/lua/lib/lua/cdluaim.dll +0 -0
  22. data/vendor/lua/lib/lua/cdluapdf.dll +0 -0
  23. data/vendor/lua/lib/lua/copas.lua +543 -0
  24. data/vendor/lua/lib/lua/coxpcall.lua +57 -0
  25. data/vendor/lua/lib/lua/date.lua +745 -0
  26. data/vendor/lua/lib/lua/debug_ext.lua +84 -0
  27. data/vendor/lua/lib/lua/debug_init.lua +2 -0
  28. data/vendor/lua/lib/lua/des56.dll +0 -0
  29. data/vendor/lua/lib/lua/dist/config.lua +109 -0
  30. data/vendor/lua/lib/lua/dist/constraints.lua +271 -0
  31. data/vendor/lua/lib/lua/dist/depends.lua +601 -0
  32. data/vendor/lua/lib/lua/dist/git.lua +307 -0
  33. data/vendor/lua/lib/lua/dist/init.lua +278 -0
  34. data/vendor/lua/lib/lua/dist/manifest.lua +225 -0
  35. data/vendor/lua/lib/lua/dist/package.lua +583 -0
  36. data/vendor/lua/lib/lua/dist/sys.lua +367 -0
  37. data/vendor/lua/lib/lua/dist/utils.lua +130 -0
  38. data/vendor/lua/lib/lua/ex.dll +0 -0
  39. data/vendor/lua/lib/lua/fstable.lua +116 -0
  40. data/vendor/lua/lib/lua/getopt.lua +273 -0
  41. data/vendor/lua/lib/lua/git.lua +5 -0
  42. data/vendor/lua/lib/lua/git/core.dll +0 -0
  43. data/vendor/lua/lib/lua/git/objects.lua +121 -0
  44. data/vendor/lua/lib/lua/git/pack.lua +316 -0
  45. data/vendor/lua/lib/lua/git/protocol.lua +188 -0
  46. data/vendor/lua/lib/lua/git/repo.lua +283 -0
  47. data/vendor/lua/lib/lua/git/util.lua +233 -0
  48. data/vendor/lua/lib/lua/gzio.dll +0 -0
  49. data/vendor/lua/lib/lua/gzip.lua +81 -0
  50. data/vendor/lua/lib/lua/iconv.dll +0 -0
  51. data/vendor/lua/lib/lua/imlua.dll +0 -0
  52. data/vendor/lua/lib/lua/imlua_fftw.dll +0 -0
  53. data/vendor/lua/lib/lua/imlua_jp2.dll +0 -0
  54. data/vendor/lua/lib/lua/imlua_process.dll +0 -0
  55. data/vendor/lua/lib/lua/imlua_process_omp.dll +0 -0
  56. data/vendor/lua/lib/lua/io_ext.lua +115 -0
  57. data/vendor/lua/lib/lua/iuplua.dll +0 -0
  58. data/vendor/lua/lib/lua/iuplua_mglplot.dll +0 -0
  59. data/vendor/lua/lib/lua/iuplua_pplot.dll +0 -0
  60. data/vendor/lua/lib/lua/iupluacd.dll +0 -0
  61. data/vendor/lua/lib/lua/iupluacontrols.dll +0 -0
  62. data/vendor/lua/lib/lua/iupluagl.dll +0 -0
  63. data/vendor/lua/lib/lua/iupluaim.dll +0 -0
  64. data/vendor/lua/lib/lua/iupluaimglib.dll +0 -0
  65. data/vendor/lua/lib/lua/iupluatuio.dll +0 -0
  66. data/vendor/lua/lib/lua/lanes-keeper.lua +302 -0
  67. data/vendor/lua/lib/lua/lanes.lua +591 -0
  68. data/vendor/lua/lib/lua/lanes/core.dll +0 -0
  69. data/vendor/lua/lib/lua/lcs.lua +55 -0
  70. data/vendor/lua/lib/lua/lemock.lua +659 -0
  71. data/vendor/lua/lib/lua/lfs.dll +0 -0
  72. data/vendor/lua/lib/lua/list.lua +375 -0
  73. data/vendor/lua/lib/lua/logging.lua +189 -0
  74. data/vendor/lua/lib/lua/logging/console.lua +22 -0
  75. data/vendor/lua/lib/lua/logging/email.lua +44 -0
  76. data/vendor/lua/lib/lua/logging/file.lua +55 -0
  77. data/vendor/lua/lib/lua/logging/rolling_file.lua +81 -0
  78. data/vendor/lua/lib/lua/logging/socket.lua +35 -0
  79. data/vendor/lua/lib/lua/logging/sql.lua +64 -0
  80. data/vendor/lua/lib/lua/loop/base.lua +68 -0
  81. data/vendor/lua/lib/lua/loop/cached.lua +312 -0
  82. data/vendor/lua/lib/lua/loop/collection/MapWithArrayOfKeys.lua +64 -0
  83. data/vendor/lua/lib/lua/loop/collection/ObjectCache.lua +39 -0
  84. data/vendor/lua/lib/lua/loop/collection/OrderedSet.lua +164 -0
  85. data/vendor/lua/lib/lua/loop/collection/PriorityQueue.lua +86 -0
  86. data/vendor/lua/lib/lua/loop/collection/UnorderedArray.lua +32 -0
  87. data/vendor/lua/lib/lua/loop/collection/UnorderedArraySet.lua +56 -0
  88. data/vendor/lua/lib/lua/loop/compiler/Arguments.lua +108 -0
  89. data/vendor/lua/lib/lua/loop/compiler/Conditional.lua +50 -0
  90. data/vendor/lua/lib/lua/loop/compiler/Expression.lua +215 -0
  91. data/vendor/lua/lib/lua/loop/component/base.lua +221 -0
  92. data/vendor/lua/lib/lua/loop/component/contained.lua +71 -0
  93. data/vendor/lua/lib/lua/loop/component/dynamic.lua +223 -0
  94. data/vendor/lua/lib/lua/loop/component/intercepted.lua +354 -0
  95. data/vendor/lua/lib/lua/loop/component/wrapped.lua +195 -0
  96. data/vendor/lua/lib/lua/loop/debug/Inspector.lua +521 -0
  97. data/vendor/lua/lib/lua/loop/debug/Matcher.lua +192 -0
  98. data/vendor/lua/lib/lua/loop/debug/Verbose.lua +266 -0
  99. data/vendor/lua/lib/lua/loop/debug/Viewer.lua +200 -0
  100. data/vendor/lua/lib/lua/loop/multiple.lua +105 -0
  101. data/vendor/lua/lib/lua/loop/object/Exception.lua +57 -0
  102. data/vendor/lua/lib/lua/loop/object/Publisher.lua +43 -0
  103. data/vendor/lua/lib/lua/loop/object/Wrapper.lua +39 -0
  104. data/vendor/lua/lib/lua/loop/scoped.lua +585 -0
  105. data/vendor/lua/lib/lua/loop/serial/FileStream.lua +48 -0
  106. data/vendor/lua/lib/lua/loop/serial/Serializer.lua +291 -0
  107. data/vendor/lua/lib/lua/loop/serial/SocketStream.lua +51 -0
  108. data/vendor/lua/lib/lua/loop/serial/StringStream.lua +47 -0
  109. data/vendor/lua/lib/lua/loop/simple.lua +75 -0
  110. data/vendor/lua/lib/lua/loop/table.lua +71 -0
  111. data/vendor/lua/lib/lua/loop/thread/CoSocket.lua +416 -0
  112. data/vendor/lua/lib/lua/loop/thread/IOScheduler.lua +170 -0
  113. data/vendor/lua/lib/lua/loop/thread/Scheduler.lua +327 -0
  114. data/vendor/lua/lib/lua/loop/thread/SocketScheduler.lua +88 -0
  115. data/vendor/lua/lib/lua/loop/thread/Timer.lua +54 -0
  116. data/vendor/lua/lib/lua/lpeg.dll +0 -0
  117. data/vendor/lua/lib/lua/ltn12.lua +292 -0
  118. data/vendor/lua/lib/lua/luaXML_lib.dll +0 -0
  119. data/vendor/lua/lib/lua/luacurl.dll +0 -0
  120. data/vendor/lua/lib/lua/luadoc/config.lua +34 -0
  121. data/vendor/lua/lib/lua/luadoc/doclet/debug.lua +46 -0
  122. data/vendor/lua/lib/lua/luadoc/doclet/formatter.lua +84 -0
  123. data/vendor/lua/lib/lua/luadoc/doclet/html.lua +289 -0
  124. data/vendor/lua/lib/lua/luadoc/doclet/html/file.lp +113 -0
  125. data/vendor/lua/lib/lua/luadoc/doclet/html/function.lp +64 -0
  126. data/vendor/lua/lib/lua/luadoc/doclet/html/index.lp +70 -0
  127. data/vendor/lua/lib/lua/luadoc/doclet/html/luadoc.css +286 -0
  128. data/vendor/lua/lib/lua/luadoc/doclet/html/menu.lp +55 -0
  129. data/vendor/lua/lib/lua/luadoc/doclet/html/module.lp +109 -0
  130. data/vendor/lua/lib/lua/luadoc/doclet/html/table.lp +15 -0
  131. data/vendor/lua/lib/lua/luadoc/doclet/raw.lua +12 -0
  132. data/vendor/lua/lib/lua/luadoc/init.lua +58 -0
  133. data/vendor/lua/lib/lua/luadoc/lp.lua +130 -0
  134. data/vendor/lua/lib/lua/luadoc/taglet/standard.lua +495 -0
  135. data/vendor/lua/lib/lua/luadoc/taglet/standard/tags.lua +171 -0
  136. data/vendor/lua/lib/lua/luadoc/util.lua +233 -0
  137. data/vendor/lua/lib/lua/luagl.dll +0 -0
  138. data/vendor/lua/lib/lua/luaglu.dll +0 -0
  139. data/vendor/lua/lib/lua/luaidl.lua +113 -0
  140. data/vendor/lua/lib/lua/luaidl/lex.lua +793 -0
  141. data/vendor/lua/lib/lua/luaidl/pre.lua +149 -0
  142. data/vendor/lua/lib/lua/luaidl/sin.lua +3631 -0
  143. data/vendor/lua/lib/lua/luarocks/add.lua +108 -0
  144. data/vendor/lua/lib/lua/luarocks/admin_remove.lua +87 -0
  145. data/vendor/lua/lib/lua/luarocks/build.lua +330 -0
  146. data/vendor/lua/lib/lua/luarocks/build/builtin.lua +253 -0
  147. data/vendor/lua/lib/lua/luarocks/build/cmake.lua +54 -0
  148. data/vendor/lua/lib/lua/luarocks/build/command.lua +32 -0
  149. data/vendor/lua/lib/lua/luarocks/build/make.lua +92 -0
  150. data/vendor/lua/lib/lua/luarocks/cache.lua +85 -0
  151. data/vendor/lua/lib/lua/luarocks/cfg.lua +449 -0
  152. data/vendor/lua/lib/lua/luarocks/command_line.lua +163 -0
  153. data/vendor/lua/lib/lua/luarocks/deps.lua +654 -0
  154. data/vendor/lua/lib/lua/luarocks/dir.lua +69 -0
  155. data/vendor/lua/lib/lua/luarocks/download.lua +90 -0
  156. data/vendor/lua/lib/lua/luarocks/fetch.lua +321 -0
  157. data/vendor/lua/lib/lua/luarocks/fetch/cvs.lua +44 -0
  158. data/vendor/lua/lib/lua/luarocks/fetch/git.lua +81 -0
  159. data/vendor/lua/lib/lua/luarocks/fetch/git_file.lua +17 -0
  160. data/vendor/lua/lib/lua/luarocks/fetch/hg.lua +54 -0
  161. data/vendor/lua/lib/lua/luarocks/fetch/sscm.lua +42 -0
  162. data/vendor/lua/lib/lua/luarocks/fetch/svn.lua +53 -0
  163. data/vendor/lua/lib/lua/luarocks/fs.lua +40 -0
  164. data/vendor/lua/lib/lua/luarocks/fs/lua.lua +676 -0
  165. data/vendor/lua/lib/lua/luarocks/fs/unix.lua +88 -0
  166. data/vendor/lua/lib/lua/luarocks/fs/unix/tools.lua +325 -0
  167. data/vendor/lua/lib/lua/luarocks/fs/win32.lua +107 -0
  168. data/vendor/lua/lib/lua/luarocks/fs/win32/tools.lua +334 -0
  169. data/vendor/lua/lib/lua/luarocks/help.lua +101 -0
  170. data/vendor/lua/lib/lua/luarocks/index.lua +172 -0
  171. data/vendor/lua/lib/lua/luarocks/install.lua +151 -0
  172. data/vendor/lua/lib/lua/luarocks/list.lua +35 -0
  173. data/vendor/lua/lib/lua/luarocks/loader.lua +228 -0
  174. data/vendor/lua/lib/lua/luarocks/make.lua +71 -0
  175. data/vendor/lua/lib/lua/luarocks/make_manifest.lua +34 -0
  176. data/vendor/lua/lib/lua/luarocks/manif.lua +360 -0
  177. data/vendor/lua/lib/lua/luarocks/manif_core.lua +75 -0
  178. data/vendor/lua/lib/lua/luarocks/new_version.lua +141 -0
  179. data/vendor/lua/lib/lua/luarocks/pack.lua +205 -0
  180. data/vendor/lua/lib/lua/luarocks/path.lua +315 -0
  181. data/vendor/lua/lib/lua/luarocks/persist.lua +173 -0
  182. data/vendor/lua/lib/lua/luarocks/refresh_cache.lua +30 -0
  183. data/vendor/lua/lib/lua/luarocks/remove.lua +135 -0
  184. data/vendor/lua/lib/lua/luarocks/rep.lua +313 -0
  185. data/vendor/lua/lib/lua/luarocks/require.lua +6 -0
  186. data/vendor/lua/lib/lua/luarocks/search.lua +399 -0
  187. data/vendor/lua/lib/lua/luarocks/show.lua +138 -0
  188. data/vendor/lua/lib/lua/luarocks/site_config.lua +23 -0
  189. data/vendor/lua/lib/lua/luarocks/tools/patch.lua +712 -0
  190. data/vendor/lua/lib/lua/luarocks/tools/tar.lua +144 -0
  191. data/vendor/lua/lib/lua/luarocks/tools/zip.lua +245 -0
  192. data/vendor/lua/lib/lua/luarocks/type_check.lua +267 -0
  193. data/vendor/lua/lib/lua/luarocks/unpack.lua +151 -0
  194. data/vendor/lua/lib/lua/luarocks/util.lua +420 -0
  195. data/vendor/lua/lib/lua/luarocks/validate.lua +164 -0
  196. data/vendor/lua/lib/lua/luars232.dll +0 -0
  197. data/vendor/lua/lib/lua/luasql/mysql.dll +0 -0
  198. data/vendor/lua/lib/lua/luasql/postgres.dll +0 -0
  199. data/vendor/lua/lib/lua/luasql/sqlite3.dll +0 -0
  200. data/vendor/lua/lib/lua/luaunit.lua +601 -0
  201. data/vendor/lua/lib/lua/lxp.dll +0 -0
  202. data/vendor/lua/lib/lua/lxp/lom.lua +60 -0
  203. data/vendor/lua/lib/lua/math_ext.lua +27 -0
  204. data/vendor/lua/lib/lua/mbox.lua +53 -0
  205. data/vendor/lua/lib/lua/md5.lua +19 -0
  206. data/vendor/lua/lib/lua/md5/core.dll +0 -0
  207. data/vendor/lua/lib/lua/metalua.lua +0 -0
  208. data/vendor/lua/lib/lua/metalua/ast_to_string.mlua +553 -0
  209. data/vendor/lua/lib/lua/metalua/base.lua +104 -0
  210. data/vendor/lua/lib/lua/metalua/bytecode.lua +0 -0
  211. data/vendor/lua/lib/lua/metalua/clopts.mlua +204 -0
  212. data/vendor/lua/lib/lua/metalua/compiler.lua +3 -0
  213. data/vendor/lua/lib/lua/metalua/dollar.mlua +24 -0
  214. data/vendor/lua/lib/lua/metalua/extension/H-runtime.mlua +216 -0
  215. data/vendor/lua/lib/lua/metalua/extension/H.mlua +22 -0
  216. data/vendor/lua/lib/lua/metalua/extension/anaphoric.mlua +54 -0
  217. data/vendor/lua/lib/lua/metalua/extension/clist.mlua +149 -0
  218. data/vendor/lua/lib/lua/metalua/extension/continue.mlua +53 -0
  219. data/vendor/lua/lib/lua/metalua/extension/localin.mlua +2 -0
  220. data/vendor/lua/lib/lua/metalua/extension/log.mlua +39 -0
  221. data/vendor/lua/lib/lua/metalua/extension/match.mlua +374 -0
  222. data/vendor/lua/lib/lua/metalua/extension/ternary.mlua +10 -0
  223. data/vendor/lua/lib/lua/metalua/extension/trycatch.mlua +189 -0
  224. data/vendor/lua/lib/lua/metalua/extension/types-runtime.mlua +159 -0
  225. data/vendor/lua/lib/lua/metalua/extension/types.mlua +352 -0
  226. data/vendor/lua/lib/lua/metalua/extension/withdo.mlua +30 -0
  227. data/vendor/lua/lib/lua/metalua/extension/xglobal-runtime.lua +41 -0
  228. data/vendor/lua/lib/lua/metalua/extension/xglobal.mlua +20 -0
  229. data/vendor/lua/lib/lua/metalua/extension/xloop.mlua +100 -0
  230. data/vendor/lua/lib/lua/metalua/extension/xmatch.mlua +216 -0
  231. data/vendor/lua/lib/lua/metalua/metaloop.mlua +76 -0
  232. data/vendor/lua/lib/lua/metalua/mlc.lua +0 -0
  233. data/vendor/lua/lib/lua/metalua/mlc_xcall.lua +119 -0
  234. data/vendor/lua/lib/lua/metalua/mlp.lua +0 -0
  235. data/vendor/lua/lib/lua/metalua/package2.lua +101 -0
  236. data/vendor/lua/lib/lua/metalua/runtime.lua +3 -0
  237. data/vendor/lua/lib/lua/metalua/string2.lua +44 -0
  238. data/vendor/lua/lib/lua/metalua/table2.lua +372 -0
  239. data/vendor/lua/lib/lua/metalua/walk.mlua +304 -0
  240. data/vendor/lua/lib/lua/metalua/walk/bindings.mlua +41 -0
  241. data/vendor/lua/lib/lua/metalua/walk/id.mlua +186 -0
  242. data/vendor/lua/lib/lua/metalua/walk/scope.lua +54 -0
  243. data/vendor/lua/lib/lua/mime.lua +87 -0
  244. data/vendor/lua/lib/lua/mime/core.dll +0 -0
  245. data/vendor/lua/lib/lua/mobdebug.lua +1484 -0
  246. data/vendor/lua/lib/lua/modules.lua +16 -0
  247. data/vendor/lua/lib/lua/object.lua +56 -0
  248. data/vendor/lua/lib/lua/oil/Exception.lua +26 -0
  249. data/vendor/lua/lib/lua/oil/arch.lua +27 -0
  250. data/vendor/lua/lib/lua/oil/arch/basic/client.lua +29 -0
  251. data/vendor/lua/lib/lua/oil/arch/basic/common.lua +13 -0
  252. data/vendor/lua/lib/lua/oil/arch/basic/server.lua +27 -0
  253. data/vendor/lua/lib/lua/oil/arch/cooperative/common.lua +10 -0
  254. data/vendor/lua/lib/lua/oil/arch/cooperative/server.lua +16 -0
  255. data/vendor/lua/lib/lua/oil/arch/corba/client.lua +39 -0
  256. data/vendor/lua/lib/lua/oil/arch/corba/common.lua +58 -0
  257. data/vendor/lua/lib/lua/oil/arch/corba/intercepted/client.lua +9 -0
  258. data/vendor/lua/lib/lua/oil/arch/corba/intercepted/server.lua +9 -0
  259. data/vendor/lua/lib/lua/oil/arch/corba/server.lua +35 -0
  260. data/vendor/lua/lib/lua/oil/arch/ludo/byref.lua +18 -0
  261. data/vendor/lua/lib/lua/oil/arch/ludo/client.lua +19 -0
  262. data/vendor/lua/lib/lua/oil/arch/ludo/common.lua +18 -0
  263. data/vendor/lua/lib/lua/oil/arch/ludo/server.lua +19 -0
  264. data/vendor/lua/lib/lua/oil/arch/typed/client.lua +27 -0
  265. data/vendor/lua/lib/lua/oil/arch/typed/common.lua +9 -0
  266. data/vendor/lua/lib/lua/oil/arch/typed/server.lua +18 -0
  267. data/vendor/lua/lib/lua/oil/assert.lua +87 -0
  268. data/vendor/lua/lib/lua/oil/builder.lua +45 -0
  269. data/vendor/lua/lib/lua/oil/builder/basic/client.lua +31 -0
  270. data/vendor/lua/lib/lua/oil/builder/basic/common.lua +11 -0
  271. data/vendor/lua/lib/lua/oil/builder/basic/server.lua +13 -0
  272. data/vendor/lua/lib/lua/oil/builder/cooperative/common.lua +11 -0
  273. data/vendor/lua/lib/lua/oil/builder/cooperative/server.lua +11 -0
  274. data/vendor/lua/lib/lua/oil/builder/corba/client.lua +13 -0
  275. data/vendor/lua/lib/lua/oil/builder/corba/common.lua +24 -0
  276. data/vendor/lua/lib/lua/oil/builder/corba/gencode.lua +13 -0
  277. data/vendor/lua/lib/lua/oil/builder/corba/intercepted/client.lua +11 -0
  278. data/vendor/lua/lib/lua/oil/builder/corba/intercepted/server.lua +11 -0
  279. data/vendor/lua/lib/lua/oil/builder/corba/server.lua +13 -0
  280. data/vendor/lua/lib/lua/oil/builder/lua/client.lua +11 -0
  281. data/vendor/lua/lib/lua/oil/builder/lua/server.lua +12 -0
  282. data/vendor/lua/lib/lua/oil/builder/ludo/byref.lua +13 -0
  283. data/vendor/lua/lib/lua/oil/builder/ludo/client.lua +13 -0
  284. data/vendor/lua/lib/lua/oil/builder/ludo/common.lua +14 -0
  285. data/vendor/lua/lib/lua/oil/builder/ludo/server.lua +13 -0
  286. data/vendor/lua/lib/lua/oil/builder/typed/client.lua +16 -0
  287. data/vendor/lua/lib/lua/oil/builder/typed/server.lua +12 -0
  288. data/vendor/lua/lib/lua/oil/compat.lua +846 -0
  289. data/vendor/lua/lib/lua/oil/component.lua +1 -0
  290. data/vendor/lua/lib/lua/oil/corba/giop.lua +301 -0
  291. data/vendor/lua/lib/lua/oil/corba/giop/Codec.lua +1568 -0
  292. data/vendor/lua/lib/lua/oil/corba/giop/CodecGen.lua +589 -0
  293. data/vendor/lua/lib/lua/oil/corba/giop/Exception.lua +25 -0
  294. data/vendor/lua/lib/lua/oil/corba/giop/Indexer.lua +63 -0
  295. data/vendor/lua/lib/lua/oil/corba/giop/Listener.lua +343 -0
  296. data/vendor/lua/lib/lua/oil/corba/giop/Messenger.lua +228 -0
  297. data/vendor/lua/lib/lua/oil/corba/giop/Referrer.lua +180 -0
  298. data/vendor/lua/lib/lua/oil/corba/giop/Requester.lua +462 -0
  299. data/vendor/lua/lib/lua/oil/corba/idl.lua +597 -0
  300. data/vendor/lua/lib/lua/oil/corba/idl/Compiler.lua +133 -0
  301. data/vendor/lua/lib/lua/oil/corba/idl/Importer.lua +235 -0
  302. data/vendor/lua/lib/lua/oil/corba/idl/Indexer.lua +95 -0
  303. data/vendor/lua/lib/lua/oil/corba/idl/Registry.lua +1821 -0
  304. data/vendor/lua/lib/lua/oil/corba/idl/ir.lua +847 -0
  305. data/vendor/lua/lib/lua/oil/corba/idl/sysex.lua +21 -0
  306. data/vendor/lua/lib/lua/oil/corba/iiop/Profiler.lua +200 -0
  307. data/vendor/lua/lib/lua/oil/corba/intercepted/Listener.lua +158 -0
  308. data/vendor/lua/lib/lua/oil/corba/intercepted/Requester.lua +181 -0
  309. data/vendor/lua/lib/lua/oil/corba/services/event.lua +126 -0
  310. data/vendor/lua/lib/lua/oil/corba/services/event/ConsumerAdmin.lua +50 -0
  311. data/vendor/lua/lib/lua/oil/corba/services/event/EventFactory.lua +15 -0
  312. data/vendor/lua/lib/lua/oil/corba/services/event/EventQueue.lua +37 -0
  313. data/vendor/lua/lib/lua/oil/corba/services/event/ProxyPushConsumer.lua +75 -0
  314. data/vendor/lua/lib/lua/oil/corba/services/event/ProxyPushSupplier.lua +62 -0
  315. data/vendor/lua/lib/lua/oil/corba/services/event/SingleDeferredDispatcher.lua +60 -0
  316. data/vendor/lua/lib/lua/oil/corba/services/event/SingleSynchronousDispatcher.lua +39 -0
  317. data/vendor/lua/lib/lua/oil/corba/services/event/SupplierAdmin.lua +50 -0
  318. data/vendor/lua/lib/lua/oil/corba/services/naming.lua +436 -0
  319. data/vendor/lua/lib/lua/oil/kernel/base/Acceptor.lua +268 -0
  320. data/vendor/lua/lib/lua/oil/kernel/base/Channels.lua +121 -0
  321. data/vendor/lua/lib/lua/oil/kernel/base/Connector.lua +147 -0
  322. data/vendor/lua/lib/lua/oil/kernel/base/Dispatcher.lua +99 -0
  323. data/vendor/lua/lib/lua/oil/kernel/base/Proxies.lua +86 -0
  324. data/vendor/lua/lib/lua/oil/kernel/base/Proxies/asynchronous.lua +56 -0
  325. data/vendor/lua/lib/lua/oil/kernel/base/Proxies/protected.lua +17 -0
  326. data/vendor/lua/lib/lua/oil/kernel/base/Proxies/synchronous.lua +17 -0
  327. data/vendor/lua/lib/lua/oil/kernel/base/Proxies/utils.lua +29 -0
  328. data/vendor/lua/lib/lua/oil/kernel/base/Receiver.lua +110 -0
  329. data/vendor/lua/lib/lua/oil/kernel/base/Servants.lua +207 -0
  330. data/vendor/lua/lib/lua/oil/kernel/base/Sockets.lua +44 -0
  331. data/vendor/lua/lib/lua/oil/kernel/cooperative/Receiver.lua +139 -0
  332. data/vendor/lua/lib/lua/oil/kernel/intercepted/Listener.lua +47 -0
  333. data/vendor/lua/lib/lua/oil/kernel/intercepted/Requester.lua +58 -0
  334. data/vendor/lua/lib/lua/oil/kernel/lua/Dispatcher.lua +76 -0
  335. data/vendor/lua/lib/lua/oil/kernel/lua/Proxies.lua +69 -0
  336. data/vendor/lua/lib/lua/oil/kernel/typed/Dispatcher.lua +91 -0
  337. data/vendor/lua/lib/lua/oil/kernel/typed/Proxies.lua +153 -0
  338. data/vendor/lua/lib/lua/oil/kernel/typed/Servants.lua +137 -0
  339. data/vendor/lua/lib/lua/oil/ludo/Codec.lua +66 -0
  340. data/vendor/lua/lib/lua/oil/ludo/CodecByRef.lua +103 -0
  341. data/vendor/lua/lib/lua/oil/ludo/Listener.lua +151 -0
  342. data/vendor/lua/lib/lua/oil/ludo/Referrer.lua +72 -0
  343. data/vendor/lua/lib/lua/oil/ludo/Requester.lua +107 -0
  344. data/vendor/lua/lib/lua/oil/oo.lua +1 -0
  345. data/vendor/lua/lib/lua/oil/port.lua +1 -0
  346. data/vendor/lua/lib/lua/oil/properties.lua +57 -0
  347. data/vendor/lua/lib/lua/oil/verbose.lua +133 -0
  348. data/vendor/lua/lib/lua/package_ext.lua +15 -0
  349. data/vendor/lua/lib/lua/parser.lua +268 -0
  350. data/vendor/lua/lib/lua/pl/Date.lua +555 -0
  351. data/vendor/lua/lib/lua/pl/List.lua +613 -0
  352. data/vendor/lua/lib/lua/pl/Map.lua +113 -0
  353. data/vendor/lua/lib/lua/pl/MultiMap.lua +62 -0
  354. data/vendor/lua/lib/lua/pl/OrderedMap.lua +151 -0
  355. data/vendor/lua/lib/lua/pl/Set.lua +153 -0
  356. data/vendor/lua/lib/lua/pl/app.lua +165 -0
  357. data/vendor/lua/lib/lua/pl/array2d.lua +501 -0
  358. data/vendor/lua/lib/lua/pl/class.lua +180 -0
  359. data/vendor/lua/lib/lua/pl/comprehension.lua +286 -0
  360. data/vendor/lua/lib/lua/pl/config.lua +176 -0
  361. data/vendor/lua/lib/lua/pl/data.lua +606 -0
  362. data/vendor/lua/lib/lua/pl/dir.lua +475 -0
  363. data/vendor/lua/lib/lua/pl/file.lua +70 -0
  364. data/vendor/lua/lib/lua/pl/func.lua +376 -0
  365. data/vendor/lua/lib/lua/pl/init.lua +68 -0
  366. data/vendor/lua/lib/lua/pl/input.lua +173 -0
  367. data/vendor/lua/lib/lua/pl/lapp.lua +407 -0
  368. data/vendor/lua/lib/lua/pl/lexer.lua +456 -0
  369. data/vendor/lua/lib/lua/pl/luabalanced.lua +264 -0
  370. data/vendor/lua/lib/lua/pl/operator.lua +201 -0
  371. data/vendor/lua/lib/lua/pl/path.lua +398 -0
  372. data/vendor/lua/lib/lua/pl/permute.lua +63 -0
  373. data/vendor/lua/lib/lua/pl/platf/luajava.lua +101 -0
  374. data/vendor/lua/lib/lua/pl/pretty.lua +285 -0
  375. data/vendor/lua/lib/lua/pl/seq.lua +551 -0
  376. data/vendor/lua/lib/lua/pl/sip.lua +344 -0
  377. data/vendor/lua/lib/lua/pl/strict.lua +70 -0
  378. data/vendor/lua/lib/lua/pl/stringio.lua +158 -0
  379. data/vendor/lua/lib/lua/pl/stringx.lua +440 -0
  380. data/vendor/lua/lib/lua/pl/tablex.lua +817 -0
  381. data/vendor/lua/lib/lua/pl/template.lua +103 -0
  382. data/vendor/lua/lib/lua/pl/test.lua +135 -0
  383. data/vendor/lua/lib/lua/pl/text.lua +243 -0
  384. data/vendor/lua/lib/lua/pl/utils.lua +550 -0
  385. data/vendor/lua/lib/lua/pl/xml.lua +689 -0
  386. data/vendor/lua/lib/lua/profiler.dll +0 -0
  387. data/vendor/lua/lib/lua/re.lua +248 -0
  388. data/vendor/lua/lib/lua/rex_onig.dll +0 -0
  389. data/vendor/lua/lib/lua/rex_pcre.dll +0 -0
  390. data/vendor/lua/lib/lua/rex_posix.dll +0 -0
  391. data/vendor/lua/lib/lua/rings.dll +0 -0
  392. data/vendor/lua/lib/lua/serialize.lua +193 -0
  393. data/vendor/lua/lib/lua/set.lua +149 -0
  394. data/vendor/lua/lib/lua/socket.lua +133 -0
  395. data/vendor/lua/lib/lua/socket/core.dll +0 -0
  396. data/vendor/lua/lib/lua/socket/ftp.lua +281 -0
  397. data/vendor/lua/lib/lua/socket/http.lua +350 -0
  398. data/vendor/lua/lib/lua/socket/smtp.lua +251 -0
  399. data/vendor/lua/lib/lua/socket/tp.lua +123 -0
  400. data/vendor/lua/lib/lua/socket/url.lua +297 -0
  401. data/vendor/lua/lib/lua/ssl.dll +0 -0
  402. data/vendor/lua/lib/lua/ssl.lua +93 -0
  403. data/vendor/lua/lib/lua/ssl/https.lua +138 -0
  404. data/vendor/lua/lib/lua/stable.lua +28 -0
  405. data/vendor/lua/lib/lua/std.lua +16 -0
  406. data/vendor/lua/lib/lua/strbuf.lua +32 -0
  407. data/vendor/lua/lib/lua/strict.lua +45 -0
  408. data/vendor/lua/lib/lua/string_ext.lua +274 -0
  409. data/vendor/lua/lib/lua/table_ext.lua +117 -0
  410. data/vendor/lua/lib/lua/tar.lua +262 -0
  411. data/vendor/lua/lib/lua/task.dll +0 -0
  412. data/vendor/lua/lib/lua/tree.lua +81 -0
  413. data/vendor/lua/lib/lua/unicode.dll +0 -0
  414. data/vendor/lua/lib/lua/verbose_require.lua +11 -0
  415. data/vendor/lua/lib/lua/vstruct.lua +86 -0
  416. data/vendor/lua/lib/lua/vstruct/ast.lua +192 -0
  417. data/vendor/lua/lib/lua/vstruct/ast/Bitpack.lua +33 -0
  418. data/vendor/lua/lib/lua/vstruct/ast/Generator.lua +174 -0
  419. data/vendor/lua/lib/lua/vstruct/ast/IO.lua +45 -0
  420. data/vendor/lua/lib/lua/vstruct/ast/List.lua +56 -0
  421. data/vendor/lua/lib/lua/vstruct/ast/Name.lua +20 -0
  422. data/vendor/lua/lib/lua/vstruct/ast/Repeat.lua +23 -0
  423. data/vendor/lua/lib/lua/vstruct/ast/Root.lua +19 -0
  424. data/vendor/lua/lib/lua/vstruct/ast/Table.lua +65 -0
  425. data/vendor/lua/lib/lua/vstruct/cursor.lua +81 -0
  426. data/vendor/lua/lib/lua/vstruct/io.lua +45 -0
  427. data/vendor/lua/lib/lua/vstruct/io/a.lua +24 -0
  428. data/vendor/lua/lib/lua/vstruct/io/b.lua +28 -0
  429. data/vendor/lua/lib/lua/vstruct/io/bigendian.lua +21 -0
  430. data/vendor/lua/lib/lua/vstruct/io/c.lua +25 -0
  431. data/vendor/lua/lib/lua/vstruct/io/defaults.lua +24 -0
  432. data/vendor/lua/lib/lua/vstruct/io/endianness.lua +41 -0
  433. data/vendor/lua/lib/lua/vstruct/io/f.lua +129 -0
  434. data/vendor/lua/lib/lua/vstruct/io/hostendian.lua +21 -0
  435. data/vendor/lua/lib/lua/vstruct/io/i.lua +42 -0
  436. data/vendor/lua/lib/lua/vstruct/io/littleendian.lua +21 -0
  437. data/vendor/lua/lib/lua/vstruct/io/m.lua +62 -0
  438. data/vendor/lua/lib/lua/vstruct/io/p.lua +23 -0
  439. data/vendor/lua/lib/lua/vstruct/io/s.lua +27 -0
  440. data/vendor/lua/lib/lua/vstruct/io/seekb.lua +18 -0
  441. data/vendor/lua/lib/lua/vstruct/io/seekf.lua +18 -0
  442. data/vendor/lua/lib/lua/vstruct/io/seekto.lua +18 -0
  443. data/vendor/lua/lib/lua/vstruct/io/u.lua +54 -0
  444. data/vendor/lua/lib/lua/vstruct/io/x.lua +34 -0
  445. data/vendor/lua/lib/lua/vstruct/io/z.lua +63 -0
  446. data/vendor/lua/lib/lua/vstruct/lexer.lua +100 -0
  447. data/vendor/lua/lib/lua/vstruct/pack.lua +142 -0
  448. data/vendor/lua/lib/lua/vstruct/test.lua +47 -0
  449. data/vendor/lua/lib/lua/vstruct/test/basic.lua +73 -0
  450. data/vendor/lua/lib/lua/vstruct/test/common.lua +100 -0
  451. data/vendor/lua/lib/lua/vstruct/test/fp-bigendian.lua +56 -0
  452. data/vendor/lua/lib/lua/vstruct/test/fp-littleendian.lua +56 -0
  453. data/vendor/lua/lib/lua/vstruct/test/struct-test-gen.lua +1230 -0
  454. data/vendor/lua/lib/lua/vstruct/unpack.lua +126 -0
  455. data/vendor/lua/lib/lua/wx.dll +0 -0
  456. data/vendor/lua/lib/lua/xml.lua +75 -0
  457. data/vendor/lua/lib/lua/zip.dll +0 -0
  458. data/vendor/lua/lib/lua/zlib.dll +0 -0
  459. metadata +529 -0
@@ -0,0 +1,48 @@
1
+ --------------------------------------------------------------------------------
2
+ ---------------------- ## ##### ##### ###### -----------------------
3
+ ---------------------- ## ## ## ## ## ## ## -----------------------
4
+ ---------------------- ## ## ## ## ## ###### -----------------------
5
+ ---------------------- ## ## ## ## ## ## -----------------------
6
+ ---------------------- ###### ##### ##### ## -----------------------
7
+ ---------------------- -----------------------
8
+ ----------------------- Lua Object-Oriented Programming ------------------------
9
+ --------------------------------------------------------------------------------
10
+ -- Project: LOOP Class Library --
11
+ -- Release: 2.3 beta --
12
+ -- Title : Stream that Serializes and Restores Values from Files --
13
+ -- Author : Renato Maia <maia@inf.puc-rio.br> --
14
+ --------------------------------------------------------------------------------
15
+
16
+ local assert = assert
17
+ local table = require "table"
18
+ local oo = require "loop.simple"
19
+ local Serializer = require "loop.serial.Serializer"
20
+
21
+ module"loop.serial.FileStream"
22
+
23
+ oo.class(_M, Serializer)
24
+
25
+ buffersize = 1024
26
+
27
+ function write(self, ...)
28
+ self.file:write(...)
29
+ end
30
+
31
+ function put(self, ...)
32
+ self:serialize(...)
33
+ self.file:write("\0")
34
+ end
35
+
36
+ function get(self)
37
+ local lines = {}
38
+ local line
39
+ repeat
40
+ line = self.remains or self.file:read(self.buffersize)
41
+ self.remains = nil
42
+ if line and line:find("%z") then
43
+ line, self.remains = line:match("^([^%z]*)%z(.*)$")
44
+ end
45
+ lines[#lines+1] = line
46
+ until not line or self.remains
47
+ return assert(self:load("return "..table.concat(lines)))()
48
+ end
@@ -0,0 +1,291 @@
1
+ --------------------------------------------------------------------------------
2
+ ---------------------- ## ##### ##### ###### -----------------------
3
+ ---------------------- ## ## ## ## ## ## ## -----------------------
4
+ ---------------------- ## ## ## ## ## ###### -----------------------
5
+ ---------------------- ## ## ## ## ## ## -----------------------
6
+ ---------------------- ###### ##### ##### ## -----------------------
7
+ ---------------------- -----------------------
8
+ ----------------------- Lua Object-Oriented Programming ------------------------
9
+ --------------------------------------------------------------------------------
10
+ -- Project: LOOP Class Library --
11
+ -- Release: 2.3 beta --
12
+ -- Title : Serializer that Serialize Values to Lua Code --
13
+ -- Author : Renato Maia <maia@inf.puc-rio.br> --
14
+ --------------------------------------------------------------------------------
15
+
16
+ local _G = _G
17
+ local getmetatable = getmetatable
18
+ local setmetatable = setmetatable
19
+ local getfenv = getfenv
20
+ local setfenv = setfenv
21
+ local package = package
22
+ local assert = assert
23
+ local select = select
24
+ local pairs = pairs
25
+ local pcall = pcall
26
+ local ipairs = ipairs
27
+ local loadstring = loadstring
28
+ local rawget = rawget
29
+ local rawset = rawset
30
+ local require = require
31
+ local tostring = tostring
32
+ local tonumber = tonumber
33
+ local error = error
34
+ local type = type
35
+
36
+ local debug = debug
37
+ local string = require "string"
38
+ local table = require "loop.table"
39
+ local oo = require "loop.base"
40
+
41
+ module("loop.serial.Serializer", oo.class)
42
+
43
+ __mode = "k"
44
+
45
+ namespace = "serial"
46
+
47
+ ------------------------------------------------------------------------------
48
+ _M.globals = _G
49
+ _M.require = require
50
+ _M.getmetatable = getmetatable
51
+ _M.setmetatable = setmetatable
52
+ _M.getfenv = getfenv
53
+ _M.setfenv = setfenv
54
+ _M.getupvalue = debug and debug.getupvalue
55
+ _M.setupvalue = debug and debug.setupvalue
56
+ _M.package = package and package.loaded
57
+ ------------------------------------------------------------------------------
58
+ Environment = oo.class{ __index = _G }
59
+
60
+ function addmembers(self, pack)
61
+ if type(pack) == "table" then
62
+ for field, member in pairs(pack) do
63
+ local kind = type(member)
64
+ if
65
+ self[member] == nil and
66
+ kind ~= "boolean" and kind ~= "number" and kind ~= "string" and
67
+ type(field) == "string" and field:match("^[%a_]+[%w_]*$")
68
+ then
69
+ self[member] = self[pack].."."..field
70
+ end
71
+ end
72
+ end
73
+ end
74
+
75
+ function __init(self, object)
76
+ self = oo.rawnew(self, object)
77
+ self.environment = self.environment or Environment()
78
+ self.environment[self.namespace] = self
79
+ if self.globals then
80
+ self[self.globals] = self.namespace..".globals"
81
+ for field, member in pairs(self.globals) do
82
+ if
83
+ self[member] == nil and
84
+ type(field) == "string" and field:match("^[%a_]+[%w_]*$") and
85
+ type(member) == "function" and not pcall(string.dump, member)
86
+ then
87
+ self[member] = self.namespace..".globals."..field
88
+ end
89
+ end
90
+ end
91
+ if self.package then
92
+ for name, pack in pairs(self.package) do
93
+ if self[pack] == nil then
94
+ self[pack] = self.namespace..'.require("'..name..'")'
95
+ self:addmembers(pack)
96
+ end
97
+ end
98
+ end
99
+ return self
100
+ end
101
+
102
+ ------------------------------------------------------------------------------
103
+ local Incomplete = oo.class()
104
+
105
+ function Incomplete:__load(contents, metatable)
106
+ table.copy(contents, self)
107
+ return setmetatable(self, metatable)
108
+ end
109
+
110
+ function value(self, id, type, ...)
111
+ local value = self[id]
112
+ if not value then
113
+ if type == "function" then
114
+ value = assert(loadstring((...)))
115
+ elseif type == "userdata" then
116
+ value = assert(self[...], "unknown userdata")()
117
+ elseif type == "table" then
118
+ local meta
119
+ value, meta = ...
120
+ if meta and self.setmetatable then
121
+ self.setmetatable(value, meta)
122
+ end
123
+ else
124
+ value = Incomplete()
125
+ end
126
+ self[id] = value
127
+ elseif type == "table" and oo.classof(value) == Incomplete then
128
+ value:__load(...)
129
+ end
130
+ return value
131
+ end
132
+
133
+ function setup(self, value, ...)
134
+ local type = type(value)
135
+ if type == "function" then
136
+ if self.setfenv then self.setfenv(value, ... or self.globals) end
137
+ local setupvalue = self.setupvalue
138
+ if setupvalue then
139
+ local up = 1
140
+ while setupvalue(value, up, select(up+1, ...) or nil) do
141
+ up = up + 1
142
+ end
143
+ end
144
+ else
145
+ local loader = getmetatable(value)
146
+ if loader then loader = loader.__load end
147
+ if loader then loader(value, ...) end
148
+ end
149
+ return value
150
+ end
151
+
152
+ function load(self, data)
153
+ local errmsg
154
+ data, errmsg = loadstring(data)
155
+ if data then setfenv(data, self.environment) end
156
+ return data, errmsg
157
+ end
158
+ ------------------------------------------------------------------------------
159
+ function serialstring(self, string)
160
+ self:write(string.format("%q", string))
161
+ end
162
+
163
+ function serialtable(self, table, id)
164
+ self[table] = self.namespace..":value("..id..")"
165
+
166
+ -- serialize contents
167
+ self:write(self.namespace,":value(",id,",'table',{")
168
+ for key, val in pairs(table) do
169
+ self:write("[")
170
+ self:serialize(key)
171
+ self:write("]=")
172
+ self:serialize(val)
173
+ self:write(",")
174
+ end
175
+ self:write("}")
176
+
177
+ -- serialize metatable
178
+ if self.getmetatable then
179
+ local meta = self.getmetatable(table)
180
+ if meta then
181
+ self:write(",")
182
+ self:serialize(meta)
183
+ end
184
+ end
185
+
186
+ self:write(")")
187
+ end
188
+
189
+ function serialfunction(self, func, id)
190
+ self[func] = self.namespace..":value("..id..")"
191
+ self:write(self.namespace,":setup(")
192
+
193
+ -- serialize bytecodes
194
+ self:write(self.namespace,":value(",id,",'function','")
195
+ local bytecodes = string.dump(func)
196
+ for i = 1, #bytecodes do
197
+ self:write("\\",string.byte(bytecodes, i))
198
+ end
199
+ self:write("')")
200
+
201
+ -- serialize environment
202
+ local env
203
+ if self.getfenv then
204
+ env = self.getfenv(func)
205
+ if env == self.globals then env = nil end
206
+ end
207
+ self:write(",")
208
+ self:serialize(env)
209
+
210
+ -- serialize upvalues
211
+ if self.getupvalue then
212
+ local name, value
213
+ local up = 1
214
+ repeat
215
+ name, value = self.getupvalue(func, up)
216
+ if name then
217
+ self:write(",")
218
+ self:serialize(value)
219
+ end
220
+ up = up + 1
221
+ until not name
222
+ end
223
+
224
+ self:write(")")
225
+ end
226
+
227
+ function serialcustom(self, id, name, ...)
228
+ local state = select("#", ...) > 0
229
+ if state then
230
+ self:write(self.namespace,":setup(")
231
+ end
232
+ self:write(self.namespace,":value(",id,",'userdata','",name,"')")
233
+ if state then
234
+ self:write(",")
235
+ self:serialize(...)
236
+ self:write(")")
237
+ end
238
+ end
239
+
240
+ function serialuserdata(self, userdata, id)
241
+ local serializer = getmetatable(userdata)
242
+ if serializer then
243
+ serializer = serializer.__serialize
244
+ if serializer then
245
+ self[userdata] = self.namespace..":value("..id..")"
246
+ return self:serialcustom(id, serializer(userdata))
247
+ end
248
+ end
249
+ error("unable to serialize a userdata without custom serialization")
250
+ end
251
+
252
+ local function getidfor(value)
253
+ local meta = getmetatable(value)
254
+ local backup
255
+ if meta then
256
+ backup = rawget(meta, "__tostring")
257
+ if backup ~= nil then rawset(meta, "__tostring", nil) end
258
+ end
259
+ local id = string.match(tostring(value), "%l+: (%w+)")
260
+ if meta then
261
+ if backup ~= nil then rawset(meta, "__tostring", backup) end
262
+ end
263
+ return tonumber(id, 16) or id
264
+ end
265
+
266
+ function serialize(self, ...)
267
+ for i=1, select("#", ...) do
268
+ if i ~= 1 then self:write(",") end
269
+ local value = select(i, ...)
270
+ local type = type(value)
271
+ if type == "nil" or type == "boolean" or type == "number" then
272
+ self:write(tostring(value))
273
+ elseif type == "string" then
274
+ self:serialstring(value)
275
+ else
276
+ local id = self[value]
277
+ if id then
278
+ self:write(id)
279
+ elseif self[type] then
280
+ self[type](self, value, getidfor(value))
281
+ else
282
+ error("unable to serialize a "..type)
283
+ end
284
+ end
285
+ end
286
+ end
287
+
288
+ _M["table"] = serialtable
289
+ _M["function"] = serialfunction
290
+ _M["userdata"] = serialuserdata
291
+ _M["thread"] = serialthread
@@ -0,0 +1,51 @@
1
+ --------------------------------------------------------------------------------
2
+ ---------------------- ## ##### ##### ###### -----------------------
3
+ ---------------------- ## ## ## ## ## ## ## -----------------------
4
+ ---------------------- ## ## ## ## ## ###### -----------------------
5
+ ---------------------- ## ## ## ## ## ## -----------------------
6
+ ---------------------- ###### ##### ##### ## -----------------------
7
+ ---------------------- -----------------------
8
+ ----------------------- Lua Object-Oriented Programming ------------------------
9
+ --------------------------------------------------------------------------------
10
+ -- Project: LOOP Class Library --
11
+ -- Release: 2.3 beta --
12
+ -- Title : Stream that Serializes and Restores Values from Sockets --
13
+ -- Author : Renato Maia <maia@inf.puc-rio.br> --
14
+ --------------------------------------------------------------------------------
15
+
16
+ local assert = assert
17
+ local select = select
18
+ local table = require "table"
19
+ local oo = require "loop.simple"
20
+ local Serializer = require "loop.serial.Serializer"
21
+
22
+ module"loop.serial.SocketStream"
23
+
24
+ oo.class(_M, Serializer)
25
+
26
+ function write(self, ...)
27
+ for i=1, select("#", ...) do
28
+ self.buffer[#self.buffer+1] = select(i, ...)
29
+ end
30
+ end
31
+
32
+ function put(self, ...)
33
+ self.buffer = {}
34
+ self:serialize(...)
35
+ assert(self.socket:send(table.concat(self.buffer).."\0\n"))
36
+ self.buffer = nil
37
+ end
38
+
39
+ function get(self)
40
+ local lines = {}
41
+ local line
42
+ repeat
43
+ line = assert(self.socket:receive())
44
+ if line and line:find("%z$") then
45
+ lines[#lines+1] = line:sub(1, #line-1)
46
+ break
47
+ end
48
+ lines[#lines+1] = line
49
+ until not line
50
+ return assert(self:load("return "..table.concat(lines, "\n")))()
51
+ end
@@ -0,0 +1,47 @@
1
+ --------------------------------------------------------------------------------
2
+ ---------------------- ## ##### ##### ###### -----------------------
3
+ ---------------------- ## ## ## ## ## ## ## -----------------------
4
+ ---------------------- ## ## ## ## ## ###### -----------------------
5
+ ---------------------- ## ## ## ## ## ## -----------------------
6
+ ---------------------- ###### ##### ##### ## -----------------------
7
+ ---------------------- -----------------------
8
+ ----------------------- Lua Object-Oriented Programming ------------------------
9
+ --------------------------------------------------------------------------------
10
+ -- Project: LOOP Class Library --
11
+ -- Release: 2.3 beta --
12
+ -- Title : Stream that Serializes and Restores Values from Strings --
13
+ -- Author : Renato Maia <maia@inf.puc-rio.br> --
14
+ --------------------------------------------------------------------------------
15
+
16
+ local assert = assert
17
+ local select = select
18
+ local table = require "table"
19
+ local oo = require "loop.simple"
20
+ local Serializer = require "loop.serial.Serializer"
21
+
22
+ module"loop.serial.StringStream"
23
+
24
+ oo.class(_M, Serializer)
25
+
26
+ pos = 1
27
+
28
+ __tostring = table.concat
29
+
30
+ function write(self, ...)
31
+ for i=1, select("#", ...) do
32
+ self[#self+1] = select(i, ...)
33
+ end
34
+ end
35
+
36
+ function put(self, ...)
37
+ if #self > 0 then self[#self+1] = "\0" end
38
+ self:serialize(...)
39
+ end
40
+
41
+ function get(self)
42
+ local code = self.data or self:__tostring()
43
+ local newpos = code:find("%z", self.pos) or #code + 1
44
+ code = code:sub(self.pos, newpos - 1)
45
+ self.pos = newpos + 1
46
+ return assert(self:load("return "..code))()
47
+ end
@@ -0,0 +1,75 @@
1
+ --------------------------------------------------------------------------------
2
+ ---------------------- ## ##### ##### ###### -----------------------
3
+ ---------------------- ## ## ## ## ## ## ## -----------------------
4
+ ---------------------- ## ## ## ## ## ###### -----------------------
5
+ ---------------------- ## ## ## ## ## ## -----------------------
6
+ ---------------------- ###### ##### ##### ## -----------------------
7
+ ---------------------- -----------------------
8
+ ----------------------- Lua Object-Oriented Programming ------------------------
9
+ --------------------------------------------------------------------------------
10
+ -- Project: LOOP - Lua Object-Oriented Programming --
11
+ -- Release: 2.3 beta --
12
+ -- Title : Simple Inheritance Class Model --
13
+ -- Author : Renato Maia <maia@inf.puc-rio.br> --
14
+ --------------------------------------------------------------------------------
15
+ -- Exported API: --
16
+ -- class(class, super) --
17
+ -- new(class, ...) --
18
+ -- classof(object) --
19
+ -- isclass(class) --
20
+ -- instanceof(object, class) --
21
+ -- memberof(class, name) --
22
+ -- members(class) --
23
+ -- superclass(class) --
24
+ -- subclassof(class, super) --
25
+ --------------------------------------------------------------------------------
26
+
27
+ local require = require
28
+ local rawget = rawget
29
+ local pairs = pairs
30
+
31
+ local table = require "loop.table"
32
+
33
+ module "loop.simple"
34
+ --------------------------------------------------------------------------------
35
+ local ObjectCache = require "loop.collection.ObjectCache"
36
+ local base = require "loop.base"
37
+ --------------------------------------------------------------------------------
38
+ table.copy(base, _M)
39
+ --------------------------------------------------------------------------------
40
+ local DerivedClass = ObjectCache {
41
+ retrieve = function(self, super)
42
+ return base.class { __index = super, __call = new }
43
+ end,
44
+ }
45
+ function class(class, super)
46
+ if super
47
+ then return DerivedClass[super](initclass(class))
48
+ else return base.class(class)
49
+ end
50
+ end
51
+ --------------------------------------------------------------------------------
52
+ function isclass(class)
53
+ local metaclass = classof(class)
54
+ if metaclass then
55
+ return metaclass == rawget(DerivedClass, metaclass.__index) or
56
+ base.isclass(class)
57
+ end
58
+ end
59
+ --------------------------------------------------------------------------------
60
+ function superclass(class)
61
+ local metaclass = classof(class)
62
+ if metaclass then return metaclass.__index end
63
+ end
64
+ --------------------------------------------------------------------------------
65
+ function subclassof(class, super)
66
+ while class do
67
+ if class == super then return true end
68
+ class = superclass(class)
69
+ end
70
+ return false
71
+ end
72
+ --------------------------------------------------------------------------------
73
+ function instanceof(object, class)
74
+ return subclassof(classof(object), class)
75
+ end