2018-06-21 16:36:12 +03:00
|
|
|
#ifdef SWIGPYTHON
|
2018-09-27 17:33:40 +03:00
|
|
|
%module (package="upm") pyupm_interfaces
|
2018-06-21 16:36:12 +03:00
|
|
|
#else
|
2018-09-27 17:33:40 +03:00
|
|
|
%module interfaces
|
2018-06-21 16:36:12 +03:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef SWIGJAVA
|
|
|
|
%include <swiginterface.i>
|
2018-08-07 17:12:08 +03:00
|
|
|
%include "typemaps.i"
|
|
|
|
%{
|
|
|
|
#include <vector>
|
|
|
|
%}
|
|
|
|
|
|
|
|
%import "../../src/upm_javastdvector.i"
|
|
|
|
|
|
|
|
%typemap(javaimports) SWIGTYPE %{
|
|
|
|
import java.util.AbstractList;
|
|
|
|
import java.lang.Float;
|
|
|
|
%}
|
|
|
|
|
|
|
|
/* Using the JAVA class types outside the core package requires
|
|
|
|
getCPtr to be public, modify that here */
|
|
|
|
%typemap(javabody) SWIGTYPE %{
|
|
|
|
private long swigCPtr;
|
|
|
|
protected boolean swigCMemOwn;
|
|
|
|
public $javaclassname(long cPtr, boolean cMemoryOwn) {
|
|
|
|
swigCMemOwn = cMemoryOwn;
|
|
|
|
swigCPtr = cPtr;
|
|
|
|
}
|
|
|
|
public static long getCPtr($javaclassname obj) {
|
|
|
|
return (obj == null) ? 0 : obj.swigCPtr;
|
|
|
|
}
|
|
|
|
%}
|
|
|
|
|
|
|
|
%typemap(javaout) std::vector<float> {
|
|
|
|
return (AbstractList<Float>)(new $&javaclassname($jnicall, true));
|
|
|
|
}
|
|
|
|
%typemap(jstype) std::vector<float> "AbstractList<Float>"
|
|
|
|
|
|
|
|
%template(floatVector) std::vector<float>;
|
|
|
|
|
2018-09-27 17:33:40 +03:00
|
|
|
%interface_impl (upm::iAcceleration);
|
|
|
|
%interface_impl (upm::iAngle);
|
|
|
|
%interface_impl (upm::iButton);
|
2018-06-21 16:36:12 +03:00
|
|
|
%interface_impl (upm::iClock);
|
|
|
|
%interface_impl (upm::iCollision);
|
|
|
|
%interface_impl (upm::iDistance);
|
|
|
|
%interface_impl (upm::iDistanceInterrupter);
|
|
|
|
%interface_impl (upm::iEC);
|
2018-09-27 17:33:40 +03:00
|
|
|
%interface_impl (upm::iElectromagnet);
|
|
|
|
%interface_impl (upm::iEmg);
|
2018-10-08 16:43:42 +03:00
|
|
|
%interface_impl (upm::iGas);
|
2018-09-27 17:33:40 +03:00
|
|
|
%interface_impl (upm::iGps);
|
2018-10-02 14:06:17 +03:00
|
|
|
%interface_impl (upm::iGyroscope);
|
2018-06-21 16:36:12 +03:00
|
|
|
%interface_impl (upm::iHallEffect);
|
|
|
|
%interface_impl (upm::iHeartRate);
|
|
|
|
%interface_impl (upm::iHumidity);
|
|
|
|
%interface_impl (upm::iLight);
|
|
|
|
%interface_impl (upm::iLineFinder);
|
2018-10-02 16:49:48 +03:00
|
|
|
%interface_impl (upm::iMagnetometer);
|
2018-06-21 16:36:12 +03:00
|
|
|
%interface_impl (upm::iMoisture);
|
|
|
|
%interface_impl (upm::iMotion);
|
2018-09-27 17:33:40 +03:00
|
|
|
%interface_impl (upm::iOrp);
|
|
|
|
%interface_impl (upm::iPH);
|
2018-06-21 16:36:12 +03:00
|
|
|
%interface_impl (upm::iPressure);
|
2018-09-27 17:33:40 +03:00
|
|
|
%interface_impl (upm::iProximity);
|
2018-06-21 16:36:12 +03:00
|
|
|
%interface_impl (upm::iTemperature);
|
2018-09-27 17:33:40 +03:00
|
|
|
%interface_impl (upm::iVDiv);
|
|
|
|
%interface_impl (upm::iWater);
|
2018-06-21 16:36:12 +03:00
|
|
|
#endif
|
|
|
|
|
|
|
|
%{
|
2018-09-27 17:33:40 +03:00
|
|
|
#include "iAcceleration.hpp"
|
|
|
|
#include "iAngle.hpp"
|
|
|
|
#include "iButton.hpp"
|
2018-06-21 16:36:12 +03:00
|
|
|
#include "iClock.hpp"
|
|
|
|
#include "iCollision.hpp"
|
|
|
|
#include "iDistance.hpp"
|
|
|
|
#include "iDistanceInterrupter.hpp"
|
|
|
|
#include "iEC.hpp"
|
2018-09-27 17:33:40 +03:00
|
|
|
#include "iElectromagnet.hpp"
|
|
|
|
#include "iEmg.hpp"
|
2018-10-08 16:43:42 +03:00
|
|
|
#include "iGas.hpp"
|
2018-09-27 17:33:40 +03:00
|
|
|
#include "iGps.hpp"
|
2018-10-02 14:06:17 +03:00
|
|
|
#include "iGyroscope.hpp"
|
2018-06-21 16:36:12 +03:00
|
|
|
#include "iHallEffect.hpp"
|
|
|
|
#include "iHeartRate.hpp"
|
|
|
|
#include "iHumidity.hpp"
|
|
|
|
#include "iLight.hpp"
|
|
|
|
#include "iLineFinder.hpp"
|
2018-10-02 16:49:48 +03:00
|
|
|
#include "iMagnetometer.hpp"
|
2018-06-21 16:36:12 +03:00
|
|
|
#include "iMoisture.hpp"
|
|
|
|
#include "iMotion.hpp"
|
2018-09-27 17:33:40 +03:00
|
|
|
#include "iOrp.hpp"
|
|
|
|
#include "iPH.hpp"
|
2018-06-21 16:36:12 +03:00
|
|
|
#include "iPressure.hpp"
|
2018-09-27 17:33:40 +03:00
|
|
|
#include "iProximity.hpp"
|
2018-06-21 16:36:12 +03:00
|
|
|
#include "iTemperature.hpp"
|
2018-09-27 17:33:40 +03:00
|
|
|
#include "iVDiv.hpp"
|
|
|
|
#include "iWater.hpp"
|
2018-06-21 16:36:12 +03:00
|
|
|
%}
|
|
|
|
|
2018-09-27 17:33:40 +03:00
|
|
|
%include "iAcceleration.hpp"
|
|
|
|
%include "iAngle.hpp"
|
|
|
|
%include "iButton.hpp"
|
2018-06-21 16:36:12 +03:00
|
|
|
%include "iClock.hpp"
|
|
|
|
%include "iCollision.hpp"
|
|
|
|
%include "iDistance.hpp"
|
|
|
|
%include "iDistanceInterrupter.hpp"
|
|
|
|
%include "iEC.hpp"
|
2018-09-27 17:33:40 +03:00
|
|
|
%include "iElectromagnet.hpp"
|
|
|
|
%include "iEmg.hpp"
|
2018-10-08 16:43:42 +03:00
|
|
|
%include "iGas.hpp"
|
2018-09-27 17:33:40 +03:00
|
|
|
%include "iGps.hpp"
|
2018-10-02 14:06:17 +03:00
|
|
|
%include "iGyroscope.hpp"
|
2018-06-21 16:36:12 +03:00
|
|
|
%include "iHallEffect.hpp"
|
|
|
|
%include "iHeartRate.hpp"
|
|
|
|
%include "iHumidity.hpp"
|
|
|
|
%include "iLight.hpp"
|
|
|
|
%include "iLineFinder.hpp"
|
2018-10-02 16:49:48 +03:00
|
|
|
%include "iMagnetometer.hpp"
|
2018-06-21 16:36:12 +03:00
|
|
|
%include "iMoisture.hpp"
|
|
|
|
%include "iMotion.hpp"
|
2018-09-27 17:33:40 +03:00
|
|
|
%include "iOrp.hpp"
|
|
|
|
%include "iPH.hpp"
|
2018-06-21 16:36:12 +03:00
|
|
|
%include "iPressure.hpp"
|
2018-09-27 17:33:40 +03:00
|
|
|
%include "iProximity.hpp"
|
2018-06-21 16:36:12 +03:00
|
|
|
%include "iTemperature.hpp"
|
2018-09-27 17:33:40 +03:00
|
|
|
%include "iVDiv.hpp"
|
|
|
|
%include "iWater.hpp"
|
2018-06-21 16:36:12 +03:00
|
|
|
|
|
|
|
/* Java-specific SWIG syntax */
|
|
|
|
#ifdef SWIGJAVA
|
|
|
|
%pragma(java) jniclasscode=%{
|
|
|
|
static {
|
|
|
|
try {
|
|
|
|
System.loadLibrary("javaupm_interfaces");
|
|
|
|
} catch (UnsatisfiedLinkError e) {
|
|
|
|
System.err.println("Native code library failed to load. \n" + e);
|
|
|
|
System.exit(1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
%}
|
|
|
|
#endif
|