Xcos MVC: partial implementation of a model. 95/14795/10
Clément DAVID [Tue, 1 Jul 2014 15:22:35 +0000 (17:22 +0200)]
 * Scilab view is implemented through Adaptors
 * A logger view write to Scilab console all events with the update_status

To check: exec modules/scicos/tests/unit_tests/scicos_new.tst

Change-Id: I635a1135f8c425a8ad7b0597b7dd05c72e58d24a

47 files changed:
scilab/modules/ast/Makefile.am
scilab/modules/javasci/Makefile.in
scilab/modules/scicos/Makefile.am
scilab/modules/scicos/Makefile.in
scilab/modules/scicos/includes/gw_scicos.hxx [new file with mode: 0644]
scilab/modules/scicos/includes/utilities.hxx [new file with mode: 0644]
scilab/modules/scicos/sci_gateway/cpp/sci_scicos_new.cpp [new file with mode: 0644]
scilab/modules/scicos/sci_gateway/scicos_gateway.xml
scilab/modules/scicos/src/c/scicos.vcxproj
scilab/modules/scicos/src/c/scicos.vcxproj.filters
scilab/modules/scicos/src/cpp/Controller.cpp [new file with mode: 0644]
scilab/modules/scicos/src/cpp/Controller.hxx [new file with mode: 0644]
scilab/modules/scicos/src/cpp/LoggerView.cpp [new file with mode: 0644]
scilab/modules/scicos/src/cpp/LoggerView.hxx [new file with mode: 0644]
scilab/modules/scicos/src/cpp/Model.cpp [new file with mode: 0644]
scilab/modules/scicos/src/cpp/Model.hxx [new file with mode: 0644]
scilab/modules/scicos/src/cpp/Model_getObjectProperties.cpp [new file with mode: 0644]
scilab/modules/scicos/src/cpp/Model_setObjectProperties.cpp [new file with mode: 0644]
scilab/modules/scicos/src/cpp/View.hxx [new file with mode: 0644]
scilab/modules/scicos/src/cpp/model/Annotation.hxx [new file with mode: 0644]
scilab/modules/scicos/src/cpp/model/BaseObject.hxx [new file with mode: 0644]
scilab/modules/scicos/src/cpp/model/Block.hxx [new file with mode: 0644]
scilab/modules/scicos/src/cpp/model/Diagram.hxx [new file with mode: 0644]
scilab/modules/scicos/src/cpp/model/Link.hxx [new file with mode: 0644]
scilab/modules/scicos/src/cpp/model/Port.hxx [new file with mode: 0644]
scilab/modules/scicos/src/cpp/view_scilab/Adapters.cpp [new file with mode: 0644]
scilab/modules/scicos/src/cpp/view_scilab/Adapters.hxx [new file with mode: 0644]
scilab/modules/scicos/src/cpp/view_scilab/BaseAdapter.hxx [new file with mode: 0644]
scilab/modules/scicos/src/cpp/view_scilab/BlockAdapter.cpp [new file with mode: 0644]
scilab/modules/scicos/src/cpp/view_scilab/BlockAdapter.hxx [new file with mode: 0644]
scilab/modules/scicos/src/cpp/view_scilab/CprAdapter.cpp [new file with mode: 0644]
scilab/modules/scicos/src/cpp/view_scilab/CprAdapter.hxx [new file with mode: 0644]
scilab/modules/scicos/src/cpp/view_scilab/DiagramAdapter.cpp [new file with mode: 0644]
scilab/modules/scicos/src/cpp/view_scilab/DiagramAdapter.hxx [new file with mode: 0644]
scilab/modules/scicos/src/cpp/view_scilab/GraphicsAdapter.cpp [new file with mode: 0644]
scilab/modules/scicos/src/cpp/view_scilab/GraphicsAdapter.hxx [new file with mode: 0644]
scilab/modules/scicos/src/cpp/view_scilab/LinkAdapter.cpp [new file with mode: 0644]
scilab/modules/scicos/src/cpp/view_scilab/LinkAdapter.hxx [new file with mode: 0644]
scilab/modules/scicos/src/cpp/view_scilab/ModelAdapter.cpp [new file with mode: 0644]
scilab/modules/scicos/src/cpp/view_scilab/ModelAdapter.hxx [new file with mode: 0644]
scilab/modules/scicos/src/cpp/view_scilab/ScsAdapter.cpp [new file with mode: 0644]
scilab/modules/scicos/src/cpp/view_scilab/ScsAdapter.hxx [new file with mode: 0644]
scilab/modules/scicos/src/cpp/view_scilab/StateAdapter.cpp [new file with mode: 0644]
scilab/modules/scicos/src/cpp/view_scilab/StateAdapter.hxx [new file with mode: 0644]
scilab/modules/scicos/src/cpp/view_scilab/TextAdapter.cpp [new file with mode: 0644]
scilab/modules/scicos/src/cpp/view_scilab/TextAdapter.hxx [new file with mode: 0644]
scilab/modules/scicos/tests/unit_tests/scicos_new.tst [new file with mode: 0644]

index 964a214..71bbe02 100644 (file)
@@ -47,7 +47,7 @@ libsciast_la_SOURCES = \
     src/c/operations/matrix_finite.c \
     src/c/operations/matrix_addition.c \
     src/c/operations/doublecomplex.c \
-    src/cpp/parse/parser.cpp \  
+    src/cpp/parse/parser.cpp \
     src/cpp/parse/parsescilab.cpp \
     src/cpp/parse/printerror.cpp \
     src/cpp/parse/scanscilab.cpp \
@@ -177,7 +177,7 @@ includes/operations/invert_matrix.h \
 includes/operations/interface_addition.h \
 includes/operations/matrix_multiplication.h \
 includes/operations/matrix_division.h \
-includes/exps/floatexp.hxx \ 
+includes/exps/floatexp.hxx \
 includes/exps/intexp.hxx \
 includes/exps/returnexp.hxx \
 includes/exps/doubleexp.hxx \
index af1c0b5..b3d8a43 100644 (file)
@@ -995,10 +995,10 @@ maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
        @echo "it deletes files that may require special tools to rebuild."
        -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
-@JAVASCI_FALSE@install-data-local:
 @JAVASCI_FALSE@clean-local:
 @JAVASCI_FALSE@distclean-local:
 @JAVASCI_FALSE@install-html-local:
+@JAVASCI_FALSE@install-data-local:
 clean: clean-am
 
 clean-am: clean-generic clean-libtool clean-local \
index 8a392f9..89f9f27 100644 (file)
@@ -13,6 +13,24 @@ DISABLE_HELP_CLEAN=yes
 
 #### Source listing ######
 
+SCICOS_CXX_SOURCES = \
+src/cpp/Controller.cpp \
+src/cpp/LoggerView.cpp \
+src/cpp/Model.cpp \
+src/cpp/Model_getObjectProperties.cpp \
+src/cpp/Model_setObjectProperties.cpp \
+src/cpp/view_scilab/Adapters.cpp \
+src/cpp/view_scilab/BlockAdapter.cpp \
+src/cpp/view_scilab/CprAdapter.cpp \
+src/cpp/view_scilab/DiagramAdapter.cpp \
+src/cpp/view_scilab/GraphicsAdapter.cpp \
+src/cpp/view_scilab/LinkAdapter.cpp \
+src/cpp/view_scilab/ModelAdapter.cpp \
+src/cpp/view_scilab/ScsAdapter.cpp \
+src/cpp/view_scilab/StateAdapter.cpp \
+src/cpp/view_scilab/TextAdapter.cpp
+
+
 SCICOS_C_SOURCES = \
 src/c/scilab5_needed_stubs.c \
 src/c/tree.c \
@@ -50,6 +68,9 @@ src/fortran/scifunc.f
 
 NO_SCICOS_C_SOURCES = src/c/noscicos/noscicos.c
 
+GATEWAY_CXX_SOURCES = \
+sci_gateway/cpp/sci_scicos_new.cpp
+
 GATEWAY_C_SOURCES = sci_gateway/c/gw_scicos.c \
 sci_gateway/c/sci_buildouttb.c \
 sci_gateway/c/sci_callblk.c \
@@ -113,6 +134,10 @@ libsciscicos_la_LDFLAGS = $(AM_LDFLAGS)
 if XCOS
 libsciscicos_algo_la_CPPFLAGS= -I$(srcdir)/includes/ \
                        -I$(srcdir)/src/c/ \
+                       -I$(srcdir)/src/cpp/ \
+                       -I$(srcdir)/src/scicos_sundials/include/ \
+                       -I$(srcdir)/src/scicos_sundials/include/sundials/ \
+                       -I$(srcdir)/src/scicos_sundials/src/ida/ \
                        -I$(top_srcdir)/modules/output_stream/includes/ \
                        -I$(top_srcdir)/modules/dynamic_link/includes/ \
                        -I$(top_srcdir)/modules/string/includes/ \
@@ -122,9 +147,14 @@ libsciscicos_algo_la_CPPFLAGS= -I$(srcdir)/includes/ \
                        -I$(top_srcdir)/modules/action_binding/includes/ \
                        -I$(top_srcdir)/modules/time/includes/ \
                        -I$(top_srcdir)/modules/api_scilab/includes/ \
-                       -I$(top_srcdir)/modules/scicos/src/scicos_sundials/include/ \
-                       -I$(top_srcdir)/modules/scicos/src/scicos_sundials/include/sundials/ \
-                       -I$(top_srcdir)/modules/scicos/src/scicos_sundials/src/ida/ \
+                       -I$(top_srcdir)/modules/types/includes/ \
+                       -I$(top_srcdir)/modules/ast/includes/ast/ \
+                       -I$(top_srcdir)/modules/ast/includes/exps/ \
+                       -I$(top_srcdir)/modules/ast/includes/operations/ \
+                       -I$(top_srcdir)/modules/ast/includes/system_env/ \
+                       -I$(top_srcdir)/modules/ast/includes/types/ \
+                       -I$(top_srcdir)/modules/operations/includes/ \
+                       $(EIGEN_CPPFLAGS) \
                        $(AM_CPPFLAGS)
 else
 libsciscicos_algo_la_CPPFLAGS= -I$(top_srcdir)/modules/output_stream/includes/ \
@@ -136,9 +166,9 @@ libsciscicos_cli_la_CPPFLAGS = $(libsciscicos_algo_la_CPPFLAGS)
 libsciscicos_la_CPPFLAGS = $(libsciscicos_algo_la_CPPFLAGS)
 
 if XCOS
-libsciscicos_algo_la_SOURCES = $(SCICOS_C_SOURCES) $(SCICOS_FORTRAN_SOURCES)
-libsciscicos_cli_la_SOURCES = $(GATEWAY_C_SOURCES) $(GATEWAY_FORTRAN_SOURCES)
-libsciscicos_la_SOURCES = $(GATEWAY_C_SOURCES) $(GATEWAY_FORTRAN_SOURCES)
+libsciscicos_algo_la_SOURCES = $(SCICOS_CXX_SOURCES) $(SCICOS_C_SOURCES) $(SCICOS_FORTRAN_SOURCES)
+libsciscicos_cli_la_SOURCES = $(GATEWAY_CXX_SOURCES) $(GATEWAY_C_SOURCES) $(GATEWAY_FORTRAN_SOURCES)
+libsciscicos_la_SOURCES = $(GATEWAY_CXX_SOURCES) $(GATEWAY_FORTRAN_SOURCES)
 else
 libsciscicos_algo_la_SOURCES = $(NO_SCICOS_C_SOURCES)
 libsciscicos_cli_la_SOURCES =
@@ -256,7 +286,7 @@ libscisundials_la_CFLAGS = -I$(top_srcdir)/modules/scicos/src/scicos_sundials/in
 
 libscisundials_la_SOURCES = $(SUNDIALS_SOURCES)
 
-.NOTPARALLEL: libscisundials.la libsciscicos-algo.la
+#.NOTPARALLEL: libscisundials.la libsciscicos-algo.la
 
 include $(top_srcdir)/Makefile.incl.am
 
index 4fdc5a9..eea39c5 100644 (file)
@@ -202,6 +202,19 @@ LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkglib_LTLIBRARIES)
 am__DEPENDENCIES_1 =
 libsciscicos_algo_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
 am__libsciscicos_algo_la_SOURCES_DIST = src/c/noscicos/noscicos.c \
+       src/cpp/Controller.cpp src/cpp/LoggerView.cpp \
+       src/cpp/Model.cpp src/cpp/Model_getObjectProperties.cpp \
+       src/cpp/Model_setObjectProperties.cpp \
+       src/cpp/view_scilab/Adapters.cpp \
+       src/cpp/view_scilab/BlockAdapter.cpp \
+       src/cpp/view_scilab/CprAdapter.cpp \
+       src/cpp/view_scilab/DiagramAdapter.cpp \
+       src/cpp/view_scilab/GraphicsAdapter.cpp \
+       src/cpp/view_scilab/LinkAdapter.cpp \
+       src/cpp/view_scilab/ModelAdapter.cpp \
+       src/cpp/view_scilab/ScsAdapter.cpp \
+       src/cpp/view_scilab/StateAdapter.cpp \
+       src/cpp/view_scilab/TextAdapter.cpp \
        src/c/scilab5_needed_stubs.c src/c/tree.c \
        src/c/scicos_malloc.c src/c/scicos_print.c src/c/import.c \
        src/c/scicos.c src/c/scicos_free.c src/c/sciblk2.c \
@@ -217,7 +230,22 @@ am__libsciscicos_algo_la_SOURCES_DIST = src/c/noscicos/noscicos.c \
        src/fortran/scitoi.f src/fortran/scifunc.f
 am__dirstamp = $(am__leading_dot)dirstamp
 am__objects_1 = src/c/noscicos/libsciscicos_algo_la-noscicos.lo
-am__objects_2 = src/c/libsciscicos_algo_la-scilab5_needed_stubs.lo \
+am__objects_2 = src/cpp/libsciscicos_algo_la-Controller.lo \
+       src/cpp/libsciscicos_algo_la-LoggerView.lo \
+       src/cpp/libsciscicos_algo_la-Model.lo \
+       src/cpp/libsciscicos_algo_la-Model_getObjectProperties.lo \
+       src/cpp/libsciscicos_algo_la-Model_setObjectProperties.lo \
+       src/cpp/view_scilab/libsciscicos_algo_la-Adapters.lo \
+       src/cpp/view_scilab/libsciscicos_algo_la-BlockAdapter.lo \
+       src/cpp/view_scilab/libsciscicos_algo_la-CprAdapter.lo \
+       src/cpp/view_scilab/libsciscicos_algo_la-DiagramAdapter.lo \
+       src/cpp/view_scilab/libsciscicos_algo_la-GraphicsAdapter.lo \
+       src/cpp/view_scilab/libsciscicos_algo_la-LinkAdapter.lo \
+       src/cpp/view_scilab/libsciscicos_algo_la-ModelAdapter.lo \
+       src/cpp/view_scilab/libsciscicos_algo_la-ScsAdapter.lo \
+       src/cpp/view_scilab/libsciscicos_algo_la-StateAdapter.lo \
+       src/cpp/view_scilab/libsciscicos_algo_la-TextAdapter.lo
+am__objects_3 = src/c/libsciscicos_algo_la-scilab5_needed_stubs.lo \
        src/c/libsciscicos_algo_la-tree.lo \
        src/c/libsciscicos_algo_la-scicos_malloc.lo \
        src/c/libsciscicos_algo_la-scicos_print.lo \
@@ -236,7 +264,7 @@ am__objects_2 = src/c/libsciscicos_algo_la-scilab5_needed_stubs.lo \
        src/c/libsciscicos_algo_la-extractblklist.lo \
        src/c/libsciscicos_algo_la-lsodar.lo \
        src/c/libsciscicos_algo_la-ddaskr.lo
-am__objects_3 = src/fortran/scitovv.lo src/fortran/vvtosci.lo \
+am__objects_4 = src/fortran/scitovv.lo src/fortran/vvtosci.lo \
        src/fortran/skipvars.lo src/fortran/coselm.lo \
        src/fortran/scitod.lo src/fortran/sctree.lo \
        src/fortran/scierr.lo src/fortran/ftree2.lo \
@@ -245,19 +273,20 @@ am__objects_3 = src/fortran/scitovv.lo src/fortran/vvtosci.lo \
        src/fortran/scifunc.lo
 @XCOS_FALSE@am_libsciscicos_algo_la_OBJECTS = $(am__objects_1)
 @XCOS_TRUE@am_libsciscicos_algo_la_OBJECTS = $(am__objects_2) \
-@XCOS_TRUE@    $(am__objects_3)
+@XCOS_TRUE@    $(am__objects_3) $(am__objects_4)
 libsciscicos_algo_la_OBJECTS = $(am_libsciscicos_algo_la_OBJECTS)
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 am__v_lt_1 = 
-libsciscicos_algo_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=F77 \
-       $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(F77LD) \
-       $(AM_FFLAGS) $(FFLAGS) $(libsciscicos_algo_la_LDFLAGS) \
+libsciscicos_algo_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+       $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+       $(AM_CXXFLAGS) $(CXXFLAGS) $(libsciscicos_algo_la_LDFLAGS) \
        $(LDFLAGS) -o $@
 libsciscicos_cli_la_DEPENDENCIES = libsciscicos-algo.la \
        $(am__append_2) $(am__DEPENDENCIES_1)
-am__libsciscicos_cli_la_SOURCES_DIST = sci_gateway/c/gw_scicos.c \
+am__libsciscicos_cli_la_SOURCES_DIST =  \
+       sci_gateway/cpp/sci_scicos_new.cpp sci_gateway/c/gw_scicos.c \
        sci_gateway/c/sci_buildouttb.c sci_gateway/c/sci_callblk.c \
        sci_gateway/c/sci_coserror.c sci_gateway/c/sci_ctree2.c \
        sci_gateway/c/sci_ctree3.c sci_gateway/c/sci_ctree4.c \
@@ -287,7 +316,8 @@ am__libsciscicos_cli_la_SOURCES_DIST = sci_gateway/c/gw_scicos.c \
        sci_gateway/fortran/sci_f_tree4.f \
        sci_gateway/fortran/sci_f_var2vec.f \
        sci_gateway/fortran/sci_f_vec2var.f
-am__objects_4 = sci_gateway/c/libsciscicos_cli_la-gw_scicos.lo \
+am__objects_5 = sci_gateway/cpp/libsciscicos_cli_la-sci_scicos_new.lo
+am__objects_6 = sci_gateway/c/libsciscicos_cli_la-gw_scicos.lo \
        sci_gateway/c/libsciscicos_cli_la-sci_buildouttb.lo \
        sci_gateway/c/libsciscicos_cli_la-sci_callblk.lo \
        sci_gateway/c/libsciscicos_cli_la-sci_coserror.lo \
@@ -320,7 +350,7 @@ am__objects_4 = sci_gateway/c/libsciscicos_cli_la-gw_scicos.lo \
        sci_gateway/c/libsciscicos_cli_la-sci_sig2data.lo \
        sci_gateway/c/libsciscicos_cli_la-sci_var2vec.lo \
        sci_gateway/c/libsciscicos_cli_la-sci_vec2var.lo
-am__objects_5 = sci_gateway/fortran/sci_f_ctree.lo \
+am__objects_7 = sci_gateway/fortran/sci_f_ctree.lo \
        sci_gateway/fortran/sci_f_curblock.lo \
        sci_gateway/fortran/sci_f_debug_count.lo \
        sci_gateway/fortran/sci_f_getblocklabel.lo \
@@ -330,36 +360,17 @@ am__objects_5 = sci_gateway/fortran/sci_f_ctree.lo \
        sci_gateway/fortran/sci_f_tree4.lo \
        sci_gateway/fortran/sci_f_var2vec.lo \
        sci_gateway/fortran/sci_f_vec2var.lo
-@XCOS_TRUE@am_libsciscicos_cli_la_OBJECTS = $(am__objects_4) \
-@XCOS_TRUE@    $(am__objects_5)
+@XCOS_TRUE@am_libsciscicos_cli_la_OBJECTS = $(am__objects_5) \
+@XCOS_TRUE@    $(am__objects_6) $(am__objects_7)
 libsciscicos_cli_la_OBJECTS = $(am_libsciscicos_cli_la_OBJECTS)
-libsciscicos_cli_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=F77 \
-       $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(F77LD) \
-       $(AM_FFLAGS) $(FFLAGS) $(libsciscicos_cli_la_LDFLAGS) \
+libsciscicos_cli_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+       $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+       $(AM_CXXFLAGS) $(CXXFLAGS) $(libsciscicos_cli_la_LDFLAGS) \
        $(LDFLAGS) -o $@
 @XCOS_TRUE@am_libsciscicos_cli_la_rpath = -rpath $(pkglibdir)
 libsciscicos_la_DEPENDENCIES = libsciscicos-algo.la $(am__append_3) \
        $(am__DEPENDENCIES_1)
-am__libsciscicos_la_SOURCES_DIST = sci_gateway/c/gw_scicos.c \
-       sci_gateway/c/sci_buildouttb.c sci_gateway/c/sci_callblk.c \
-       sci_gateway/c/sci_coserror.c sci_gateway/c/sci_ctree2.c \
-       sci_gateway/c/sci_ctree3.c sci_gateway/c/sci_ctree4.c \
-       sci_gateway/c/sci_curblock.c sci_gateway/c/sci_curblockc.c \
-       sci_gateway/c/sci_data2sig.c sci_gateway/c/sci_diffobjs.c \
-       sci_gateway/c/sci_duplicate.c sci_gateway/c/sci_end_scicosim.c \
-       sci_gateway/c/sci_ftree2.c sci_gateway/c/sci_ftree3.c \
-       sci_gateway/c/sci_ftree4.c sci_gateway/c/sci_getblocklabel.c \
-       sci_gateway/c/sci_getscicosvars.c \
-       sci_gateway/c/sci_haltscicos.c sci_gateway/c/sci_loadScicos.c \
-       sci_gateway/c/sci_model2blk.c \
-       sci_gateway/c/sci_phase_simulation.c \
-       sci_gateway/c/sci_pointer_xproperty.c \
-       sci_gateway/c/sci_scicos_debug.c \
-       sci_gateway/c/sci_scicos_debug_count.c \
-       sci_gateway/c/sci_scicosim.c sci_gateway/c/sci_scicos_time.c \
-       sci_gateway/c/sci_sctree.c sci_gateway/c/sci_set_blockerror.c \
-       sci_gateway/c/sci_set_xproperty.c sci_gateway/c/sci_sig2data.c \
-       sci_gateway/c/sci_var2vec.c sci_gateway/c/sci_vec2var.c \
+am__libsciscicos_la_SOURCES_DIST = sci_gateway/cpp/sci_scicos_new.cpp \
        sci_gateway/fortran/sci_f_ctree.f \
        sci_gateway/fortran/sci_f_curblock.f \
        sci_gateway/fortran/sci_f_debug_count.f \
@@ -370,49 +381,17 @@ am__libsciscicos_la_SOURCES_DIST = sci_gateway/c/gw_scicos.c \
        sci_gateway/fortran/sci_f_tree4.f \
        sci_gateway/fortran/sci_f_var2vec.f \
        sci_gateway/fortran/sci_f_vec2var.f
-am__objects_6 = sci_gateway/c/libsciscicos_la-gw_scicos.lo \
-       sci_gateway/c/libsciscicos_la-sci_buildouttb.lo \
-       sci_gateway/c/libsciscicos_la-sci_callblk.lo \
-       sci_gateway/c/libsciscicos_la-sci_coserror.lo \
-       sci_gateway/c/libsciscicos_la-sci_ctree2.lo \
-       sci_gateway/c/libsciscicos_la-sci_ctree3.lo \
-       sci_gateway/c/libsciscicos_la-sci_ctree4.lo \
-       sci_gateway/c/libsciscicos_la-sci_curblock.lo \
-       sci_gateway/c/libsciscicos_la-sci_curblockc.lo \
-       sci_gateway/c/libsciscicos_la-sci_data2sig.lo \
-       sci_gateway/c/libsciscicos_la-sci_diffobjs.lo \
-       sci_gateway/c/libsciscicos_la-sci_duplicate.lo \
-       sci_gateway/c/libsciscicos_la-sci_end_scicosim.lo \
-       sci_gateway/c/libsciscicos_la-sci_ftree2.lo \
-       sci_gateway/c/libsciscicos_la-sci_ftree3.lo \
-       sci_gateway/c/libsciscicos_la-sci_ftree4.lo \
-       sci_gateway/c/libsciscicos_la-sci_getblocklabel.lo \
-       sci_gateway/c/libsciscicos_la-sci_getscicosvars.lo \
-       sci_gateway/c/libsciscicos_la-sci_haltscicos.lo \
-       sci_gateway/c/libsciscicos_la-sci_loadScicos.lo \
-       sci_gateway/c/libsciscicos_la-sci_model2blk.lo \
-       sci_gateway/c/libsciscicos_la-sci_phase_simulation.lo \
-       sci_gateway/c/libsciscicos_la-sci_pointer_xproperty.lo \
-       sci_gateway/c/libsciscicos_la-sci_scicos_debug.lo \
-       sci_gateway/c/libsciscicos_la-sci_scicos_debug_count.lo \
-       sci_gateway/c/libsciscicos_la-sci_scicosim.lo \
-       sci_gateway/c/libsciscicos_la-sci_scicos_time.lo \
-       sci_gateway/c/libsciscicos_la-sci_sctree.lo \
-       sci_gateway/c/libsciscicos_la-sci_set_blockerror.lo \
-       sci_gateway/c/libsciscicos_la-sci_set_xproperty.lo \
-       sci_gateway/c/libsciscicos_la-sci_sig2data.lo \
-       sci_gateway/c/libsciscicos_la-sci_var2vec.lo \
-       sci_gateway/c/libsciscicos_la-sci_vec2var.lo
-@XCOS_TRUE@am_libsciscicos_la_OBJECTS = $(am__objects_6) \
-@XCOS_TRUE@    $(am__objects_5)
+am__objects_8 = sci_gateway/cpp/libsciscicos_la-sci_scicos_new.lo
+@XCOS_TRUE@am_libsciscicos_la_OBJECTS = $(am__objects_8) \
+@XCOS_TRUE@    $(am__objects_7)
 libsciscicos_la_OBJECTS = $(am_libsciscicos_la_OBJECTS)
-libsciscicos_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=F77 \
-       $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(F77LD) \
-       $(AM_FFLAGS) $(FFLAGS) $(libsciscicos_la_LDFLAGS) $(LDFLAGS) \
-       -o $@
+libsciscicos_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+       $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+       $(AM_CXXFLAGS) $(CXXFLAGS) $(libsciscicos_la_LDFLAGS) \
+       $(LDFLAGS) -o $@
 @GUI_TRUE@@XCOS_TRUE@am_libsciscicos_la_rpath = -rpath $(pkglibdir)
 libscisundials_la_LIBADD =
-am__objects_7 =  \
+am__objects_9 =  \
        src/scicos_sundials/src/cvode/libscisundials_la-cvode.lo \
        src/scicos_sundials/src/cvode/libscisundials_la-cvode_dense.lo \
        src/scicos_sundials/src/cvode/libscisundials_la-cvode_direct.lo \
@@ -432,7 +411,7 @@ am__objects_7 =  \
        src/scicos_sundials/src/sundials/libscisundials_la-sundials_math.lo \
        src/scicos_sundials/src/sundials/libscisundials_la-sundials_nvector.lo \
        src/scicos_sundials/src/sundials/libscisundials_la-sundials_extension.lo
-am_libscisundials_la_OBJECTS = $(am__objects_7)
+am_libscisundials_la_OBJECTS = $(am__objects_9)
 libscisundials_la_OBJECTS = $(am_libscisundials_la_OBJECTS)
 libscisundials_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
        $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
@@ -451,8 +430,8 @@ am__XML2Modelica_SOURCES_DIST = $(srcdir)/src/xml2modelica/xMLTree.ml \
        $(srcdir)/src/xml2modelica/xMLLexer.ml \
        $(srcdir)/src/xml2modelica/modelicaCodeGenerator.ml \
        $(srcdir)/src/xml2modelica/xML2Modelica.ml
-am__objects_8 =
-@OCAML_TRUE@@XCOS_TRUE@am_XML2Modelica_OBJECTS = $(am__objects_8)
+am__objects_10 =
+@OCAML_TRUE@@XCOS_TRUE@am_XML2Modelica_OBJECTS = $(am__objects_10)
 XML2Modelica_OBJECTS = $(am_XML2Modelica_OBJECTS)
 XML2Modelica_LDADD = $(LDADD)
 am__modelicac_SOURCES_DIST =  \
@@ -529,6 +508,24 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@)
 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD    " $@;
 am__v_CCLD_1 = 
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+       $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+       $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+       $(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_@AM_V@)
+am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
+am__v_CXX_0 = @echo "  CXX     " $@;
+am__v_CXX_1 = 
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+       $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+       $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
+am__v_CXXLD_0 = @echo "  CXXLD   " $@;
+am__v_CXXLD_1 = 
 F77COMPILE = $(F77) $(AM_FFLAGS) $(FFLAGS)
 LTF77COMPILE = $(LIBTOOL) $(AM_V_lt) --tag=F77 $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS)
@@ -872,6 +869,23 @@ modulename = scicos
 DISABLE_HELP_CLEAN = yes
 
 #### Source listing ######
+SCICOS_CXX_SOURCES = \
+src/cpp/Controller.cpp \
+src/cpp/LoggerView.cpp \
+src/cpp/Model.cpp \
+src/cpp/Model_getObjectProperties.cpp \
+src/cpp/Model_setObjectProperties.cpp \
+src/cpp/view_scilab/Adapters.cpp \
+src/cpp/view_scilab/BlockAdapter.cpp \
+src/cpp/view_scilab/CprAdapter.cpp \
+src/cpp/view_scilab/DiagramAdapter.cpp \
+src/cpp/view_scilab/GraphicsAdapter.cpp \
+src/cpp/view_scilab/LinkAdapter.cpp \
+src/cpp/view_scilab/ModelAdapter.cpp \
+src/cpp/view_scilab/ScsAdapter.cpp \
+src/cpp/view_scilab/StateAdapter.cpp \
+src/cpp/view_scilab/TextAdapter.cpp
+
 SCICOS_C_SOURCES = \
 src/c/scilab5_needed_stubs.c \
 src/c/tree.c \
@@ -908,6 +922,9 @@ src/fortran/scitoi.f \
 src/fortran/scifunc.f
 
 NO_SCICOS_C_SOURCES = src/c/noscicos/noscicos.c
+GATEWAY_CXX_SOURCES = \
+sci_gateway/cpp/sci_scicos_new.cpp
+
 GATEWAY_C_SOURCES = sci_gateway/c/gw_scicos.c \
 sci_gateway/c/sci_buildouttb.c \
 sci_gateway/c/sci_callblk.c \
@@ -968,6 +985,10 @@ libsciscicos_la_LDFLAGS = $(AM_LDFLAGS)
 
 @XCOS_TRUE@libsciscicos_algo_la_CPPFLAGS = -I$(srcdir)/includes/ \
 @XCOS_TRUE@                    -I$(srcdir)/src/c/ \
+@XCOS_TRUE@                    -I$(srcdir)/src/cpp/ \
+@XCOS_TRUE@                    -I$(srcdir)/src/scicos_sundials/include/ \
+@XCOS_TRUE@                    -I$(srcdir)/src/scicos_sundials/include/sundials/ \
+@XCOS_TRUE@                    -I$(srcdir)/src/scicos_sundials/src/ida/ \
 @XCOS_TRUE@                    -I$(top_srcdir)/modules/output_stream/includes/ \
 @XCOS_TRUE@                    -I$(top_srcdir)/modules/dynamic_link/includes/ \
 @XCOS_TRUE@                    -I$(top_srcdir)/modules/string/includes/ \
@@ -977,19 +998,24 @@ libsciscicos_la_LDFLAGS = $(AM_LDFLAGS)
 @XCOS_TRUE@                    -I$(top_srcdir)/modules/action_binding/includes/ \
 @XCOS_TRUE@                    -I$(top_srcdir)/modules/time/includes/ \
 @XCOS_TRUE@                    -I$(top_srcdir)/modules/api_scilab/includes/ \
-@XCOS_TRUE@                    -I$(top_srcdir)/modules/scicos/src/scicos_sundials/include/ \
-@XCOS_TRUE@                    -I$(top_srcdir)/modules/scicos/src/scicos_sundials/include/sundials/ \
-@XCOS_TRUE@                    -I$(top_srcdir)/modules/scicos/src/scicos_sundials/src/ida/ \
+@XCOS_TRUE@                    -I$(top_srcdir)/modules/types/includes/ \
+@XCOS_TRUE@                    -I$(top_srcdir)/modules/ast/includes/ast/ \
+@XCOS_TRUE@                    -I$(top_srcdir)/modules/ast/includes/exps/ \
+@XCOS_TRUE@                    -I$(top_srcdir)/modules/ast/includes/operations/ \
+@XCOS_TRUE@                    -I$(top_srcdir)/modules/ast/includes/system_env/ \
+@XCOS_TRUE@                    -I$(top_srcdir)/modules/ast/includes/types/ \
+@XCOS_TRUE@                    -I$(top_srcdir)/modules/operations/includes/ \
+@XCOS_TRUE@                    $(EIGEN_CPPFLAGS) \
 @XCOS_TRUE@                    $(AM_CPPFLAGS)
 
 libsciscicos_cli_la_CPPFLAGS = $(libsciscicos_algo_la_CPPFLAGS)
 libsciscicos_la_CPPFLAGS = $(libsciscicos_algo_la_CPPFLAGS)
 @XCOS_FALSE@libsciscicos_algo_la_SOURCES = $(NO_SCICOS_C_SOURCES)
-@XCOS_TRUE@libsciscicos_algo_la_SOURCES = $(SCICOS_C_SOURCES) $(SCICOS_FORTRAN_SOURCES)
+@XCOS_TRUE@libsciscicos_algo_la_SOURCES = $(SCICOS_CXX_SOURCES) $(SCICOS_C_SOURCES) $(SCICOS_FORTRAN_SOURCES)
 @XCOS_FALSE@libsciscicos_cli_la_SOURCES = 
-@XCOS_TRUE@libsciscicos_cli_la_SOURCES = $(GATEWAY_C_SOURCES) $(GATEWAY_FORTRAN_SOURCES)
+@XCOS_TRUE@libsciscicos_cli_la_SOURCES = $(GATEWAY_CXX_SOURCES) $(GATEWAY_C_SOURCES) $(GATEWAY_FORTRAN_SOURCES)
 @XCOS_FALSE@libsciscicos_la_SOURCES = 
-@XCOS_TRUE@libsciscicos_la_SOURCES = $(GATEWAY_C_SOURCES) $(GATEWAY_FORTRAN_SOURCES)
+@XCOS_TRUE@libsciscicos_la_SOURCES = $(GATEWAY_CXX_SOURCES) $(GATEWAY_FORTRAN_SOURCES)
 libsciscicos_algo_la_LIBADD = $(RT_LIB)
 libsciscicos_cli_la_LIBADD = libsciscicos-algo.la $(am__append_2) \
        $(RT_LIB)
@@ -1269,7 +1295,7 @@ HELP_CHAPTERLANG = en_US fr_FR pt_BR
 all: all-am
 
 .SUFFIXES:
-.SUFFIXES: .sci .ml .mli .mll .mly .cmo .cmi .cmx .bin .c .f .lo .o .obj
+.SUFFIXES: .sci .ml .mli .mll .mly .cmo .cmi .cmx .bin .c .cpp .f .lo .o .obj
 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.incl.am $(srcdir)/Makefile.modelica.am $(srcdir)/.depend $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
@@ -1356,6 +1382,58 @@ src/c/noscicos/$(DEPDIR)/$(am__dirstamp):
 src/c/noscicos/libsciscicos_algo_la-noscicos.lo:  \
        src/c/noscicos/$(am__dirstamp) \
        src/c/noscicos/$(DEPDIR)/$(am__dirstamp)
+src/cpp/$(am__dirstamp):
+       @$(MKDIR_P) src/cpp
+       @: > src/cpp/$(am__dirstamp)
+src/cpp/$(DEPDIR)/$(am__dirstamp):
+       @$(MKDIR_P) src/cpp/$(DEPDIR)
+       @: > src/cpp/$(DEPDIR)/$(am__dirstamp)
+src/cpp/libsciscicos_algo_la-Controller.lo: src/cpp/$(am__dirstamp) \
+       src/cpp/$(DEPDIR)/$(am__dirstamp)
+src/cpp/libsciscicos_algo_la-LoggerView.lo: src/cpp/$(am__dirstamp) \
+       src/cpp/$(DEPDIR)/$(am__dirstamp)
+src/cpp/libsciscicos_algo_la-Model.lo: src/cpp/$(am__dirstamp) \
+       src/cpp/$(DEPDIR)/$(am__dirstamp)
+src/cpp/libsciscicos_algo_la-Model_getObjectProperties.lo:  \
+       src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp)
+src/cpp/libsciscicos_algo_la-Model_setObjectProperties.lo:  \
+       src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp)
+src/cpp/view_scilab/$(am__dirstamp):
+       @$(MKDIR_P) src/cpp/view_scilab
+       @: > src/cpp/view_scilab/$(am__dirstamp)
+src/cpp/view_scilab/$(DEPDIR)/$(am__dirstamp):
+       @$(MKDIR_P) src/cpp/view_scilab/$(DEPDIR)
+       @: > src/cpp/view_scilab/$(DEPDIR)/$(am__dirstamp)
+src/cpp/view_scilab/libsciscicos_algo_la-Adapters.lo:  \
+       src/cpp/view_scilab/$(am__dirstamp) \
+       src/cpp/view_scilab/$(DEPDIR)/$(am__dirstamp)
+src/cpp/view_scilab/libsciscicos_algo_la-BlockAdapter.lo:  \
+       src/cpp/view_scilab/$(am__dirstamp) \
+       src/cpp/view_scilab/$(DEPDIR)/$(am__dirstamp)
+src/cpp/view_scilab/libsciscicos_algo_la-CprAdapter.lo:  \
+       src/cpp/view_scilab/$(am__dirstamp) \
+       src/cpp/view_scilab/$(DEPDIR)/$(am__dirstamp)
+src/cpp/view_scilab/libsciscicos_algo_la-DiagramAdapter.lo:  \
+       src/cpp/view_scilab/$(am__dirstamp) \
+       src/cpp/view_scilab/$(DEPDIR)/$(am__dirstamp)
+src/cpp/view_scilab/libsciscicos_algo_la-GraphicsAdapter.lo:  \
+       src/cpp/view_scilab/$(am__dirstamp) \
+       src/cpp/view_scilab/$(DEPDIR)/$(am__dirstamp)
+src/cpp/view_scilab/libsciscicos_algo_la-LinkAdapter.lo:  \
+       src/cpp/view_scilab/$(am__dirstamp) \
+       src/cpp/view_scilab/$(DEPDIR)/$(am__dirstamp)
+src/cpp/view_scilab/libsciscicos_algo_la-ModelAdapter.lo:  \
+       src/cpp/view_scilab/$(am__dirstamp) \
+       src/cpp/view_scilab/$(DEPDIR)/$(am__dirstamp)
+src/cpp/view_scilab/libsciscicos_algo_la-ScsAdapter.lo:  \
+       src/cpp/view_scilab/$(am__dirstamp) \
+       src/cpp/view_scilab/$(DEPDIR)/$(am__dirstamp)
+src/cpp/view_scilab/libsciscicos_algo_la-StateAdapter.lo:  \
+       src/cpp/view_scilab/$(am__dirstamp) \
+       src/cpp/view_scilab/$(DEPDIR)/$(am__dirstamp)
+src/cpp/view_scilab/libsciscicos_algo_la-TextAdapter.lo:  \
+       src/cpp/view_scilab/$(am__dirstamp) \
+       src/cpp/view_scilab/$(DEPDIR)/$(am__dirstamp)
 src/c/$(am__dirstamp):
        @$(MKDIR_P) src/c
        @: > src/c/$(am__dirstamp)
@@ -1434,7 +1512,16 @@ src/fortran/scifunc.lo: src/fortran/$(am__dirstamp) \
        src/fortran/$(DEPDIR)/$(am__dirstamp)
 
 libsciscicos-algo.la: $(libsciscicos_algo_la_OBJECTS) $(libsciscicos_algo_la_DEPENDENCIES) $(EXTRA_libsciscicos_algo_la_DEPENDENCIES) 
-       $(AM_V_F77LD)$(libsciscicos_algo_la_LINK)  $(libsciscicos_algo_la_OBJECTS) $(libsciscicos_algo_la_LIBADD) $(LIBS)
+       $(AM_V_CXXLD)$(libsciscicos_algo_la_LINK)  $(libsciscicos_algo_la_OBJECTS) $(libsciscicos_algo_la_LIBADD) $(LIBS)
+sci_gateway/cpp/$(am__dirstamp):
+       @$(MKDIR_P) sci_gateway/cpp
+       @: > sci_gateway/cpp/$(am__dirstamp)
+sci_gateway/cpp/$(DEPDIR)/$(am__dirstamp):
+       @$(MKDIR_P) sci_gateway/cpp/$(DEPDIR)
+       @: > sci_gateway/cpp/$(DEPDIR)/$(am__dirstamp)
+sci_gateway/cpp/libsciscicos_cli_la-sci_scicos_new.lo:  \
+       sci_gateway/cpp/$(am__dirstamp) \
+       sci_gateway/cpp/$(DEPDIR)/$(am__dirstamp)
 sci_gateway/c/$(am__dirstamp):
        @$(MKDIR_P) sci_gateway/c
        @: > sci_gateway/c/$(am__dirstamp)
@@ -1578,109 +1665,13 @@ sci_gateway/fortran/sci_f_vec2var.lo:  \
        sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
 
 libsciscicos-cli.la: $(libsciscicos_cli_la_OBJECTS) $(libsciscicos_cli_la_DEPENDENCIES) $(EXTRA_libsciscicos_cli_la_DEPENDENCIES) 
-       $(AM_V_F77LD)$(libsciscicos_cli_la_LINK) $(am_libsciscicos_cli_la_rpath) $(libsciscicos_cli_la_OBJECTS) $(libsciscicos_cli_la_LIBADD) $(LIBS)
-sci_gateway/c/libsciscicos_la-gw_scicos.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_buildouttb.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_callblk.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_coserror.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_ctree2.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_ctree3.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_ctree4.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_curblock.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_curblockc.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_data2sig.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_diffobjs.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_duplicate.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_end_scicosim.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_ftree2.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_ftree3.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_ftree4.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_getblocklabel.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_getscicosvars.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_haltscicos.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_loadScicos.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_model2blk.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_phase_simulation.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_pointer_xproperty.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_scicos_debug.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_scicos_debug_count.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_scicosim.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_scicos_time.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_sctree.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_set_blockerror.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_set_xproperty.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_sig2data.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_var2vec.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
-sci_gateway/c/libsciscicos_la-sci_vec2var.lo:  \
-       sci_gateway/c/$(am__dirstamp) \
-       sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
+       $(AM_V_CXXLD)$(libsciscicos_cli_la_LINK) $(am_libsciscicos_cli_la_rpath) $(libsciscicos_cli_la_OBJECTS) $(libsciscicos_cli_la_LIBADD) $(LIBS)
+sci_gateway/cpp/libsciscicos_la-sci_scicos_new.lo:  \
+       sci_gateway/cpp/$(am__dirstamp) \
+       sci_gateway/cpp/$(DEPDIR)/$(am__dirstamp)
 
 libsciscicos.la: $(libsciscicos_la_OBJECTS) $(libsciscicos_la_DEPENDENCIES) $(EXTRA_libsciscicos_la_DEPENDENCIES) 
-       $(AM_V_F77LD)$(libsciscicos_la_LINK) $(am_libsciscicos_la_rpath) $(libsciscicos_la_OBJECTS) $(libsciscicos_la_LIBADD) $(LIBS)
+       $(AM_V_CXXLD)$(libsciscicos_la_LINK) $(am_libsciscicos_la_rpath) $(libsciscicos_la_OBJECTS) $(libsciscicos_la_LIBADD) $(LIBS)
 src/scicos_sundials/src/cvode/$(am__dirstamp):
        @$(MKDIR_P) src/scicos_sundials/src/cvode
        @: > src/scicos_sundials/src/cvode/$(am__dirstamp)
@@ -1849,12 +1840,18 @@ mostlyclean-compile:
        -rm -f *.$(OBJEXT)
        -rm -f sci_gateway/c/*.$(OBJEXT)
        -rm -f sci_gateway/c/*.lo
+       -rm -f sci_gateway/cpp/*.$(OBJEXT)
+       -rm -f sci_gateway/cpp/*.lo
        -rm -f sci_gateway/fortran/*.$(OBJEXT)
        -rm -f sci_gateway/fortran/*.lo
        -rm -f src/c/*.$(OBJEXT)
        -rm -f src/c/*.lo
        -rm -f src/c/noscicos/*.$(OBJEXT)
        -rm -f src/c/noscicos/*.lo
+       -rm -f src/cpp/*.$(OBJEXT)
+       -rm -f src/cpp/*.lo
+       -rm -f src/cpp/view_scilab/*.$(OBJEXT)
+       -rm -f src/cpp/view_scilab/*.lo
        -rm -f src/fortran/*.$(OBJEXT)
        -rm -f src/fortran/*.lo
        -rm -f src/scicos_sundials/src/cvode/*.$(OBJEXT)
@@ -1904,39 +1901,8 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_cli_la-sci_sig2data.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_cli_la-sci_var2vec.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_cli_la-sci_vec2var.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-gw_scicos.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_buildouttb.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_callblk.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_coserror.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_ctree2.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_ctree3.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_ctree4.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_curblock.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_curblockc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_data2sig.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_diffobjs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_duplicate.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_end_scicosim.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_ftree2.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_ftree3.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_ftree4.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_getblocklabel.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_getscicosvars.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_haltscicos.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_loadScicos.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_model2blk.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_phase_simulation.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_pointer_xproperty.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_scicos_debug.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_scicos_debug_count.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_scicos_time.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_scicosim.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_sctree.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_set_blockerror.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_set_xproperty.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_sig2data.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_var2vec.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_vec2var.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/cpp/$(DEPDIR)/libsciscicos_cli_la-sci_scicos_new.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/cpp/$(DEPDIR)/libsciscicos_la-sci_scicos_new.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libsciscicos_algo_la-MlistGetFieldNumber.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libsciscicos_algo_la-copyvarfromlistentry.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libsciscicos_algo_la-createblklist.Plo@am__quote@
@@ -1957,6 +1923,21 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libsciscicos_algo_la-tree.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libsciscicos_algo_la-var2sci.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/c/noscicos/$(DEPDIR)/libsciscicos_algo_la-noscicos.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciscicos_algo_la-Controller.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciscicos_algo_la-LoggerView.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciscicos_algo_la-Model.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciscicos_algo_la-Model_getObjectProperties.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libsciscicos_algo_la-Model_setObjectProperties.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-Adapters.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-BlockAdapter.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-CprAdapter.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-DiagramAdapter.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-GraphicsAdapter.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-LinkAdapter.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-ModelAdapter.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-ScsAdapter.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-StateAdapter.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-TextAdapter.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/scicos_sundials/src/cvode/$(DEPDIR)/libscisundials_la-cvode.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/scicos_sundials/src/cvode/$(DEPDIR)/libscisundials_la-cvode_dense.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/scicos_sundials/src/cvode/$(DEPDIR)/libscisundials_la-cvode_direct.Plo@am__quote@
@@ -2372,237 +2353,6 @@ sci_gateway/c/libsciscicos_cli_la-sci_vec2var.lo: sci_gateway/c/sci_vec2var.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_cli_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_cli_la-sci_vec2var.lo `test -f 'sci_gateway/c/sci_vec2var.c' || echo '$(srcdir)/'`sci_gateway/c/sci_vec2var.c
 
-sci_gateway/c/libsciscicos_la-gw_scicos.lo: sci_gateway/c/gw_scicos.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-gw_scicos.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-gw_scicos.Tpo -c -o sci_gateway/c/libsciscicos_la-gw_scicos.lo `test -f 'sci_gateway/c/gw_scicos.c' || echo '$(srcdir)/'`sci_gateway/c/gw_scicos.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-gw_scicos.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-gw_scicos.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/gw_scicos.c' object='sci_gateway/c/libsciscicos_la-gw_scicos.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-gw_scicos.lo `test -f 'sci_gateway/c/gw_scicos.c' || echo '$(srcdir)/'`sci_gateway/c/gw_scicos.c
-
-sci_gateway/c/libsciscicos_la-sci_buildouttb.lo: sci_gateway/c/sci_buildouttb.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_buildouttb.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_buildouttb.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_buildouttb.lo `test -f 'sci_gateway/c/sci_buildouttb.c' || echo '$(srcdir)/'`sci_gateway/c/sci_buildouttb.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_buildouttb.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_buildouttb.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_buildouttb.c' object='sci_gateway/c/libsciscicos_la-sci_buildouttb.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_buildouttb.lo `test -f 'sci_gateway/c/sci_buildouttb.c' || echo '$(srcdir)/'`sci_gateway/c/sci_buildouttb.c
-
-sci_gateway/c/libsciscicos_la-sci_callblk.lo: sci_gateway/c/sci_callblk.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_callblk.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_callblk.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_callblk.lo `test -f 'sci_gateway/c/sci_callblk.c' || echo '$(srcdir)/'`sci_gateway/c/sci_callblk.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_callblk.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_callblk.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_callblk.c' object='sci_gateway/c/libsciscicos_la-sci_callblk.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_callblk.lo `test -f 'sci_gateway/c/sci_callblk.c' || echo '$(srcdir)/'`sci_gateway/c/sci_callblk.c
-
-sci_gateway/c/libsciscicos_la-sci_coserror.lo: sci_gateway/c/sci_coserror.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_coserror.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_coserror.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_coserror.lo `test -f 'sci_gateway/c/sci_coserror.c' || echo '$(srcdir)/'`sci_gateway/c/sci_coserror.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_coserror.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_coserror.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_coserror.c' object='sci_gateway/c/libsciscicos_la-sci_coserror.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_coserror.lo `test -f 'sci_gateway/c/sci_coserror.c' || echo '$(srcdir)/'`sci_gateway/c/sci_coserror.c
-
-sci_gateway/c/libsciscicos_la-sci_ctree2.lo: sci_gateway/c/sci_ctree2.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_ctree2.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_ctree2.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_ctree2.lo `test -f 'sci_gateway/c/sci_ctree2.c' || echo '$(srcdir)/'`sci_gateway/c/sci_ctree2.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_ctree2.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_ctree2.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_ctree2.c' object='sci_gateway/c/libsciscicos_la-sci_ctree2.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_ctree2.lo `test -f 'sci_gateway/c/sci_ctree2.c' || echo '$(srcdir)/'`sci_gateway/c/sci_ctree2.c
-
-sci_gateway/c/libsciscicos_la-sci_ctree3.lo: sci_gateway/c/sci_ctree3.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_ctree3.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_ctree3.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_ctree3.lo `test -f 'sci_gateway/c/sci_ctree3.c' || echo '$(srcdir)/'`sci_gateway/c/sci_ctree3.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_ctree3.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_ctree3.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_ctree3.c' object='sci_gateway/c/libsciscicos_la-sci_ctree3.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_ctree3.lo `test -f 'sci_gateway/c/sci_ctree3.c' || echo '$(srcdir)/'`sci_gateway/c/sci_ctree3.c
-
-sci_gateway/c/libsciscicos_la-sci_ctree4.lo: sci_gateway/c/sci_ctree4.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_ctree4.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_ctree4.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_ctree4.lo `test -f 'sci_gateway/c/sci_ctree4.c' || echo '$(srcdir)/'`sci_gateway/c/sci_ctree4.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_ctree4.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_ctree4.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_ctree4.c' object='sci_gateway/c/libsciscicos_la-sci_ctree4.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_ctree4.lo `test -f 'sci_gateway/c/sci_ctree4.c' || echo '$(srcdir)/'`sci_gateway/c/sci_ctree4.c
-
-sci_gateway/c/libsciscicos_la-sci_curblock.lo: sci_gateway/c/sci_curblock.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_curblock.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_curblock.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_curblock.lo `test -f 'sci_gateway/c/sci_curblock.c' || echo '$(srcdir)/'`sci_gateway/c/sci_curblock.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_curblock.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_curblock.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_curblock.c' object='sci_gateway/c/libsciscicos_la-sci_curblock.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_curblock.lo `test -f 'sci_gateway/c/sci_curblock.c' || echo '$(srcdir)/'`sci_gateway/c/sci_curblock.c
-
-sci_gateway/c/libsciscicos_la-sci_curblockc.lo: sci_gateway/c/sci_curblockc.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_curblockc.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_curblockc.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_curblockc.lo `test -f 'sci_gateway/c/sci_curblockc.c' || echo '$(srcdir)/'`sci_gateway/c/sci_curblockc.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_curblockc.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_curblockc.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_curblockc.c' object='sci_gateway/c/libsciscicos_la-sci_curblockc.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_curblockc.lo `test -f 'sci_gateway/c/sci_curblockc.c' || echo '$(srcdir)/'`sci_gateway/c/sci_curblockc.c
-
-sci_gateway/c/libsciscicos_la-sci_data2sig.lo: sci_gateway/c/sci_data2sig.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_data2sig.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_data2sig.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_data2sig.lo `test -f 'sci_gateway/c/sci_data2sig.c' || echo '$(srcdir)/'`sci_gateway/c/sci_data2sig.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_data2sig.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_data2sig.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_data2sig.c' object='sci_gateway/c/libsciscicos_la-sci_data2sig.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_data2sig.lo `test -f 'sci_gateway/c/sci_data2sig.c' || echo '$(srcdir)/'`sci_gateway/c/sci_data2sig.c
-
-sci_gateway/c/libsciscicos_la-sci_diffobjs.lo: sci_gateway/c/sci_diffobjs.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_diffobjs.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_diffobjs.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_diffobjs.lo `test -f 'sci_gateway/c/sci_diffobjs.c' || echo '$(srcdir)/'`sci_gateway/c/sci_diffobjs.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_diffobjs.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_diffobjs.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_diffobjs.c' object='sci_gateway/c/libsciscicos_la-sci_diffobjs.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_diffobjs.lo `test -f 'sci_gateway/c/sci_diffobjs.c' || echo '$(srcdir)/'`sci_gateway/c/sci_diffobjs.c
-
-sci_gateway/c/libsciscicos_la-sci_duplicate.lo: sci_gateway/c/sci_duplicate.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_duplicate.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_duplicate.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_duplicate.lo `test -f 'sci_gateway/c/sci_duplicate.c' || echo '$(srcdir)/'`sci_gateway/c/sci_duplicate.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_duplicate.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_duplicate.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_duplicate.c' object='sci_gateway/c/libsciscicos_la-sci_duplicate.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_duplicate.lo `test -f 'sci_gateway/c/sci_duplicate.c' || echo '$(srcdir)/'`sci_gateway/c/sci_duplicate.c
-
-sci_gateway/c/libsciscicos_la-sci_end_scicosim.lo: sci_gateway/c/sci_end_scicosim.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_end_scicosim.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_end_scicosim.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_end_scicosim.lo `test -f 'sci_gateway/c/sci_end_scicosim.c' || echo '$(srcdir)/'`sci_gateway/c/sci_end_scicosim.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_end_scicosim.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_end_scicosim.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_end_scicosim.c' object='sci_gateway/c/libsciscicos_la-sci_end_scicosim.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_end_scicosim.lo `test -f 'sci_gateway/c/sci_end_scicosim.c' || echo '$(srcdir)/'`sci_gateway/c/sci_end_scicosim.c
-
-sci_gateway/c/libsciscicos_la-sci_ftree2.lo: sci_gateway/c/sci_ftree2.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_ftree2.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_ftree2.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_ftree2.lo `test -f 'sci_gateway/c/sci_ftree2.c' || echo '$(srcdir)/'`sci_gateway/c/sci_ftree2.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_ftree2.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_ftree2.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_ftree2.c' object='sci_gateway/c/libsciscicos_la-sci_ftree2.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_ftree2.lo `test -f 'sci_gateway/c/sci_ftree2.c' || echo '$(srcdir)/'`sci_gateway/c/sci_ftree2.c
-
-sci_gateway/c/libsciscicos_la-sci_ftree3.lo: sci_gateway/c/sci_ftree3.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_ftree3.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_ftree3.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_ftree3.lo `test -f 'sci_gateway/c/sci_ftree3.c' || echo '$(srcdir)/'`sci_gateway/c/sci_ftree3.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_ftree3.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_ftree3.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_ftree3.c' object='sci_gateway/c/libsciscicos_la-sci_ftree3.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_ftree3.lo `test -f 'sci_gateway/c/sci_ftree3.c' || echo '$(srcdir)/'`sci_gateway/c/sci_ftree3.c
-
-sci_gateway/c/libsciscicos_la-sci_ftree4.lo: sci_gateway/c/sci_ftree4.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_ftree4.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_ftree4.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_ftree4.lo `test -f 'sci_gateway/c/sci_ftree4.c' || echo '$(srcdir)/'`sci_gateway/c/sci_ftree4.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_ftree4.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_ftree4.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_ftree4.c' object='sci_gateway/c/libsciscicos_la-sci_ftree4.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_ftree4.lo `test -f 'sci_gateway/c/sci_ftree4.c' || echo '$(srcdir)/'`sci_gateway/c/sci_ftree4.c
-
-sci_gateway/c/libsciscicos_la-sci_getblocklabel.lo: sci_gateway/c/sci_getblocklabel.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_getblocklabel.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_getblocklabel.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_getblocklabel.lo `test -f 'sci_gateway/c/sci_getblocklabel.c' || echo '$(srcdir)/'`sci_gateway/c/sci_getblocklabel.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_getblocklabel.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_getblocklabel.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_getblocklabel.c' object='sci_gateway/c/libsciscicos_la-sci_getblocklabel.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_getblocklabel.lo `test -f 'sci_gateway/c/sci_getblocklabel.c' || echo '$(srcdir)/'`sci_gateway/c/sci_getblocklabel.c
-
-sci_gateway/c/libsciscicos_la-sci_getscicosvars.lo: sci_gateway/c/sci_getscicosvars.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_getscicosvars.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_getscicosvars.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_getscicosvars.lo `test -f 'sci_gateway/c/sci_getscicosvars.c' || echo '$(srcdir)/'`sci_gateway/c/sci_getscicosvars.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_getscicosvars.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_getscicosvars.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_getscicosvars.c' object='sci_gateway/c/libsciscicos_la-sci_getscicosvars.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_getscicosvars.lo `test -f 'sci_gateway/c/sci_getscicosvars.c' || echo '$(srcdir)/'`sci_gateway/c/sci_getscicosvars.c
-
-sci_gateway/c/libsciscicos_la-sci_haltscicos.lo: sci_gateway/c/sci_haltscicos.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_haltscicos.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_haltscicos.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_haltscicos.lo `test -f 'sci_gateway/c/sci_haltscicos.c' || echo '$(srcdir)/'`sci_gateway/c/sci_haltscicos.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_haltscicos.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_haltscicos.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_haltscicos.c' object='sci_gateway/c/libsciscicos_la-sci_haltscicos.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_haltscicos.lo `test -f 'sci_gateway/c/sci_haltscicos.c' || echo '$(srcdir)/'`sci_gateway/c/sci_haltscicos.c
-
-sci_gateway/c/libsciscicos_la-sci_loadScicos.lo: sci_gateway/c/sci_loadScicos.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_loadScicos.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_loadScicos.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_loadScicos.lo `test -f 'sci_gateway/c/sci_loadScicos.c' || echo '$(srcdir)/'`sci_gateway/c/sci_loadScicos.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_loadScicos.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_loadScicos.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_loadScicos.c' object='sci_gateway/c/libsciscicos_la-sci_loadScicos.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_loadScicos.lo `test -f 'sci_gateway/c/sci_loadScicos.c' || echo '$(srcdir)/'`sci_gateway/c/sci_loadScicos.c
-
-sci_gateway/c/libsciscicos_la-sci_model2blk.lo: sci_gateway/c/sci_model2blk.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_model2blk.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_model2blk.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_model2blk.lo `test -f 'sci_gateway/c/sci_model2blk.c' || echo '$(srcdir)/'`sci_gateway/c/sci_model2blk.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_model2blk.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_model2blk.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_model2blk.c' object='sci_gateway/c/libsciscicos_la-sci_model2blk.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_model2blk.lo `test -f 'sci_gateway/c/sci_model2blk.c' || echo '$(srcdir)/'`sci_gateway/c/sci_model2blk.c
-
-sci_gateway/c/libsciscicos_la-sci_phase_simulation.lo: sci_gateway/c/sci_phase_simulation.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_phase_simulation.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_phase_simulation.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_phase_simulation.lo `test -f 'sci_gateway/c/sci_phase_simulation.c' || echo '$(srcdir)/'`sci_gateway/c/sci_phase_simulation.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_phase_simulation.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_phase_simulation.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_phase_simulation.c' object='sci_gateway/c/libsciscicos_la-sci_phase_simulation.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_phase_simulation.lo `test -f 'sci_gateway/c/sci_phase_simulation.c' || echo '$(srcdir)/'`sci_gateway/c/sci_phase_simulation.c
-
-sci_gateway/c/libsciscicos_la-sci_pointer_xproperty.lo: sci_gateway/c/sci_pointer_xproperty.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_pointer_xproperty.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_pointer_xproperty.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_pointer_xproperty.lo `test -f 'sci_gateway/c/sci_pointer_xproperty.c' || echo '$(srcdir)/'`sci_gateway/c/sci_pointer_xproperty.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_pointer_xproperty.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_pointer_xproperty.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_pointer_xproperty.c' object='sci_gateway/c/libsciscicos_la-sci_pointer_xproperty.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_pointer_xproperty.lo `test -f 'sci_gateway/c/sci_pointer_xproperty.c' || echo '$(srcdir)/'`sci_gateway/c/sci_pointer_xproperty.c
-
-sci_gateway/c/libsciscicos_la-sci_scicos_debug.lo: sci_gateway/c/sci_scicos_debug.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_scicos_debug.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_scicos_debug.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_scicos_debug.lo `test -f 'sci_gateway/c/sci_scicos_debug.c' || echo '$(srcdir)/'`sci_gateway/c/sci_scicos_debug.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_scicos_debug.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_scicos_debug.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_scicos_debug.c' object='sci_gateway/c/libsciscicos_la-sci_scicos_debug.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_scicos_debug.lo `test -f 'sci_gateway/c/sci_scicos_debug.c' || echo '$(srcdir)/'`sci_gateway/c/sci_scicos_debug.c
-
-sci_gateway/c/libsciscicos_la-sci_scicos_debug_count.lo: sci_gateway/c/sci_scicos_debug_count.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_scicos_debug_count.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_scicos_debug_count.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_scicos_debug_count.lo `test -f 'sci_gateway/c/sci_scicos_debug_count.c' || echo '$(srcdir)/'`sci_gateway/c/sci_scicos_debug_count.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_scicos_debug_count.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_scicos_debug_count.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_scicos_debug_count.c' object='sci_gateway/c/libsciscicos_la-sci_scicos_debug_count.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_scicos_debug_count.lo `test -f 'sci_gateway/c/sci_scicos_debug_count.c' || echo '$(srcdir)/'`sci_gateway/c/sci_scicos_debug_count.c
-
-sci_gateway/c/libsciscicos_la-sci_scicosim.lo: sci_gateway/c/sci_scicosim.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_scicosim.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_scicosim.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_scicosim.lo `test -f 'sci_gateway/c/sci_scicosim.c' || echo '$(srcdir)/'`sci_gateway/c/sci_scicosim.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_scicosim.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_scicosim.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_scicosim.c' object='sci_gateway/c/libsciscicos_la-sci_scicosim.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_scicosim.lo `test -f 'sci_gateway/c/sci_scicosim.c' || echo '$(srcdir)/'`sci_gateway/c/sci_scicosim.c
-
-sci_gateway/c/libsciscicos_la-sci_scicos_time.lo: sci_gateway/c/sci_scicos_time.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_scicos_time.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_scicos_time.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_scicos_time.lo `test -f 'sci_gateway/c/sci_scicos_time.c' || echo '$(srcdir)/'`sci_gateway/c/sci_scicos_time.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_scicos_time.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_scicos_time.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_scicos_time.c' object='sci_gateway/c/libsciscicos_la-sci_scicos_time.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_scicos_time.lo `test -f 'sci_gateway/c/sci_scicos_time.c' || echo '$(srcdir)/'`sci_gateway/c/sci_scicos_time.c
-
-sci_gateway/c/libsciscicos_la-sci_sctree.lo: sci_gateway/c/sci_sctree.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_sctree.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_sctree.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_sctree.lo `test -f 'sci_gateway/c/sci_sctree.c' || echo '$(srcdir)/'`sci_gateway/c/sci_sctree.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_sctree.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_sctree.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_sctree.c' object='sci_gateway/c/libsciscicos_la-sci_sctree.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_sctree.lo `test -f 'sci_gateway/c/sci_sctree.c' || echo '$(srcdir)/'`sci_gateway/c/sci_sctree.c
-
-sci_gateway/c/libsciscicos_la-sci_set_blockerror.lo: sci_gateway/c/sci_set_blockerror.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_set_blockerror.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_set_blockerror.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_set_blockerror.lo `test -f 'sci_gateway/c/sci_set_blockerror.c' || echo '$(srcdir)/'`sci_gateway/c/sci_set_blockerror.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_set_blockerror.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_set_blockerror.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_set_blockerror.c' object='sci_gateway/c/libsciscicos_la-sci_set_blockerror.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_set_blockerror.lo `test -f 'sci_gateway/c/sci_set_blockerror.c' || echo '$(srcdir)/'`sci_gateway/c/sci_set_blockerror.c
-
-sci_gateway/c/libsciscicos_la-sci_set_xproperty.lo: sci_gateway/c/sci_set_xproperty.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_set_xproperty.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_set_xproperty.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_set_xproperty.lo `test -f 'sci_gateway/c/sci_set_xproperty.c' || echo '$(srcdir)/'`sci_gateway/c/sci_set_xproperty.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_set_xproperty.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_set_xproperty.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_set_xproperty.c' object='sci_gateway/c/libsciscicos_la-sci_set_xproperty.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_set_xproperty.lo `test -f 'sci_gateway/c/sci_set_xproperty.c' || echo '$(srcdir)/'`sci_gateway/c/sci_set_xproperty.c
-
-sci_gateway/c/libsciscicos_la-sci_sig2data.lo: sci_gateway/c/sci_sig2data.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_sig2data.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_sig2data.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_sig2data.lo `test -f 'sci_gateway/c/sci_sig2data.c' || echo '$(srcdir)/'`sci_gateway/c/sci_sig2data.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_sig2data.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_sig2data.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_sig2data.c' object='sci_gateway/c/libsciscicos_la-sci_sig2data.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_sig2data.lo `test -f 'sci_gateway/c/sci_sig2data.c' || echo '$(srcdir)/'`sci_gateway/c/sci_sig2data.c
-
-sci_gateway/c/libsciscicos_la-sci_var2vec.lo: sci_gateway/c/sci_var2vec.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_var2vec.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_var2vec.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_var2vec.lo `test -f 'sci_gateway/c/sci_var2vec.c' || echo '$(srcdir)/'`sci_gateway/c/sci_var2vec.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_var2vec.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_var2vec.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_var2vec.c' object='sci_gateway/c/libsciscicos_la-sci_var2vec.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_var2vec.lo `test -f 'sci_gateway/c/sci_var2vec.c' || echo '$(srcdir)/'`sci_gateway/c/sci_var2vec.c
-
-sci_gateway/c/libsciscicos_la-sci_vec2var.lo: sci_gateway/c/sci_vec2var.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libsciscicos_la-sci_vec2var.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_vec2var.Tpo -c -o sci_gateway/c/libsciscicos_la-sci_vec2var.lo `test -f 'sci_gateway/c/sci_vec2var.c' || echo '$(srcdir)/'`sci_gateway/c/sci_vec2var.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_vec2var.Tpo sci_gateway/c/$(DEPDIR)/libsciscicos_la-sci_vec2var.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='sci_gateway/c/sci_vec2var.c' object='sci_gateway/c/libsciscicos_la-sci_vec2var.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libsciscicos_la-sci_vec2var.lo `test -f 'sci_gateway/c/sci_vec2var.c' || echo '$(srcdir)/'`sci_gateway/c/sci_vec2var.c
-
 src/scicos_sundials/src/cvode/libscisundials_la-cvode.lo: src/scicos_sundials/src/cvode/cvode.c
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libscisundials_la_CFLAGS) $(CFLAGS) -MT src/scicos_sundials/src/cvode/libscisundials_la-cvode.lo -MD -MP -MF src/scicos_sundials/src/cvode/$(DEPDIR)/libscisundials_la-cvode.Tpo -c -o src/scicos_sundials/src/cvode/libscisundials_la-cvode.lo `test -f 'src/scicos_sundials/src/cvode/cvode.c' || echo '$(srcdir)/'`src/scicos_sundials/src/cvode/cvode.c
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) src/scicos_sundials/src/cvode/$(DEPDIR)/libscisundials_la-cvode.Tpo src/scicos_sundials/src/cvode/$(DEPDIR)/libscisundials_la-cvode.Plo
@@ -2736,6 +2486,149 @@ src/scicos_sundials/src/sundials/libscisundials_la-sundials_extension.lo: src/sc
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libscisundials_la_CFLAGS) $(CFLAGS) -c -o src/scicos_sundials/src/sundials/libscisundials_la-sundials_extension.lo `test -f 'src/scicos_sundials/src/sundials/sundials_extension.c' || echo '$(srcdir)/'`src/scicos_sundials/src/sundials/sundials_extension.c
 
+.cpp.o:
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCXX_TRUE@  $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCXX_TRUE@  $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCXX_TRUE@  $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCXX_TRUE@  $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCXX_TRUE@  $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCXX_TRUE@  $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
+
+src/cpp/libsciscicos_algo_la-Controller.lo: src/cpp/Controller.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libsciscicos_algo_la-Controller.lo -MD -MP -MF src/cpp/$(DEPDIR)/libsciscicos_algo_la-Controller.Tpo -c -o src/cpp/libsciscicos_algo_la-Controller.lo `test -f 'src/cpp/Controller.cpp' || echo '$(srcdir)/'`src/cpp/Controller.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libsciscicos_algo_la-Controller.Tpo src/cpp/$(DEPDIR)/libsciscicos_algo_la-Controller.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='src/cpp/Controller.cpp' object='src/cpp/libsciscicos_algo_la-Controller.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libsciscicos_algo_la-Controller.lo `test -f 'src/cpp/Controller.cpp' || echo '$(srcdir)/'`src/cpp/Controller.cpp
+
+src/cpp/libsciscicos_algo_la-LoggerView.lo: src/cpp/LoggerView.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libsciscicos_algo_la-LoggerView.lo -MD -MP -MF src/cpp/$(DEPDIR)/libsciscicos_algo_la-LoggerView.Tpo -c -o src/cpp/libsciscicos_algo_la-LoggerView.lo `test -f 'src/cpp/LoggerView.cpp' || echo '$(srcdir)/'`src/cpp/LoggerView.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libsciscicos_algo_la-LoggerView.Tpo src/cpp/$(DEPDIR)/libsciscicos_algo_la-LoggerView.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='src/cpp/LoggerView.cpp' object='src/cpp/libsciscicos_algo_la-LoggerView.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libsciscicos_algo_la-LoggerView.lo `test -f 'src/cpp/LoggerView.cpp' || echo '$(srcdir)/'`src/cpp/LoggerView.cpp
+
+src/cpp/libsciscicos_algo_la-Model.lo: src/cpp/Model.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libsciscicos_algo_la-Model.lo -MD -MP -MF src/cpp/$(DEPDIR)/libsciscicos_algo_la-Model.Tpo -c -o src/cpp/libsciscicos_algo_la-Model.lo `test -f 'src/cpp/Model.cpp' || echo '$(srcdir)/'`src/cpp/Model.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libsciscicos_algo_la-Model.Tpo src/cpp/$(DEPDIR)/libsciscicos_algo_la-Model.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='src/cpp/Model.cpp' object='src/cpp/libsciscicos_algo_la-Model.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libsciscicos_algo_la-Model.lo `test -f 'src/cpp/Model.cpp' || echo '$(srcdir)/'`src/cpp/Model.cpp
+
+src/cpp/libsciscicos_algo_la-Model_getObjectProperties.lo: src/cpp/Model_getObjectProperties.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libsciscicos_algo_la-Model_getObjectProperties.lo -MD -MP -MF src/cpp/$(DEPDIR)/libsciscicos_algo_la-Model_getObjectProperties.Tpo -c -o src/cpp/libsciscicos_algo_la-Model_getObjectProperties.lo `test -f 'src/cpp/Model_getObjectProperties.cpp' || echo '$(srcdir)/'`src/cpp/Model_getObjectProperties.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libsciscicos_algo_la-Model_getObjectProperties.Tpo src/cpp/$(DEPDIR)/libsciscicos_algo_la-Model_getObjectProperties.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='src/cpp/Model_getObjectProperties.cpp' object='src/cpp/libsciscicos_algo_la-Model_getObjectProperties.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libsciscicos_algo_la-Model_getObjectProperties.lo `test -f 'src/cpp/Model_getObjectProperties.cpp' || echo '$(srcdir)/'`src/cpp/Model_getObjectProperties.cpp
+
+src/cpp/libsciscicos_algo_la-Model_setObjectProperties.lo: src/cpp/Model_setObjectProperties.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libsciscicos_algo_la-Model_setObjectProperties.lo -MD -MP -MF src/cpp/$(DEPDIR)/libsciscicos_algo_la-Model_setObjectProperties.Tpo -c -o src/cpp/libsciscicos_algo_la-Model_setObjectProperties.lo `test -f 'src/cpp/Model_setObjectProperties.cpp' || echo '$(srcdir)/'`src/cpp/Model_setObjectProperties.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libsciscicos_algo_la-Model_setObjectProperties.Tpo src/cpp/$(DEPDIR)/libsciscicos_algo_la-Model_setObjectProperties.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='src/cpp/Model_setObjectProperties.cpp' object='src/cpp/libsciscicos_algo_la-Model_setObjectProperties.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libsciscicos_algo_la-Model_setObjectProperties.lo `test -f 'src/cpp/Model_setObjectProperties.cpp' || echo '$(srcdir)/'`src/cpp/Model_setObjectProperties.cpp
+
+src/cpp/view_scilab/libsciscicos_algo_la-Adapters.lo: src/cpp/view_scilab/Adapters.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/view_scilab/libsciscicos_algo_la-Adapters.lo -MD -MP -MF src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-Adapters.Tpo -c -o src/cpp/view_scilab/libsciscicos_algo_la-Adapters.lo `test -f 'src/cpp/view_scilab/Adapters.cpp' || echo '$(srcdir)/'`src/cpp/view_scilab/Adapters.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-Adapters.Tpo src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-Adapters.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='src/cpp/view_scilab/Adapters.cpp' object='src/cpp/view_scilab/libsciscicos_algo_la-Adapters.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/view_scilab/libsciscicos_algo_la-Adapters.lo `test -f 'src/cpp/view_scilab/Adapters.cpp' || echo '$(srcdir)/'`src/cpp/view_scilab/Adapters.cpp
+
+src/cpp/view_scilab/libsciscicos_algo_la-BlockAdapter.lo: src/cpp/view_scilab/BlockAdapter.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/view_scilab/libsciscicos_algo_la-BlockAdapter.lo -MD -MP -MF src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-BlockAdapter.Tpo -c -o src/cpp/view_scilab/libsciscicos_algo_la-BlockAdapter.lo `test -f 'src/cpp/view_scilab/BlockAdapter.cpp' || echo '$(srcdir)/'`src/cpp/view_scilab/BlockAdapter.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-BlockAdapter.Tpo src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-BlockAdapter.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='src/cpp/view_scilab/BlockAdapter.cpp' object='src/cpp/view_scilab/libsciscicos_algo_la-BlockAdapter.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/view_scilab/libsciscicos_algo_la-BlockAdapter.lo `test -f 'src/cpp/view_scilab/BlockAdapter.cpp' || echo '$(srcdir)/'`src/cpp/view_scilab/BlockAdapter.cpp
+
+src/cpp/view_scilab/libsciscicos_algo_la-CprAdapter.lo: src/cpp/view_scilab/CprAdapter.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/view_scilab/libsciscicos_algo_la-CprAdapter.lo -MD -MP -MF src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-CprAdapter.Tpo -c -o src/cpp/view_scilab/libsciscicos_algo_la-CprAdapter.lo `test -f 'src/cpp/view_scilab/CprAdapter.cpp' || echo '$(srcdir)/'`src/cpp/view_scilab/CprAdapter.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-CprAdapter.Tpo src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-CprAdapter.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='src/cpp/view_scilab/CprAdapter.cpp' object='src/cpp/view_scilab/libsciscicos_algo_la-CprAdapter.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/view_scilab/libsciscicos_algo_la-CprAdapter.lo `test -f 'src/cpp/view_scilab/CprAdapter.cpp' || echo '$(srcdir)/'`src/cpp/view_scilab/CprAdapter.cpp
+
+src/cpp/view_scilab/libsciscicos_algo_la-DiagramAdapter.lo: src/cpp/view_scilab/DiagramAdapter.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/view_scilab/libsciscicos_algo_la-DiagramAdapter.lo -MD -MP -MF src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-DiagramAdapter.Tpo -c -o src/cpp/view_scilab/libsciscicos_algo_la-DiagramAdapter.lo `test -f 'src/cpp/view_scilab/DiagramAdapter.cpp' || echo '$(srcdir)/'`src/cpp/view_scilab/DiagramAdapter.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-DiagramAdapter.Tpo src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-DiagramAdapter.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='src/cpp/view_scilab/DiagramAdapter.cpp' object='src/cpp/view_scilab/libsciscicos_algo_la-DiagramAdapter.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/view_scilab/libsciscicos_algo_la-DiagramAdapter.lo `test -f 'src/cpp/view_scilab/DiagramAdapter.cpp' || echo '$(srcdir)/'`src/cpp/view_scilab/DiagramAdapter.cpp
+
+src/cpp/view_scilab/libsciscicos_algo_la-GraphicsAdapter.lo: src/cpp/view_scilab/GraphicsAdapter.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/view_scilab/libsciscicos_algo_la-GraphicsAdapter.lo -MD -MP -MF src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-GraphicsAdapter.Tpo -c -o src/cpp/view_scilab/libsciscicos_algo_la-GraphicsAdapter.lo `test -f 'src/cpp/view_scilab/GraphicsAdapter.cpp' || echo '$(srcdir)/'`src/cpp/view_scilab/GraphicsAdapter.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-GraphicsAdapter.Tpo src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-GraphicsAdapter.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='src/cpp/view_scilab/GraphicsAdapter.cpp' object='src/cpp/view_scilab/libsciscicos_algo_la-GraphicsAdapter.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/view_scilab/libsciscicos_algo_la-GraphicsAdapter.lo `test -f 'src/cpp/view_scilab/GraphicsAdapter.cpp' || echo '$(srcdir)/'`src/cpp/view_scilab/GraphicsAdapter.cpp
+
+src/cpp/view_scilab/libsciscicos_algo_la-LinkAdapter.lo: src/cpp/view_scilab/LinkAdapter.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/view_scilab/libsciscicos_algo_la-LinkAdapter.lo -MD -MP -MF src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-LinkAdapter.Tpo -c -o src/cpp/view_scilab/libsciscicos_algo_la-LinkAdapter.lo `test -f 'src/cpp/view_scilab/LinkAdapter.cpp' || echo '$(srcdir)/'`src/cpp/view_scilab/LinkAdapter.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-LinkAdapter.Tpo src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-LinkAdapter.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='src/cpp/view_scilab/LinkAdapter.cpp' object='src/cpp/view_scilab/libsciscicos_algo_la-LinkAdapter.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/view_scilab/libsciscicos_algo_la-LinkAdapter.lo `test -f 'src/cpp/view_scilab/LinkAdapter.cpp' || echo '$(srcdir)/'`src/cpp/view_scilab/LinkAdapter.cpp
+
+src/cpp/view_scilab/libsciscicos_algo_la-ModelAdapter.lo: src/cpp/view_scilab/ModelAdapter.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/view_scilab/libsciscicos_algo_la-ModelAdapter.lo -MD -MP -MF src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-ModelAdapter.Tpo -c -o src/cpp/view_scilab/libsciscicos_algo_la-ModelAdapter.lo `test -f 'src/cpp/view_scilab/ModelAdapter.cpp' || echo '$(srcdir)/'`src/cpp/view_scilab/ModelAdapter.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-ModelAdapter.Tpo src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-ModelAdapter.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='src/cpp/view_scilab/ModelAdapter.cpp' object='src/cpp/view_scilab/libsciscicos_algo_la-ModelAdapter.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/view_scilab/libsciscicos_algo_la-ModelAdapter.lo `test -f 'src/cpp/view_scilab/ModelAdapter.cpp' || echo '$(srcdir)/'`src/cpp/view_scilab/ModelAdapter.cpp
+
+src/cpp/view_scilab/libsciscicos_algo_la-ScsAdapter.lo: src/cpp/view_scilab/ScsAdapter.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/view_scilab/libsciscicos_algo_la-ScsAdapter.lo -MD -MP -MF src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-ScsAdapter.Tpo -c -o src/cpp/view_scilab/libsciscicos_algo_la-ScsAdapter.lo `test -f 'src/cpp/view_scilab/ScsAdapter.cpp' || echo '$(srcdir)/'`src/cpp/view_scilab/ScsAdapter.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-ScsAdapter.Tpo src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-ScsAdapter.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='src/cpp/view_scilab/ScsAdapter.cpp' object='src/cpp/view_scilab/libsciscicos_algo_la-ScsAdapter.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/view_scilab/libsciscicos_algo_la-ScsAdapter.lo `test -f 'src/cpp/view_scilab/ScsAdapter.cpp' || echo '$(srcdir)/'`src/cpp/view_scilab/ScsAdapter.cpp
+
+src/cpp/view_scilab/libsciscicos_algo_la-StateAdapter.lo: src/cpp/view_scilab/StateAdapter.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/view_scilab/libsciscicos_algo_la-StateAdapter.lo -MD -MP -MF src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-StateAdapter.Tpo -c -o src/cpp/view_scilab/libsciscicos_algo_la-StateAdapter.lo `test -f 'src/cpp/view_scilab/StateAdapter.cpp' || echo '$(srcdir)/'`src/cpp/view_scilab/StateAdapter.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-StateAdapter.Tpo src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-StateAdapter.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='src/cpp/view_scilab/StateAdapter.cpp' object='src/cpp/view_scilab/libsciscicos_algo_la-StateAdapter.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/view_scilab/libsciscicos_algo_la-StateAdapter.lo `test -f 'src/cpp/view_scilab/StateAdapter.cpp' || echo '$(srcdir)/'`src/cpp/view_scilab/StateAdapter.cpp
+
+src/cpp/view_scilab/libsciscicos_algo_la-TextAdapter.lo: src/cpp/view_scilab/TextAdapter.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/view_scilab/libsciscicos_algo_la-TextAdapter.lo -MD -MP -MF src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-TextAdapter.Tpo -c -o src/cpp/view_scilab/libsciscicos_algo_la-TextAdapter.lo `test -f 'src/cpp/view_scilab/TextAdapter.cpp' || echo '$(srcdir)/'`src/cpp/view_scilab/TextAdapter.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-TextAdapter.Tpo src/cpp/view_scilab/$(DEPDIR)/libsciscicos_algo_la-TextAdapter.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='src/cpp/view_scilab/TextAdapter.cpp' object='src/cpp/view_scilab/libsciscicos_algo_la-TextAdapter.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/view_scilab/libsciscicos_algo_la-TextAdapter.lo `test -f 'src/cpp/view_scilab/TextAdapter.cpp' || echo '$(srcdir)/'`src/cpp/view_scilab/TextAdapter.cpp
+
+sci_gateway/cpp/libsciscicos_cli_la-sci_scicos_new.lo: sci_gateway/cpp/sci_scicos_new.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_cli_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT sci_gateway/cpp/libsciscicos_cli_la-sci_scicos_new.lo -MD -MP -MF sci_gateway/cpp/$(DEPDIR)/libsciscicos_cli_la-sci_scicos_new.Tpo -c -o sci_gateway/cpp/libsciscicos_cli_la-sci_scicos_new.lo `test -f 'sci_gateway/cpp/sci_scicos_new.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_scicos_new.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) sci_gateway/cpp/$(DEPDIR)/libsciscicos_cli_la-sci_scicos_new.Tpo sci_gateway/cpp/$(DEPDIR)/libsciscicos_cli_la-sci_scicos_new.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='sci_gateway/cpp/sci_scicos_new.cpp' object='sci_gateway/cpp/libsciscicos_cli_la-sci_scicos_new.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_cli_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o sci_gateway/cpp/libsciscicos_cli_la-sci_scicos_new.lo `test -f 'sci_gateway/cpp/sci_scicos_new.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_scicos_new.cpp
+
+sci_gateway/cpp/libsciscicos_la-sci_scicos_new.lo: sci_gateway/cpp/sci_scicos_new.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT sci_gateway/cpp/libsciscicos_la-sci_scicos_new.lo -MD -MP -MF sci_gateway/cpp/$(DEPDIR)/libsciscicos_la-sci_scicos_new.Tpo -c -o sci_gateway/cpp/libsciscicos_la-sci_scicos_new.lo `test -f 'sci_gateway/cpp/sci_scicos_new.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_scicos_new.cpp
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) sci_gateway/cpp/$(DEPDIR)/libsciscicos_la-sci_scicos_new.Tpo sci_gateway/cpp/$(DEPDIR)/libsciscicos_la-sci_scicos_new.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='sci_gateway/cpp/sci_scicos_new.cpp' object='sci_gateway/cpp/libsciscicos_la-sci_scicos_new.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsciscicos_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o sci_gateway/cpp/libsciscicos_la-sci_scicos_new.lo `test -f 'sci_gateway/cpp/sci_scicos_new.cpp' || echo '$(srcdir)/'`sci_gateway/cpp/sci_scicos_new.cpp
+
 .f.o:
        $(AM_V_F77)$(F77COMPILE) -c -o $@ $<
 
@@ -2751,9 +2644,12 @@ mostlyclean-libtool:
 clean-libtool:
        -rm -rf .libs _libs
        -rm -rf sci_gateway/c/.libs sci_gateway/c/_libs
+       -rm -rf sci_gateway/cpp/.libs sci_gateway/cpp/_libs
        -rm -rf sci_gateway/fortran/.libs sci_gateway/fortran/_libs
        -rm -rf src/c/.libs src/c/_libs
        -rm -rf src/c/noscicos/.libs src/c/noscicos/_libs
+       -rm -rf src/cpp/.libs src/cpp/_libs
+       -rm -rf src/cpp/view_scilab/.libs src/cpp/view_scilab/_libs
        -rm -rf src/fortran/.libs src/fortran/_libs
        -rm -rf src/scicos_sundials/src/cvode/.libs src/scicos_sundials/src/cvode/_libs
        -rm -rf src/scicos_sundials/src/ida/.libs src/scicos_sundials/src/ida/_libs
@@ -3010,12 +2906,18 @@ distclean-generic:
        -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
        -rm -f sci_gateway/c/$(DEPDIR)/$(am__dirstamp)
        -rm -f sci_gateway/c/$(am__dirstamp)
+       -rm -f sci_gateway/cpp/$(DEPDIR)/$(am__dirstamp)
+       -rm -f sci_gateway/cpp/$(am__dirstamp)
        -rm -f sci_gateway/fortran/$(DEPDIR)/$(am__dirstamp)
        -rm -f sci_gateway/fortran/$(am__dirstamp)
        -rm -f src/c/$(DEPDIR)/$(am__dirstamp)
        -rm -f src/c/$(am__dirstamp)
        -rm -f src/c/noscicos/$(DEPDIR)/$(am__dirstamp)
        -rm -f src/c/noscicos/$(am__dirstamp)
+       -rm -f src/cpp/$(DEPDIR)/$(am__dirstamp)
+       -rm -f src/cpp/$(am__dirstamp)
+       -rm -f src/cpp/view_scilab/$(DEPDIR)/$(am__dirstamp)
+       -rm -f src/cpp/view_scilab/$(am__dirstamp)
        -rm -f src/fortran/$(DEPDIR)/$(am__dirstamp)
        -rm -f src/fortran/$(am__dirstamp)
        -rm -f src/scicos_sundials/src/cvode/$(DEPDIR)/$(am__dirstamp)
@@ -3038,7 +2940,7 @@ clean-am: clean-binPROGRAMS clean-generic clean-libtool clean-local \
        clean-noinstLTLIBRARIES clean-pkglibLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
-       -rm -rf sci_gateway/c/$(DEPDIR) src/c/$(DEPDIR) src/c/noscicos/$(DEPDIR) src/scicos_sundials/src/cvode/$(DEPDIR) src/scicos_sundials/src/ida/$(DEPDIR) src/scicos_sundials/src/kinsol/$(DEPDIR) src/scicos_sundials/src/nvec_ser/$(DEPDIR) src/scicos_sundials/src/sundials/$(DEPDIR)
+       -rm -rf sci_gateway/c/$(DEPDIR) sci_gateway/cpp/$(DEPDIR) src/c/$(DEPDIR) src/c/noscicos/$(DEPDIR) src/cpp/$(DEPDIR) src/cpp/view_scilab/$(DEPDIR) src/scicos_sundials/src/cvode/$(DEPDIR) src/scicos_sundials/src/ida/$(DEPDIR) src/scicos_sundials/src/kinsol/$(DEPDIR) src/scicos_sundials/src/nvec_ser/$(DEPDIR) src/scicos_sundials/src/sundials/$(DEPDIR)
        -rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
        distclean-local distclean-tags
@@ -3089,7 +2991,7 @@ install-ps-am:
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
-       -rm -rf sci_gateway/c/$(DEPDIR) src/c/$(DEPDIR) src/c/noscicos/$(DEPDIR) src/scicos_sundials/src/cvode/$(DEPDIR) src/scicos_sundials/src/ida/$(DEPDIR) src/scicos_sundials/src/kinsol/$(DEPDIR) src/scicos_sundials/src/nvec_ser/$(DEPDIR) src/scicos_sundials/src/sundials/$(DEPDIR)
+       -rm -rf sci_gateway/c/$(DEPDIR) sci_gateway/cpp/$(DEPDIR) src/c/$(DEPDIR) src/c/noscicos/$(DEPDIR) src/cpp/$(DEPDIR) src/cpp/view_scilab/$(DEPDIR) src/scicos_sundials/src/cvode/$(DEPDIR) src/scicos_sundials/src/ida/$(DEPDIR) src/scicos_sundials/src/kinsol/$(DEPDIR) src/scicos_sundials/src/nvec_ser/$(DEPDIR) src/scicos_sundials/src/sundials/$(DEPDIR)
        -rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
@@ -3147,8 +3049,6 @@ uninstall-am: uninstall-binPROGRAMS uninstall-libsciscicos_la_etcDATA \
        uninstall-pkglibLTLIBRARIES
 
 
-.NOTPARALLEL: libscisundials.la libsciscicos-algo.la
-
 # This target enables tests for Scilab
 check-local: $(top_builddir)/scilab-bin test
        if test -d $(mydatadir)/tests; then \
@@ -3741,6 +3641,8 @@ distclean-local:
 @OCAML_TRUE@@XCOS_TRUE@    ./src/translator/translation/codeGeneration.cmx \
 @OCAML_TRUE@@XCOS_TRUE@    src/translator/translation/translator.cmi
 
+#.NOTPARALLEL: libscisundials.la libsciscicos-algo.la
+
 # Build modelica stuff
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/scilab/modules/scicos/includes/gw_scicos.hxx b/scilab/modules/scicos/includes/gw_scicos.hxx
new file mode 100644 (file)
index 0000000..1484a34
--- /dev/null
@@ -0,0 +1,21 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef GW_SCICOS_HXX_
+#define GW_SCICOS_HXX_
+
+#include "cpp_gateway_prototype.hxx"
+#include "dynlib_scicos.h"
+
+CPP_GATEWAY_PROTOTYPE_EXPORT(sci_scicos_new, SCICOS_IMPEXP);
+
+#endif /* GW_SCICOS_HXX_ */
diff --git a/scilab/modules/scicos/includes/utilities.hxx b/scilab/modules/scicos/includes/utilities.hxx
new file mode 100644 (file)
index 0000000..05fbeae
--- /dev/null
@@ -0,0 +1,102 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef UTILITIES_HXX_
+#define UTILITIES_HXX_
+
+namespace org_scilab_modules_scicos
+{
+
+/**
+ * A unique ID is used to represent a reference to any object in the model.
+ *
+ * The '0' value is used indicate that BaseObject is not handled by the controller.
+ */
+typedef unsigned long long ScicosID;
+//struct ScicosID
+//{
+//    ScicosID() : v(0) {}
+//    ScicosID(const ScicosID& u) : v(u.v) {}
+//
+//    inline bool operator<(const ScicosID& u) const
+//    {
+//        return u.v < u.v;
+//    }
+//    inline bool operator==(const ScicosID& u) const
+//    {
+//        return u.v == u.v;
+//    }
+//private:
+//    typedef unsigned long long uid_container_type;
+//    ScicosID(uid_container_type u) : v(u) {}
+//    uid_container_type v;
+//};
+
+/**
+ * Return status of get and set
+ */
+enum update_status_t
+{
+    SUCCESS,        //!< Property updated with new values
+    NO_CHANGES,     //!< Property unchanged
+    FAIL            //!< Update failed
+};
+
+/**
+ * Kind of model object.
+ *
+ * All model::BaseObject sub-classes should be listed there. This enum is used to emulate RTTI per Model object.
+ */
+enum kind_t
+{
+    ANNOTATION,     //!< model::Annotation object
+    BLOCK,          //!< model::Block object
+    DIAGRAM,        //!< model::Diagram object
+    LINK,           //!< model::Link object
+    PORT            //!< model::Port object
+};
+
+/**
+ * Set / Get identifier
+ *
+ * For each fields of any model::BaseObject, a corresponding identifier exists and is used on the Controller to store and view-dispatch any modification. This field value will be then used by each view to filter out / in important event per-view.
+ */
+enum object_properties_t
+{
+    PARENT_DIAGRAM,     //!< model::Annotation::parentDiagram or model::Block::parentDiagram or model::Link::parentDiagram value
+    GEOMETRY,           //!< model::Annotation::geometry or model::Block::geometry value
+    DESCRIPTION,        //!< model::Annotation::description
+    RELATED_TO,         //!< model::Annotation::relatedTo
+    INTERFACE_FUNCTION, //!< model::Block::interfaceFunction value
+    SIM_FUNCTION_NAME,  //!< model::Descriptor::functionName value (stored into model::Block::sim)
+    SIM_FUNCTION_API,   //!< model::Descriptor::functionApi value (stored into model::Block::sim)
+    SIM_SCHEDULE,       //!< model::Descriptor::schedulingProperties value (stored into model::Block::sim)
+    INPUTS,             //!< model::Block::in value
+    OUTPUTS,            //!< model::Block::out value
+    EVENT_INPUTS,       //!< model::Block::ein value
+    EVENT_OUTPUTS,      //!< model::Block::eout value
+    PARENT_BLOCK,       //!< model::Block::parentBlock value
+    CHILDREN,           //!< model::Block::children value
+    PORT_REFERENCE,     //!< model::Block::portReference value
+    DESTINATION_PORT,   //!< model::Link::destinationPort value
+    SOURCE_PORT,        //!< model::Link::sourcePort value
+    CONTROL_POINTS,     //!< model::Link::controlPoints value
+    DATATYPE,           //!< model::Port::dataType value
+    SOURCE_BLOCK,       //!< model::Port::sourceBlock value
+    PORT_KIND,          //!< model::Port::kind value
+    PORT_NUMBER,        //!< model::Port::portNumber value
+    CONNECTED_SIGNALS,  //!< model::Port::connectedSignals value
+};
+
+} /* namespace org_scilab_modules_scicos */
+
+#endif /* UTILITIES_HXX_ */
diff --git a/scilab/modules/scicos/sci_gateway/cpp/sci_scicos_new.cpp b/scilab/modules/scicos/sci_gateway/cpp/sci_scicos_new.cpp
new file mode 100644 (file)
index 0000000..4b4ca95
--- /dev/null
@@ -0,0 +1,198 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include <string>
+#include <algorithm>
+
+#include "gw_scicos.hxx"
+
+#include "types.hxx"
+#include "string.hxx"
+#include "list.hxx"
+#include "function.hxx"
+
+#include "view_scilab/Adapters.hxx"
+#include "view_scilab/BaseAdapter.hxx"
+#include "view_scilab/BlockAdapter.hxx"
+#include "view_scilab/CprAdapter.hxx"
+#include "view_scilab/DiagramAdapter.hxx"
+#include "view_scilab/GraphicsAdapter.hxx"
+#include "view_scilab/LinkAdapter.hxx"
+#include "view_scilab/ModelAdapter.hxx"
+#include "view_scilab/ScsAdapter.hxx"
+#include "view_scilab/StateAdapter.hxx"
+#include "view_scilab/TextAdapter.hxx"
+
+#include "utilities.hxx"
+#include "Controller.hxx"
+#include "model/Annotation.hxx"
+#include "model/Block.hxx"
+#include "model/Diagram.hxx"
+#include "model/Link.hxx"
+
+extern "C"
+{
+#include "Scierror.h"
+#include "localization.h"
+}
+
+using namespace org_scilab_modules_scicos;
+
+static const std::string funame = "scicos_new";
+
+template<class Adaptor, class Adaptee>
+Adaptor* alloc_and_set(kind_t k, types::String* type_name, types::typed_list &in)
+{
+    Controller* controller = Controller::get_instance();
+    ScicosID o = controller->createObject(k);
+    Adaptor* adaptor = new Adaptor(static_cast<Adaptee*>(controller->getObject(o)));
+
+    // the first header entry is the type
+    for (int i = 1; i < in.size(); i++)
+    {
+        std::wstring name = type_name->get(i);
+        if (!adaptor->setProperty(name, in[i]))
+        {
+            Scierror(999, _("%s: Wrong value for input argument #%d: unable to set \"%ls\".\n"), funame.data(), i, name.data());
+            delete adaptor;
+            return 0;
+        }
+    }
+
+    return adaptor;
+}
+
+types::Function::ReturnValue sci_scicos_new(types::typed_list &in, int _iRetCount, types::typed_list &out)
+{
+    if (in.size() < 1)
+    {
+        Scierror(999, _("%s: Wrong number of input arguments: At least %d expected.\n"), funame.data(), 1);
+        return types::Function::Error;
+    }
+    if (_iRetCount > 1)
+    {
+        Scierror(999, _("%s: Wrong number of output arguments: %d expected.\n"), funame.data(), 1);
+        return types::Function::Error;
+    }
+
+    types::InternalType* type = in[0];
+    if (type->getType() != types::InternalType::ScilabString)
+    {
+        Scierror(999, _("%s: Wrong type for input argument #%d: String expected.\n"), funame.data(), 1);
+        return types::Function::Error;
+    }
+
+    types::String* type_name = type->getAs<types::String>();
+    if (type_name->getRows() > 1)
+    {
+        Scierror(999, _("%s: Wrong size for input argument #%d: Row vector expected.\n"), funame.data(), 1);
+        return types::Function::Error;
+    }
+
+    if (type_name->getCols() != in.size())
+    {
+        Scierror(999, _("%s: Wrong number of input argument: %d expected.\n"), funame.data(), type_name->getCols());
+        return types::Function::Error;
+    }
+
+    /*
+     * allocate the right adapter then try to set fields values
+     */
+
+    const view_scilab::Adapters::adapters_index_t adapter_index = view_scilab::Adapters::instance().lookup_by_typename(type_name->get(0));
+    types::InternalType* returnType;
+    switch (adapter_index)
+    {
+        case view_scilab::Adapters::BLOCK_ADAPTER:
+            returnType = alloc_and_set<view_scilab::BlockAdapter, model::Block>(BLOCK, type_name, in);
+            if (returnType == 0)
+            {
+                return types::Function::Error;
+            }
+            out.push_back(returnType);
+            break;
+        case view_scilab::Adapters::CPR_ADAPTER:
+            returnType = alloc_and_set<view_scilab::CprAdapter, model::Diagram>(DIAGRAM, type_name, in);
+            if (returnType == 0)
+            {
+                return types::Function::Error;
+            }
+            out.push_back(returnType);
+            break;
+        case view_scilab::Adapters::DELETED_ADAPTER:
+            returnType = new types::List();
+            out.push_back(returnType);
+            break;
+        case view_scilab::Adapters::DIAGRAM_ADAPTER:
+            returnType = alloc_and_set<view_scilab::DiagramAdapter, model::Diagram>(DIAGRAM, type_name, in);
+            if (returnType == 0)
+            {
+                return types::Function::Error;
+            }
+            out.push_back(returnType);
+            break;
+        case view_scilab::Adapters::GRAPHIC_ADAPTER:
+            returnType = alloc_and_set<view_scilab::GraphicsAdapter, model::Block>(BLOCK, type_name, in);
+            if (returnType == 0)
+            {
+                return types::Function::Error;
+            }
+            out.push_back(returnType);
+            break;
+        case view_scilab::Adapters::LINK_ADAPTER:
+            returnType = alloc_and_set<view_scilab::LinkAdapter, model::Link>(LINK, type_name, in);
+            if (returnType == 0)
+            {
+                return types::Function::Error;
+            }
+            out.push_back(returnType);
+            break;
+        case view_scilab::Adapters::MODEL_ADAPTER:
+            returnType = alloc_and_set<view_scilab::ModelAdapter, model::Block>(BLOCK, type_name, in);
+            if (returnType == 0)
+            {
+                return types::Function::Error;
+            }
+            out.push_back(returnType);
+            break;
+        case view_scilab::Adapters::SCS_ADAPTER:
+            returnType = alloc_and_set<view_scilab::ScsAdapter, model::Diagram>(DIAGRAM, type_name, in);
+            if (returnType == 0)
+            {
+                return types::Function::Error;
+            }
+            out.push_back(returnType);
+            break;
+        case view_scilab::Adapters::STATE_ADAPTER:
+            returnType = alloc_and_set<view_scilab::StateAdapter, model::Diagram>(DIAGRAM, type_name, in);
+            if (returnType == 0)
+            {
+                return types::Function::Error;
+            }
+            out.push_back(returnType);
+            break;
+        case view_scilab::Adapters::TEXT_ADAPTER:
+            returnType = alloc_and_set<view_scilab::TextAdapter, model::Annotation>(ANNOTATION, type_name, in);
+            if (returnType == 0)
+            {
+                return types::Function::Error;
+            }
+            out.push_back(returnType);
+            break;
+        default:
+            Scierror(999, _("%s: Wrong value for input argument #%d:  \"%ls\" type is not managed.\n"), funame.data(), 1, type_name->get(0));
+            return types::Function::Error;
+            break;
+    }
+
+    return types::Function::OK;
+}
index f6e2030..2802b79 100644 (file)
@@ -51,4 +51,6 @@
     <gateway type="0" name="sci_model2blk" function="model2blk"/>
     <gateway type="0" name="sci_callblk" function="callblk"/>
     <gateway type="0" name="sci_loadScicos" function="loadScicos"/>
+    <!-- C++ Gateways -->
+    <gateway type="1" name="sci_scicos_new" function="scicos_new"/>
 </module>
index c9f4f9c..588e9d0 100644 (file)
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ItemGroup Label="ProjectConfigurations">
     <ProjectConfiguration Include="Debug|Win32">
@@ -82,7 +82,7 @@
     </PreBuildEvent>
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>.;../../includes;;../../../core/includes;../../../time/includes;../../../api_scilab/includes;../../../output_stream/includes;../../../scicos_blocks/includes;../../../windows_tools/includes;../../../graphics/includes;../../../localization/includes;../../../string/includes;../../../intersci/src/lib;../../../dynamic_link/includes;../scicos_sundials/include;../scicos_sundials/include/sundials;../scicos_sundials/src/ida;../../../action_binding/includes;../../../../libs/intl;../../../intersci/includes;../../../ast/includes/operations;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>.;../../includes;../cpp/;../cpp/model;../cpp/view_scilab;../scicos_sundials/include;../scicos_sundials/src/ida;../scicos_sundials/include/sundials;../../../../libs/intl;../../../../libs/Eigen/includes;../../../core/includes;../../../time/includes;../../../api_scilab/includes;../../../output_stream/includes;../../../scicos_blocks/includes;../../../windows_tools/includes;../../../graphics/includes;../../../localization/includes;../../../string/includes;../../../intersci/src/lib;../../../dynamic_link/includes;../../../action_binding/includes;../../../intersci/includes;../../../ast/includes/types;../../../ast/includes/ast;../../../ast/includes/exps;../../../ast/includes/operations;../../../ast/includes/symbol;../../../ast/includes/system_env;../../../ast/includes/parse;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;_DEBUG;_WINDOWS;_USRDLL;SCICOS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <WarningLevel>Level3</WarningLevel>
@@ -124,7 +124,7 @@ lib /DEF:"$(ProjectDir)differential_equations_f_Import.def" /SUBSYSTEM:WINDOWS /
     </Midl>
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>.;../../includes;;../../../core/includes;../../../time/includes;../../../api_scilab/includes;../../../output_stream/includes;../../../scicos_blocks/includes;../../../windows_tools/includes;../../../graphics/includes;../../../localization/includes;../../../string/includes;../../../intersci/src/lib;../../../dynamic_link/includes;../scicos_sundials/include;../scicos_sundials/include/sundials;../scicos_sundials/src/ida;../../../action_binding/includes;../../../../libs/intl;../../../intersci/includes;../../../ast/includes/operations;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>.;../../includes;../cpp/;../cpp/model;../cpp/view_scilab;../scicos_sundials/include;../scicos_sundials/src/ida;../scicos_sundials/include/sundials;../../../../libs/intl;../../../../libs/Eigen/includes;../../../core/includes;../../../time/includes;../../../api_scilab/includes;../../../output_stream/includes;../../../scicos_blocks/includes;../../../windows_tools/includes;../../../graphics/includes;../../../localization/includes;../../../string/includes;../../../intersci/src/lib;../../../dynamic_link/includes;../../../action_binding/includes;../../../intersci/includes;../../../ast/includes/types;../../../ast/includes/ast;../../../ast/includes/exps;../../../ast/includes/operations;../../../ast/includes/symbol;../../../ast/includes/system_env;../../../ast/includes/parse;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;_DEBUG;_WINDOWS;_USRDLL;SCICOS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <WarningLevel>Level3</WarningLevel>
@@ -164,7 +164,7 @@ lib /DEF:"$(ProjectDir)differential_equations_f_Import.def" /SUBSYSTEM:WINDOWS /
     <ClCompile>
       <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
       <WholeProgramOptimization>false</WholeProgramOptimization>
-      <AdditionalIncludeDirectories>.;../../includes;;../../../core/includes;../../../time/includes;../../../api_scilab/includes;../../../output_stream/includes;../../../scicos_blocks/includes;../../../windows_tools/includes;../../../graphics/includes;../../../localization/includes;../../../string/includes;../../../intersci/src/lib;../../../dynamic_link/includes;../scicos_sundials/include;../scicos_sundials/include/sundials;../scicos_sundials/src/ida;../../../action_binding/includes;../../../../libs/intl;../../../intersci/includes;../../../ast/includes/operations;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>.;../../includes;../cpp/;../cpp/model;../cpp/view_scilab;../scicos_sundials/include;../scicos_sundials/src/ida;../scicos_sundials/include/sundials;../../../../libs/intl;../../../../libs/Eigen/includes;../../../core/includes;../../../time/includes;../../../api_scilab/includes;../../../output_stream/includes;../../../scicos_blocks/includes;../../../windows_tools/includes;../../../graphics/includes;../../../localization/includes;../../../string/includes;../../../intersci/src/lib;../../../dynamic_link/includes;../../../action_binding/includes;../../../intersci/includes;../../../ast/includes/types;../../../ast/includes/ast;../../../ast/includes/exps;../../../ast/includes/operations;../../../ast/includes/symbol;../../../ast/includes/system_env;../../../ast/includes/parse;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;NDEBUG;_WINDOWS;_USRDLL;SCICOS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -211,7 +211,7 @@ lib /DEF:"$(ProjectDir)differential_equations_f_Import.def" /SUBSYSTEM:WINDOWS /
     <ClCompile>
       <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
       <WholeProgramOptimization>false</WholeProgramOptimization>
-      <AdditionalIncludeDirectories>.;../../includes;;../../../core/includes;../../../time/includes;../../../api_scilab/includes;../../../output_stream/includes;../../../scicos_blocks/includes;../../../windows_tools/includes;../../../graphics/includes;../../../localization/includes;../../../string/includes;../../../intersci/src/lib;../../../dynamic_link/includes;../scicos_sundials/include;../scicos_sundials/include/sundials;../scicos_sundials/src/ida;../../../action_binding/includes;../../../../libs/intl;../../../intersci/includes;../../../ast/includes/operations;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>.;../../includes;../cpp/;../cpp/model;../cpp/view_scilab;../scicos_sundials/include;../scicos_sundials/src/ida;../scicos_sundials/include/sundials;../../../../libs/intl;../../../../libs/Eigen/includes;../../../core/includes;../../../time/includes;../../../api_scilab/includes;../../../output_stream/includes;../../../scicos_blocks/includes;../../../windows_tools/includes;../../../graphics/includes;../../../localization/includes;../../../string/includes;../../../intersci/src/lib;../../../dynamic_link/includes;../../../action_binding/includes;../../../intersci/includes;../../../ast/includes/types;../../../ast/includes/ast;../../../ast/includes/exps;../../../ast/includes/operations;../../../ast/includes/symbol;../../../ast/includes/system_env;../../../ast/includes/parse;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;NDEBUG;_WINDOWS;_USRDLL;SCICOS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -250,6 +250,22 @@ lib /DEF:"$(ProjectDir)differential_equations_f_Import.def" /SUBSYSTEM:WINDOWS /
     </PostBuildEvent>
   </ItemDefinitionGroup>
   <ItemGroup>
+    <ClCompile Include="..\..\sci_gateway\cpp\sci_scicos_new.cpp" />
+    <ClCompile Include="..\cpp\Controller.cpp" />
+    <ClCompile Include="..\cpp\LoggerView.cpp" />
+    <ClCompile Include="..\cpp\Model.cpp" />
+    <ClCompile Include="..\cpp\Model_getObjectProperties.cpp" />
+    <ClCompile Include="..\cpp\Model_setObjectProperties.cpp" />
+    <ClCompile Include="..\cpp\view_scilab\Adapters.cpp" />
+    <ClCompile Include="..\cpp\view_scilab\BlockAdapter.cpp" />
+    <ClCompile Include="..\cpp\view_scilab\CprAdapter.cpp" />
+    <ClCompile Include="..\cpp\view_scilab\DiagramAdapter.cpp" />
+    <ClCompile Include="..\cpp\view_scilab\GraphicsAdapter.cpp" />
+    <ClCompile Include="..\cpp\view_scilab\LinkAdapter.cpp" />
+    <ClCompile Include="..\cpp\view_scilab\ModelAdapter.cpp" />
+    <ClCompile Include="..\cpp\view_scilab\ScsAdapter.cpp" />
+    <ClCompile Include="..\cpp\view_scilab\StateAdapter.cpp" />
+    <ClCompile Include="..\cpp\view_scilab\TextAdapter.cpp" />
     <ClCompile Include="copyvarfromlistentry.c" />
     <ClCompile Include="createblklist.c" />
     <ClCompile Include="DllmainScicos.c" />
@@ -305,6 +321,21 @@ lib /DEF:"$(ProjectDir)differential_equations_f_Import.def" /SUBSYSTEM:WINDOWS /
     <ClCompile Include="var2sci.c" />
   </ItemGroup>
   <ItemGroup>
+    <ClInclude Include="..\cpp\Controller.hxx" />
+    <ClInclude Include="..\cpp\LoggerView.hxx" />
+    <ClInclude Include="..\cpp\Model.hxx" />
+    <ClInclude Include="..\cpp\View.hxx" />
+    <ClInclude Include="..\cpp\view_scilab\Adapters.hxx" />
+    <ClInclude Include="..\cpp\view_scilab\BaseAdapter.hxx" />
+    <ClInclude Include="..\cpp\view_scilab\BlockAdapter.hxx" />
+    <ClInclude Include="..\cpp\view_scilab\CprAdapter.hxx" />
+    <ClInclude Include="..\cpp\view_scilab\DiagramAdapter.hxx" />
+    <ClInclude Include="..\cpp\view_scilab\GraphicsAdapter.hxx" />
+    <ClInclude Include="..\cpp\view_scilab\LinkAdapter.hxx" />
+    <ClInclude Include="..\cpp\view_scilab\ModelAdapter.hxx" />
+    <ClInclude Include="..\cpp\view_scilab\ScsAdapter.hxx" />
+    <ClInclude Include="..\cpp\view_scilab\StateAdapter.hxx" />
+    <ClInclude Include="..\cpp\view_scilab\TextAdapter.hxx" />
     <ClInclude Include="copyvarfromlistentry.h" />
     <ClInclude Include="createblklist.h" />
     <ClInclude Include="..\..\includes\dynlib_scicos.h" />
@@ -357,6 +388,9 @@ lib /DEF:"$(ProjectDir)differential_equations_f_Import.def" /SUBSYSTEM:WINDOWS /
     <ProjectReference Include="..\..\..\api_scilab\api_scilab.vcxproj">
       <Project>{43c5bab1-1dca-4743-a183-77e0d42fe7d0}</Project>
     </ProjectReference>
+    <ProjectReference Include="..\..\..\ast\ast.vcxproj">
+      <Project>{0d3fa25b-8116-44ec-a45e-260789daa3d9}</Project>
+    </ProjectReference>
     <ProjectReference Include="..\..\..\core\src\c\core.vcxproj">
       <Project>{c6e2bc17-34d8-46e4-85f3-6293cb21adcd}</Project>
     </ProjectReference>
@@ -364,6 +398,12 @@ lib /DEF:"$(ProjectDir)differential_equations_f_Import.def" /SUBSYSTEM:WINDOWS /
       <Project>{5b110267-7c18-437c-b87d-dba2b50729e9}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
     </ProjectReference>
+    <ProjectReference Include="..\..\..\localization\src\localization.vcxproj">
+      <Project>{ecffeb0c-1eda-45ee-9a10-b18143852e17}</Project>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\output_stream\src\c\output_stream.vcxproj">
+      <Project>{a5911cd7-f8e8-440c-a23e-4843a0636f3a}</Project>
+    </ProjectReference>
     <ProjectReference Include="..\..\..\scicos_blocks\src\c\scicos_blocks.vcxproj">
       <Project>{70f677f1-b535-4d0f-a16f-5093b799a540}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
index 0c905af..5d5746a 100644 (file)
     <Filter Include="Resource Files">
       <UniqueIdentifier>{fd4c7059-9d6b-4302-ab5f-e44fe487e4f2}</UniqueIdentifier>
     </Filter>
+    <Filter Include="Header Files\MVC">
+      <UniqueIdentifier>{68aaeac9-796f-4fe3-b827-5d0a8bcf1083}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Header Files\MVC\model">
+      <UniqueIdentifier>{1c3a578c-0cc6-4969-8177-9e0a5fea33e9}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Header Files\MVC\view_scilab">
+      <UniqueIdentifier>{73cd347f-ad23-40c4-8854-4aba4340b9b3}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Source Files\MVC">
+      <UniqueIdentifier>{a4e1d553-6029-4bae-a9dd-2a23872f00a8}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Source Files\MVC\view_scilab">
+      <UniqueIdentifier>{dfbdebf3-32a6-4baa-88b9-15eb57b917af}</UniqueIdentifier>
+    </Filter>
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="copyvarfromlistentry.c">
     <ClCompile Include="scilab5_needed_stubs.c">
       <Filter>Source Files</Filter>
     </ClCompile>
+    <ClCompile Include="..\cpp\Controller.cpp">
+      <Filter>Source Files\MVC</Filter>
+    </ClCompile>
+    <ClCompile Include="..\cpp\LoggerView.cpp">
+      <Filter>Source Files\MVC</Filter>
+    </ClCompile>
+    <ClCompile Include="..\cpp\Model.cpp">
+      <Filter>Source Files\MVC</Filter>
+    </ClCompile>
+    <ClCompile Include="..\cpp\Model_getObjectProperties.cpp">
+      <Filter>Source Files\MVC</Filter>
+    </ClCompile>
+    <ClCompile Include="..\cpp\Model_setObjectProperties.cpp">
+      <Filter>Source Files\MVC</Filter>
+    </ClCompile>
+    <ClCompile Include="..\cpp\view_scilab\CprAdapter.cpp">
+      <Filter>Source Files\MVC\view_scilab</Filter>
+    </ClCompile>
+    <ClCompile Include="..\cpp\view_scilab\DiagramAdapter.cpp">
+      <Filter>Source Files\MVC\view_scilab</Filter>
+    </ClCompile>
+    <ClCompile Include="..\cpp\view_scilab\GraphicsAdapter.cpp">
+      <Filter>Source Files\MVC\view_scilab</Filter>
+    </ClCompile>
+    <ClCompile Include="..\cpp\view_scilab\LinkAdapter.cpp">
+      <Filter>Source Files\MVC\view_scilab</Filter>
+    </ClCompile>
+    <ClCompile Include="..\cpp\view_scilab\ModelAdapter.cpp">
+      <Filter>Source Files\MVC\view_scilab</Filter>
+    </ClCompile>
+    <ClCompile Include="..\cpp\view_scilab\ScsAdapter.cpp">
+      <Filter>Source Files\MVC\view_scilab</Filter>
+    </ClCompile>
+    <ClCompile Include="..\cpp\view_scilab\StateAdapter.cpp">
+      <Filter>Source Files\MVC\view_scilab</Filter>
+    </ClCompile>
+    <ClCompile Include="..\cpp\view_scilab\TextAdapter.cpp">
+      <Filter>Source Files\MVC\view_scilab</Filter>
+    </ClCompile>
+    <ClCompile Include="..\cpp\view_scilab\Adapters.cpp">
+      <Filter>Source Files\MVC\view_scilab</Filter>
+    </ClCompile>
+    <ClCompile Include="..\cpp\view_scilab\BlockAdapter.cpp">
+      <Filter>Source Files\MVC\view_scilab</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\sci_gateway\cpp\sci_scicos_new.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="copyvarfromlistentry.h">
     <ClInclude Include="sciblk4.h">
       <Filter>Header Files</Filter>
     </ClInclude>
+    <ClInclude Include="..\cpp\Controller.hxx">
+      <Filter>Header Files\MVC</Filter>
+    </ClInclude>
+    <ClInclude Include="..\cpp\LoggerView.hxx">
+      <Filter>Header Files\MVC</Filter>
+    </ClInclude>
+    <ClInclude Include="..\cpp\Model.hxx">
+      <Filter>Header Files\MVC</Filter>
+    </ClInclude>
+    <ClInclude Include="..\cpp\View.hxx">
+      <Filter>Header Files\MVC</Filter>
+    </ClInclude>
+    <ClInclude Include="..\cpp\view_scilab\TextAdapter.hxx">
+      <Filter>Header Files\MVC\view_scilab</Filter>
+    </ClInclude>
+    <ClInclude Include="..\cpp\view_scilab\Adapters.hxx">
+      <Filter>Header Files\MVC\view_scilab</Filter>
+    </ClInclude>
+    <ClInclude Include="..\cpp\view_scilab\BaseAdapter.hxx">
+      <Filter>Header Files\MVC\view_scilab</Filter>
+    </ClInclude>
+    <ClInclude Include="..\cpp\view_scilab\BlockAdapter.hxx">
+      <Filter>Header Files\MVC\view_scilab</Filter>
+    </ClInclude>
+    <ClInclude Include="..\cpp\view_scilab\CprAdapter.hxx">
+      <Filter>Header Files\MVC\view_scilab</Filter>
+    </ClInclude>
+    <ClInclude Include="..\cpp\view_scilab\DiagramAdapter.hxx">
+      <Filter>Header Files\MVC\view_scilab</Filter>
+    </ClInclude>
+    <ClInclude Include="..\cpp\view_scilab\GraphicsAdapter.hxx">
+      <Filter>Header Files\MVC\view_scilab</Filter>
+    </ClInclude>
+    <ClInclude Include="..\cpp\view_scilab\LinkAdapter.hxx">
+      <Filter>Header Files\MVC\view_scilab</Filter>
+    </ClInclude>
+    <ClInclude Include="..\cpp\view_scilab\ModelAdapter.hxx">
+      <Filter>Header Files\MVC\view_scilab</Filter>
+    </ClInclude>
+    <ClInclude Include="..\cpp\view_scilab\ScsAdapter.hxx">
+      <Filter>Header Files\MVC\view_scilab</Filter>
+    </ClInclude>
+    <ClInclude Include="..\cpp\view_scilab\StateAdapter.hxx">
+      <Filter>Header Files\MVC\view_scilab</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <None Include="Dynamic_link_Import.def">
diff --git a/scilab/modules/scicos/src/cpp/Controller.cpp b/scilab/modules/scicos/src/cpp/Controller.cpp
new file mode 100644 (file)
index 0000000..a7f5d45
--- /dev/null
@@ -0,0 +1,218 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include <algorithm>
+
+#include "Controller.hxx"
+
+#include "LoggerView.hxx"
+
+namespace org_scilab_modules_scicos
+{
+
+Controller* Controller::_instance = 0;
+
+Controller* Controller::get_instance()
+{
+    if (_instance == 0)
+    {
+        _instance = new Controller();
+    }
+    return _instance;
+}
+
+void Controller::delete_instance()
+{
+    if (_instance != 0)
+    {
+        delete _instance;
+    }
+}
+
+Controller::Controller()
+{
+    LoggerView* v = new LoggerView();
+
+    register_view(v);
+}
+
+Controller::~Controller()
+{
+    for (view_set_t::iterator iter = allViews.begin(); iter != allViews.end(); iter++)
+    {
+        delete *iter;
+    }
+    allViews.clear();
+}
+
+void Controller::register_view(View* v)
+{
+    allViews.push_back(v);
+}
+
+void Controller::unregister_view(View* v)
+{
+    view_set_t::iterator it = std::find(allViews.begin(), allViews.end(), v);
+    if (it != allViews.end())
+    {
+        allViews.erase(it);
+    }
+}
+
+ScicosID Controller::createObject(kind_t k)
+{
+    ScicosID id = model.createObject(k);
+
+    for (view_set_t::iterator iter = allViews.begin(); iter != allViews.end(); iter++)
+    {
+        (*iter)->objectCreated(id, k);
+    }
+
+    return id;
+}
+
+void Controller::deleteObject(ScicosID uid)
+{
+    model.deleteObject(uid);
+
+    for (view_set_t::iterator iter = allViews.begin(); iter != allViews.end(); iter++)
+    {
+        (*iter)->objectDeleted(uid);
+    }
+}
+
+model::BaseObject* Controller::getObject(ScicosID uid)
+{
+    return model.getObject(uid);
+}
+
+update_status_t Controller::setObject(model::BaseObject* o)
+{
+    update_status_t status = model.setObject(o);
+
+    if (status == SUCCESS)
+    {
+        for (view_set_t::iterator iter = allViews.begin(); iter != allViews.end(); iter++)
+        {
+            (*iter)->objectUpdated(o->id(), o->kind());
+        }
+    }
+    return status;
+}
+
+bool Controller::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p,
+                                   double* v)
+{
+    return model.getObjectProperty(uid, k, p, v);
+}
+
+bool Controller::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, int* v)
+{
+    return model.getObjectProperty(uid, k, p, v);
+}
+
+bool Controller::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, bool* v)
+{
+    return model.getObjectProperty(uid, k, p, v);
+}
+
+bool Controller::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p,
+                                   std::string* v)
+{
+    return model.getObjectProperty(uid, k, p, v);
+}
+
+bool Controller::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p,
+                                   ScicosID* v)
+{
+    return model.getObjectProperty(uid, k, p, v);
+}
+
+bool Controller::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, size_t* len,
+                                   double** v)
+{
+    return model.getObjectProperty(uid, k, p, len, v);
+}
+
+bool Controller::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p,
+                                   size_t* len, int** v)
+{
+    return model.getObjectProperty(uid, k, p, len, v);
+}
+
+bool Controller::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p,
+                                   size_t* len, std::string** v)
+{
+    return model.getObjectProperty(uid, k, p, len, v);
+}
+
+bool Controller::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p,
+                                   size_t* len, ScicosID** v)
+{
+    return model.getObjectProperty(uid, k, p, len, v);
+}
+
+update_status_t Controller::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p,
+        double v)
+{
+    return generic_setObjectProp<double>(uid, k, p, v);
+}
+
+update_status_t Controller::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p,
+        int v)
+{
+    return generic_setObjectProp<int>(uid, k, p, v);
+}
+
+update_status_t Controller::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p,
+        bool v)
+{
+    return generic_setObjectProp<bool>(uid, k, p, v);
+}
+
+update_status_t Controller::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p,
+        ScicosID v)
+{
+    return generic_setObjectProp<ScicosID>(uid, k, p, v);
+}
+
+update_status_t Controller::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p,
+        std::string v)
+{
+    return generic_setObjectProp<std::string>(uid, k, p, v);
+}
+
+update_status_t Controller::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p,
+        size_t len, double* v)
+{
+    return generic_setObjectProp<double>(uid, k, p, len, v);
+}
+
+update_status_t Controller::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p,
+        size_t len, int* v)
+{
+    return generic_setObjectProp<int>(uid, k, p, len, v);
+}
+
+update_status_t Controller::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p,
+        size_t len, std::string* v)
+{
+    return generic_setObjectProp<std::string>(uid, k, p, len, v);
+}
+
+update_status_t Controller::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p,
+        size_t len, ScicosID* v)
+{
+    return generic_setObjectProp<ScicosID>(uid, k, p, len, v);
+}
+
+} /* namespace org_scilab_modules_scicos */
diff --git a/scilab/modules/scicos/src/cpp/Controller.hxx b/scilab/modules/scicos/src/cpp/Controller.hxx
new file mode 100644 (file)
index 0000000..2862f95
--- /dev/null
@@ -0,0 +1,118 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef CONTROLLER_HXX_
+#define CONTROLLER_HXX_
+
+#include <vector>
+#include <string>
+
+#include "utilities.hxx"
+#include "Model.hxx"
+#include "View.hxx"
+#include "model/BaseObject.hxx"
+
+namespace org_scilab_modules_scicos
+{
+
+/**
+ * Controller from the MVC pattern
+ *
+ * All calls to objects should use this controller, all usable objects are referenced by this controller.
+ */
+class Controller
+{
+public:
+    static Controller* get_instance();
+    static void delete_instance();
+
+    void register_view(View* v);
+    void unregister_view(View* v);
+
+    ScicosID createObject(kind_t k);
+    void deleteObject(ScicosID uid);
+
+    model::BaseObject* getObject(ScicosID uid);
+    update_status_t setObject(model::BaseObject* o);
+
+    bool getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, double* v);
+    bool getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, int* v);
+    bool getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, bool* v);
+    bool getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, std::string* v);
+    bool getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, ScicosID* v);
+    bool getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, size_t* len, double** v);
+    bool getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, size_t* len, int** v);
+    bool getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, size_t* len,
+                           std::string** v);
+    bool getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, size_t* len,
+                           ScicosID** v);
+
+    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, std::string v);
+    update_status_t setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, size_t len,
+                                      double* v);
+    update_status_t setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, size_t len,
+                                      int* v);
+    update_status_t setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, size_t len,
+                                      std::string* v);
+    update_status_t setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, size_t len,
+                                      ScicosID* v);
+
+private:
+    void dispatch(update_status_t status, ScicosID uid, kind_t k, object_properties_t p)
+    {
+        if (status == SUCCESS)
+        {
+            for (view_set_t::iterator iter = allViews.begin(); iter != allViews.end(); iter++)
+            {
+                (*iter)->propertyUpdated(uid, k, p);
+            }
+        }
+        for (view_set_t::iterator iter = allViews.begin(); iter != allViews.end(); iter++)
+        {
+            (*iter)->propertyUpdated(uid, k, p, status);
+        }
+    }
+
+    template<typename T>
+    update_status_t generic_setObjectProp(ScicosID uid, kind_t k, object_properties_t p, T v)
+    {
+        update_status_t status = model.setObjectProperty(uid, k, p, v);
+        dispatch(status, uid, k, p);
+        return status;
+    }
+    template<typename T>
+    update_status_t generic_setObjectProp(ScicosID uid, kind_t k, object_properties_t p, size_t len,
+                                          T* v)
+    {
+        update_status_t status = model.setObjectProperty(uid, k, p, len, v);
+        dispatch(status, uid, k, p);
+        return status;
+    }
+
+private:
+    static Controller* _instance;
+
+    Model model;
+    typedef std::vector<View*> view_set_t;
+    view_set_t allViews;
+
+    Controller();
+    ~Controller();
+};
+
+} /* namespace org_scilab_modules_scicos */
+
+#endif /* CONTROLLER_HXX_ */
diff --git a/scilab/modules/scicos/src/cpp/LoggerView.cpp b/scilab/modules/scicos/src/cpp/LoggerView.cpp
new file mode 100644 (file)
index 0000000..b5fdfe2
--- /dev/null
@@ -0,0 +1,226 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include <string>
+#include <iostream>
+#include <sstream>
+#include "scilabWrite.hxx"
+
+#include "LoggerView.hxx"
+#include "Controller.hxx"
+
+namespace org_scilab_modules_scicos
+{
+
+LoggerView::LoggerView()
+{
+}
+
+LoggerView::~LoggerView()
+{
+}
+
+// generated with :
+// awk ' $2 == "//!<" {sub(",","", $1); print "case " $1 ":\n    os << \"" $1 "\";\n    break;" }' ~/work/branches/YaSp/scilab/modules/scicos/includes/utilities.hxx
+
+static std::ostream& operator<<(std::ostream& os, update_status_t u)
+{
+    switch (u)
+    {
+        case SUCCESS:
+            os << "SUCCESS";
+            break;
+        case NO_CHANGES:
+            os << "NO_CHANGES";
+            break;
+        case FAIL:
+            os << "FAIL";
+            break;
+    }
+    return os;
+}
+
+static std::ostream& operator<<(std::ostream& os, kind_t k)
+{
+    switch (k)
+    {
+        case ANNOTATION:
+            os << "ANNOTATION";
+            break;
+        case BLOCK:
+            os << "BLOCK";
+            break;
+        case DIAGRAM:
+            os << "DIAGRAM";
+            break;
+        case LINK:
+            os << "LINK";
+            break;
+        case PORT:
+            os << "PORT";
+            break;
+    }
+    return os;
+}
+;
+
+static std::ostream& operator<<(std::ostream& os, object_properties_t p)
+{
+    switch (p)
+    {
+        case PARENT_DIAGRAM:
+            os << "PARENT_DIAGRAM";
+            break;
+        case GEOMETRY:
+            os << "GEOMETRY";
+            break;
+        case DESCRIPTION:
+            os << "DESCRIPTION";
+            break;
+        case RELATED_TO:
+            os << "RELATED_TO";
+            break;
+        case INTERFACE_FUNCTION:
+            os << "INTERFACE_FUNCTION";
+            break;
+        case SIM_FUNCTION_NAME:
+            os << "SIM_FUNCTION_NAME";
+            break;
+        case SIM_FUNCTION_API:
+            os << "SIM_FUNCTION_API";
+            break;
+        case SIM_SCHEDULE:
+            os << "SIM_SCHEDULE";
+            break;
+        case INPUTS:
+            os << "INPUTS";
+            break;
+        case OUTPUTS:
+            os << "OUTPUTS";
+            break;
+        case EVENT_INPUTS:
+            os << "EVENT_INPUTS";
+            break;
+        case EVENT_OUTPUTS:
+            os << "EVENT_OUTPUTS";
+            break;
+        case PARENT_BLOCK:
+            os << "PARENT_BLOCK";
+            break;
+        case CHILDREN:
+            os << "CHILDREN";
+            break;
+        case PORT_REFERENCE:
+            os << "PORT_REFERENCE";
+            break;
+        case DESTINATION_PORT:
+            os << "DESTINATION_PORT";
+            break;
+        case SOURCE_PORT:
+            os << "SOURCE_PORT";
+            break;
+        case CONTROL_POINTS:
+            os << "CONTROL_POINTS";
+            break;
+        case DATATYPE:
+            os << "DATATYPE";
+            break;
+        case SOURCE_BLOCK:
+            os << "SOURCE_BLOCK";
+            break;
+        case PORT_KIND:
+            os << "PORT_KIND";
+            break;
+        case PORT_NUMBER:
+            os << "PORT_NUMBER";
+            break;
+        case CONNECTED_SIGNALS:
+            os << "CONNECTED_SIGNALS";
+            break;
+    }
+    return os;
+}
+;
+
+static const bool USE_SCILAB_WRITE = true;
+
+void LoggerView::objectCreated(const ScicosID& uid, kind_t k)
+{
+    std::stringstream ss;
+
+    ss << __FUNCTION__ << "( " << uid << " , " << k << " )" << std::endl;
+
+    if (USE_SCILAB_WRITE)
+    {
+        scilabForcedWrite(ss.str().data());
+    }
+    else
+    {
+        std::cerr << ss.str();
+    }
+}
+
+void LoggerView::objectDeleted(const ScicosID& uid)
+{
+    std::stringstream ss;
+
+    ss << __FUNCTION__ << "( " << uid << " )" << std::endl;
+
+    if (USE_SCILAB_WRITE)
+    {
+        scilabForcedWrite(ss.str().data());
+    }
+    else
+    {
+        std::cerr << ss.str();
+    }
+}
+
+void LoggerView::objectUpdated(const ScicosID& uid, kind_t k)
+{
+    std::stringstream ss;
+
+    ss << __FUNCTION__ << "( " << uid << " , " << k << " )" << std::endl;
+
+    if (USE_SCILAB_WRITE)
+    {
+        scilabForcedWrite(ss.str().data());
+    }
+    else
+    {
+        std::cerr << ss.str();
+    }
+}
+
+void LoggerView::propertyUpdated(const ScicosID& uid, kind_t k, object_properties_t p)
+{
+    // do not log anything on success; the message has already been logged
+}
+
+void LoggerView::propertyUpdated(const ScicosID& uid, kind_t k, object_properties_t p,
+                                 update_status_t u)
+{
+    std::stringstream ss;
+
+    ss << __FUNCTION__ << "( " << uid << " , " << k << " , " << p << " ) : " << u << std::endl;
+
+    if (USE_SCILAB_WRITE)
+    {
+        scilabForcedWrite(ss.str().data());
+    }
+    else
+    {
+        std::cerr << ss.str();
+    }
+}
+
+} /* namespace org_scilab_modules_scicos */
diff --git a/scilab/modules/scicos/src/cpp/LoggerView.hxx b/scilab/modules/scicos/src/cpp/LoggerView.hxx
new file mode 100644 (file)
index 0000000..768b04e
--- /dev/null
@@ -0,0 +1,36 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef LOGGERVIEW_HXX_
+#define LOGGERVIEW_HXX_
+
+#include "View.hxx"
+
+namespace org_scilab_modules_scicos
+{
+
+class LoggerView: public View
+{
+public:
+    LoggerView();
+    ~LoggerView();
+
+    void objectCreated(const ScicosID& uid, kind_t k);
+    void objectDeleted(const ScicosID& uid);
+    void objectUpdated(const ScicosID& uid, kind_t k);
+    void propertyUpdated(const ScicosID& uid, kind_t k, object_properties_t p);
+    void propertyUpdated(const ScicosID& uid, kind_t k, object_properties_t p, update_status_t u);
+};
+
+} /* namespace org_scilab_modules_scicos */
+
+#endif /* LOGGERVIEW_HXX_ */
diff --git a/scilab/modules/scicos/src/cpp/Model.cpp b/scilab/modules/scicos/src/cpp/Model.cpp
new file mode 100644 (file)
index 0000000..e7e91cc
--- /dev/null
@@ -0,0 +1,122 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include "Model.hxx"
+#include "utilities.hxx"
+
+#include "model/BaseObject.hxx"
+#include "model/Annotation.hxx"
+#include "model/Diagram.hxx"
+#include "model/Block.hxx"
+#include "model/Link.hxx"
+#include "model/Port.hxx"
+
+namespace org_scilab_modules_scicos
+{
+
+Model::Model() :
+    lastId(0)
+{
+}
+
+Model::~Model()
+{
+}
+
+ScicosID Model::createObject(kind_t k)
+{
+    /*
+     * Allocate the object per kind
+     */
+    model::BaseObject* o;
+    switch (k)
+    {
+        case ANNOTATION:
+            o = new model::Annotation();
+            break;
+        case DIAGRAM:
+            o = new model::Diagram();
+            break;
+        case BLOCK:
+            o = new model::Block();
+            break;
+        case LINK:
+            o = new model::Link();
+            break;
+        case PORT:
+            o = new model::Port();
+            break;
+    }
+
+    /*
+     * Found the next unused id
+     */
+    lastId++;
+    objects_map_t::iterator iter = allObjects.lower_bound(lastId);
+    while (iter != allObjects.end() && !(lastId < iter->first))
+    {
+        // while key is found
+        lastId++;
+        iter = allObjects.lower_bound(lastId);
+    }
+
+    /*
+     * Insert then return
+     */
+    allObjects.insert(iter, std::make_pair(lastId, o));
+    o->id(lastId);
+    return lastId;
+}
+
+void Model::deleteObject(ScicosID uid)
+{
+    objects_map_t::iterator iter = allObjects.lower_bound(uid);
+    if (iter == allObjects.end() || uid < iter->first)
+    {
+        throw "key has not been found";
+    }
+
+    allObjects.erase(iter);
+    delete iter->second;
+}
+
+model::BaseObject* Model::getObject(ScicosID uid) const
+{
+    objects_map_t::const_iterator iter = allObjects.lower_bound(uid);
+    if (iter == allObjects.end() || uid < iter->first)
+    {
+        throw "key has not been found";
+    }
+
+    return iter->second;
+}
+
+update_status_t Model::setObject(model::BaseObject* o)
+{
+    objects_map_t::iterator iter = allObjects.lower_bound(o->id());
+    if (iter == allObjects.end() || o->id() < iter->first)
+    {
+        throw "key has not been found";
+    }
+
+    if (*iter->second == *o)
+    {
+        return NO_CHANGES;
+    }
+
+    o->id(iter->second->id());
+    delete iter->second;
+    iter->second = o;
+    return SUCCESS;
+}
+
+} /* namespace org_scilab_modules_scicos */
diff --git a/scilab/modules/scicos/src/cpp/Model.hxx b/scilab/modules/scicos/src/cpp/Model.hxx
new file mode 100644 (file)
index 0000000..4973841
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef MODEL_HXX_
+#define MODEL_HXX_
+
+#include <map>
+#include <string>
+
+#include "utilities.hxx"
+#include "model/BaseObject.hxx"
+
+namespace org_scilab_modules_scicos
+{
+
+class Model
+{
+public:
+    Model();
+    ~Model();
+
+    ScicosID createObject(kind_t k);
+    void deleteObject(ScicosID uid);
+
+    model::BaseObject* getObject(ScicosID uid) const;
+    update_status_t setObject(model::BaseObject* o);
+
+    bool getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, double* v);
+    bool getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, int* v);
+    bool getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, bool* v);
+    bool getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, std::string* v);
+    bool getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, ScicosID* v);
+    bool getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, size_t* len, double** v);
+    bool getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, size_t* len, int** v);
+    bool getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, size_t* len, std::string** v);
+    bool getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, size_t* len, ScicosID** v);
+
+    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, std::string v);
+    update_status_t setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, size_t len, double* v);
+    update_status_t setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, size_t len, int* v);
+    update_status_t setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, size_t len, std::string* v);
+    update_status_t setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, size_t len, ScicosID* v);
+
+private:
+    ScicosID lastId;
+    typedef std::map<ScicosID, model::BaseObject*> objects_map_t;
+    objects_map_t allObjects;
+};
+
+} /* namespace org_scilab_modules_scicos */
+
+#endif /* MODEL_HXX_ */
diff --git a/scilab/modules/scicos/src/cpp/Model_getObjectProperties.cpp b/scilab/modules/scicos/src/cpp/Model_getObjectProperties.cpp
new file mode 100644 (file)
index 0000000..ea9d05f
--- /dev/null
@@ -0,0 +1,488 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include "Model.hxx"
+#include "utilities.hxx"
+
+#include "model/BaseObject.hxx"
+#include "model/Annotation.hxx"
+#include "model/Diagram.hxx"
+#include "model/Block.hxx"
+#include "model/Link.hxx"
+#include "model/Port.hxx"
+
+namespace org_scilab_modules_scicos
+{
+
+bool Model::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, double* v)
+{
+
+    if (k == ANNOTATION)
+    {
+        model::Annotation* o = static_cast<model::Annotation*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == BLOCK)
+    {
+        model::Block* o = static_cast<model::Block*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == DIAGRAM)
+    {
+        model::Diagram* o = static_cast<model::Diagram*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == LINK)
+    {
+        model::Link* o = static_cast<model::Link*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == PORT)
+    {
+        model::Port* o = static_cast<model::Port*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    return false;
+}
+
+bool Model::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, int* v)
+{
+
+    if (k == ANNOTATION)
+    {
+        model::Annotation* o = static_cast<model::Annotation*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == BLOCK)
+    {
+        model::Block* o = static_cast<model::Block*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == DIAGRAM)
+    {
+        model::Diagram* o = static_cast<model::Diagram*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == LINK)
+    {
+        model::Link* o = static_cast<model::Link*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == PORT)
+    {
+        model::Port* o = static_cast<model::Port*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    return false;
+}
+
+bool Model::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, bool* v)
+{
+
+    if (k == ANNOTATION)
+    {
+        model::Annotation* o = static_cast<model::Annotation*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == BLOCK)
+    {
+        model::Block* o = static_cast<model::Block*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == DIAGRAM)
+    {
+        model::Diagram* o = static_cast<model::Diagram*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == LINK)
+    {
+        model::Link* o = static_cast<model::Link*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == PORT)
+    {
+        model::Port* o = static_cast<model::Port*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    return false;
+}
+
+bool Model::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, std::string* v)
+{
+
+    if (k == ANNOTATION)
+    {
+        model::Annotation* o = static_cast<model::Annotation*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == BLOCK)
+    {
+        model::Block* o = static_cast<model::Block*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == DIAGRAM)
+    {
+        model::Diagram* o = static_cast<model::Diagram*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == LINK)
+    {
+        model::Link* o = static_cast<model::Link*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == PORT)
+    {
+        model::Port* o = static_cast<model::Port*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    return false;
+}
+
+bool Model::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, ScicosID* v)
+{
+
+    if (k == ANNOTATION)
+    {
+        model::Annotation* o = static_cast<model::Annotation*>(getObject(uid));
+        switch (p)
+        {
+            case PARENT_DIAGRAM:
+                *v = o->getParentDiagram();
+                return true;
+            case RELATED_TO:
+                *v = o->getRelatedTo();
+                return true;
+            default:
+                break;
+        }
+    }
+    else if (k == BLOCK)
+    {
+        model::Block* o = static_cast<model::Block*>(getObject(uid));
+        switch (p)
+        {
+            case PARENT_DIAGRAM:
+                *v = o->getParentDiagram();
+                return true;
+            default:
+                break;
+        }
+    }
+    else if (k == DIAGRAM)
+    {
+        model::Diagram* o = static_cast<model::Diagram*>(getObject(uid));
+
+    }
+    else if (k == LINK)
+    {
+        model::Link* o = static_cast<model::Link*>(getObject(uid));
+        switch (p)
+        {
+            case PARENT_DIAGRAM:
+                *v = o->getParentDiagram();
+                return true;
+            default:
+                break;
+        }
+    }
+    else if (k == PORT)
+    {
+        model::Port* o = static_cast<model::Port*>(getObject(uid));
+    }
+    else
+    {
+    }
+    return false;
+}
+
+bool Model::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, size_t* len,
+                              double** v)
+{
+
+    if (k == ANNOTATION)
+    {
+        model::Annotation* o = static_cast<model::Annotation*>(getObject(uid));
+        switch (p)
+        {
+            case GEOMETRY:
+                o->getGeometry(len, v);
+                return true;
+            default:
+                break;
+        }
+    }
+    else if (k == BLOCK)
+    {
+        model::Block* o = static_cast<model::Block*>(getObject(uid));
+        switch (p)
+        {
+            case GEOMETRY:
+                o->getGeometry(len, v);
+                return true;
+            default:
+                break;
+        }
+    }
+    else if (k == DIAGRAM)
+    {
+        model::Diagram* o = static_cast<model::Diagram*>(getObject(uid));
+    }
+    else if (k == LINK)
+    {
+        model::Link* o = static_cast<model::Link*>(getObject(uid));
+    }
+    else if (k == PORT)
+    {
+        model::Port* o = static_cast<model::Port*>(getObject(uid));
+    }
+    else
+    {
+    }
+    return false;
+}
+
+bool Model::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, size_t* len, int** v)
+{
+
+    if (k == ANNOTATION)
+    {
+        model::Annotation* o = static_cast<model::Annotation*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == BLOCK)
+    {
+        model::Block* o = static_cast<model::Block*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == DIAGRAM)
+    {
+        model::Diagram* o = static_cast<model::Diagram*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == LINK)
+    {
+        model::Link* o = static_cast<model::Link*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == PORT)
+    {
+        model::Port* o = static_cast<model::Port*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    return false;
+}
+
+bool Model::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, size_t* len,
+                              std::string** v)
+{
+
+    if (k == ANNOTATION)
+    {
+        model::Annotation* o = static_cast<model::Annotation*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == BLOCK)
+    {
+        model::Block* o = static_cast<model::Block*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == DIAGRAM)
+    {
+        model::Diagram* o = static_cast<model::Diagram*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == LINK)
+    {
+        model::Link* o = static_cast<model::Link*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == PORT)
+    {
+        model::Port* o = static_cast<model::Port*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    return false;
+}
+
+bool Model::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, size_t* len,
+                              ScicosID** v)
+{
+
+    if (k == ANNOTATION)
+    {
+        model::Annotation* o = static_cast<model::Annotation*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == BLOCK)
+    {
+        model::Block* o = static_cast<model::Block*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == DIAGRAM)
+    {
+        model::Diagram* o = static_cast<model::Diagram*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == LINK)
+    {
+        model::Link* o = static_cast<model::Link*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == PORT)
+    {
+        model::Port* o = static_cast<model::Port*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    return false;
+}
+
+} /* namespace org_scilab_modules_scicos */
diff --git a/scilab/modules/scicos/src/cpp/Model_setObjectProperties.cpp b/scilab/modules/scicos/src/cpp/Model_setObjectProperties.cpp
new file mode 100644 (file)
index 0000000..6199bf2
--- /dev/null
@@ -0,0 +1,497 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include "Model.hxx"
+#include "utilities.hxx"
+
+#include "model/BaseObject.hxx"
+#include "model/Annotation.hxx"
+#include "model/Diagram.hxx"
+#include "model/Block.hxx"
+#include "model/Link.hxx"
+#include "model/Port.hxx"
+
+namespace org_scilab_modules_scicos
+{
+
+update_status_t Model::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, double v)
+{
+
+    if (k == ANNOTATION)
+    {
+        model::Annotation* o = static_cast<model::Annotation*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == BLOCK)
+    {
+        model::Block* o = static_cast<model::Block*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == DIAGRAM)
+    {
+        model::Diagram* o = static_cast<model::Diagram*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == LINK)
+    {
+        model::Link* o = static_cast<model::Link*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == PORT)
+    {
+        model::Port* o = static_cast<model::Port*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    return FAIL;
+}
+
+update_status_t Model::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, int v)
+{
+
+    if (k == ANNOTATION)
+    {
+        model::Annotation* o = static_cast<model::Annotation*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == BLOCK)
+    {
+        model::Block* o = static_cast<model::Block*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == DIAGRAM)
+    {
+        model::Diagram* o = static_cast<model::Diagram*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == LINK)
+    {
+        model::Link* o = static_cast<model::Link*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == PORT)
+    {
+        model::Port* o = static_cast<model::Port*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    return FAIL;
+}
+
+update_status_t Model::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, bool v)
+{
+
+    if (k == ANNOTATION)
+    {
+        model::Annotation* o = static_cast<model::Annotation*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == BLOCK)
+    {
+        model::Block* o = static_cast<model::Block*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == DIAGRAM)
+    {
+        model::Diagram* o = static_cast<model::Diagram*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == LINK)
+    {
+        model::Link* o = static_cast<model::Link*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == PORT)
+    {
+        model::Port* o = static_cast<model::Port*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    return FAIL;
+}
+
+update_status_t Model::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p,
+        ScicosID v)
+{
+
+    if (k == ANNOTATION)
+    {
+        model::Annotation* o = static_cast<model::Annotation*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == BLOCK)
+    {
+        model::Block* o = static_cast<model::Block*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == DIAGRAM)
+    {
+        model::Diagram* o = static_cast<model::Diagram*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == LINK)
+    {
+        model::Link* o = static_cast<model::Link*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == PORT)
+    {
+        model::Port* o = static_cast<model::Port*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    return FAIL;
+}
+
+update_status_t Model::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p,
+        std::string v)
+{
+
+    if (k == ANNOTATION)
+    {
+        model::Annotation* o = static_cast<model::Annotation*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == BLOCK)
+    {
+        model::Block* o = static_cast<model::Block*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == DIAGRAM)
+    {
+        model::Diagram* o = static_cast<model::Diagram*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == LINK)
+    {
+        model::Link* o = static_cast<model::Link*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == PORT)
+    {
+        model::Port* o = static_cast<model::Port*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    return FAIL;
+}
+
+update_status_t Model::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, size_t len,
+        double* v)
+{
+
+    if (k == ANNOTATION)
+    {
+        model::Annotation* o = static_cast<model::Annotation*>(getObject(uid));
+        switch (p)
+        {
+            case GEOMETRY:
+                return o->setGeometry(len, v);
+            default:
+                break;
+        }
+    }
+    else if (k == BLOCK)
+    {
+        model::Block* o = static_cast<model::Block*>(getObject(uid));
+        switch (p)
+        {
+            case GEOMETRY:
+                return o->setGeometry(len, v);
+            default:
+                break;
+        }
+    }
+    else if (k == DIAGRAM)
+    {
+        model::Diagram* o = static_cast<model::Diagram*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == LINK)
+    {
+        model::Link* o = static_cast<model::Link*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == PORT)
+    {
+        model::Port* o = static_cast<model::Port*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    return FAIL;
+}
+
+update_status_t Model::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, size_t len,
+        int* v)
+{
+
+    if (k == ANNOTATION)
+    {
+        model::Annotation* o = static_cast<model::Annotation*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == BLOCK)
+    {
+        model::Block* o = static_cast<model::Block*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == DIAGRAM)
+    {
+        model::Diagram* o = static_cast<model::Diagram*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == LINK)
+    {
+        model::Link* o = static_cast<model::Link*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == PORT)
+    {
+        model::Port* o = static_cast<model::Port*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    return FAIL;
+}
+
+update_status_t Model::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, size_t len,
+        std::string* v)
+{
+
+    if (k == ANNOTATION)
+    {
+        model::Annotation* o = static_cast<model::Annotation*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == BLOCK)
+    {
+        model::Block* o = static_cast<model::Block*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == DIAGRAM)
+    {
+        model::Diagram* o = static_cast<model::Diagram*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == LINK)
+    {
+        model::Link* o = static_cast<model::Link*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == PORT)
+    {
+        model::Port* o = static_cast<model::Port*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    return FAIL;
+}
+
+update_status_t Model::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, size_t len,
+        ScicosID* v)
+{
+
+    if (k == ANNOTATION)
+    {
+        model::Annotation* o = static_cast<model::Annotation*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == BLOCK)
+    {
+        model::Block* o = static_cast<model::Block*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == DIAGRAM)
+    {
+        model::Diagram* o = static_cast<model::Diagram*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == LINK)
+    {
+        model::Link* o = static_cast<model::Link*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    else if (k == PORT)
+    {
+        model::Port* o = static_cast<model::Port*>(getObject(uid));
+        switch (p)
+        {
+            default:
+                break;
+        }
+    }
+    return FAIL;
+}
+
+} /* namespace org_scilab_modules_scicos */
+
+
diff --git a/scilab/modules/scicos/src/cpp/View.hxx b/scilab/modules/scicos/src/cpp/View.hxx
new file mode 100644 (file)
index 0000000..f88d6a5
--- /dev/null
@@ -0,0 +1,36 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef VIEW_HXX_
+#define VIEW_HXX_
+
+#include "utilities.hxx"
+
+namespace org_scilab_modules_scicos
+{
+
+class View
+{
+public:
+    View() {};
+    virtual ~View() {};
+
+    virtual void objectCreated(const ScicosID& uid, kind_t k) = 0;
+    virtual void objectDeleted(const ScicosID& uid) = 0;
+    virtual void objectUpdated(const ScicosID& uid, kind_t k) = 0;
+    virtual void propertyUpdated(const ScicosID& uid, kind_t k, object_properties_t p) = 0;
+    virtual void propertyUpdated(const ScicosID& uid, kind_t k, object_properties_t p, update_status_t u) = 0;
+};
+
+} /* namespace org_scilab_modules_scicos */
+
+#endif /* VIEW_HXX_ */
diff --git a/scilab/modules/scicos/src/cpp/model/Annotation.hxx b/scilab/modules/scicos/src/cpp/model/Annotation.hxx
new file mode 100644 (file)
index 0000000..83b3025
--- /dev/null
@@ -0,0 +1,117 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef ANNOTATION_HXX_
+#define ANNOTATION_HXX_
+
+#include <cassert>
+#include <string>
+
+#include "Model.hxx"
+#include "model/BaseObject.hxx"
+
+namespace org_scilab_modules_scicos
+{
+namespace model
+{
+
+class Annotation: public BaseObject
+{
+    friend class ::org_scilab_modules_scicos::Model;
+
+private:
+    Annotation(): BaseObject(ANNOTATION), parentDiagram(0), geometry(), description(), relatedTo(0) {};
+    Annotation(const Annotation& o) : BaseObject(ANNOTATION), parentDiagram(o.parentDiagram), geometry(o.geometry), description(o.description), relatedTo(o.relatedTo) {};
+    ~Annotation() {};
+
+    const std::string& getDescription() const
+    {
+        return description;
+    }
+
+    update_status_t setDescription(const std::string& description)
+    {
+        if (this->description == description)
+        {
+            return NO_CHANGES;
+        }
+
+        this->description = description;
+        return SUCCESS;
+    }
+
+    void getGeometry(size_t* len, double** data) const
+    {
+        *len = 4;
+        *data = geometry.copy();
+    }
+
+    update_status_t setGeometry(size_t len, double* data)
+    {
+        if (len != 4)
+        {
+            return FAIL;
+        }
+
+        Geometry g = Geometry(data);
+        if (g == geometry)
+        {
+            return NO_CHANGES;
+        }
+
+        geometry = g;
+        return SUCCESS;
+    }
+
+    ScicosID getParentDiagram() const
+    {
+        return parentDiagram;
+    }
+
+    update_status_t setParentDiagram(ScicosID parentDiagram)
+    {
+        if (this->parentDiagram == parentDiagram)
+        {
+            return NO_CHANGES;
+        }
+
+        this->parentDiagram = parentDiagram;
+        return SUCCESS;
+    }
+
+    ScicosID getRelatedTo() const
+    {
+        return relatedTo;
+    }
+
+    update_status_t setRelatedTo(ScicosID relatedTo)
+    {
+        if (this->relatedTo == relatedTo)
+        {
+            return NO_CHANGES;
+        }
+
+        this->relatedTo = relatedTo;
+        return SUCCESS;
+    }
+
+private:
+    ScicosID parentDiagram;
+    Geometry geometry;
+    std::string description;
+    ScicosID relatedTo;
+};
+
+} /* namespace model */
+} /* namespace org_scilab_modules_scicos */
+
+#endif /* ANNOTATION_HXX_ */
diff --git a/scilab/modules/scicos/src/cpp/model/BaseObject.hxx b/scilab/modules/scicos/src/cpp/model/BaseObject.hxx
new file mode 100644 (file)
index 0000000..1a22d5c
--- /dev/null
@@ -0,0 +1,126 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef BASEOBJECT_HXX_
+#define BASEOBJECT_HXX_
+
+#include "utilities.hxx"
+
+namespace org_scilab_modules_scicos
+{
+namespace model
+{
+
+class BaseObject
+{
+public:
+    BaseObject(kind_t k) :
+        _id(0), _kind(k)
+    {
+    }
+    BaseObject(const BaseObject& b) :
+        _id(0), _kind(b._kind)
+    {
+    }
+
+    inline bool operator<(BaseObject o)
+    {
+        return _id < o._id;
+    }
+    inline bool operator==(BaseObject o)
+    {
+        return _id == o._id;
+    }
+
+    inline ScicosID id()
+    {
+        return _id;
+    }
+    inline void id(ScicosID id)
+    {
+        _id = id;
+    }
+
+    inline kind_t kind()
+    {
+        return _kind;
+    }
+
+private:
+    /**
+     * An id is used as a reference to the current object
+     */
+    ScicosID _id;
+
+    /**
+     * Kind of the Object
+     */
+    const kind_t _kind;
+};
+
+/** @defgroup utilities Shared utility classes
+ * @{
+ */
+
+/*
+ * Represent a graphical object
+ */
+struct Geometry
+{
+    double x;
+    double y;
+    double width;
+    double height;
+
+    Geometry() : x(0), y(0), width(0), height(0) {};
+    Geometry(const Geometry& g) : x(g.x), y(g.y), width(g.width), height(g.height) {};
+    Geometry(double* data) : x(data[0]), y(data[1]), width(data[2]), height(data[3]) {};
+    double* copy() const
+    {
+        double* d = new double[4];
+        d[0] = x;
+        d[1] = y;
+        d[2] = width;
+        d[3] = height;
+        return d;
+    }
+    bool operator==(const Geometry& g) const
+    {
+        return x == g.x && y == g.y && width == g.width && height == g.height;
+    }
+};
+
+/**
+ * Per port type descriptor
+ *
+ * FIXME: should reuse Scilab datatypes descriptors
+ */
+struct Datatype
+{
+public:
+    Datatype(unsigned int datatype, unsigned int r, unsigned c) :
+        datatype_id(datatype), rows(r), collumns(c)
+    {
+    }
+
+    const unsigned int datatype_id;
+    const unsigned int rows;
+    const unsigned int collumns;
+
+};
+
+/** @}*/
+
+} /* namespace model */
+} /* namespace org_scilab_modules_scicos */
+
+#endif /* BASEOBJECT_HXX_ */
diff --git a/scilab/modules/scicos/src/cpp/model/Block.hxx b/scilab/modules/scicos/src/cpp/model/Block.hxx
new file mode 100644 (file)
index 0000000..20d0ca6
--- /dev/null
@@ -0,0 +1,235 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef BLOCK_HXX_
+#define BLOCK_HXX_
+
+#include <cassert>
+#include <string>
+#include <vector>
+#include <bitset>
+#include <utility>
+
+#include "Model.hxx"
+#include "model/BaseObject.hxx"
+
+namespace org_scilab_modules_scicos
+{
+namespace model
+{
+
+struct Parameter
+{
+    // FIXME: list the possible parameters kind, name, and so on
+    double foo;
+};
+
+// FIXME add more values there
+enum SchedulingProperties
+{
+    DEP_U       = 1 << 0, //!< y=f(u)
+    DEP_T       = 1 << 1, //!< y=f(x)
+    BLOCKTYPE_H = 1 << 2, //!< y=f(u) but depends on t (if then else block)
+};
+
+struct Descriptor
+{
+    std::string functionName;
+    int functionApi;
+
+    // FIXME: should encode all possible values for dep_ut and blocktype
+    int schedulingProperties;
+};
+
+class Block: public BaseObject
+{
+private:
+    friend class ::org_scilab_modules_scicos::Model;
+
+private:
+    Block() : BaseObject(BLOCK), parentDiagram(0), interfaceFunction(), geometry(), parentBlock(0), portReference(0) {};
+    Block(const Block& o) : BaseObject(BLOCK), parentDiagram(o.parentDiagram), interfaceFunction(o.interfaceFunction), geometry(o.geometry), parentBlock(o.parentBlock), portReference(o.portReference) {};
+    ~Block() {}
+
+    const std::vector<ScicosID>& getChildren() const
+    {
+        return children;
+    }
+
+    void setChildren(const std::vector<ScicosID>& children)
+    {
+        this->children = children;
+    }
+
+    const std::vector<ScicosID>& getEin() const
+    {
+        return ein;
+    }
+
+    void setEin(const std::vector<ScicosID>& ein)
+    {
+        this->ein = ein;
+    }
+
+    const std::vector<ScicosID>& getEout() const
+    {
+        return eout;
+    }
+
+    void setEout(const std::vector<ScicosID>& eout)
+    {
+        this->eout = eout;
+    }
+
+    void getGeometry(size_t* len, double** data) const
+    {
+        *len = 4;
+        *data = geometry.copy();
+    }
+
+    update_status_t setGeometry(size_t len, double* data)
+    {
+        if (len != 4)
+        {
+            return FAIL;
+        }
+
+        Geometry g = Geometry(data);
+        if (g == geometry)
+        {
+            return NO_CHANGES;
+        }
+
+        geometry = g;
+        return SUCCESS;
+    }
+
+    const std::vector<ScicosID>& getIn() const
+    {
+        return in;
+    }
+
+    void setIn(const std::vector<ScicosID>& in)
+    {
+        this->in = in;
+    }
+
+    const std::string& getInterfaceFunction() const
+    {
+        return interfaceFunction;
+    }
+
+    void setInterfaceFunction(const std::string& interfaceFunction)
+    {
+        this->interfaceFunction = interfaceFunction;
+    }
+
+    const std::vector<ScicosID>& getOut() const
+    {
+        return out;
+    }
+
+    void setOut(const std::vector<ScicosID>& out)
+    {
+        this->out = out;
+    }
+
+    const Parameter& getParameters() const
+    {
+        return parameters;
+    }
+
+    void setParameters(const Parameter& parameters)
+    {
+        this->parameters = parameters;
+    }
+
+    ScicosID getParentBlock() const
+    {
+        return parentBlock;
+    }
+
+    void setParentBlock(ScicosID parentBlock)
+    {
+        this->parentBlock = parentBlock;
+    }
+
+    ScicosID getParentDiagram() const
+    {
+        return parentDiagram;
+    }
+
+    void setParentDiagram(ScicosID parentDiagram)
+    {
+        this->parentDiagram = parentDiagram;
+    }
+
+    ScicosID getPortReference() const
+    {
+        return portReference;
+    }
+
+    void setPortReference(ScicosID portReference)
+    {
+        this->portReference = portReference;
+    }
+
+    const Descriptor& getSim() const
+    {
+        return sim;
+    }
+
+    void setSim(const Descriptor& sim)
+    {
+        this->sim = sim;
+    }
+
+    const std::string& getStyle() const
+    {
+        return style;
+    }
+
+    void setStyle(const std::string& style)
+    {
+        this->style = style;
+    }
+private:
+    ScicosID parentDiagram;
+    std::string interfaceFunction;
+    Geometry geometry;
+    std::string style;
+
+    Descriptor sim;
+
+    std::vector<ScicosID> in;
+    std::vector<ScicosID> out;
+    std::vector<ScicosID> ein;
+    std::vector<ScicosID> eout;
+
+    Parameter parameters;
+
+    /**
+     * SuperBlock: the blocks, links and so on contained into this block
+     */
+    ScicosID parentBlock;
+    std::vector<ScicosID> children;
+
+    /**
+     * I/O Blocks: the corresponding parent port
+     */
+    ScicosID portReference;
+};
+
+} /* namespace model */
+} /* namespace org_scilab_modules_scicos */
+
+#endif /* BLOCK_HXX_ */
diff --git a/scilab/modules/scicos/src/cpp/model/Diagram.hxx b/scilab/modules/scicos/src/cpp/model/Diagram.hxx
new file mode 100644 (file)
index 0000000..0158411
--- /dev/null
@@ -0,0 +1,82 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef DIAGRAM_HXX_
+#define DIAGRAM_HXX_
+
+#include <vector>
+
+#include "Model.hxx"
+#include "model/BaseObject.hxx"
+
+namespace org_scilab_modules_scicos
+{
+namespace model
+{
+
+struct SimulationConfig
+{
+    double final_time;
+
+    // FIXME: add more properties there
+};
+
+class Diagram: public BaseObject
+{
+    friend class ::org_scilab_modules_scicos::Model;
+
+private:
+    Diagram() : BaseObject(DIAGRAM) {};
+    Diagram(const Diagram& o)  : BaseObject(DIAGRAM) {};
+    ~Diagram() {}
+
+    const std::vector<ScicosID>& getChildren() const
+    {
+        return children;
+    }
+
+    void setChildren(const std::vector<ScicosID>& children)
+    {
+        this->children = children;
+    }
+
+    const std::vector<Datatype*>& getDatatypes() const
+    {
+        return datatypes;
+    }
+
+    void setDatatypes(const std::vector<Datatype*>& datatypes)
+    {
+        this->datatypes = datatypes;
+    }
+
+    const SimulationConfig& getProperties() const
+    {
+        return properties;
+    }
+
+    void setProperties(const SimulationConfig& properties)
+    {
+        this->properties = properties;
+    }
+
+private:
+    SimulationConfig properties;
+
+    std::vector<ScicosID> children;
+    std::vector<Datatype*> datatypes;
+};
+
+} /* namespace model */
+} /* namespace org_scilab_modules_scicos */
+
+#endif /* DIAGRAM_HXX_ */
diff --git a/scilab/modules/scicos/src/cpp/model/Link.hxx b/scilab/modules/scicos/src/cpp/model/Link.hxx
new file mode 100644 (file)
index 0000000..3dbc858
--- /dev/null
@@ -0,0 +1,90 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef LINK_HXX_
+#define LINK_HXX_
+
+#include <string>
+#include <vector>
+#include <utility>
+
+#include "Model.hxx"
+#include "model/BaseObject.hxx"
+
+namespace org_scilab_modules_scicos
+{
+namespace model
+{
+
+class Link: public BaseObject
+{
+    friend class ::org_scilab_modules_scicos::Model;
+
+private:
+    Link() : BaseObject(LINK), parentDiagram(0), sourcePort(0), destinationPort(0), controlPoints() {};
+    Link(const Link& o) : BaseObject(LINK), parentDiagram(o.parentDiagram), sourcePort(o.sourcePort), destinationPort(o.destinationPort), controlPoints(o.controlPoints) {};
+    ~Link() {}
+
+    ScicosID getParentDiagram() const
+    {
+        return parentDiagram;
+    }
+
+    void setParentDiagram(ScicosID parentDiagram)
+    {
+        this->parentDiagram = parentDiagram;
+    }
+
+    const std::vector<std::pair<double, double> >& getControlPoints() const
+    {
+        return controlPoints;
+    }
+
+    void setControlPoints(const std::vector<std::pair<double, double> >& controlPoints)
+    {
+        this->controlPoints = controlPoints;
+    }
+
+    ScicosID getDestinationPort() const
+    {
+        return destinationPort;
+    }
+
+    void setDestinationPort(ScicosID destinationPort)
+    {
+        this->destinationPort = destinationPort;
+    }
+
+    ScicosID getSourcePort() const
+    {
+        return sourcePort;
+    }
+
+    void setSourcePort(ScicosID sourcePort)
+    {
+        this->sourcePort = sourcePort;
+    }
+
+private:
+    ScicosID parentDiagram;
+
+    ScicosID sourcePort;
+    ScicosID destinationPort;
+
+    // used to store, user-defined control points
+    std::vector<std::pair<double, double> > controlPoints;
+};
+
+} /* namespace model */
+} /* namespace org_scilab_modules_scicos */
+
+#endif /* LINK_HXX_ */
diff --git a/scilab/modules/scicos/src/cpp/model/Port.hxx b/scilab/modules/scicos/src/cpp/model/Port.hxx
new file mode 100644 (file)
index 0000000..8910b9d
--- /dev/null
@@ -0,0 +1,102 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef PORT_HXX_
+#define PORT_HXX_
+
+#include <vector>
+
+#include "Model.hxx"
+#include "model/BaseObject.hxx"
+
+namespace org_scilab_modules_scicos
+{
+namespace model
+{
+
+enum portKind
+{
+    UNDEF, IN, OUT, EIN, EOUT
+};
+
+class Port: public BaseObject
+{
+    friend class ::org_scilab_modules_scicos::Model;
+
+private:
+    Port() : BaseObject(PORT), dataType(0), sourceBlock(0), kind(UNDEF), portNumber(0) {};
+    Port(const Port& o) : BaseObject(PORT), dataType(o.dataType), sourceBlock(o.sourceBlock), kind(o.kind), portNumber(o.portNumber) {};
+    ~Port() {};
+
+    const std::vector<ScicosID>& getConnectedSignals() const
+    {
+        return connectedSignals;
+    }
+
+    void setConnectedSignals(const std::vector<ScicosID>& connectedSignals)
+    {
+        this->connectedSignals = connectedSignals;
+    }
+
+    Datatype* getDataType() const
+    {
+        return dataType;
+    }
+
+    void setDataType(Datatype* dataType)
+    {
+        this->dataType = dataType;
+    }
+
+    portKind getKind() const
+    {
+        return kind;
+    }
+
+    void setKind(portKind kind)
+    {
+        this->kind = kind;
+    }
+
+    unsigned int getPortNumber() const
+    {
+        return portNumber;
+    }
+
+    void setPortNumber(unsigned int portNumber)
+    {
+        this->portNumber = portNumber;
+    }
+
+    ScicosID getSourceBlock() const
+    {
+        return sourceBlock;
+    }
+
+    void setSourceBlock(ScicosID sourceBlock)
+    {
+        this->sourceBlock = sourceBlock;
+    }
+
+private:
+    Datatype* dataType;
+    ScicosID sourceBlock;
+    portKind kind;
+    unsigned int portNumber;
+
+    std::vector<ScicosID> connectedSignals;
+};
+
+} /* namespace model */
+} /* namespace org_scilab_modules_scicos */
+
+#endif /* PORT_HXX_ */
diff --git a/scilab/modules/scicos/src/cpp/view_scilab/Adapters.cpp b/scilab/modules/scicos/src/cpp/view_scilab/Adapters.cpp
new file mode 100644 (file)
index 0000000..46fce80
--- /dev/null
@@ -0,0 +1,76 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include <algorithm>
+
+#include "Adapters.hxx"
+
+#include "BlockAdapter.hxx"
+#include "CprAdapter.hxx"
+#include "DiagramAdapter.hxx"
+#include "GraphicsAdapter.hxx"
+#include "LinkAdapter.hxx"
+#include "ModelAdapter.hxx"
+#include "StateAdapter.hxx"
+#include "TextAdapter.hxx"
+
+namespace org_scilab_modules_scicos
+{
+namespace view_scilab
+{
+
+Adapters Adapters::m_instance = Adapters();
+
+Adapters& Adapters::instance()
+{
+    return m_instance;
+}
+
+Adapters::Adapters()
+{
+    /*
+     * Create the supported data types list
+     */
+    adapters = adapters_t();
+    // we assume that the INVALID_ADAPTER is set at end of the enum
+    adapters.reserve(INVALID_ADAPTER);
+
+    adapters.push_back(adapter_t(view_scilab::BlockAdapter::getSharedTypeStr(), BLOCK_ADAPTER));
+    adapters.push_back(adapter_t(view_scilab::CprAdapter::getSharedTypeStr(), CPR_ADAPTER));
+    adapters.push_back(adapter_t(L"Deleted", DELETED_ADAPTER));
+    adapters.push_back(adapter_t(view_scilab::DiagramAdapter::getSharedTypeStr(), DIAGRAM_ADAPTER));
+    adapters.push_back(adapter_t(view_scilab::GraphicsAdapter::getSharedTypeStr(), GRAPHIC_ADAPTER));
+    adapters.push_back(adapter_t(view_scilab::LinkAdapter::getSharedTypeStr(), LINK_ADAPTER));
+    adapters.push_back(adapter_t(view_scilab::ModelAdapter::getSharedTypeStr(), MODEL_ADAPTER));
+    adapters.push_back(adapter_t(view_scilab::StateAdapter::getSharedTypeStr(), STATE_ADAPTER));
+    adapters.push_back(adapter_t(view_scilab::TextAdapter::getSharedTypeStr(), TEXT_ADAPTER));
+
+    std::sort(adapters.begin(), adapters.end());
+}
+
+Adapters::~Adapters()
+{
+    adapters.clear();
+}
+
+Adapters::adapters_index_t Adapters::lookup_by_typename(const std::wstring& name)
+{
+    adapters_t::iterator it = std::lower_bound(adapters.begin(), adapters.end(), name);
+    if (it != adapters.end() && !(name < it->name))
+    {
+        return it->kind;
+    }
+    return INVALID_ADAPTER;
+}
+
+} /* namespace view_scilab */
+} /* namespace org_scilab_modules_scicos */
diff --git a/scilab/modules/scicos/src/cpp/view_scilab/Adapters.hxx b/scilab/modules/scicos/src/cpp/view_scilab/Adapters.hxx
new file mode 100644 (file)
index 0000000..f88db1d
--- /dev/null
@@ -0,0 +1,82 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef ADAPTERS_H_
+#define ADAPTERS_H_
+
+#include <vector>
+#include <utility>
+#include <string>
+
+namespace org_scilab_modules_scicos
+{
+namespace view_scilab
+{
+
+/*
+ * Shared data between adapters
+ */
+class Adapters
+{
+public:
+    typedef enum
+    {
+        BLOCK_ADAPTER = 0,  //!< \see view_scilab::BlockAdapter
+        CPR_ADAPTER,        //!< \see view_scilab::CprAdapter
+        DELETED_ADAPTER,    //!< \see view_scilab::DeletedAdapter
+        DIAGRAM_ADAPTER,    //!< \see view_scilab::DiagramAdapter
+        GRAPHIC_ADAPTER,    //!< \see view_scilab::GraphicAdapter
+        LINK_ADAPTER,       //!< \see view_scilab::LinkAdapter
+        MODEL_ADAPTER,      //!< \see view_scilab::ModelAdapter
+        SCS_ADAPTER,        //!< \see view_scilab::ScsAdapter
+        STATE_ADAPTER,      //!< \see view_scilab::StateAdapter
+        TEXT_ADAPTER,       //!< \see view_scilab::TextAdapter
+
+        INVALID_ADAPTER     //!< length of the enum is used to report error
+    } adapters_index_t;
+
+    static Adapters& instance();
+
+    adapters_index_t lookup_by_typename(const std::wstring& name);
+
+private:
+
+    struct adapter_t
+    {
+        adapter_t(std::wstring n, adapters_index_t k) : name(n), kind(k) {};
+
+        inline bool operator<(const adapter_t& v) const
+        {
+            return name < v.name;
+        }
+
+        inline bool operator<(const std::wstring& v) const
+        {
+            return name < v;
+        }
+
+        std::wstring name;
+        adapters_index_t kind;
+    };
+    typedef std::vector<adapter_t> adapters_t;
+
+    Adapters();
+    ~Adapters();
+
+    static Adapters m_instance;
+    adapters_t adapters;
+};
+
+} /* namespace view_scilab */
+} /* namespace org_scilab_modules_scicos */
+
+#endif /* ADAPTERS_H_ */
diff --git a/scilab/modules/scicos/src/cpp/view_scilab/BaseAdapter.hxx b/scilab/modules/scicos/src/cpp/view_scilab/BaseAdapter.hxx
new file mode 100644 (file)
index 0000000..fad0473
--- /dev/null
@@ -0,0 +1,159 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef BASEADAPTER_HXX_
+#define BASEADAPTER_HXX_
+
+#include <algorithm>
+#include <string>
+#include <utility>
+#include <iostream>
+
+#include "types.hxx"
+#include "user.hxx"
+
+#include "Controller.hxx"
+#include "Adapters.hxx"
+#include "model/BaseObject.hxx"
+
+namespace org_scilab_modules_scicos
+{
+namespace view_scilab
+{
+
+/**
+ * A property used as a getter/setter for a specific name
+ */
+template<typename Adaptor>
+struct property
+{
+public:
+    typedef types::InternalType* (*getter_t)(const Adaptor& adaptor);
+    typedef bool (*setter_t)(Adaptor& adaptor, types::InternalType* v);
+
+    typedef std::vector< property<Adaptor> > props_t;
+    typedef typename props_t::iterator props_t_it;
+
+
+    property(const std::wstring& prop, getter_t g, setter_t s) : name(prop), get(g), set(s) {};
+    ~property() {};
+
+    std::wstring name;
+    getter_t get;
+    setter_t set;
+
+    bool operator< (const std::wstring& v) const
+    {
+        return name < v;
+    }
+
+    /*
+     * Static properties accessors
+     */
+    static props_t fields;
+
+    /**
+     * @return true if the properties has already been setup, false otherwise.
+     */
+    static bool properties_has_not_been_set()
+    {
+        return fields.empty();
+    }
+
+    /**
+     * Add a property to an Adaptor
+     */
+    static void add_property(const std::wstring& name, getter_t g, setter_t s)
+    {
+        property<Adaptor>::props_t_it pos = std::lower_bound(fields.begin(), fields.end(), name);
+        fields.insert(pos, property(name, g, s));
+    }
+};
+
+
+/**
+ * Base definition of the adapter pattern, implement the get / set dispatch.
+ *
+ * Note that sub-classes are responsible to fill the fields accordingly to theirs interfaces.
+ */
+template<typename Adaptor, typename Adaptee>
+class BaseAdapter : public types::User<Adaptor>
+{
+
+public:
+    BaseAdapter(Adaptee* o) : adaptee(o) {};
+    BaseAdapter(const BaseAdapter& o) : adaptee(o.adaptee) {};
+    virtual ~BaseAdapter() {};
+
+    /*
+     * property accessors
+     */
+
+    bool hasProperty(const std::wstring& _sKey) const
+    {
+        typename property<Adaptor>::props_t_it found = std::binary_search(property<Adaptor>::fields.begin(), property<Adaptor>::fields.end(), _sKey);
+        return found != property<Adaptor>::fields.end();
+    }
+
+    types::InternalType* getProperty(const std::wstring& _sKey) const
+    {
+        typename property<Adaptor>::props_t_it found = std::lower_bound(property<Adaptor>::fields.begin(), property<Adaptor>::fields.end(), _sKey);
+        if (found != property<Adaptor>::fields.end())
+        {
+            return found->get(static_cast<Adaptor*>(this));
+        }
+        return 0;
+    }
+
+    bool setProperty(const std::wstring& _sKey, types::InternalType* v)
+    {
+        typename property<Adaptor>::props_t_it found = std::lower_bound(property<Adaptor>::fields.begin(), property<Adaptor>::fields.end(), _sKey);
+        if (found != property<Adaptor>::fields.end())
+        {
+            return found->set(*static_cast<Adaptor*>(this), v);
+        }
+        return false;
+    }
+
+    /**
+     * @return the Adaptee instance
+     */
+    Adaptee* getAdaptee() const
+    {
+        return adaptee;
+    };
+
+    /**
+     * set the adaptee
+     */
+    void setAdaptee(Adaptee* adaptee)
+    {
+        this->adaptee = adaptee;
+    }
+
+    /*
+     * All following methods should be implemented by each template instance
+     */
+
+    virtual bool toString(std::wostringstream& ostr) = 0;
+    virtual std::wstring getTypeStr() = 0;
+    virtual std::wstring getShortTypeStr() = 0;
+
+private:
+    Adaptee* adaptee;
+};
+
+
+} /* view_scilab */
+} /* namespace org_scilab_modules_scicos */
+
+#endif /* BASEADAPTER_HXX_ */
diff --git a/scilab/modules/scicos/src/cpp/view_scilab/BlockAdapter.cpp b/scilab/modules/scicos/src/cpp/view_scilab/BlockAdapter.cpp
new file mode 100644 (file)
index 0000000..7e36803
--- /dev/null
@@ -0,0 +1,182 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include <string>
+
+#include "internal.hxx"
+#include "list.hxx"
+#include "string.hxx"
+#include "types.hxx"
+#include "user.hxx"
+
+#include "Controller.hxx"
+#include "model/Block.hxx"
+#include "BlockAdapter.hxx"
+#include "GraphicsAdapter.hxx"
+#include "ModelAdapter.hxx"
+
+extern "C" {
+#include "sci_malloc.h"
+#include "charEncoding.h"
+}
+
+namespace org_scilab_modules_scicos
+{
+namespace view_scilab
+{
+
+struct graphics
+{
+
+    static types::InternalType* get(const BlockAdapter& adaptor)
+    {
+        return new GraphicsAdapter(adaptor.getAdaptee());
+    }
+
+    static bool set(BlockAdapter& adaptor, types::InternalType* v)
+    {
+        if (v->getType() == types::InternalType::ScilabUserType
+                && v->getShortTypeStr() == GraphicsAdapter::getSharedTypeStr())
+        {
+            GraphicsAdapter* graphics = v->getAs<GraphicsAdapter>();
+            adaptor.setAdaptee(graphics->getAdaptee());
+            return true;
+        }
+        return false;
+    }
+};
+
+struct model
+{
+
+    static types::InternalType* get(const BlockAdapter& adaptor)
+    {
+        return new ModelAdapter(adaptor.getAdaptee());
+    }
+
+    static bool set(BlockAdapter& adaptor, types::InternalType* v)
+    {
+        if (v->getType() == types::InternalType::ScilabUserType
+                && v->getShortTypeStr() == ModelAdapter::getSharedTypeStr())
+        {
+            ModelAdapter* model = v->getAs<ModelAdapter>();
+            adaptor.setAdaptee(model->getAdaptee());
+            return true;
+        }
+        return false;
+    }
+};
+
+struct gui
+{
+
+    static types::InternalType* get(const BlockAdapter& adaptor)
+    {
+        std::string interface;
+        org_scilab_modules_scicos::model::Block* adaptee = adaptor.getAdaptee();
+        Controller::get_instance()->getObjectProperty(adaptee->id(), adaptee->kind(), INTERFACE_FUNCTION, &interface);
+
+        return new types::String(interface.data());
+    }
+
+    static bool set(BlockAdapter& adaptor, types::InternalType* v)
+    {
+        if (v->getType() != types::InternalType::ScilabString)
+        {
+            return false;
+        }
+
+        types::String* current = v->getAs<types::String>();
+        if (current->getRows() != 1 || current->getCols() != 1)
+        {
+            return false;
+        }
+
+        wchar_t* w_name = current->get(0);
+        char* name = wide_string_to_UTF8(w_name);
+        std::string stName(name);
+        FREE(name);
+
+        org_scilab_modules_scicos::model::Block* adaptee = adaptor.getAdaptee();
+        Controller::get_instance()->setObjectProperty(adaptee->id(), adaptee->kind(), INTERFACE_FUNCTION, stName);
+        return true;
+    }
+};
+
+struct doc
+{
+
+    static types::InternalType* get(const BlockAdapter& adaptor)
+    {
+        return adaptor.getDocContent();
+    }
+
+    static bool set(BlockAdapter& adaptor, types::InternalType* v)
+    {
+        adaptor.setDocContent(v->clone());
+        return true;
+    }
+};
+
+template<> property<BlockAdapter>::props_t property<BlockAdapter>::fields = property<BlockAdapter>::props_t();
+
+BlockAdapter::BlockAdapter(const BlockAdapter& o) :
+    BaseAdapter<BlockAdapter, org_scilab_modules_scicos::model::Block>(o), doc_content(o.doc_content->clone()) {}
+
+BlockAdapter::BlockAdapter(org_scilab_modules_scicos::model::Block* o) :
+    BaseAdapter<BlockAdapter, org_scilab_modules_scicos::model::Block>(o)
+{
+    if (property<BlockAdapter>::properties_has_not_been_set())
+    {
+        property<BlockAdapter>::fields.reserve(4);
+        property<BlockAdapter>::add_property(L"graphics", &graphics::get, &graphics::set);
+        property<BlockAdapter>::add_property(L"model", &model::get, &model::set);
+        property<BlockAdapter>::add_property(L"gui", &gui::get, &gui::set);
+        property<BlockAdapter>::add_property(L"doc", &doc::get, &doc::set);
+    }
+
+    doc_content = new types::List();
+}
+
+BlockAdapter::~BlockAdapter()
+{
+    delete doc_content;
+}
+
+bool BlockAdapter::toString(std::wostringstream& ostr)
+{
+    ostr << L"BlockAdapter.hxx: Dunno what to display there";
+    return true;
+}
+
+std::wstring BlockAdapter::getTypeStr()
+{
+    return getSharedTypeStr();
+}
+std::wstring BlockAdapter::getShortTypeStr()
+{
+    return getSharedTypeStr();
+}
+
+types::InternalType* BlockAdapter::getDocContent() const
+{
+    return doc_content;
+}
+
+void BlockAdapter::setDocContent(types::InternalType* v)
+{
+    delete doc_content;
+    doc_content = v->clone();
+}
+
+} /* view_scilab */
+} /* namespace org_scilab_modules_scicos */
diff --git a/scilab/modules/scicos/src/cpp/view_scilab/BlockAdapter.hxx b/scilab/modules/scicos/src/cpp/view_scilab/BlockAdapter.hxx
new file mode 100644 (file)
index 0000000..529f9d4
--- /dev/null
@@ -0,0 +1,55 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef BLOCKADAPTER_HXX_
+#define BLOCKADAPTER_HXX_
+
+#include <sstream>
+#include <string>
+#include <vector>
+
+#include "utilities.hxx"
+#include "BaseAdapter.hxx"
+#include "model/Block.hxx"
+
+namespace org_scilab_modules_scicos
+{
+namespace view_scilab
+{
+
+class BlockAdapter : public BaseAdapter<BlockAdapter, org_scilab_modules_scicos::model::Block>
+{
+public:
+    BlockAdapter(const BlockAdapter& o);
+    BlockAdapter(org_scilab_modules_scicos::model::Block* o);
+    BlockAdapter(ScicosID uid, kind_t k);
+    ~BlockAdapter();
+
+    static const std::wstring getSharedTypeStr()
+    {
+        return L"Block";
+    }
+
+    bool toString(std::wostringstream& ostr);
+    std::wstring getTypeStr();
+    std::wstring getShortTypeStr();
+
+    types::InternalType* getDocContent() const;
+    void setDocContent(types::InternalType* v);
+private:
+    types::InternalType* doc_content;
+};
+
+} /* view_scilab */
+} /* namespace org_scilab_modules_scicos */
+
+#endif /* BLOCKADAPTER_HXX_ */
diff --git a/scilab/modules/scicos/src/cpp/view_scilab/CprAdapter.cpp b/scilab/modules/scicos/src/cpp/view_scilab/CprAdapter.cpp
new file mode 100644 (file)
index 0000000..ee81f98
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include <string>
+
+#include "internal.hxx"
+#include "list.hxx"
+#include "types.hxx"
+#include "user.hxx"
+
+#include "Controller.hxx"
+#include "CprAdapter.hxx"
+
+namespace org_scilab_modules_scicos
+{
+namespace view_scilab
+{
+
+template<> property<CprAdapter>::props_t property<CprAdapter>::fields = property<CprAdapter>::props_t();
+
+CprAdapter::CprAdapter(const CprAdapter& o) :
+    BaseAdapter<CprAdapter, org_scilab_modules_scicos::model::Diagram>(o) {}
+
+CprAdapter::CprAdapter(org_scilab_modules_scicos::model::Diagram* o) :
+    BaseAdapter<CprAdapter, org_scilab_modules_scicos::model::Diagram>(o)
+{
+    if (property<CprAdapter>::properties_has_not_been_set())
+    {
+        // FIXME: add some properties
+    }
+}
+
+CprAdapter::~CprAdapter()
+{
+}
+
+bool CprAdapter::toString(std::wostringstream& ostr)
+{
+    ostr << L"CprAdapter.hxx: Dunno what to display there";
+    return true;
+}
+
+std::wstring CprAdapter::getTypeStr()
+{
+    return getSharedTypeStr();
+}
+std::wstring CprAdapter::getShortTypeStr()
+{
+    return getSharedTypeStr();
+}
+
+} /* view_scilab */
+} /* namespace org_scilab_modules_scicos */
diff --git a/scilab/modules/scicos/src/cpp/view_scilab/CprAdapter.hxx b/scilab/modules/scicos/src/cpp/view_scilab/CprAdapter.hxx
new file mode 100644 (file)
index 0000000..af883c8
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef CPRADAPTER_HXX_
+#define CPRADAPTER_HXX_
+
+#include <string>
+#include <sstream>
+
+#include "BaseAdapter.hxx"
+
+#include "model/Diagram.hxx"
+
+namespace org_scilab_modules_scicos
+{
+namespace view_scilab
+{
+
+class CprAdapter : public BaseAdapter<CprAdapter, org_scilab_modules_scicos::model::Diagram>
+{
+public:
+    CprAdapter(const CprAdapter& o);
+    CprAdapter(org_scilab_modules_scicos::model::Diagram* o);
+    ~CprAdapter();
+
+    static const std::wstring getSharedTypeStr()
+    {
+        return L"cpr";
+    }
+
+    bool toString(std::wostringstream& ostr);
+    std::wstring getTypeStr();
+    std::wstring getShortTypeStr();
+};
+
+} /* view_scilab */
+} /* namespace org_scilab_modules_scicos */
+
+#endif /* MODELADAPTER_HXX_ */
diff --git a/scilab/modules/scicos/src/cpp/view_scilab/DiagramAdapter.cpp b/scilab/modules/scicos/src/cpp/view_scilab/DiagramAdapter.cpp
new file mode 100644 (file)
index 0000000..9f46b05
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include <string>
+
+#include "internal.hxx"
+#include "list.hxx"
+#include "types.hxx"
+#include "user.hxx"
+
+#include "Controller.hxx"
+#include "DiagramAdapter.hxx"
+
+namespace org_scilab_modules_scicos
+{
+namespace view_scilab
+{
+
+template<> property<DiagramAdapter>::props_t property<DiagramAdapter>::fields = property<DiagramAdapter>::props_t();
+
+DiagramAdapter::DiagramAdapter(const DiagramAdapter& o) :
+    BaseAdapter<DiagramAdapter, org_scilab_modules_scicos::model::Diagram>(o) {}
+
+DiagramAdapter::DiagramAdapter(org_scilab_modules_scicos::model::Diagram* o) :
+    BaseAdapter<DiagramAdapter, org_scilab_modules_scicos::model::Diagram>(o)
+{
+    if (property<DiagramAdapter>::properties_has_not_been_set())
+    {
+        // FIXME: add some properties
+    }
+}
+
+DiagramAdapter::~DiagramAdapter()
+{
+}
+
+bool DiagramAdapter::toString(std::wostringstream& ostr)
+{
+    ostr << L"DiagramAdapter.hxx: Dunno what to display there";
+    return true;
+}
+
+std::wstring DiagramAdapter::getTypeStr()
+{
+    return getSharedTypeStr();
+}
+std::wstring DiagramAdapter::getShortTypeStr()
+{
+    return getSharedTypeStr();
+}
+
+} /* view_scilab */
+} /* namespace org_scilab_modules_scicos */
diff --git a/scilab/modules/scicos/src/cpp/view_scilab/DiagramAdapter.hxx b/scilab/modules/scicos/src/cpp/view_scilab/DiagramAdapter.hxx
new file mode 100644 (file)
index 0000000..6c5529e
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef DIAGRAMADAPTER_HXX_
+#define DIAGRAMADAPTER_HXX_
+
+#include <string>
+#include <sstream>
+
+#include "BaseAdapter.hxx"
+
+#include "model/Diagram.hxx"
+
+namespace org_scilab_modules_scicos
+{
+namespace view_scilab
+{
+
+class DiagramAdapter : public BaseAdapter<DiagramAdapter, org_scilab_modules_scicos::model::Diagram>
+{
+public:
+    DiagramAdapter(const DiagramAdapter& o);
+    DiagramAdapter(org_scilab_modules_scicos::model::Diagram* o);
+    ~DiagramAdapter();
+
+    static const std::wstring getSharedTypeStr()
+    {
+        return L"Diagram";
+    }
+
+    bool toString(std::wostringstream& ostr);
+    std::wstring getTypeStr();
+    std::wstring getShortTypeStr();
+};
+
+} /* view_scilab */
+} /* namespace org_scilab_modules_scicos */
+
+#endif /* MODELADAPTER_HXX_ */
diff --git a/scilab/modules/scicos/src/cpp/view_scilab/GraphicsAdapter.cpp b/scilab/modules/scicos/src/cpp/view_scilab/GraphicsAdapter.cpp
new file mode 100644 (file)
index 0000000..1471274
--- /dev/null
@@ -0,0 +1,394 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include <string>
+#include <vector>
+#include <cassert>
+
+#include "double.hxx"
+
+#include "Controller.hxx"
+#include "GraphicsAdapter.hxx"
+
+namespace org_scilab_modules_scicos
+{
+namespace view_scilab
+{
+
+struct orig
+{
+
+    static types::InternalType* get(const GraphicsAdapter& adaptor)
+    {
+        double* data;
+        types::Double* o = new types::Double(1, 2, &data);
+        model::Block* adaptee = adaptor.getAdaptee();
+
+        double* geom;
+        size_t len;
+        Controller::get_instance()->getObjectProperty(adaptee->id(), adaptee->kind(), GEOMETRY, &len, &geom);
+
+        data[0] = geom[0];
+        data[1] = geom[1];
+
+        delete[] geom;
+        return o;
+    }
+
+    static bool set(GraphicsAdapter& adaptor, types::InternalType* v)
+    {
+        if (v->getType() != types::InternalType::ScilabDouble)
+        {
+            return false;
+        }
+
+        types::Double* current = v->getAs<types::Double>();
+        if (current->getRows() != 1 || current->getCols() != 2)
+        {
+            return false;
+        }
+
+        model::Block* adaptee = adaptor.getAdaptee();
+        double* geom;
+        size_t len;
+        Controller::get_instance()->getObjectProperty(adaptee->id(), adaptee->kind(), GEOMETRY, &len, &geom);
+
+        geom[0] = current->get(0);
+        geom[1] = current->get(1);
+
+        Controller::get_instance()->setObjectProperty(adaptee->id(), adaptee->kind(), GEOMETRY, len, geom);
+        delete[] geom;
+        return true;
+    }
+};
+
+struct sz
+{
+
+    static types::InternalType* get(const GraphicsAdapter& adaptor)
+    {
+        double* data;
+        types::Double* o = new types::Double(1, 2, &data);
+        model::Block* adaptee = adaptor.getAdaptee();
+
+        double* geom;
+        size_t len;
+        Controller::get_instance()->getObjectProperty(adaptee->id(), adaptee->kind(), GEOMETRY, &len, &geom);
+
+        data[0] = geom[2];
+        data[1] = geom[3];
+        delete[] geom;
+        return o;
+    }
+
+    static bool set(GraphicsAdapter& adaptor, types::InternalType* v)
+    {
+        if (v->getType() != types::InternalType::ScilabDouble)
+        {
+            return false;
+        }
+
+        types::Double* current = v->getAs<types::Double>();
+        if (current->getRows() != 1 || current->getCols() != 2)
+        {
+            return false;
+        }
+
+        model::Block* adaptee = adaptor.getAdaptee();
+        double* geom;
+        size_t len;
+        Controller::get_instance()->getObjectProperty(adaptee->id(), adaptee->kind(), GEOMETRY, &len, &geom);
+
+        geom[2] = current->get(0);
+        geom[3] = current->get(1);
+
+        Controller::get_instance()->setObjectProperty(adaptee->id(), adaptee->kind(), GEOMETRY, len, geom);
+        delete[] geom;
+        return true;
+    }
+};
+
+struct flip
+{
+
+    static types::InternalType* get(const GraphicsAdapter& adaptor)
+    {
+        //FIXME: implement
+        return 0;
+    }
+
+    static bool set(GraphicsAdapter& adaptor, types::InternalType* v)
+    {
+        //FIXME: implement
+        return false;
+    }
+};
+
+struct theta
+{
+
+    static types::InternalType* get(const GraphicsAdapter& adaptor)
+    {
+        //FIXME: implement
+        return 0;
+    }
+
+    static bool set(GraphicsAdapter& adaptor, types::InternalType* v)
+    {
+        //FIXME: implement
+        return false;
+    }
+};
+
+struct exprs
+{
+
+    static types::InternalType* get(const GraphicsAdapter& adaptor)
+    {
+        //FIXME: implement
+        return 0;
+    }
+
+    static bool set(GraphicsAdapter& adaptor, types::InternalType* v)
+    {
+        //FIXME: implement
+        return false;
+    }
+};
+
+struct pin
+{
+
+    static types::InternalType* get(const GraphicsAdapter& adaptor)
+    {
+        //FIXME: implement
+        return 0;
+    }
+
+    static bool set(GraphicsAdapter& adaptor, types::InternalType* v)
+    {
+        //FIXME: implement
+        return false;
+    }
+};
+
+struct pout
+{
+
+    static types::InternalType* get(const GraphicsAdapter& adaptor)
+    {
+        //FIXME: implement
+        return 0;
+    }
+
+    static bool set(GraphicsAdapter& adaptor, types::InternalType* v)
+    {
+        //FIXME: implement
+        return false;
+    }
+};
+
+struct pein
+{
+
+    static types::InternalType* get(const GraphicsAdapter& adaptor)
+    {
+        //FIXME: implement
+        return 0;
+    }
+
+    static bool set(GraphicsAdapter& adaptor, types::InternalType* v)
+    {
+        //FIXME: implement
+        return false;
+    }
+};
+
+struct peout
+{
+
+    static types::InternalType* get(const GraphicsAdapter& adaptor)
+    {
+        //FIXME: implement
+        return 0;
+    }
+
+    static bool set(GraphicsAdapter& adaptor, types::InternalType* v)
+    {
+        //FIXME: implement
+        return false;
+    }
+};
+
+struct in_implicit
+{
+
+    static types::InternalType* get(const GraphicsAdapter& adaptor)
+    {
+        //FIXME: implement
+        return 0;
+    }
+
+    static bool set(GraphicsAdapter& adaptor, types::InternalType* v)
+    {
+        //FIXME: implement
+        return false;
+    }
+};
+
+struct out_implicit
+{
+
+    static types::InternalType* get(const GraphicsAdapter& adaptor)
+    {
+        //FIXME: implement
+        return 0;
+    }
+
+    static bool set(GraphicsAdapter& adaptor, types::InternalType* v)
+    {
+        //FIXME: implement
+        return false;
+    }
+};
+
+struct in_style
+{
+
+    static types::InternalType* get(const GraphicsAdapter& adaptor)
+    {
+        //FIXME: implement
+        return 0;
+    }
+
+    static bool set(GraphicsAdapter& adaptor, types::InternalType* v)
+    {
+        //FIXME: implement
+        return false;
+    }
+};
+
+struct out_style
+{
+
+    static types::InternalType* get(const GraphicsAdapter& adaptor)
+    {
+        //FIXME: implement
+        return 0;
+    }
+
+    static bool set(GraphicsAdapter& adaptor, types::InternalType* v)
+    {
+        //FIXME: implement
+        return false;
+    }
+};
+
+struct in_label
+{
+
+    static types::InternalType* get(const GraphicsAdapter& adaptor)
+    {
+        //FIXME: implement
+        return 0;
+    }
+
+    static bool set(GraphicsAdapter& adaptor, types::InternalType* v)
+    {
+        //FIXME: implement
+        return false;
+    }
+};
+
+struct out_label
+{
+
+    static types::InternalType* get(const GraphicsAdapter& adaptor)
+    {
+        //FIXME: implement
+        return 0;
+    }
+
+    static bool set(GraphicsAdapter& adaptor, types::InternalType* v)
+    {
+        //FIXME: implement
+        return false;
+    }
+};
+
+struct style
+{
+
+    static types::InternalType* get(const GraphicsAdapter& adaptor)
+    {
+        //FIXME: implement
+        return 0;
+    }
+
+    static bool set(GraphicsAdapter& adaptor, types::InternalType* v)
+    {
+        //FIXME: implement
+        return false;
+    }
+};
+
+template<> property<GraphicsAdapter>::props_t property<GraphicsAdapter>::fields = property<GraphicsAdapter>::props_t();
+
+GraphicsAdapter::GraphicsAdapter(const GraphicsAdapter& o) :
+    BaseAdapter<GraphicsAdapter, org_scilab_modules_scicos::model::Block>(o) { }
+
+GraphicsAdapter::GraphicsAdapter(org_scilab_modules_scicos::model::Block* o) :
+    BaseAdapter<GraphicsAdapter, org_scilab_modules_scicos::model::Block>(o)
+{
+    if (property<GraphicsAdapter>::properties_has_not_been_set())
+    {
+        property<GraphicsAdapter>::fields.reserve(15);
+        property<GraphicsAdapter>::add_property(L"orig", &orig::get, &orig::set);
+        property<GraphicsAdapter>::add_property(L"sz", &sz::get, &sz::set);
+        property<GraphicsAdapter>::add_property(L"flip", &flip::get, &flip::set);
+        property<GraphicsAdapter>::add_property(L"theta", &theta::get, &theta::set);
+        property<GraphicsAdapter>::add_property(L"exprs", &exprs::get, &exprs::set);
+        property<GraphicsAdapter>::add_property(L"pin", &pin::get, &pin::set);
+        property<GraphicsAdapter>::add_property(L"pout", &pout::get, &pout::set);
+        property<GraphicsAdapter>::add_property(L"pein", &pein::get, &pein::set);
+        property<GraphicsAdapter>::add_property(L"peout", &peout::get, &peout::set);
+        property<GraphicsAdapter>::add_property(L"in_implicit", &in_implicit::get, &in_implicit::set);
+        property<GraphicsAdapter>::add_property(L"out_implicit", &out_implicit::get, &out_implicit::set);
+        property<GraphicsAdapter>::add_property(L"in_style", &in_style::get, &in_style::set);
+        property<GraphicsAdapter>::add_property(L"in_label", &in_label::get, &in_label::set);
+        property<GraphicsAdapter>::add_property(L"out_label", &out_label::get, &out_label::set);
+        property<GraphicsAdapter>::add_property(L"style", &style::get, &style::set);
+    }
+}
+
+GraphicsAdapter::~GraphicsAdapter()
+{
+}
+
+bool GraphicsAdapter::toString(std::wostringstream& ostr)
+{
+    ostr << L"GraphicsAdapter.hxx: Dunno what to display there" << std::endl;
+    return true;
+}
+
+std::wstring GraphicsAdapter::getTypeStr()
+{
+    return getSharedTypeStr();
+}
+
+std::wstring GraphicsAdapter::getShortTypeStr()
+{
+    return getSharedTypeStr();
+}
+
+} /* view_scilab */
+} /* namespace org_scilab_modules_scicos */
diff --git a/scilab/modules/scicos/src/cpp/view_scilab/GraphicsAdapter.hxx b/scilab/modules/scicos/src/cpp/view_scilab/GraphicsAdapter.hxx
new file mode 100644 (file)
index 0000000..dcf911c
--- /dev/null
@@ -0,0 +1,49 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef GRAPHICSADAPTER_HXX_
+#define GRAPHICSADAPTER_HXX_
+
+#include <sstream>
+#include <string>
+#include <vector>
+#include <utility>
+
+#include "BaseAdapter.hxx"
+#include "model/Block.hxx"
+
+namespace org_scilab_modules_scicos
+{
+namespace view_scilab
+{
+
+class GraphicsAdapter : public BaseAdapter<GraphicsAdapter, org_scilab_modules_scicos::model::Block>
+{
+public:
+    GraphicsAdapter(const GraphicsAdapter& o);
+    GraphicsAdapter(org_scilab_modules_scicos::model::Block* o);
+    ~GraphicsAdapter();
+
+    static const std::wstring getSharedTypeStr()
+    {
+        return L"graphics";
+    }
+
+    bool toString(std::wostringstream& ostr);
+    std::wstring getTypeStr();
+    std::wstring getShortTypeStr();
+};
+
+} /* view_scilab */
+} /* namespace org_scilab_modules_scicos */
+
+#endif /* GRAPHICSADAPTER_HXX_ */
diff --git a/scilab/modules/scicos/src/cpp/view_scilab/LinkAdapter.cpp b/scilab/modules/scicos/src/cpp/view_scilab/LinkAdapter.cpp
new file mode 100644 (file)
index 0000000..b876f49
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include <string>
+
+#include "internal.hxx"
+#include "list.hxx"
+#include "types.hxx"
+#include "user.hxx"
+
+#include "Controller.hxx"
+#include "LinkAdapter.hxx"
+
+namespace org_scilab_modules_scicos
+{
+namespace view_scilab
+{
+
+template<> property<LinkAdapter>::props_t property<LinkAdapter>::fields = property<LinkAdapter>::props_t();
+
+LinkAdapter::LinkAdapter(const LinkAdapter& o) :
+    BaseAdapter<LinkAdapter, org_scilab_modules_scicos::model::Link>(o) {}
+
+LinkAdapter::LinkAdapter(org_scilab_modules_scicos::model::Link* o) :
+    BaseAdapter<LinkAdapter, org_scilab_modules_scicos::model::Link>(o)
+{
+    if (property<LinkAdapter>::properties_has_not_been_set())
+    {
+        // FIXME: add some properties
+    }
+}
+
+LinkAdapter::~LinkAdapter()
+{
+}
+
+bool LinkAdapter::toString(std::wostringstream& ostr)
+{
+    ostr << L"LinkAdapter.hxx: Dunno what to display there";
+    return true;
+}
+
+std::wstring LinkAdapter::getTypeStr()
+{
+    return getSharedTypeStr();
+}
+std::wstring LinkAdapter::getShortTypeStr()
+{
+    return getSharedTypeStr();
+}
+
+} /* view_scilab */
+} /* namespace org_scilab_modules_scicos */
diff --git a/scilab/modules/scicos/src/cpp/view_scilab/LinkAdapter.hxx b/scilab/modules/scicos/src/cpp/view_scilab/LinkAdapter.hxx
new file mode 100644 (file)
index 0000000..4ad8fd4
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef LINKADAPTER_HXX_
+#define LINKADAPTER_HXX_
+
+#include <string>
+#include <sstream>
+
+#include "BaseAdapter.hxx"
+
+#include "model/Link.hxx"
+
+namespace org_scilab_modules_scicos
+{
+namespace view_scilab
+{
+
+class LinkAdapter : public BaseAdapter<LinkAdapter, org_scilab_modules_scicos::model::Link>
+{
+public:
+    LinkAdapter(const LinkAdapter& o);
+    LinkAdapter(org_scilab_modules_scicos::model::Link* o);
+    ~LinkAdapter();
+
+    static const std::wstring getSharedTypeStr()
+    {
+        return L"Link";
+    }
+
+    bool toString(std::wostringstream& ostr);
+    std::wstring getTypeStr();
+    std::wstring getShortTypeStr();
+};
+
+} /* view_scilab */
+} /* namespace org_scilab_modules_scicos */
+
+#endif /* MODELADAPTER_HXX_ */
diff --git a/scilab/modules/scicos/src/cpp/view_scilab/ModelAdapter.cpp b/scilab/modules/scicos/src/cpp/view_scilab/ModelAdapter.cpp
new file mode 100644 (file)
index 0000000..1ccc2da
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include "ModelAdapter.hxx"
+
+namespace org_scilab_modules_scicos
+{
+namespace view_scilab
+{
+
+
+
+template<> property<ModelAdapter>::props_t property<ModelAdapter>::fields = property<ModelAdapter>::props_t();
+
+ModelAdapter::ModelAdapter(const ModelAdapter& o) :
+    BaseAdapter<ModelAdapter, org_scilab_modules_scicos::model::Block>(o) { }
+
+ModelAdapter::ModelAdapter(org_scilab_modules_scicos::model::Block* o) :
+    BaseAdapter<ModelAdapter, org_scilab_modules_scicos::model::Block>(o)
+{
+}
+
+ModelAdapter::~ModelAdapter()
+{
+}
+
+bool ModelAdapter::toString(std::wostringstream& ostr)
+{
+    ostr << L"ModelAdapter.hxx: Dunno what to display there" << std::endl;
+    return true;
+}
+
+std::wstring ModelAdapter::getTypeStr()
+{
+    return getSharedTypeStr();
+}
+
+std::wstring ModelAdapter::getShortTypeStr()
+{
+    return getSharedTypeStr();
+}
+
+} /* view_scilab */
+} /* namespace org_scilab_modules_scicos */
diff --git a/scilab/modules/scicos/src/cpp/view_scilab/ModelAdapter.hxx b/scilab/modules/scicos/src/cpp/view_scilab/ModelAdapter.hxx
new file mode 100644 (file)
index 0000000..8fa9508
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef MODELADAPTER_HXX_
+#define MODELADAPTER_HXX_
+
+#include <string>
+#include <sstream>
+
+#include "BaseAdapter.hxx"
+
+#include "model/Block.hxx"
+
+namespace org_scilab_modules_scicos
+{
+namespace view_scilab
+{
+
+class ModelAdapter : public BaseAdapter<ModelAdapter, org_scilab_modules_scicos::model::Block>
+{
+public:
+    ModelAdapter(const ModelAdapter& o);
+    ModelAdapter(org_scilab_modules_scicos::model::Block* o);
+    ~ModelAdapter();
+
+    static const std::wstring getSharedTypeStr()
+    {
+        return L"model";
+    }
+
+    bool toString(std::wostringstream& ostr);
+    std::wstring getTypeStr();
+    std::wstring getShortTypeStr();
+};
+
+} /* view_scilab */
+} /* namespace org_scilab_modules_scicos */
+
+#endif /* MODELADAPTER_HXX_ */
diff --git a/scilab/modules/scicos/src/cpp/view_scilab/ScsAdapter.cpp b/scilab/modules/scicos/src/cpp/view_scilab/ScsAdapter.cpp
new file mode 100644 (file)
index 0000000..13ad9a9
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include <string>
+
+#include "internal.hxx"
+#include "list.hxx"
+#include "types.hxx"
+#include "user.hxx"
+
+#include "Controller.hxx"
+#include "ScsAdapter.hxx"
+
+namespace org_scilab_modules_scicos
+{
+namespace view_scilab
+{
+
+template<> property<ScsAdapter>::props_t property<ScsAdapter>::fields = property<ScsAdapter>::props_t();
+
+ScsAdapter::ScsAdapter(const ScsAdapter& o) :
+    BaseAdapter<ScsAdapter, org_scilab_modules_scicos::model::Diagram>(o) {}
+
+ScsAdapter::ScsAdapter(org_scilab_modules_scicos::model::Diagram* o) :
+    BaseAdapter<ScsAdapter, org_scilab_modules_scicos::model::Diagram>(o)
+{
+    if (property<ScsAdapter>::properties_has_not_been_set())
+    {
+        // FIXME: add some properties
+    }
+}
+
+ScsAdapter::~ScsAdapter()
+{
+}
+
+bool ScsAdapter::toString(std::wostringstream& ostr)
+{
+    ostr << L"ScsAdapter.hxx: Dunno what to display there";
+    return true;
+}
+
+std::wstring ScsAdapter::getTypeStr()
+{
+    return getSharedTypeStr();
+}
+std::wstring ScsAdapter::getShortTypeStr()
+{
+    return getSharedTypeStr();
+}
+
+} /* view_scilab */
+} /* namespace org_scilab_modules_scicos */
diff --git a/scilab/modules/scicos/src/cpp/view_scilab/ScsAdapter.hxx b/scilab/modules/scicos/src/cpp/view_scilab/ScsAdapter.hxx
new file mode 100644 (file)
index 0000000..e58c85f
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef SCSADAPTER_HXX_
+#define SCSADAPTER_HXX_
+
+#include <string>
+#include <sstream>
+
+#include "BaseAdapter.hxx"
+
+#include "model/Diagram.hxx"
+
+namespace org_scilab_modules_scicos
+{
+namespace view_scilab
+{
+
+class ScsAdapter : public BaseAdapter<ScsAdapter, org_scilab_modules_scicos::model::Diagram>
+{
+public:
+    ScsAdapter(const ScsAdapter& o);
+    ScsAdapter(org_scilab_modules_scicos::model::Diagram* o);
+    ~ScsAdapter();
+
+    static const std::wstring getSharedTypeStr()
+    {
+        return L"scs";
+    }
+
+    bool toString(std::wostringstream& ostr);
+    std::wstring getTypeStr();
+    std::wstring getShortTypeStr();
+};
+
+} /* view_scilab */
+} /* namespace org_scilab_modules_scicos */
+
+#endif /* SCSADAPTER_HXX_ */
diff --git a/scilab/modules/scicos/src/cpp/view_scilab/StateAdapter.cpp b/scilab/modules/scicos/src/cpp/view_scilab/StateAdapter.cpp
new file mode 100644 (file)
index 0000000..2277619
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include <string>
+
+#include "internal.hxx"
+#include "list.hxx"
+#include "types.hxx"
+#include "user.hxx"
+
+#include "Controller.hxx"
+#include "StateAdapter.hxx"
+
+namespace org_scilab_modules_scicos
+{
+namespace view_scilab
+{
+
+template<> property<StateAdapter>::props_t property<StateAdapter>::fields = property<StateAdapter>::props_t();
+
+StateAdapter::StateAdapter(const StateAdapter& o) :
+    BaseAdapter<StateAdapter, org_scilab_modules_scicos::model::Diagram>(o) {}
+
+StateAdapter::StateAdapter(org_scilab_modules_scicos::model::Diagram* o) :
+    BaseAdapter<StateAdapter, org_scilab_modules_scicos::model::Diagram>(o)
+{
+    if (property<StateAdapter>::properties_has_not_been_set())
+    {
+        // FIXME: add some properties
+    }
+}
+
+StateAdapter::~StateAdapter()
+{
+}
+
+bool StateAdapter::toString(std::wostringstream& ostr)
+{
+    ostr << L"StateAdapter.hxx: Dunno what to display there";
+    return true;
+}
+
+std::wstring StateAdapter::getTypeStr()
+{
+    return getSharedTypeStr();
+}
+std::wstring StateAdapter::getShortTypeStr()
+{
+    return getSharedTypeStr();
+}
+
+} /* view_scilab */
+} /* namespace org_scilab_modules_scicos */
diff --git a/scilab/modules/scicos/src/cpp/view_scilab/StateAdapter.hxx b/scilab/modules/scicos/src/cpp/view_scilab/StateAdapter.hxx
new file mode 100644 (file)
index 0000000..5ffdf62
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef STATEADAPTER_HXX_
+#define STATEADAPTER_HXX_
+
+#include <string>
+#include <sstream>
+
+#include "BaseAdapter.hxx"
+
+#include "model/Diagram.hxx"
+
+namespace org_scilab_modules_scicos
+{
+namespace view_scilab
+{
+
+class StateAdapter : public BaseAdapter<StateAdapter, org_scilab_modules_scicos::model::Diagram>
+{
+public:
+    StateAdapter(const StateAdapter& o);
+    StateAdapter(org_scilab_modules_scicos::model::Diagram* o);
+    ~StateAdapter();
+
+    static const std::wstring getSharedTypeStr()
+    {
+        return L"xcs";
+    }
+
+    bool toString(std::wostringstream& ostr);
+    std::wstring getTypeStr();
+    std::wstring getShortTypeStr();
+};
+
+} /* view_scilab */
+} /* namespace org_scilab_modules_scicos */
+
+#endif /* STATEADAPTER_HXX_ */
diff --git a/scilab/modules/scicos/src/cpp/view_scilab/TextAdapter.cpp b/scilab/modules/scicos/src/cpp/view_scilab/TextAdapter.cpp
new file mode 100644 (file)
index 0000000..8b35afb
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include <string>
+
+#include "internal.hxx"
+#include "list.hxx"
+#include "types.hxx"
+#include "user.hxx"
+
+#include "Controller.hxx"
+#include "TextAdapter.hxx"
+
+namespace org_scilab_modules_scicos
+{
+namespace view_scilab
+{
+
+template<> property<TextAdapter>::props_t property<TextAdapter>::fields = property<TextAdapter>::props_t();
+
+TextAdapter::TextAdapter(const TextAdapter& o) :
+    BaseAdapter<TextAdapter, org_scilab_modules_scicos::model::Annotation>(o) {}
+
+TextAdapter::TextAdapter(org_scilab_modules_scicos::model::Annotation* o) :
+    BaseAdapter<TextAdapter, org_scilab_modules_scicos::model::Annotation>(o)
+{
+    if (property<TextAdapter>::properties_has_not_been_set())
+    {
+        // FIXME: add some properties
+    }
+}
+
+TextAdapter::~TextAdapter()
+{
+}
+
+bool TextAdapter::toString(std::wostringstream& ostr)
+{
+    ostr << L"TextAdapter.hxx: Dunno what to display there";
+    return true;
+}
+
+std::wstring TextAdapter::getTypeStr()
+{
+    return getSharedTypeStr();
+}
+std::wstring TextAdapter::getShortTypeStr()
+{
+    return getSharedTypeStr();
+}
+
+} /* view_scilab */
+} /* namespace org_scilab_modules_scicos */
diff --git a/scilab/modules/scicos/src/cpp/view_scilab/TextAdapter.hxx b/scilab/modules/scicos/src/cpp/view_scilab/TextAdapter.hxx
new file mode 100644 (file)
index 0000000..e345545
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef TEXTADAPTER_HXX_
+#define TEXTADAPTER_HXX_
+
+#include <string>
+#include <sstream>
+
+#include "BaseAdapter.hxx"
+
+#include "model/Annotation.hxx"
+
+namespace org_scilab_modules_scicos
+{
+namespace view_scilab
+{
+
+class TextAdapter : public BaseAdapter<TextAdapter, org_scilab_modules_scicos::model::Annotation>
+{
+public:
+    TextAdapter(const TextAdapter& o);
+    TextAdapter(org_scilab_modules_scicos::model::Annotation* o);
+    ~TextAdapter();
+
+    static const std::wstring getSharedTypeStr()
+    {
+        return L"Text";
+    }
+
+    bool toString(std::wostringstream& ostr);
+    std::wstring getTypeStr();
+    std::wstring getShortTypeStr();
+};
+
+} /* view_scilab */
+} /* namespace org_scilab_modules_scicos */
+
+#endif /* MODELADAPTER_HXX_ */
diff --git a/scilab/modules/scicos/tests/unit_tests/scicos_new.tst b/scilab/modules/scicos/tests/unit_tests/scicos_new.tst
new file mode 100644 (file)
index 0000000..c7b2480
--- /dev/null
@@ -0,0 +1,34 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2014 - Scilab Enterprises - Clement David
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================+
+
+loadXcosLibs();
+
+p = funcprot();
+funcprot(0);
+mlist = scicos_new;
+tlist = scicos_new;
+funcprot(p);
+
+// sub-objects not mapped to the model
+
+o = scicos_graphics()
+o = scicos_model()
+
+// model objects
+
+// allocate an Annotation
+o = TEXT_f("define");
+
+// allocate a Block
+o = scicos_block()
+
+// allocate a Link
+o = scicos_link()
+
+// allocate a Link
+o = scicos_diagram()
+