dfhack/library/include
Alexander Gavrilov cb49c92b99 Allow plugins to export functions to lua with safe reload support.
- To ensure reload safety functions have to be wrapped. Every call
  checks the loaded state and locks a mutex in Plugin. If the plugin
  is unloaded, calling its functions throws a lua error. Therefore,
  plugins may not create closures or export yieldable functions.

- The set of function argument and return types supported by
  LuaWrapper is severely limited when compared to being compiled
  inside the main library.
  Currently supported types: numbers, bool, std::string, df::foo,
  df::foo*, std::vector<bool>, std::vector<df::foo*>.

- To facilitate postponing initialization until after all plugins
  have been loaded, the core sends a SC_CORE_INITIALIZED event.

- As an example, the burrows plugin now exports its functions.
2012-04-14 19:44:07 +04:00
..
df Add burrow subcommands to modify burrow unit and tile sets. 2012-04-14 14:12:59 +04:00
modules Add burrow subcommands to modify burrow unit and tile sets. 2012-04-14 14:12:59 +04:00
BitArray.h Support resize/erase/insert for containers, and allow any index in BitArray. 2012-03-24 16:28:53 +04:00
ColorText.h Improve support for void RPC functions, dfhack-run, etc. 2012-03-15 11:07:43 +04:00
Console.h Pull out a colored text output interface out of the Console class. 2012-03-10 13:29:33 +04:00
Core.h Allow plugins to export functions to lua with safe reload support. 2012-04-14 19:44:07 +04:00
DFHack.h Header changes/cleanup. 2011-12-31 12:48:42 +01:00
DataDefs.h Update the item owner modification api and export it to lua. 2012-04-11 20:10:31 +04:00
DataFuncs.h Allow plugins to export functions to lua with safe reload support. 2012-04-14 19:44:07 +04:00
DataIdentity.h Allow plugins to export functions to lua with safe reload support. 2012-04-14 19:44:07 +04:00
Error.h Wrap a few utility functions defined on the c++ side for lua. 2012-04-05 19:55:59 +04:00
Export.h Fix indentation 2012-03-15 11:50:38 -05:00
Hooks.h Add eggy hooks (linux only for now) 2012-02-28 03:37:56 +01:00
Internal.h Header changes/cleanup. 2011-12-31 12:48:42 +01:00
LuaTools.h A few more utility functions for lua. 2012-04-03 20:02:01 +04:00
LuaWrapper.h Allow plugins to export functions to lua with safe reload support. 2012-04-14 19:44:07 +04:00
MemAccess.h Update to use the new symbols file. 2012-02-11 19:24:44 +01:00
MiscUtils.h Add api for manipulating burrows to the core. 2012-04-11 19:42:05 +04:00
Module.h Header changes/cleanup. 2011-12-31 12:48:42 +01:00
ModuleFactory.h Remove UTF-8 BOMs 2012-01-27 09:47:14 -06:00
PluginManager.h Allow plugins to export functions to lua with safe reload support. 2012-04-14 19:44:07 +04:00
Pragma.h Silence warning 4482 2012-03-24 18:18:29 -05:00
RemoteClient.h Add a ListMaterials remote call for bulk download of basic material info. 2012-03-17 15:36:42 +04:00
RemoteServer.h Make the server suspend the core around calls unless disabled. 2012-03-18 11:04:15 +04:00
RemoteTools.h Fix warnings. 2012-03-26 12:42:05 +04:00
SDL_events.h Header changes/cleanup. 2011-12-31 12:48:42 +01:00
SDL_keyboard.h Header changes/cleanup. 2011-12-31 12:48:42 +01:00
SDL_keysym.h Header changes/cleanup. 2011-12-31 12:48:42 +01:00
TileTypes.h Add a plugin that makes selected burrows auto-grow on digging. 2012-04-13 21:41:42 +04:00
Types.h Get rid of t_effect_40d and EFFECT_TYPE - they're in the XML now, and they're actually correct too 2012-02-13 21:56:47 -06:00
VersionInfo.h Reverse-rebase the vtable pointers printed to stderr.log. 2012-04-12 11:21:25 +04:00
VersionInfoFactory.h Make it run on Windows, re-added more missing globals to memory.xml 2012-02-10 02:35:51 +01:00
wdirent.h Header changes/cleanup. 2011-12-31 12:48:42 +01:00