#include "C_LinkGPIO.h" #include "../LinkGPIO.hpp" extern "C" { C_LinkGPIOHandle C_LinkGPIO_create() { return new LinkGPIO(); } void C_LinkGPIO_destroy(C_LinkGPIOHandle handle) { delete static_cast(handle); } void C_LinkGPIO_reset(C_LinkGPIOHandle handle) { static_cast(handle)->reset(); } void C_LinkGPIO_setMode(C_LinkGPIOHandle handle, C_LinkGPIO_Pin pin, C_LinkGPIO_Direction direction) { static_cast(handle)->setMode( static_cast(pin), static_cast(direction)); } C_LinkGPIO_Direction C_LinkGPIO_getMode(C_LinkGPIOHandle handle, C_LinkGPIO_Pin pin) { return static_cast( static_cast(handle)->getMode(static_cast(pin))); } bool C_LinkGPIO_readPin(C_LinkGPIOHandle handle, C_LinkGPIO_Pin pin) { return static_cast(handle)->readPin( static_cast(pin)); } void C_LinkGPIO_writePin(C_LinkGPIOHandle handle, C_LinkGPIO_Pin pin, bool isHigh) { static_cast(handle)->writePin(static_cast(pin), isHigh); } void C_LinkGPIO_setSIInterrupts(C_LinkGPIOHandle handle, bool isEnabled) { static_cast(handle)->setSIInterrupts(isEnabled); } bool C_LinkGPIO_getSIInterrupts(C_LinkGPIOHandle handle) { return static_cast(handle)->getSIInterrupts(); } }