19fadfd056d3510071c35d60d02a67220406381d
[contrib/mraa.git] / src / mraa.i
1 %rename("%(strip:[MRAA_])s", %$isenumitem) "";
2
3 %include stdint.i
4 %include std_string.i
5 %include exception.i
6
7 #ifdef DOXYGEN
8   //and doesn't seem to work correctly in SWIG's preprocessor
9   #ifdef SWIGPYTHON
10         %include common_hpp_doc.i
11         %include gpio_class_doc.i
12         %include i2c_class_doc.i
13         %include pwm_class_doc.i
14         %include aio_class_doc.i
15         %include spi_class_doc.i
16         %include uart_class_doc.i
17     #endif
18 #endif
19
20 %{
21     #include "common.hpp"
22     #include "gpio.hpp"
23     #include "pwm.hpp"
24     #include "i2c.hpp"
25     #include "spi.hpp"
26     #include "aio.hpp"
27     #include "uart.hpp"
28 %}
29
30 %init %{
31     //Adding mraa_init() to the module initialisation process
32     mraa_init();
33 %}
34
35 %exception {
36     try {
37         $action
38     } catch(const std::invalid_argument& e) {
39         SWIG_exception(SWIG_ValueError, e.what());
40     } catch(...) {
41         SWIG_exception(SWIG_RuntimeError, "Unknown exception");
42     }
43 }
44
45 %include "common.hpp"
46
47 %include "types.h"
48
49 %ignore Gpio::nop(uv_work_t* req);
50 %ignore Gpio::v8isr(uv_work_t* req);
51 %ignore Gpio::v8isr(uv_work_t* req, int status);
52 %ignore Gpio::uvwork(void *ctx);
53
54 %include "gpio.hpp"
55
56 %include "i2c.hpp"
57
58 %include "pwm.hpp"
59
60 %include "spi.hpp"
61
62 %include "aio.hpp"
63
64 %include "uart.hpp"