Commit the C API code

This is LOOT v0.9.2's API, modified to wrap the LOOT C++ API at
5982136f71cd026ecf80a7b6c7b9dd53e0dcb8d5 (the commit may be rebased
out of history, but it's the first iteration of the C++ API with
the Error class exposed).

Changes from the v0.9.2 API include:
* a different header name (c_api.h)
* a different DLL name (loot_c_api.dll)
* loot_cleanliness codes that replace the loot_needs_cleaning codes
* loot_get_tag_map() has been removed
* loot_get_plugin_tags() now returns tags as strings
This commit is contained in:
Oliver Hamlet
2016-08-14 21:50:49 +01:00
parent 344e4bf00f
commit d1cecd9647
24 changed files with 3630 additions and 0 deletions
+16
View File
@@ -0,0 +1,16 @@
LOOT API C Wrapper
==================
A wrapper library for LOOT's C++ API that provides it as a C API.
This library is at a very early stage of development and wraps an API that is itself still a work-in-progress.
## Build Instructions
The library's build system uses [CMake](https://cmake.org/). Most of LOOT's C++ dependencies are managed by CMake, but the following must be obtained manually:
* [Boost](http://www.boost.org/) v1.55+
To build the wrapper, run CMake, and build the generated solution file. Only Windows support has been tested, though Linux builds should also be possible. A `loot_c_api.dll` is produced: this statically links the C++ API, so only one DLL is required.
**Note:** The module is currently built against revision [5982136](https://github.com/loot/loot/tree/5982136f71cd026ecf80a7b6c7b9dd53e0dcb8d5) of the API, which is post-0.9.2 and pre-0.10.0, but uses the v0.10 metadata syntax (as specified at that revision, in case there are further changes before the v0.10 release).