Xcos MVC: remove multiple template instantiation 39/17639/6
Clément DAVID [Wed, 6 Jan 2016 09:28:01 +0000 (10:28 +0100)]
libscicos.so and libscixcos.so previously contained model access.

Change-Id: Idd1e6a1ec60e426683aa805eebcd3981caabfbd5

scilab/modules/scicos/includes/Controller.hxx
scilab/modules/scicos/src/cpp/Controller.cpp
scilab/modules/scicos/src/cpp/var2vec.cpp
scilab/modules/scicos/src/cpp/view_scilab/LinkAdapter.cpp
scilab/modules/scicos/src/cpp/view_scilab/ModelAdapter.cpp
scilab/modules/scicos/src/cpp/view_scilab/ports_management.hxx
scilab/modules/xcos/src/java/org/scilab/modules/xcos/Controller.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/JavaController.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/JavaControllerJNI.java
scilab/modules/xcos/src/jni/JavaController.i
scilab/modules/xcos/src/jni/JavaController_wrap.cxx

index be990de..ee80e65 100644 (file)
@@ -68,33 +68,27 @@ public:
         return static_cast<T*>(getObject(uid));
     }
 
-    template<typename T>
-    bool getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, T& v) const
-    {
-        while (m_instance.onModelStructuralModification.test_and_set(std::memory_order_acquire))  // acquire lock
-            ; // spin
-        bool ret = m_instance.model.getObjectProperty(uid, k, p, v);
-        m_instance.onModelStructuralModification.clear(std::memory_order_release); // unlock
-        return ret;
-    };
-
-    template<typename T>
-    update_status_t setObjectProperty(const ScicosID& uid, kind_t k, object_properties_t p, T v)
-    {
-        while (m_instance.onModelStructuralModification.test_and_set(std::memory_order_acquire))  // acquire lock
-            ; // spin
-        update_status_t status = m_instance.model.setObjectProperty(uid, k, p, v);
-        m_instance.onModelStructuralModification.clear(std::memory_order_release); // unlock
-
-        while (m_instance.onViewsStructuralModification.test_and_set(std::memory_order_acquire))  // acquire lock
-            ; // spin
-        for (view_set_t::iterator iter = m_instance.allViews.begin(); iter != m_instance.allViews.end(); ++iter)
-        {
-            (*iter)->propertyUpdated(uid, k, p, status);
-        }
-        m_instance.onViewsStructuralModification.clear(std::memory_order_release); // unlock
-        return status;
-    }
+    bool getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, double& v) const;
+    bool getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, int& v) const;
+    bool getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, bool& v) const;
+    bool getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, std::string& v) const;
+    bool getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, ScicosID& v) const;
+    bool getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, std::vector<double>& v) const;
+    bool getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, std::vector<int>& v) const;
+    bool getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, std::vector<bool>& v) const;
+    bool getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, std::vector< std::string >& v) const;
+    bool getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, std::vector<ScicosID>& v) const;
+
+    update_status_t setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, double v);
+    update_status_t setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, int v);
+    update_status_t setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, bool v);
+    update_status_t setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, ScicosID v);
+    update_status_t setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, const std::string& v);
+    update_status_t setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, const std::vector<double>& v);
+    update_status_t setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, const std::vector<int>& v);
+    update_status_t setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, const std::vector<bool>& v);
+    update_status_t setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, const std::vector< std::string >& v);
+    update_status_t setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, const std::vector<ScicosID>& v);
 
 private:
 
@@ -129,8 +123,9 @@ private:
      */
 
     ScicosID cloneObject(std::map<ScicosID, ScicosID>& mapped, ScicosID uid, bool cloneChildren, bool clonePorts);
-    template<typename T>
-    void cloneProperties(model::BaseObject* initial, ScicosID clone);
+    template<typename T> void cloneProperties(model::BaseObject* initial, ScicosID clone);
+    template<typename T> bool getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, T& v) const;
+    template<typename T> update_status_t setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, T v);
     void deepClone(std::map<ScicosID, ScicosID>& mapped, ScicosID uid, ScicosID clone, kind_t k, object_properties_t p, bool cloneIfNotFound);
     void deepCloneVector(std::map<ScicosID, ScicosID>& mapped, ScicosID uid, ScicosID clone, kind_t k, object_properties_t p, bool cloneIfNotFound);
     void unlinkVector(ScicosID uid, kind_t k, object_properties_t uid_prop, object_properties_t ref_prop);
index a61121e..5148d83 100644 (file)
@@ -582,7 +582,112 @@ void Controller::sortAndFillKind(std::vector<ScicosID>& uids, std::vector<int>&
     unlock(&m_instance.onModelStructuralModification);
 }
 
+template<typename T>
+bool Controller::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, T& v) const
+{
+    lock(&m_instance.onModelStructuralModification);
+    bool ret = m_instance.model.getObjectProperty(uid, k, p, v);
+    unlock(&m_instance.onModelStructuralModification);
+    return ret;
+}
+
+bool Controller::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, double& v) const
+{
+    return getObjectProperty<>(uid, k, p, v);
+}
+bool Controller::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, int& v) const
+{
+    return getObjectProperty<>(uid, k, p, v);
+}
+bool Controller::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, bool& v) const
+{
+    return getObjectProperty<>(uid, k, p, v);
+}
+bool Controller::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, std::string& v) const
+{
+    return getObjectProperty<>(uid, k, p, v);
+}
+bool Controller::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, ScicosID& v) const
+{
+    return getObjectProperty<>(uid, k, p, v);
+}
+bool Controller::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, std::vector<double>& v) const
+{
+    return getObjectProperty<>(uid, k, p, v);
+}
+bool Controller::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, std::vector<int>& v) const
+{
+    return getObjectProperty<>(uid, k, p, v);
+}
+bool Controller::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, std::vector<bool>& v) const
+{
+    return getObjectProperty<>(uid, k, p, v);
+}
+bool Controller::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, std::vector< std::string >& v) const
+{
+    return getObjectProperty<>(uid, k, p, v);
+}
+bool Controller::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, std::vector<ScicosID>& v) const
+{
+    return getObjectProperty<>(uid, k, p, v);
+}
 
+template<typename T>
+update_status_t Controller::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, T v)
+{
+    lock(&m_instance.onModelStructuralModification);
+    update_status_t status = m_instance.model.setObjectProperty(uid, k, p, v);
+    unlock(&m_instance.onModelStructuralModification);
+
+    lock(&m_instance.onViewsStructuralModification);
+    for (view_set_t::iterator iter = m_instance.allViews.begin(); iter != m_instance.allViews.end(); ++iter)
+    {
+        (*iter)->propertyUpdated(uid, k, p, status);
+    }
+    unlock(&m_instance.onViewsStructuralModification);
+    return status;
+}
+
+update_status_t Controller::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, double v)
+{
+    return setObjectProperty<>(uid, k, p, v);
+}
+update_status_t Controller::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, int v)
+{
+    return setObjectProperty<>(uid, k, p, v);
+}
+update_status_t Controller::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, bool v)
+{
+    return setObjectProperty<>(uid, k, p, v);
+}
+update_status_t Controller::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, ScicosID v)
+{
+    return setObjectProperty<>(uid, k, p, v);
+}
+update_status_t Controller::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, const std::string& v)
+{
+    return setObjectProperty<>(uid, k, p, v);
+}
+update_status_t Controller::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, const std::vector<double>& v)
+{
+    return setObjectProperty<>(uid, k, p, v);
+}
+update_status_t Controller::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, const std::vector<int>& v)
+{
+    return setObjectProperty<>(uid, k, p, v);
+}
+update_status_t Controller::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, const std::vector<bool>& v)
+{
+    return setObjectProperty<>(uid, k, p, v);
+}
+update_status_t Controller::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, const std::vector< std::string >& v)
+{
+    return setObjectProperty<>(uid, k, p, v);
+}
+update_status_t Controller::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, const std::vector<ScicosID>& v)
+{
+    return setObjectProperty<>(uid, k, p, v);
+}
 
 model::BaseObject* Controller::getObject(ScicosID uid) const
 {
@@ -593,3 +698,4 @@ model::BaseObject* Controller::getObject(ScicosID uid) const
 }
 
 } /* namespace org_scilab_modules_scicos */
+
index 381d5d3..2176acf 100644 (file)
@@ -276,7 +276,7 @@ bool var2vec(types::InternalType* in, std::vector<double> &out)
     getVarType(nullptr, (int*) in, &iType);
     switch (iType)
     {
-        // Reuse scicos model encoding for 'model.opar' and 'model.odstate' fields
+            // Reuse scicos model encoding for 'model.opar' and 'model.odstate' fields
         case sci_matrix  :
             encode(in->getAs<types::Double>(), out);
             break;
index 82dc682..303d301 100644 (file)
@@ -638,7 +638,7 @@ void setLinkEnd(const ScicosID id, Controller& controller, const object_properti
         {
             concernedPort = controller.createObject(PORT);
             controller.setObjectProperty(concernedPort, PORT, IMPLICIT, newPortIsImplicit);
-            controller.setObjectProperty(concernedPort, PORT, PORT_KIND, newPortKind);
+            controller.setObjectProperty(concernedPort, PORT, PORT_KIND, static_cast<int>(newPortKind));
             controller.setObjectProperty(concernedPort, PORT, SOURCE_BLOCK, blkID);
             controller.setObjectProperty(concernedPort, PORT, CONNECTED_SIGNALS, unconnected);
             // Set the default dataType so it is saved in the model
index b078360..0d58e89 100644 (file)
@@ -84,7 +84,7 @@ types::InternalType* get_with_vec2var(const ModelAdapter& adaptor, const Control
     return res;
 }
 
-const bool set_with_var2vec(ModelAdapter& adaptor, types::InternalType* v, Controller& controller, object_properties_t p)
+bool set_with_var2vec(ModelAdapter& adaptor, types::InternalType* v, Controller& controller, object_properties_t p)
 {
     ScicosID adaptee = adaptor.getAdaptee()->id();
 
index 9555a73..c23891d 100644 (file)
@@ -757,16 +757,16 @@ bool update_ports_property(const Adaptor& adaptor, const object_properties_t por
             switch (port_kind)
             {
                 case INPUTS:
-                    controller.setObjectProperty(id, PORT, PORT_KIND, PORT_IN);
+                    controller.setObjectProperty(id, PORT, PORT_KIND, static_cast<int>(PORT_IN));
                     break;
                 case OUTPUTS:
-                    controller.setObjectProperty(id, PORT, PORT_KIND, PORT_OUT);
+                    controller.setObjectProperty(id, PORT, PORT_KIND, static_cast<int>(PORT_OUT));
                     break;
                 case EVENT_INPUTS:
-                    controller.setObjectProperty(id, PORT, PORT_KIND, PORT_EIN);
+                    controller.setObjectProperty(id, PORT, PORT_KIND, static_cast<int>(PORT_EIN));
                     break;
                 case EVENT_OUTPUTS:
-                    controller.setObjectProperty(id, PORT, PORT_KIND, PORT_EOUT);
+                    controller.setObjectProperty(id, PORT, PORT_KIND, static_cast<int>(PORT_EOUT));
                     break;
                 default:
                     // should never happen
index 12979b8..fbf70fd 100644 (file)
@@ -72,6 +72,10 @@ public class Controller {
     JavaControllerJNI.Controller_sortAndFillKind(swigCPtr, this, VectorOfScicosID.getCPtr(uids), uids, VectorOfInt.getCPtr(kind), kind);
   }
 
+  public boolean getObjectProperty(long uid, Kind k, ObjectProperties p, double[] v) {
+    return JavaControllerJNI.Controller_getObjectProperty__SWIG_0(swigCPtr, this, uid, k.ordinal(), p.ordinal(), v);
+  }
+
   public boolean getObjectProperty(long uid, Kind k, ObjectProperties p, int[] v) {
     return JavaControllerJNI.Controller_getObjectProperty__SWIG_1(swigCPtr, this, uid, k.ordinal(), p.ordinal(), v);
   }
@@ -80,16 +84,16 @@ public class Controller {
     return JavaControllerJNI.Controller_getObjectProperty__SWIG_2(swigCPtr, this, uid, k.ordinal(), p.ordinal(), v);
   }
 
-  public boolean getObjectProperty(long uid, Kind k, ObjectProperties p, double[] v) {
+  public boolean getObjectProperty(long uid, Kind k, ObjectProperties p, String[] v) {
     return JavaControllerJNI.Controller_getObjectProperty__SWIG_3(swigCPtr, this, uid, k.ordinal(), p.ordinal(), v);
   }
 
-  public boolean getObjectProperty(long uid, Kind k, ObjectProperties p, String[] v) {
+  public boolean getObjectProperty(long uid, Kind k, ObjectProperties p, long[] v) {
     return JavaControllerJNI.Controller_getObjectProperty__SWIG_4(swigCPtr, this, uid, k.ordinal(), p.ordinal(), v);
   }
 
-  public boolean getObjectProperty(long uid, Kind k, ObjectProperties p, long[] v) {
-    return JavaControllerJNI.Controller_getObjectProperty__SWIG_5(swigCPtr, this, uid, k.ordinal(), p.ordinal(), v);
+  public boolean getObjectProperty(long uid, Kind k, ObjectProperties p, VectorOfDouble v) {
+    return JavaControllerJNI.Controller_getObjectProperty__SWIG_5(swigCPtr, this, uid, k.ordinal(), p.ordinal(), VectorOfDouble.getCPtr(v), v);
   }
 
   public boolean getObjectProperty(long uid, Kind k, ObjectProperties p, VectorOfInt v) {
@@ -100,16 +104,16 @@ public class Controller {
     return JavaControllerJNI.Controller_getObjectProperty__SWIG_7(swigCPtr, this, uid, k.ordinal(), p.ordinal(), VectorOfBool.getCPtr(v), v);
   }
 
-  public boolean getObjectProperty(long uid, Kind k, ObjectProperties p, VectorOfDouble v) {
-    return JavaControllerJNI.Controller_getObjectProperty__SWIG_8(swigCPtr, this, uid, k.ordinal(), p.ordinal(), VectorOfDouble.getCPtr(v), v);
-  }
-
   public boolean getObjectProperty(long uid, Kind k, ObjectProperties p, VectorOfString v) {
-    return JavaControllerJNI.Controller_getObjectProperty__SWIG_9(swigCPtr, this, uid, k.ordinal(), p.ordinal(), VectorOfString.getCPtr(v), v);
+    return JavaControllerJNI.Controller_getObjectProperty__SWIG_8(swigCPtr, this, uid, k.ordinal(), p.ordinal(), VectorOfString.getCPtr(v), v);
   }
 
   public boolean getObjectProperty(long uid, Kind k, ObjectProperties p, VectorOfScicosID v) {
-    return JavaControllerJNI.Controller_getObjectProperty__SWIG_10(swigCPtr, this, uid, k.ordinal(), p.ordinal(), VectorOfScicosID.getCPtr(v), v);
+    return JavaControllerJNI.Controller_getObjectProperty__SWIG_9(swigCPtr, this, uid, k.ordinal(), p.ordinal(), VectorOfScicosID.getCPtr(v), v);
+  }
+
+  public UpdateStatus setObjectProperty(long uid, Kind k, ObjectProperties p, double v) {
+    return UpdateStatus.class.getEnumConstants()[JavaControllerJNI.Controller_setObjectProperty__SWIG_0(swigCPtr, this, uid, k.ordinal(), p.ordinal(), v)];
   }
 
   public UpdateStatus setObjectProperty(long uid, Kind k, ObjectProperties p, int v) {
@@ -120,7 +124,7 @@ public class Controller {
     return UpdateStatus.class.getEnumConstants()[JavaControllerJNI.Controller_setObjectProperty__SWIG_2(swigCPtr, this, uid, k.ordinal(), p.ordinal(), v)];
   }
 
-  public UpdateStatus setObjectProperty(long uid, Kind k, ObjectProperties p, double v) {
+  public UpdateStatus setObjectProperty(long uid, Kind k, ObjectProperties p, long v) {
     return UpdateStatus.class.getEnumConstants()[JavaControllerJNI.Controller_setObjectProperty__SWIG_3(swigCPtr, this, uid, k.ordinal(), p.ordinal(), v)];
   }
 
@@ -128,8 +132,8 @@ public class Controller {
     return UpdateStatus.class.getEnumConstants()[JavaControllerJNI.Controller_setObjectProperty__SWIG_4(swigCPtr, this, uid, k.ordinal(), p.ordinal(), v)];
   }
 
-  public UpdateStatus setObjectProperty(long uid, Kind k, ObjectProperties p, long v) {
-    return UpdateStatus.class.getEnumConstants()[JavaControllerJNI.Controller_setObjectProperty__SWIG_5(swigCPtr, this, uid, k.ordinal(), p.ordinal(), v)];
+  public UpdateStatus setObjectProperty(long uid, Kind k, ObjectProperties p, VectorOfDouble v) {
+    return UpdateStatus.class.getEnumConstants()[JavaControllerJNI.Controller_setObjectProperty__SWIG_5(swigCPtr, this, uid, k.ordinal(), p.ordinal(), VectorOfDouble.getCPtr(v), v)];
   }
 
   public UpdateStatus setObjectProperty(long uid, Kind k, ObjectProperties p, VectorOfInt v) {
@@ -140,16 +144,12 @@ public class Controller {
     return UpdateStatus.class.getEnumConstants()[JavaControllerJNI.Controller_setObjectProperty__SWIG_7(swigCPtr, this, uid, k.ordinal(), p.ordinal(), VectorOfBool.getCPtr(v), v)];
   }
 
-  public UpdateStatus setObjectProperty(long uid, Kind k, ObjectProperties p, VectorOfDouble v) {
-    return UpdateStatus.class.getEnumConstants()[JavaControllerJNI.Controller_setObjectProperty__SWIG_8(swigCPtr, this, uid, k.ordinal(), p.ordinal(), VectorOfDouble.getCPtr(v), v)];
-  }
-
   public UpdateStatus setObjectProperty(long uid, Kind k, ObjectProperties p, VectorOfString v) {
-    return UpdateStatus.class.getEnumConstants()[JavaControllerJNI.Controller_setObjectProperty__SWIG_9(swigCPtr, this, uid, k.ordinal(), p.ordinal(), VectorOfString.getCPtr(v), v)];
+    return UpdateStatus.class.getEnumConstants()[JavaControllerJNI.Controller_setObjectProperty__SWIG_8(swigCPtr, this, uid, k.ordinal(), p.ordinal(), VectorOfString.getCPtr(v), v)];
   }
 
   public UpdateStatus setObjectProperty(long uid, Kind k, ObjectProperties p, VectorOfScicosID v) {
-    return UpdateStatus.class.getEnumConstants()[JavaControllerJNI.Controller_setObjectProperty__SWIG_10(swigCPtr, this, uid, k.ordinal(), p.ordinal(), VectorOfScicosID.getCPtr(v), v)];
+    return UpdateStatus.class.getEnumConstants()[JavaControllerJNI.Controller_setObjectProperty__SWIG_9(swigCPtr, this, uid, k.ordinal(), p.ordinal(), VectorOfScicosID.getCPtr(v), v)];
   }
 
 }
index 9e7aec4..d9d64d2 100644 (file)
@@ -38,4 +38,5 @@ public class JavaController extends Controller {
     JavaControllerJNI.unregister_view(View.getCPtr(view), view);
     remove_reference(view);
   }
+
 }
index e6cbb51..5c1de18 100644 (file)
@@ -28,26 +28,26 @@ public class JavaControllerJNI {
   public final static native int Controller_getKind(long jarg1, Controller jarg1_, long jarg2);
   public final static native long Controller_getAll(long jarg1, Controller jarg1_, int jarg2);
   public final static native void Controller_sortAndFillKind(long jarg1, Controller jarg1_, long jarg2, VectorOfScicosID jarg2_, long jarg3, VectorOfInt jarg3_);
+  public final static native boolean Controller_getObjectProperty__SWIG_0(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, double[] jarg5);
   public final static native boolean Controller_getObjectProperty__SWIG_1(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, int[] jarg5);
   public final static native boolean Controller_getObjectProperty__SWIG_2(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, boolean[] jarg5);
-  public final static native boolean Controller_getObjectProperty__SWIG_3(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, double[] jarg5);
-  public final static native boolean Controller_getObjectProperty__SWIG_4(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, String[] jarg5);
-  public final static native boolean Controller_getObjectProperty__SWIG_5(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, long[] jarg5);
+  public final static native boolean Controller_getObjectProperty__SWIG_3(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, String[] jarg5);
+  public final static native boolean Controller_getObjectProperty__SWIG_4(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, long[] jarg5);
+  public final static native boolean Controller_getObjectProperty__SWIG_5(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, long jarg5, VectorOfDouble jarg5_);
   public final static native boolean Controller_getObjectProperty__SWIG_6(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, long jarg5, VectorOfInt jarg5_);
   public final static native boolean Controller_getObjectProperty__SWIG_7(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, long jarg5, VectorOfBool jarg5_);
-  public final static native boolean Controller_getObjectProperty__SWIG_8(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, long jarg5, VectorOfDouble jarg5_);
-  public final static native boolean Controller_getObjectProperty__SWIG_9(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, long jarg5, VectorOfString jarg5_);
-  public final static native boolean Controller_getObjectProperty__SWIG_10(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, long jarg5, VectorOfScicosID jarg5_);
+  public final static native boolean Controller_getObjectProperty__SWIG_8(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, long jarg5, VectorOfString jarg5_);
+  public final static native boolean Controller_getObjectProperty__SWIG_9(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, long jarg5, VectorOfScicosID jarg5_);
+  public final static native int Controller_setObjectProperty__SWIG_0(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, double jarg5);
   public final static native int Controller_setObjectProperty__SWIG_1(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, int jarg5);
   public final static native int Controller_setObjectProperty__SWIG_2(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, boolean jarg5);
-  public final static native int Controller_setObjectProperty__SWIG_3(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, double jarg5);
+  public final static native int Controller_setObjectProperty__SWIG_3(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, long jarg5);
   public final static native int Controller_setObjectProperty__SWIG_4(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, String jarg5);
-  public final static native int Controller_setObjectProperty__SWIG_5(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, long jarg5);
+  public final static native int Controller_setObjectProperty__SWIG_5(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, long jarg5, VectorOfDouble jarg5_);
   public final static native int Controller_setObjectProperty__SWIG_6(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, long jarg5, VectorOfInt jarg5_);
   public final static native int Controller_setObjectProperty__SWIG_7(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, long jarg5, VectorOfBool jarg5_);
-  public final static native int Controller_setObjectProperty__SWIG_8(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, long jarg5, VectorOfDouble jarg5_);
-  public final static native int Controller_setObjectProperty__SWIG_9(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, long jarg5, VectorOfString jarg5_);
-  public final static native int Controller_setObjectProperty__SWIG_10(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, long jarg5, VectorOfScicosID jarg5_);
+  public final static native int Controller_setObjectProperty__SWIG_8(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, long jarg5, VectorOfString jarg5_);
+  public final static native int Controller_setObjectProperty__SWIG_9(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, long jarg5, VectorOfScicosID jarg5_);
   public final static native long new_VectorOfInt__SWIG_0();
   public final static native long new_VectorOfInt__SWIG_1(long jarg1);
   public final static native void VectorOfInt_ensureCapacity(long jarg1, VectorOfInt jarg1_, long jarg2);
index 676f52d..b06da4a 100644 (file)
@@ -192,12 +192,13 @@ namespace std {
  * Custom typemap definition
  */
 
-%typemap(jni) std::string &OUTPUT "jobjectArray"
-%typemap(jtype) std::string &OUTPUT "String[]"
-%typemap(jstype) std::string &OUTPUT "String[]"
-%typemap(javain) std::string &OUTPUT "$javainput"
+// std::string &
+%typemap(jni)           std::string &           "jobjectArray"
+%typemap(jtype)         std::string &           "String[]"
+%typemap(jstype)        std::string &           "String[]"
+%typemap(javain)        std::string &           "$javainput"
 
-%typemap(in) std::string &OUTPUT($*1_ltype temp) {
+%typemap(in) std::string & ($*1_ltype temp) {
   if (!$input) {
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "array null");
     return $null;
@@ -218,6 +219,20 @@ namespace std {
   JCALL3(SetObjectArrayElement, jenv, $input, 0, jnewstring);
 }
 
+// const std::string &
+%typemap(jni)           const std::string &     "jstring"
+%typemap(jtype)         const std::string &     "String"
+%typemap(jstype)        const std::string &     "String"
+%typemap(javain)        const std::string &     "$javainput"
+
+%typemap(in,noblock=1) const std::string & {
+  Swig::JavaString javaString(jenv, $input);
+  *$1 = std::string(javaString.c_str());
+}
+
+%typemap(argout,noblock=1) const std::string & { }
+
+// apply the typemaps to manage outputs arguments
 %apply double &OUTPUT { double &v };
 %apply int &OUTPUT { int &v };
 %apply bool &OUTPUT { bool &v };
@@ -261,29 +276,6 @@ namespace std {
 %ignore org_scilab_modules_scicos::Controller::register_view;
 %include "../scicos/includes/Controller.hxx";
 
-// Instantiate templates mapped to Java
-%template(getObjectProperty) org_scilab_modules_scicos::Controller::getObjectProperty<int>;
-%template(getObjectProperty) org_scilab_modules_scicos::Controller::getObjectProperty<bool>;
-%template(getObjectProperty) org_scilab_modules_scicos::Controller::getObjectProperty<double>;
-%template(getObjectProperty) org_scilab_modules_scicos::Controller::getObjectProperty<std::string>;
-%template(getObjectProperty) org_scilab_modules_scicos::Controller::getObjectProperty<ScicosID>;
-%template(getObjectProperty) org_scilab_modules_scicos::Controller::getObjectProperty< std::vector<int> >;
-%template(getObjectProperty) org_scilab_modules_scicos::Controller::getObjectProperty< std::vector<bool> >;
-%template(getObjectProperty) org_scilab_modules_scicos::Controller::getObjectProperty< std::vector<double> >;
-%template(getObjectProperty) org_scilab_modules_scicos::Controller::getObjectProperty< std::vector<std::string> >;
-%template(getObjectProperty) org_scilab_modules_scicos::Controller::getObjectProperty< std::vector<ScicosID> >;
-
-%template(setObjectProperty) org_scilab_modules_scicos::Controller::setObjectProperty<int>;
-%template(setObjectProperty) org_scilab_modules_scicos::Controller::setObjectProperty<bool>;
-%template(setObjectProperty) org_scilab_modules_scicos::Controller::setObjectProperty<double>;
-%template(setObjectProperty) org_scilab_modules_scicos::Controller::setObjectProperty<std::string>;
-%template(setObjectProperty) org_scilab_modules_scicos::Controller::setObjectProperty<ScicosID>;
-%template(setObjectProperty) org_scilab_modules_scicos::Controller::setObjectProperty< std::vector<int> >;
-%template(setObjectProperty) org_scilab_modules_scicos::Controller::setObjectProperty< std::vector<bool> >;
-%template(setObjectProperty) org_scilab_modules_scicos::Controller::setObjectProperty< std::vector<double> >;
-%template(setObjectProperty) org_scilab_modules_scicos::Controller::setObjectProperty< std::vector<std::string> >;
-%template(setObjectProperty) org_scilab_modules_scicos::Controller::setObjectProperty< std::vector<ScicosID> >;
-
 /*
  * Template instanciation
  */
index 292c57d..c170912 100644 (file)
@@ -1278,17 +1278,11 @@ SWIGEXPORT jlong JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controll
   
   (void)jenv;
   (void)jcls;
-  if(!jarg1) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null string");
-    return 0;
-  }
-  const char *arg1_pstr = (const char *)jenv->GetStringUTFChars(jarg1, 0); 
-  if (!arg1_pstr) return 0;
-  std::string arg1_str(arg1_pstr);
-  arg1 = &arg1_str;
-  jenv->ReleaseStringUTFChars(jarg1, arg1_pstr); 
+  Swig::JavaString javaString(jenv, jarg1);
+  *arg1 = std::string(javaString.c_str());
   result = (org_scilab_modules_scicos::View *)org_scilab_modules_scicos::Controller::look_for_view((std::string const &)*arg1);
   *(org_scilab_modules_scicos::View **)&jresult = result; 
+  
   return jresult;
 }
 
@@ -1442,14 +1436,14 @@ SWIGEXPORT void JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controlle
 }
 
 
-SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1getObjectProperty_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jintArray jarg5) {
+SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1getObjectProperty_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jdoubleArray jarg5) {
   jboolean jresult = 0 ;
   org_scilab_modules_scicos::Controller *arg1 = (org_scilab_modules_scicos::Controller *) 0 ;
   ScicosID arg2 ;
   kind_t arg3 ;
   object_properties_t arg4 ;
-  int *arg5 = 0 ;
-  int temp5 ;
+  double *arg5 = 0 ;
+  double temp5 ;
   bool result;
   
   (void)jenv;
@@ -1468,28 +1462,28 @@ SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Contr
       SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, "Array must contain at least 1 element");
       return 0;
     }
-    temp5 = (int)0;
+    temp5 = (double)0;
     arg5 = &temp5; 
   }
-  result = (bool)((org_scilab_modules_scicos::Controller const *)arg1)->SWIGTEMPLATEDISAMBIGUATOR getObjectProperty< int >(arg2,arg3,arg4,*arg5);
+  result = (bool)((org_scilab_modules_scicos::Controller const *)arg1)->getObjectProperty(arg2,arg3,arg4,*arg5);
   jresult = (jboolean)result; 
   {
-    jint jvalue = (jint)temp5;
-    jenv->SetIntArrayRegion(jarg5, 0, 1, &jvalue);
+    jdouble jvalue = (jdouble)temp5;
+    jenv->SetDoubleArrayRegion(jarg5, 0, 1, &jvalue);
   }
   
   return jresult;
 }
 
 
-SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1getObjectProperty_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jbooleanArray jarg5) {
+SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1getObjectProperty_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jintArray jarg5) {
   jboolean jresult = 0 ;
   org_scilab_modules_scicos::Controller *arg1 = (org_scilab_modules_scicos::Controller *) 0 ;
   ScicosID arg2 ;
   kind_t arg3 ;
   object_properties_t arg4 ;
-  bool *arg5 = 0 ;
-  bool temp5 ;
+  int *arg5 = 0 ;
+  int temp5 ;
   bool result;
   
   (void)jenv;
@@ -1508,28 +1502,28 @@ SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Contr
       SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, "Array must contain at least 1 element");
       return 0;
     }
-    temp5 = false;
+    temp5 = (int)0;
     arg5 = &temp5; 
   }
-  result = (bool)((org_scilab_modules_scicos::Controller const *)arg1)->SWIGTEMPLATEDISAMBIGUATOR getObjectProperty< bool >(arg2,arg3,arg4,*arg5);
+  result = (bool)((org_scilab_modules_scicos::Controller const *)arg1)->getObjectProperty(arg2,arg3,arg4,*arg5);
   jresult = (jboolean)result; 
   {
-    jboolean jvalue = (jboolean)temp5;
-    jenv->SetBooleanArrayRegion(jarg5, 0, 1, &jvalue);
+    jint jvalue = (jint)temp5;
+    jenv->SetIntArrayRegion(jarg5, 0, 1, &jvalue);
   }
   
   return jresult;
 }
 
 
-SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1getObjectProperty_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jdoubleArray jarg5) {
+SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1getObjectProperty_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jbooleanArray jarg5) {
   jboolean jresult = 0 ;
   org_scilab_modules_scicos::Controller *arg1 = (org_scilab_modules_scicos::Controller *) 0 ;
   ScicosID arg2 ;
   kind_t arg3 ;
   object_properties_t arg4 ;
-  double *arg5 = 0 ;
-  double temp5 ;
+  bool *arg5 = 0 ;
+  bool temp5 ;
   bool result;
   
   (void)jenv;
@@ -1548,21 +1542,21 @@ SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Contr
       SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, "Array must contain at least 1 element");
       return 0;
     }
-    temp5 = (double)0;
+    temp5 = false;
     arg5 = &temp5; 
   }
-  result = (bool)((org_scilab_modules_scicos::Controller const *)arg1)->SWIGTEMPLATEDISAMBIGUATOR getObjectProperty< double >(arg2,arg3,arg4,*arg5);
+  result = (bool)((org_scilab_modules_scicos::Controller const *)arg1)->getObjectProperty(arg2,arg3,arg4,*arg5);
   jresult = (jboolean)result; 
   {
-    jdouble jvalue = (jdouble)temp5;
-    jenv->SetDoubleArrayRegion(jarg5, 0, 1, &jvalue);
+    jboolean jvalue = (jboolean)temp5;
+    jenv->SetBooleanArrayRegion(jarg5, 0, 1, &jvalue);
   }
   
   return jresult;
 }
 
 
-SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1getObjectProperty_1_1SWIG_14(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jobjectArray jarg5) {
+SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1getObjectProperty_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jobjectArray jarg5) {
   jboolean jresult = 0 ;
   org_scilab_modules_scicos::Controller *arg1 = (org_scilab_modules_scicos::Controller *) 0 ;
   ScicosID arg2 ;
@@ -1591,7 +1585,7 @@ SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Contr
     arg5 = &temp5;
     *arg5 = "";
   }
-  result = (bool)((org_scilab_modules_scicos::Controller const *)arg1)->SWIGTEMPLATEDISAMBIGUATOR getObjectProperty< std::string >(arg2,arg3,arg4,*arg5);
+  result = (bool)((org_scilab_modules_scicos::Controller const *)arg1)->getObjectProperty(arg2,arg3,arg4,*arg5);
   jresult = (jboolean)result; 
   {
     jstring jnewstring = NULL;
@@ -1604,14 +1598,14 @@ SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Contr
 }
 
 
-SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1getObjectProperty_1_1SWIG_15(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jlongArray jarg5) {
+SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1getObjectProperty_1_1SWIG_14(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jlongArray jarg5) {
   jboolean jresult = 0 ;
   org_scilab_modules_scicos::Controller *arg1 = (org_scilab_modules_scicos::Controller *) 0 ;
   ScicosID arg2 ;
   kind_t arg3 ;
   object_properties_t arg4 ;
-  long long *arg5 = 0 ;
-  long long temp5 ;
+  ScicosID *arg5 = 0 ;
+  ScicosID temp5 ;
   bool result;
   
   (void)jenv;
@@ -1630,10 +1624,10 @@ SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Contr
       SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, "Array must contain at least 1 element");
       return 0;
     }
-    temp5 = (long long)0;
+    temp5 = (ScicosID)0;
     arg5 = &temp5; 
   }
-  result = (bool)((org_scilab_modules_scicos::Controller const *)arg1)->SWIGTEMPLATEDISAMBIGUATOR getObjectProperty< ScicosID >(arg2,arg3,arg4,*arg5);
+  result = (bool)((org_scilab_modules_scicos::Controller const *)arg1)->getObjectProperty(arg2,arg3,arg4,*arg5);
   jresult = (jboolean)result; 
   {
     jlong jvalue = (jlong)temp5;
@@ -1644,13 +1638,13 @@ SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Contr
 }
 
 
-SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1getObjectProperty_1_1SWIG_16(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jlong jarg5, jobject jarg5_) {
+SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1getObjectProperty_1_1SWIG_15(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jlong jarg5, jobject jarg5_) {
   jboolean jresult = 0 ;
   org_scilab_modules_scicos::Controller *arg1 = (org_scilab_modules_scicos::Controller *) 0 ;
   ScicosID arg2 ;
   kind_t arg3 ;
   object_properties_t arg4 ;
-  std::vector< int > *arg5 = 0 ;
+  std::vector< double > *arg5 = 0 ;
   bool result;
   
   (void)jenv;
@@ -1661,24 +1655,24 @@ SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Contr
   arg2 = (ScicosID)jarg2; 
   arg3 = (kind_t)jarg3; 
   arg4 = (object_properties_t)jarg4; 
-  arg5 = *(std::vector< int > **)&jarg5;
+  arg5 = *(std::vector< double > **)&jarg5;
   if (!arg5) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::vector< int > & reference is null");
+    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::vector< double > & reference is null");
     return 0;
   } 
-  result = (bool)((org_scilab_modules_scicos::Controller const *)arg1)->SWIGTEMPLATEDISAMBIGUATOR getObjectProperty< std::vector< int > >(arg2,arg3,arg4,*arg5);
+  result = (bool)((org_scilab_modules_scicos::Controller const *)arg1)->getObjectProperty(arg2,arg3,arg4,*arg5);
   jresult = (jboolean)result; 
   return jresult;
 }
 
 
-SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1getObjectProperty_1_1SWIG_17(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jlong jarg5, jobject jarg5_) {
+SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1getObjectProperty_1_1SWIG_16(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jlong jarg5, jobject jarg5_) {
   jboolean jresult = 0 ;
   org_scilab_modules_scicos::Controller *arg1 = (org_scilab_modules_scicos::Controller *) 0 ;
   ScicosID arg2 ;
   kind_t arg3 ;
   object_properties_t arg4 ;
-  std::vector< bool > *arg5 = 0 ;
+  std::vector< int > *arg5 = 0 ;
   bool result;
   
   (void)jenv;
@@ -1689,24 +1683,24 @@ SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Contr
   arg2 = (ScicosID)jarg2; 
   arg3 = (kind_t)jarg3; 
   arg4 = (object_properties_t)jarg4; 
-  arg5 = *(std::vector< bool > **)&jarg5;
+  arg5 = *(std::vector< int > **)&jarg5;
   if (!arg5) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::vector< bool > & reference is null");
+    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::vector< int > & reference is null");
     return 0;
   } 
-  result = (bool)((org_scilab_modules_scicos::Controller const *)arg1)->SWIGTEMPLATEDISAMBIGUATOR getObjectProperty< std::vector< bool > >(arg2,arg3,arg4,*arg5);
+  result = (bool)((org_scilab_modules_scicos::Controller const *)arg1)->getObjectProperty(arg2,arg3,arg4,*arg5);
   jresult = (jboolean)result; 
   return jresult;
 }
 
 
-SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1getObjectProperty_1_1SWIG_18(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jlong jarg5, jobject jarg5_) {
+SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1getObjectProperty_1_1SWIG_17(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jlong jarg5, jobject jarg5_) {
   jboolean jresult = 0 ;
   org_scilab_modules_scicos::Controller *arg1 = (org_scilab_modules_scicos::Controller *) 0 ;
   ScicosID arg2 ;
   kind_t arg3 ;
   object_properties_t arg4 ;
-  std::vector< double > *arg5 = 0 ;
+  std::vector< bool > *arg5 = 0 ;
   bool result;
   
   (void)jenv;
@@ -1717,18 +1711,18 @@ SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Contr
   arg2 = (ScicosID)jarg2; 
   arg3 = (kind_t)jarg3; 
   arg4 = (object_properties_t)jarg4; 
-  arg5 = *(std::vector< double > **)&jarg5;
+  arg5 = *(std::vector< bool > **)&jarg5;
   if (!arg5) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::vector< double > & reference is null");
+    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::vector< bool > & reference is null");
     return 0;
   } 
-  result = (bool)((org_scilab_modules_scicos::Controller const *)arg1)->SWIGTEMPLATEDISAMBIGUATOR getObjectProperty< std::vector< double > >(arg2,arg3,arg4,*arg5);
+  result = (bool)((org_scilab_modules_scicos::Controller const *)arg1)->getObjectProperty(arg2,arg3,arg4,*arg5);
   jresult = (jboolean)result; 
   return jresult;
 }
 
 
-SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1getObjectProperty_1_1SWIG_19(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jlong jarg5, jobject jarg5_) {
+SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1getObjectProperty_1_1SWIG_18(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jlong jarg5, jobject jarg5_) {
   jboolean jresult = 0 ;
   org_scilab_modules_scicos::Controller *arg1 = (org_scilab_modules_scicos::Controller *) 0 ;
   ScicosID arg2 ;
@@ -1750,19 +1744,19 @@ SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Contr
     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::vector< std::string > & reference is null");
     return 0;
   } 
-  result = (bool)((org_scilab_modules_scicos::Controller const *)arg1)->SWIGTEMPLATEDISAMBIGUATOR getObjectProperty< std::vector< std::string > >(arg2,arg3,arg4,*arg5);
+  result = (bool)((org_scilab_modules_scicos::Controller const *)arg1)->getObjectProperty(arg2,arg3,arg4,*arg5);
   jresult = (jboolean)result; 
   return jresult;
 }
 
 
-SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1getObjectProperty_1_1SWIG_110(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jlong jarg5, jobject jarg5_) {
+SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1getObjectProperty_1_1SWIG_19(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jlong jarg5, jobject jarg5_) {
   jboolean jresult = 0 ;
   org_scilab_modules_scicos::Controller *arg1 = (org_scilab_modules_scicos::Controller *) 0 ;
   ScicosID arg2 ;
   kind_t arg3 ;
   object_properties_t arg4 ;
-  std::vector< long long > *arg5 = 0 ;
+  std::vector< ScicosID > *arg5 = 0 ;
   bool result;
   
   (void)jenv;
@@ -1773,158 +1767,141 @@ SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Contr
   arg2 = (ScicosID)jarg2; 
   arg3 = (kind_t)jarg3; 
   arg4 = (object_properties_t)jarg4; 
-  arg5 = *(std::vector< long long > **)&jarg5;
+  arg5 = *(std::vector< ScicosID > **)&jarg5;
   if (!arg5) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::vector< long long > & reference is null");
+    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::vector< ScicosID > & reference is null");
     return 0;
   } 
-  result = (bool)((org_scilab_modules_scicos::Controller const *)arg1)->SWIGTEMPLATEDISAMBIGUATOR getObjectProperty< std::vector< ScicosID > >(arg2,arg3,arg4,*arg5);
+  result = (bool)((org_scilab_modules_scicos::Controller const *)arg1)->getObjectProperty(arg2,arg3,arg4,*arg5);
   jresult = (jboolean)result; 
   return jresult;
 }
 
 
-SWIGEXPORT jint JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1setObjectProperty_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jint jarg5) {
+SWIGEXPORT jint JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1setObjectProperty_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jdouble jarg5) {
   jint jresult = 0 ;
   org_scilab_modules_scicos::Controller *arg1 = (org_scilab_modules_scicos::Controller *) 0 ;
-  ScicosID *arg2 = 0 ;
+  ScicosID arg2 ;
   kind_t arg3 ;
   object_properties_t arg4 ;
-  int arg5 ;
-  ScicosID temp2 ;
+  double arg5 ;
   update_status_t result;
   
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
   arg1 = *(org_scilab_modules_scicos::Controller **)&jarg1; 
-  temp2 = (ScicosID)jarg2; 
-  arg2 = &temp2; 
+  arg2 = (ScicosID)jarg2; 
   arg3 = (kind_t)jarg3; 
   arg4 = (object_properties_t)jarg4; 
-  arg5 = (int)jarg5; 
-  result = (update_status_t)(arg1)->SWIGTEMPLATEDISAMBIGUATOR setObjectProperty< int >((ScicosID const &)*arg2,arg3,arg4,arg5);
+  arg5 = (double)jarg5; 
+  result = (update_status_t)(arg1)->setObjectProperty(arg2,arg3,arg4,arg5);
   jresult = (jint)result; 
   return jresult;
 }
 
 
-SWIGEXPORT jint JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1setObjectProperty_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jboolean jarg5) {
+SWIGEXPORT jint JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1setObjectProperty_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jint jarg5) {
   jint jresult = 0 ;
   org_scilab_modules_scicos::Controller *arg1 = (org_scilab_modules_scicos::Controller *) 0 ;
-  ScicosID *arg2 = 0 ;
+  ScicosID arg2 ;
   kind_t arg3 ;
   object_properties_t arg4 ;
-  bool arg5 ;
-  ScicosID temp2 ;
+  int arg5 ;
   update_status_t result;
   
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
   arg1 = *(org_scilab_modules_scicos::Controller **)&jarg1; 
-  temp2 = (ScicosID)jarg2; 
-  arg2 = &temp2; 
+  arg2 = (ScicosID)jarg2; 
   arg3 = (kind_t)jarg3; 
   arg4 = (object_properties_t)jarg4; 
-  arg5 = jarg5 ? true : false; 
-  result = (update_status_t)(arg1)->SWIGTEMPLATEDISAMBIGUATOR setObjectProperty< bool >((ScicosID const &)*arg2,arg3,arg4,arg5);
+  arg5 = (int)jarg5; 
+  result = (update_status_t)(arg1)->setObjectProperty(arg2,arg3,arg4,arg5);
   jresult = (jint)result; 
   return jresult;
 }
 
 
-SWIGEXPORT jint JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1setObjectProperty_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jdouble jarg5) {
+SWIGEXPORT jint JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1setObjectProperty_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jboolean jarg5) {
   jint jresult = 0 ;
   org_scilab_modules_scicos::Controller *arg1 = (org_scilab_modules_scicos::Controller *) 0 ;
-  ScicosID *arg2 = 0 ;
+  ScicosID arg2 ;
   kind_t arg3 ;
   object_properties_t arg4 ;
-  double arg5 ;
-  ScicosID temp2 ;
+  bool arg5 ;
   update_status_t result;
   
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
   arg1 = *(org_scilab_modules_scicos::Controller **)&jarg1; 
-  temp2 = (ScicosID)jarg2; 
-  arg2 = &temp2; 
+  arg2 = (ScicosID)jarg2; 
   arg3 = (kind_t)jarg3; 
   arg4 = (object_properties_t)jarg4; 
-  arg5 = (double)jarg5; 
-  result = (update_status_t)(arg1)->SWIGTEMPLATEDISAMBIGUATOR setObjectProperty< double >((ScicosID const &)*arg2,arg3,arg4,arg5);
+  arg5 = jarg5 ? true : false; 
+  result = (update_status_t)(arg1)->setObjectProperty(arg2,arg3,arg4,arg5);
   jresult = (jint)result; 
   return jresult;
 }
 
 
-SWIGEXPORT jint JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1setObjectProperty_1_1SWIG_14(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jstring jarg5) {
+SWIGEXPORT jint JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1setObjectProperty_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jlong jarg5) {
   jint jresult = 0 ;
   org_scilab_modules_scicos::Controller *arg1 = (org_scilab_modules_scicos::Controller *) 0 ;
-  ScicosID *arg2 = 0 ;
+  ScicosID arg2 ;
   kind_t arg3 ;
   object_properties_t arg4 ;
-  std::string arg5 ;
-  ScicosID temp2 ;
+  ScicosID arg5 ;
   update_status_t result;
   
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
   arg1 = *(org_scilab_modules_scicos::Controller **)&jarg1; 
-  temp2 = (ScicosID)jarg2; 
-  arg2 = &temp2; 
+  arg2 = (ScicosID)jarg2; 
   arg3 = (kind_t)jarg3; 
   arg4 = (object_properties_t)jarg4; 
-  if(!jarg5) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null string");
-    return 0;
-  } 
-  const char *arg5_pstr = (const char *)jenv->GetStringUTFChars(jarg5, 0); 
-  if (!arg5_pstr) return 0;
-  (&arg5)->assign(arg5_pstr);
-  jenv->ReleaseStringUTFChars(jarg5, arg5_pstr); 
-  result = (update_status_t)(arg1)->SWIGTEMPLATEDISAMBIGUATOR setObjectProperty< std::string >((ScicosID const &)*arg2,arg3,arg4,arg5);
+  arg5 = (ScicosID)jarg5; 
+  result = (update_status_t)(arg1)->setObjectProperty(arg2,arg3,arg4,arg5);
   jresult = (jint)result; 
   return jresult;
 }
 
 
-SWIGEXPORT jint JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1setObjectProperty_1_1SWIG_15(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jlong jarg5) {
+SWIGEXPORT jint JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1setObjectProperty_1_1SWIG_14(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jstring jarg5) {
   jint jresult = 0 ;
   org_scilab_modules_scicos::Controller *arg1 = (org_scilab_modules_scicos::Controller *) 0 ;
-  ScicosID *arg2 = 0 ;
+  ScicosID arg2 ;
   kind_t arg3 ;
   object_properties_t arg4 ;
-  long long arg5 ;
-  ScicosID temp2 ;
+  std::string *arg5 = 0 ;
   update_status_t result;
   
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
   arg1 = *(org_scilab_modules_scicos::Controller **)&jarg1; 
-  temp2 = (ScicosID)jarg2; 
-  arg2 = &temp2; 
+  arg2 = (ScicosID)jarg2; 
   arg3 = (kind_t)jarg3; 
   arg4 = (object_properties_t)jarg4; 
-  arg5 = (long long)jarg5; 
-  result = (update_status_t)(arg1)->SWIGTEMPLATEDISAMBIGUATOR setObjectProperty< ScicosID >((ScicosID const &)*arg2,arg3,arg4,arg5);
+  Swig::JavaString javaString(jenv, jarg5);
+  *arg5 = std::string(javaString.c_str());
+  result = (update_status_t)(arg1)->setObjectProperty(arg2,arg3,arg4,(std::string const &)*arg5);
   jresult = (jint)result; 
+  
   return jresult;
 }
 
 
-SWIGEXPORT jint JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1setObjectProperty_1_1SWIG_16(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jlong jarg5, jobject jarg5_) {
+SWIGEXPORT jint JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1setObjectProperty_1_1SWIG_15(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jlong jarg5, jobject jarg5_) {
   jint jresult = 0 ;
   org_scilab_modules_scicos::Controller *arg1 = (org_scilab_modules_scicos::Controller *) 0 ;
-  ScicosID *arg2 = 0 ;
+  ScicosID arg2 ;
   kind_t arg3 ;
   object_properties_t arg4 ;
-  std::vector< int > arg5 ;
-  ScicosID temp2 ;
-  std::vector< int > *argp5 ;
+  std::vector< double > *arg5 = 0 ;
   update_status_t result;
   
   (void)jenv;
@@ -1932,31 +1909,27 @@ SWIGEXPORT jint JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controlle
   (void)jarg1_;
   (void)jarg5_;
   arg1 = *(org_scilab_modules_scicos::Controller **)&jarg1; 
-  temp2 = (ScicosID)jarg2; 
-  arg2 = &temp2; 
+  arg2 = (ScicosID)jarg2; 
   arg3 = (kind_t)jarg3; 
   arg4 = (object_properties_t)jarg4; 
-  argp5 = *(std::vector< int > **)&jarg5; 
-  if (!argp5) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null std::vector< int >");
+  arg5 = *(std::vector< double > **)&jarg5;
+  if (!arg5) {
+    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::vector< double > const & reference is null");
     return 0;
-  }
-  arg5 = *argp5; 
-  result = (update_status_t)(arg1)->SWIGTEMPLATEDISAMBIGUATOR setObjectProperty< std::vector< int > >((ScicosID const &)*arg2,arg3,arg4,arg5);
+  } 
+  result = (update_status_t)(arg1)->setObjectProperty(arg2,arg3,arg4,(std::vector< double > const &)*arg5);
   jresult = (jint)result; 
   return jresult;
 }
 
 
-SWIGEXPORT jint JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1setObjectProperty_1_1SWIG_17(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jlong jarg5, jobject jarg5_) {
+SWIGEXPORT jint JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1setObjectProperty_1_1SWIG_16(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jlong jarg5, jobject jarg5_) {
   jint jresult = 0 ;
   org_scilab_modules_scicos::Controller *arg1 = (org_scilab_modules_scicos::Controller *) 0 ;
-  ScicosID *arg2 = 0 ;
+  ScicosID arg2 ;
   kind_t arg3 ;
   object_properties_t arg4 ;
-  std::vector< bool > arg5 ;
-  ScicosID temp2 ;
-  std::vector< bool > *argp5 ;
+  std::vector< int > *arg5 = 0 ;
   update_status_t result;
   
   (void)jenv;
@@ -1964,31 +1937,27 @@ SWIGEXPORT jint JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controlle
   (void)jarg1_;
   (void)jarg5_;
   arg1 = *(org_scilab_modules_scicos::Controller **)&jarg1; 
-  temp2 = (ScicosID)jarg2; 
-  arg2 = &temp2; 
+  arg2 = (ScicosID)jarg2; 
   arg3 = (kind_t)jarg3; 
   arg4 = (object_properties_t)jarg4; 
-  argp5 = *(std::vector< bool > **)&jarg5; 
-  if (!argp5) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null std::vector< bool >");
+  arg5 = *(std::vector< int > **)&jarg5;
+  if (!arg5) {
+    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::vector< int > const & reference is null");
     return 0;
-  }
-  arg5 = *argp5; 
-  result = (update_status_t)(arg1)->SWIGTEMPLATEDISAMBIGUATOR setObjectProperty< std::vector< bool > >((ScicosID const &)*arg2,arg3,arg4,arg5);
+  } 
+  result = (update_status_t)(arg1)->setObjectProperty(arg2,arg3,arg4,(std::vector< int > const &)*arg5);
   jresult = (jint)result; 
   return jresult;
 }
 
 
-SWIGEXPORT jint JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1setObjectProperty_1_1SWIG_18(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jlong jarg5, jobject jarg5_) {
+SWIGEXPORT jint JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1setObjectProperty_1_1SWIG_17(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jlong jarg5, jobject jarg5_) {
   jint jresult = 0 ;
   org_scilab_modules_scicos::Controller *arg1 = (org_scilab_modules_scicos::Controller *) 0 ;
-  ScicosID *arg2 = 0 ;
+  ScicosID arg2 ;
   kind_t arg3 ;
   object_properties_t arg4 ;
-  std::vector< double > arg5 ;
-  ScicosID temp2 ;
-  std::vector< double > *argp5 ;
+  std::vector< bool > *arg5 = 0 ;
   update_status_t result;
   
   (void)jenv;
@@ -1996,31 +1965,27 @@ SWIGEXPORT jint JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controlle
   (void)jarg1_;
   (void)jarg5_;
   arg1 = *(org_scilab_modules_scicos::Controller **)&jarg1; 
-  temp2 = (ScicosID)jarg2; 
-  arg2 = &temp2; 
+  arg2 = (ScicosID)jarg2; 
   arg3 = (kind_t)jarg3; 
   arg4 = (object_properties_t)jarg4; 
-  argp5 = *(std::vector< double > **)&jarg5; 
-  if (!argp5) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null std::vector< double >");
+  arg5 = *(std::vector< bool > **)&jarg5;
+  if (!arg5) {
+    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::vector< bool > const & reference is null");
     return 0;
-  }
-  arg5 = *argp5; 
-  result = (update_status_t)(arg1)->SWIGTEMPLATEDISAMBIGUATOR setObjectProperty< std::vector< double > >((ScicosID const &)*arg2,arg3,arg4,arg5);
+  } 
+  result = (update_status_t)(arg1)->setObjectProperty(arg2,arg3,arg4,(std::vector< bool > const &)*arg5);
   jresult = (jint)result; 
   return jresult;
 }
 
 
-SWIGEXPORT jint JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1setObjectProperty_1_1SWIG_19(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jlong jarg5, jobject jarg5_) {
+SWIGEXPORT jint JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1setObjectProperty_1_1SWIG_18(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jlong jarg5, jobject jarg5_) {
   jint jresult = 0 ;
   org_scilab_modules_scicos::Controller *arg1 = (org_scilab_modules_scicos::Controller *) 0 ;
-  ScicosID *arg2 = 0 ;
+  ScicosID arg2 ;
   kind_t arg3 ;
   object_properties_t arg4 ;
-  std::vector< std::string > arg5 ;
-  ScicosID temp2 ;
-  std::vector< std::string > *argp5 ;
+  std::vector< std::string > *arg5 = 0 ;
   update_status_t result;
   
   (void)jenv;
@@ -2028,31 +1993,27 @@ SWIGEXPORT jint JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controlle
   (void)jarg1_;
   (void)jarg5_;
   arg1 = *(org_scilab_modules_scicos::Controller **)&jarg1; 
-  temp2 = (ScicosID)jarg2; 
-  arg2 = &temp2; 
+  arg2 = (ScicosID)jarg2; 
   arg3 = (kind_t)jarg3; 
   arg4 = (object_properties_t)jarg4; 
-  argp5 = *(std::vector< std::string > **)&jarg5; 
-  if (!argp5) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null std::vector< std::string >");
+  arg5 = *(std::vector< std::string > **)&jarg5;
+  if (!arg5) {
+    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::vector< std::string > const & reference is null");
     return 0;
-  }
-  arg5 = *argp5; 
-  result = (update_status_t)(arg1)->SWIGTEMPLATEDISAMBIGUATOR setObjectProperty< std::vector< std::string > >((ScicosID const &)*arg2,arg3,arg4,arg5);
+  } 
+  result = (update_status_t)(arg1)->setObjectProperty(arg2,arg3,arg4,(std::vector< std::string > const &)*arg5);
   jresult = (jint)result; 
   return jresult;
 }
 
 
-SWIGEXPORT jint JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1setObjectProperty_1_1SWIG_110(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jlong jarg5, jobject jarg5_) {
+SWIGEXPORT jint JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1setObjectProperty_1_1SWIG_19(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jlong jarg5, jobject jarg5_) {
   jint jresult = 0 ;
   org_scilab_modules_scicos::Controller *arg1 = (org_scilab_modules_scicos::Controller *) 0 ;
-  ScicosID *arg2 = 0 ;
+  ScicosID arg2 ;
   kind_t arg3 ;
   object_properties_t arg4 ;
-  std::vector< long long > arg5 ;
-  ScicosID temp2 ;
-  std::vector< long long > *argp5 ;
+  std::vector< ScicosID > *arg5 = 0 ;
   update_status_t result;
   
   (void)jenv;
@@ -2060,17 +2021,15 @@ SWIGEXPORT jint JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controlle
   (void)jarg1_;
   (void)jarg5_;
   arg1 = *(org_scilab_modules_scicos::Controller **)&jarg1; 
-  temp2 = (ScicosID)jarg2; 
-  arg2 = &temp2; 
+  arg2 = (ScicosID)jarg2; 
   arg3 = (kind_t)jarg3; 
   arg4 = (object_properties_t)jarg4; 
-  argp5 = *(std::vector< long long > **)&jarg5; 
-  if (!argp5) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null std::vector< long long >");
+  arg5 = *(std::vector< ScicosID > **)&jarg5;
+  if (!arg5) {
+    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::vector< ScicosID > const & reference is null");
     return 0;
-  }
-  arg5 = *argp5; 
-  result = (update_status_t)(arg1)->SWIGTEMPLATEDISAMBIGUATOR setObjectProperty< std::vector< ScicosID > >((ScicosID const &)*arg2,arg3,arg4,arg5);
+  } 
+  result = (update_status_t)(arg1)->setObjectProperty(arg2,arg3,arg4,(std::vector< ScicosID > const &)*arg5);
   jresult = (jint)result; 
   return jresult;
 }
@@ -2932,16 +2891,10 @@ SWIGEXPORT void JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_VectorOfS
   (void)jcls;
   (void)jarg1_;
   arg1 = *(std::vector< std::string > **)&jarg1; 
-  if(!jarg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null string");
-    return ;
-  }
-  const char *arg2_pstr = (const char *)jenv->GetStringUTFChars(jarg2, 0); 
-  if (!arg2_pstr) return ;
-  std::vector< std::string >::value_type arg2_str(arg2_pstr);
-  arg2 = &arg2_str;
-  jenv->ReleaseStringUTFChars(jarg2, arg2_pstr); 
+  Swig::JavaString javaString(jenv, jarg2);
+  *arg2 = std::string(javaString.c_str());
   (arg1)->push_back((std::vector< std::string >::value_type const &)*arg2);
+  
 }
 
 
@@ -2955,17 +2908,11 @@ SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Vecto
   (void)jcls;
   (void)jarg1_;
   arg1 = *(std::vector< std::string > **)&jarg1; 
-  if(!jarg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null string");
-    return 0;
-  }
-  const char *arg2_pstr = (const char *)jenv->GetStringUTFChars(jarg2, 0); 
-  if (!arg2_pstr) return 0;
-  std::string arg2_str(arg2_pstr);
-  arg2 = &arg2_str;
-  jenv->ReleaseStringUTFChars(jarg2, arg2_pstr); 
+  Swig::JavaString javaString(jenv, jarg2);
+  *arg2 = std::string(javaString.c_str());
   result = (bool)std_vector_Sl_std_string_Sg__contains(arg1,(std::string const &)*arg2);
   jresult = (jboolean)result; 
+  
   return jresult;
 }
 
@@ -2980,17 +2927,11 @@ SWIGEXPORT jint JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_VectorOfS
   (void)jcls;
   (void)jarg1_;
   arg1 = *(std::vector< std::string > **)&jarg1; 
-  if(!jarg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null string");
-    return 0;
-  }
-  const char *arg2_pstr = (const char *)jenv->GetStringUTFChars(jarg2, 0); 
-  if (!arg2_pstr) return 0;
-  std::string arg2_str(arg2_pstr);
-  arg2 = &arg2_str;
-  jenv->ReleaseStringUTFChars(jarg2, arg2_pstr); 
+  Swig::JavaString javaString(jenv, jarg2);
+  *arg2 = std::string(javaString.c_str());
   result = (int)std_vector_Sl_std_string_Sg__indexOf(arg1,(std::string const &)*arg2);
   jresult = (jint)result; 
+  
   return jresult;
 }
 
@@ -3029,15 +2970,8 @@ SWIGEXPORT void JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_VectorOfS
   (void)jarg1_;
   arg1 = *(std::vector< std::string > **)&jarg1; 
   arg2 = (int)jarg2; 
-  if(!jarg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null string");
-    return ;
-  }
-  const char *arg3_pstr = (const char *)jenv->GetStringUTFChars(jarg3, 0); 
-  if (!arg3_pstr) return ;
-  std::vector< std::string >::value_type arg3_str(arg3_pstr);
-  arg3 = &arg3_str;
-  jenv->ReleaseStringUTFChars(jarg3, arg3_pstr); 
+  Swig::JavaString javaString(jenv, jarg3);
+  *arg3 = std::string(javaString.c_str());
   try {
     std_vector_Sl_std_string_Sg__set(arg1,arg2,(std::string const &)*arg3);
   }
@@ -3046,6 +2980,7 @@ SWIGEXPORT void JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_VectorOfS
     return ;
   }
   
+  
 }
 
 
@@ -3059,15 +2994,8 @@ SWIGEXPORT void JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_VectorOfS
   (void)jarg1_;
   arg1 = *(std::vector< std::string > **)&jarg1; 
   arg2 = (int)jarg2; 
-  if(!jarg3) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null string");
-    return ;
-  }
-  const char *arg3_pstr = (const char *)jenv->GetStringUTFChars(jarg3, 0); 
-  if (!arg3_pstr) return ;
-  std::vector< std::string >::value_type arg3_str(arg3_pstr);
-  arg3 = &arg3_str;
-  jenv->ReleaseStringUTFChars(jarg3, arg3_pstr); 
+  Swig::JavaString javaString(jenv, jarg3);
+  *arg3 = std::string(javaString.c_str());
   try {
     std_vector_Sl_std_string_Sg__add__SWIG_1(arg1,arg2,(std::string const &)*arg3);
   }
@@ -3076,6 +3004,7 @@ SWIGEXPORT void JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_VectorOfS
     return ;
   }
   
+  
 }
 
 
@@ -3089,17 +3018,11 @@ SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Vecto
   (void)jcls;
   (void)jarg1_;
   arg1 = *(std::vector< std::string > **)&jarg1; 
-  if(!jarg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null string");
-    return 0;
-  }
-  const char *arg2_pstr = (const char *)jenv->GetStringUTFChars(jarg2, 0); 
-  if (!arg2_pstr) return 0;
-  std::vector< std::string >::value_type arg2_str(arg2_pstr);
-  arg2 = &arg2_str;
-  jenv->ReleaseStringUTFChars(jarg2, arg2_pstr); 
+  Swig::JavaString javaString(jenv, jarg2);
+  *arg2 = std::string(javaString.c_str());
   result = (bool)std_vector_Sl_std_string_Sg__remove(arg1,(std::string const &)*arg2);
   jresult = (jboolean)result; 
+  
   return jresult;
 }
 
@@ -3420,17 +3343,11 @@ SWIGEXPORT void JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_register_
   (void)jenv;
   (void)jcls;
   (void)jarg2_;
-  if(!jarg1) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null string");
-    return ;
-  }
-  const char *arg1_pstr = (const char *)jenv->GetStringUTFChars(jarg1, 0); 
-  if (!arg1_pstr) return ;
-  std::string arg1_str(arg1_pstr);
-  arg1 = &arg1_str;
-  jenv->ReleaseStringUTFChars(jarg1, arg1_pstr); 
+  Swig::JavaString javaString(jenv, jarg1);
+  *arg1 = std::string(javaString.c_str());
   arg2 = *(org_scilab_modules_scicos::View **)&jarg2; 
   register_view((std::string const &)*arg1,arg2);
+  
 }