Salome HOME
First preliminary version
authorbri <bri@opencascade.com>
Mon, 10 Feb 2014 13:52:32 +0000 (17:52 +0400)
committerbri <bri@opencascade.com>
Mon, 10 Feb 2014 13:52:32 +0000 (17:52 +0400)
43 files changed:
CMakeLists.txt [new file with mode: 0644]
scripts/README [new file with mode: 0644]
scripts/SALOME_CVS_checkout_branch_BR_siman_phase1.sh [new file with mode: 0644]
scripts/build.csh [new file with mode: 0644]
scripts/build.sh [new file with mode: 0644]
scripts/env_build.csh [new file with mode: 0644]
scripts/env_build.sh [new file with mode: 0644]
scripts/env_products.csh [new file with mode: 0644]
scripts/env_products.sh [new file with mode: 0644]
scripts/env_siman.sh [new file with mode: 0644]
scripts/run_salome_siman.sh [new file with mode: 0644]
scripts/siman_build.sh [new file with mode: 0644]
src/CMakeLists.txt [new file with mode: 0644]
src/CheckIn.cpp [new file with mode: 0644]
src/CheckIn.h [new file with mode: 0644]
src/CheckInResponse.cpp [new file with mode: 0644]
src/CheckInResponse.h [new file with mode: 0644]
src/CreateConfigFile.cpp [new file with mode: 0644]
src/CreateConfigFile.h [new file with mode: 0644]
src/CreateConfigFileResponse.cpp [new file with mode: 0644]
src/CreateConfigFileResponse.h [new file with mode: 0644]
src/GetFile.cpp [new file with mode: 0644]
src/GetFile.h [new file with mode: 0644]
src/GetFileResponse.cpp [new file with mode: 0644]
src/GetFileResponse.h [new file with mode: 0644]
src/ISimanSalomeServiceCallback.h [new file with mode: 0644]
src/PutFile.cpp [new file with mode: 0644]
src/PutFile.h [new file with mode: 0644]
src/PutFileResponse.cpp [new file with mode: 0644]
src/PutFileResponse.h [new file with mode: 0644]
src/SimanIO_Activity.cxx [new file with mode: 0644]
src/SimanIO_Activity.hxx [new file with mode: 0644]
src/SimanIO_Configuration.cxx [new file with mode: 0644]
src/SimanIO_Configuration.hxx [new file with mode: 0644]
src/SimanIO_Document.cxx [new file with mode: 0644]
src/SimanIO_Document.hxx [new file with mode: 0644]
src/SimanIO_Link.cxx [new file with mode: 0644]
src/SimanIO_Link.hxx [new file with mode: 0644]
src/SimanSalomeServiceStub.cpp [new file with mode: 0644]
src/SimanSalomeServiceStub.h [new file with mode: 0644]
src/TestCreateConfigFile.cpp [new file with mode: 0644]
src/old_CMakeLists.txt [new file with mode: 0644]
src/old_SimanIO_Configuration.cxx [new file with mode: 0644]

diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644 (file)
index 0000000..58f7a66
--- /dev/null
@@ -0,0 +1,5 @@
+project(SimanIO)
+cmake_minimum_required(VERSION 2.4)
+add_subdirectory(src lib)
+
+
diff --git a/scripts/README b/scripts/README
new file mode 100644 (file)
index 0000000..16702b7
--- /dev/null
@@ -0,0 +1,30 @@
+How prepare runnable SALOME-SIMAN code
+
+1. Use standard SALOME 6.5.0 disctibutive for installation.
+
+2. Take from CVS SALOME-SIMAN code for branch "BR_siman_phase1" based on SALOME 6.5.0
+
+startinmg from SIMAN repository like :
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/SIMAN checkout -r BR_siman_phase1 SIMANIO_SRC
+
+Move the required product wso2-wsf-cpp-2.1.0 and all scripts to SALOME root directory
+Adjust the scripts if necessary
+
+Take from CVS other modules like it is done in SALOME_CVS_checkout_branch_BR_siman_phase1.sh
+"KERNEL GUI GEOM MED SMESH VISU PARAVIS YACS NETGENPLUGIN GHS3DPLUGIN BLSURFPLUGIN HexoticPLUGIN GHS3DPRLPLUGIN PYHELLO"
+
+3. Build all modules starting from SIMANIO_SRC using the scripts
+
+4. Check runnability of Salome
+
+5. Define (export) the environment variable SALOME_ROOT_DIR pointing to the directory there SALOME and scripts are build.
+in .bashrc file
+
+6. If necessary run SIMAN application servers 
+/usr/share/tomcat6/bin/startup.sh
+to stop use 
+/usr/share/tomcat6/bin/shutdown.sh
+
+In the file env_siman.sh adjust SIMAN_WS_HOST variable to point to SIMAN application server
+
+
diff --git a/scripts/SALOME_CVS_checkout_branch_BR_siman_phase1.sh b/scripts/SALOME_CVS_checkout_branch_BR_siman_phase1.sh
new file mode 100644 (file)
index 0000000..c6f206d
--- /dev/null
@@ -0,0 +1,85 @@
+#!/bin/bash 
+
+# Move *_6.5.0 to some dir, say _6.5.0_origin
+#mkdir _6.5.0_origin
+
+#for i in *_6.5.0; do
+#   if [ -d $i ]; then
+#     echo $i
+#     mv $i _6.5.0_origin
+#   fi
+#done
+
+# or remove *_6.5.0
+# rm -Rf *_6.5.0
+
+
+# Check out SALOME-SIMAN code from the branch BR_siman_phase1
+# and rename *_SRC to *SRC_6.5.0 to reuse 6.5.0 env, build and product scripts
+
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/KERNEL login
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/KERNEL checkout -r BR_siman_phase1 KERNEL_SRC
+mv KERNEL_SRC KERNEL_SRC_6.5.0
+
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/GUI login
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/GUI checkout -r BR_siman_phase1 GUI_SRC
+mv GUI_SRC GUI_SRC_6.5.0
+
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/GEOM login
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/GEOM checkout -r BR_siman_phase1 GEOM_SRC
+mv GEOM_SRC GEOM_SRC_6.5.0
+
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/MED login
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/MED checkout -r BR_siman_phase1 MED_SRC
+mv MED_SRC MED_SRC_6.5.0
+
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/SMESH login
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/SMESH checkout -r BR_siman_phase1 SMESH_SRC
+mv SMESH_SRC SMESH_SRC_6.5.0
+
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/EXAMPLES login
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/EXAMPLES checkout -r BR_siman_phase1 PYHELLO1_SRC
+mv PYHELLO1_SRC PYHELLO_SRC_6.5.0
+
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/VISU login
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/VISU checkout -r BR_siman_phase1 VISU_SRC
+mv VISU_SRC VISU_SRC_6.5.0
+
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/PARAVIS login
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/PARAVIS checkout -r BR_siman_phase1 PARAVIS_SRC
+mv PARAVIS_SRC PARAVIS_SRC_6.5.0
+
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/YACS login
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/YACS checkout -r BR_siman_phase1 YACS_SRC
+mv YACS_SRC YACS_SRC_6.5.0
+
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/NETGENPLUGIN login
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/NETGENPLUGIN checkout -r BR_siman_phase1 NETGENPLUGIN_SRC
+mv NETGENPLUGIN_SRC NETGENPLUGIN_SRC_6.5.0
+
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/GHS3DPLUGIN login
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/GHS3DPLUGIN checkout -r BR_siman_phase1 GHS3DPLUGIN_SRC
+mv GHS3DPLUGIN_SRC GHS3DPLUGIN_SRC_6.5.0
+
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/GHS3DPRLPLUGIN login
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/GHS3DPRLPLUGIN checkout -r BR_siman_phase1 GHS3DPRLPLUGIN_SRC
+mv GHS3DPRLPLUGIN_SRC GHS3DPRLPLUGIN_SRC_6.5.0
+
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/BLSURFPLUGIN login
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/BLSURFPLUGIN checkout -r BR_siman_phase1 BLSURFPLUGIN_SRC
+mv BLSURFPLUGIN_SRC BLSURFPLUGIN_SRC_6.5.0
+
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/HEXOTICPLUGIN login
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/HEXOTICPLUGIN checkout -r BR_siman_phase1 HexoticPLUGIN_SRC
+mv HexoticPLUGIN_SRC HexoticPLUGIN_SRC_6.5.0
+
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/EXAMPLES login
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/EXAMPLES checkout -r BR_siman_phase1 SAMPLES_SRC
+mv SAMPLES_SRC SAMPLES_SRC_6.5.0
+
+
+# Check out SALOME-SIMAN  SIMANIO_SRC, the scripts and the required product wso2-wsf-cpp-2.1.0
+
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/SIMAN login
+cvs -d :pserver:bri@cvs.opencascade.com:/home/server/cvs/SIMAN checkout -r BR_siman_phase1 SIMANIO_SRC
+
diff --git a/scripts/build.csh b/scripts/build.csh
new file mode 100644 (file)
index 0000000..8eb0a32
--- /dev/null
@@ -0,0 +1,463 @@
+#!/bin/csh -f
+
+####################################################################################
+#  File      : build.csh
+#  Created   : Thu Jan 27 09:50:55 2005
+#  Author    : Vadim SANDLER, Open CASCADE SAS (vadim.sandler@opencascade.com)
+#  Project   : SALOME
+#  Module    : Installation Wizard
+#  Copyright : 2002-2012 CEA
+#
+#  This script is the part of the SALOME installation procedure.
+#
+#  This script can be used to build and install SALOME modules from sources.
+#  Try build.csh -h for more details about usage.
+#
+####################################################################################
+
+set is_build_configure=0
+set is_configure=0
+set inst_with_gui=1
+set is_delete=0
+set verbose_level=2
+set params=""
+set modules=(KERNEL GUI GEOM MED SMESH VISU PARAVIS YACS NETGENPLUGIN GHS3DPLUGIN BLSURFPLUGIN HexoticPLUGIN GHS3DPRLPLUGIN COMPONENT PYCALCULATOR CALCULATOR HELLO PYHELLO LIGHT PYLIGHT SIERPINSKY RANDOMIZER HEXABLOCK HEXABLOCKPLUGIN ATOMIC ATOMGEN ATOMSOLV HOMARD JOBMANAGER)
+set optim=""
+set is_install=1
+set is_help=0
+set is_tui=0
+set prefix=""
+set def_install_dir="/INSTALL"
+set b_params=""
+
+#########################################################
+# parse parameters
+#########################################################
+while ( ${%1} > 0 )
+    if ( "$1" == "-b" ) then
+       set is_build_configure=1
+       set is_configure=1
+    else if ( "$1" == "-c" ) then
+       set is_configure=1
+    else if ( "$1" == "-w" ) then
+       set inst_with_gui=0
+    else if ( "$1" == "-d" ) then
+       set is_delete=1
+    else if ( "$1" == "-o" ) then
+       set optim="--enable-production=yes --disable-debug"
+    else if ( "$1" == "-v" ) then
+       shift
+       set verbose_level=$1
+    else if ( "$1" == "-p" ) then
+       shift
+       set is_install=1
+       set prefix=$1
+    else if ( "$1" == "-h" ) then
+       set is_help=1
+    else if ( "$1" == "-t" ) then
+       set is_tui=1
+    else
+       set ckt=`echo ${modules} | grep -E "\<$1\>"`
+       if ( "$ckt" != "" ) then
+           set params="$params $1"
+       else
+           set b_params="$b_params $1"
+           echo "\!\!\! Warning \!\!\! Unknown module: $1."
+       endif
+    endif
+    shift
+end
+
+#########################################################
+# if -h option is given - print help info and exit 
+#########################################################
+if ( $is_help == 1 ) then
+echo ""
+echo ""
+echo "Description:"
+echo "            Builds given SALOME modules by performing make and make install commands"
+echo ""
+echo "Usage:"
+echo "            build.csh [ <option> ] ... [ <module> [ <module> ... ] ]"
+echo ""
+echo "<module>    Modules to build, separated by space(s)."
+echo "            If no modules are given - all SALOME modules are assumed."
+echo "            Note, that modules given in command lines are automatically sorted in such order"
+echo "            to support correct modules dependencies."
+echo ""
+echo "Options:"
+echo "-b          Perform build_configure command for all given modules."
+echo "            This option forces configure (-c) key to be set. Default is off."
+echo ""
+echo "-c          Perform configure command for all given modules. Default is off."
+echo ""
+echo "-w          Add --without-gui key to build_configure and configure commands"
+echo "            to build SALOME module sources without GUI."
+echo "            By default sources are built with GUI."
+echo ""
+echo "-d          Delete build directories before calling configure, to force full rebuild"
+echo "            and reinstall of the module."
+echo "            Use this option carefully."
+echo ""
+echo "-o          Build sources in optimized mode. Default is off that means debug mode."
+echo "            Use this option together with -c or -b."
+echo "            This option can require -d option to be set (to ensure that previously"
+echo "            created build directories are removed to enforce rebuild in optimized mode)."
+echo ""
+echo "-t          Performs make dev_docs step to build TUI documentation for those modules"
+echo "            which support this. Default is off."
+echo ""
+echo "-p <prefix> Define the directory where to install modules after compilation."
+echo "            By default the directory where compilation is performed is used."
+echo ""
+echo "-v <level>  Verbose level (0-2, default 2): print information on build status:"
+echo "            0: only 'make' errors"
+echo "            1: 0 + compiler and other errors (including build_configure, configure)"
+echo "            2: 1 + compiler and other warnings "
+echo ""
+echo "-h          Prints this help information."
+echo ""
+echo "Note:       If no keys are given script just performs make step."
+echo ""
+echo "Example:"
+echo "            ./build.csh -o -p /home/user/salome -b KERNEL MED GEOM"
+echo ""
+echo "            This will make KERNEL, GEOM and MED modules: build_configure, configure, make"
+echo "            and install procedures will be performed for all specified modules."
+echo "            The modules will be built in the optimized mode"
+echo ""
+exit
+endif
+
+#########################################################
+# sort modules in proper order according to the dependancies
+#########################################################
+if ( "${params}" != "" ) then
+    set xparams=""
+    foreach module (${modules})
+       set ckt=`echo ${params} | grep -E "\<${module}\>"`
+       if ( "$ckt" != "" ) then
+           set xparams="$xparams $module"
+       endif
+    end
+    set modules=($xparams $b_params)
+else if ( "${b_params}" != "" ) then
+    set modules=($b_params)
+endif
+
+echo ">>> The following modules will be built:"
+echo $modules
+
+#########################################################
+# set environment
+#########################################################
+set env_script=`dirname $0`/env_build.csh
+if ( ! -e $env_script ) then
+    set env_script=`dirname $0`/env_products.csh
+endif
+if ( ! -e $env_script ) then
+    set env_script=`dirname $0`/env.sh
+endif
+if ( -e $env_script ) then
+    echo ">>> Setting environment"
+    source $env_script
+else
+    echo "\!\!\! Warning \!\!\! Environment is not set."
+    echo "No environment file (env_build.sh, env_products.sh, env.sh) is found."
+    echo "Proceed with the current environment."
+endif
+
+set BUILD_DIR=${PWD}
+set LOG_DIR=${BUILD_DIR}/LOGS
+
+#########################################################
+# define installation prefix
+#########################################################
+if ( "$prefix" == "" ) then
+    echo "\!\!\! Warning \!\!\! Installation directory is not set."
+    echo "All the modules will be installed to the ${BUILD_DIR}${def_install_dir}"
+else
+    set is_absolute=`echo $prefix | grep -e "^/"`
+    if ( "$is_absolute" == "" ) then
+       set prefix=${BUILD_DIR}/$prefix
+       echo "\!\!\! Warning \!\!\! Relative prefix is used."
+       echo "All the modules will be installed to the $prefix"
+    endif
+endif
+
+#########################################################
+# create log directory
+#########################################################
+if ( ! -e ${LOG_DIR} ) then
+    mkdir -p ${LOG_DIR}
+endif
+
+echo "==========================================================================="
+echo "Starting SALOME build at `date`"
+echo "==========================================================================="
+
+#########################################################
+# loop for all given modules
+#########################################################
+foreach module (${modules})
+    echo ">>> Processing ${module} module"
+
+    set module_src=`printenv ${module}_SRC_DIR`
+    set module_build=${BUILD_DIR}/${module}_BUILD
+
+    if ( ${module_src} != "" ) then
+       cd ${BUILD_DIR}
+       #########################################################
+       # check if sources directory exists
+       #########################################################
+       if ( ! -e ${module_src} ) then
+           echo "\!\!\! Error \!\!\! Can't find sources directory: ${module_src} does not exist."
+           continue
+       endif
+       #########################################################
+       # check if configure script exists
+       #########################################################
+       set cfg_exist=0
+       if ( -e ${module_src}/configure ) then
+           set cfg_exist=1
+       endif
+       #########################################################
+       # perform build_configure if -b flag is given or if 
+       # configure script does not exist (first compilation?)
+       #########################################################
+       if ( $is_build_configure == 1 || $cfg_exist == 0 ) then
+           echo "... Performing build_configure"
+           #########################################################
+           # check if build_configure script exists
+           #########################################################
+           if ( ! -e ${module_src}/build_configure && "${module}" != "PARAVIS" ) then
+               echo "\!\!\! Warning \!\!\! Can not find build_configure script in ${module_src}."
+           else
+               if ( "${module}" == "PARAVIS" ) then
+                   echo "\!\!\! Warning \!\!\! build_configure step is not executed for ${module}."
+               else
+                   #########################################################
+                   # call build_configure
+                   #########################################################
+                   if (! ($?BUILDCONF_OPTS) ) then
+                       set mybuildconf_keys=""
+                   else
+                       set mybuildconf_keys="${BUILDCONF_OPTS}"
+                   endif    
+                   if ( $inst_with_gui == 0 ) then
+                       set mybuildconf_keys="${mybuildconf_keys} --without-gui"
+                   endif
+                   cd ${module_src}
+                   ./build_configure ${mybuildconf_keys} >& ${LOG_DIR}/build_configure_${module}.log
+                   #########################################################
+                   # echo possible errors
+                   #########################################################
+                   if ( $verbose_level > 0 ) then
+                       cat ${LOG_DIR}/build_configure_${module}.log | grep -E "(failed|: error:)"
+                   endif
+               endif
+           endif
+       endif
+       #########################################################
+       # deleting build directory if -d flag is given
+       #########################################################
+       if ( -e ${module_build} && $is_delete == 1 ) then
+           echo "... Removing ${module_build}"
+           chmod -R +w ${module_build} && rm -rf ${module_build} >& /dev/null
+           if ( "$?" != "0" ) then
+               echo "\!\!\! Warning \!\!\! Cannot remove build directory ${module_build}. Permission denied."
+           endif
+       endif
+       #########################################################
+       # creating build directory if it does not exist
+       #########################################################
+       if ( ! -e ${module_build} ) then
+           mkdir -p ${module_build} >& /dev/null
+           if ( "$?" != "0" ) then
+               echo "\!\!\! Error \!\!\! Cannot create build directory ${module_build}. Permission denied."
+               continue
+           endif
+       endif
+       cd ${module_build}
+       #########################################################
+       # check if top Makefile exists in build directory, i.e. 
+       # is it necessary to run configure script
+       #########################################################
+       set mkfile_exist=0
+       if ( -e ${module_build}/Makefile ) then
+           set mkfile_exist=1
+       endif
+       #########################################################
+       # check if configure options are changed from the 
+       # previous launch
+       #########################################################
+       set opts_changed=0
+       #########################################################
+       # define installation directory (by using module's version
+       # number); default is a build directory
+       #########################################################
+       set vx=""
+       if ( -e ${module_src}/configure.ac ) then
+           set vx=`grep -e "^AC_INIT" ${module_src}/configure.ac | sed -e "s%.*\[\([[:digit:].]*\)\].*%\1%g"`
+       else if ( -e ${module_src}/configure.in.base ) then
+           set vx=`grep -e "^VERSION=" ${module_src}/configure.in.base | awk -F= '{ if (NF>1) print $NF; }' | tr -d '[:space:]'`
+           if ( "$vx" == "" ) then
+               set vx=`grep -e "^AC_INIT" ${module_src}/configure.in.base | sed -e "s%.*\[\([[:digit:].]*\)\].*%\1%g"`
+           endif
+       else if ( -e ${module_src}/CMakeLists.txt ) then
+           set ver_maj=`cat ${module_src}/CMakeLists.txt | grep SET\(VERSION_MAJOR | sed -e "s%[A-Z_() ]%%g"`
+           set ver_min=`cat ${module_src}/CMakeLists.txt | grep SET\(VERSION_MINOR | sed -e "s%[A-Z_() ]%%g"`
+           set ver_maintenance=`cat ${module_src}/CMakeLists.txt | grep SET\(VERSION_MAINTENANCE | sed -e "s%[A-Z_() ]%%g"`
+           set vx="${ver_maj}.${ver_min}.${ver_maintenance}"
+       endif
+       if ( "$vx" != "" ) then
+           set vx="_$vx"
+       endif
+       if ( "$prefix" == "" ) then
+           set px=${BUILD_DIR}${def_install_dir}/${module}${vx}
+       else
+           set px=${prefix}/${module}${vx}
+       endif
+       #########################################################
+       # perform configure if -c flag is given or if 
+       # Makefile does not exist (first compilation?)
+       #########################################################
+       if ( $is_configure == 1 || $mkfile_exist == 0 || $opts_changed == 1 ) then
+           echo "... Performing configure"
+           #########################################################
+           # check if configure script exists
+           #########################################################
+           if ( ! -e ${module_src}/configure  && "${module}" != "PARAVIS" ) then
+               echo "\!\!\! Warning \!\!\! Can not find configure script in ${module_src}."
+           else
+               if (! ($?BUILDCONF_OPTS) ) then
+                   set myconf_keys=""
+               else
+                   set myconf_keys="${CONF_OPTS}"
+               endif
+               if ( $inst_with_gui == 0 ) then
+                   set myconf_keys="${myconf_keys} --without-gui"
+               endif
+               if ( "${module}" == "MED" && ($?METISDIR) && ($?SCOTCHDIR) ) then
+                   set myconf_keys="${myconf_keys} --enable-splitter=yes --with-metis=${METISDIR} --with-scotch=${SCOTCHDIR}"
+               endif
+               if ( "${module}" == "NETGENPLUGIN" && ($?NETGENHOME) ) then
+                   set myconf_keys="${myconf_keys} --with-netgen=${NETGENHOME}"
+               endif
+               
+               if ( "${module}" == "PARAVIS" )  then
+                   cd ${module_build}; cmake ${module_src} -DCMAKE_INSTALL_PREFIX=$px >& ${LOG_DIR}/configure_${module}.log
+               else
+                   ${module_src}/configure --prefix=$px ${optim} ${myconf_keys} >& ${LOG_DIR}/configure_${module}.log
+               endif
+
+               #########################################################
+               # echo possible errors
+               #########################################################
+               if ( $verbose_level > 0 ) then
+                   cat ${LOG_DIR}/configure_${module}.log | grep ": error:"
+               endif
+               if ( $verbose_level > 1 ) then
+                   cat ${LOG_DIR}/configure_${module}.log | grep ": WARNING:"
+               endif
+           endif
+       endif
+       #########################################################
+       # perform make
+       #########################################################
+       echo "... Performing make"
+       #########################################################
+       # first clear dependencies
+       #########################################################
+       find . -name ".dep*" -type f -exec rm -f {} \; >& /dev/null
+        #########################################################
+        # then make
+        #########################################################
+       if ( "${module}" == "PARAVIS" )  then
+           if ( ($?VTK_AUTOLOAD_PATH) ) then
+               setenv VTK_AUTOLOAD_PATH_BACKUP ${VTK_AUTOLOAD_PATH}
+               unsetenv VTK_AUTOLOAD_PATH
+           endif
+       endif
+       make >& ${LOG_DIR}/make_${module}.log
+       set sts=$status
+       if ( "${module}" == "PARAVIS" )  then
+           if ( ($?VTK_AUTOLOAD_PATH_BACKUP) ) then
+               setenv VTK_AUTOLOAD_PATH ${VTK_AUTOLOAD_PATH_BACKUP}
+           endif
+       endif
+       #########################################################
+       # if make step is successful set the ${module}_ROOT_DIR
+       # environment variable
+       #########################################################
+       #if ( $sts == 0 ) then
+       #    setenv ${module}_ROOT_DIR ${module_build}
+       #endif
+       #########################################################
+       # print make errors
+       #########################################################
+       cat ${LOG_DIR}/make_${module}.log | grep -Ei '[*][*][*].*error'
+       #########################################################
+       # print compiler errors and warnings
+       # Note: here awk is used to concatenate together several lines of single
+       #       error or warning message produced by stupid gnu compiler
+       # Actually, instead of that we could use 'fmessage length=n' option of g++...
+       #########################################################
+       if ( $verbose_level > 0 ) then
+           ###cat ${LOG_DIR}/make_${module}.log | grep ": error"
+           cat ${LOG_DIR}/make_${module}.log | awk 'substr($0,0,1)!=" " {print ""} {print $0} END {print ""}' | grep "${module_src}/[A-Za-z_0-9./]*:" | sed s@"^${module_src}/src/"@@
+       endif
+       if ( $verbose_level > 1 ) then
+           cat ${LOG_DIR}/make_${module}.log | awk 'substr($0,0,1)!=" " {print ""} {print $0} END {print ""}' | grep -E ": warning|* Warning" | sed s@"^${module_src}/src/"@@
+       endif
+       #########################################################
+       # perform make dev_docs step if -t flag is given
+       #########################################################
+       if ( $is_tui == 1 && $sts == 0 && -d ${module_build}/doc ) then
+           cd ${module_build}/doc
+           set dd=`cat Makefile | grep -E "dev_docs[[:space:]]*:"`
+           if ( "$dd" != "" ) then
+               echo "... Performing make dev_docs"
+               make dev_docs >& ${LOG_DIR}/make_dev_docs_${module}.log
+               cat ${LOG_DIR}/make_dev_docs_${module}.log | grep '[*][*][*]'
+           endif
+       endif
+       cd ${module_build}
+       #########################################################
+       # perform make if -i or -p flags are given
+       #########################################################
+       if ( $is_install == 1 && $sts == 0 || "${module}" == "KERNEL" ) then
+           #########################################################
+           # deleting build directory if -d flag is given
+           #########################################################
+           if ( -e $px && $is_delete == 1 ) then
+               echo "... Removing $px"
+               rm -rf $px >& /dev/null
+               if ( "$?" != "0" ) then
+                   echo "\!\!\! Warning \!\!\! Cannot remove install directory ${px}. Permission denied."
+               endif
+           endif
+           echo "... Performing make install"
+           make install >& ${LOG_DIR}/make_install_${module}.log
+           set sts=$status
+           #########################################################
+           # if make install step is successful set the 
+           # ${module}_ROOT_DIR environment variable
+           #########################################################
+           if ( $sts == 0 ) then
+               setenv ${module}_ROOT_DIR $px
+           endif
+       endif
+       echo ">>> Finished ${module} module"
+    else
+       echo "\!\!\! Error \!\!\! Can't find module sources. ${module}_SRC_DIR environment variable is not set."
+    endif
+end
+#########################################################
+# finalize
+#########################################################
+cd ${BUILD_DIR}
+
+echo "==========================================================================="
+echo "SALOME build finished at `date`"
+echo "==========================================================================="
diff --git a/scripts/build.sh b/scripts/build.sh
new file mode 100644 (file)
index 0000000..07a96c9
--- /dev/null
@@ -0,0 +1,475 @@
+#!/bin/bash -noprofile
+
+####################################################################################
+#  File      : build.sh
+#  Created   : Thu Jan 27 09:50:55 2005
+#  Author    : Vadim SANDLER, Open CASCADE SAS (vadim.sandler@opencascade.com)
+#  Project   : SALOME
+#  Module    : Installation Wizard
+#  Copyright : 2002-2012 CEA
+#
+#  This script is the part of the SALOME installation procedure.
+#
+#  This script can be used to build and install SALOME modules from sources.
+#  Try build.sh -h for more details about usage.
+#
+####################################################################################
+
+###############################################################
+# Prints usage information and exits
+###############################################################
+usage(){
+    echo ""
+    echo "Description:"
+    echo "            Builds given SALOME modules by performing make and "
+    echo "            make install commands"
+    echo ""
+    echo "Usage:"
+    echo "            build.sh [ <option> ] ... [ <module> [ <module> ... ] ]"
+    echo ""
+    echo "<module>    Modules to build, separated by space(s)."
+    echo "            If no modules are given - all SALOME modules are assumed."
+    echo "            Note, that modules given in command lines are automatically"
+    echo "            sorted in such order to support correct modules dependencies."
+    echo ""
+    echo "Options:"
+    echo "-b          Perform build_configure command for all given modules."
+    echo "            This option forces configure (-c) key to be set. Default is off."
+    echo ""
+    echo "-c          Perform configure command for all given modules. Default is off."
+    echo ""
+    echo "-w          Add --without-gui key to build_configure and configure commands"
+    echo "            to build SALOME module sources without GUI."
+    echo "            By default sources are built with GUI."
+    echo ""
+    echo "-d          Delete build directories before calling configure, to force full"
+    echo "            rebuild and reinstall of the module."
+    echo "            Use this option carefully."
+    echo ""
+    echo "-o          Build sources in optimized mode. Default is off that means"
+    echo "            debug mode."
+    echo "            Use this option together with -c or -b."
+    echo "            This option can require -d option to be set (to ensure that"
+    echo "            previously created build directories are removed to enforce"
+    echo "            rebuild in optimized mode)."
+    echo ""
+    echo "-t          Performs make dev_docs step to build TUI documentation for those"
+    echo "            modules which support this. Default is off."
+    echo ""
+    echo "-p <prefix> Define the directory where to install modules after compilation."
+    echo "            By default the directory where compilation is performed is used."
+    echo ""
+    echo "-v <level>  Verbose level (0-2, default 2): print information on build status:"
+    echo "            0: only 'make' errors"
+    echo "            1: 0 + compiler and other errors (build_configure, configure)"
+    echo "            2: 1 + compiler and other warnings "
+    echo ""
+    echo "-h          Prints this help information."
+    echo ""
+    echo "Note:       If no keys are given script just performs make step."
+    echo ""
+    echo "Example:"
+    echo "            ./build.csh -o -p /home/user/salome -b KERNEL MED GEOM"
+    echo ""
+    echo "            This will make KERNEL, GEOM and MED modules: build_configure,"
+    echo "            configure, make and install procedures will be performed for all"
+    echo "            specified modules. The modules will be built in the optimized mode."
+    echo ""
+    exit 1
+}
+
+is_build_configure=0
+is_configure=0
+inst_with_gui=1
+is_delete=0
+verbose_level=2
+params=""
+#modules="KERNEL GUI GEOM MED SMESH VISU PARAVIS YACS NETGENPLUGIN GHS3DPLUGIN BLSURFPLUGIN HexoticPLUGIN GHS3DPRLPLUGIN COMPONENT PYCALCULATOR CALCULATOR HELLO PYHELLO LIGHT PYLIGHT SIERPINSKY RANDOMIZER HEXABLOCK HEXABLOCKPLUGIN ATOMIC ATOMGEN ATOMSOLV HOMARD JOBMANAGER"
+modules="KERNEL GUI GEOM MED SMESH VISU PARAVIS YACS NETGENPLUGIN GHS3DPLUGIN BLSURFPLUGIN HexoticPLUGIN GHS3DPRLPLUGIN PYHELLO"
+optim=""
+is_install=1
+is_tui=0
+prefix=""
+def_install_dir="/INSTALL"
+
+#########################################################
+# parse parameters
+#########################################################
+while getopts ":hbcwdotv:p:" option ; do
+    case $option in
+        h ) usage ;;
+        b ) is_build_configure=1 ; is_configure=1 ;;
+        c ) is_configure=1 ;;
+        w ) inst_with_gui=0 ;;
+        d ) is_delete=1 ;;
+        o ) optim="--enable-production=yes --disable-debug" ;;
+       t ) is_tui=1 ;;
+        v ) verbose_level=$OPTARG ;;
+        p ) is_install=1 ; prefix=$OPTARG ;;
+        ? ) usage ;;
+    esac
+done
+# shift to have the good number of other args
+shift $((OPTIND - 1))
+
+b_params=""
+
+for arg in $@ ; do
+    known=0
+    for m in $modules ; do
+       if [ "$m" == "$arg" ] ; then known=1 ; break ; fi
+    done
+    if [ $known -eq 0 ] ; then
+       echo
+       echo '!!! Warning !!! Unknown module: '$arg'.'
+       b_params="$b_params $arg"
+    else
+       params="$params $arg"
+    fi
+done
+
+#########################################################
+# sort modules in proper order according to the dependancies
+#########################################################
+if [ "${params}" != "" ] ; then
+    xparams=""
+    for module in ${modules} ; do
+       found=0
+       for p in $params ; do
+           if [ "$p" == "$module" ] ; then found=1 ; break ; fi
+       done
+       if [ $found -eq 1 ] ; then 
+           xparams="$xparams $module"
+       fi
+    done
+    modules="$xparams $b_params"
+elif [ "${b_params}" != "" ] ; then
+    modules="$b_params"
+fi
+
+echo
+echo ">>> The following modules will be built:"
+echo $modules
+echo
+
+#########################################################
+# set environment
+#########################################################
+env_script=`dirname $0`/env_build.sh
+if [ ! -e $env_script ] ; then
+    env_script=`dirname $0`/env_products.sh
+fi
+if [ ! -e $env_script ] ; then
+    env_script=`dirname $0`/env.sh
+fi
+if [ -e $env_script ] ; then
+    echo
+    echo ">>> Setting environment"
+    source $env_script
+else
+    echo
+    echo '!!! Warning !!! Environment is not set.'
+    echo 'No environment file (env_build.sh, env_products.sh, env.sh) is found.'
+    echo 'Proceed with the current environment.'
+fi
+
+BUILD_DIR=${PWD}
+LOG_DIR=${BUILD_DIR}/LOGS
+
+#########################################################
+# define installation prefix
+#########################################################
+if [ "$prefix" == "" ] ; then
+    echo
+    echo '!!! Warning !!! Installation directory is not set.'
+    echo "All the modules will be installed to the ${BUILD_DIR}${def_install_dir}"
+else
+    if [ "`echo $prefix | grep -E '^/'`" == "" ] ; then
+       prefix=${BUILD_DIR}/$prefix
+       echo
+       echo '!!! Warning !!! Relative prefix is used.'
+       echo "All the modules will be installed to the $prefix."
+    fi
+fi
+
+#########################################################
+# create log directory
+#########################################################
+if [ ! -e ${LOG_DIR} ] ; then
+    mkdir -p ${LOG_DIR}
+fi
+
+echo
+echo "==========================================================================="
+echo "Starting SALOME build at `date`"
+echo "==========================================================================="
+echo
+
+#########################################################
+# loop for all given modules
+#########################################################
+for module in ${modules}; do
+    echo ">>> Processing ${module} module"
+
+    module_src=`printenv ${module}_SRC_DIR`
+    module_build=${BUILD_DIR}/${module}_BUILD
+    
+    if [ "${module_src}" != "" ] ; then
+       cd ${BUILD_DIR}
+        #########################################################
+        # check if sources directory exists
+        #########################################################
+       if [ ! -e ${module_src} ] ; then
+           echo
+           echo '!!! Error !!! Cannot find module sources directory:'
+           echo "${module_src} does not exist."
+           echo
+           continue
+       fi
+        #########################################################
+        # check if configure script exists
+        #########################################################
+       cfg_exist=0
+       if [ -e ${module_src}/configure ] || [ -e ${module_src}/CMakeLists.txt ] ; then
+           cfg_exist=1
+       fi
+        #########################################################
+        # perform build_configure if -b flag is given or if 
+        # configure script does not exist (first compilation?)
+        #########################################################
+       if [ $is_build_configure -eq 1 ] || [ $cfg_exist -eq 0 ] ; then
+           echo "... Performing build_configure"
+           #########################################################
+            # check if build_configure script exists
+           #########################################################
+           if [ ! -e ${module_src}/build_configure ] && [ "${module}" != "PARAVIS" ] ; then
+               echo '!!! Warning !!! Cannot find build_configure script in '${module_src}'.'
+           else
+               if [ "${module}" == "PARAVIS" ]; then
+                   echo '!!! Warning !!! build_configure step is not executed for '${module}'.'                    
+               else
+                   #########################################################
+                    # call build_configure
+                   #########################################################
+                   mybuildconf_keys="${BUILDCONF_OPTS}"
+                   if [ $inst_with_gui -eq 0 ] ; then
+                       mybuildconf_keys="${mybuildconf_keys} --without-gui"
+                   fi
+                   cd ${module_src}
+                   ./build_configure ${mybuildconf_keys} >& ${LOG_DIR}/build_configure_${module}.log
+                   #########################################################
+                   # echo possible errors
+                   #########################################################
+                   if [ $verbose_level -gt 0 ] ; then
+                       cat ${LOG_DIR}/build_configure_${module}.log | grep -E "(failed|: error:)" >&2
+                   fi
+               fi
+           fi
+       fi
+        #########################################################
+        # deleting build directory if -d flag is given
+        #########################################################
+       if [ -e ${module_build} ] && [ $is_delete -eq 1 ] ; then
+           echo "... Removing ${module_build}"
+           chmod -R +w ${module_build} && rm -rf ${module_build} >& /dev/null
+           if [ "$?" != "0" ] ; then
+               echo
+               echo '!!! Warning !!! Cannot remove build directory ${module_build}. Permission denied.'
+               echo
+           fi
+       fi
+        #########################################################
+        # creating build directory if it does not exist
+        #########################################################
+       if [ ! -e ${module_build} ] ; then
+           mkdir -p ${module_build} >& /dev/null
+           if [ "$?" != "0" ] ; then
+               echo
+               echo '!!! Error !!! Cannot create build directory ${module_build}. Permission denied.'
+               echo
+               continue
+           fi
+       fi
+       cd ${module_build}
+        #########################################################
+        # check if top Makefile exists in build directory, i.e. 
+        # is it necessary to run configure script
+        #########################################################
+       mkfile_exist=0
+       if [ -e ${module_build}/Makefile ] ; then
+           mkfile_exist=1
+       fi
+        #########################################################
+        # check if configure options are changed from the 
+        # previous launch
+        #########################################################
+       opts_changed=0
+        #########################################################
+        # define installation directory (by using module's version
+        # number); default is a build directory
+        #########################################################
+       vx=""
+       if [ -e ${module_src}/configure.ac ] ; then
+           vx=`grep -e "^AC_INIT" ${module_src}/configure.ac | sed -e "s%.*\[\([[:digit:].]*\)\].*%\1%g"`
+       elif [ -e ${module_src}/configure.in.base ] ; then
+           vx=`grep -e "^VERSION=" ${module_src}/configure.in.base | awk -F= '{ if (NF>1) print $NF; }' | tr -d '[:space:]'`
+           if [ "$vx" == "" ] ; then
+               vx=`grep -e "^AC_INIT" ${module_src}/configure.in.base | sed -e "s%.*\[\([[:digit:].]*\)\].*%\1%g"`
+           fi
+       elif [ -e ${module_src}/CMakeLists.txt ] ; then
+           ver_maj=`cat ${module_src}/CMakeLists.txt | grep SET\(VERSION_MAJOR | sed -e "s%[A-Z_() ]%%g"`
+           ver_min=`cat ${module_src}/CMakeLists.txt | grep SET\(VERSION_MINOR | sed -e "s%[A-Z_() ]%%g"`
+           ver_maintenance=`cat ${module_src}/CMakeLists.txt | grep SET\(VERSION_MAINTENANCE | sed -e "s%[A-Z_() ]%%g"`
+           vx="${ver_maj}.${ver_min}.${ver_maintenance}"
+       fi
+       if [ "$vx" != "" ] ; then
+           vx="_$vx"
+       fi
+       if [ "$prefix" == "" ] ; then
+           px=${BUILD_DIR}${def_install_dir}/${module}${vx}
+       else
+           px=$prefix/${module}${vx}
+       fi
+        #########################################################
+        # perform configure if -c flag is given or if 
+        # Makefile does not exist (first compilation?)
+        #########################################################
+       if [ $is_configure -eq 1 ] || [ $mkfile_exist -eq 0 ] || [ $opts_changed -eq 1 ] ; then
+           echo "... Performing configure"
+           #########################################################
+           # check if configure script exists
+           #########################################################
+           if [ ! -e ${module_src}/configure ] && [ "${module}" != "PARAVIS" ] ; then
+               echo
+               echo '!!! Warning !!! Can not find configure script in '${module_src}'.'
+               echo
+           else
+               myconf_keys="${CONF_OPTS}"
+               if [ $inst_with_gui -eq 0 ] ; then
+                   myconf_keys="${myconf_keys} --without-gui"
+               fi
+               if [ "${module}" == "MED" ] && [ "${METISDIR}" != "" ] && [ "${SCOTCHDIR}" != "" ] ; then
+                   myconf_keys="${myconf_keys} --enable-splitter=yes --with-metis=${METISDIR} --with-scotch=${SCOTCHDIR}"
+               fi
+               if [ "${module}" == "NETGENPLUGIN" ] && [ "$NETGENHOME" != "" ] ; then
+                   myconf_keys="${myconf_keys} --with-netgen=${NETGENHOME}"
+               fi
+
+               if [ "${module}" == "PARAVIS" ] ; then
+                   cd ${module_build}; cmake ${module_src} -DCMAKE_INSTALL_PREFIX=$px >& ${LOG_DIR}/configure_${module}.log
+               else
+                   ${module_src}/configure --prefix=$px ${optim} ${myconf_keys} >& ${LOG_DIR}/configure_${module}.log
+               fi
+
+               #########################################################
+               # echo possible errors
+               #########################################################
+               if [ $verbose_level -gt 0 ] ; then
+                   cat ${LOG_DIR}/configure_${module}.log | grep ": error:" >&2
+               fi
+               if [ $verbose_level -gt 1 ] ; then
+                   cat ${LOG_DIR}/configure_${module}.log | grep ": WARNING:" >&2
+               fi
+           fi
+       fi
+        #########################################################
+        # perform make
+        #########################################################
+        echo "... Performing make"
+        #########################################################
+        # first clear dependencies
+        #########################################################
+       find . -name ".dep*" -type f -exec rm -f {} \; >& /dev/null
+        #########################################################
+        # then make
+        #########################################################
+       if [ "${module}" == "PARAVIS" ] ; then
+           VTK_AUTOLOAD_PATH_BACKUP=${VTK_AUTOLOAD_PATH}
+           test "${VTK_AUTOLOAD_PATH}" != "" && unset VTK_AUTOLOAD_PATH
+       fi
+       make >& ${LOG_DIR}/make_${module}.log
+       sts=$?
+       if [ "${module}" == "PARAVIS" ] ; then
+           test "${VTK_AUTOLOAD_PATH_BACKUP}" != "" && export VTK_AUTOLOAD_PATH=${VTK_AUTOLOAD_PATH_BACKUP}
+       fi
+        #########################################################
+        # if make step is successful set the ${module}_ROOT_DIR
+        # environment variable
+        #########################################################
+        #if [ $sts -eq 0 ] ; then
+       #    export ${module}_ROOT_DIR=${module_build}
+       #fi
+        #########################################################
+        # print make errors
+        #########################################################
+       cat ${LOG_DIR}/make_${module}.log | grep -Ei '[*][*][*].*error' >&2
+        #########################################################
+        # print compiler errors and warnings
+        # Note: here awk is used to concatenate together several lines of single
+        #       error or warning message produced by stupid gnu compiler
+        # Actually, instead of that we could use 'fmessage length=n' option of g++...
+        #########################################################
+       if [ $verbose_level -gt 0 ] ; then
+           ###cat ${LOG_DIR}/make_${module}.log | grep ": error"
+           cat ${LOG_DIR}/make_${module}.log | awk 'substr($0,0,1)!=" " {print ""} {print $0} END {print ""}' | grep "${module_src}/[A-Za-z_0-9./]*:" | sed s@"^${module_src}/src/"@@ >&2
+       fi
+       if [ $verbose_level -gt 1 ] ; then
+           cat ${LOG_DIR}/make_${module}.log | awk 'substr($0,0,1)!=" " {print ""} {print $0} END {print ""}' | grep -E ": warning|* Warning" | sed s@"^${module_src}/src/"@@ >&2
+       fi
+        #########################################################
+        # perform make dev_docs step if -t flag is given
+        #########################################################
+       if [ $is_tui -eq 1 ] && [ $sts -eq 0 ] && [ -d ${module_build}/doc ] ; then
+           cd ${module_build}/doc
+           dd=`cat Makefile | grep -E "dev_docs[[:space:]]*:"`
+           if [ "$dd" != "" ] ; then
+               echo "... Performing make dev_docs"
+               make dev_docs >& ${LOG_DIR}/make_dev_docs_${module}.log
+               cat ${LOG_DIR}/make_dev_docs_${module}.log | grep '[*][*][*]' >&2
+           fi
+       fi
+       cd ${module_build}
+        #########################################################
+        # perform make if -i or -p flags are given
+        #########################################################
+       if [ $is_install -eq 1 ] && [ $sts -eq 0 ] || [ "${module}" == "KERNEL" ] ; then
+           #########################################################
+           # deleting build directory if -d flag is given
+           #########################################################
+           if [ -e $px ] && [ $is_delete -eq 1 ] ; then
+               echo "... Removing $px"
+               rm -rf $px >& /dev/null
+               if [ "$?" != "0" ] ; then
+                   echo
+                   echo '!!! Warning !!! Cannot remove install directory ${px}. Permission denied.'
+                   echo
+               fi
+           fi
+           echo "... Performing make install"
+           make install >& ${LOG_DIR}/make_install_${module}.log
+           sts=$?
+           #########################################################
+           # if make install step is successful set the 
+            # ${module}_ROOT_DIR environment variable
+           #########################################################
+           if [ $sts -eq 0 ] ; then
+               export ${module}_ROOT_DIR=$px
+           fi
+       fi
+       echo ">>> Finished ${module} module"
+    else
+       echo
+       echo '!!! Error !!! Cannot find module sources. '${module}'_SRC_DIR environment variable is not set.'
+       echo
+    fi
+done
+#########################################################
+# finalize
+#########################################################
+cd ${BUILD_DIR}
+
+echo
+echo "==========================================================================="
+echo "SALOME build finished at `date`"
+echo "==========================================================================="
+echo 
diff --git a/scripts/env_build.csh b/scripts/env_build.csh
new file mode 100644 (file)
index 0000000..e9393ed
--- /dev/null
@@ -0,0 +1,815 @@
+
+###########################################################################
+# Aliases setenva and setenvp are used to append/prepend correspondingly 
+# one directory or a set of directories separated by semicolon symbol (':')
+# to the environment variables like PATH, LD_LIBRARY_PATH, PYTHONPATH,
+# LD_RUN_PATH etc. 
+# The main purpose is to replace default setenv command behavior:
+# setenva, setenvp also remove duplicated entries, shortening in that way
+# the environment variables.
+# If some directory being added is already included into the variable
+# nothing is done for it.
+# Note, that these aliases work some slower that setenv command itself.
+#
+#### cleandup ###
+# appends/prepends set of directories (second parameter) 
+# to the another set of directories (first parameter) and
+# removes duplicated entries;
+# the third parameter defines the mode: 0 - append, 1 - prepend
+alias cleandup "echo \!:1 \!:2 | awk -v dir=\!:3         \\
+'"'{ na = split($2,a,":");                               \\
+     k1=0;                                               \\
+     bbb[k1++]="";                                       \\
+     ccc[""];                                            \\
+     if($1 != "<empty>") {                               \\
+       nb = split($1,b,":");                             \\
+       for(i=1;i<=nb;i++) {                              \\
+         if(!(b[i] in ccc) ) {                           \\
+          ccc[b[i]];                                    \\
+           bbb[k1++]=b[i];                               \\
+        };                                              \\
+       };                                                \\
+     };                                                  \\
+     k2=0;                                               \\
+     aaa[k2++]="";                                       \\
+     for(i=1;i<=na;i++) {                                \\
+       if(!(a[i] in ccc)) {                              \\
+         ccc[a[i]];                                      \\
+         aaa[k2++]=a[i];                                 \\
+       };                                                \\
+     };                                                  \\
+     ORS=":";                                            \\
+     if(dir) {                                           \\
+       for(i=1;i<k2;i++) {                               \\
+         print aaa[i];                                   \\
+       }                                                 \\
+       for(i=1;i<k1;i++) {                               \\
+         print bbb[i];                                   \\
+       }                                                 \\
+     }                                                   \\
+     else {                                              \\
+       for(i=1;i<k1;i++) {                               \\
+         print bbb[i];                                   \\
+       }                                                 \\
+       for(i=1;i<k2;i++) {                               \\
+         print aaa[i];                                   \\
+       }                                                 \\
+     }                                                   \\
+  }'"' | sed -e 's/\(.*\):/\1/g'"
+### setenva ###
+# appends directory or set of directories, separated by ':' (second parameter)
+# to the variable (first parameter)
+alias setenva 'set a=\!:1 ; set b=\!:2 ;  \
+               set c=`printenv $a` ;      \
+               set b=`cleandup $c $b 0` ; \
+               setenv $a $b ;             \
+               unset a, b, c'
+
+### setenvp ###
+# prepends directory or set of directories, separated by ':' (second parameter)
+# to the variable (first parameter)
+alias setenvp 'set a=\!:1 ; set b=\!:2 ;  \
+               set c=`printenv $a` ;      \
+               set b=`cleandup $c $b 1` ; \
+               setenv $a $b ;             \
+               unset a, b, c'
+###########################################################################
+
+#------ setting initial PATH ------
+if (! ($?PATH) ) then
+  setenv PATH
+endif
+
+#------ setting initial LD_LIBRARY_PATH ------
+if (! ($?LD_LIBRARY_PATH) ) then
+  setenv LD_LIBRARY_PATH
+endif
+
+#------ setting initial LD_RUN_PATH ------
+if (! ($?LD_RUN_PATH) ) then
+  setenv LD_RUN_PATH
+endif
+
+#------ setting initial PYTHONPATH ------
+if (! ($?PYTHONPATH) ) then
+  setenv PYTHONPATH
+endif
+
+#------ setting initial TCLLIBPATH ------
+if (! ($?TCLLIBPATH) ) then
+  setenv TCLLIBPATH
+endif
+
+#------ Setting products installation directory ------
+setenv INST_ROOT /home/siman/salome_6.5.0
+
+#------ Environment switch: 0 for SALOME building, 1 for SALOME launching ------
+setenv ENV_FOR_LAUNCH 0
+
+#------ License activation ------
+setenv LICENSE_FILE /product/distene/dlim8.var.csh
+
+if ( -e ${LICENSE_FILE} ) then
+setenv SIMULOGD_LICENSE_FILE 29029@soleil
+source ${LICENSE_FILE}
+endif
+
+#------ tcltk ------
+setenv TCLHOME ${INST_ROOT}/tcltk-8.5.8
+setenvp PATH ${TCLHOME}/bin
+setenvp LD_LIBRARY_PATH ${TCLHOME}/lib
+setenv TCLLIBPATH "${TCLHOME}/lib ${TCLHOME}/lib/tcl8.5 ${TCLHOME}/lib/tk8.5"
+##
+## #------ tcltk_src ------
+## # nothing to do
+## ##
+#------ Python ------
+setenv PYTHONROOT ${INST_ROOT}/Python-2.6.6
+setenv PYTHONHOME $PYTHONROOT
+setenvp PATH ${PYTHONROOT}/bin
+setenvp LD_LIBRARY_PATH ${PYTHONROOT}/lib
+setenv PYTHON_VERSION 2.6
+setenv PYTHON_INCLUDE ${PYTHONROOT}/include/python${PYTHON_VERSION}
+setenvp PYTHONPATH ${PYTHONROOT}/lib/python${PYTHON_VERSION}
+##
+## #------ Python_src ------
+## # nothing to do
+## ##
+#------ Qt ------
+setenv QTDIR ${INST_ROOT}/qt-4.6.3
+setenvp PATH ${QTDIR}/bin 
+setenvp LD_LIBRARY_PATH ${QTDIR}/lib
+setenv QT_PLUGIN_PATH ${QTDIR}/plugins
+##
+## #------ Qt_src ------
+## # nothing to do
+## ##
+#------ Sip ------
+setenv SIPDIR ${INST_ROOT}/sip-4.13.2
+setenvp PATH ${SIPDIR}/bin
+setenvp PYTHONPATH ${SIPDIR}/lib/python${PYTHON_VERSION}/site-packages
+setenvp LD_LIBRARY_PATH ${SIPDIR}/lib/python${PYTHON_VERSION}/site-packages
+##
+## #------ Sip_src ------
+## # nothing to do
+## ##
+#------ PyQt ------
+setenv PYQTDIR ${INST_ROOT}/PyQt-4.9.1
+setenv PYQT_SIPS ${PYQTDIR}/sip
+setenvp PATH ${PYQTDIR}/bin
+setenvp PYTHONPATH ${PYQTDIR}:${PYQTDIR}/PyQt4
+setenvp LD_LIBRARY_PATH ${PYQTDIR}/PyQt4
+##
+## #------ PyQt_src ------
+## # nothing to do
+## ##
+#------ QScintilla ------
+setenv QSCINTILLA_DIR ${INST_ROOT}/QScintilla-2.6.1
+setenvp LD_LIBRARY_PATH ${QSCINTILLA_DIR}/lib
+##
+## #------ QScintilla_src ------
+## # nothing to do
+## ##
+#------ boost ------ 
+setenv BOOSTDIR ${INST_ROOT}/boost-1.49.0
+setenvp LD_LIBRARY_PATH ${BOOSTDIR}/lib
+setenvp PATH ${BOOSTDIR}/include
+##
+## #------ boost_src ------
+## # nothing to do
+## ##
+#------ Swig ------ 
+setenv SWIG_ROOT ${INST_ROOT}/swig-1.3.40
+setenvp PATH ${SWIG_ROOT}/bin
+setenv SWIG_LIB ${SWIG_ROOT}/share/swig/1.3.40
+##
+## #------ Swig_src ------
+## # nothing to do
+## ##
+#------ freetype ------
+setenv FREETYPEDIR ${INST_ROOT}/freetype-2.3.7
+setenvp LD_LIBRARY_PATH ${FREETYPEDIR}/lib
+##
+## #------ freetype_src ------
+## # nothing to do
+## ##
+#------ ftgl ------
+setenv FTGLDIR ${INST_ROOT}/ftgl-2.1.2
+setenvp PATH ${FTGLDIR}/bin 
+setenvp LD_LIBRARY_PATH ${FTGLDIR}/lib
+##
+## #------ ftgl_src ------
+## # nothing to do
+## ##
+#------ freeimage ------
+setenv FREEIMAGEDIR ${INST_ROOT}/freeimage-3.14.1
+setenvp PATH ${FREEIMAGEDIR}/bin 
+setenvp LD_LIBRARY_PATH ${FREEIMAGEDIR}/lib
+##
+## #------ freeimage_src ------
+## # nothing to do
+## ##
+#------ cmake ------
+setenv CMAKEHOME ${INST_ROOT}/cmake-2.8.7
+setenvp PATH ${CMAKEHOME}/bin
+##
+## #------ cmake_src ------
+## # nothing to do
+## ##
+#------ gl2ps ------
+setenv GL2PSHOME ${INST_ROOT}/gl2ps-1.3.5
+setenvp PATH ${GL2PSHOME}/bin 
+setenvp LD_LIBRARY_PATH ${GL2PSHOME}/lib
+##
+## #------ gl2ps_src ------
+## # nothing to do
+## ##
+#------ tbb ------
+setenv TBBHOME ${INST_ROOT}/tbb30_018oss
+setenvp PATH ${TBBHOME}/bin/intel64/cc4.1.0_libc2.4_kernel2.6.16.21 
+setenvp LD_LIBRARY_PATH ${TBBHOME}/lib/intel64/cc4.1.0_libc2.4_kernel2.6.16.21
+##
+## #------ tbb_src ------
+## # nothing to do
+## ##
+#------ OpenCascade ------
+setenv CASROOT ${INST_ROOT}/OCCT-6.5.3
+setenvp PATH ${CASROOT}/bin
+setenvp LD_LIBRARY_PATH ${CASROOT}/lib:${CASROOT}/lin/lib
+# Variable for Foundation Classes : 
+setenv CSF_UnitsLexicon ${CASROOT}/src/UnitsAPI/Lexi_Expr.dat 
+setenv CSF_UnitsDefinition ${CASROOT}/src/UnitsAPI/Units.dat 
+# Variable for DataExchange : 
+setenv CSF_SHMessage ${CASROOT}/src/SHMessage
+setenv CSF_XSMessage ${CASROOT}/src/XSMessage 
+# Variable for Font : 
+setenv CSF_MDTVFontDirectory ${CASROOT}/src/FontMFT 
+setenv CSF_MDTVTexturesDirectory ${CASROOT}/src/Textures 
+# Activation of OCCT Kernel multithreading :
+setenv MMGT_REENTRANT 1
+##
+## #------ OpenCascade_src ------
+## # nothing to do
+## ##
+#------ Qwt ------
+setenv QWTHOME ${INST_ROOT}/qwt-5.2.1
+setenvp LD_LIBRARY_PATH ${QWTHOME}/lib 
+##
+## #------ Qwt_src ------
+## # nothing to do
+## ##
+#------ OmniORB ------
+setenv OMNIORBDIR ${INST_ROOT}/omniORB-4.1.6
+setenv OMNIORB_CONFIG ${OMNIORBDIR}/.omniORB.cfg
+setenvp PYTHONPATH ${OMNIORBDIR}/lib:${OMNIORBDIR}/lib/python${PYTHON_VERSION}/site-packages
+setenvp PATH $OMNIORBDIR/bin
+setenvp LD_LIBRARY_PATH $OMNIORBDIR/lib 
+##
+## #------ OmniORB_src ------
+## # nothing to do
+## ##
+#------ Hdf5 ------
+setenv HDF5HOME ${INST_ROOT}/hdf5-1.8.8
+setenvp PATH ${HDF5HOME}/bin
+setenvp LD_LIBRARY_PATH ${HDF5HOME}/lib
+##
+## #------ Hdf5_src ------
+## # nothing to do
+## ##
+#------ cgnslib ------
+setenv CGNSHOME ${INST_ROOT}/cgnslib-3.1.3
+setenvp PATH ${CGNSHOME}/bin
+setenvp LD_LIBRARY_PATH ${CGNSHOME}/lib
+##
+## #------ cgnslib_src ------
+## # nothing to do
+## ##
+#------ Med ------
+setenv MED3HOME ${INST_ROOT}/med-3.0.5
+setenvp PATH ${MED3HOME}/bin
+setenvp LD_LIBRARY_PATH ${MED3HOME}/lib
+##
+## #------ Med_src ------
+## # nothing to do
+## ##
+#------ Metis ------ 
+setenv METISDIR ${INST_ROOT}/metis-4.0
+##
+## #------ Metis_src ------
+## # nothing to do
+## ##
+#------ Scotch ------ 
+setenv SCOTCHDIR ${INST_ROOT}/scotch-5.1.11
+##
+## #------ Scotch_src ------
+## # nothing to do
+## ##
+#------ ParaView ------
+setenv PVHOME ${INST_ROOT}/ParaView-3.14.0
+setenvp PATH ${PVHOME}/bin
+setenvp LD_LIBRARY_PATH ${PVHOME}/lib/paraview-3.14
+setenvp PYTHONPATH ${PVHOME}/lib/paraview-3.14:${PVHOME}/lib/paraview-3.14/site-packages:${PVHOME}/lib/paraview-3.14/site-packages/paraview
+setenv VTK_DIR ${PVHOME}/lib/paraview-3.14
+setenv PV_PLUGIN_PATH ${PVHOME}/lib/paraview-3.14
+##
+## #------ ParaView_src ------
+## # nothing to do
+## ##
+#------ numpy ------
+setenvp PYTHONPATH ${INST_ROOT}/numpy-1.5.1/lib/python${PYTHON_VERSION}/site-packages
+setenvp PATH ${INST_ROOT}/numpy-1.5.1/bin
+setenvp LD_LIBRARY_PATH ${INST_ROOT}/numpy-1.5.1/lib
+##
+## #------ numpy_src ------
+## # nothing to do
+## ##
+#------ libBatch ------ 
+setenv LIBBATCH_ROOT_DIR ${INST_ROOT}/libBatch-1.5.0
+setenvp LD_LIBRARY_PATH ${LIBBATCH_ROOT_DIR}/lib
+setenvp PYTHONPATH ${LIBBATCH_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages
+##
+## #------ libBatch_src ------
+## # nothing to do
+## ##
+#------ expat ------
+setenv EXPAT_ROOT ${INST_ROOT}/expat-2.0.1
+setenvp PATH ${EXPAT_ROOT}/bin
+setenvp LD_LIBRARY_PATH ${EXPAT_ROOT}/lib
+##
+## #------ expat_src ------
+## # nothing to do
+## ##
+#------ Graphviz ------
+setenv GRAPHVIZHOME ${INST_ROOT}/graphviz-2.28.0
+setenvp PATH ${GRAPHVIZHOME}/bin
+setenvp LD_LIBRARY_PATH ${GRAPHVIZHOME}/lib:${GRAPHVIZHOME}/lib/graphviz
+##
+## #------ Graphviz_src ------
+## # nothing to do
+## ##
+#------ Doxygen ------
+setenvp PATH ${INST_ROOT}/doxygen-1.8.0/bin
+##
+## #------ Doxygen_src ------
+## # nothing to do
+## ##
+#------ docutils ------
+setenvp PYTHONPATH ${INST_ROOT}/docutils-0.8.1/lib/python${PYTHON_VERSION}/site-packages
+setenvp PATH ${INST_ROOT}/docutils-0.8.1/bin
+##
+## #------ docutils_src ------
+## # nothing to do
+## ##
+#------ Sphinx ------
+setenvp PYTHONPATH ${INST_ROOT}/Sphinx-1.1.3/lib/python${PYTHON_VERSION}/site-packages
+setenvp PATH ${INST_ROOT}/Sphinx-1.1.3/bin
+##
+## #------ Sphinx_src ------
+## # nothing to do
+## ##
+#------ netgen ------
+setenv NETGENHOME ${INST_ROOT}/netgen-4.9.13
+setenvp LD_LIBRARY_PATH ${NETGENHOME}/lib
+##
+## #------ netgen_src ------
+## # nothing to do
+## ##
+#------ DISTENE ------
+setenv DISTENE_HOME ${INST_ROOT}/DISTENE
+setenv BLSURFHOME ${DISTENE_HOME}/Tools/BLSurf-3.1_64
+setenv HEXOTICHOME ${DISTENE_HOME}/Tools/Hexotic-V1.0_64
+setenvp LD_LIBRARY_PATH ${BLSURFHOME}/lib 
+setenvp PATH ${HEXOTICHOME}/bin:${DISTENE_HOME}/Tools/TetMesh-GHS3D4.1_64:${DISTENE_HOME}/Tools/TetMesh-GHS3D4.2_64
+##
+## #------ DISTENE_src ------
+## # nothing to do
+## ##
+#------ homard ------
+setenv homard_HOME ${INST_ROOT}/homard-10.4
+setenvp PATH ${homard_HOME}/HOMARD_V10.4_64
+##
+## #------ homard_src ------
+## # nothing to do
+## ##
+#------ libxml2 ------ 
+setenv LIBXML_DIR ${INST_ROOT}/libxml2-2.7.8
+setenvp PATH ${LIBXML_DIR}/bin
+setenvp LD_LIBRARY_PATH ${LIBXML_DIR}/lib
+##
+## #------ libxml2_src ------
+## # nothing to do
+## ##
+#------ KERNEL ------
+setenv KERNEL_ROOT_DIR ${INST_ROOT}/KERNEL_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${KERNEL_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${KERNEL_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${KERNEL_ROOT_DIR}/bin/salome:${KERNEL_ROOT_DIR}/lib/salome:${KERNEL_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ KERNEL_src ------
+setenv KERNEL_SRC_DIR ${INST_ROOT}/KERNEL_SRC_6.5.0
+##
+#------ GUI ------
+setenv GUI_ROOT_DIR ${INST_ROOT}/GUI_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${GUI_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${GUI_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${GUI_ROOT_DIR}/bin/salome:${GUI_ROOT_DIR}/lib/salome:${GUI_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+    setenv VTK_AUTOLOAD_PATH ${GUI_ROOT_DIR}/lib/paraview
+  endif
+endif
+##
+#------ GUI_src ------
+setenv GUI_SRC_DIR ${INST_ROOT}/GUI_SRC_6.5.0
+##
+#------ GEOM ------
+setenv GEOM_ROOT_DIR ${INST_ROOT}/GEOM_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${GEOM_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${GEOM_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${GEOM_ROOT_DIR}/bin/salome:${GEOM_ROOT_DIR}/lib/salome:${GEOM_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ GEOM_src ------
+setenv GEOM_SRC_DIR ${INST_ROOT}/GEOM_SRC_6.5.0
+##
+#------ MED ------
+setenv MED_ROOT_DIR ${INST_ROOT}/MED_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${MED_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${MED_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${MED_ROOT_DIR}/bin/salome:${MED_ROOT_DIR}/lib/salome:${MED_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+    setenv AM2CMAKE_FORCE_GENERATION 1
+  endif
+endif
+##
+#------ MED_src ------
+setenv MED_SRC_DIR ${INST_ROOT}/MED_SRC_6.5.0
+##
+#------ SMESH ------
+setenv SMESH_ROOT_DIR ${INST_ROOT}/SMESH_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${SMESH_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${SMESH_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${SMESH_ROOT_DIR}/bin/salome:${SMESH_ROOT_DIR}/lib/salome:${SMESH_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ SMESH_src ------
+setenv SMESH_SRC_DIR ${INST_ROOT}/SMESH_SRC_6.5.0
+##
+#------ VISU ------
+setenv VISU_ROOT_DIR ${INST_ROOT}/VISU_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${VISU_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${VISU_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${VISU_ROOT_DIR}/bin/salome:${VISU_ROOT_DIR}/lib/salome:${VISU_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ VISU_src ------
+setenv VISU_SRC_DIR ${INST_ROOT}/VISU_SRC_6.5.0
+##
+#------ PARAVIS ------
+setenv PARAVIS_ROOT_DIR ${INST_ROOT}/PARAVIS_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${PARAVIS_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${PARAVIS_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${PARAVIS_ROOT_DIR}/bin/salome:${PARAVIS_ROOT_DIR}/lib/salome:${PARAVIS_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+    setenv PV_PLUGIN_PATH ${PARAVIS_ROOT_DIR}/lib/paraview:${PV_PLUGIN_PATH}
+  endif
+endif
+##
+#------ PARAVIS_src ------
+setenv PARAVIS_SRC_DIR ${INST_ROOT}/PARAVIS_SRC_6.5.0
+setenv ACCEPT_PARAVIS_WARNINGS 1
+##
+#------ HEXABLOCK ------
+setenv HEXABLOCK_ROOT_DIR ${INST_ROOT}/HEXABLOCK_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${HEXABLOCK_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${HEXABLOCK_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${HEXABLOCK_ROOT_DIR}/bin/salome:${HEXABLOCK_ROOT_DIR}/lib/salome:${HEXABLOCK_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ HEXABLOCK_src ------
+setenv HEXABLOCK_SRC_DIR ${INST_ROOT}/HEXABLOCK_SRC_6.5.0
+##
+#------ HEXABLOCKPLUGIN ------
+setenv HEXABLOCKPLUGIN_ROOT_DIR ${INST_ROOT}/HEXABLOCKPLUGIN_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp LD_LIBRARY_PATH ${HEXABLOCKPLUGIN_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${HEXABLOCKPLUGIN_ROOT_DIR}/lib/salome:${HEXABLOCKPLUGIN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ HEXABLOCKPLUGIN_src ------
+setenv HEXABLOCKPLUGIN_SRC_DIR ${INST_ROOT}/HEXABLOCKPLUGIN_SRC_6.5.0
+##
+#------ NETGENPLUGIN ------
+setenv NETGENPLUGIN_ROOT_DIR ${INST_ROOT}/NETGENPLUGIN_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp LD_LIBRARY_PATH ${NETGENPLUGIN_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${NETGENPLUGIN_ROOT_DIR}/lib/salome:${NETGENPLUGIN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ NETGENPLUGIN_src ------
+setenv NETGENPLUGIN_SRC_DIR ${INST_ROOT}/NETGENPLUGIN_SRC_6.5.0
+##
+#------ GHS3DPLUGIN ------
+setenv GHS3DPLUGIN_ROOT_DIR ${INST_ROOT}/GHS3DPLUGIN_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp LD_LIBRARY_PATH ${GHS3DPLUGIN_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${GHS3DPLUGIN_ROOT_DIR}/lib/salome:${GHS3DPLUGIN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ GHS3DPLUGIN_src ------
+setenv GHS3DPLUGIN_SRC_DIR ${INST_ROOT}/GHS3DPLUGIN_SRC_6.5.0
+##
+#------ GHS3DPRLPLUGIN ------
+setenv GHS3DPRLPLUGIN_ROOT_DIR ${INST_ROOT}/GHS3DPRLPLUGIN_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${GHS3DPRLPLUGIN_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${GHS3DPRLPLUGIN_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${GHS3DPRLPLUGIN_ROOT_DIR}/bin/salome:${GHS3DPRLPLUGIN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ GHS3DPRLPLUGIN_src ------
+setenv GHS3DPRLPLUGIN_SRC_DIR ${INST_ROOT}/GHS3DPRLPLUGIN_SRC_6.5.0
+##
+#------ BLSURFPLUGIN ------
+setenv BLSURFPLUGIN_ROOT_DIR ${INST_ROOT}/BLSURFPLUGIN_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${BLSURFPLUGIN_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${BLSURFPLUGIN_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${BLSURFPLUGIN_ROOT_DIR}/bin/salome:${BLSURFPLUGIN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ BLSURFPLUGIN_src ------
+setenv BLSURFPLUGIN_SRC_DIR ${INST_ROOT}/BLSURFPLUGIN_SRC_6.5.0
+##
+#------ HexoticPLUGIN ------
+setenv HexoticPLUGIN_ROOT_DIR ${INST_ROOT}/HexoticPLUGIN_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${HexoticPLUGIN_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${HexoticPLUGIN_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${HexoticPLUGIN_ROOT_DIR}/bin/salome:${HexoticPLUGIN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ HexoticPLUGIN_src ------
+setenv HexoticPLUGIN_SRC_DIR ${INST_ROOT}/HexoticPLUGIN_SRC_6.5.0
+##
+#------ COMPONENT ------
+setenv COMPONENT_ROOT_DIR ${INST_ROOT}/COMPONENT_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${COMPONENT_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${COMPONENT_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${COMPONENT_ROOT_DIR}/bin/salome:${COMPONENT_ROOT_DIR}/lib/salome:${COMPONENT_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ COMPONENT_src ------
+setenv COMPONENT_SRC_DIR ${INST_ROOT}/COMPONENT_SRC_6.5.0
+##
+#------ PYCALCULATOR ------
+setenv PYCALCULATOR_ROOT_DIR ${INST_ROOT}/PYCALCULATOR_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${PYCALCULATOR_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${PYCALCULATOR_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${PYCALCULATOR_ROOT_DIR}/bin/salome:${PYCALCULATOR_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ PYCALCULATOR_src ------
+setenv PYCALCULATOR_SRC_DIR ${INST_ROOT}/PYCALCULATOR_SRC_6.5.0
+##
+#------ CALCULATOR ------
+setenv CALCULATOR_ROOT_DIR ${INST_ROOT}/CALCULATOR_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${CALCULATOR_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${CALCULATOR_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${CALCULATOR_ROOT_DIR}/bin/salome:${CALCULATOR_ROOT_DIR}/lib/salome:${CALCULATOR_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ CALCULATOR_src ------
+setenv CALCULATOR_SRC_DIR ${INST_ROOT}/CALCULATOR_SRC_6.5.0
+##
+#------ HELLO ------
+setenv HELLO_ROOT_DIR ${INST_ROOT}/HELLO_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${HELLO_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${HELLO_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${HELLO_ROOT_DIR}/bin/salome:${HELLO_ROOT_DIR}/lib/salome:${HELLO_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ HELLO_src ------
+setenv HELLO_SRC_DIR ${INST_ROOT}/HELLO_SRC_6.5.0
+##
+#------ PYHELLO ------
+setenv PYHELLO_ROOT_DIR ${INST_ROOT}/PYHELLO_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${PYHELLO_ROOT_DIR}/bin/salome
+    setenvp PYTHONPATH ${PYHELLO_ROOT_DIR}/bin/salome:${PYHELLO_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ PYHELLO_src ------
+setenv PYHELLO_SRC_DIR ${INST_ROOT}/PYHELLO_SRC_6.5.0
+##
+#------ ATOMGEN ------
+setenv ATOMGEN_ROOT_DIR ${INST_ROOT}/ATOMGEN_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${ATOMGEN_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${ATOMGEN_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${ATOMGEN_ROOT_DIR}/bin/salome:${ATOMGEN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ ATOMGEN_src ------
+setenv ATOMGEN_SRC_DIR ${INST_ROOT}/ATOMGEN_SRC_6.5.0
+##
+#------ ATOMSOLV ------
+setenv ATOMSOLV_ROOT_DIR ${INST_ROOT}/ATOMSOLV_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${ATOMSOLV_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${ATOMSOLV_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${ATOMSOLV_ROOT_DIR}/bin/salome:${ATOMSOLV_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ ATOMSOLV_src ------
+setenv ATOMSOLV_SRC_DIR ${INST_ROOT}/ATOMSOLV_SRC_6.5.0
+##
+#------ ATOMIC ------
+setenv ATOMIC_ROOT_DIR ${INST_ROOT}/ATOMIC_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${ATOMIC_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${ATOMIC_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${ATOMIC_ROOT_DIR}/bin/salome:${ATOMIC_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ ATOMIC_src ------
+setenv ATOMIC_SRC_DIR ${INST_ROOT}/ATOMIC_SRC_6.5.0
+##
+#------ LIGHT ------
+setenv LIGHT_ROOT_DIR ${INST_ROOT}/LIGHT_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp LD_LIBRARY_PATH ${LIGHT_ROOT_DIR}/lib/salome
+  endif
+endif
+##
+#------ LIGHT_src ------
+setenv LIGHT_SRC_DIR ${INST_ROOT}/LIGHT_SRC_6.5.0
+##
+#------ PYLIGHT ------
+setenv PYLIGHT_ROOT_DIR ${INST_ROOT}/PYLIGHT_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${PYLIGHT_ROOT_DIR}/bin/salome
+    setenvp PYTHONPATH ${PYLIGHT_ROOT_DIR}/bin/salome
+  endif
+endif
+##
+#------ PYLIGHT_src ------
+setenv PYLIGHT_SRC_DIR ${INST_ROOT}/PYLIGHT_SRC_6.5.0
+##
+#------ RANDOMIZER ------
+setenv RANDOMIZER_ROOT_DIR ${INST_ROOT}/RANDOMIZER_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${RANDOMIZER_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${RANDOMIZER_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${RANDOMIZER_ROOT_DIR}/bin/salome:${RANDOMIZER_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ RANDOMIZER_src ------
+setenv RANDOMIZER_SRC_DIR ${INST_ROOT}/RANDOMIZER_SRC_6.5.0
+##
+#------ SIERPINSKY ------
+setenv SIERPINSKY_ROOT_DIR ${INST_ROOT}/SIERPINSKY_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${SIERPINSKY_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${SIERPINSKY_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${SIERPINSKY_ROOT_DIR}/bin/salome:${SIERPINSKY_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ SIERPINSKY_src ------
+setenv SIERPINSKY_SRC_DIR ${INST_ROOT}/SIERPINSKY_SRC_6.5.0
+##
+#------ YACS ------
+setenv YACS_ROOT_DIR ${INST_ROOT}/YACS_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${YACS_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${YACS_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${YACS_ROOT_DIR}/bin/salome:${YACS_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ YACS_src ------
+setenv YACS_SRC_DIR ${INST_ROOT}/YACS_SRC_6.5.0
+##
+#------ YACSGEN ------
+setenv YACSGEN_ROOT_DIR ${INST_ROOT}/YACSGEN_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PYTHONPATH ${YACSGEN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages
+  endif
+endif
+##
+#------ YACSGEN_src ------
+setenv YACSGEN_SRC_DIR ${INST_ROOT}/YACSGEN_SRC_6.5.0
+##
+#------ JOBMANAGER ------
+setenv JOBMANAGER_ROOT_DIR ${INST_ROOT}/JOBMANAGER_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${JOBMANAGER_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${JOBMANAGER_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${JOBMANAGER_ROOT_DIR}/bin/salome:${JOBMANAGER_ROOT_DIR}/lib/salome:${JOBMANAGER_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ JOBMANAGER_src ------
+setenv JOBMANAGER_SRC_DIR ${INST_ROOT}/JOBMANAGER_SRC_6.5.0
+##
+#------ SAMPLES_src ------
+setenv DATA_DIR ${INST_ROOT}/SAMPLES_SRC_6.5.0
+##
+#------ TUTORIAL_src ------
+##
+#------ HOMARD ------
+setenv HOMARD_ROOT_DIR ${INST_ROOT}/HOMARD_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${HOMARD_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${HOMARD_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${HOMARD_ROOT_DIR}/bin/salome:${HOMARD_ROOT_DIR}/lib/salome:${HOMARD_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ HOMARD_src ------
+setenv HOMARD_SRC_DIR ${INST_ROOT}/HOMARD_SRC_6.5.0
+##
+#------ xdata ------ 
+setenv XDATAROOT ${INST_ROOT}/xdata-0.9.3
+setenvp PATH ${XDATAROOT}/bin
+setenvp PYTHONPATH ${XDATAROOT}/lib/python${PYTHON_VERSION}/site-packages/xdata
+##
+#------ xdata_src ------
+# nothing to do
+##
+#------ HXX2SALOME ------
+setenv HXX2SALOME_ROOT_DIR ${INST_ROOT}/HXX2SALOME_6.5.0/bin
+setenvp PATH ${HXX2SALOME_ROOT_DIR}
+##
+#------ HXX2SALOME_src ------
+# nothing to do
+##
+#------ HXX2SALOMEDOC ------
+#nothing to do
+##
+#------ HXX2SALOMEDOC_src ------
+# nothing to do
+##
+#------ DOCUMENTATION_src ------
+#nothing to do
+##
diff --git a/scripts/env_build.sh b/scripts/env_build.sh
new file mode 100644 (file)
index 0000000..b325f2f
--- /dev/null
@@ -0,0 +1,786 @@
+##########################################################################
+# Functions exporta and exportp are used to append/prepend correspondingly 
+# one directory or a set of directories separated by semicolon symbol (':')
+# to the environment variables like PATH, LD_LIBRARY_PATH, PYTHONPATH,
+# LD_RUN_PATH etc. 
+# The main purpose is to replace default setenv command behavior:
+# exporta, exportp also remove duplicated entries, shortening in that way
+# the environment variables.
+# If some directory being added is already included into the variable
+# nothing is done for it.
+# Note, that these functions work some slower that setenv command itself.
+#
+#### cleandup ###
+# appends/prepends set of directories (second parameter) 
+# to the another set of directories (first parameter) and
+# removes duplicated entries;
+# the third parameter defines the mode: 0 - append, 1 - prepend
+cleandup() {
+out_var=`echo $1 $2 | awk -v dir=$3 '{                   \
+     na = split($2,a,":");                               \
+     k1=0;                                               \
+     bbb[k1++]="";                                       \
+     ccc[""];                                            \
+     if($1 != "<empty>") {                               \
+       nb = split($1,b,":");                             \
+       for(i=1;i<=nb;i++) {                              \
+         if(!(b[i] in ccc) ) {                           \
+          ccc[b[i]];                                    \
+           bbb[k1++]=b[i];                               \
+        };                                              \
+       };                                                \
+     };                                                  \
+     k2=0;                                               \
+     aaa[k2++]="";                                       \
+     for(i=1;i<=na;i++) {                                \
+       if(!(a[i] in ccc)) {                              \
+         ccc[a[i]];                                      \
+         aaa[k2++]=a[i];                                 \
+       };                                                \
+     };                                                  \
+     ORS=":";                                            \
+     if(dir) {                                           \
+       for(i=1;i<k2;i++) {                               \
+         print aaa[i];                                   \
+       }                                                 \
+       for(i=1;i<k1;i++) {                               \
+         print bbb[i];                                   \
+       }                                                 \
+     }                                                   \
+     else {                                              \
+       for(i=1;i<k1;i++) {                               \
+         print bbb[i];                                   \
+       }                                                 \
+       for(i=1;i<k2;i++) {                               \
+         print aaa[i];                                   \
+       }                                                 \
+     }                                                   \
+   }' | sed -e 's/\(.*\):/\1/g'`
+echo $out_var
+}
+### exporta ###
+# appends directory or set of directories, separated by ':' (second parameter)
+# to the variable (first parameter)
+exporta () { 
+xenv=`printenv $1`
+if [ -z "$xenv" ]; then xenv="<empty>"; fi
+out_var=`cleandup $xenv $2 0`
+export $1=$out_var
+}
+### exportp ###
+# prepends directory or set of directories, separated by ':' (second parameter)
+# to the variable (first parameter)
+exportp () { 
+xenv=`printenv $1`
+if [ -z "$xenv" ]; then xenv="<empty>"; fi
+out_var=`cleandup $xenv $2 1`
+export $1=$out_var
+}
+###########################################################################
+
+#------ Setting products installation directory ------
+export INST_ROOT=/home/siman/salome_6.5.0
+#export INST_ROOT=/dn24/SIMAN/PRODUCTS/MANDRIVA.2010.64/salome_6.5.0
+
+#------ Environment switch: 0 for SALOME building, 1 for SALOME launching ------
+export ENV_FOR_LAUNCH=0
+
+#------ License activation ------
+export LICENSE_FILE=/product/distene/dlim8.var.sh
+
+if [ -e "${LICENSE_FILE}" ] ; then
+export SIMULOGD_LICENSE_FILE=29029@soleil
+source ${LICENSE_FILE}
+fi
+
+#------ tcltk ------
+export TCLHOME=${INST_ROOT}/tcltk-8.5.8
+exportp PATH ${TCLHOME}/bin
+exportp LD_LIBRARY_PATH ${TCLHOME}/lib
+export TCLLIBPATH="${TCLHOME}/lib ${TCLHOME}/lib/tcl8.5 ${TCLHOME}/lib/tk8.5"
+##
+## #------ tcltk_src ------
+## # nothing to do
+## ##
+#------ Python ------
+export PYTHONROOT=${INST_ROOT}/Python-2.6.6
+export PYTHONHOME=$PYTHONROOT
+exportp PATH ${PYTHONROOT}/bin
+exportp LD_LIBRARY_PATH ${PYTHONROOT}/lib
+export PYTHON_VERSION=2.6
+export PYTHON_INCLUDE=${PYTHONROOT}/include/python${PYTHON_VERSION}
+exportp PYTHONPATH ${PYTHONROOT}/lib/python${PYTHON_VERSION}
+##
+## #------ Python_src ------
+## # nothing to do
+## ##
+#------ Qt ------
+export QTDIR=${INST_ROOT}/qt-4.6.3
+exportp PATH ${QTDIR}/bin 
+exportp LD_LIBRARY_PATH ${QTDIR}/lib
+export QT_PLUGIN_PATH=${QTDIR}/plugins
+##
+## #------ Qt_src ------
+## # nothing to do
+## ##
+#------ Sip ------
+export SIPDIR=${INST_ROOT}/sip-4.13.2
+exportp PATH ${SIPDIR}/bin
+exportp PYTHONPATH ${SIPDIR}/lib/python${PYTHON_VERSION}/site-packages
+exportp LD_LIBRARY_PATH ${SIPDIR}/lib/python${PYTHON_VERSION}/site-packages
+##
+## #------ Sip_src ------
+## # nothing to do
+## ##
+#------ PyQt ------
+export PYQTDIR=${INST_ROOT}/PyQt-4.9.1
+export PYQT_SIPS=${PYQTDIR}/sip
+exportp PATH ${PYQTDIR}/bin
+exportp PYTHONPATH ${PYQTDIR}:${PYQTDIR}/PyQt4
+exportp LD_LIBRARY_PATH ${PYQTDIR}/PyQt4
+##
+## #------ PyQt_src ------
+## # nothing to do
+## ##
+#------ QScintilla ------
+export QSCINTILLA_DIR=${INST_ROOT}/QScintilla-2.6.1
+exportp LD_LIBRARY_PATH ${QSCINTILLA_DIR}/lib
+##
+## #------ QScintilla_src ------
+## # nothing to do
+## ##
+#------ boost ------ 
+export BOOSTDIR=${INST_ROOT}/boost-1.49.0
+exportp LD_LIBRARY_PATH ${BOOSTDIR}/lib
+exportp PATH ${BOOSTDIR}/include
+##
+## #------ boost_src ------
+## # nothing to do
+## ##
+#------ Swig ------ 
+export SWIG_ROOT=${INST_ROOT}/swig-1.3.40
+exportp PATH ${SWIG_ROOT}/bin
+export SWIG_LIB=${SWIG_ROOT}/share/swig/1.3.40
+##
+## #------ Swig_src ------
+## # nothing to do
+## ##
+#------ freetype ------
+export FREETYPEDIR=${INST_ROOT}/freetype-2.3.7
+exportp LD_LIBRARY_PATH ${FREETYPEDIR}/lib
+##
+## #------ freetype_src ------
+## # nothing to do
+## ##
+#------ ftgl ------
+export FTGLDIR=${INST_ROOT}/ftgl-2.1.2
+exportp PATH ${FTGLDIR}/bin 
+exportp LD_LIBRARY_PATH ${FTGLDIR}/lib
+##
+## #------ ftgl_src ------
+## # nothing to do
+## ##
+#------ freeimage ------
+export FREEIMAGEDIR=${INST_ROOT}/freeimage-3.14.1
+exportp PATH ${FREEIMAGEDIR}/bin 
+exportp LD_LIBRARY_PATH ${FREEIMAGEDIR}/lib
+##
+## #------ freeimage_src ------
+## # nothing to do
+## ##
+#------ cmake ------
+export CMAKEHOME=${INST_ROOT}/cmake-2.8.7
+exportp PATH ${CMAKEHOME}/bin
+##
+## #------ cmake_src ------
+## # nothing to do
+## ##
+#------ gl2ps ------
+export GL2PSHOME=${INST_ROOT}/gl2ps-1.3.5
+exportp PATH ${GL2PSHOME}/bin 
+exportp LD_LIBRARY_PATH ${GL2PSHOME}/lib
+##
+## #------ gl2ps_src ------
+## # nothing to do
+## ##
+#------ tbb ------
+export TBBHOME=${INST_ROOT}/tbb30_018oss
+exportp PATH ${TBBHOME}/bin/intel64/cc4.1.0_libc2.4_kernel2.6.16.21 
+exportp LD_LIBRARY_PATH ${TBBHOME}/lib/intel64/cc4.1.0_libc2.4_kernel2.6.16.21
+##
+## #------ tbb_src ------
+## # nothing to do
+## ##
+#------ OpenCascade ------
+export CASROOT=${INST_ROOT}/OCCT-6.5.3
+exportp PATH ${CASROOT}/bin
+exportp LD_LIBRARY_PATH ${CASROOT}/lib:${CASROOT}/lin/lib
+# Variable for Foundation Classes : 
+export CSF_UnitsLexicon=${CASROOT}/src/UnitsAPI/Lexi_Expr.dat 
+export CSF_UnitsDefinition=${CASROOT}/src/UnitsAPI/Units.dat 
+# Variable for DataExchange : 
+export CSF_SHMessage=${CASROOT}/src/SHMessage
+export CSF_XSMessage=${CASROOT}/src/XSMessage 
+# Variable for Font : 
+export CSF_MDTVFontDirectory=${CASROOT}/src/FontMFT 
+export CSF_MDTVTexturesDirectory=${CASROOT}/src/Textures 
+# Activation of OCCT Kernel multithreading :
+export MMGT_REENTRANT=1
+##
+## #------ OpenCascade_src ------
+## # nothing to do
+## ##
+#------ Qwt ------
+export QWTHOME=${INST_ROOT}/qwt-5.2.1
+exportp LD_LIBRARY_PATH ${QWTHOME}/lib 
+##
+## #------ Qwt_src ------
+## # nothing to do
+## ##
+#------ OmniORB ------
+export OMNIORBDIR=${INST_ROOT}/omniORB-4.1.6
+export OMNIORB_CONFIG=${OMNIORBDIR}/.omniORB.cfg
+exportp PYTHONPATH ${OMNIORBDIR}/lib:${OMNIORBDIR}/lib/python${PYTHON_VERSION}/site-packages
+exportp PATH $OMNIORBDIR/bin
+exportp LD_LIBRARY_PATH $OMNIORBDIR/lib 
+##
+## #------ OmniORB_src ------
+## # nothing to do
+## ##
+#------ Hdf5 ------
+export HDF5HOME=${INST_ROOT}/hdf5-1.8.8
+exportp PATH ${HDF5HOME}/bin
+exportp LD_LIBRARY_PATH ${HDF5HOME}/lib
+##
+## #------ Hdf5_src ------
+## # nothing to do
+## ##
+#------ cgnslib ------
+export CGNSHOME=${INST_ROOT}/cgnslib-3.1.3
+exportp PATH ${CGNSHOME}/bin
+exportp LD_LIBRARY_PATH ${CGNSHOME}/lib
+##
+## #------ cgnslib_src ------
+## # nothing to do
+## ##
+#------ Med ------
+export MED3HOME=${INST_ROOT}/med-3.0.5
+exportp PATH ${MED3HOME}/bin
+exportp LD_LIBRARY_PATH ${MED3HOME}/lib
+##
+## #------ Med_src ------
+## # nothing to do
+## ##
+#------ Metis ------ 
+export METISDIR=${INST_ROOT}/metis-4.0
+##
+## #------ Metis_src ------
+## # nothing to do
+## ##
+#------ Scotch ------ 
+export SCOTCHDIR=${INST_ROOT}/scotch-5.1.11
+##
+## #------ Scotch_src ------
+## # nothing to do
+## ##
+#------ ParaView ------
+export PVHOME=${INST_ROOT}/ParaView-3.14.0
+exportp PATH ${PVHOME}/bin
+exportp LD_LIBRARY_PATH ${PVHOME}/lib/paraview-3.14
+exportp PYTHONPATH ${PVHOME}/lib/paraview-3.14:${PVHOME}/lib/paraview-3.14/site-packages:${PVHOME}/lib/paraview-3.14/site-packages/paraview
+export VTK_DIR=${PVHOME}/lib/paraview-3.14
+export PV_PLUGIN_PATH=${PVHOME}/lib/paraview-3.14
+##
+## #------ ParaView_src ------
+## # nothing to do
+## ##
+#------ numpy ------
+exportp PYTHONPATH ${INST_ROOT}/numpy-1.5.1/lib/python${PYTHON_VERSION}/site-packages
+exportp PATH ${INST_ROOT}/numpy-1.5.1/bin
+exportp LD_LIBRARY_PATH ${INST_ROOT}/numpy-1.5.1/lib
+##
+## #------ numpy_src ------
+## # nothing to do
+## ##
+#------ libBatch ------ 
+export LIBBATCH_ROOT_DIR=${INST_ROOT}/libBatch-1.5.0
+exportp LD_LIBRARY_PATH ${LIBBATCH_ROOT_DIR}/lib
+exportp PYTHONPATH ${LIBBATCH_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages
+##
+## #------ libBatch_src ------
+## # nothing to do
+## ##
+#------ expat ------
+export EXPAT_ROOT=${INST_ROOT}/expat-2.0.1
+exportp PATH ${EXPAT_ROOT}/bin
+exportp LD_LIBRARY_PATH ${EXPAT_ROOT}/lib
+##
+## #------ expat_src ------
+## # nothing to do
+## ##
+#------ Graphviz ------
+export GRAPHVIZHOME=${INST_ROOT}/graphviz-2.28.0
+exportp PATH ${GRAPHVIZHOME}/bin
+exportp LD_LIBRARY_PATH ${GRAPHVIZHOME}/lib:${GRAPHVIZHOME}/lib/graphviz
+##
+## #------ Graphviz_src ------
+## # nothing to do
+## ##
+#------ Doxygen ------
+exportp PATH ${INST_ROOT}/doxygen-1.8.0/bin
+##
+## #------ Doxygen_src ------
+## # nothing to do
+## ##
+#------ docutils ------
+exportp PYTHONPATH ${INST_ROOT}/docutils-0.8.1/lib/python${PYTHON_VERSION}/site-packages
+exportp PATH ${INST_ROOT}/docutils-0.8.1/bin
+##
+## #------ docutils_src ------
+## # nothing to do
+## ##
+#------ Sphinx ------
+exportp PYTHONPATH ${INST_ROOT}/Sphinx-1.1.3/lib/python${PYTHON_VERSION}/site-packages
+exportp PATH ${INST_ROOT}/Sphinx-1.1.3/bin
+##
+## #------ Sphinx_src ------
+## # nothing to do
+## ##
+#------ netgen ------
+export NETGENHOME=${INST_ROOT}/netgen-4.9.13
+exportp LD_LIBRARY_PATH ${NETGENHOME}/lib
+##
+## #------ netgen_src ------
+## # nothing to do
+## ##
+#------ DISTENE ------
+export DISTENE_HOME=${INST_ROOT}/DISTENE
+export BLSURFHOME=${DISTENE_HOME}/Tools/BLSurf-3.1_64
+export HEXOTICHOME=${DISTENE_HOME}/Tools/Hexotic-V1.0_64
+exportp LD_LIBRARY_PATH ${BLSURFHOME}/lib 
+exportp PATH ${HEXOTICHOME}/bin:${DISTENE_HOME}/Tools/TetMesh-GHS3D4.1_64:${DISTENE_HOME}/Tools/TetMesh-GHS3D4.2_64
+##
+## #------ DISTENE_src ------
+## # nothing to do
+## ##
+#------ homard ------
+export homard_HOME=${INST_ROOT}/homard-10.4
+exportp PATH ${homard_HOME}/HOMARD_V10.4_64
+##
+## #------ homard_src ------
+## # nothing to do
+## ##
+#------ KERNEL ------
+export KERNEL_ROOT_DIR=${INST_ROOT}/KERNEL_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${KERNEL_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${KERNEL_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${KERNEL_ROOT_DIR}/bin/salome:${KERNEL_ROOT_DIR}/lib/salome:${KERNEL_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ KERNEL_src ------
+export KERNEL_SRC_DIR=${INST_ROOT}/KERNEL_SRC_6.5.0
+##
+#------ GUI ------
+export GUI_ROOT_DIR=${INST_ROOT}/GUI_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${GUI_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${GUI_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${GUI_ROOT_DIR}/bin/salome:${GUI_ROOT_DIR}/lib/salome:${GUI_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+    export VTK_AUTOLOAD_PATH=${GUI_ROOT_DIR}/lib/paraview
+  fi
+fi
+##
+#------ GUI_src ------
+export GUI_SRC_DIR=${INST_ROOT}/GUI_SRC_6.5.0
+##
+#------ GEOM ------
+export GEOM_ROOT_DIR=${INST_ROOT}/GEOM_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${GEOM_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${GEOM_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${GEOM_ROOT_DIR}/bin/salome:${GEOM_ROOT_DIR}/lib/salome:${GEOM_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ GEOM_src ------
+export GEOM_SRC_DIR=${INST_ROOT}/GEOM_SRC_6.5.0
+##
+#------ MED ------
+export MED_ROOT_DIR=${INST_ROOT}/MED_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${MED_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${MED_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${MED_ROOT_DIR}/bin/salome:${MED_ROOT_DIR}/lib/salome:${MED_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+    export AM2CMAKE_FORCE_GENERATION=1
+  fi
+fi
+##
+#------ MED_src ------
+export MED_SRC_DIR=${INST_ROOT}/MED_SRC_6.5.0
+##
+#------ SMESH ------
+export SMESH_ROOT_DIR=${INST_ROOT}/SMESH_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${SMESH_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${SMESH_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${SMESH_ROOT_DIR}/bin/salome:${SMESH_ROOT_DIR}/lib/salome:${SMESH_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ SMESH_src ------
+export SMESH_SRC_DIR=${INST_ROOT}/SMESH_SRC_6.5.0
+##
+#------ VISU ------
+export VISU_ROOT_DIR=${INST_ROOT}/VISU_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${VISU_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${VISU_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${VISU_ROOT_DIR}/bin/salome:${VISU_ROOT_DIR}/lib/salome:${VISU_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ VISU_src ------
+export VISU_SRC_DIR=${INST_ROOT}/VISU_SRC_6.5.0
+##
+#------ PARAVIS ------
+export PARAVIS_ROOT_DIR=${INST_ROOT}/PARAVIS_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${PARAVIS_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${PARAVIS_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${PARAVIS_ROOT_DIR}/bin/salome:${PARAVIS_ROOT_DIR}/lib/salome:${PARAVIS_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+    export PV_PLUGIN_PATH=${PARAVIS_ROOT_DIR}/lib/paraview:${PV_PLUGIN_PATH}
+  fi
+fi
+##
+#------ PARAVIS_src ------
+export PARAVIS_SRC_DIR=${INST_ROOT}/PARAVIS_SRC_6.5.0
+export ACCEPT_PARAVIS_WARNINGS=1
+##
+#------ HEXABLOCK ------
+export HEXABLOCK_ROOT_DIR=${INST_ROOT}/HEXABLOCK_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${HEXABLOCK_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${HEXABLOCK_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${HEXABLOCK_ROOT_DIR}/bin/salome:${HEXABLOCK_ROOT_DIR}/lib/salome:${HEXABLOCK_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ HEXABLOCK_src ------
+export HEXABLOCK_SRC_DIR=${INST_ROOT}/HEXABLOCK_SRC_6.5.0
+##
+#------ HEXABLOCKPLUGIN ------
+export HEXABLOCKPLUGIN_ROOT_DIR=${INST_ROOT}/HEXABLOCKPLUGIN_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp LD_LIBRARY_PATH ${HEXABLOCKPLUGIN_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${HEXABLOCKPLUGIN_ROOT_DIR}/lib/salome:${HEXABLOCKPLUGIN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ HEXABLOCKPLUGIN_src ------
+export HEXABLOCKPLUGIN_SRC_DIR=${INST_ROOT}/HEXABLOCKPLUGIN_SRC_6.5.0
+##
+#------ NETGENPLUGIN ------
+export NETGENPLUGIN_ROOT_DIR=${INST_ROOT}/NETGENPLUGIN_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp LD_LIBRARY_PATH ${NETGENPLUGIN_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${NETGENPLUGIN_ROOT_DIR}/lib/salome:${NETGENPLUGIN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ NETGENPLUGIN_src ------
+export NETGENPLUGIN_SRC_DIR=${INST_ROOT}/NETGENPLUGIN_SRC_6.5.0
+##
+#------ GHS3DPLUGIN ------
+export GHS3DPLUGIN_ROOT_DIR=${INST_ROOT}/GHS3DPLUGIN_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp LD_LIBRARY_PATH ${GHS3DPLUGIN_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${GHS3DPLUGIN_ROOT_DIR}/lib/salome:${GHS3DPLUGIN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ GHS3DPLUGIN_src ------
+export GHS3DPLUGIN_SRC_DIR=${INST_ROOT}/GHS3DPLUGIN_SRC_6.5.0
+##
+#------ GHS3DPRLPLUGIN ------
+export GHS3DPRLPLUGIN_ROOT_DIR=${INST_ROOT}/GHS3DPRLPLUGIN_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${GHS3DPRLPLUGIN_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${GHS3DPRLPLUGIN_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${GHS3DPRLPLUGIN_ROOT_DIR}/bin/salome:${GHS3DPRLPLUGIN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ GHS3DPRLPLUGIN_src ------
+export GHS3DPRLPLUGIN_SRC_DIR=${INST_ROOT}/GHS3DPRLPLUGIN_SRC_6.5.0
+##
+#------ BLSURFPLUGIN ------
+export BLSURFPLUGIN_ROOT_DIR=${INST_ROOT}/BLSURFPLUGIN_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${BLSURFPLUGIN_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${BLSURFPLUGIN_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${BLSURFPLUGIN_ROOT_DIR}/bin/salome:${BLSURFPLUGIN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ BLSURFPLUGIN_src ------
+export BLSURFPLUGIN_SRC_DIR=${INST_ROOT}/BLSURFPLUGIN_SRC_6.5.0
+##
+#------ HexoticPLUGIN ------
+export HexoticPLUGIN_ROOT_DIR=${INST_ROOT}/HexoticPLUGIN_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${HexoticPLUGIN_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${HexoticPLUGIN_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${HexoticPLUGIN_ROOT_DIR}/bin/salome:${HexoticPLUGIN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ HexoticPLUGIN_src ------
+export HexoticPLUGIN_SRC_DIR=${INST_ROOT}/HexoticPLUGIN_SRC_6.5.0
+##
+#------ COMPONENT ------
+export COMPONENT_ROOT_DIR=${INST_ROOT}/COMPONENT_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${COMPONENT_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${COMPONENT_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${COMPONENT_ROOT_DIR}/bin/salome:${COMPONENT_ROOT_DIR}/lib/salome:${COMPONENT_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ COMPONENT_src ------
+export COMPONENT_SRC_DIR=${INST_ROOT}/COMPONENT_SRC_6.5.0
+##
+#------ PYCALCULATOR ------
+export PYCALCULATOR_ROOT_DIR=${INST_ROOT}/PYCALCULATOR_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${PYCALCULATOR_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${PYCALCULATOR_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${PYCALCULATOR_ROOT_DIR}/bin/salome:${PYCALCULATOR_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ PYCALCULATOR_src ------
+export PYCALCULATOR_SRC_DIR=${INST_ROOT}/PYCALCULATOR_SRC_6.5.0
+##
+#------ CALCULATOR ------
+export CALCULATOR_ROOT_DIR=${INST_ROOT}/CALCULATOR_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${CALCULATOR_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${CALCULATOR_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${CALCULATOR_ROOT_DIR}/bin/salome:${CALCULATOR_ROOT_DIR}/lib/salome:${CALCULATOR_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ CALCULATOR_src ------
+export CALCULATOR_SRC_DIR=${INST_ROOT}/CALCULATOR_SRC_6.5.0
+##
+#------ HELLO ------
+export HELLO_ROOT_DIR=${INST_ROOT}/HELLO_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${HELLO_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${HELLO_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${HELLO_ROOT_DIR}/bin/salome:${HELLO_ROOT_DIR}/lib/salome:${HELLO_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ HELLO_src ------
+export HELLO_SRC_DIR=${INST_ROOT}/HELLO_SRC_6.5.0
+##
+#------ PYHELLO ------
+export PYHELLO_ROOT_DIR=${INST_ROOT}/PYHELLO_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${PYHELLO_ROOT_DIR}/bin/salome
+    exportp PYTHONPATH ${PYHELLO_ROOT_DIR}/bin/salome:${PYHELLO_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ PYHELLO_src ------
+export PYHELLO_SRC_DIR=${INST_ROOT}/PYHELLO_SRC_6.5.0
+##
+#------ ATOMGEN ------
+export ATOMGEN_ROOT_DIR=${INST_ROOT}/ATOMGEN_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${ATOMGEN_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${ATOMGEN_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${ATOMGEN_ROOT_DIR}/bin/salome:${ATOMGEN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ ATOMGEN_src ------
+export ATOMGEN_SRC_DIR=${INST_ROOT}/ATOMGEN_SRC_6.5.0
+##
+#------ ATOMSOLV ------
+export ATOMSOLV_ROOT_DIR=${INST_ROOT}/ATOMSOLV_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${ATOMSOLV_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${ATOMSOLV_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${ATOMSOLV_ROOT_DIR}/bin/salome:${ATOMSOLV_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ ATOMSOLV_src ------
+export ATOMSOLV_SRC_DIR=${INST_ROOT}/ATOMSOLV_SRC_6.5.0
+##
+#------ ATOMIC ------
+export ATOMIC_ROOT_DIR=${INST_ROOT}/ATOMIC_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${ATOMIC_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${ATOMIC_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${ATOMIC_ROOT_DIR}/bin/salome:${ATOMIC_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ ATOMIC_src ------
+export ATOMIC_SRC_DIR=${INST_ROOT}/ATOMIC_SRC_6.5.0
+##
+#------ LIGHT ------
+export LIGHT_ROOT_DIR=${INST_ROOT}/LIGHT_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp LD_LIBRARY_PATH ${LIGHT_ROOT_DIR}/lib/salome
+  fi
+fi
+##
+#------ LIGHT_src ------
+export LIGHT_SRC_DIR=${INST_ROOT}/LIGHT_SRC_6.5.0
+##
+#------ PYLIGHT ------
+export PYLIGHT_ROOT_DIR=${INST_ROOT}/PYLIGHT_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${PYLIGHT_ROOT_DIR}/bin/salome
+    exportp PYTHONPATH ${PYLIGHT_ROOT_DIR}/bin/salome
+  fi
+fi
+##
+#------ PYLIGHT_src ------
+export PYLIGHT_SRC_DIR=${INST_ROOT}/PYLIGHT_SRC_6.5.0
+##
+#------ RANDOMIZER ------
+export RANDOMIZER_ROOT_DIR=${INST_ROOT}/RANDOMIZER_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${RANDOMIZER_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${RANDOMIZER_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${RANDOMIZER_ROOT_DIR}/bin/salome:${RANDOMIZER_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ RANDOMIZER_src ------
+export RANDOMIZER_SRC_DIR=${INST_ROOT}/RANDOMIZER_SRC_6.5.0
+##
+#------ SIERPINSKY ------
+export SIERPINSKY_ROOT_DIR=${INST_ROOT}/SIERPINSKY_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${SIERPINSKY_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${SIERPINSKY_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${SIERPINSKY_ROOT_DIR}/bin/salome:${SIERPINSKY_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ SIERPINSKY_src ------
+export SIERPINSKY_SRC_DIR=${INST_ROOT}/SIERPINSKY_SRC_6.5.0
+##
+#------ YACS ------
+export YACS_ROOT_DIR=${INST_ROOT}/YACS_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${YACS_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${YACS_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${YACS_ROOT_DIR}/bin/salome:${YACS_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ YACS_src ------
+export YACS_SRC_DIR=${INST_ROOT}/YACS_SRC_6.5.0
+##
+#------ YACSGEN ------
+export YACSGEN_ROOT_DIR=${INST_ROOT}/YACSGEN_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PYTHONPATH ${YACSGEN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages
+  fi
+fi
+##
+#------ YACSGEN_src ------
+export YACSGEN_SRC_DIR=${INST_ROOT}/YACSGEN_SRC_6.5.0
+##
+#------ JOBMANAGER ------
+export JOBMANAGER_ROOT_DIR=${INST_ROOT}/JOBMANAGER_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${JOBMANAGER_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${JOBMANAGER_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${JOBMANAGER_ROOT_DIR}/bin/salome:${JOBMANAGER_ROOT_DIR}/lib/salome:${JOBMANAGER_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ JOBMANAGER_src ------
+export JOBMANAGER_SRC_DIR=${INST_ROOT}/JOBMANAGER_SRC_6.5.0
+##
+#------ SAMPLES_src ------
+export DATA_DIR=${INST_ROOT}/SAMPLES_SRC_6.5.0
+##
+#------ TUTORIAL_src ------
+##
+#------ HOMARD ------
+export HOMARD_ROOT_DIR=${INST_ROOT}/HOMARD_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${HOMARD_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${HOMARD_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${HOMARD_ROOT_DIR}/bin/salome:${HOMARD_ROOT_DIR}/lib/salome:${HOMARD_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ HOMARD_src ------
+export HOMARD_SRC_DIR=${INST_ROOT}/HOMARD_SRC_6.5.0
+##
+#------ xdata ------ 
+export XDATAROOT=${INST_ROOT}/xdata-0.9.3
+exportp PATH ${XDATAROOT}/bin
+exportp PYTHONPATH ${XDATAROOT}/lib/python${PYTHON_VERSION}/site-packages/xdata
+##
+#------ xdata_src ------
+# nothing to do
+##
+#------ HXX2SALOME ------
+export HXX2SALOME_ROOT_DIR=${INST_ROOT}/HXX2SALOME_6.5.0/bin
+exportp PATH ${HXX2SALOME_ROOT_DIR}
+##
+#------ HXX2SALOME_src ------
+# nothing to do
+##
+#------ HXX2SALOMEDOC ------
+#nothing to do
+##
+#------ HXX2SALOMEDOC_src ------
+# nothing to do
+##
+#------ DOCUMENTATION_src ------
+#nothing to do
+##
diff --git a/scripts/env_products.csh b/scripts/env_products.csh
new file mode 100644 (file)
index 0000000..6bc72dd
--- /dev/null
@@ -0,0 +1,815 @@
+
+###########################################################################
+# Aliases setenva and setenvp are used to append/prepend correspondingly 
+# one directory or a set of directories separated by semicolon symbol (':')
+# to the environment variables like PATH, LD_LIBRARY_PATH, PYTHONPATH,
+# LD_RUN_PATH etc. 
+# The main purpose is to replace default setenv command behavior:
+# setenva, setenvp also remove duplicated entries, shortening in that way
+# the environment variables.
+# If some directory being added is already included into the variable
+# nothing is done for it.
+# Note, that these aliases work some slower that setenv command itself.
+#
+#### cleandup ###
+# appends/prepends set of directories (second parameter) 
+# to the another set of directories (first parameter) and
+# removes duplicated entries;
+# the third parameter defines the mode: 0 - append, 1 - prepend
+alias cleandup "echo \!:1 \!:2 | awk -v dir=\!:3         \\
+'"'{ na = split($2,a,":");                               \\
+     k1=0;                                               \\
+     bbb[k1++]="";                                       \\
+     ccc[""];                                            \\
+     if($1 != "<empty>") {                               \\
+       nb = split($1,b,":");                             \\
+       for(i=1;i<=nb;i++) {                              \\
+         if(!(b[i] in ccc) ) {                           \\
+          ccc[b[i]];                                    \\
+           bbb[k1++]=b[i];                               \\
+        };                                              \\
+       };                                                \\
+     };                                                  \\
+     k2=0;                                               \\
+     aaa[k2++]="";                                       \\
+     for(i=1;i<=na;i++) {                                \\
+       if(!(a[i] in ccc)) {                              \\
+         ccc[a[i]];                                      \\
+         aaa[k2++]=a[i];                                 \\
+       };                                                \\
+     };                                                  \\
+     ORS=":";                                            \\
+     if(dir) {                                           \\
+       for(i=1;i<k2;i++) {                               \\
+         print aaa[i];                                   \\
+       }                                                 \\
+       for(i=1;i<k1;i++) {                               \\
+         print bbb[i];                                   \\
+       }                                                 \\
+     }                                                   \\
+     else {                                              \\
+       for(i=1;i<k1;i++) {                               \\
+         print bbb[i];                                   \\
+       }                                                 \\
+       for(i=1;i<k2;i++) {                               \\
+         print aaa[i];                                   \\
+       }                                                 \\
+     }                                                   \\
+  }'"' | sed -e 's/\(.*\):/\1/g'"
+### setenva ###
+# appends directory or set of directories, separated by ':' (second parameter)
+# to the variable (first parameter)
+alias setenva 'set a=\!:1 ; set b=\!:2 ;  \
+               set c=`printenv $a` ;      \
+               set b=`cleandup $c $b 0` ; \
+               setenv $a $b ;             \
+               unset a, b, c'
+
+### setenvp ###
+# prepends directory or set of directories, separated by ':' (second parameter)
+# to the variable (first parameter)
+alias setenvp 'set a=\!:1 ; set b=\!:2 ;  \
+               set c=`printenv $a` ;      \
+               set b=`cleandup $c $b 1` ; \
+               setenv $a $b ;             \
+               unset a, b, c'
+###########################################################################
+
+#------ setting initial PATH ------
+if (! ($?PATH) ) then
+  setenv PATH
+endif
+
+#------ setting initial LD_LIBRARY_PATH ------
+if (! ($?LD_LIBRARY_PATH) ) then
+  setenv LD_LIBRARY_PATH
+endif
+
+#------ setting initial LD_RUN_PATH ------
+if (! ($?LD_RUN_PATH) ) then
+  setenv LD_RUN_PATH
+endif
+
+#------ setting initial PYTHONPATH ------
+if (! ($?PYTHONPATH) ) then
+  setenv PYTHONPATH
+endif
+
+#------ setting initial TCLLIBPATH ------
+if (! ($?TCLLIBPATH) ) then
+  setenv TCLLIBPATH
+endif
+
+#------ Setting products installation directory ------
+setenv INST_ROOT /home/siman/salome_6.5.0
+
+#------ Environment switch: 0 for SALOME building, 1 for SALOME launching ------
+setenv ENV_FOR_LAUNCH 1
+
+#------ License activation ------
+setenv LICENSE_FILE /product/distene/dlim8.var.csh
+
+if ( -e ${LICENSE_FILE} ) then
+setenv SIMULOGD_LICENSE_FILE 29029@soleil
+source ${LICENSE_FILE}
+endif
+
+#------ tcltk ------
+setenv TCLHOME ${INST_ROOT}/tcltk-8.5.8
+setenvp PATH ${TCLHOME}/bin
+setenvp LD_LIBRARY_PATH ${TCLHOME}/lib
+setenv TCLLIBPATH "${TCLHOME}/lib ${TCLHOME}/lib/tcl8.5 ${TCLHOME}/lib/tk8.5"
+##
+## #------ tcltk_src ------
+## # nothing to do
+## ##
+#------ Python ------
+setenv PYTHONROOT ${INST_ROOT}/Python-2.6.6
+setenv PYTHONHOME $PYTHONROOT
+setenvp PATH ${PYTHONROOT}/bin
+setenvp LD_LIBRARY_PATH ${PYTHONROOT}/lib
+setenv PYTHON_VERSION 2.6
+setenv PYTHON_INCLUDE ${PYTHONROOT}/include/python${PYTHON_VERSION}
+setenvp PYTHONPATH ${PYTHONROOT}/lib/python${PYTHON_VERSION}
+##
+## #------ Python_src ------
+## # nothing to do
+## ##
+#------ Qt ------
+setenv QTDIR ${INST_ROOT}/qt-4.6.3
+setenvp PATH ${QTDIR}/bin 
+setenvp LD_LIBRARY_PATH ${QTDIR}/lib
+setenv QT_PLUGIN_PATH ${QTDIR}/plugins
+##
+## #------ Qt_src ------
+## # nothing to do
+## ##
+#------ Sip ------
+setenv SIPDIR ${INST_ROOT}/sip-4.13.2
+setenvp PATH ${SIPDIR}/bin
+setenvp PYTHONPATH ${SIPDIR}/lib/python${PYTHON_VERSION}/site-packages
+setenvp LD_LIBRARY_PATH ${SIPDIR}/lib/python${PYTHON_VERSION}/site-packages
+##
+## #------ Sip_src ------
+## # nothing to do
+## ##
+#------ PyQt ------
+setenv PYQTDIR ${INST_ROOT}/PyQt-4.9.1
+setenv PYQT_SIPS ${PYQTDIR}/sip
+setenvp PATH ${PYQTDIR}/bin
+setenvp PYTHONPATH ${PYQTDIR}:${PYQTDIR}/PyQt4
+setenvp LD_LIBRARY_PATH ${PYQTDIR}/PyQt4
+##
+## #------ PyQt_src ------
+## # nothing to do
+## ##
+#------ QScintilla ------
+setenv QSCINTILLA_DIR ${INST_ROOT}/QScintilla-2.6.1
+setenvp LD_LIBRARY_PATH ${QSCINTILLA_DIR}/lib
+##
+## #------ QScintilla_src ------
+## # nothing to do
+## ##
+#------ boost ------ 
+setenv BOOSTDIR ${INST_ROOT}/boost-1.49.0
+setenvp LD_LIBRARY_PATH ${BOOSTDIR}/lib
+setenvp PATH ${BOOSTDIR}/include
+##
+## #------ boost_src ------
+## # nothing to do
+## ##
+#------ Swig ------ 
+setenv SWIG_ROOT ${INST_ROOT}/swig-1.3.40
+setenvp PATH ${SWIG_ROOT}/bin
+setenv SWIG_LIB ${SWIG_ROOT}/share/swig/1.3.40
+##
+## #------ Swig_src ------
+## # nothing to do
+## ##
+#------ freetype ------
+setenv FREETYPEDIR ${INST_ROOT}/freetype-2.3.7
+setenvp LD_LIBRARY_PATH ${FREETYPEDIR}/lib
+##
+## #------ freetype_src ------
+## # nothing to do
+## ##
+#------ ftgl ------
+setenv FTGLDIR ${INST_ROOT}/ftgl-2.1.2
+setenvp PATH ${FTGLDIR}/bin 
+setenvp LD_LIBRARY_PATH ${FTGLDIR}/lib
+##
+## #------ ftgl_src ------
+## # nothing to do
+## ##
+#------ freeimage ------
+setenv FREEIMAGEDIR ${INST_ROOT}/freeimage-3.14.1
+setenvp PATH ${FREEIMAGEDIR}/bin 
+setenvp LD_LIBRARY_PATH ${FREEIMAGEDIR}/lib
+##
+## #------ freeimage_src ------
+## # nothing to do
+## ##
+#------ cmake ------
+setenv CMAKEHOME ${INST_ROOT}/cmake-2.8.7
+setenvp PATH ${CMAKEHOME}/bin
+##
+## #------ cmake_src ------
+## # nothing to do
+## ##
+#------ gl2ps ------
+setenv GL2PSHOME ${INST_ROOT}/gl2ps-1.3.5
+setenvp PATH ${GL2PSHOME}/bin 
+setenvp LD_LIBRARY_PATH ${GL2PSHOME}/lib
+##
+## #------ gl2ps_src ------
+## # nothing to do
+## ##
+#------ tbb ------
+setenv TBBHOME ${INST_ROOT}/tbb30_018oss
+setenvp PATH ${TBBHOME}/bin/intel64/cc4.1.0_libc2.4_kernel2.6.16.21 
+setenvp LD_LIBRARY_PATH ${TBBHOME}/lib/intel64/cc4.1.0_libc2.4_kernel2.6.16.21
+##
+## #------ tbb_src ------
+## # nothing to do
+## ##
+#------ OpenCascade ------
+setenv CASROOT ${INST_ROOT}/OCCT-6.5.3
+setenvp PATH ${CASROOT}/bin
+setenvp LD_LIBRARY_PATH ${CASROOT}/lib:${CASROOT}/lin/lib
+# Variable for Foundation Classes : 
+setenv CSF_UnitsLexicon ${CASROOT}/src/UnitsAPI/Lexi_Expr.dat 
+setenv CSF_UnitsDefinition ${CASROOT}/src/UnitsAPI/Units.dat 
+# Variable for DataExchange : 
+setenv CSF_SHMessage ${CASROOT}/src/SHMessage
+setenv CSF_XSMessage ${CASROOT}/src/XSMessage 
+# Variable for Font : 
+setenv CSF_MDTVFontDirectory ${CASROOT}/src/FontMFT 
+setenv CSF_MDTVTexturesDirectory ${CASROOT}/src/Textures 
+# Activation of OCCT Kernel multithreading :
+setenv MMGT_REENTRANT 1
+##
+## #------ OpenCascade_src ------
+## # nothing to do
+## ##
+#------ Qwt ------
+setenv QWTHOME ${INST_ROOT}/qwt-5.2.1
+setenvp LD_LIBRARY_PATH ${QWTHOME}/lib 
+##
+## #------ Qwt_src ------
+## # nothing to do
+## ##
+#------ OmniORB ------
+setenv OMNIORBDIR ${INST_ROOT}/omniORB-4.1.6
+setenv OMNIORB_CONFIG ${OMNIORBDIR}/.omniORB.cfg
+setenvp PYTHONPATH ${OMNIORBDIR}/lib:${OMNIORBDIR}/lib/python${PYTHON_VERSION}/site-packages
+setenvp PATH $OMNIORBDIR/bin
+setenvp LD_LIBRARY_PATH $OMNIORBDIR/lib 
+##
+## #------ OmniORB_src ------
+## # nothing to do
+## ##
+#------ Hdf5 ------
+setenv HDF5HOME ${INST_ROOT}/hdf5-1.8.8
+setenvp PATH ${HDF5HOME}/bin
+setenvp LD_LIBRARY_PATH ${HDF5HOME}/lib
+##
+## #------ Hdf5_src ------
+## # nothing to do
+## ##
+#------ cgnslib ------
+setenv CGNSHOME ${INST_ROOT}/cgnslib-3.1.3
+setenvp PATH ${CGNSHOME}/bin
+setenvp LD_LIBRARY_PATH ${CGNSHOME}/lib
+##
+## #------ cgnslib_src ------
+## # nothing to do
+## ##
+#------ Med ------
+setenv MED3HOME ${INST_ROOT}/med-3.0.5
+setenvp PATH ${MED3HOME}/bin
+setenvp LD_LIBRARY_PATH ${MED3HOME}/lib
+##
+## #------ Med_src ------
+## # nothing to do
+## ##
+#------ Metis ------ 
+setenv METISDIR ${INST_ROOT}/metis-4.0
+##
+## #------ Metis_src ------
+## # nothing to do
+## ##
+#------ Scotch ------ 
+setenv SCOTCHDIR ${INST_ROOT}/scotch-5.1.11
+##
+## #------ Scotch_src ------
+## # nothing to do
+## ##
+#------ ParaView ------
+setenv PVHOME ${INST_ROOT}/ParaView-3.14.0
+setenvp PATH ${PVHOME}/bin
+setenvp LD_LIBRARY_PATH ${PVHOME}/lib/paraview-3.14
+setenvp PYTHONPATH ${PVHOME}/lib/paraview-3.14:${PVHOME}/lib/paraview-3.14/site-packages:${PVHOME}/lib/paraview-3.14/site-packages/paraview
+setenv VTK_DIR ${PVHOME}/lib/paraview-3.14
+setenv PV_PLUGIN_PATH ${PVHOME}/lib/paraview-3.14
+##
+## #------ ParaView_src ------
+## # nothing to do
+## ##
+#------ numpy ------
+setenvp PYTHONPATH ${INST_ROOT}/numpy-1.5.1/lib/python${PYTHON_VERSION}/site-packages
+setenvp PATH ${INST_ROOT}/numpy-1.5.1/bin
+setenvp LD_LIBRARY_PATH ${INST_ROOT}/numpy-1.5.1/lib
+##
+## #------ numpy_src ------
+## # nothing to do
+## ##
+#------ libBatch ------ 
+setenv LIBBATCH_ROOT_DIR ${INST_ROOT}/libBatch-1.5.0
+setenvp LD_LIBRARY_PATH ${LIBBATCH_ROOT_DIR}/lib
+setenvp PYTHONPATH ${LIBBATCH_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages
+##
+## #------ libBatch_src ------
+## # nothing to do
+## ##
+#------ expat ------
+setenv EXPAT_ROOT ${INST_ROOT}/expat-2.0.1
+setenvp PATH ${EXPAT_ROOT}/bin
+setenvp LD_LIBRARY_PATH ${EXPAT_ROOT}/lib
+##
+## #------ expat_src ------
+## # nothing to do
+## ##
+#------ Graphviz ------
+setenv GRAPHVIZHOME ${INST_ROOT}/graphviz-2.28.0
+setenvp PATH ${GRAPHVIZHOME}/bin
+setenvp LD_LIBRARY_PATH ${GRAPHVIZHOME}/lib:${GRAPHVIZHOME}/lib/graphviz
+##
+## #------ Graphviz_src ------
+## # nothing to do
+## ##
+#------ Doxygen ------
+setenvp PATH ${INST_ROOT}/doxygen-1.8.0/bin
+##
+## #------ Doxygen_src ------
+## # nothing to do
+## ##
+#------ docutils ------
+setenvp PYTHONPATH ${INST_ROOT}/docutils-0.8.1/lib/python${PYTHON_VERSION}/site-packages
+setenvp PATH ${INST_ROOT}/docutils-0.8.1/bin
+##
+## #------ docutils_src ------
+## # nothing to do
+## ##
+#------ Sphinx ------
+setenvp PYTHONPATH ${INST_ROOT}/Sphinx-1.1.3/lib/python${PYTHON_VERSION}/site-packages
+setenvp PATH ${INST_ROOT}/Sphinx-1.1.3/bin
+##
+## #------ Sphinx_src ------
+## # nothing to do
+## ##
+#------ netgen ------
+setenv NETGENHOME ${INST_ROOT}/netgen-4.9.13
+setenvp LD_LIBRARY_PATH ${NETGENHOME}/lib
+##
+## #------ netgen_src ------
+## # nothing to do
+## ##
+#------ DISTENE ------
+setenv DISTENE_HOME ${INST_ROOT}/DISTENE
+setenv BLSURFHOME ${DISTENE_HOME}/Tools/BLSurf-3.1_64
+setenv HEXOTICHOME ${DISTENE_HOME}/Tools/Hexotic-V1.0_64
+setenvp LD_LIBRARY_PATH ${BLSURFHOME}/lib 
+setenvp PATH ${HEXOTICHOME}/bin:${DISTENE_HOME}/Tools/TetMesh-GHS3D4.1_64:${DISTENE_HOME}/Tools/TetMesh-GHS3D4.2_64
+##
+## #------ DISTENE_src ------
+## # nothing to do
+## ##
+#------ homard ------
+setenv homard_HOME ${INST_ROOT}/homard-10.4
+setenvp PATH ${homard_HOME}/HOMARD_V10.4_64
+##
+## #------ homard_src ------
+## # nothing to do
+## ##
+#------ libxml2 ------ 
+setenv LIBXML_DIR ${INST_ROOT}/libxml2-2.7.8
+setenvp PATH ${LIBXML_DIR}/bin
+setenvp LD_LIBRARY_PATH ${LIBXML_DIR}/lib
+##
+## #------ libxml2_src ------
+## # nothing to do
+## ##
+#------ KERNEL ------
+setenv KERNEL_ROOT_DIR ${INST_ROOT}/KERNEL_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${KERNEL_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${KERNEL_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${KERNEL_ROOT_DIR}/bin/salome:${KERNEL_ROOT_DIR}/lib/salome:${KERNEL_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ KERNEL_src ------
+setenv KERNEL_SRC_DIR ${INST_ROOT}/KERNEL_SRC_6.5.0
+##
+#------ GUI ------
+setenv GUI_ROOT_DIR ${INST_ROOT}/GUI_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${GUI_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${GUI_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${GUI_ROOT_DIR}/bin/salome:${GUI_ROOT_DIR}/lib/salome:${GUI_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+    setenv VTK_AUTOLOAD_PATH ${GUI_ROOT_DIR}/lib/paraview
+  endif
+endif
+##
+#------ GUI_src ------
+setenv GUI_SRC_DIR ${INST_ROOT}/GUI_SRC_6.5.0
+##
+#------ GEOM ------
+setenv GEOM_ROOT_DIR ${INST_ROOT}/GEOM_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${GEOM_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${GEOM_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${GEOM_ROOT_DIR}/bin/salome:${GEOM_ROOT_DIR}/lib/salome:${GEOM_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ GEOM_src ------
+setenv GEOM_SRC_DIR ${INST_ROOT}/GEOM_SRC_6.5.0
+##
+#------ MED ------
+setenv MED_ROOT_DIR ${INST_ROOT}/MED_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${MED_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${MED_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${MED_ROOT_DIR}/bin/salome:${MED_ROOT_DIR}/lib/salome:${MED_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+    setenv AM2CMAKE_FORCE_GENERATION 1
+  endif
+endif
+##
+#------ MED_src ------
+setenv MED_SRC_DIR ${INST_ROOT}/MED_SRC_6.5.0
+##
+#------ SMESH ------
+setenv SMESH_ROOT_DIR ${INST_ROOT}/SMESH_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${SMESH_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${SMESH_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${SMESH_ROOT_DIR}/bin/salome:${SMESH_ROOT_DIR}/lib/salome:${SMESH_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ SMESH_src ------
+setenv SMESH_SRC_DIR ${INST_ROOT}/SMESH_SRC_6.5.0
+##
+#------ VISU ------
+setenv VISU_ROOT_DIR ${INST_ROOT}/VISU_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${VISU_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${VISU_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${VISU_ROOT_DIR}/bin/salome:${VISU_ROOT_DIR}/lib/salome:${VISU_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ VISU_src ------
+setenv VISU_SRC_DIR ${INST_ROOT}/VISU_SRC_6.5.0
+##
+#------ PARAVIS ------
+setenv PARAVIS_ROOT_DIR ${INST_ROOT}/PARAVIS_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${PARAVIS_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${PARAVIS_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${PARAVIS_ROOT_DIR}/bin/salome:${PARAVIS_ROOT_DIR}/lib/salome:${PARAVIS_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+    setenv PV_PLUGIN_PATH ${PARAVIS_ROOT_DIR}/lib/paraview:${PV_PLUGIN_PATH}
+  endif
+endif
+##
+#------ PARAVIS_src ------
+setenv PARAVIS_SRC_DIR ${INST_ROOT}/PARAVIS_SRC_6.5.0
+setenv ACCEPT_PARAVIS_WARNINGS 1
+##
+#------ HEXABLOCK ------
+setenv HEXABLOCK_ROOT_DIR ${INST_ROOT}/HEXABLOCK_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${HEXABLOCK_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${HEXABLOCK_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${HEXABLOCK_ROOT_DIR}/bin/salome:${HEXABLOCK_ROOT_DIR}/lib/salome:${HEXABLOCK_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ HEXABLOCK_src ------
+setenv HEXABLOCK_SRC_DIR ${INST_ROOT}/HEXABLOCK_SRC_6.5.0
+##
+#------ HEXABLOCKPLUGIN ------
+setenv HEXABLOCKPLUGIN_ROOT_DIR ${INST_ROOT}/HEXABLOCKPLUGIN_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp LD_LIBRARY_PATH ${HEXABLOCKPLUGIN_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${HEXABLOCKPLUGIN_ROOT_DIR}/lib/salome:${HEXABLOCKPLUGIN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ HEXABLOCKPLUGIN_src ------
+setenv HEXABLOCKPLUGIN_SRC_DIR ${INST_ROOT}/HEXABLOCKPLUGIN_SRC_6.5.0
+##
+#------ NETGENPLUGIN ------
+setenv NETGENPLUGIN_ROOT_DIR ${INST_ROOT}/NETGENPLUGIN_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp LD_LIBRARY_PATH ${NETGENPLUGIN_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${NETGENPLUGIN_ROOT_DIR}/lib/salome:${NETGENPLUGIN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ NETGENPLUGIN_src ------
+setenv NETGENPLUGIN_SRC_DIR ${INST_ROOT}/NETGENPLUGIN_SRC_6.5.0
+##
+#------ GHS3DPLUGIN ------
+setenv GHS3DPLUGIN_ROOT_DIR ${INST_ROOT}/GHS3DPLUGIN_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp LD_LIBRARY_PATH ${GHS3DPLUGIN_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${GHS3DPLUGIN_ROOT_DIR}/lib/salome:${GHS3DPLUGIN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ GHS3DPLUGIN_src ------
+setenv GHS3DPLUGIN_SRC_DIR ${INST_ROOT}/GHS3DPLUGIN_SRC_6.5.0
+##
+#------ GHS3DPRLPLUGIN ------
+setenv GHS3DPRLPLUGIN_ROOT_DIR ${INST_ROOT}/GHS3DPRLPLUGIN_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${GHS3DPRLPLUGIN_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${GHS3DPRLPLUGIN_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${GHS3DPRLPLUGIN_ROOT_DIR}/bin/salome:${GHS3DPRLPLUGIN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ GHS3DPRLPLUGIN_src ------
+setenv GHS3DPRLPLUGIN_SRC_DIR ${INST_ROOT}/GHS3DPRLPLUGIN_SRC_6.5.0
+##
+#------ BLSURFPLUGIN ------
+setenv BLSURFPLUGIN_ROOT_DIR ${INST_ROOT}/BLSURFPLUGIN_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${BLSURFPLUGIN_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${BLSURFPLUGIN_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${BLSURFPLUGIN_ROOT_DIR}/bin/salome:${BLSURFPLUGIN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ BLSURFPLUGIN_src ------
+setenv BLSURFPLUGIN_SRC_DIR ${INST_ROOT}/BLSURFPLUGIN_SRC_6.5.0
+##
+#------ HexoticPLUGIN ------
+setenv HexoticPLUGIN_ROOT_DIR ${INST_ROOT}/HexoticPLUGIN_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${HexoticPLUGIN_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${HexoticPLUGIN_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${HexoticPLUGIN_ROOT_DIR}/bin/salome:${HexoticPLUGIN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ HexoticPLUGIN_src ------
+setenv HexoticPLUGIN_SRC_DIR ${INST_ROOT}/HexoticPLUGIN_SRC_6.5.0
+##
+#------ COMPONENT ------
+setenv COMPONENT_ROOT_DIR ${INST_ROOT}/COMPONENT_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${COMPONENT_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${COMPONENT_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${COMPONENT_ROOT_DIR}/bin/salome:${COMPONENT_ROOT_DIR}/lib/salome:${COMPONENT_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ COMPONENT_src ------
+setenv COMPONENT_SRC_DIR ${INST_ROOT}/COMPONENT_SRC_6.5.0
+##
+#------ PYCALCULATOR ------
+setenv PYCALCULATOR_ROOT_DIR ${INST_ROOT}/PYCALCULATOR_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${PYCALCULATOR_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${PYCALCULATOR_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${PYCALCULATOR_ROOT_DIR}/bin/salome:${PYCALCULATOR_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ PYCALCULATOR_src ------
+setenv PYCALCULATOR_SRC_DIR ${INST_ROOT}/PYCALCULATOR_SRC_6.5.0
+##
+#------ CALCULATOR ------
+setenv CALCULATOR_ROOT_DIR ${INST_ROOT}/CALCULATOR_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${CALCULATOR_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${CALCULATOR_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${CALCULATOR_ROOT_DIR}/bin/salome:${CALCULATOR_ROOT_DIR}/lib/salome:${CALCULATOR_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ CALCULATOR_src ------
+setenv CALCULATOR_SRC_DIR ${INST_ROOT}/CALCULATOR_SRC_6.5.0
+##
+#------ HELLO ------
+setenv HELLO_ROOT_DIR ${INST_ROOT}/HELLO_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${HELLO_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${HELLO_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${HELLO_ROOT_DIR}/bin/salome:${HELLO_ROOT_DIR}/lib/salome:${HELLO_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ HELLO_src ------
+setenv HELLO_SRC_DIR ${INST_ROOT}/HELLO_SRC_6.5.0
+##
+#------ PYHELLO ------
+setenv PYHELLO_ROOT_DIR ${INST_ROOT}/PYHELLO_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${PYHELLO_ROOT_DIR}/bin/salome
+    setenvp PYTHONPATH ${PYHELLO_ROOT_DIR}/bin/salome:${PYHELLO_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ PYHELLO_src ------
+setenv PYHELLO_SRC_DIR ${INST_ROOT}/PYHELLO_SRC_6.5.0
+##
+#------ ATOMGEN ------
+setenv ATOMGEN_ROOT_DIR ${INST_ROOT}/ATOMGEN_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${ATOMGEN_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${ATOMGEN_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${ATOMGEN_ROOT_DIR}/bin/salome:${ATOMGEN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ ATOMGEN_src ------
+setenv ATOMGEN_SRC_DIR ${INST_ROOT}/ATOMGEN_SRC_6.5.0
+##
+#------ ATOMSOLV ------
+setenv ATOMSOLV_ROOT_DIR ${INST_ROOT}/ATOMSOLV_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${ATOMSOLV_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${ATOMSOLV_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${ATOMSOLV_ROOT_DIR}/bin/salome:${ATOMSOLV_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ ATOMSOLV_src ------
+setenv ATOMSOLV_SRC_DIR ${INST_ROOT}/ATOMSOLV_SRC_6.5.0
+##
+#------ ATOMIC ------
+setenv ATOMIC_ROOT_DIR ${INST_ROOT}/ATOMIC_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${ATOMIC_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${ATOMIC_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${ATOMIC_ROOT_DIR}/bin/salome:${ATOMIC_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ ATOMIC_src ------
+setenv ATOMIC_SRC_DIR ${INST_ROOT}/ATOMIC_SRC_6.5.0
+##
+#------ LIGHT ------
+setenv LIGHT_ROOT_DIR ${INST_ROOT}/LIGHT_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp LD_LIBRARY_PATH ${LIGHT_ROOT_DIR}/lib/salome
+  endif
+endif
+##
+#------ LIGHT_src ------
+setenv LIGHT_SRC_DIR ${INST_ROOT}/LIGHT_SRC_6.5.0
+##
+#------ PYLIGHT ------
+setenv PYLIGHT_ROOT_DIR ${INST_ROOT}/PYLIGHT_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${PYLIGHT_ROOT_DIR}/bin/salome
+    setenvp PYTHONPATH ${PYLIGHT_ROOT_DIR}/bin/salome
+  endif
+endif
+##
+#------ PYLIGHT_src ------
+setenv PYLIGHT_SRC_DIR ${INST_ROOT}/PYLIGHT_SRC_6.5.0
+##
+#------ RANDOMIZER ------
+setenv RANDOMIZER_ROOT_DIR ${INST_ROOT}/RANDOMIZER_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${RANDOMIZER_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${RANDOMIZER_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${RANDOMIZER_ROOT_DIR}/bin/salome:${RANDOMIZER_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ RANDOMIZER_src ------
+setenv RANDOMIZER_SRC_DIR ${INST_ROOT}/RANDOMIZER_SRC_6.5.0
+##
+#------ SIERPINSKY ------
+setenv SIERPINSKY_ROOT_DIR ${INST_ROOT}/SIERPINSKY_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${SIERPINSKY_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${SIERPINSKY_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${SIERPINSKY_ROOT_DIR}/bin/salome:${SIERPINSKY_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ SIERPINSKY_src ------
+setenv SIERPINSKY_SRC_DIR ${INST_ROOT}/SIERPINSKY_SRC_6.5.0
+##
+#------ YACS ------
+setenv YACS_ROOT_DIR ${INST_ROOT}/YACS_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${YACS_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${YACS_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${YACS_ROOT_DIR}/bin/salome:${YACS_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ YACS_src ------
+setenv YACS_SRC_DIR ${INST_ROOT}/YACS_SRC_6.5.0
+##
+#------ YACSGEN ------
+setenv YACSGEN_ROOT_DIR ${INST_ROOT}/YACSGEN_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PYTHONPATH ${YACSGEN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages
+  endif
+endif
+##
+#------ YACSGEN_src ------
+setenv YACSGEN_SRC_DIR ${INST_ROOT}/YACSGEN_SRC_6.5.0
+##
+#------ JOBMANAGER ------
+setenv JOBMANAGER_ROOT_DIR ${INST_ROOT}/JOBMANAGER_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${JOBMANAGER_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${JOBMANAGER_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${JOBMANAGER_ROOT_DIR}/bin/salome:${JOBMANAGER_ROOT_DIR}/lib/salome:${JOBMANAGER_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ JOBMANAGER_src ------
+setenv JOBMANAGER_SRC_DIR ${INST_ROOT}/JOBMANAGER_SRC_6.5.0
+##
+#------ SAMPLES_src ------
+setenv DATA_DIR ${INST_ROOT}/SAMPLES_SRC_6.5.0
+##
+#------ TUTORIAL_src ------
+##
+#------ HOMARD ------
+setenv HOMARD_ROOT_DIR ${INST_ROOT}/HOMARD_6.5.0
+if ( ${?ENV_FOR_LAUNCH} ) then
+  if ( "${ENV_FOR_LAUNCH}" == "1" ) then
+    setenvp PATH ${HOMARD_ROOT_DIR}/bin/salome
+    setenvp LD_LIBRARY_PATH ${HOMARD_ROOT_DIR}/lib/salome
+    setenvp PYTHONPATH ${HOMARD_ROOT_DIR}/bin/salome:${HOMARD_ROOT_DIR}/lib/salome:${HOMARD_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  endif
+endif
+##
+#------ HOMARD_src ------
+setenv HOMARD_SRC_DIR ${INST_ROOT}/HOMARD_SRC_6.5.0
+##
+#------ xdata ------ 
+setenv XDATAROOT ${INST_ROOT}/xdata-0.9.3
+setenvp PATH ${XDATAROOT}/bin
+setenvp PYTHONPATH ${XDATAROOT}/lib/python${PYTHON_VERSION}/site-packages/xdata
+##
+#------ xdata_src ------
+# nothing to do
+##
+#------ HXX2SALOME ------
+setenv HXX2SALOME_ROOT_DIR ${INST_ROOT}/HXX2SALOME_6.5.0/bin
+setenvp PATH ${HXX2SALOME_ROOT_DIR}
+##
+#------ HXX2SALOME_src ------
+# nothing to do
+##
+#------ HXX2SALOMEDOC ------
+#nothing to do
+##
+#------ HXX2SALOMEDOC_src ------
+# nothing to do
+##
+#------ DOCUMENTATION_src ------
+#nothing to do
+##
diff --git a/scripts/env_products.sh b/scripts/env_products.sh
new file mode 100644 (file)
index 0000000..d2003bd
--- /dev/null
@@ -0,0 +1,793 @@
+##########################################################################
+# Functions exporta and exportp are used to append/prepend correspondingly 
+# one directory or a set of directories separated by semicolon symbol (':')
+# to the environment variables like PATH, LD_LIBRARY_PATH, PYTHONPATH,
+# LD_RUN_PATH etc. 
+# The main purpose is to replace default setenv command behavior:
+# exporta, exportp also remove duplicated entries, shortening in that way
+# the environment variables.
+# If some directory being added is already included into the variable
+# nothing is done for it.
+# Note, that these functions work some slower that setenv command itself.
+#
+#### cleandup ###
+# appends/prepends set of directories (second parameter) 
+# to the another set of directories (first parameter) and
+# removes duplicated entries;
+# the third parameter defines the mode: 0 - append, 1 - prepend
+cleandup() {
+out_var=`echo $1 $2 | awk -v dir=$3 '{                   \
+     na = split($2,a,":");                               \
+     k1=0;                                               \
+     bbb[k1++]="";                                       \
+     ccc[""];                                            \
+     if($1 != "<empty>") {                               \
+       nb = split($1,b,":");                             \
+       for(i=1;i<=nb;i++) {                              \
+         if(!(b[i] in ccc) ) {                           \
+          ccc[b[i]];                                    \
+           bbb[k1++]=b[i];                               \
+        };                                              \
+       };                                                \
+     };                                                  \
+     k2=0;                                               \
+     aaa[k2++]="";                                       \
+     for(i=1;i<=na;i++) {                                \
+       if(!(a[i] in ccc)) {                              \
+         ccc[a[i]];                                      \
+         aaa[k2++]=a[i];                                 \
+       };                                                \
+     };                                                  \
+     ORS=":";                                            \
+     if(dir) {                                           \
+       for(i=1;i<k2;i++) {                               \
+         print aaa[i];                                   \
+       }                                                 \
+       for(i=1;i<k1;i++) {                               \
+         print bbb[i];                                   \
+       }                                                 \
+     }                                                   \
+     else {                                              \
+       for(i=1;i<k1;i++) {                               \
+         print bbb[i];                                   \
+       }                                                 \
+       for(i=1;i<k2;i++) {                               \
+         print aaa[i];                                   \
+       }                                                 \
+     }                                                   \
+   }' | sed -e 's/\(.*\):/\1/g'`
+echo $out_var
+}
+### exporta ###
+# appends directory or set of directories, separated by ':' (second parameter)
+# to the variable (first parameter)
+exporta () { 
+xenv=`printenv $1`
+if [ -z "$xenv" ]; then xenv="<empty>"; fi
+out_var=`cleandup $xenv $2 0`
+export $1=$out_var
+}
+### exportp ###
+# prepends directory or set of directories, separated by ':' (second parameter)
+# to the variable (first parameter)
+exportp () { 
+xenv=`printenv $1`
+if [ -z "$xenv" ]; then xenv="<empty>"; fi
+out_var=`cleandup $xenv $2 1`
+export $1=$out_var
+}
+###########################################################################
+
+#------ Setting products installation directory ------
+export INST_ROOT=/home/siman/salome_6.5.0
+
+#------ Environment switch: 0 for SALOME building, 1 for SALOME launching ------
+export ENV_FOR_LAUNCH=1
+
+#------ License activation ------
+export LICENSE_FILE=/product/distene/dlim8.var.sh
+
+if [ -e "${LICENSE_FILE}" ] ; then
+export SIMULOGD_LICENSE_FILE=29029@soleil
+source ${LICENSE_FILE}
+fi
+
+#------ tcltk ------
+export TCLHOME=${INST_ROOT}/tcltk-8.5.8
+exportp PATH ${TCLHOME}/bin
+exportp LD_LIBRARY_PATH ${TCLHOME}/lib
+export TCLLIBPATH="${TCLHOME}/lib ${TCLHOME}/lib/tcl8.5 ${TCLHOME}/lib/tk8.5"
+##
+## #------ tcltk_src ------
+## # nothing to do
+## ##
+#------ Python ------
+export PYTHONROOT=${INST_ROOT}/Python-2.6.6
+export PYTHONHOME=$PYTHONROOT
+exportp PATH ${PYTHONROOT}/bin
+exportp LD_LIBRARY_PATH ${PYTHONROOT}/lib
+export PYTHON_VERSION=2.6
+export PYTHON_INCLUDE=${PYTHONROOT}/include/python${PYTHON_VERSION}
+exportp PYTHONPATH ${PYTHONROOT}/lib/python${PYTHON_VERSION}
+##
+## #------ Python_src ------
+## # nothing to do
+## ##
+#------ Qt ------
+export QTDIR=${INST_ROOT}/qt-4.6.3
+exportp PATH ${QTDIR}/bin 
+exportp LD_LIBRARY_PATH ${QTDIR}/lib
+export QT_PLUGIN_PATH=${QTDIR}/plugins
+##
+## #------ Qt_src ------
+## # nothing to do
+## ##
+#------ Sip ------
+export SIPDIR=${INST_ROOT}/sip-4.13.2
+exportp PATH ${SIPDIR}/bin
+exportp PYTHONPATH ${SIPDIR}/lib/python${PYTHON_VERSION}/site-packages
+exportp LD_LIBRARY_PATH ${SIPDIR}/lib/python${PYTHON_VERSION}/site-packages
+##
+## #------ Sip_src ------
+## # nothing to do
+## ##
+#------ PyQt ------
+export PYQTDIR=${INST_ROOT}/PyQt-4.9.1
+export PYQT_SIPS=${PYQTDIR}/sip
+exportp PATH ${PYQTDIR}/bin
+exportp PYTHONPATH ${PYQTDIR}:${PYQTDIR}/PyQt4
+exportp LD_LIBRARY_PATH ${PYQTDIR}/PyQt4
+##
+## #------ PyQt_src ------
+## # nothing to do
+## ##
+#------ QScintilla ------
+export QSCINTILLA_DIR=${INST_ROOT}/QScintilla-2.6.1
+exportp LD_LIBRARY_PATH ${QSCINTILLA_DIR}/lib
+##
+## #------ QScintilla_src ------
+## # nothing to do
+## ##
+#------ boost ------ 
+export BOOSTDIR=${INST_ROOT}/boost-1.49.0
+exportp LD_LIBRARY_PATH ${BOOSTDIR}/lib
+exportp PATH ${BOOSTDIR}/include
+##
+## #------ boost_src ------
+## # nothing to do
+## ##
+#------ Swig ------ 
+export SWIG_ROOT=${INST_ROOT}/swig-1.3.40
+exportp PATH ${SWIG_ROOT}/bin
+export SWIG_LIB=${SWIG_ROOT}/share/swig/1.3.40
+##
+## #------ Swig_src ------
+## # nothing to do
+## ##
+#------ freetype ------
+export FREETYPEDIR=${INST_ROOT}/freetype-2.3.7
+exportp LD_LIBRARY_PATH ${FREETYPEDIR}/lib
+##
+## #------ freetype_src ------
+## # nothing to do
+## ##
+#------ ftgl ------
+export FTGLDIR=${INST_ROOT}/ftgl-2.1.2
+exportp PATH ${FTGLDIR}/bin 
+exportp LD_LIBRARY_PATH ${FTGLDIR}/lib
+##
+## #------ ftgl_src ------
+## # nothing to do
+## ##
+#------ freeimage ------
+export FREEIMAGEDIR=${INST_ROOT}/freeimage-3.14.1
+exportp PATH ${FREEIMAGEDIR}/bin 
+exportp LD_LIBRARY_PATH ${FREEIMAGEDIR}/lib
+##
+## #------ freeimage_src ------
+## # nothing to do
+## ##
+#------ cmake ------
+export CMAKEHOME=${INST_ROOT}/cmake-2.8.7
+exportp PATH ${CMAKEHOME}/bin
+##
+## #------ cmake_src ------
+## # nothing to do
+## ##
+#------ gl2ps ------
+export GL2PSHOME=${INST_ROOT}/gl2ps-1.3.5
+exportp PATH ${GL2PSHOME}/bin 
+exportp LD_LIBRARY_PATH ${GL2PSHOME}/lib
+##
+## #------ gl2ps_src ------
+## # nothing to do
+## ##
+#------ tbb ------
+export TBBHOME=${INST_ROOT}/tbb30_018oss
+exportp PATH ${TBBHOME}/bin/intel64/cc4.1.0_libc2.4_kernel2.6.16.21 
+exportp LD_LIBRARY_PATH ${TBBHOME}/lib/intel64/cc4.1.0_libc2.4_kernel2.6.16.21
+##
+## #------ tbb_src ------
+## # nothing to do
+## ##
+#------ OpenCascade ------
+export CASROOT=${INST_ROOT}/OCCT-6.5.3
+exportp PATH ${CASROOT}/bin
+exportp LD_LIBRARY_PATH ${CASROOT}/lib:${CASROOT}/lin/lib
+# Variable for Foundation Classes : 
+export CSF_UnitsLexicon=${CASROOT}/src/UnitsAPI/Lexi_Expr.dat 
+export CSF_UnitsDefinition=${CASROOT}/src/UnitsAPI/Units.dat 
+# Variable for DataExchange : 
+export CSF_SHMessage=${CASROOT}/src/SHMessage
+export CSF_XSMessage=${CASROOT}/src/XSMessage 
+# Variable for Font : 
+export CSF_MDTVFontDirectory=${CASROOT}/src/FontMFT 
+export CSF_MDTVTexturesDirectory=${CASROOT}/src/Textures 
+# Activation of OCCT Kernel multithreading :
+export MMGT_REENTRANT=1
+##
+## #------ OpenCascade_src ------
+## # nothing to do
+## ##
+#------ Qwt ------
+export QWTHOME=${INST_ROOT}/qwt-5.2.1
+exportp LD_LIBRARY_PATH ${QWTHOME}/lib 
+##
+## #------ Qwt_src ------
+## # nothing to do
+## ##
+#------ OmniORB ------
+export OMNIORBDIR=${INST_ROOT}/omniORB-4.1.6
+export OMNIORB_CONFIG=${OMNIORBDIR}/.omniORB.cfg
+exportp PYTHONPATH ${OMNIORBDIR}/lib:${OMNIORBDIR}/lib/python${PYTHON_VERSION}/site-packages
+exportp PATH $OMNIORBDIR/bin
+exportp LD_LIBRARY_PATH $OMNIORBDIR/lib 
+##
+## #------ OmniORB_src ------
+## # nothing to do
+## ##
+#------ Hdf5 ------
+export HDF5HOME=${INST_ROOT}/hdf5-1.8.8
+exportp PATH ${HDF5HOME}/bin
+exportp LD_LIBRARY_PATH ${HDF5HOME}/lib
+##
+## #------ Hdf5_src ------
+## # nothing to do
+## ##
+#------ cgnslib ------
+export CGNSHOME=${INST_ROOT}/cgnslib-3.1.3
+exportp PATH ${CGNSHOME}/bin
+exportp LD_LIBRARY_PATH ${CGNSHOME}/lib
+##
+## #------ cgnslib_src ------
+## # nothing to do
+## ##
+#------ Med ------
+export MED3HOME=${INST_ROOT}/med-3.0.5
+exportp PATH ${MED3HOME}/bin
+exportp LD_LIBRARY_PATH ${MED3HOME}/lib
+##
+## #------ Med_src ------
+## # nothing to do
+## ##
+#------ Metis ------ 
+export METISDIR=${INST_ROOT}/metis-4.0
+##
+## #------ Metis_src ------
+## # nothing to do
+## ##
+#------ Scotch ------ 
+export SCOTCHDIR=${INST_ROOT}/scotch-5.1.11
+##
+## #------ Scotch_src ------
+## # nothing to do
+## ##
+#------ ParaView ------
+export PVHOME=${INST_ROOT}/ParaView-3.14.0
+exportp PATH ${PVHOME}/bin
+exportp LD_LIBRARY_PATH ${PVHOME}/lib/paraview-3.14
+exportp PYTHONPATH ${PVHOME}/lib/paraview-3.14:${PVHOME}/lib/paraview-3.14/site-packages:${PVHOME}/lib/paraview-3.14/site-packages/paraview
+export VTK_DIR=${PVHOME}/lib/paraview-3.14
+export PV_PLUGIN_PATH=${PVHOME}/lib/paraview-3.14
+##
+## #------ ParaView_src ------
+## # nothing to do
+## ##
+#------ numpy ------
+exportp PYTHONPATH ${INST_ROOT}/numpy-1.5.1/lib/python${PYTHON_VERSION}/site-packages
+exportp PATH ${INST_ROOT}/numpy-1.5.1/bin
+exportp LD_LIBRARY_PATH ${INST_ROOT}/numpy-1.5.1/lib
+##
+## #------ numpy_src ------
+## # nothing to do
+## ##
+#------ libBatch ------ 
+export LIBBATCH_ROOT_DIR=${INST_ROOT}/libBatch-1.5.0
+exportp LD_LIBRARY_PATH ${LIBBATCH_ROOT_DIR}/lib
+exportp PYTHONPATH ${LIBBATCH_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages
+##
+## #------ libBatch_src ------
+## # nothing to do
+## ##
+#------ expat ------
+export EXPAT_ROOT=${INST_ROOT}/expat-2.0.1
+exportp PATH ${EXPAT_ROOT}/bin
+exportp LD_LIBRARY_PATH ${EXPAT_ROOT}/lib
+##
+## #------ expat_src ------
+## # nothing to do
+## ##
+#------ Graphviz ------
+export GRAPHVIZHOME=${INST_ROOT}/graphviz-2.28.0
+exportp PATH ${GRAPHVIZHOME}/bin
+exportp LD_LIBRARY_PATH ${GRAPHVIZHOME}/lib:${GRAPHVIZHOME}/lib/graphviz
+##
+## #------ Graphviz_src ------
+## # nothing to do
+## ##
+#------ Doxygen ------
+exportp PATH ${INST_ROOT}/doxygen-1.8.0/bin
+##
+## #------ Doxygen_src ------
+## # nothing to do
+## ##
+#------ docutils ------
+exportp PYTHONPATH ${INST_ROOT}/docutils-0.8.1/lib/python${PYTHON_VERSION}/site-packages
+exportp PATH ${INST_ROOT}/docutils-0.8.1/bin
+##
+## #------ docutils_src ------
+## # nothing to do
+## ##
+#------ Sphinx ------
+exportp PYTHONPATH ${INST_ROOT}/Sphinx-1.1.3/lib/python${PYTHON_VERSION}/site-packages
+exportp PATH ${INST_ROOT}/Sphinx-1.1.3/bin
+##
+## #------ Sphinx_src ------
+## # nothing to do
+## ##
+#------ netgen ------
+export NETGENHOME=${INST_ROOT}/netgen-4.9.13
+exportp LD_LIBRARY_PATH ${NETGENHOME}/lib
+##
+## #------ netgen_src ------
+## # nothing to do
+## ##
+#------ DISTENE ------
+export DISTENE_HOME=${INST_ROOT}/DISTENE
+export BLSURFHOME=${DISTENE_HOME}/Tools/BLSurf-3.1_64
+export HEXOTICHOME=${DISTENE_HOME}/Tools/Hexotic-V1.0_64
+exportp LD_LIBRARY_PATH ${BLSURFHOME}/lib 
+exportp PATH ${HEXOTICHOME}/bin:${DISTENE_HOME}/Tools/TetMesh-GHS3D4.1_64:${DISTENE_HOME}/Tools/TetMesh-GHS3D4.2_64
+##
+## #------ DISTENE_src ------
+## # nothing to do
+## ##
+#------ homard ------
+export homard_HOME=${INST_ROOT}/homard-10.4
+exportp PATH ${homard_HOME}/HOMARD_V10.4_64
+##
+## #------ homard_src ------
+## # nothing to do
+## ##
+#------ libxml2 ------ 
+export LIBXML_DIR=${INST_ROOT}/libxml2-2.7.8
+exportp PATH ${LIBXML_DIR}/bin
+exportp LD_LIBRARY_PATH ${LIBXML_DIR}/lib
+##
+## #------ libxml2_src ------
+## # nothing to do
+## ##
+#------ KERNEL ------
+export KERNEL_ROOT_DIR=${INST_ROOT}/KERNEL_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${KERNEL_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${KERNEL_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${KERNEL_ROOT_DIR}/bin/salome:${KERNEL_ROOT_DIR}/lib/salome:${KERNEL_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ KERNEL_src ------
+export KERNEL_SRC_DIR=${INST_ROOT}/KERNEL_SRC_6.5.0
+##
+#------ GUI ------
+export GUI_ROOT_DIR=${INST_ROOT}/GUI_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${GUI_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${GUI_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${GUI_ROOT_DIR}/bin/salome:${GUI_ROOT_DIR}/lib/salome:${GUI_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+    export VTK_AUTOLOAD_PATH=${GUI_ROOT_DIR}/lib/paraview
+  fi
+fi
+##
+#------ GUI_src ------
+export GUI_SRC_DIR=${INST_ROOT}/GUI_SRC_6.5.0
+##
+#------ GEOM ------
+export GEOM_ROOT_DIR=${INST_ROOT}/GEOM_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${GEOM_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${GEOM_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${GEOM_ROOT_DIR}/bin/salome:${GEOM_ROOT_DIR}/lib/salome:${GEOM_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ GEOM_src ------
+export GEOM_SRC_DIR=${INST_ROOT}/GEOM_SRC_6.5.0
+##
+#------ MED ------
+export MED_ROOT_DIR=${INST_ROOT}/MED_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${MED_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${MED_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${MED_ROOT_DIR}/bin/salome:${MED_ROOT_DIR}/lib/salome:${MED_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+    export AM2CMAKE_FORCE_GENERATION=1
+  fi
+fi
+##
+#------ MED_src ------
+export MED_SRC_DIR=${INST_ROOT}/MED_SRC_6.5.0
+##
+#------ SMESH ------
+export SMESH_ROOT_DIR=${INST_ROOT}/SMESH_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${SMESH_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${SMESH_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${SMESH_ROOT_DIR}/bin/salome:${SMESH_ROOT_DIR}/lib/salome:${SMESH_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ SMESH_src ------
+export SMESH_SRC_DIR=${INST_ROOT}/SMESH_SRC_6.5.0
+##
+#------ VISU ------
+export VISU_ROOT_DIR=${INST_ROOT}/VISU_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${VISU_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${VISU_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${VISU_ROOT_DIR}/bin/salome:${VISU_ROOT_DIR}/lib/salome:${VISU_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ VISU_src ------
+export VISU_SRC_DIR=${INST_ROOT}/VISU_SRC_6.5.0
+##
+#------ PARAVIS ------
+export PARAVIS_ROOT_DIR=${INST_ROOT}/PARAVIS_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${PARAVIS_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${PARAVIS_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${PARAVIS_ROOT_DIR}/bin/salome:${PARAVIS_ROOT_DIR}/lib/salome:${PARAVIS_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+    export PV_PLUGIN_PATH=${PARAVIS_ROOT_DIR}/lib/paraview:${PV_PLUGIN_PATH}
+  fi
+fi
+##
+#------ PARAVIS_src ------
+export PARAVIS_SRC_DIR=${INST_ROOT}/PARAVIS_SRC_6.5.0
+export ACCEPT_PARAVIS_WARNINGS=1
+##
+#------ HEXABLOCK ------
+export HEXABLOCK_ROOT_DIR=${INST_ROOT}/HEXABLOCK_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${HEXABLOCK_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${HEXABLOCK_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${HEXABLOCK_ROOT_DIR}/bin/salome:${HEXABLOCK_ROOT_DIR}/lib/salome:${HEXABLOCK_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ HEXABLOCK_src ------
+export HEXABLOCK_SRC_DIR=${INST_ROOT}/HEXABLOCK_SRC_6.5.0
+##
+#------ HEXABLOCKPLUGIN ------
+export HEXABLOCKPLUGIN_ROOT_DIR=${INST_ROOT}/HEXABLOCKPLUGIN_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp LD_LIBRARY_PATH ${HEXABLOCKPLUGIN_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${HEXABLOCKPLUGIN_ROOT_DIR}/lib/salome:${HEXABLOCKPLUGIN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ HEXABLOCKPLUGIN_src ------
+export HEXABLOCKPLUGIN_SRC_DIR=${INST_ROOT}/HEXABLOCKPLUGIN_SRC_6.5.0
+##
+#------ NETGENPLUGIN ------
+export NETGENPLUGIN_ROOT_DIR=${INST_ROOT}/NETGENPLUGIN_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp LD_LIBRARY_PATH ${NETGENPLUGIN_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${NETGENPLUGIN_ROOT_DIR}/lib/salome:${NETGENPLUGIN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ NETGENPLUGIN_src ------
+export NETGENPLUGIN_SRC_DIR=${INST_ROOT}/NETGENPLUGIN_SRC_6.5.0
+##
+#------ GHS3DPLUGIN ------
+export GHS3DPLUGIN_ROOT_DIR=${INST_ROOT}/GHS3DPLUGIN_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp LD_LIBRARY_PATH ${GHS3DPLUGIN_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${GHS3DPLUGIN_ROOT_DIR}/lib/salome:${GHS3DPLUGIN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ GHS3DPLUGIN_src ------
+export GHS3DPLUGIN_SRC_DIR=${INST_ROOT}/GHS3DPLUGIN_SRC_6.5.0
+##
+#------ GHS3DPRLPLUGIN ------
+export GHS3DPRLPLUGIN_ROOT_DIR=${INST_ROOT}/GHS3DPRLPLUGIN_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${GHS3DPRLPLUGIN_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${GHS3DPRLPLUGIN_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${GHS3DPRLPLUGIN_ROOT_DIR}/bin/salome:${GHS3DPRLPLUGIN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ GHS3DPRLPLUGIN_src ------
+export GHS3DPRLPLUGIN_SRC_DIR=${INST_ROOT}/GHS3DPRLPLUGIN_SRC_6.5.0
+##
+#------ BLSURFPLUGIN ------
+export BLSURFPLUGIN_ROOT_DIR=${INST_ROOT}/BLSURFPLUGIN_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${BLSURFPLUGIN_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${BLSURFPLUGIN_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${BLSURFPLUGIN_ROOT_DIR}/bin/salome:${BLSURFPLUGIN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ BLSURFPLUGIN_src ------
+export BLSURFPLUGIN_SRC_DIR=${INST_ROOT}/BLSURFPLUGIN_SRC_6.5.0
+##
+#------ HexoticPLUGIN ------
+export HexoticPLUGIN_ROOT_DIR=${INST_ROOT}/HexoticPLUGIN_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${HexoticPLUGIN_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${HexoticPLUGIN_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${HexoticPLUGIN_ROOT_DIR}/bin/salome:${HexoticPLUGIN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ HexoticPLUGIN_src ------
+export HexoticPLUGIN_SRC_DIR=${INST_ROOT}/HexoticPLUGIN_SRC_6.5.0
+##
+#------ COMPONENT ------
+export COMPONENT_ROOT_DIR=${INST_ROOT}/COMPONENT_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${COMPONENT_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${COMPONENT_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${COMPONENT_ROOT_DIR}/bin/salome:${COMPONENT_ROOT_DIR}/lib/salome:${COMPONENT_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ COMPONENT_src ------
+export COMPONENT_SRC_DIR=${INST_ROOT}/COMPONENT_SRC_6.5.0
+##
+#------ PYCALCULATOR ------
+export PYCALCULATOR_ROOT_DIR=${INST_ROOT}/PYCALCULATOR_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${PYCALCULATOR_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${PYCALCULATOR_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${PYCALCULATOR_ROOT_DIR}/bin/salome:${PYCALCULATOR_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ PYCALCULATOR_src ------
+export PYCALCULATOR_SRC_DIR=${INST_ROOT}/PYCALCULATOR_SRC_6.5.0
+##
+#------ CALCULATOR ------
+export CALCULATOR_ROOT_DIR=${INST_ROOT}/CALCULATOR_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${CALCULATOR_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${CALCULATOR_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${CALCULATOR_ROOT_DIR}/bin/salome:${CALCULATOR_ROOT_DIR}/lib/salome:${CALCULATOR_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ CALCULATOR_src ------
+export CALCULATOR_SRC_DIR=${INST_ROOT}/CALCULATOR_SRC_6.5.0
+##
+#------ HELLO ------
+export HELLO_ROOT_DIR=${INST_ROOT}/HELLO_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${HELLO_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${HELLO_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${HELLO_ROOT_DIR}/bin/salome:${HELLO_ROOT_DIR}/lib/salome:${HELLO_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ HELLO_src ------
+export HELLO_SRC_DIR=${INST_ROOT}/HELLO_SRC_6.5.0
+##
+#------ PYHELLO ------
+export PYHELLO_ROOT_DIR=${INST_ROOT}/PYHELLO_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${PYHELLO_ROOT_DIR}/bin/salome
+    exportp PYTHONPATH ${PYHELLO_ROOT_DIR}/bin/salome:${PYHELLO_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ PYHELLO_src ------
+export PYHELLO_SRC_DIR=${INST_ROOT}/PYHELLO_SRC_6.5.0
+##
+#------ ATOMGEN ------
+export ATOMGEN_ROOT_DIR=${INST_ROOT}/ATOMGEN_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${ATOMGEN_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${ATOMGEN_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${ATOMGEN_ROOT_DIR}/bin/salome:${ATOMGEN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ ATOMGEN_src ------
+export ATOMGEN_SRC_DIR=${INST_ROOT}/ATOMGEN_SRC_6.5.0
+##
+#------ ATOMSOLV ------
+export ATOMSOLV_ROOT_DIR=${INST_ROOT}/ATOMSOLV_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${ATOMSOLV_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${ATOMSOLV_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${ATOMSOLV_ROOT_DIR}/bin/salome:${ATOMSOLV_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ ATOMSOLV_src ------
+export ATOMSOLV_SRC_DIR=${INST_ROOT}/ATOMSOLV_SRC_6.5.0
+##
+#------ ATOMIC ------
+export ATOMIC_ROOT_DIR=${INST_ROOT}/ATOMIC_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${ATOMIC_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${ATOMIC_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${ATOMIC_ROOT_DIR}/bin/salome:${ATOMIC_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ ATOMIC_src ------
+export ATOMIC_SRC_DIR=${INST_ROOT}/ATOMIC_SRC_6.5.0
+##
+#------ LIGHT ------
+export LIGHT_ROOT_DIR=${INST_ROOT}/LIGHT_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp LD_LIBRARY_PATH ${LIGHT_ROOT_DIR}/lib/salome
+  fi
+fi
+##
+#------ LIGHT_src ------
+export LIGHT_SRC_DIR=${INST_ROOT}/LIGHT_SRC_6.5.0
+##
+#------ PYLIGHT ------
+export PYLIGHT_ROOT_DIR=${INST_ROOT}/PYLIGHT_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${PYLIGHT_ROOT_DIR}/bin/salome
+    exportp PYTHONPATH ${PYLIGHT_ROOT_DIR}/bin/salome
+  fi
+fi
+##
+#------ PYLIGHT_src ------
+export PYLIGHT_SRC_DIR=${INST_ROOT}/PYLIGHT_SRC_6.5.0
+##
+#------ RANDOMIZER ------
+export RANDOMIZER_ROOT_DIR=${INST_ROOT}/RANDOMIZER_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${RANDOMIZER_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${RANDOMIZER_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${RANDOMIZER_ROOT_DIR}/bin/salome:${RANDOMIZER_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ RANDOMIZER_src ------
+export RANDOMIZER_SRC_DIR=${INST_ROOT}/RANDOMIZER_SRC_6.5.0
+##
+#------ SIERPINSKY ------
+export SIERPINSKY_ROOT_DIR=${INST_ROOT}/SIERPINSKY_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${SIERPINSKY_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${SIERPINSKY_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${SIERPINSKY_ROOT_DIR}/bin/salome:${SIERPINSKY_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ SIERPINSKY_src ------
+export SIERPINSKY_SRC_DIR=${INST_ROOT}/SIERPINSKY_SRC_6.5.0
+##
+#------ YACS ------
+export YACS_ROOT_DIR=${INST_ROOT}/YACS_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${YACS_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${YACS_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${YACS_ROOT_DIR}/bin/salome:${YACS_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ YACS_src ------
+export YACS_SRC_DIR=${INST_ROOT}/YACS_SRC_6.5.0
+##
+#------ YACSGEN ------
+export YACSGEN_ROOT_DIR=${INST_ROOT}/YACSGEN_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PYTHONPATH ${YACSGEN_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages
+  fi
+fi
+##
+#------ YACSGEN_src ------
+export YACSGEN_SRC_DIR=${INST_ROOT}/YACSGEN_SRC_6.5.0
+##
+#------ JOBMANAGER ------
+export JOBMANAGER_ROOT_DIR=${INST_ROOT}/JOBMANAGER_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${JOBMANAGER_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${JOBMANAGER_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${JOBMANAGER_ROOT_DIR}/bin/salome:${JOBMANAGER_ROOT_DIR}/lib/salome:${JOBMANAGER_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ JOBMANAGER_src ------
+export JOBMANAGER_SRC_DIR=${INST_ROOT}/JOBMANAGER_SRC_6.5.0
+##
+#------ SAMPLES_src ------
+export DATA_DIR=${INST_ROOT}/SAMPLES_SRC_6.5.0
+##
+#------ TUTORIAL_src ------
+##
+#------ HOMARD ------
+export HOMARD_ROOT_DIR=${INST_ROOT}/HOMARD_6.5.0
+if [ -n "${ENV_FOR_LAUNCH}" ] ; then
+  if [ "${ENV_FOR_LAUNCH}" = "1" ] ; then
+    exportp PATH ${HOMARD_ROOT_DIR}/bin/salome
+    exportp LD_LIBRARY_PATH ${HOMARD_ROOT_DIR}/lib/salome
+    exportp PYTHONPATH ${HOMARD_ROOT_DIR}/bin/salome:${HOMARD_ROOT_DIR}/lib/salome:${HOMARD_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/salome
+  fi
+fi
+##
+#------ HOMARD_src ------
+export HOMARD_SRC_DIR=${INST_ROOT}/HOMARD_SRC_6.5.0
+##
+#------ xdata ------ 
+export XDATAROOT=${INST_ROOT}/xdata-0.9.3
+exportp PATH ${XDATAROOT}/bin
+exportp PYTHONPATH ${XDATAROOT}/lib/python${PYTHON_VERSION}/site-packages/xdata
+##
+#------ xdata_src ------
+# nothing to do
+##
+#------ HXX2SALOME ------
+export HXX2SALOME_ROOT_DIR=${INST_ROOT}/HXX2SALOME_6.5.0/bin
+exportp PATH ${HXX2SALOME_ROOT_DIR}
+##
+#------ HXX2SALOME_src ------
+# nothing to do
+##
+#------ HXX2SALOMEDOC ------
+#nothing to do
+##
+#------ HXX2SALOMEDOC_src ------
+# nothing to do
+##
+#------ DOCUMENTATION_src ------
+#nothing to do
+##
diff --git a/scripts/env_siman.sh b/scripts/env_siman.sh
new file mode 100644 (file)
index 0000000..d1458a4
--- /dev/null
@@ -0,0 +1,33 @@
+#!/bin/bash 
+
+#echo dir1 = `dirname $0`
+#echo dir2 = ${PWD}
+
+env_script=${PWD}/env_products.sh
+if [ -e $env_script ] ; then
+    echo
+    echo ">>> Setting environment"
+    echo ">>> Environment script = " $env_script
+    source $env_script
+    else
+    echo
+    echo '!!! Warning !!! Environment is not set.'
+    echo 'No environment file (env_products.sh) is found.'
+    echo 'Proceed with the current environment.'
+fi
+
+    echo ">>> Setting SALOME_SIMAN environment"
+
+export WSFCPP_HOME=${PWD}/wso2-wsf-cpp-2.1.0
+#export PATH=${WSFCPP_HOME}/lib:${PATH}
+export LD_LIBRARY_PATH=${WSFCPP_HOME}/lib:${LD_LIBRARY_PATH}
+
+
+export SIMANIO_ROOT_DIR=${PWD}/SIMANIO
+#export PATH=${SIMANIO_ROOT_DIR}/lib:${PATH}
+export LD_LIBRARY_PATH=${SIMANIO_ROOT_DIR}/lib:${LD_LIBRARY_PATH}
+
+export SIMAN_WS_HOST="172.22.2.10:8080"
+
+#export SALOME_ROOT_DIR=${PWD}
+
diff --git a/scripts/run_salome_siman.sh b/scripts/run_salome_siman.sh
new file mode 100644 (file)
index 0000000..5c55b94
--- /dev/null
@@ -0,0 +1,59 @@
+#!/bin/bash
+xhost +
+echo "parameters : $1  $2  $3" > /home/siman/check_params.txt
+echo "$#" >> /home/siman/check_params.txt
+
+if [ "$#" -ne 1 ] ; then 
+echo  "Usage :
+`basename $0` --siman-study=<studyID> --siman-scenario=<scenarioID> --siman-user=<userID>"
+echo  "for example : 
+`basename $0` --siman-study=1162 --siman-scenario=1163 --siman-user=8"
+exit
+fi
+
+
+#echo dir1 = `dirname $0`
+#echo dir2 = ${PWD}
+
+echo "pwd = " ${PWD} >> /home/siman/check_params.txt
+echo "display = " ${DISPLAY} >> /home/siman/check_params.txt
+
+env_script=${PWD}/env_products.sh
+echo script = $env_script
+
+if [ -e $env_script ] ; then
+    echo
+    echo ">>> Setting SALOME environment" >> /home/siman/check_params.txt
+    echo ">>> Environment script = " $env_script >> /home/siman/check_params.txt
+    source $env_script >> /home/siman/check_params.txt
+    echo ">>> After products " >> /home/siman/check_params.txt
+    else
+    echo
+    echo '!!! Warning !!! Environment is not set.'
+    echo 'No environment file (env_products.sh) is found.'
+    echo 'Proceed with the current environment.'
+fi
+
+echo ">>> Setting SALOME-SAMAN environment" >> /home/siman/check_params.txt
+
+export WSFCPP_HOME=${PWD}/wso2-wsf-cpp-2.1.0
+#export PATH=${WSFCPP_HOME}/lib:${PATH}
+export LD_LIBRARY_PATH=${WSFCPP_HOME}/lib:${LD_LIBRARY_PATH}
+echo "WSFCPP_HOME = " ${WSFCPP_HOME} >> /home/siman/check_params.txt
+
+export SIMANIO_ROOT_DIR=${PWD}/SIMANIO
+export PATH=${SIMANIO_ROOT_DIR}/lib:${PATH}
+export LD_LIBRARY_PATH=${SIMANIO_ROOT_DIR}/lib:${LD_LIBRARY_PATH}
+
+export SIMAN_WS_HOST="172.22.2.65:8080"
+
+echo "parameters 3: $1 $2 $3" >> /home/siman/check_params.txt
+
+#export SALOME_ROOT_DIR=${PWD}
+
+echo ">>> SALOME-SIMAN rurring" >> /home/siman/check_params.txt
+
+echo "parameters 4: $1 $2 $3" >> /home/siman/check_params.txt
+
+runSalome --siman $1 $2 $3 -k >> /home/siman/check_params.txt
+
diff --git a/scripts/siman_build.sh b/scripts/siman_build.sh
new file mode 100644 (file)
index 0000000..3e1fff7
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+export module_build=${PWD}/SIMANIO_BUILD
+export module_install=${PWD}/SIMANIO
+
+# creating build directory if it does not exist
+if [ ! -e ${module_build} ] ; then
+    mkdir -p ${module_build} >& /dev/null
+    if [ "$?" != "0" ] ; then
+       echo
+       echo '!!! Error !!! Cannot create build directory ${module_build}. Permission denied.'
+       echo
+       continue
+    fi
+fi
+
+cd ${module_build}
+cmake -D CMAKE_INSTALL_PREFIX=${module_install} ../SIMANIO_SRC
+make install
+cd ..
+
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644 (file)
index 0000000..7c2b65a
--- /dev/null
@@ -0,0 +1,19 @@
+project(SimanSrc CXX)
+
+set(SimanSrc_SRCS SimanIO_Activity.cxx SimanIO_Configuration.cxx SimanIO_Document.cxx SimanIO_Link.cxx CheckIn.cpp CheckInResponse.cpp CreateConfigFile.cpp CreateConfigFileResponse.cpp GetFile.cpp GetFileResponse.cpp PutFile.cpp PutFileResponse.cpp SimanSalomeServiceStub.cpp)
+set(SimanSrc_HEADERS SimanIO_Activity.hxx SimanIO_Configuration.hxx SimanIO_Document.hxx SimanIO_Link.hxx CheckIn.h CheckInResponse.h CreateConfigFile.h CreateConfigFileResponse.h GetFile.h GetFileResponse.h ISimanSalomeServiceCallback.h PutFile.h PutFileResponse.h SimanSalomeServiceStub.h)
+include_directories($(PROJECT_SOURCE_DIR) $ENV{WSFCPP_HOME}/include $ENV{WSFCPP_HOME}/include/axis2-1.6.0 $ENV{WSFCPP_HOME}/include/axis2-1.6.0/platforms)
+
+add_library(SimanIO SHARED ${SimanSrc_SRCS} ${SimanSrc_HEADERS} $ENV{WSFCPP_HOME}/lib)
+target_link_libraries(SimanIO $ENV{WSFCPP_HOME}/lib $ENV{WSFCPP_HOME}/lib/libaxis2_axiom.so $ENV{WSFCPP_HOME}/lib/libaxis2_engine.so $ENV{WSFCPP_HOME}/lib/libwso2_wsf.so)
+
+install(TARGETS SimanIO DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
+install(FILES ${SimanSrc_HEADERS} DESTINATION ${CMAKE_INSTALL_PREFIX}/include)
+
+# add_executable(TestCreateConfigFile TestCreateConfigFile.cpp)
+# target_link_libraries(TestCreateConfigFile ${CMAKE_INSTALL_PREFIX}/lib/libSimanIO.so $ENV{WSFCPP_HOME}/lib/libaxis2_axiom.so $ENV{WSFCPP_HOME}/lib/libaxis2_engine.so $ENV{WSFCPP_HOME}/lib/libwso2_wsf.so)
+# install(TARGETS TestCreateConfigFile DESTINATION bin)
+
+
+
+
diff --git a/src/CheckIn.cpp b/src/CheckIn.cpp
new file mode 100644 (file)
index 0000000..56cea6b
--- /dev/null
@@ -0,0 +1,649 @@
+
+
+        /**
+         * CheckIn.cpp
+         *
+         * This file was auto-generated from WSDL
+         * by the Apache Axis2/C version: SNAPSHOT  Built on : Mar 10, 2008 (08:35:52 GMT+00:00)
+         */
+
+        #include "CheckIn.h"
+        #include <Environment.h>
+        #include <WSFError.h>
+
+
+        using namespace wso2wsf;
+        using namespace std;
+        
+        using namespace org_splat_ws_server_service_salome;
+        
+               /*
+                * Implementation of the checkIn|http://salome.service.ws_server.splat.org Element
+                */
+           org_splat_ws_server_service_salome::CheckIn::CheckIn()
+        {
+
+        
+            qname = NULL;
+        
+                    property_Args0;
+                
+            isValidArgs0  = false;
+        
+            isValidArgs1  = false;
+        
+                  qname =  axutil_qname_create (Environment::getEnv(),
+                        "checkIn",
+                        "http://salome.service.ws_server.splat.org",
+                        NULL);
+                
+        }
+
+       org_splat_ws_server_service_salome::CheckIn::CheckIn(std::string arg_Args0,int64_t arg_Args1)
+        {
+             
+                   qname = NULL;
+             
+                 property_Args0;
+             
+            isValidArgs0  = true;
+            
+            isValidArgs1  = true;
+            
+                 qname =  axutil_qname_create (Environment::getEnv(),
+                       "checkIn",
+                       "http://salome.service.ws_server.splat.org",
+                       NULL);
+               
+                    property_Args0 = arg_Args0;
+            
+                    property_Args1 = arg_Args1;
+            
+        }
+        org_splat_ws_server_service_salome::CheckIn::~CheckIn()
+        {
+
+        }
+
+        
+
+        bool WSF_CALL
+        org_splat_ws_server_service_salome::CheckIn::deserialize(axiom_node_t** dp_parent,bool *dp_is_early_node_valid, bool dont_care_minoccurs)
+        {
+          axiom_node_t *parent = *dp_parent;
+          
+          bool status = AXIS2_SUCCESS;
+           
+         const axis2_char_t* text_value = NULL;
+         axutil_qname_t *mqname = NULL;
+          
+            axutil_qname_t *element_qname = NULL; 
+            
+               axiom_node_t *first_node = NULL;
+               bool is_early_node_valid = true;
+               axiom_node_t *current_node = NULL;
+               axiom_element_t *current_element = NULL;
+            
+              
+              while(parent && axiom_node_get_node_type(parent, Environment::getEnv()) != AXIOM_ELEMENT)
+              {
+                  parent = axiom_node_get_next_sibling(parent, Environment::getEnv());
+              }
+              if (NULL == parent)
+              {   
+                return AXIS2_FAILURE;
+              }
+              
+
+                    current_element = (axiom_element_t *)axiom_node_get_data_element(parent, Environment::getEnv());
+                    mqname = axiom_element_get_qname(current_element, Environment::getEnv(), parent);
+                    if (axutil_qname_equals(mqname, Environment::getEnv(), this->qname))
+                    {
+                        
+                          first_node = axiom_node_get_first_child(parent, Environment::getEnv());
+                          
+                    }
+                    else
+                    {
+                        WSF_LOG_ERROR_MSG(Environment::getEnv()->log, WSF_LOG_SI,
+                              "Failed in building adb object for checkIn : "
+                              "Expected %s but returned %s",
+                              axutil_qname_to_string(qname, Environment::getEnv()),
+                              axutil_qname_to_string(mqname, Environment::getEnv()));
+                        
+                        return AXIS2_FAILURE;
+                    }
+                    
+
+                     
+                     /*
+                      * building args0 element
+                      */
+                     
+                     
+                     
+                                   current_node = first_node;
+                                   is_early_node_valid = false;
+                                   
+                                   
+                                    while(current_node && axiom_node_get_node_type(current_node, Environment::getEnv()) != AXIOM_ELEMENT)
+                                    {
+                                        current_node = axiom_node_get_next_sibling(current_node, Environment::getEnv());
+                                    }
+                                    if(current_node != NULL)
+                                    {
+                                        current_element = (axiom_element_t *)axiom_node_get_data_element(current_node, Environment::getEnv());
+                                        mqname = axiom_element_get_qname(current_element, Environment::getEnv(), current_node);
+                                    }
+                                   
+                                 element_qname = axutil_qname_create(Environment::getEnv(), "args0", "http://salome.service.ws_server.splat.org", NULL);
+                                 
+
+                           if ( 
+                                (current_node   && current_element && (axutil_qname_equals(element_qname, Environment::getEnv(), mqname))))
+                           {
+                              if( current_node   && current_element && (axutil_qname_equals(element_qname, Environment::getEnv(), mqname)))
+                              {
+                                is_early_node_valid = true;
+                              }
+                              
+                                 
+                                      text_value = axiom_element_get_text(current_element, Environment::getEnv(), current_node);
+                                      if(text_value != NULL)
+                                      {
+                                            status = setArgs0(text_value);
+                                      }
+                                      
+                                 if(AXIS2_FAILURE ==  status)
+                                 {
+                                     WSF_LOG_ERROR_MSG( Environment::getEnv()->log,WSF_LOG_SI,"failed in setting the value for args0 ");
+                                     if(element_qname)
+                                     {
+                                         axutil_qname_free(element_qname, Environment::getEnv());
+                                     }
+                                     return AXIS2_FAILURE;
+                                 }
+                              }
+                           
+                  if(element_qname)
+                  {
+                     axutil_qname_free(element_qname, Environment::getEnv());
+                     element_qname = NULL;
+                  }
+                 
+
+                     
+                     /*
+                      * building args1 element
+                      */
+                     
+                     
+                     
+                                    /*
+                                     * because elements are ordered this works fine
+                                     */
+                                  
+                                   
+                                   if(current_node != NULL && is_early_node_valid)
+                                   {
+                                       current_node = axiom_node_get_next_sibling(current_node, Environment::getEnv());
+                                       
+                                       
+                                        while(current_node && axiom_node_get_node_type(current_node, Environment::getEnv()) != AXIOM_ELEMENT)
+                                        {
+                                            current_node = axiom_node_get_next_sibling(current_node, Environment::getEnv());
+                                        }
+                                        if(current_node != NULL)
+                                        {
+                                            current_element = (axiom_element_t *)axiom_node_get_data_element(current_node, Environment::getEnv());
+                                            mqname = axiom_element_get_qname(current_element, Environment::getEnv(), current_node);
+                                        }
+                                       
+                                   }
+                                   is_early_node_valid = false;
+                                 
+                                 element_qname = axutil_qname_create(Environment::getEnv(), "args1", "http://salome.service.ws_server.splat.org", NULL);
+                                 
+
+                           if ( 
+                                (current_node   && current_element && (axutil_qname_equals(element_qname, Environment::getEnv(), mqname))))
+                           {
+                              if( current_node   && current_element && (axutil_qname_equals(element_qname, Environment::getEnv(), mqname)))
+                              {
+                                is_early_node_valid = true;
+                              }
+                              
+                                 
+                                      text_value = axiom_element_get_text(current_element, Environment::getEnv(), current_node);
+                                      if(text_value != NULL)
+                                      {
+                                            status = setArgs1(axutil_strtol(text_value, (char**)NULL, 0));
+                                      }
+                                      
+                                      else
+                                      {
+                                          WSF_LOG_ERROR_MSG(Environment::getEnv()->log, WSF_LOG_SI, "NULL value is set to a non nillable element args1");
+                                          status = AXIS2_FAILURE;
+                                      }
+                                      
+                                 if(AXIS2_FAILURE ==  status)
+                                 {
+                                     WSF_LOG_ERROR_MSG( Environment::getEnv()->log,WSF_LOG_SI,"failed in setting the value for args1 ");
+                                     if(element_qname)
+                                     {
+                                         axutil_qname_free(element_qname, Environment::getEnv());
+                                     }
+                                     return AXIS2_FAILURE;
+                                 }
+                              }
+                           
+                  if(element_qname)
+                  {
+                     axutil_qname_free(element_qname, Environment::getEnv());
+                     element_qname = NULL;
+                  }
+                 
+          return status;
+       }
+
+          bool WSF_CALL
+          org_splat_ws_server_service_salome::CheckIn::isParticle()
+          {
+            
+                 return false;
+              
+          }
+
+
+          void WSF_CALL
+          org_splat_ws_server_service_salome::CheckIn::declareParentNamespaces(
+                    axiom_element_t *parent_element,
+                    axutil_hash_t *namespaces, int *next_ns_index)
+          {
+            
+                  /* Here this is an empty function, Nothing to declare */
+                 
+          }
+
+        
+        
+        axiom_node_t* WSF_CALL
+       org_splat_ws_server_service_salome::CheckIn::serialize(axiom_node_t *parent, 
+                       axiom_element_t *parent_element, 
+                       int parent_tag_closed, 
+                       axutil_hash_t *namespaces, 
+                       int *next_ns_index)
+        {
+            
+            
+         
+         axiom_node_t *current_node = NULL;
+         int tag_closed = 0;
+
+         
+         
+                axiom_namespace_t *ns1 = NULL;
+
+                axis2_char_t *qname_uri = NULL;
+                axis2_char_t *qname_prefix = NULL;
+                axis2_char_t *p_prefix = NULL;
+            
+                    axis2_char_t *text_value_1;
+                    axis2_char_t *text_value_1_temp;
+                    
+                    axis2_char_t text_value_2[ADB_DEFAULT_DIGIT_LIMIT];
+                    
+               axis2_char_t *start_input_str = NULL;
+               axis2_char_t *end_input_str = NULL;
+               unsigned int start_input_str_len = 0;
+               unsigned int end_input_str_len = 0;
+            
+            
+               axiom_data_source_t *data_source = NULL;
+               axutil_stream_t *stream = NULL;
+
+             
+                int next_ns_index_value = 0;
+             
+                    namespaces = axutil_hash_make(Environment::getEnv());
+                    next_ns_index = &next_ns_index_value;
+                     
+                           ns1 = axiom_namespace_create (Environment::getEnv(),
+                                             "http://salome.service.ws_server.splat.org",
+                                             "n"); 
+                           axutil_hash_set(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING, axutil_strdup(Environment::getEnv(), "n"));
+                       
+                     
+                    parent_element = axiom_element_create (Environment::getEnv(), NULL, "checkIn", ns1 , &parent);
+                    
+                    
+                    axiom_element_set_namespace(parent_element, Environment::getEnv(), ns1, parent);
+
+
+            
+                    data_source = axiom_data_source_create(Environment::getEnv(), parent, &current_node);
+                    stream = axiom_data_source_get_stream(data_source, Environment::getEnv());
+                  
+                       if(!(p_prefix = (axis2_char_t*)axutil_hash_get(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING)))
+                       {
+                           p_prefix = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof (axis2_char_t) * ADB_DEFAULT_NAMESPACE_PREFIX_LIMIT);
+                           sprintf(p_prefix, "n%d", (*next_ns_index)++);
+                           axutil_hash_set(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING, p_prefix);
+                           
+                           axiom_element_declare_namespace_assume_param_ownership(parent_element, Environment::getEnv(), axiom_namespace_create (Environment::getEnv(),
+                                            "http://salome.service.ws_server.splat.org", p_prefix));
+                       }
+                      
+
+                   if (!isValidArgs0)
+                   {
+                      
+                           /* no need to complain for minoccurs=0 element */
+                            
+                          
+                   }
+                   else
+                   {
+                     start_input_str = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof(axis2_char_t) *
+                                 (4 + axutil_strlen(p_prefix) + 
+                                  axutil_strlen("args0"))); 
+                                 
+                                 /* axutil_strlen("<:>") + 1 = 4 */
+                     end_input_str = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof(axis2_char_t) *
+                                 (5 + axutil_strlen(p_prefix) + axutil_strlen("args0")));
+                                  /* axutil_strlen("</:>") + 1 = 5 */
+                                  
+                     
+
+                   
+                   
+                     
+                     /*
+                      * parsing args0 element
+                      */
+
+                    
+                    
+                            sprintf(start_input_str, "<%s%sargs0>",
+                                 p_prefix?p_prefix:"",
+                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
+                            
+                        start_input_str_len = axutil_strlen(start_input_str);
+                        sprintf(end_input_str, "</%s%sargs0>",
+                                 p_prefix?p_prefix:"",
+                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
+                        end_input_str_len = axutil_strlen(end_input_str);
+                    
+                           text_value_1 = (axis2_char_t*)property_Args0.c_str();
+                           
+                           axutil_stream_write(stream, Environment::getEnv(), start_input_str, start_input_str_len);
+                           
+                            
+                           text_value_1_temp = axutil_xml_quote_string(Environment::getEnv(), text_value_1, true);
+                           if (text_value_1_temp)
+                           {
+                               axutil_stream_write(stream, Environment::getEnv(), text_value_1_temp, axutil_strlen(text_value_1_temp));
+                               AXIS2_FREE(Environment::getEnv()->allocator, text_value_1_temp);
+                           }
+                           else
+                           {
+                               axutil_stream_write(stream, Environment::getEnv(), text_value_1, axutil_strlen(text_value_1));
+                           }
+                           
+                           axutil_stream_write(stream, Environment::getEnv(), end_input_str, end_input_str_len);
+                           
+                     
+                     AXIS2_FREE(Environment::getEnv()->allocator,start_input_str);
+                     AXIS2_FREE(Environment::getEnv()->allocator,end_input_str);
+                 } 
+
+                 
+                       if(!(p_prefix = (axis2_char_t*)axutil_hash_get(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING)))
+                       {
+                           p_prefix = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof (axis2_char_t) * ADB_DEFAULT_NAMESPACE_PREFIX_LIMIT);
+                           sprintf(p_prefix, "n%d", (*next_ns_index)++);
+                           axutil_hash_set(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING, p_prefix);
+                           
+                           axiom_element_declare_namespace_assume_param_ownership(parent_element, Environment::getEnv(), axiom_namespace_create (Environment::getEnv(),
+                                            "http://salome.service.ws_server.splat.org", p_prefix));
+                       }
+                      
+
+                   if (!isValidArgs1)
+                   {
+                      
+                           /* no need to complain for minoccurs=0 element */
+                            
+                          
+                   }
+                   else
+                   {
+                     start_input_str = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof(axis2_char_t) *
+                                 (4 + axutil_strlen(p_prefix) + 
+                                  axutil_strlen("args1"))); 
+                                 
+                                 /* axutil_strlen("<:>") + 1 = 4 */
+                     end_input_str = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof(axis2_char_t) *
+                                 (5 + axutil_strlen(p_prefix) + axutil_strlen("args1")));
+                                  /* axutil_strlen("</:>") + 1 = 5 */
+                                  
+                     
+
+                   
+                   
+                     
+                     /*
+                      * parsing args1 element
+                      */
+
+                    
+                    
+                            sprintf(start_input_str, "<%s%sargs1>",
+                                 p_prefix?p_prefix:"",
+                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
+                            
+                        start_input_str_len = axutil_strlen(start_input_str);
+                        sprintf(end_input_str, "</%s%sargs1>",
+                                 p_prefix?p_prefix:"",
+                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
+                        end_input_str_len = axutil_strlen(end_input_str);
+                    
+                               sprintf (text_value_2, AXIS2_PRINTF_INT64_FORMAT_SPECIFIER, (int64_t) property_Args1);
+                             
+                           axutil_stream_write(stream, Environment::getEnv(), start_input_str, start_input_str_len);
+                           
+                           axutil_stream_write(stream, Environment::getEnv(), text_value_2, axutil_strlen(text_value_2));
+                           
+                           axutil_stream_write(stream, Environment::getEnv(), end_input_str, end_input_str_len);
+                           
+                     
+                     AXIS2_FREE(Environment::getEnv()->allocator,start_input_str);
+                     AXIS2_FREE(Environment::getEnv()->allocator,end_input_str);
+                 } 
+
+                 
+                   if(namespaces)
+                   {
+                       axutil_hash_index_t *hi;
+                       void *val;
+                       for (hi = axutil_hash_first(namespaces, Environment::getEnv()); hi; hi = axutil_hash_next(Environment::getEnv(), hi))
+                       {
+                           axutil_hash_this(hi, NULL, NULL, &val);
+                           AXIS2_FREE(Environment::getEnv()->allocator, val);
+                       }
+                       axutil_hash_free(namespaces, Environment::getEnv());
+                   }
+                
+
+            return parent;
+        }
+
+
+        
+
+            /**
+             * Getter for args0 by  Property Number 1
+             */
+            std::string WSF_CALL
+            org_splat_ws_server_service_salome::CheckIn::getProperty1()
+            {
+                return getArgs0();
+            }
+
+            /**
+             * getter for args0.
+             */
+            std::string WSF_CALL
+            org_splat_ws_server_service_salome::CheckIn::getArgs0()
+             {
+                return property_Args0;
+             }
+
+            /**
+             * setter for args0
+             */
+            bool WSF_CALL
+            org_splat_ws_server_service_salome::CheckIn::setArgs0(
+                    const std::string  arg_Args0)
+             {
+                
+
+                if(isValidArgs0 &&
+                        arg_Args0 == property_Args0)
+                {
+                    
+                    return true;
+                }
+
+                
+
+                
+                resetArgs0();
+
+                
+                        property_Args0 = std::string(arg_Args0.c_str());
+                        isValidArgs0 = true;
+                    
+                return true;
+             }
+
+             
+
+           /**
+            * resetter for args0
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::CheckIn::resetArgs0()
+           {
+               int i = 0;
+               int count = 0;
+
+
+               
+               isValidArgs0 = false; 
+               return true;
+           }
+
+           /**
+            * Check whether args0 is nill
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::CheckIn::isArgs0Nil()
+           {
+               return !isValidArgs0;
+           }
+
+           /**
+            * Set args0 to nill (currently the same as reset)
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::CheckIn::setArgs0Nil()
+           {
+               return resetArgs0();
+           }
+
+           
+
+            /**
+             * Getter for args1 by  Property Number 2
+             */
+            int64_t WSF_CALL
+            org_splat_ws_server_service_salome::CheckIn::getProperty2()
+            {
+                return getArgs1();
+            }
+
+            /**
+             * getter for args1.
+             */
+            int64_t WSF_CALL
+            org_splat_ws_server_service_salome::CheckIn::getArgs1()
+             {
+                return property_Args1;
+             }
+
+            /**
+             * setter for args1
+             */
+            bool WSF_CALL
+            org_splat_ws_server_service_salome::CheckIn::setArgs1(
+                    const int64_t  arg_Args1)
+             {
+                
+
+                if(isValidArgs1 &&
+                        arg_Args1 == property_Args1)
+                {
+                    
+                    return true;
+                }
+
+                
+
+                
+                resetArgs1();
+
+                
+                        property_Args1 = arg_Args1;
+                        isValidArgs1 = true;
+                    
+                return true;
+             }
+
+             
+
+           /**
+            * resetter for args1
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::CheckIn::resetArgs1()
+           {
+               int i = 0;
+               int count = 0;
+
+
+               
+               isValidArgs1 = false; 
+               return true;
+           }
+
+           /**
+            * Check whether args1 is nill
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::CheckIn::isArgs1Nil()
+           {
+               return !isValidArgs1;
+           }
+
+           /**
+            * Set args1 to nill (currently the same as reset)
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::CheckIn::setArgs1Nil()
+           {
+               return resetArgs1();
+           }
+
+           
+
diff --git a/src/CheckIn.h b/src/CheckIn.h
new file mode 100644 (file)
index 0000000..091f652
--- /dev/null
@@ -0,0 +1,258 @@
+
+
+        #ifndef CHECKIN_H
+        #define CHECKIN_H
+
+       /**
+        * CheckIn.h
+        *
+        * This file was auto-generated from WSDL
+        * by the Apache Axis2/Java version: 1.0  Built on : Nov 21, 2012 (02:43:12 MSK)
+        */
+
+       /**
+        *  CheckIn class
+        */
+
+        namespace org_splat_ws_server_service_salome{
+            class CheckIn;
+        }
+        
+
+        
+        #include <axutil_qname.h>
+        
+
+        #include <stdio.h>
+        #include <OMElement.h>
+        #include <ServiceClient.h>
+        #include <ADBDefines.h>
+
+namespace org_splat_ws_server_service_salome
+{
+        
+        
+
+        class CheckIn {
+
+        private:
+             
+                axutil_qname_t* qname;
+            std::string property_Args0;
+
+                
+                bool isValidArgs0;
+            int64_t property_Args1;
+
+                
+                bool isValidArgs1;
+            
+
+        /*** Private methods ***/
+          
+
+        bool WSF_CALL
+        setArgs1Nil();
+            
+
+
+
+        /******************************* public functions *********************************/
+
+        public:
+
+        /**
+         * Constructor for class CheckIn
+         */
+
+        CheckIn();
+
+        /**
+         * Destructor CheckIn
+         */
+        ~CheckIn();
+
+
+       
+
+        /**
+         * Constructor for creating CheckIn
+         * @param 
+         * @param Args0 std::string
+         * @param Args1 int64_t
+         * @return newly created CheckIn object
+         */
+        CheckIn(std::string arg_Args0,int64_t arg_Args1);
+        
+        
+        /********************************** Class get set methods **************************************/
+        
+        
+
+        /**
+         * Getter for args0. 
+         * @return std::string*
+         */
+        WSF_EXTERN std::string WSF_CALL
+        getArgs0();
+
+        /**
+         * Setter for args0.
+         * @param arg_Args0 std::string*
+         * @return true on success, false otherwise
+         */
+        WSF_EXTERN bool WSF_CALL
+        setArgs0(const std::string  arg_Args0);
+
+        /**
+         * Re setter for args0
+         * @return true on success, false
+         */
+        WSF_EXTERN bool WSF_CALL
+        resetArgs0();
+        
+        
+
+        /**
+         * Getter for args1. 
+         * @return int64_t*
+         */
+        WSF_EXTERN int64_t WSF_CALL
+        getArgs1();
+
+        /**
+         * Setter for args1.
+         * @param arg_Args1 int64_t*
+         * @return true on success, false otherwise
+         */
+        WSF_EXTERN bool WSF_CALL
+        setArgs1(const int64_t  arg_Args1);
+
+        /**
+         * Re setter for args1
+         * @return true on success, false
+         */
+        WSF_EXTERN bool WSF_CALL
+        resetArgs1();
+        
+
+
+        /******************************* Checking and Setting NIL values *********************************/
+        
+
+        /**
+         * NOTE: set_nil is only available for nillable properties
+         */
+
+        
+
+        /**
+         * Check whether args0 is Nill
+         * @return true if the element is Nil, false otherwise
+         */
+        bool WSF_CALL
+        isArgs0Nil();
+
+
+        
+        /**
+         * Set args0 to Nill (same as using reset)
+         * @return true on success, false otherwise.
+         */
+        bool WSF_CALL
+        setArgs0Nil();
+        
+
+        /**
+         * Check whether args1 is Nill
+         * @return true if the element is Nil, false otherwise
+         */
+        bool WSF_CALL
+        isArgs1Nil();
+
+
+        
+
+        /**************************** Serialize and De serialize functions ***************************/
+        /*********** These functions are for use only inside the generated code *********************/
+
+        
+        /**
+         * Deserialize the ADB object to an XML
+         * @param dp_parent double pointer to the parent node to be deserialized
+         * @param dp_is_early_node_valid double pointer to a flag (is_early_node_valid?)
+         * @param dont_care_minoccurs Dont set errors on validating minoccurs, 
+         *              (Parent will order this in a case of choice)
+         * @return true on success, false otherwise
+         */
+        bool WSF_CALL
+        deserialize(axiom_node_t** omNode, bool *isEarlyNodeValid, bool dontCareMinoccurs);
+                         
+            
+
+       /**
+         * Declare namespace in the most parent node 
+         * @param parent_element parent element
+         * @param namespaces hash of namespace uri to prefix
+         * @param next_ns_index pointer to an int which contain the next namespace index
+         */
+        void WSF_CALL
+        declareParentNamespaces(axiom_element_t *parent_element, axutil_hash_t *namespaces, int *next_ns_index);
+
+
+        
+
+        /**
+         * Serialize the ADB object to an xml
+         * @param CheckIn_om_node node to serialize from
+         * @param CheckIn_om_element parent element to serialize from
+         * @param tag_closed Whether the parent tag is closed or not
+         * @param namespaces hash of namespace uris to prefixes
+         * @param next_ns_index an int which contains the next namespace index
+         * @return axiom_node_t on success,NULL otherwise.
+         */
+        axiom_node_t* WSF_CALL
+        serialize(axiom_node_t* CheckIn_om_node, axiom_element_t *CheckIn_om_element, int tag_closed, axutil_hash_t *namespaces, int *next_ns_index);
+
+        /**
+         * Check whether the CheckIn is a particle class (E.g. group, inner sequence)
+         * @return true if this is a particle class, false otherwise.
+         */
+        bool WSF_CALL
+        isParticle();
+
+
+
+        /******************************* get the value by the property number  *********************************/
+        /************NOTE: This method is introduced to resolve a problem in unwrapping mode *******************/
+
+      
+        
+
+        /**
+         * Getter for args0 by property number (1)
+         * @return std::string
+         */
+
+        std::string WSF_CALL
+        getProperty1();
+
+    
+        
+
+        /**
+         * Getter for args1 by property number (2)
+         * @return int64_t
+         */
+
+        int64_t WSF_CALL
+        getProperty2();
+
+    
+
+};
+
+}        
+ #endif /* CHECKIN_H */
+    
+
diff --git a/src/CheckInResponse.cpp b/src/CheckInResponse.cpp
new file mode 100644 (file)
index 0000000..0bf5897
--- /dev/null
@@ -0,0 +1,422 @@
+
+
+        /**
+         * CheckInResponse.cpp
+         *
+         * This file was auto-generated from WSDL
+         * by the Apache Axis2/C version: SNAPSHOT  Built on : Mar 10, 2008 (08:35:52 GMT+00:00)
+         */
+
+        #include "CheckInResponse.h"
+        #include <Environment.h>
+        #include <WSFError.h>
+
+
+        using namespace wso2wsf;
+        using namespace std;
+        
+        using namespace org_splat_ws_server_service_salome;
+        
+               /*
+                * Implementation of the checkInResponse|http://salome.service.ws_server.splat.org Element
+                */
+           org_splat_ws_server_service_salome::CheckInResponse::CheckInResponse()
+        {
+
+        
+            qname = NULL;
+        
+                    property__return;
+                
+            isValid_return  = false;
+        
+                  qname =  axutil_qname_create (Environment::getEnv(),
+                        "checkInResponse",
+                        "http://salome.service.ws_server.splat.org",
+                        NULL);
+                
+        }
+
+       org_splat_ws_server_service_salome::CheckInResponse::CheckInResponse(std::string arg__return)
+        {
+             
+                   qname = NULL;
+             
+                 property__return;
+             
+            isValid_return  = true;
+            
+                 qname =  axutil_qname_create (Environment::getEnv(),
+                       "checkInResponse",
+                       "http://salome.service.ws_server.splat.org",
+                       NULL);
+               
+                    property__return = arg__return;
+            
+        }
+        org_splat_ws_server_service_salome::CheckInResponse::~CheckInResponse()
+        {
+
+        }
+
+        
+
+        bool WSF_CALL
+        org_splat_ws_server_service_salome::CheckInResponse::deserialize(axiom_node_t** dp_parent,bool *dp_is_early_node_valid, bool dont_care_minoccurs)
+        {
+          axiom_node_t *parent = *dp_parent;
+          
+          bool status = AXIS2_SUCCESS;
+           
+         const axis2_char_t* text_value = NULL;
+         axutil_qname_t *mqname = NULL;
+          
+            axutil_qname_t *element_qname = NULL; 
+            
+               axiom_node_t *first_node = NULL;
+               bool is_early_node_valid = true;
+               axiom_node_t *current_node = NULL;
+               axiom_element_t *current_element = NULL;
+            
+              
+              while(parent && axiom_node_get_node_type(parent, Environment::getEnv()) != AXIOM_ELEMENT)
+              {
+                  parent = axiom_node_get_next_sibling(parent, Environment::getEnv());
+              }
+              if (NULL == parent)
+              {   
+                return AXIS2_FAILURE;
+              }
+              
+
+                    current_element = (axiom_element_t *)axiom_node_get_data_element(parent, Environment::getEnv());
+                    mqname = axiom_element_get_qname(current_element, Environment::getEnv(), parent);
+                    if (axutil_qname_equals(mqname, Environment::getEnv(), this->qname))
+                    {
+                        
+                          first_node = axiom_node_get_first_child(parent, Environment::getEnv());
+                          
+                    }
+                    else
+                    {
+                        WSF_LOG_ERROR_MSG(Environment::getEnv()->log, WSF_LOG_SI,
+                              "Failed in building adb object for checkInResponse : "
+                              "Expected %s but returned %s",
+                              axutil_qname_to_string(qname, Environment::getEnv()),
+                              axutil_qname_to_string(mqname, Environment::getEnv()));
+                        
+                        return AXIS2_FAILURE;
+                    }
+                    
+
+                     
+                     /*
+                      * building return element
+                      */
+                     
+                     
+                     
+                                   current_node = first_node;
+                                   is_early_node_valid = false;
+                                   
+                                   
+                                    while(current_node && axiom_node_get_node_type(current_node, Environment::getEnv()) != AXIOM_ELEMENT)
+                                    {
+                                        current_node = axiom_node_get_next_sibling(current_node, Environment::getEnv());
+                                    }
+                                    if(current_node != NULL)
+                                    {
+                                        current_element = (axiom_element_t *)axiom_node_get_data_element(current_node, Environment::getEnv());
+                                        mqname = axiom_element_get_qname(current_element, Environment::getEnv(), current_node);
+                                    }
+                                   
+                                 element_qname = axutil_qname_create(Environment::getEnv(), "return", "http://salome.service.ws_server.splat.org", NULL);
+                                 
+
+                           if ( 
+                                (current_node   && current_element && (axutil_qname_equals(element_qname, Environment::getEnv(), mqname))))
+                           {
+                              if( current_node   && current_element && (axutil_qname_equals(element_qname, Environment::getEnv(), mqname)))
+                              {
+                                is_early_node_valid = true;
+                              }
+                              
+                                 
+                                      text_value = axiom_element_get_text(current_element, Environment::getEnv(), current_node);
+                                      if(text_value != NULL)
+                                      {
+                                            status = set_return(text_value);
+                                      }
+                                      
+                                 if(AXIS2_FAILURE ==  status)
+                                 {
+                                     WSF_LOG_ERROR_MSG( Environment::getEnv()->log,WSF_LOG_SI,"failed in setting the value for return ");
+                                     if(element_qname)
+                                     {
+                                         axutil_qname_free(element_qname, Environment::getEnv());
+                                     }
+                                     return AXIS2_FAILURE;
+                                 }
+                              }
+                           
+                  if(element_qname)
+                  {
+                     axutil_qname_free(element_qname, Environment::getEnv());
+                     element_qname = NULL;
+                  }
+                 
+          return status;
+       }
+
+          bool WSF_CALL
+          org_splat_ws_server_service_salome::CheckInResponse::isParticle()
+          {
+            
+                 return false;
+              
+          }
+
+
+          void WSF_CALL
+          org_splat_ws_server_service_salome::CheckInResponse::declareParentNamespaces(
+                    axiom_element_t *parent_element,
+                    axutil_hash_t *namespaces, int *next_ns_index)
+          {
+            
+                  /* Here this is an empty function, Nothing to declare */
+                 
+          }
+
+        
+        
+        axiom_node_t* WSF_CALL
+       org_splat_ws_server_service_salome::CheckInResponse::serialize(axiom_node_t *parent, 
+                       axiom_element_t *parent_element, 
+                       int parent_tag_closed, 
+                       axutil_hash_t *namespaces, 
+                       int *next_ns_index)
+        {
+            
+            
+         
+         axiom_node_t *current_node = NULL;
+         int tag_closed = 0;
+
+         
+         
+                axiom_namespace_t *ns1 = NULL;
+
+                axis2_char_t *qname_uri = NULL;
+                axis2_char_t *qname_prefix = NULL;
+                axis2_char_t *p_prefix = NULL;
+            
+                    axis2_char_t *text_value_1;
+                    axis2_char_t *text_value_1_temp;
+                    
+               axis2_char_t *start_input_str = NULL;
+               axis2_char_t *end_input_str = NULL;
+               unsigned int start_input_str_len = 0;
+               unsigned int end_input_str_len = 0;
+            
+            
+               axiom_data_source_t *data_source = NULL;
+               axutil_stream_t *stream = NULL;
+
+             
+                int next_ns_index_value = 0;
+             
+                    namespaces = axutil_hash_make(Environment::getEnv());
+                    next_ns_index = &next_ns_index_value;
+                     
+                           ns1 = axiom_namespace_create (Environment::getEnv(),
+                                             "http://salome.service.ws_server.splat.org",
+                                             "n"); 
+                           axutil_hash_set(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING, axutil_strdup(Environment::getEnv(), "n"));
+                       
+                     
+                    parent_element = axiom_element_create (Environment::getEnv(), NULL, "checkInResponse", ns1 , &parent);
+                    
+                    
+                    axiom_element_set_namespace(parent_element, Environment::getEnv(), ns1, parent);
+
+
+            
+                    data_source = axiom_data_source_create(Environment::getEnv(), parent, &current_node);
+                    stream = axiom_data_source_get_stream(data_source, Environment::getEnv());
+                  
+                       if(!(p_prefix = (axis2_char_t*)axutil_hash_get(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING)))
+                       {
+                           p_prefix = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof (axis2_char_t) * ADB_DEFAULT_NAMESPACE_PREFIX_LIMIT);
+                           sprintf(p_prefix, "n%d", (*next_ns_index)++);
+                           axutil_hash_set(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING, p_prefix);
+                           
+                           axiom_element_declare_namespace_assume_param_ownership(parent_element, Environment::getEnv(), axiom_namespace_create (Environment::getEnv(),
+                                            "http://salome.service.ws_server.splat.org", p_prefix));
+                       }
+                      
+
+                   if (!isValid_return)
+                   {
+                      
+                           /* no need to complain for minoccurs=0 element */
+                            
+                          
+                   }
+                   else
+                   {
+                     start_input_str = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof(axis2_char_t) *
+                                 (4 + axutil_strlen(p_prefix) + 
+                                  axutil_strlen("return"))); 
+                                 
+                                 /* axutil_strlen("<:>") + 1 = 4 */
+                     end_input_str = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof(axis2_char_t) *
+                                 (5 + axutil_strlen(p_prefix) + axutil_strlen("return")));
+                                  /* axutil_strlen("</:>") + 1 = 5 */
+                                  
+                     
+
+                   
+                   
+                     
+                     /*
+                      * parsing return element
+                      */
+
+                    
+                    
+                            sprintf(start_input_str, "<%s%sreturn>",
+                                 p_prefix?p_prefix:"",
+                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
+                            
+                        start_input_str_len = axutil_strlen(start_input_str);
+                        sprintf(end_input_str, "</%s%sreturn>",
+                                 p_prefix?p_prefix:"",
+                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
+                        end_input_str_len = axutil_strlen(end_input_str);
+                    
+                           text_value_1 = (axis2_char_t*)property__return.c_str();
+                           
+                           axutil_stream_write(stream, Environment::getEnv(), start_input_str, start_input_str_len);
+                           
+                            
+                           text_value_1_temp = axutil_xml_quote_string(Environment::getEnv(), text_value_1, true);
+                           if (text_value_1_temp)
+                           {
+                               axutil_stream_write(stream, Environment::getEnv(), text_value_1_temp, axutil_strlen(text_value_1_temp));
+                               AXIS2_FREE(Environment::getEnv()->allocator, text_value_1_temp);
+                           }
+                           else
+                           {
+                               axutil_stream_write(stream, Environment::getEnv(), text_value_1, axutil_strlen(text_value_1));
+                           }
+                           
+                           axutil_stream_write(stream, Environment::getEnv(), end_input_str, end_input_str_len);
+                           
+                     
+                     AXIS2_FREE(Environment::getEnv()->allocator,start_input_str);
+                     AXIS2_FREE(Environment::getEnv()->allocator,end_input_str);
+                 } 
+
+                 
+                   if(namespaces)
+                   {
+                       axutil_hash_index_t *hi;
+                       void *val;
+                       for (hi = axutil_hash_first(namespaces, Environment::getEnv()); hi; hi = axutil_hash_next(Environment::getEnv(), hi))
+                       {
+                           axutil_hash_this(hi, NULL, NULL, &val);
+                           AXIS2_FREE(Environment::getEnv()->allocator, val);
+                       }
+                       axutil_hash_free(namespaces, Environment::getEnv());
+                   }
+                
+
+            return parent;
+        }
+
+
+        
+
+            /**
+             * Getter for return by  Property Number 1
+             */
+            std::string WSF_CALL
+            org_splat_ws_server_service_salome::CheckInResponse::getProperty1()
+            {
+                return get_return();
+            }
+
+            /**
+             * getter for return.
+             */
+            std::string WSF_CALL
+            org_splat_ws_server_service_salome::CheckInResponse::get_return()
+             {
+                return property__return;
+             }
+
+            /**
+             * setter for return
+             */
+            bool WSF_CALL
+            org_splat_ws_server_service_salome::CheckInResponse::set_return(
+                    const std::string  arg__return)
+             {
+                
+
+                if(isValid_return &&
+                        arg__return == property__return)
+                {
+                    
+                    return true;
+                }
+
+                
+
+                
+                reset_return();
+
+                
+                        property__return = std::string(arg__return.c_str());
+                        isValid_return = true;
+                    
+                return true;
+             }
+
+             
+
+           /**
+            * resetter for return
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::CheckInResponse::reset_return()
+           {
+               int i = 0;
+               int count = 0;
+
+
+               
+               isValid_return = false; 
+               return true;
+           }
+
+           /**
+            * Check whether return is nill
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::CheckInResponse::is_returnNil()
+           {
+               return !isValid_return;
+           }
+
+           /**
+            * Set return to nill (currently the same as reset)
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::CheckInResponse::set_returnNil()
+           {
+               return reset_return();
+           }
+
+           
+
diff --git a/src/CheckInResponse.h b/src/CheckInResponse.h
new file mode 100644 (file)
index 0000000..d156058
--- /dev/null
@@ -0,0 +1,204 @@
+
+
+        #ifndef CHECKINRESPONSE_H
+        #define CHECKINRESPONSE_H
+
+       /**
+        * CheckInResponse.h
+        *
+        * This file was auto-generated from WSDL
+        * by the Apache Axis2/Java version: 1.0  Built on : Nov 21, 2012 (02:43:12 MSK)
+        */
+
+       /**
+        *  CheckInResponse class
+        */
+
+        namespace org_splat_ws_server_service_salome{
+            class CheckInResponse;
+        }
+        
+
+        
+        #include <axutil_qname.h>
+        
+
+        #include <stdio.h>
+        #include <OMElement.h>
+        #include <ServiceClient.h>
+        #include <ADBDefines.h>
+
+namespace org_splat_ws_server_service_salome
+{
+        
+        
+
+        class CheckInResponse {
+
+        private:
+             
+                axutil_qname_t* qname;
+            std::string property__return;
+
+                
+                bool isValid_return;
+            
+
+        /*** Private methods ***/
+          
+
+
+
+        /******************************* public functions *********************************/
+
+        public:
+
+        /**
+         * Constructor for class CheckInResponse
+         */
+
+        CheckInResponse();
+
+        /**
+         * Destructor CheckInResponse
+         */
+        ~CheckInResponse();
+
+
+       
+
+        /**
+         * Constructor for creating CheckInResponse
+         * @param 
+         * @param _return std::string
+         * @return newly created CheckInResponse object
+         */
+        CheckInResponse(std::string arg__return);
+        
+        
+        /********************************** Class get set methods **************************************/
+        
+        
+
+        /**
+         * Getter for return. 
+         * @return std::string*
+         */
+        WSF_EXTERN std::string WSF_CALL
+        get_return();
+
+        /**
+         * Setter for return.
+         * @param arg__return std::string*
+         * @return true on success, false otherwise
+         */
+        WSF_EXTERN bool WSF_CALL
+        set_return(const std::string  arg__return);
+
+        /**
+         * Re setter for return
+         * @return true on success, false
+         */
+        WSF_EXTERN bool WSF_CALL
+        reset_return();
+        
+
+
+        /******************************* Checking and Setting NIL values *********************************/
+        
+
+        /**
+         * NOTE: set_nil is only available for nillable properties
+         */
+
+        
+
+        /**
+         * Check whether return is Nill
+         * @return true if the element is Nil, false otherwise
+         */
+        bool WSF_CALL
+        is_returnNil();
+
+
+        
+        /**
+         * Set return to Nill (same as using reset)
+         * @return true on success, false otherwise.
+         */
+        bool WSF_CALL
+        set_returnNil();
+        
+
+        /**************************** Serialize and De serialize functions ***************************/
+        /*********** These functions are for use only inside the generated code *********************/
+
+        
+        /**
+         * Deserialize the ADB object to an XML
+         * @param dp_parent double pointer to the parent node to be deserialized
+         * @param dp_is_early_node_valid double pointer to a flag (is_early_node_valid?)
+         * @param dont_care_minoccurs Dont set errors on validating minoccurs, 
+         *              (Parent will order this in a case of choice)
+         * @return true on success, false otherwise
+         */
+        bool WSF_CALL
+        deserialize(axiom_node_t** omNode, bool *isEarlyNodeValid, bool dontCareMinoccurs);
+                         
+            
+
+       /**
+         * Declare namespace in the most parent node 
+         * @param parent_element parent element
+         * @param namespaces hash of namespace uri to prefix
+         * @param next_ns_index pointer to an int which contain the next namespace index
+         */
+        void WSF_CALL
+        declareParentNamespaces(axiom_element_t *parent_element, axutil_hash_t *namespaces, int *next_ns_index);
+
+
+        
+
+        /**
+         * Serialize the ADB object to an xml
+         * @param CheckInResponse_om_node node to serialize from
+         * @param CheckInResponse_om_element parent element to serialize from
+         * @param tag_closed Whether the parent tag is closed or not
+         * @param namespaces hash of namespace uris to prefixes
+         * @param next_ns_index an int which contains the next namespace index
+         * @return axiom_node_t on success,NULL otherwise.
+         */
+        axiom_node_t* WSF_CALL
+        serialize(axiom_node_t* CheckInResponse_om_node, axiom_element_t *CheckInResponse_om_element, int tag_closed, axutil_hash_t *namespaces, int *next_ns_index);
+
+        /**
+         * Check whether the CheckInResponse is a particle class (E.g. group, inner sequence)
+         * @return true if this is a particle class, false otherwise.
+         */
+        bool WSF_CALL
+        isParticle();
+
+
+
+        /******************************* get the value by the property number  *********************************/
+        /************NOTE: This method is introduced to resolve a problem in unwrapping mode *******************/
+
+      
+        
+
+        /**
+         * Getter for return by property number (1)
+         * @return std::string
+         */
+
+        std::string WSF_CALL
+        getProperty1();
+
+    
+
+};
+
+}        
+ #endif /* CHECKINRESPONSE_H */
+    
+
diff --git a/src/CreateConfigFile.cpp b/src/CreateConfigFile.cpp
new file mode 100644 (file)
index 0000000..6943243
--- /dev/null
@@ -0,0 +1,867 @@
+
+
+        /**
+         * CreateConfigFile.cpp
+         *
+         * This file was auto-generated from WSDL
+         * by the Apache Axis2/C version: SNAPSHOT  Built on : Mar 10, 2008 (08:35:52 GMT+00:00)
+         */
+
+        #include "CreateConfigFile.h"
+        #include <Environment.h>
+        #include <WSFError.h>
+
+
+        using namespace wso2wsf;
+        using namespace std;
+        
+        using namespace org_splat_ws_server_service_salome;
+        
+               /*
+                * Implementation of the createConfigFile|http://salome.service.ws_server.splat.org Element
+                */
+           org_splat_ws_server_service_salome::CreateConfigFile::CreateConfigFile()
+        {
+
+        
+            qname = NULL;
+        
+            isValidArgs0  = false;
+        
+            isValidArgs1  = false;
+        
+            isValidArgs2  = false;
+        
+                  qname =  axutil_qname_create (Environment::getEnv(),
+                        "createConfigFile",
+                        "http://salome.service.ws_server.splat.org",
+                        NULL);
+                
+        }
+
+       org_splat_ws_server_service_salome::CreateConfigFile::CreateConfigFile(int64_t arg_Args0,int64_t arg_Args1,int64_t arg_Args2)
+        {
+             
+                   qname = NULL;
+             
+            isValidArgs0  = true;
+            
+            isValidArgs1  = true;
+            
+            isValidArgs2  = true;
+            
+                 qname =  axutil_qname_create (Environment::getEnv(),
+                       "createConfigFile",
+                       "http://salome.service.ws_server.splat.org",
+                       NULL);
+               
+                    property_Args0 = arg_Args0;
+            
+                    property_Args1 = arg_Args1;
+            
+                    property_Args2 = arg_Args2;
+            
+        }
+        org_splat_ws_server_service_salome::CreateConfigFile::~CreateConfigFile()
+        {
+
+        }
+
+        
+
+        bool WSF_CALL
+        org_splat_ws_server_service_salome::CreateConfigFile::deserialize(axiom_node_t** dp_parent,bool *dp_is_early_node_valid, bool dont_care_minoccurs)
+        {
+          axiom_node_t *parent = *dp_parent;
+          
+          bool status = AXIS2_SUCCESS;
+           
+         const axis2_char_t* text_value = NULL;
+         axutil_qname_t *mqname = NULL;
+          
+            axutil_qname_t *element_qname = NULL; 
+            
+               axiom_node_t *first_node = NULL;
+               bool is_early_node_valid = true;
+               axiom_node_t *current_node = NULL;
+               axiom_element_t *current_element = NULL;
+            
+              
+              while(parent && axiom_node_get_node_type(parent, Environment::getEnv()) != AXIOM_ELEMENT)
+              {
+                  parent = axiom_node_get_next_sibling(parent, Environment::getEnv());
+              }
+              if (NULL == parent)
+              {   
+                return AXIS2_FAILURE;
+              }
+              
+
+                    current_element = (axiom_element_t *)axiom_node_get_data_element(parent, Environment::getEnv());
+                    mqname = axiom_element_get_qname(current_element, Environment::getEnv(), parent);
+                    if (axutil_qname_equals(mqname, Environment::getEnv(), this->qname))
+                    {
+                        
+                          first_node = axiom_node_get_first_child(parent, Environment::getEnv());
+                          
+                    }
+                    else
+                    {
+                        WSF_LOG_ERROR_MSG(Environment::getEnv()->log, WSF_LOG_SI,
+                              "Failed in building adb object for createConfigFile : "
+                              "Expected %s but returned %s",
+                              axutil_qname_to_string(qname, Environment::getEnv()),
+                              axutil_qname_to_string(mqname, Environment::getEnv()));
+                        
+                        return AXIS2_FAILURE;
+                    }
+                    
+
+                     
+                     /*
+                      * building args0 element
+                      */
+                     
+                     
+                     
+                                   current_node = first_node;
+                                   is_early_node_valid = false;
+                                   
+                                   
+                                    while(current_node && axiom_node_get_node_type(current_node, Environment::getEnv()) != AXIOM_ELEMENT)
+                                    {
+                                        current_node = axiom_node_get_next_sibling(current_node, Environment::getEnv());
+                                    }
+                                    if(current_node != NULL)
+                                    {
+                                        current_element = (axiom_element_t *)axiom_node_get_data_element(current_node, Environment::getEnv());
+                                        mqname = axiom_element_get_qname(current_element, Environment::getEnv(), current_node);
+                                    }
+                                   
+                                 element_qname = axutil_qname_create(Environment::getEnv(), "args0", "http://salome.service.ws_server.splat.org", NULL);
+                                 
+
+                           if ( 
+                                (current_node   && current_element && (axutil_qname_equals(element_qname, Environment::getEnv(), mqname))))
+                           {
+                              if( current_node   && current_element && (axutil_qname_equals(element_qname, Environment::getEnv(), mqname)))
+                              {
+                                is_early_node_valid = true;
+                              }
+                              
+                                 
+                                      text_value = axiom_element_get_text(current_element, Environment::getEnv(), current_node);
+                                      if(text_value != NULL)
+                                      {
+                                            status = setArgs0(axutil_strtol(text_value, (char**)NULL, 0));
+                                      }
+                                      
+                                      else
+                                      {
+                                          WSF_LOG_ERROR_MSG(Environment::getEnv()->log, WSF_LOG_SI, "NULL value is set to a non nillable element args0");
+                                          status = AXIS2_FAILURE;
+                                      }
+                                      
+                                 if(AXIS2_FAILURE ==  status)
+                                 {
+                                     WSF_LOG_ERROR_MSG( Environment::getEnv()->log,WSF_LOG_SI,"failed in setting the value for args0 ");
+                                     if(element_qname)
+                                     {
+                                         axutil_qname_free(element_qname, Environment::getEnv());
+                                     }
+                                     return AXIS2_FAILURE;
+                                 }
+                              }
+                           
+                  if(element_qname)
+                  {
+                     axutil_qname_free(element_qname, Environment::getEnv());
+                     element_qname = NULL;
+                  }
+                 
+
+                     
+                     /*
+                      * building args1 element
+                      */
+                     
+                     
+                     
+                                    /*
+                                     * because elements are ordered this works fine
+                                     */
+                                  
+                                   
+                                   if(current_node != NULL && is_early_node_valid)
+                                   {
+                                       current_node = axiom_node_get_next_sibling(current_node, Environment::getEnv());
+                                       
+                                       
+                                        while(current_node && axiom_node_get_node_type(current_node, Environment::getEnv()) != AXIOM_ELEMENT)
+                                        {
+                                            current_node = axiom_node_get_next_sibling(current_node, Environment::getEnv());
+                                        }
+                                        if(current_node != NULL)
+                                        {
+                                            current_element = (axiom_element_t *)axiom_node_get_data_element(current_node, Environment::getEnv());
+                                            mqname = axiom_element_get_qname(current_element, Environment::getEnv(), current_node);
+                                        }
+                                       
+                                   }
+                                   is_early_node_valid = false;
+                                 
+                                 element_qname = axutil_qname_create(Environment::getEnv(), "args1", "http://salome.service.ws_server.splat.org", NULL);
+                                 
+
+                           if ( 
+                                (current_node   && current_element && (axutil_qname_equals(element_qname, Environment::getEnv(), mqname))))
+                           {
+                              if( current_node   && current_element && (axutil_qname_equals(element_qname, Environment::getEnv(), mqname)))
+                              {
+                                is_early_node_valid = true;
+                              }
+                              
+                                 
+                                      text_value = axiom_element_get_text(current_element, Environment::getEnv(), current_node);
+                                      if(text_value != NULL)
+                                      {
+                                            status = setArgs1(axutil_strtol(text_value, (char**)NULL, 0));
+                                      }
+                                      
+                                      else
+                                      {
+                                          WSF_LOG_ERROR_MSG(Environment::getEnv()->log, WSF_LOG_SI, "NULL value is set to a non nillable element args1");
+                                          status = AXIS2_FAILURE;
+                                      }
+                                      
+                                 if(AXIS2_FAILURE ==  status)
+                                 {
+                                     WSF_LOG_ERROR_MSG( Environment::getEnv()->log,WSF_LOG_SI,"failed in setting the value for args1 ");
+                                     if(element_qname)
+                                     {
+                                         axutil_qname_free(element_qname, Environment::getEnv());
+                                     }
+                                     return AXIS2_FAILURE;
+                                 }
+                              }
+                           
+                  if(element_qname)
+                  {
+                     axutil_qname_free(element_qname, Environment::getEnv());
+                     element_qname = NULL;
+                  }
+                 
+
+                     
+                     /*
+                      * building args2 element
+                      */
+                     
+                     
+                     
+                                    /*
+                                     * because elements are ordered this works fine
+                                     */
+                                  
+                                   
+                                   if(current_node != NULL && is_early_node_valid)
+                                   {
+                                       current_node = axiom_node_get_next_sibling(current_node, Environment::getEnv());
+                                       
+                                       
+                                        while(current_node && axiom_node_get_node_type(current_node, Environment::getEnv()) != AXIOM_ELEMENT)
+                                        {
+                                            current_node = axiom_node_get_next_sibling(current_node, Environment::getEnv());
+                                        }
+                                        if(current_node != NULL)
+                                        {
+                                            current_element = (axiom_element_t *)axiom_node_get_data_element(current_node, Environment::getEnv());
+                                            mqname = axiom_element_get_qname(current_element, Environment::getEnv(), current_node);
+                                        }
+                                       
+                                   }
+                                   is_early_node_valid = false;
+                                 
+                                 element_qname = axutil_qname_create(Environment::getEnv(), "args2", "http://salome.service.ws_server.splat.org", NULL);
+                                 
+
+                           if ( 
+                                (current_node   && current_element && (axutil_qname_equals(element_qname, Environment::getEnv(), mqname))))
+                           {
+                              if( current_node   && current_element && (axutil_qname_equals(element_qname, Environment::getEnv(), mqname)))
+                              {
+                                is_early_node_valid = true;
+                              }
+                              
+                                 
+                                      text_value = axiom_element_get_text(current_element, Environment::getEnv(), current_node);
+                                      if(text_value != NULL)
+                                      {
+                                            status = setArgs2(axutil_strtol(text_value, (char**)NULL, 0));
+                                      }
+                                      
+                                      else
+                                      {
+                                          WSF_LOG_ERROR_MSG(Environment::getEnv()->log, WSF_LOG_SI, "NULL value is set to a non nillable element args2");
+                                          status = AXIS2_FAILURE;
+                                      }
+                                      
+                                 if(AXIS2_FAILURE ==  status)
+                                 {
+                                     WSF_LOG_ERROR_MSG( Environment::getEnv()->log,WSF_LOG_SI,"failed in setting the value for args2 ");
+                                     if(element_qname)
+                                     {
+                                         axutil_qname_free(element_qname, Environment::getEnv());
+                                     }
+                                     return AXIS2_FAILURE;
+                                 }
+                              }
+                           
+                  if(element_qname)
+                  {
+                     axutil_qname_free(element_qname, Environment::getEnv());
+                     element_qname = NULL;
+                  }
+                 
+          return status;
+       }
+
+          bool WSF_CALL
+          org_splat_ws_server_service_salome::CreateConfigFile::isParticle()
+          {
+            
+                 return false;
+              
+          }
+
+
+          void WSF_CALL
+          org_splat_ws_server_service_salome::CreateConfigFile::declareParentNamespaces(
+                    axiom_element_t *parent_element,
+                    axutil_hash_t *namespaces, int *next_ns_index)
+          {
+            
+                  /* Here this is an empty function, Nothing to declare */
+                 
+          }
+
+        
+        
+        axiom_node_t* WSF_CALL
+       org_splat_ws_server_service_salome::CreateConfigFile::serialize(axiom_node_t *parent, 
+                       axiom_element_t *parent_element, 
+                       int parent_tag_closed, 
+                       axutil_hash_t *namespaces, 
+                       int *next_ns_index)
+        {
+            
+            
+         
+         axiom_node_t *current_node = NULL;
+         int tag_closed = 0;
+
+         
+         
+                axiom_namespace_t *ns1 = NULL;
+
+                axis2_char_t *qname_uri = NULL;
+                axis2_char_t *qname_prefix = NULL;
+                axis2_char_t *p_prefix = NULL;
+            
+                    axis2_char_t text_value_1[ADB_DEFAULT_DIGIT_LIMIT];
+                    
+                    axis2_char_t text_value_2[ADB_DEFAULT_DIGIT_LIMIT];
+                    
+                    axis2_char_t text_value_3[ADB_DEFAULT_DIGIT_LIMIT];
+                    
+               axis2_char_t *start_input_str = NULL;
+               axis2_char_t *end_input_str = NULL;
+               unsigned int start_input_str_len = 0;
+               unsigned int end_input_str_len = 0;
+            
+            
+               axiom_data_source_t *data_source = NULL;
+               axutil_stream_t *stream = NULL;
+
+             
+                int next_ns_index_value = 0;
+             
+                    namespaces = axutil_hash_make(Environment::getEnv());
+                    next_ns_index = &next_ns_index_value;
+                     
+                           ns1 = axiom_namespace_create (Environment::getEnv(),
+                                             "http://salome.service.ws_server.splat.org",
+                                             "n"); 
+                           axutil_hash_set(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING, axutil_strdup(Environment::getEnv(), "n"));
+                       
+                     
+                    parent_element = axiom_element_create (Environment::getEnv(), NULL, "createConfigFile", ns1 , &parent);
+                    
+                    
+                    axiom_element_set_namespace(parent_element, Environment::getEnv(), ns1, parent);
+
+
+            
+                    data_source = axiom_data_source_create(Environment::getEnv(), parent, &current_node);
+                    stream = axiom_data_source_get_stream(data_source, Environment::getEnv());
+                  
+                       if(!(p_prefix = (axis2_char_t*)axutil_hash_get(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING)))
+                       {
+                           p_prefix = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof (axis2_char_t) * ADB_DEFAULT_NAMESPACE_PREFIX_LIMIT);
+                           sprintf(p_prefix, "n%d", (*next_ns_index)++);
+                           axutil_hash_set(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING, p_prefix);
+                           
+                           axiom_element_declare_namespace_assume_param_ownership(parent_element, Environment::getEnv(), axiom_namespace_create (Environment::getEnv(),
+                                            "http://salome.service.ws_server.splat.org", p_prefix));
+                       }
+                      
+
+                   if (!isValidArgs0)
+                   {
+                      
+                           /* no need to complain for minoccurs=0 element */
+                            
+                          
+                   }
+                   else
+                   {
+                     start_input_str = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof(axis2_char_t) *
+                                 (4 + axutil_strlen(p_prefix) + 
+                                  axutil_strlen("args0"))); 
+                                 
+                                 /* axutil_strlen("<:>") + 1 = 4 */
+                     end_input_str = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof(axis2_char_t) *
+                                 (5 + axutil_strlen(p_prefix) + axutil_strlen("args0")));
+                                  /* axutil_strlen("</:>") + 1 = 5 */
+                                  
+                     
+
+                   
+                   
+                     
+                     /*
+                      * parsing args0 element
+                      */
+
+                    
+                    
+                            sprintf(start_input_str, "<%s%sargs0>",
+                                 p_prefix?p_prefix:"",
+                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
+                            
+                        start_input_str_len = axutil_strlen(start_input_str);
+                        sprintf(end_input_str, "</%s%sargs0>",
+                                 p_prefix?p_prefix:"",
+                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
+                        end_input_str_len = axutil_strlen(end_input_str);
+                    
+                               sprintf (text_value_1, AXIS2_PRINTF_INT64_FORMAT_SPECIFIER, (int64_t) property_Args0);
+                             
+                           axutil_stream_write(stream, Environment::getEnv(), start_input_str, start_input_str_len);
+                           
+                           axutil_stream_write(stream, Environment::getEnv(), text_value_1, axutil_strlen(text_value_1));
+                           
+                           axutil_stream_write(stream, Environment::getEnv(), end_input_str, end_input_str_len);
+                           
+                     
+                     AXIS2_FREE(Environment::getEnv()->allocator,start_input_str);
+                     AXIS2_FREE(Environment::getEnv()->allocator,end_input_str);
+                 } 
+
+                 
+                       if(!(p_prefix = (axis2_char_t*)axutil_hash_get(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING)))
+                       {
+                           p_prefix = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof (axis2_char_t) * ADB_DEFAULT_NAMESPACE_PREFIX_LIMIT);
+                           sprintf(p_prefix, "n%d", (*next_ns_index)++);
+                           axutil_hash_set(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING, p_prefix);
+                           
+                           axiom_element_declare_namespace_assume_param_ownership(parent_element, Environment::getEnv(), axiom_namespace_create (Environment::getEnv(),
+                                            "http://salome.service.ws_server.splat.org", p_prefix));
+                       }
+                      
+
+                   if (!isValidArgs1)
+                   {
+                      
+                           /* no need to complain for minoccurs=0 element */
+                            
+                          
+                   }
+                   else
+                   {
+                     start_input_str = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof(axis2_char_t) *
+                                 (4 + axutil_strlen(p_prefix) + 
+                                  axutil_strlen("args1"))); 
+                                 
+                                 /* axutil_strlen("<:>") + 1 = 4 */
+                     end_input_str = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof(axis2_char_t) *
+                                 (5 + axutil_strlen(p_prefix) + axutil_strlen("args1")));
+                                  /* axutil_strlen("</:>") + 1 = 5 */
+                                  
+                     
+
+                   
+                   
+                     
+                     /*
+                      * parsing args1 element
+                      */
+
+                    
+                    
+                            sprintf(start_input_str, "<%s%sargs1>",
+                                 p_prefix?p_prefix:"",
+                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
+                            
+                        start_input_str_len = axutil_strlen(start_input_str);
+                        sprintf(end_input_str, "</%s%sargs1>",
+                                 p_prefix?p_prefix:"",
+                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
+                        end_input_str_len = axutil_strlen(end_input_str);
+                    
+                               sprintf (text_value_2, AXIS2_PRINTF_INT64_FORMAT_SPECIFIER, (int64_t) property_Args1);
+                             
+                           axutil_stream_write(stream, Environment::getEnv(), start_input_str, start_input_str_len);
+                           
+                           axutil_stream_write(stream, Environment::getEnv(), text_value_2, axutil_strlen(text_value_2));
+                           
+                           axutil_stream_write(stream, Environment::getEnv(), end_input_str, end_input_str_len);
+                           
+                     
+                     AXIS2_FREE(Environment::getEnv()->allocator,start_input_str);
+                     AXIS2_FREE(Environment::getEnv()->allocator,end_input_str);
+                 } 
+
+                 
+                       if(!(p_prefix = (axis2_char_t*)axutil_hash_get(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING)))
+                       {
+                           p_prefix = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof (axis2_char_t) * ADB_DEFAULT_NAMESPACE_PREFIX_LIMIT);
+                           sprintf(p_prefix, "n%d", (*next_ns_index)++);
+                           axutil_hash_set(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING, p_prefix);
+                           
+                           axiom_element_declare_namespace_assume_param_ownership(parent_element, Environment::getEnv(), axiom_namespace_create (Environment::getEnv(),
+                                            "http://salome.service.ws_server.splat.org", p_prefix));
+                       }
+                      
+
+                   if (!isValidArgs2)
+                   {
+                      
+                           /* no need to complain for minoccurs=0 element */
+                            
+                          
+                   }
+                   else
+                   {
+                     start_input_str = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof(axis2_char_t) *
+                                 (4 + axutil_strlen(p_prefix) + 
+                                  axutil_strlen("args2"))); 
+                                 
+                                 /* axutil_strlen("<:>") + 1 = 4 */
+                     end_input_str = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof(axis2_char_t) *
+                                 (5 + axutil_strlen(p_prefix) + axutil_strlen("args2")));
+                                  /* axutil_strlen("</:>") + 1 = 5 */
+                                  
+                     
+
+                   
+                   
+                     
+                     /*
+                      * parsing args2 element
+                      */
+
+                    
+                    
+                            sprintf(start_input_str, "<%s%sargs2>",
+                                 p_prefix?p_prefix:"",
+                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
+                            
+                        start_input_str_len = axutil_strlen(start_input_str);
+                        sprintf(end_input_str, "</%s%sargs2>",
+                                 p_prefix?p_prefix:"",
+                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
+                        end_input_str_len = axutil_strlen(end_input_str);
+                    
+                               sprintf (text_value_3, AXIS2_PRINTF_INT64_FORMAT_SPECIFIER, (int64_t) property_Args2);
+                             
+                           axutil_stream_write(stream, Environment::getEnv(), start_input_str, start_input_str_len);
+                           
+                           axutil_stream_write(stream, Environment::getEnv(), text_value_3, axutil_strlen(text_value_3));
+                           
+                           axutil_stream_write(stream, Environment::getEnv(), end_input_str, end_input_str_len);
+                           
+                     
+                     AXIS2_FREE(Environment::getEnv()->allocator,start_input_str);
+                     AXIS2_FREE(Environment::getEnv()->allocator,end_input_str);
+                 } 
+
+                 
+                   if(namespaces)
+                   {
+                       axutil_hash_index_t *hi;
+                       void *val;
+                       for (hi = axutil_hash_first(namespaces, Environment::getEnv()); hi; hi = axutil_hash_next(Environment::getEnv(), hi))
+                       {
+                           axutil_hash_this(hi, NULL, NULL, &val);
+                           AXIS2_FREE(Environment::getEnv()->allocator, val);
+                       }
+                       axutil_hash_free(namespaces, Environment::getEnv());
+                   }
+                
+
+            return parent;
+        }
+
+
+        
+
+            /**
+             * Getter for args0 by  Property Number 1
+             */
+            int64_t WSF_CALL
+            org_splat_ws_server_service_salome::CreateConfigFile::getProperty1()
+            {
+                return getArgs0();
+            }
+
+            /**
+             * getter for args0.
+             */
+            int64_t WSF_CALL
+            org_splat_ws_server_service_salome::CreateConfigFile::getArgs0()
+             {
+                return property_Args0;
+             }
+
+            /**
+             * setter for args0
+             */
+            bool WSF_CALL
+            org_splat_ws_server_service_salome::CreateConfigFile::setArgs0(
+                    const int64_t  arg_Args0)
+             {
+                
+
+                if(isValidArgs0 &&
+                        arg_Args0 == property_Args0)
+                {
+                    
+                    return true;
+                }
+
+                
+
+                
+                resetArgs0();
+
+                
+                        property_Args0 = arg_Args0;
+                        isValidArgs0 = true;
+                    
+                return true;
+             }
+
+             
+
+           /**
+            * resetter for args0
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::CreateConfigFile::resetArgs0()
+           {
+               int i = 0;
+               int count = 0;
+
+
+               
+               isValidArgs0 = false; 
+               return true;
+           }
+
+           /**
+            * Check whether args0 is nill
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::CreateConfigFile::isArgs0Nil()
+           {
+               return !isValidArgs0;
+           }
+
+           /**
+            * Set args0 to nill (currently the same as reset)
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::CreateConfigFile::setArgs0Nil()
+           {
+               return resetArgs0();
+           }
+
+           
+
+            /**
+             * Getter for args1 by  Property Number 2
+             */
+            int64_t WSF_CALL
+            org_splat_ws_server_service_salome::CreateConfigFile::getProperty2()
+            {
+                return getArgs1();
+            }
+
+            /**
+             * getter for args1.
+             */
+            int64_t WSF_CALL
+            org_splat_ws_server_service_salome::CreateConfigFile::getArgs1()
+             {
+                return property_Args1;
+             }
+
+            /**
+             * setter for args1
+             */
+            bool WSF_CALL
+            org_splat_ws_server_service_salome::CreateConfigFile::setArgs1(
+                    const int64_t  arg_Args1)
+             {
+                
+
+                if(isValidArgs1 &&
+                        arg_Args1 == property_Args1)
+                {
+                    
+                    return true;
+                }
+
+                
+
+                
+                resetArgs1();
+
+                
+                        property_Args1 = arg_Args1;
+                        isValidArgs1 = true;
+                    
+                return true;
+             }
+
+             
+
+           /**
+            * resetter for args1
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::CreateConfigFile::resetArgs1()
+           {
+               int i = 0;
+               int count = 0;
+
+
+               
+               isValidArgs1 = false; 
+               return true;
+           }
+
+           /**
+            * Check whether args1 is nill
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::CreateConfigFile::isArgs1Nil()
+           {
+               return !isValidArgs1;
+           }
+
+           /**
+            * Set args1 to nill (currently the same as reset)
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::CreateConfigFile::setArgs1Nil()
+           {
+               return resetArgs1();
+           }
+
+           
+
+            /**
+             * Getter for args2 by  Property Number 3
+             */
+            int64_t WSF_CALL
+            org_splat_ws_server_service_salome::CreateConfigFile::getProperty3()
+            {
+                return getArgs2();
+            }
+
+            /**
+             * getter for args2.
+             */
+            int64_t WSF_CALL
+            org_splat_ws_server_service_salome::CreateConfigFile::getArgs2()
+             {
+                return property_Args2;
+             }
+
+            /**
+             * setter for args2
+             */
+            bool WSF_CALL
+            org_splat_ws_server_service_salome::CreateConfigFile::setArgs2(
+                    const int64_t  arg_Args2)
+             {
+                
+
+                if(isValidArgs2 &&
+                        arg_Args2 == property_Args2)
+                {
+                    
+                    return true;
+                }
+
+                
+
+                
+                resetArgs2();
+
+                
+                        property_Args2 = arg_Args2;
+                        isValidArgs2 = true;
+                    
+                return true;
+             }
+
+             
+
+           /**
+            * resetter for args2
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::CreateConfigFile::resetArgs2()
+           {
+               int i = 0;
+               int count = 0;
+
+
+               
+               isValidArgs2 = false; 
+               return true;
+           }
+
+           /**
+            * Check whether args2 is nill
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::CreateConfigFile::isArgs2Nil()
+           {
+               return !isValidArgs2;
+           }
+
+           /**
+            * Set args2 to nill (currently the same as reset)
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::CreateConfigFile::setArgs2Nil()
+           {
+               return resetArgs2();
+           }
+
+           
+
diff --git a/src/CreateConfigFile.h b/src/CreateConfigFile.h
new file mode 100644 (file)
index 0000000..800f508
--- /dev/null
@@ -0,0 +1,309 @@
+
+
+        #ifndef CREATECONFIGFILE_H
+        #define CREATECONFIGFILE_H
+
+       /**
+        * CreateConfigFile.h
+        *
+        * This file was auto-generated from WSDL
+        * by the Apache Axis2/Java version: 1.0  Built on : Nov 21, 2012 (02:43:12 MSK)
+        */
+
+       /**
+        *  CreateConfigFile class
+        */
+
+        namespace org_splat_ws_server_service_salome{
+            class CreateConfigFile;
+        }
+        
+
+        
+        #include <axutil_qname.h>
+        
+
+        #include <stdio.h>
+        #include <OMElement.h>
+        #include <ServiceClient.h>
+        #include <ADBDefines.h>
+
+namespace org_splat_ws_server_service_salome
+{
+        
+        
+
+        class CreateConfigFile {
+
+        private:
+             
+                axutil_qname_t* qname;
+            int64_t property_Args0;
+
+                
+                bool isValidArgs0;
+            int64_t property_Args1;
+
+                
+                bool isValidArgs1;
+            int64_t property_Args2;
+
+                
+                bool isValidArgs2;
+            
+
+        /*** Private methods ***/
+          
+
+        bool WSF_CALL
+        setArgs0Nil();
+            
+
+        bool WSF_CALL
+        setArgs1Nil();
+            
+
+        bool WSF_CALL
+        setArgs2Nil();
+            
+
+
+
+        /******************************* public functions *********************************/
+
+        public:
+
+        /**
+         * Constructor for class CreateConfigFile
+         */
+
+        CreateConfigFile();
+
+        /**
+         * Destructor CreateConfigFile
+         */
+        ~CreateConfigFile();
+
+
+       
+
+        /**
+         * Constructor for creating CreateConfigFile
+         * @param 
+         * @param Args0 int64_t
+         * @param Args1 int64_t
+         * @param Args2 int64_t
+         * @return newly created CreateConfigFile object
+         */
+        CreateConfigFile(int64_t arg_Args0,int64_t arg_Args1,int64_t arg_Args2);
+        
+        
+        /********************************** Class get set methods **************************************/
+        
+        
+
+        /**
+         * Getter for args0. 
+         * @return int64_t*
+         */
+        WSF_EXTERN int64_t WSF_CALL
+        getArgs0();
+
+        /**
+         * Setter for args0.
+         * @param arg_Args0 int64_t*
+         * @return true on success, false otherwise
+         */
+        WSF_EXTERN bool WSF_CALL
+        setArgs0(const int64_t  arg_Args0);
+
+        /**
+         * Re setter for args0
+         * @return true on success, false
+         */
+        WSF_EXTERN bool WSF_CALL
+        resetArgs0();
+        
+        
+
+        /**
+         * Getter for args1. 
+         * @return int64_t*
+         */
+        WSF_EXTERN int64_t WSF_CALL
+        getArgs1();
+
+        /**
+         * Setter for args1.
+         * @param arg_Args1 int64_t*
+         * @return true on success, false otherwise
+         */
+        WSF_EXTERN bool WSF_CALL
+        setArgs1(const int64_t  arg_Args1);
+
+        /**
+         * Re setter for args1
+         * @return true on success, false
+         */
+        WSF_EXTERN bool WSF_CALL
+        resetArgs1();
+        
+        
+
+        /**
+         * Getter for args2. 
+         * @return int64_t*
+         */
+        WSF_EXTERN int64_t WSF_CALL
+        getArgs2();
+
+        /**
+         * Setter for args2.
+         * @param arg_Args2 int64_t*
+         * @return true on success, false otherwise
+         */
+        WSF_EXTERN bool WSF_CALL
+        setArgs2(const int64_t  arg_Args2);
+
+        /**
+         * Re setter for args2
+         * @return true on success, false
+         */
+        WSF_EXTERN bool WSF_CALL
+        resetArgs2();
+        
+
+
+        /******************************* Checking and Setting NIL values *********************************/
+        
+
+        /**
+         * NOTE: set_nil is only available for nillable properties
+         */
+
+        
+
+        /**
+         * Check whether args0 is Nill
+         * @return true if the element is Nil, false otherwise
+         */
+        bool WSF_CALL
+        isArgs0Nil();
+
+
+        
+
+        /**
+         * Check whether args1 is Nill
+         * @return true if the element is Nil, false otherwise
+         */
+        bool WSF_CALL
+        isArgs1Nil();
+
+
+        
+
+        /**
+         * Check whether args2 is Nill
+         * @return true if the element is Nil, false otherwise
+         */
+        bool WSF_CALL
+        isArgs2Nil();
+
+
+        
+
+        /**************************** Serialize and De serialize functions ***************************/
+        /*********** These functions are for use only inside the generated code *********************/
+
+        
+        /**
+         * Deserialize the ADB object to an XML
+         * @param dp_parent double pointer to the parent node to be deserialized
+         * @param dp_is_early_node_valid double pointer to a flag (is_early_node_valid?)
+         * @param dont_care_minoccurs Dont set errors on validating minoccurs, 
+         *              (Parent will order this in a case of choice)
+         * @return true on success, false otherwise
+         */
+        bool WSF_CALL
+        deserialize(axiom_node_t** omNode, bool *isEarlyNodeValid, bool dontCareMinoccurs);
+                         
+            
+
+       /**
+         * Declare namespace in the most parent node 
+         * @param parent_element parent element
+         * @param namespaces hash of namespace uri to prefix
+         * @param next_ns_index pointer to an int which contain the next namespace index
+         */
+        void WSF_CALL
+        declareParentNamespaces(axiom_element_t *parent_element, axutil_hash_t *namespaces, int *next_ns_index);
+
+
+        
+
+        /**
+         * Serialize the ADB object to an xml
+         * @param CreateConfigFile_om_node node to serialize from
+         * @param CreateConfigFile_om_element parent element to serialize from
+         * @param tag_closed Whether the parent tag is closed or not
+         * @param namespaces hash of namespace uris to prefixes
+         * @param next_ns_index an int which contains the next namespace index
+         * @return axiom_node_t on success,NULL otherwise.
+         */
+        axiom_node_t* WSF_CALL
+        serialize(axiom_node_t* CreateConfigFile_om_node, axiom_element_t *CreateConfigFile_om_element, int tag_closed, axutil_hash_t *namespaces, int *next_ns_index);
+
+        /**
+         * Check whether the CreateConfigFile is a particle class (E.g. group, inner sequence)
+         * @return true if this is a particle class, false otherwise.
+         */
+        bool WSF_CALL
+        isParticle();
+
+
+
+        /******************************* get the value by the property number  *********************************/
+        /************NOTE: This method is introduced to resolve a problem in unwrapping mode *******************/
+
+      
+        
+
+        /**
+         * Getter for args0 by property number (1)
+         * @return int64_t
+         */
+
+        int64_t WSF_CALL
+        getProperty1();
+
+    
+        
+
+        /**
+         * Getter for args1 by property number (2)
+         * @return int64_t
+         */
+
+        int64_t WSF_CALL
+        getProperty2();
+
+    
+        
+
+        /**
+         * Getter for args2 by property number (3)
+         * @return int64_t
+         */
+
+        int64_t WSF_CALL
+        getProperty3();
+
+    
+
+};
+
+}        
+ #endif /* CREATECONFIGFILE_H */
+    
+
diff --git a/src/CreateConfigFileResponse.cpp b/src/CreateConfigFileResponse.cpp
new file mode 100644 (file)
index 0000000..66c40df
--- /dev/null
@@ -0,0 +1,422 @@
+
+
+        /**
+         * CreateConfigFileResponse.cpp
+         *
+         * This file was auto-generated from WSDL
+         * by the Apache Axis2/C version: SNAPSHOT  Built on : Mar 10, 2008 (08:35:52 GMT+00:00)
+         */
+
+        #include "CreateConfigFileResponse.h"
+        #include <Environment.h>
+        #include <WSFError.h>
+
+
+        using namespace wso2wsf;
+        using namespace std;
+        
+        using namespace org_splat_ws_server_service_salome;
+        
+               /*
+                * Implementation of the createConfigFileResponse|http://salome.service.ws_server.splat.org Element
+                */
+           org_splat_ws_server_service_salome::CreateConfigFileResponse::CreateConfigFileResponse()
+        {
+
+        
+            qname = NULL;
+        
+                    property__return;
+                
+            isValid_return  = false;
+        
+                  qname =  axutil_qname_create (Environment::getEnv(),
+                        "createConfigFileResponse",
+                        "http://salome.service.ws_server.splat.org",
+                        NULL);
+                
+        }
+
+       org_splat_ws_server_service_salome::CreateConfigFileResponse::CreateConfigFileResponse(std::string arg__return)
+        {
+             
+                   qname = NULL;
+             
+                 property__return;
+             
+            isValid_return  = true;
+            
+                 qname =  axutil_qname_create (Environment::getEnv(),
+                       "createConfigFileResponse",
+                       "http://salome.service.ws_server.splat.org",
+                       NULL);
+               
+                    property__return = arg__return;
+            
+        }
+        org_splat_ws_server_service_salome::CreateConfigFileResponse::~CreateConfigFileResponse()
+        {
+
+        }
+
+        
+
+        bool WSF_CALL
+        org_splat_ws_server_service_salome::CreateConfigFileResponse::deserialize(axiom_node_t** dp_parent,bool *dp_is_early_node_valid, bool dont_care_minoccurs)
+        {
+          axiom_node_t *parent = *dp_parent;
+          
+          bool status = AXIS2_SUCCESS;
+           
+         const axis2_char_t* text_value = NULL;
+         axutil_qname_t *mqname = NULL;
+          
+            axutil_qname_t *element_qname = NULL; 
+            
+               axiom_node_t *first_node = NULL;
+               bool is_early_node_valid = true;
+               axiom_node_t *current_node = NULL;
+               axiom_element_t *current_element = NULL;
+            
+              
+              while(parent && axiom_node_get_node_type(parent, Environment::getEnv()) != AXIOM_ELEMENT)
+              {
+                  parent = axiom_node_get_next_sibling(parent, Environment::getEnv());
+              }
+              if (NULL == parent)
+              {   
+                return AXIS2_FAILURE;
+              }
+              
+
+                    current_element = (axiom_element_t *)axiom_node_get_data_element(parent, Environment::getEnv());
+                    mqname = axiom_element_get_qname(current_element, Environment::getEnv(), parent);
+                    if (axutil_qname_equals(mqname, Environment::getEnv(), this->qname))
+                    {
+                        
+                          first_node = axiom_node_get_first_child(parent, Environment::getEnv());
+                          
+                    }
+                    else
+                    {
+                        WSF_LOG_ERROR_MSG(Environment::getEnv()->log, WSF_LOG_SI,
+                              "Failed in building adb object for createConfigFileResponse : "
+                              "Expected %s but returned %s",
+                              axutil_qname_to_string(qname, Environment::getEnv()),
+                              axutil_qname_to_string(mqname, Environment::getEnv()));
+                        
+                        return AXIS2_FAILURE;
+                    }
+                    
+
+                     
+                     /*
+                      * building return element
+                      */
+                     
+                     
+                     
+                                   current_node = first_node;
+                                   is_early_node_valid = false;
+                                   
+                                   
+                                    while(current_node && axiom_node_get_node_type(current_node, Environment::getEnv()) != AXIOM_ELEMENT)
+                                    {
+                                        current_node = axiom_node_get_next_sibling(current_node, Environment::getEnv());
+                                    }
+                                    if(current_node != NULL)
+                                    {
+                                        current_element = (axiom_element_t *)axiom_node_get_data_element(current_node, Environment::getEnv());
+                                        mqname = axiom_element_get_qname(current_element, Environment::getEnv(), current_node);
+                                    }
+                                   
+                                 element_qname = axutil_qname_create(Environment::getEnv(), "return", "http://salome.service.ws_server.splat.org", NULL);
+                                 
+
+                           if ( 
+                                (current_node   && current_element && (axutil_qname_equals(element_qname, Environment::getEnv(), mqname))))
+                           {
+                              if( current_node   && current_element && (axutil_qname_equals(element_qname, Environment::getEnv(), mqname)))
+                              {
+                                is_early_node_valid = true;
+                              }
+                              
+                                 
+                                      text_value = axiom_element_get_text(current_element, Environment::getEnv(), current_node);
+                                      if(text_value != NULL)
+                                      {
+                                            status = set_return(text_value);
+                                      }
+                                      
+                                 if(AXIS2_FAILURE ==  status)
+                                 {
+                                     WSF_LOG_ERROR_MSG( Environment::getEnv()->log,WSF_LOG_SI,"failed in setting the value for return ");
+                                     if(element_qname)
+                                     {
+                                         axutil_qname_free(element_qname, Environment::getEnv());
+                                     }
+                                     return AXIS2_FAILURE;
+                                 }
+                              }
+                           
+                  if(element_qname)
+                  {
+                     axutil_qname_free(element_qname, Environment::getEnv());
+                     element_qname = NULL;
+                  }
+                 
+          return status;
+       }
+
+          bool WSF_CALL
+          org_splat_ws_server_service_salome::CreateConfigFileResponse::isParticle()
+          {
+            
+                 return false;
+              
+          }
+
+
+          void WSF_CALL
+          org_splat_ws_server_service_salome::CreateConfigFileResponse::declareParentNamespaces(
+                    axiom_element_t *parent_element,
+                    axutil_hash_t *namespaces, int *next_ns_index)
+          {
+            
+                  /* Here this is an empty function, Nothing to declare */
+                 
+          }
+
+        
+        
+        axiom_node_t* WSF_CALL
+       org_splat_ws_server_service_salome::CreateConfigFileResponse::serialize(axiom_node_t *parent, 
+                       axiom_element_t *parent_element, 
+                       int parent_tag_closed, 
+                       axutil_hash_t *namespaces, 
+                       int *next_ns_index)
+        {
+            
+            
+         
+         axiom_node_t *current_node = NULL;
+         int tag_closed = 0;
+
+         
+         
+                axiom_namespace_t *ns1 = NULL;
+
+                axis2_char_t *qname_uri = NULL;
+                axis2_char_t *qname_prefix = NULL;
+                axis2_char_t *p_prefix = NULL;
+            
+                    axis2_char_t *text_value_1;
+                    axis2_char_t *text_value_1_temp;
+                    
+               axis2_char_t *start_input_str = NULL;
+               axis2_char_t *end_input_str = NULL;
+               unsigned int start_input_str_len = 0;
+               unsigned int end_input_str_len = 0;
+            
+            
+               axiom_data_source_t *data_source = NULL;
+               axutil_stream_t *stream = NULL;
+
+             
+                int next_ns_index_value = 0;
+             
+                    namespaces = axutil_hash_make(Environment::getEnv());
+                    next_ns_index = &next_ns_index_value;
+                     
+                           ns1 = axiom_namespace_create (Environment::getEnv(),
+                                             "http://salome.service.ws_server.splat.org",
+                                             "n"); 
+                           axutil_hash_set(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING, axutil_strdup(Environment::getEnv(), "n"));
+                       
+                     
+                    parent_element = axiom_element_create (Environment::getEnv(), NULL, "createConfigFileResponse", ns1 , &parent);
+                    
+                    
+                    axiom_element_set_namespace(parent_element, Environment::getEnv(), ns1, parent);
+
+
+            
+                    data_source = axiom_data_source_create(Environment::getEnv(), parent, &current_node);
+                    stream = axiom_data_source_get_stream(data_source, Environment::getEnv());
+                  
+                       if(!(p_prefix = (axis2_char_t*)axutil_hash_get(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING)))
+                       {
+                           p_prefix = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof (axis2_char_t) * ADB_DEFAULT_NAMESPACE_PREFIX_LIMIT);
+                           sprintf(p_prefix, "n%d", (*next_ns_index)++);
+                           axutil_hash_set(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING, p_prefix);
+                           
+                           axiom_element_declare_namespace_assume_param_ownership(parent_element, Environment::getEnv(), axiom_namespace_create (Environment::getEnv(),
+                                            "http://salome.service.ws_server.splat.org", p_prefix));
+                       }
+                      
+
+                   if (!isValid_return)
+                   {
+                      
+                           /* no need to complain for minoccurs=0 element */
+                            
+                          
+                   }
+                   else
+                   {
+                     start_input_str = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof(axis2_char_t) *
+                                 (4 + axutil_strlen(p_prefix) + 
+                                  axutil_strlen("return"))); 
+                                 
+                                 /* axutil_strlen("<:>") + 1 = 4 */
+                     end_input_str = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof(axis2_char_t) *
+                                 (5 + axutil_strlen(p_prefix) + axutil_strlen("return")));
+                                  /* axutil_strlen("</:>") + 1 = 5 */
+                                  
+                     
+
+                   
+                   
+                     
+                     /*
+                      * parsing return element
+                      */
+
+                    
+                    
+                            sprintf(start_input_str, "<%s%sreturn>",
+                                 p_prefix?p_prefix:"",
+                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
+                            
+                        start_input_str_len = axutil_strlen(start_input_str);
+                        sprintf(end_input_str, "</%s%sreturn>",
+                                 p_prefix?p_prefix:"",
+                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
+                        end_input_str_len = axutil_strlen(end_input_str);
+                    
+                           text_value_1 = (axis2_char_t*)property__return.c_str();
+                           
+                           axutil_stream_write(stream, Environment::getEnv(), start_input_str, start_input_str_len);
+                           
+                            
+                           text_value_1_temp = axutil_xml_quote_string(Environment::getEnv(), text_value_1, true);
+                           if (text_value_1_temp)
+                           {
+                               axutil_stream_write(stream, Environment::getEnv(), text_value_1_temp, axutil_strlen(text_value_1_temp));
+                               AXIS2_FREE(Environment::getEnv()->allocator, text_value_1_temp);
+                           }
+                           else
+                           {
+                               axutil_stream_write(stream, Environment::getEnv(), text_value_1, axutil_strlen(text_value_1));
+                           }
+                           
+                           axutil_stream_write(stream, Environment::getEnv(), end_input_str, end_input_str_len);
+                           
+                     
+                     AXIS2_FREE(Environment::getEnv()->allocator,start_input_str);
+                     AXIS2_FREE(Environment::getEnv()->allocator,end_input_str);
+                 } 
+
+                 
+                   if(namespaces)
+                   {
+                       axutil_hash_index_t *hi;
+                       void *val;
+                       for (hi = axutil_hash_first(namespaces, Environment::getEnv()); hi; hi = axutil_hash_next(Environment::getEnv(), hi))
+                       {
+                           axutil_hash_this(hi, NULL, NULL, &val);
+                           AXIS2_FREE(Environment::getEnv()->allocator, val);
+                       }
+                       axutil_hash_free(namespaces, Environment::getEnv());
+                   }
+                
+
+            return parent;
+        }
+
+
+        
+
+            /**
+             * Getter for return by  Property Number 1
+             */
+            std::string WSF_CALL
+            org_splat_ws_server_service_salome::CreateConfigFileResponse::getProperty1()
+            {
+                return get_return();
+            }
+
+            /**
+             * getter for return.
+             */
+            std::string WSF_CALL
+            org_splat_ws_server_service_salome::CreateConfigFileResponse::get_return()
+             {
+                return property__return;
+             }
+
+            /**
+             * setter for return
+             */
+            bool WSF_CALL
+            org_splat_ws_server_service_salome::CreateConfigFileResponse::set_return(
+                    const std::string  arg__return)
+             {
+                
+
+                if(isValid_return &&
+                        arg__return == property__return)
+                {
+                    
+                    return true;
+                }
+
+                
+
+                
+                reset_return();
+
+                
+                        property__return = std::string(arg__return.c_str());
+                        isValid_return = true;
+                    
+                return true;
+             }
+
+             
+
+           /**
+            * resetter for return
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::CreateConfigFileResponse::reset_return()
+           {
+               int i = 0;
+               int count = 0;
+
+
+               
+               isValid_return = false; 
+               return true;
+           }
+
+           /**
+            * Check whether return is nill
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::CreateConfigFileResponse::is_returnNil()
+           {
+               return !isValid_return;
+           }
+
+           /**
+            * Set return to nill (currently the same as reset)
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::CreateConfigFileResponse::set_returnNil()
+           {
+               return reset_return();
+           }
+
+           
+
diff --git a/src/CreateConfigFileResponse.h b/src/CreateConfigFileResponse.h
new file mode 100644 (file)
index 0000000..a088ca0
--- /dev/null
@@ -0,0 +1,204 @@
+
+
+        #ifndef CREATECONFIGFILERESPONSE_H
+        #define CREATECONFIGFILERESPONSE_H
+
+       /**
+        * CreateConfigFileResponse.h
+        *
+        * This file was auto-generated from WSDL
+        * by the Apache Axis2/Java version: 1.0  Built on : Nov 21, 2012 (02:43:12 MSK)
+        */
+
+       /**
+        *  CreateConfigFileResponse class
+        */
+
+        namespace org_splat_ws_server_service_salome{
+            class CreateConfigFileResponse;
+        }
+        
+
+        
+        #include <axutil_qname.h>
+        
+
+        #include <stdio.h>
+        #include <OMElement.h>
+        #include <ServiceClient.h>
+        #include <ADBDefines.h>
+
+namespace org_splat_ws_server_service_salome
+{
+        
+        
+
+        class CreateConfigFileResponse {
+
+        private:
+             
+                axutil_qname_t* qname;
+            std::string property__return;
+
+                
+                bool isValid_return;
+            
+
+        /*** Private methods ***/
+          
+
+
+
+        /******************************* public functions *********************************/
+
+        public:
+
+        /**
+         * Constructor for class CreateConfigFileResponse
+         */
+
+        CreateConfigFileResponse();
+
+        /**
+         * Destructor CreateConfigFileResponse
+         */
+        ~CreateConfigFileResponse();
+
+
+       
+
+        /**
+         * Constructor for creating CreateConfigFileResponse
+         * @param 
+         * @param _return std::string
+         * @return newly created CreateConfigFileResponse object
+         */
+        CreateConfigFileResponse(std::string arg__return);
+        
+        
+        /********************************** Class get set methods **************************************/
+        
+        
+
+        /**
+         * Getter for return. 
+         * @return std::string*
+         */
+        WSF_EXTERN std::string WSF_CALL
+        get_return();
+
+        /**
+         * Setter for return.
+         * @param arg__return std::string*
+         * @return true on success, false otherwise
+         */
+        WSF_EXTERN bool WSF_CALL
+        set_return(const std::string  arg__return);
+
+        /**
+         * Re setter for return
+         * @return true on success, false
+         */
+        WSF_EXTERN bool WSF_CALL
+        reset_return();
+        
+
+
+        /******************************* Checking and Setting NIL values *********************************/
+        
+
+        /**
+         * NOTE: set_nil is only available for nillable properties
+         */
+
+        
+
+        /**
+         * Check whether return is Nill
+         * @return true if the element is Nil, false otherwise
+         */
+        bool WSF_CALL
+        is_returnNil();
+
+
+        
+        /**
+         * Set return to Nill (same as using reset)
+         * @return true on success, false otherwise.
+         */
+        bool WSF_CALL
+        set_returnNil();
+        
+
+        /**************************** Serialize and De serialize functions ***************************/
+        /*********** These functions are for use only inside the generated code *********************/
+
+        
+        /**
+         * Deserialize the ADB object to an XML
+         * @param dp_parent double pointer to the parent node to be deserialized
+         * @param dp_is_early_node_valid double pointer to a flag (is_early_node_valid?)
+         * @param dont_care_minoccurs Dont set errors on validating minoccurs, 
+         *              (Parent will order this in a case of choice)
+         * @return true on success, false otherwise
+         */
+        bool WSF_CALL
+        deserialize(axiom_node_t** omNode, bool *isEarlyNodeValid, bool dontCareMinoccurs);
+                         
+            
+
+       /**
+         * Declare namespace in the most parent node 
+         * @param parent_element parent element
+         * @param namespaces hash of namespace uri to prefix
+         * @param next_ns_index pointer to an int which contain the next namespace index
+         */
+        void WSF_CALL
+        declareParentNamespaces(axiom_element_t *parent_element, axutil_hash_t *namespaces, int *next_ns_index);
+
+
+        
+
+        /**
+         * Serialize the ADB object to an xml
+         * @param CreateConfigFileResponse_om_node node to serialize from
+         * @param CreateConfigFileResponse_om_element parent element to serialize from
+         * @param tag_closed Whether the parent tag is closed or not
+         * @param namespaces hash of namespace uris to prefixes
+         * @param next_ns_index an int which contains the next namespace index
+         * @return axiom_node_t on success,NULL otherwise.
+         */
+        axiom_node_t* WSF_CALL
+        serialize(axiom_node_t* CreateConfigFileResponse_om_node, axiom_element_t *CreateConfigFileResponse_om_element, int tag_closed, axutil_hash_t *namespaces, int *next_ns_index);
+
+        /**
+         * Check whether the CreateConfigFileResponse is a particle class (E.g. group, inner sequence)
+         * @return true if this is a particle class, false otherwise.
+         */
+        bool WSF_CALL
+        isParticle();
+
+
+
+        /******************************* get the value by the property number  *********************************/
+        /************NOTE: This method is introduced to resolve a problem in unwrapping mode *******************/
+
+      
+        
+
+        /**
+         * Getter for return by property number (1)
+         * @return std::string
+         */
+
+        std::string WSF_CALL
+        getProperty1();
+
+    
+
+};
+
+}        
+ #endif /* CREATECONFIGFILERESPONSE_H */
+    
+
diff --git a/src/GetFile.cpp b/src/GetFile.cpp
new file mode 100644 (file)
index 0000000..58d4bb7
--- /dev/null
@@ -0,0 +1,422 @@
+
+
+        /**
+         * GetFile.cpp
+         *
+         * This file was auto-generated from WSDL
+         * by the Apache Axis2/C version: SNAPSHOT  Built on : Mar 10, 2008 (08:35:52 GMT+00:00)
+         */
+
+        #include "GetFile.h"
+        #include <Environment.h>
+        #include <WSFError.h>
+
+
+        using namespace wso2wsf;
+        using namespace std;
+        
+        using namespace org_splat_ws_server_service_salome;
+        
+               /*
+                * Implementation of the getFile|http://salome.service.ws_server.splat.org Element
+                */
+           org_splat_ws_server_service_salome::GetFile::GetFile()
+        {
+
+        
+            qname = NULL;
+        
+                    property_Args0;
+                
+            isValidArgs0  = false;
+        
+                  qname =  axutil_qname_create (Environment::getEnv(),
+                        "getFile",
+                        "http://salome.service.ws_server.splat.org",
+                        NULL);
+                
+        }
+
+       org_splat_ws_server_service_salome::GetFile::GetFile(std::string arg_Args0)
+        {
+             
+                   qname = NULL;
+             
+                 property_Args0;
+             
+            isValidArgs0  = true;
+            
+                 qname =  axutil_qname_create (Environment::getEnv(),
+                       "getFile",
+                       "http://salome.service.ws_server.splat.org",
+                       NULL);
+               
+                    property_Args0 = arg_Args0;
+            
+        }
+        org_splat_ws_server_service_salome::GetFile::~GetFile()
+        {
+
+        }
+
+        
+
+        bool WSF_CALL
+        org_splat_ws_server_service_salome::GetFile::deserialize(axiom_node_t** dp_parent,bool *dp_is_early_node_valid, bool dont_care_minoccurs)
+        {
+          axiom_node_t *parent = *dp_parent;
+          
+          bool status = AXIS2_SUCCESS;
+           
+         const axis2_char_t* text_value = NULL;
+         axutil_qname_t *mqname = NULL;
+          
+            axutil_qname_t *element_qname = NULL; 
+            
+               axiom_node_t *first_node = NULL;
+               bool is_early_node_valid = true;
+               axiom_node_t *current_node = NULL;
+               axiom_element_t *current_element = NULL;
+            
+              
+              while(parent && axiom_node_get_node_type(parent, Environment::getEnv()) != AXIOM_ELEMENT)
+              {
+                  parent = axiom_node_get_next_sibling(parent, Environment::getEnv());
+              }
+              if (NULL == parent)
+              {   
+                return AXIS2_FAILURE;
+              }
+              
+
+                    current_element = (axiom_element_t *)axiom_node_get_data_element(parent, Environment::getEnv());
+                    mqname = axiom_element_get_qname(current_element, Environment::getEnv(), parent);
+                    if (axutil_qname_equals(mqname, Environment::getEnv(), this->qname))
+                    {
+                        
+                          first_node = axiom_node_get_first_child(parent, Environment::getEnv());
+                          
+                    }
+                    else
+                    {
+                        WSF_LOG_ERROR_MSG(Environment::getEnv()->log, WSF_LOG_SI,
+                              "Failed in building adb object for getFile : "
+                              "Expected %s but returned %s",
+                              axutil_qname_to_string(qname, Environment::getEnv()),
+                              axutil_qname_to_string(mqname, Environment::getEnv()));
+                        
+                        return AXIS2_FAILURE;
+                    }
+                    
+
+                     
+                     /*
+                      * building args0 element
+                      */
+                     
+                     
+                     
+                                   current_node = first_node;
+                                   is_early_node_valid = false;
+                                   
+                                   
+                                    while(current_node && axiom_node_get_node_type(current_node, Environment::getEnv()) != AXIOM_ELEMENT)
+                                    {
+                                        current_node = axiom_node_get_next_sibling(current_node, Environment::getEnv());
+                                    }
+                                    if(current_node != NULL)
+                                    {
+                                        current_element = (axiom_element_t *)axiom_node_get_data_element(current_node, Environment::getEnv());
+                                        mqname = axiom_element_get_qname(current_element, Environment::getEnv(), current_node);
+                                    }
+                                   
+                                 element_qname = axutil_qname_create(Environment::getEnv(), "args0", "http://salome.service.ws_server.splat.org", NULL);
+                                 
+
+                           if ( 
+                                (current_node   && current_element && (axutil_qname_equals(element_qname, Environment::getEnv(), mqname))))
+                           {
+                              if( current_node   && current_element && (axutil_qname_equals(element_qname, Environment::getEnv(), mqname)))
+                              {
+                                is_early_node_valid = true;
+                              }
+                              
+                                 
+                                      text_value = axiom_element_get_text(current_element, Environment::getEnv(), current_node);
+                                      if(text_value != NULL)
+                                      {
+                                            status = setArgs0(text_value);
+                                      }
+                                      
+                                 if(AXIS2_FAILURE ==  status)
+                                 {
+                                     WSF_LOG_ERROR_MSG( Environment::getEnv()->log,WSF_LOG_SI,"failed in setting the value for args0 ");
+                                     if(element_qname)
+                                     {
+                                         axutil_qname_free(element_qname, Environment::getEnv());
+                                     }
+                                     return AXIS2_FAILURE;
+                                 }
+                              }
+                           
+                  if(element_qname)
+                  {
+                     axutil_qname_free(element_qname, Environment::getEnv());
+                     element_qname = NULL;
+                  }
+                 
+          return status;
+       }
+
+          bool WSF_CALL
+          org_splat_ws_server_service_salome::GetFile::isParticle()
+          {
+            
+                 return false;
+              
+          }
+
+
+          void WSF_CALL
+          org_splat_ws_server_service_salome::GetFile::declareParentNamespaces(
+                    axiom_element_t *parent_element,
+                    axutil_hash_t *namespaces, int *next_ns_index)
+          {
+            
+                  /* Here this is an empty function, Nothing to declare */
+                 
+          }
+
+        
+        
+        axiom_node_t* WSF_CALL
+       org_splat_ws_server_service_salome::GetFile::serialize(axiom_node_t *parent, 
+                       axiom_element_t *parent_element, 
+                       int parent_tag_closed, 
+                       axutil_hash_t *namespaces, 
+                       int *next_ns_index)
+        {
+            
+            
+         
+         axiom_node_t *current_node = NULL;
+         int tag_closed = 0;
+
+         
+         
+                axiom_namespace_t *ns1 = NULL;
+
+                axis2_char_t *qname_uri = NULL;
+                axis2_char_t *qname_prefix = NULL;
+                axis2_char_t *p_prefix = NULL;
+            
+                    axis2_char_t *text_value_1;
+                    axis2_char_t *text_value_1_temp;
+                    
+               axis2_char_t *start_input_str = NULL;
+               axis2_char_t *end_input_str = NULL;
+               unsigned int start_input_str_len = 0;
+               unsigned int end_input_str_len = 0;
+            
+            
+               axiom_data_source_t *data_source = NULL;
+               axutil_stream_t *stream = NULL;
+
+             
+                int next_ns_index_value = 0;
+             
+                    namespaces = axutil_hash_make(Environment::getEnv());
+                    next_ns_index = &next_ns_index_value;
+                     
+                           ns1 = axiom_namespace_create (Environment::getEnv(),
+                                             "http://salome.service.ws_server.splat.org",
+                                             "n"); 
+                           axutil_hash_set(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING, axutil_strdup(Environment::getEnv(), "n"));
+                       
+                     
+                    parent_element = axiom_element_create (Environment::getEnv(), NULL, "getFile", ns1 , &parent);
+                    
+                    
+                    axiom_element_set_namespace(parent_element, Environment::getEnv(), ns1, parent);
+
+
+            
+                    data_source = axiom_data_source_create(Environment::getEnv(), parent, &current_node);
+                    stream = axiom_data_source_get_stream(data_source, Environment::getEnv());
+                  
+                       if(!(p_prefix = (axis2_char_t*)axutil_hash_get(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING)))
+                       {
+                           p_prefix = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof (axis2_char_t) * ADB_DEFAULT_NAMESPACE_PREFIX_LIMIT);
+                           sprintf(p_prefix, "n%d", (*next_ns_index)++);
+                           axutil_hash_set(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING, p_prefix);
+                           
+                           axiom_element_declare_namespace_assume_param_ownership(parent_element, Environment::getEnv(), axiom_namespace_create (Environment::getEnv(),
+                                            "http://salome.service.ws_server.splat.org", p_prefix));
+                       }
+                      
+
+                   if (!isValidArgs0)
+                   {
+                      
+                           /* no need to complain for minoccurs=0 element */
+                            
+                          
+                   }
+                   else
+                   {
+                     start_input_str = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof(axis2_char_t) *
+                                 (4 + axutil_strlen(p_prefix) + 
+                                  axutil_strlen("args0"))); 
+                                 
+                                 /* axutil_strlen("<:>") + 1 = 4 */
+                     end_input_str = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof(axis2_char_t) *
+                                 (5 + axutil_strlen(p_prefix) + axutil_strlen("args0")));
+                                  /* axutil_strlen("</:>") + 1 = 5 */
+                                  
+                     
+
+                   
+                   
+                     
+                     /*
+                      * parsing args0 element
+                      */
+
+                    
+                    
+                            sprintf(start_input_str, "<%s%sargs0>",
+                                 p_prefix?p_prefix:"",
+                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
+                            
+                        start_input_str_len = axutil_strlen(start_input_str);
+                        sprintf(end_input_str, "</%s%sargs0>",
+                                 p_prefix?p_prefix:"",
+                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
+                        end_input_str_len = axutil_strlen(end_input_str);
+                    
+                           text_value_1 = (axis2_char_t*)property_Args0.c_str();
+                           
+                           axutil_stream_write(stream, Environment::getEnv(), start_input_str, start_input_str_len);
+                           
+                            
+                           text_value_1_temp = axutil_xml_quote_string(Environment::getEnv(), text_value_1, true);
+                           if (text_value_1_temp)
+                           {
+                               axutil_stream_write(stream, Environment::getEnv(), text_value_1_temp, axutil_strlen(text_value_1_temp));
+                               AXIS2_FREE(Environment::getEnv()->allocator, text_value_1_temp);
+                           }
+                           else
+                           {
+                               axutil_stream_write(stream, Environment::getEnv(), text_value_1, axutil_strlen(text_value_1));
+                           }
+                           
+                           axutil_stream_write(stream, Environment::getEnv(), end_input_str, end_input_str_len);
+                           
+                     
+                     AXIS2_FREE(Environment::getEnv()->allocator,start_input_str);
+                     AXIS2_FREE(Environment::getEnv()->allocator,end_input_str);
+                 } 
+
+                 
+                   if(namespaces)
+                   {
+                       axutil_hash_index_t *hi;
+                       void *val;
+                       for (hi = axutil_hash_first(namespaces, Environment::getEnv()); hi; hi = axutil_hash_next(Environment::getEnv(), hi))
+                       {
+                           axutil_hash_this(hi, NULL, NULL, &val);
+                           AXIS2_FREE(Environment::getEnv()->allocator, val);
+                       }
+                       axutil_hash_free(namespaces, Environment::getEnv());
+                   }
+                
+
+            return parent;
+        }
+
+
+        
+
+            /**
+             * Getter for args0 by  Property Number 1
+             */
+            std::string WSF_CALL
+            org_splat_ws_server_service_salome::GetFile::getProperty1()
+            {
+                return getArgs0();
+            }
+
+            /**
+             * getter for args0.
+             */
+            std::string WSF_CALL
+            org_splat_ws_server_service_salome::GetFile::getArgs0()
+             {
+                return property_Args0;
+             }
+
+            /**
+             * setter for args0
+             */
+            bool WSF_CALL
+            org_splat_ws_server_service_salome::GetFile::setArgs0(
+                    const std::string  arg_Args0)
+             {
+                
+
+                if(isValidArgs0 &&
+                        arg_Args0 == property_Args0)
+                {
+                    
+                    return true;
+                }
+
+                
+
+                
+                resetArgs0();
+
+                
+                        property_Args0 = std::string(arg_Args0.c_str());
+                        isValidArgs0 = true;
+                    
+                return true;
+             }
+
+             
+
+           /**
+            * resetter for args0
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::GetFile::resetArgs0()
+           {
+               int i = 0;
+               int count = 0;
+
+
+               
+               isValidArgs0 = false; 
+               return true;
+           }
+
+           /**
+            * Check whether args0 is nill
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::GetFile::isArgs0Nil()
+           {
+               return !isValidArgs0;
+           }
+
+           /**
+            * Set args0 to nill (currently the same as reset)
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::GetFile::setArgs0Nil()
+           {
+               return resetArgs0();
+           }
+
+           
+
diff --git a/src/GetFile.h b/src/GetFile.h
new file mode 100644 (file)
index 0000000..fb4df59
--- /dev/null
@@ -0,0 +1,204 @@
+
+
+        #ifndef GETFILE_H
+        #define GETFILE_H
+
+       /**
+        * GetFile.h
+        *
+        * This file was auto-generated from WSDL
+        * by the Apache Axis2/Java version: 1.0  Built on : Nov 21, 2012 (02:43:12 MSK)
+        */
+
+       /**
+        *  GetFile class
+        */
+
+        namespace org_splat_ws_server_service_salome{
+            class GetFile;
+        }
+        
+
+        
+        #include <axutil_qname.h>
+        
+
+        #include <stdio.h>
+        #include <OMElement.h>
+        #include <ServiceClient.h>
+        #include <ADBDefines.h>
+
+namespace org_splat_ws_server_service_salome
+{
+        
+        
+
+        class GetFile {
+
+        private:
+             
+                axutil_qname_t* qname;
+            std::string property_Args0;
+
+                
+                bool isValidArgs0;
+            
+
+        /*** Private methods ***/
+          
+
+
+
+        /******************************* public functions *********************************/
+
+        public:
+
+        /**
+         * Constructor for class GetFile
+         */
+
+        GetFile();
+
+        /**
+         * Destructor GetFile
+         */
+        ~GetFile();
+
+
+       
+
+        /**
+         * Constructor for creating GetFile
+         * @param 
+         * @param Args0 std::string
+         * @return newly created GetFile object
+         */
+        GetFile(std::string arg_Args0);
+        
+        
+        /********************************** Class get set methods **************************************/
+        
+        
+
+        /**
+         * Getter for args0. 
+         * @return std::string*
+         */
+        WSF_EXTERN std::string WSF_CALL
+        getArgs0();
+
+        /**
+         * Setter for args0.
+         * @param arg_Args0 std::string*
+         * @return true on success, false otherwise
+         */
+        WSF_EXTERN bool WSF_CALL
+        setArgs0(const std::string  arg_Args0);
+
+        /**
+         * Re setter for args0
+         * @return true on success, false
+         */
+        WSF_EXTERN bool WSF_CALL
+        resetArgs0();
+        
+
+
+        /******************************* Checking and Setting NIL values *********************************/
+        
+
+        /**
+         * NOTE: set_nil is only available for nillable properties
+         */
+
+        
+
+        /**
+         * Check whether args0 is Nill
+         * @return true if the element is Nil, false otherwise
+         */
+        bool WSF_CALL
+        isArgs0Nil();
+
+
+        
+        /**
+         * Set args0 to Nill (same as using reset)
+         * @return true on success, false otherwise.
+         */
+        bool WSF_CALL
+        setArgs0Nil();
+        
+
+        /**************************** Serialize and De serialize functions ***************************/
+        /*********** These functions are for use only inside the generated code *********************/
+
+        
+        /**
+         * Deserialize the ADB object to an XML
+         * @param dp_parent double pointer to the parent node to be deserialized
+         * @param dp_is_early_node_valid double pointer to a flag (is_early_node_valid?)
+         * @param dont_care_minoccurs Dont set errors on validating minoccurs, 
+         *              (Parent will order this in a case of choice)
+         * @return true on success, false otherwise
+         */
+        bool WSF_CALL
+        deserialize(axiom_node_t** omNode, bool *isEarlyNodeValid, bool dontCareMinoccurs);
+                         
+            
+
+       /**
+         * Declare namespace in the most parent node 
+         * @param parent_element parent element
+         * @param namespaces hash of namespace uri to prefix
+         * @param next_ns_index pointer to an int which contain the next namespace index
+         */
+        void WSF_CALL
+        declareParentNamespaces(axiom_element_t *parent_element, axutil_hash_t *namespaces, int *next_ns_index);
+
+
+        
+
+        /**
+         * Serialize the ADB object to an xml
+         * @param GetFile_om_node node to serialize from
+         * @param GetFile_om_element parent element to serialize from
+         * @param tag_closed Whether the parent tag is closed or not
+         * @param namespaces hash of namespace uris to prefixes
+         * @param next_ns_index an int which contains the next namespace index
+         * @return axiom_node_t on success,NULL otherwise.
+         */
+        axiom_node_t* WSF_CALL
+        serialize(axiom_node_t* GetFile_om_node, axiom_element_t *GetFile_om_element, int tag_closed, axutil_hash_t *namespaces, int *next_ns_index);
+
+        /**
+         * Check whether the GetFile is a particle class (E.g. group, inner sequence)
+         * @return true if this is a particle class, false otherwise.
+         */
+        bool WSF_CALL
+        isParticle();
+
+
+
+        /******************************* get the value by the property number  *********************************/
+        /************NOTE: This method is introduced to resolve a problem in unwrapping mode *******************/
+
+      
+        
+
+        /**
+         * Getter for args0 by property number (1)
+         * @return std::string
+         */
+
+        std::string WSF_CALL
+        getProperty1();
+
+    
+
+};
+
+}        
+ #endif /* GETFILE_H */
+    
+
diff --git a/src/GetFileResponse.cpp b/src/GetFileResponse.cpp
new file mode 100644 (file)
index 0000000..7b4d433
--- /dev/null
@@ -0,0 +1,449 @@
+
+
+        /**
+         * GetFileResponse.cpp
+         *
+         * This file was auto-generated from WSDL
+         * by the Apache Axis2/C version: SNAPSHOT  Built on : Mar 10, 2008 (08:35:52 GMT+00:00)
+         */
+
+        #include "GetFileResponse.h"
+        #include <Environment.h>
+        #include <WSFError.h>
+
+
+        using namespace wso2wsf;
+        using namespace std;
+        
+        using namespace org_splat_ws_server_service_salome;
+        
+               /*
+                * Implementation of the getFileResponse|http://salome.service.ws_server.splat.org Element
+                */
+           org_splat_ws_server_service_salome::GetFileResponse::GetFileResponse()
+        {
+
+        
+            qname = NULL;
+        
+                property__return  = NULL;
+              
+            isValid_return  = false;
+        
+                  qname =  axutil_qname_create (Environment::getEnv(),
+                        "getFileResponse",
+                        "http://salome.service.ws_server.splat.org",
+                        NULL);
+                
+        }
+
+       org_splat_ws_server_service_salome::GetFileResponse::GetFileResponse(axutil_base64_binary_t* arg__return)
+        {
+             
+                   qname = NULL;
+             
+               property__return  = NULL;
+             
+            isValid_return  = true;
+            
+                 qname =  axutil_qname_create (Environment::getEnv(),
+                       "getFileResponse",
+                       "http://salome.service.ws_server.splat.org",
+                       NULL);
+               
+                    property__return = arg__return;
+            
+        }
+        org_splat_ws_server_service_salome::GetFileResponse::~GetFileResponse()
+        {
+
+        }
+
+        
+
+        bool WSF_CALL
+        org_splat_ws_server_service_salome::GetFileResponse::deserialize(axiom_node_t** dp_parent,bool *dp_is_early_node_valid, bool dont_care_minoccurs)
+        {
+          axiom_node_t *parent = *dp_parent;
+          
+          bool status = AXIS2_SUCCESS;
+           
+         const axis2_char_t* text_value = NULL;
+         axutil_qname_t *mqname = NULL;
+          
+            axutil_qname_t *element_qname = NULL; 
+            
+               axiom_node_t *first_node = NULL;
+               bool is_early_node_valid = true;
+               axiom_node_t *current_node = NULL;
+               axiom_element_t *current_element = NULL;
+            
+              
+              while(parent && axiom_node_get_node_type(parent, Environment::getEnv()) != AXIOM_ELEMENT)
+              {
+                  parent = axiom_node_get_next_sibling(parent, Environment::getEnv());
+              }
+              if (NULL == parent)
+              {   
+                return AXIS2_FAILURE;
+              }
+              
+
+                    current_element = (axiom_element_t *)axiom_node_get_data_element(parent, Environment::getEnv());
+                    mqname = axiom_element_get_qname(current_element, Environment::getEnv(), parent);
+                    if (axutil_qname_equals(mqname, Environment::getEnv(), this->qname))
+                    {
+                        
+                          first_node = axiom_node_get_first_child(parent, Environment::getEnv());
+                          
+                    }
+                    else
+                    {
+                        WSF_LOG_ERROR_MSG(Environment::getEnv()->log, WSF_LOG_SI,
+                              "Failed in building adb object for getFileResponse : "
+                              "Expected %s but returned %s",
+                              axutil_qname_to_string(qname, Environment::getEnv()),
+                              axutil_qname_to_string(mqname, Environment::getEnv()));
+                        
+                        return AXIS2_FAILURE;
+                    }
+                    
+
+                     
+                     /*
+                      * building return element
+                      */
+                     
+                     
+                     
+                                   current_node = first_node;
+                                   is_early_node_valid = false;
+                                   
+                                   
+                                    while(current_node && axiom_node_get_node_type(current_node, Environment::getEnv()) != AXIOM_ELEMENT)
+                                    {
+                                        current_node = axiom_node_get_next_sibling(current_node, Environment::getEnv());
+                                    }
+                                    if(current_node != NULL)
+                                    {
+                                        current_element = (axiom_element_t *)axiom_node_get_data_element(current_node, Environment::getEnv());
+                                        mqname = axiom_element_get_qname(current_element, Environment::getEnv(), current_node);
+                                    }
+                                   
+                                 element_qname = axutil_qname_create(Environment::getEnv(), "return", "http://salome.service.ws_server.splat.org", NULL);
+                                 
+
+                           if ( 
+                                (current_node   && current_element && (axutil_qname_equals(element_qname, Environment::getEnv(), mqname))))
+                           {
+                              if( current_node   && current_element && (axutil_qname_equals(element_qname, Environment::getEnv(), mqname)))
+                              {
+                                is_early_node_valid = true;
+                              }
+                              
+                                 
+                                      text_value = axiom_element_get_text(current_element, Environment::getEnv(), current_node);
+                                      if(text_value != NULL)
+                                      {
+                                          axutil_base64_binary_t* element = axutil_base64_binary_create(Environment::getEnv());
+                                          status = axutil_base64_binary_set_encoded_binary((axutil_base64_binary_t*)element, Environment::getEnv(),
+                                                                          text_value);
+                                          if(AXIS2_FAILURE ==  status)
+                                          {
+                                              if(element != NULL)
+                                              {
+                                                 axutil_base64_binary_free(element, Environment::getEnv());
+                                              }
+                                                                 WSF_LOG_ERROR_MSG(Environment::getEnv()->log,WSF_LOG_SI, "failed in building element return ");
+                                          }
+                                          else
+                                          {
+                                            status = set_return(element);
+                                          }
+                                      }
+                                      
+                                 if(AXIS2_FAILURE ==  status)
+                                 {
+                                     WSF_LOG_ERROR_MSG( Environment::getEnv()->log,WSF_LOG_SI,"failed in setting the value for return ");
+                                     if(element_qname)
+                                     {
+                                         axutil_qname_free(element_qname, Environment::getEnv());
+                                     }
+                                     return AXIS2_FAILURE;
+                                 }
+                              }
+                           
+                  if(element_qname)
+                  {
+                     axutil_qname_free(element_qname, Environment::getEnv());
+                     element_qname = NULL;
+                  }
+                 
+          return status;
+       }
+
+          bool WSF_CALL
+          org_splat_ws_server_service_salome::GetFileResponse::isParticle()
+          {
+            
+                 return false;
+              
+          }
+
+
+          void WSF_CALL
+          org_splat_ws_server_service_salome::GetFileResponse::declareParentNamespaces(
+                    axiom_element_t *parent_element,
+                    axutil_hash_t *namespaces, int *next_ns_index)
+          {
+            
+                  /* Here this is an empty function, Nothing to declare */
+                 
+          }
+
+        
+        
+        axiom_node_t* WSF_CALL
+       org_splat_ws_server_service_salome::GetFileResponse::serialize(axiom_node_t *parent, 
+                       axiom_element_t *parent_element, 
+                       int parent_tag_closed, 
+                       axutil_hash_t *namespaces, 
+                       int *next_ns_index)
+        {
+            
+            
+         
+         axiom_node_t *current_node = NULL;
+         int tag_closed = 0;
+
+         
+         
+                axiom_namespace_t *ns1 = NULL;
+
+                axis2_char_t *qname_uri = NULL;
+                axis2_char_t *qname_prefix = NULL;
+                axis2_char_t *p_prefix = NULL;
+            
+                    axis2_char_t *text_value_1;
+                    axis2_char_t *text_value_1_temp;
+                    
+               axis2_char_t *start_input_str = NULL;
+               axis2_char_t *end_input_str = NULL;
+               unsigned int start_input_str_len = 0;
+               unsigned int end_input_str_len = 0;
+            
+            
+               axiom_data_source_t *data_source = NULL;
+               axutil_stream_t *stream = NULL;
+
+             
+                int next_ns_index_value = 0;
+             
+                    namespaces = axutil_hash_make(Environment::getEnv());
+                    next_ns_index = &next_ns_index_value;
+                     
+                           ns1 = axiom_namespace_create (Environment::getEnv(),
+                                             "http://salome.service.ws_server.splat.org",
+                                             "n"); 
+                           axutil_hash_set(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING, axutil_strdup(Environment::getEnv(), "n"));
+                       
+                     
+                    parent_element = axiom_element_create (Environment::getEnv(), NULL, "getFileResponse", ns1 , &parent);
+                    
+                    
+                    axiom_element_set_namespace(parent_element, Environment::getEnv(), ns1, parent);
+
+
+            
+                    data_source = axiom_data_source_create(Environment::getEnv(), parent, &current_node);
+                    stream = axiom_data_source_get_stream(data_source, Environment::getEnv());
+                  
+                       if(!(p_prefix = (axis2_char_t*)axutil_hash_get(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING)))
+                       {
+                           p_prefix = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof (axis2_char_t) * ADB_DEFAULT_NAMESPACE_PREFIX_LIMIT);
+                           sprintf(p_prefix, "n%d", (*next_ns_index)++);
+                           axutil_hash_set(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING, p_prefix);
+                           
+                           axiom_element_declare_namespace_assume_param_ownership(parent_element, Environment::getEnv(), axiom_namespace_create (Environment::getEnv(),
+                                            "http://salome.service.ws_server.splat.org", p_prefix));
+                       }
+                      
+
+                   if (!isValid_return)
+                   {
+                      
+                           /* no need to complain for minoccurs=0 element */
+                            
+                          
+                   }
+                   else
+                   {
+                     start_input_str = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof(axis2_char_t) *
+                                 (4 + axutil_strlen(p_prefix) + 
+                                  axutil_strlen("return"))); 
+                                 
+                                 /* axutil_strlen("<:>") + 1 = 4 */
+                     end_input_str = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof(axis2_char_t) *
+                                 (5 + axutil_strlen(p_prefix) + axutil_strlen("return")));
+                                  /* axutil_strlen("</:>") + 1 = 5 */
+                                  
+                     
+
+                   
+                   
+                     
+                     /*
+                      * parsing return element
+                      */
+
+                    
+                    
+                            sprintf(start_input_str, "<%s%sreturn>",
+                                 p_prefix?p_prefix:"",
+                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
+                            
+                        start_input_str_len = axutil_strlen(start_input_str);
+                        sprintf(end_input_str, "</%s%sreturn>",
+                                 p_prefix?p_prefix:"",
+                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
+                        end_input_str_len = axutil_strlen(end_input_str);
+                    
+                          text_value_1 =axutil_base64_binary_get_encoded_binary(property__return, Environment::getEnv());
+                           
+                           axutil_stream_write(stream, Environment::getEnv(), start_input_str, start_input_str_len);
+                           
+                           axutil_stream_write(stream, Environment::getEnv(), text_value_1, axutil_strlen(text_value_1));
+                           
+                           axutil_stream_write(stream, Environment::getEnv(), end_input_str, end_input_str_len);
+                           
+                     
+                     AXIS2_FREE(Environment::getEnv()->allocator,start_input_str);
+                     AXIS2_FREE(Environment::getEnv()->allocator,end_input_str);
+                 } 
+
+                 
+                   if(namespaces)
+                   {
+                       axutil_hash_index_t *hi;
+                       void *val;
+                       for (hi = axutil_hash_first(namespaces, Environment::getEnv()); hi; hi = axutil_hash_next(Environment::getEnv(), hi))
+                       {
+                           axutil_hash_this(hi, NULL, NULL, &val);
+                           AXIS2_FREE(Environment::getEnv()->allocator, val);
+                       }
+                       axutil_hash_free(namespaces, Environment::getEnv());
+                   }
+                
+
+            return parent;
+        }
+
+
+        
+
+            /**
+             * Getter for return by  Property Number 1
+             */
+            axutil_base64_binary_t* WSF_CALL
+            org_splat_ws_server_service_salome::GetFileResponse::getProperty1()
+            {
+                return get_return();
+            }
+
+            /**
+             * getter for return.
+             */
+            axutil_base64_binary_t* WSF_CALL
+            org_splat_ws_server_service_salome::GetFileResponse::get_return()
+             {
+                return property__return;
+             }
+
+            /**
+             * setter for return
+             */
+            bool WSF_CALL
+            org_splat_ws_server_service_salome::GetFileResponse::set_return(
+                    axutil_base64_binary_t*  arg__return)
+             {
+                
+
+                if(isValid_return &&
+                        arg__return == property__return)
+                {
+                    
+                    return true;
+                }
+
+                
+
+                
+                reset_return();
+
+                
+                    if(NULL == arg__return)
+                         
+                {
+                    /* We are already done */
+                    return true;
+                }
+                
+                        property__return = arg__return;
+                        isValid_return = true;
+                    
+                return true;
+             }
+
+             
+
+           /**
+            * resetter for return
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::GetFileResponse::reset_return()
+           {
+               int i = 0;
+               int count = 0;
+
+
+               
+            
+                
+
+                if(property__return != NULL)
+                {
+                   
+                   
+                         axutil_base64_binary_free (property__return, Environment::getEnv());
+                         property__return = NULL;
+                     
+
+                   }
+
+                
+                
+                
+               isValid_return = false; 
+               return true;
+           }
+
+           /**
+            * Check whether return is nill
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::GetFileResponse::is_returnNil()
+           {
+               return !isValid_return;
+           }
+
+           /**
+            * Set return to nill (currently the same as reset)
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::GetFileResponse::set_returnNil()
+           {
+               return reset_return();
+           }
+
+           
+
diff --git a/src/GetFileResponse.h b/src/GetFileResponse.h
new file mode 100644 (file)
index 0000000..a3c12e7
--- /dev/null
@@ -0,0 +1,206 @@
+
+
+        #ifndef GETFILERESPONSE_H
+        #define GETFILERESPONSE_H
+
+       /**
+        * GetFileResponse.h
+        *
+        * This file was auto-generated from WSDL
+        * by the Apache Axis2/Java version: 1.0  Built on : Nov 21, 2012 (02:43:12 MSK)
+        */
+
+       /**
+        *  GetFileResponse class
+        */
+
+        namespace org_splat_ws_server_service_salome{
+            class GetFileResponse;
+        }
+        
+
+        
+        #include <axutil_base64_binary.h>
+          
+        #include <axutil_qname.h>
+        
+
+        #include <stdio.h>
+        #include <OMElement.h>
+        #include <ServiceClient.h>
+        #include <ADBDefines.h>
+
+namespace org_splat_ws_server_service_salome
+{
+        
+        
+
+        class GetFileResponse {
+
+        private:
+             
+                axutil_qname_t* qname;
+            axutil_base64_binary_t* property__return;
+
+                
+                bool isValid_return;
+            
+
+        /*** Private methods ***/
+          
+
+
+
+        /******************************* public functions *********************************/
+
+        public:
+
+        /**
+         * Constructor for class GetFileResponse
+         */
+
+        GetFileResponse();
+
+        /**
+         * Destructor GetFileResponse
+         */
+        ~GetFileResponse();
+
+
+       
+
+        /**
+         * Constructor for creating GetFileResponse
+         * @param 
+         * @param _return axutil_base64_binary_t*
+         * @return newly created GetFileResponse object
+         */
+        GetFileResponse(axutil_base64_binary_t* arg__return);
+        
+        
+        /********************************** Class get set methods **************************************/
+        
+        
+
+        /**
+         * Getter for return. 
+         * @return axutil_base64_binary_t*
+         */
+        WSF_EXTERN axutil_base64_binary_t* WSF_CALL
+        get_return();
+
+        /**
+         * Setter for return.
+         * @param arg__return axutil_base64_binary_t*
+         * @return true on success, false otherwise
+         */
+        WSF_EXTERN bool WSF_CALL
+        set_return(axutil_base64_binary_t*  arg__return);
+
+        /**
+         * Re setter for return
+         * @return true on success, false
+         */
+        WSF_EXTERN bool WSF_CALL
+        reset_return();
+        
+
+
+        /******************************* Checking and Setting NIL values *********************************/
+        
+
+        /**
+         * NOTE: set_nil is only available for nillable properties
+         */
+
+        
+
+        /**
+         * Check whether return is Nill
+         * @return true if the element is Nil, false otherwise
+         */
+        bool WSF_CALL
+        is_returnNil();
+
+
+        
+        /**
+         * Set return to Nill (same as using reset)
+         * @return true on success, false otherwise.
+         */
+        bool WSF_CALL
+        set_returnNil();
+        
+
+        /**************************** Serialize and De serialize functions ***************************/
+        /*********** These functions are for use only inside the generated code *********************/
+
+        
+        /**
+         * Deserialize the ADB object to an XML
+         * @param dp_parent double pointer to the parent node to be deserialized
+         * @param dp_is_early_node_valid double pointer to a flag (is_early_node_valid?)
+         * @param dont_care_minoccurs Dont set errors on validating minoccurs, 
+         *              (Parent will order this in a case of choice)
+         * @return true on success, false otherwise
+         */
+        bool WSF_CALL
+        deserialize(axiom_node_t** omNode, bool *isEarlyNodeValid, bool dontCareMinoccurs);
+                         
+            
+
+       /**
+         * Declare namespace in the most parent node 
+         * @param parent_element parent element
+         * @param namespaces hash of namespace uri to prefix
+         * @param next_ns_index pointer to an int which contain the next namespace index
+         */
+        void WSF_CALL
+        declareParentNamespaces(axiom_element_t *parent_element, axutil_hash_t *namespaces, int *next_ns_index);
+
+
+        
+
+        /**
+         * Serialize the ADB object to an xml
+         * @param GetFileResponse_om_node node to serialize from
+         * @param GetFileResponse_om_element parent element to serialize from
+         * @param tag_closed Whether the parent tag is closed or not
+         * @param namespaces hash of namespace uris to prefixes
+         * @param next_ns_index an int which contains the next namespace index
+         * @return axiom_node_t on success,NULL otherwise.
+         */
+        axiom_node_t* WSF_CALL
+        serialize(axiom_node_t* GetFileResponse_om_node, axiom_element_t *GetFileResponse_om_element, int tag_closed, axutil_hash_t *namespaces, int *next_ns_index);
+
+        /**
+         * Check whether the GetFileResponse is a particle class (E.g. group, inner sequence)
+         * @return true if this is a particle class, false otherwise.
+         */
+        bool WSF_CALL
+        isParticle();
+
+
+
+        /******************************* get the value by the property number  *********************************/
+        /************NOTE: This method is introduced to resolve a problem in unwrapping mode *******************/
+
+      
+        
+
+        /**
+         * Getter for return by property number (1)
+         * @return axutil_base64_binary_t*
+         */
+
+        axutil_base64_binary_t* WSF_CALL
+        getProperty1();
+
+    
+
+};
+
+}        
+ #endif /* GETFILERESPONSE_H */
+    
+
diff --git a/src/ISimanSalomeServiceCallback.h b/src/ISimanSalomeServiceCallback.h
new file mode 100644 (file)
index 0000000..95ef8ba
--- /dev/null
@@ -0,0 +1,137 @@
+
+
+#ifndef ISIMANSALOMESERVICECALLBACK_H
+#define ISIMANSALOMESERVICECALLBACK_H
+/**
+ * ISimanSalomeServiceCallback.h
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: 1.0  Built on : Nov 21, 2012 (01:42:27 MSK)
+ */
+       
+#include "CreateConfigFileResponse.h"
+        
+#include "PutFileResponse.h"
+        
+#include "CheckInResponse.h"
+        
+#include "GetFileResponse.h"
+        
+
+#include "SimanSalomeServiceStub.h" 
+
+ namespace org_splat_ws_server_service_salome
+   {
+
+    /**
+     *  ISimanSalomeServiceCallback Callback class, Users can extend this class and implement
+     *  their own receiveResult and receiveError methods.
+     */
+
+    class ISimanSalomeServiceCallback
+{
+
+
+    protected:
+
+    void* clientData;
+
+    public:
+
+    /**
+    * User can pass in any object that needs to be accessed once the NonBlocking
+    * Web service call is finished and appropriate method of this CallBack is called.
+    * @param clientData Object mechanism by which the user can pass in user data
+    * that will be available at the time this callback is called.
+    */
+    ISimanSalomeServiceCallback(void* clientData);
+
+    /**
+    * Please use this constructor if you don't want to set any clientData
+    */
+    ISimanSalomeServiceCallback();
+
+
+    /**
+     * Get the client data
+     */
+
+     void* getClientData();
+
+    
+           /**
+            * auto generated WSF/C++ call back method for createConfigFile method
+            * override this method for handling normal response from createConfigFile operation
+            */
+          virtual void receiveResult_createConfigFile(
+              
+                    org_splat_ws_server_service_salome::CreateConfigFileResponse* result
+                    
+                    ){}
+
+
+          /**
+           * auto generated WSF/C++ Error handler
+           * override this method for handling error response from createConfigFile operation
+           */
+           virtual void receiveError_createConfigFile(int exception){}
+            
+           /**
+            * auto generated WSF/C++ call back method for putFile method
+            * override this method for handling normal response from putFile operation
+            */
+          virtual void receiveResult_putFile(
+              
+                    org_splat_ws_server_service_salome::PutFileResponse* result
+                    
+                    ){}
+
+
+          /**
+           * auto generated WSF/C++ Error handler
+           * override this method for handling error response from putFile operation
+           */
+           virtual void receiveError_putFile(int exception){}
+            
+           /**
+            * auto generated WSF/C++ call back method for checkIn method
+            * override this method for handling normal response from checkIn operation
+            */
+          virtual void receiveResult_checkIn(
+              
+                    org_splat_ws_server_service_salome::CheckInResponse* result
+                    
+                    ){}
+
+
+          /**
+           * auto generated WSF/C++ Error handler
+           * override this method for handling error response from checkIn operation
+           */
+           virtual void receiveError_checkIn(int exception){}
+            
+           /**
+            * auto generated WSF/C++ call back method for getFile method
+            * override this method for handling normal response from getFile operation
+            */
+          virtual void receiveResult_getFile(
+              
+                    org_splat_ws_server_service_salome::GetFileResponse* result
+                    
+                    ){}
+
+
+          /**
+           * auto generated WSF/C++ Error handler
+           * override this method for handling error response from getFile operation
+           */
+           virtual void receiveError_getFile(int exception){}
+            
+
+
+    };
+}
+
+#endif  //ISIMANSALOMESERVICECALLBACK_H
+    
+
diff --git a/src/PutFile.cpp b/src/PutFile.cpp
new file mode 100644 (file)
index 0000000..4482412
--- /dev/null
@@ -0,0 +1,912 @@
+
+
+        /**
+         * PutFile.cpp
+         *
+         * This file was auto-generated from WSDL
+         * by the Apache Axis2/C version: SNAPSHOT  Built on : Mar 10, 2008 (08:35:52 GMT+00:00)
+         */
+
+        #include "PutFile.h"
+        #include <Environment.h>
+        #include <WSFError.h>
+
+
+        using namespace wso2wsf;
+        using namespace std;
+        
+        using namespace org_splat_ws_server_service_salome;
+        
+               /*
+                * Implementation of the putFile|http://salome.service.ws_server.splat.org Element
+                */
+           org_splat_ws_server_service_salome::PutFile::PutFile()
+        {
+
+        
+            qname = NULL;
+        
+                property_Args0  = NULL;
+              
+            isValidArgs0  = false;
+        
+                    property_Args1;
+                
+            isValidArgs1  = false;
+        
+            isValidArgs2  = false;
+        
+                  qname =  axutil_qname_create (Environment::getEnv(),
+                        "putFile",
+                        "http://salome.service.ws_server.splat.org",
+                        NULL);
+                
+        }
+
+       org_splat_ws_server_service_salome::PutFile::PutFile(axutil_base64_binary_t* arg_Args0,std::string arg_Args1,int64_t arg_Args2)
+        {
+             
+                   qname = NULL;
+             
+               property_Args0  = NULL;
+             
+            isValidArgs0  = true;
+            
+                 property_Args1;
+             
+            isValidArgs1  = true;
+            
+            isValidArgs2  = true;
+            
+                 qname =  axutil_qname_create (Environment::getEnv(),
+                       "putFile",
+                       "http://salome.service.ws_server.splat.org",
+                       NULL);
+               
+                    property_Args0 = arg_Args0;
+            
+                    property_Args1 = arg_Args1;
+            
+                    property_Args2 = arg_Args2;
+            
+        }
+        org_splat_ws_server_service_salome::PutFile::~PutFile()
+        {
+
+        }
+
+        
+
+        bool WSF_CALL
+        org_splat_ws_server_service_salome::PutFile::deserialize(axiom_node_t** dp_parent,bool *dp_is_early_node_valid, bool dont_care_minoccurs)
+        {
+          axiom_node_t *parent = *dp_parent;
+          
+          bool status = AXIS2_SUCCESS;
+           
+         const axis2_char_t* text_value = NULL;
+         axutil_qname_t *mqname = NULL;
+          
+            axutil_qname_t *element_qname = NULL; 
+            
+               axiom_node_t *first_node = NULL;
+               bool is_early_node_valid = true;
+               axiom_node_t *current_node = NULL;
+               axiom_element_t *current_element = NULL;
+            
+              
+              while(parent && axiom_node_get_node_type(parent, Environment::getEnv()) != AXIOM_ELEMENT)
+              {
+                  parent = axiom_node_get_next_sibling(parent, Environment::getEnv());
+              }
+              if (NULL == parent)
+              {   
+                return AXIS2_FAILURE;
+              }
+              
+
+                    current_element = (axiom_element_t *)axiom_node_get_data_element(parent, Environment::getEnv());
+                    mqname = axiom_element_get_qname(current_element, Environment::getEnv(), parent);
+                    if (axutil_qname_equals(mqname, Environment::getEnv(), this->qname))
+                    {
+                        
+                          first_node = axiom_node_get_first_child(parent, Environment::getEnv());
+                          
+                    }
+                    else
+                    {
+                        WSF_LOG_ERROR_MSG(Environment::getEnv()->log, WSF_LOG_SI,
+                              "Failed in building adb object for putFile : "
+                              "Expected %s but returned %s",
+                              axutil_qname_to_string(qname, Environment::getEnv()),
+                              axutil_qname_to_string(mqname, Environment::getEnv()));
+                        
+                        return AXIS2_FAILURE;
+                    }
+                    
+
+                     
+                     /*
+                      * building args0 element
+                      */
+                     
+                     
+                     
+                                   current_node = first_node;
+                                   is_early_node_valid = false;
+                                   
+                                   
+                                    while(current_node && axiom_node_get_node_type(current_node, Environment::getEnv()) != AXIOM_ELEMENT)
+                                    {
+                                        current_node = axiom_node_get_next_sibling(current_node, Environment::getEnv());
+                                    }
+                                    if(current_node != NULL)
+                                    {
+                                        current_element = (axiom_element_t *)axiom_node_get_data_element(current_node, Environment::getEnv());
+                                        mqname = axiom_element_get_qname(current_element, Environment::getEnv(), current_node);
+                                    }
+                                   
+                                 element_qname = axutil_qname_create(Environment::getEnv(), "args0", "http://salome.service.ws_server.splat.org", NULL);
+                                 
+
+                           if ( 
+                                (current_node   && current_element && (axutil_qname_equals(element_qname, Environment::getEnv(), mqname))))
+                           {
+                              if( current_node   && current_element && (axutil_qname_equals(element_qname, Environment::getEnv(), mqname)))
+                              {
+                                is_early_node_valid = true;
+                              }
+                              
+                                 
+                                      text_value = axiom_element_get_text(current_element, Environment::getEnv(), current_node);
+                                      if(text_value != NULL)
+                                      {
+                                          axutil_base64_binary_t* element = axutil_base64_binary_create(Environment::getEnv());
+                                          status = axutil_base64_binary_set_encoded_binary((axutil_base64_binary_t*)element, Environment::getEnv(),
+                                                                          text_value);
+                                          if(AXIS2_FAILURE ==  status)
+                                          {
+                                              if(element != NULL)
+                                              {
+                                                 axutil_base64_binary_free(element, Environment::getEnv());
+                                              }
+                                                                 WSF_LOG_ERROR_MSG(Environment::getEnv()->log,WSF_LOG_SI, "failed in building element args0 ");
+                                          }
+                                          else
+                                          {
+                                            status = setArgs0(element);
+                                          }
+                                      }
+                                      
+                                 if(AXIS2_FAILURE ==  status)
+                                 {
+                                     WSF_LOG_ERROR_MSG( Environment::getEnv()->log,WSF_LOG_SI,"failed in setting the value for args0 ");
+                                     if(element_qname)
+                                     {
+                                         axutil_qname_free(element_qname, Environment::getEnv());
+                                     }
+                                     return AXIS2_FAILURE;
+                                 }
+                              }
+                           
+                  if(element_qname)
+                  {
+                     axutil_qname_free(element_qname, Environment::getEnv());
+                     element_qname = NULL;
+                  }
+                 
+
+                     
+                     /*
+                      * building args1 element
+                      */
+                     
+                     
+                     
+                                    /*
+                                     * because elements are ordered this works fine
+                                     */
+                                  
+                                   
+                                   if(current_node != NULL && is_early_node_valid)
+                                   {
+                                       current_node = axiom_node_get_next_sibling(current_node, Environment::getEnv());
+                                       
+                                       
+                                        while(current_node && axiom_node_get_node_type(current_node, Environment::getEnv()) != AXIOM_ELEMENT)
+                                        {
+                                            current_node = axiom_node_get_next_sibling(current_node, Environment::getEnv());
+                                        }
+                                        if(current_node != NULL)
+                                        {
+                                            current_element = (axiom_element_t *)axiom_node_get_data_element(current_node, Environment::getEnv());
+                                            mqname = axiom_element_get_qname(current_element, Environment::getEnv(), current_node);
+                                        }
+                                       
+                                   }
+                                   is_early_node_valid = false;
+                                 
+                                 element_qname = axutil_qname_create(Environment::getEnv(), "args1", "http://salome.service.ws_server.splat.org", NULL);
+                                 
+
+                           if ( 
+                                (current_node   && current_element && (axutil_qname_equals(element_qname, Environment::getEnv(), mqname))))
+                           {
+                              if( current_node   && current_element && (axutil_qname_equals(element_qname, Environment::getEnv(), mqname)))
+                              {
+                                is_early_node_valid = true;
+                              }
+                              
+                                 
+                                      text_value = axiom_element_get_text(current_element, Environment::getEnv(), current_node);
+                                      if(text_value != NULL)
+                                      {
+                                            status = setArgs1(text_value);
+                                      }
+                                      
+                                 if(AXIS2_FAILURE ==  status)
+                                 {
+                                     WSF_LOG_ERROR_MSG( Environment::getEnv()->log,WSF_LOG_SI,"failed in setting the value for args1 ");
+                                     if(element_qname)
+                                     {
+                                         axutil_qname_free(element_qname, Environment::getEnv());
+                                     }
+                                     return AXIS2_FAILURE;
+                                 }
+                              }
+                           
+                  if(element_qname)
+                  {
+                     axutil_qname_free(element_qname, Environment::getEnv());
+                     element_qname = NULL;
+                  }
+                 
+
+                     
+                     /*
+                      * building args2 element
+                      */
+                     
+                     
+                     
+                                    /*
+                                     * because elements are ordered this works fine
+                                     */
+                                  
+                                   
+                                   if(current_node != NULL && is_early_node_valid)
+                                   {
+                                       current_node = axiom_node_get_next_sibling(current_node, Environment::getEnv());
+                                       
+                                       
+                                        while(current_node && axiom_node_get_node_type(current_node, Environment::getEnv()) != AXIOM_ELEMENT)
+                                        {
+                                            current_node = axiom_node_get_next_sibling(current_node, Environment::getEnv());
+                                        }
+                                        if(current_node != NULL)
+                                        {
+                                            current_element = (axiom_element_t *)axiom_node_get_data_element(current_node, Environment::getEnv());
+                                            mqname = axiom_element_get_qname(current_element, Environment::getEnv(), current_node);
+                                        }
+                                       
+                                   }
+                                   is_early_node_valid = false;
+                                 
+                                 element_qname = axutil_qname_create(Environment::getEnv(), "args2", "http://salome.service.ws_server.splat.org", NULL);
+                                 
+
+                           if ( 
+                                (current_node   && current_element && (axutil_qname_equals(element_qname, Environment::getEnv(), mqname))))
+                           {
+                              if( current_node   && current_element && (axutil_qname_equals(element_qname, Environment::getEnv(), mqname)))
+                              {
+                                is_early_node_valid = true;
+                              }
+                              
+                                 
+                                      text_value = axiom_element_get_text(current_element, Environment::getEnv(), current_node);
+                                      if(text_value != NULL)
+                                      {
+                                            status = setArgs2(axutil_strtol(text_value, (char**)NULL, 0));
+                                      }
+                                      
+                                      else
+                                      {
+                                          WSF_LOG_ERROR_MSG(Environment::getEnv()->log, WSF_LOG_SI, "NULL value is set to a non nillable element args2");
+                                          status = AXIS2_FAILURE;
+                                      }
+                                      
+                                 if(AXIS2_FAILURE ==  status)
+                                 {
+                                     WSF_LOG_ERROR_MSG( Environment::getEnv()->log,WSF_LOG_SI,"failed in setting the value for args2 ");
+                                     if(element_qname)
+                                     {
+                                         axutil_qname_free(element_qname, Environment::getEnv());
+                                     }
+                                     return AXIS2_FAILURE;
+                                 }
+                              }
+                           
+                  if(element_qname)
+                  {
+                     axutil_qname_free(element_qname, Environment::getEnv());
+                     element_qname = NULL;
+                  }
+                 
+          return status;
+       }
+
+          bool WSF_CALL
+          org_splat_ws_server_service_salome::PutFile::isParticle()
+          {
+            
+                 return false;
+              
+          }
+
+
+          void WSF_CALL
+          org_splat_ws_server_service_salome::PutFile::declareParentNamespaces(
+                    axiom_element_t *parent_element,
+                    axutil_hash_t *namespaces, int *next_ns_index)
+          {
+            
+                  /* Here this is an empty function, Nothing to declare */
+                 
+          }
+
+        
+        
+        axiom_node_t* WSF_CALL
+       org_splat_ws_server_service_salome::PutFile::serialize(axiom_node_t *parent, 
+                       axiom_element_t *parent_element, 
+                       int parent_tag_closed, 
+                       axutil_hash_t *namespaces, 
+                       int *next_ns_index)
+        {
+            
+            
+         
+         axiom_node_t *current_node = NULL;
+         int tag_closed = 0;
+
+         
+         
+                axiom_namespace_t *ns1 = NULL;
+
+                axis2_char_t *qname_uri = NULL;
+                axis2_char_t *qname_prefix = NULL;
+                axis2_char_t *p_prefix = NULL;
+            
+                    axis2_char_t *text_value_1;
+                    axis2_char_t *text_value_1_temp;
+                    
+                    axis2_char_t *text_value_2;
+                    axis2_char_t *text_value_2_temp;
+                    
+                    axis2_char_t text_value_3[ADB_DEFAULT_DIGIT_LIMIT];
+                    
+               axis2_char_t *start_input_str = NULL;
+               axis2_char_t *end_input_str = NULL;
+               unsigned int start_input_str_len = 0;
+               unsigned int end_input_str_len = 0;
+            
+            
+               axiom_data_source_t *data_source = NULL;
+               axutil_stream_t *stream = NULL;
+
+             
+                int next_ns_index_value = 0;
+             
+                    namespaces = axutil_hash_make(Environment::getEnv());
+                    next_ns_index = &next_ns_index_value;
+                     
+                           ns1 = axiom_namespace_create (Environment::getEnv(),
+                                             "http://salome.service.ws_server.splat.org",
+                                             "n"); 
+                           axutil_hash_set(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING, axutil_strdup(Environment::getEnv(), "n"));
+                       
+                     
+                    parent_element = axiom_element_create (Environment::getEnv(), NULL, "putFile", ns1 , &parent);
+                    
+                    
+                    axiom_element_set_namespace(parent_element, Environment::getEnv(), ns1, parent);
+
+
+            
+                    data_source = axiom_data_source_create(Environment::getEnv(), parent, &current_node);
+                    stream = axiom_data_source_get_stream(data_source, Environment::getEnv());
+                  
+                       if(!(p_prefix = (axis2_char_t*)axutil_hash_get(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING)))
+                       {
+                           p_prefix = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof (axis2_char_t) * ADB_DEFAULT_NAMESPACE_PREFIX_LIMIT);
+                           sprintf(p_prefix, "n%d", (*next_ns_index)++);
+                           axutil_hash_set(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING, p_prefix);
+                           
+                           axiom_element_declare_namespace_assume_param_ownership(parent_element, Environment::getEnv(), axiom_namespace_create (Environment::getEnv(),
+                                            "http://salome.service.ws_server.splat.org", p_prefix));
+                       }
+                      
+
+                   if (!isValidArgs0)
+                   {
+                      
+                           /* no need to complain for minoccurs=0 element */
+                            
+                          
+                   }
+                   else
+                   {
+                     start_input_str = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof(axis2_char_t) *
+                                 (4 + axutil_strlen(p_prefix) + 
+                                  axutil_strlen("args0"))); 
+                                 
+                                 /* axutil_strlen("<:>") + 1 = 4 */
+                     end_input_str = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof(axis2_char_t) *
+                                 (5 + axutil_strlen(p_prefix) + axutil_strlen("args0")));
+                                  /* axutil_strlen("</:>") + 1 = 5 */
+                                  
+                     
+
+                   
+                   
+                     
+                     /*
+                      * parsing args0 element
+                      */
+
+                    
+                    
+                            sprintf(start_input_str, "<%s%sargs0>",
+                                 p_prefix?p_prefix:"",
+                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
+                            
+                        start_input_str_len = axutil_strlen(start_input_str);
+                        sprintf(end_input_str, "</%s%sargs0>",
+                                 p_prefix?p_prefix:"",
+                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
+                        end_input_str_len = axutil_strlen(end_input_str);
+                    
+                          text_value_1 =axutil_base64_binary_get_encoded_binary(property_Args0, Environment::getEnv());
+                           
+                           axutil_stream_write(stream, Environment::getEnv(), start_input_str, start_input_str_len);
+                           
+                           axutil_stream_write(stream, Environment::getEnv(), text_value_1, axutil_strlen(text_value_1));
+                           
+                           axutil_stream_write(stream, Environment::getEnv(), end_input_str, end_input_str_len);
+                           
+                     
+                     AXIS2_FREE(Environment::getEnv()->allocator,start_input_str);
+                     AXIS2_FREE(Environment::getEnv()->allocator,end_input_str);
+                 } 
+
+                 
+                       if(!(p_prefix = (axis2_char_t*)axutil_hash_get(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING)))
+                       {
+                           p_prefix = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof (axis2_char_t) * ADB_DEFAULT_NAMESPACE_PREFIX_LIMIT);
+                           sprintf(p_prefix, "n%d", (*next_ns_index)++);
+                           axutil_hash_set(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING, p_prefix);
+                           
+                           axiom_element_declare_namespace_assume_param_ownership(parent_element, Environment::getEnv(), axiom_namespace_create (Environment::getEnv(),
+                                            "http://salome.service.ws_server.splat.org", p_prefix));
+                       }
+                      
+
+                   if (!isValidArgs1)
+                   {
+                      
+                           /* no need to complain for minoccurs=0 element */
+                            
+                          
+                   }
+                   else
+                   {
+                     start_input_str = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof(axis2_char_t) *
+                                 (4 + axutil_strlen(p_prefix) + 
+                                  axutil_strlen("args1"))); 
+                                 
+                                 /* axutil_strlen("<:>") + 1 = 4 */
+                     end_input_str = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof(axis2_char_t) *
+                                 (5 + axutil_strlen(p_prefix) + axutil_strlen("args1")));
+                                  /* axutil_strlen("</:>") + 1 = 5 */
+                                  
+                     
+
+                   
+                   
+                     
+                     /*
+                      * parsing args1 element
+                      */
+
+                    
+                    
+                            sprintf(start_input_str, "<%s%sargs1>",
+                                 p_prefix?p_prefix:"",
+                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
+                            
+                        start_input_str_len = axutil_strlen(start_input_str);
+                        sprintf(end_input_str, "</%s%sargs1>",
+                                 p_prefix?p_prefix:"",
+                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
+                        end_input_str_len = axutil_strlen(end_input_str);
+                    
+                           text_value_2 = (axis2_char_t*)property_Args1.c_str();
+                           
+                           axutil_stream_write(stream, Environment::getEnv(), start_input_str, start_input_str_len);
+                           
+                            
+                           text_value_2_temp = axutil_xml_quote_string(Environment::getEnv(), text_value_2, true);
+                           if (text_value_2_temp)
+                           {
+                               axutil_stream_write(stream, Environment::getEnv(), text_value_2_temp, axutil_strlen(text_value_2_temp));
+                               AXIS2_FREE(Environment::getEnv()->allocator, text_value_2_temp);
+                           }
+                           else
+                           {
+                               axutil_stream_write(stream, Environment::getEnv(), text_value_2, axutil_strlen(text_value_2));
+                           }
+                           
+                           axutil_stream_write(stream, Environment::getEnv(), end_input_str, end_input_str_len);
+                           
+                     
+                     AXIS2_FREE(Environment::getEnv()->allocator,start_input_str);
+                     AXIS2_FREE(Environment::getEnv()->allocator,end_input_str);
+                 } 
+
+                 
+                       if(!(p_prefix = (axis2_char_t*)axutil_hash_get(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING)))
+                       {
+                           p_prefix = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof (axis2_char_t) * ADB_DEFAULT_NAMESPACE_PREFIX_LIMIT);
+                           sprintf(p_prefix, "n%d", (*next_ns_index)++);
+                           axutil_hash_set(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING, p_prefix);
+                           
+                           axiom_element_declare_namespace_assume_param_ownership(parent_element, Environment::getEnv(), axiom_namespace_create (Environment::getEnv(),
+                                            "http://salome.service.ws_server.splat.org", p_prefix));
+                       }
+                      
+
+                   if (!isValidArgs2)
+                   {
+                      
+                           /* no need to complain for minoccurs=0 element */
+                            
+                          
+                   }
+                   else
+                   {
+                     start_input_str = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof(axis2_char_t) *
+                                 (4 + axutil_strlen(p_prefix) + 
+                                  axutil_strlen("args2"))); 
+                                 
+                                 /* axutil_strlen("<:>") + 1 = 4 */
+                     end_input_str = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof(axis2_char_t) *
+                                 (5 + axutil_strlen(p_prefix) + axutil_strlen("args2")));
+                                  /* axutil_strlen("</:>") + 1 = 5 */
+                                  
+                     
+
+                   
+                   
+                     
+                     /*
+                      * parsing args2 element
+                      */
+
+                    
+                    
+                            sprintf(start_input_str, "<%s%sargs2>",
+                                 p_prefix?p_prefix:"",
+                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
+                            
+                        start_input_str_len = axutil_strlen(start_input_str);
+                        sprintf(end_input_str, "</%s%sargs2>",
+                                 p_prefix?p_prefix:"",
+                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
+                        end_input_str_len = axutil_strlen(end_input_str);
+                    
+                               sprintf (text_value_3, AXIS2_PRINTF_INT64_FORMAT_SPECIFIER, (int64_t) property_Args2);
+                             
+                           axutil_stream_write(stream, Environment::getEnv(), start_input_str, start_input_str_len);
+                           
+                           axutil_stream_write(stream, Environment::getEnv(), text_value_3, axutil_strlen(text_value_3));
+                           
+                           axutil_stream_write(stream, Environment::getEnv(), end_input_str, end_input_str_len);
+                           
+                     
+                     AXIS2_FREE(Environment::getEnv()->allocator,start_input_str);
+                     AXIS2_FREE(Environment::getEnv()->allocator,end_input_str);
+                 } 
+
+                 
+                   if(namespaces)
+                   {
+                       axutil_hash_index_t *hi;
+                       void *val;
+                       for (hi = axutil_hash_first(namespaces, Environment::getEnv()); hi; hi = axutil_hash_next(Environment::getEnv(), hi))
+                       {
+                           axutil_hash_this(hi, NULL, NULL, &val);
+                           AXIS2_FREE(Environment::getEnv()->allocator, val);
+                       }
+                       axutil_hash_free(namespaces, Environment::getEnv());
+                   }
+                
+
+            return parent;
+        }
+
+
+        
+
+            /**
+             * Getter for args0 by  Property Number 1
+             */
+            axutil_base64_binary_t* WSF_CALL
+            org_splat_ws_server_service_salome::PutFile::getProperty1()
+            {
+                return getArgs0();
+            }
+
+            /**
+             * getter for args0.
+             */
+            axutil_base64_binary_t* WSF_CALL
+            org_splat_ws_server_service_salome::PutFile::getArgs0()
+             {
+                return property_Args0;
+             }
+
+            /**
+             * setter for args0
+             */
+            bool WSF_CALL
+            org_splat_ws_server_service_salome::PutFile::setArgs0(
+                    axutil_base64_binary_t*  arg_Args0)
+             {
+                
+
+                if(isValidArgs0 &&
+                        arg_Args0 == property_Args0)
+                {
+                    
+                    return true;
+                }
+
+                
+
+                
+                resetArgs0();
+
+                
+                    if(NULL == arg_Args0)
+                         
+                {
+                    /* We are already done */
+                    return true;
+                }
+                
+                        property_Args0 = arg_Args0;
+                        isValidArgs0 = true;
+                    
+                return true;
+             }
+
+             
+
+           /**
+            * resetter for args0
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::PutFile::resetArgs0()
+           {
+               int i = 0;
+               int count = 0;
+
+
+               
+            
+                
+
+                if(property_Args0 != NULL)
+                {
+                   
+                   
+                         axutil_base64_binary_free (property_Args0, Environment::getEnv());
+                         property_Args0 = NULL;
+                     
+
+                   }
+
+                
+                
+                
+               isValidArgs0 = false; 
+               return true;
+           }
+
+           /**
+            * Check whether args0 is nill
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::PutFile::isArgs0Nil()
+           {
+               return !isValidArgs0;
+           }
+
+           /**
+            * Set args0 to nill (currently the same as reset)
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::PutFile::setArgs0Nil()
+           {
+               return resetArgs0();
+           }
+
+           
+
+            /**
+             * Getter for args1 by  Property Number 2
+             */
+            std::string WSF_CALL
+            org_splat_ws_server_service_salome::PutFile::getProperty2()
+            {
+                return getArgs1();
+            }
+
+            /**
+             * getter for args1.
+             */
+            std::string WSF_CALL
+            org_splat_ws_server_service_salome::PutFile::getArgs1()
+             {
+                return property_Args1;
+             }
+
+            /**
+             * setter for args1
+             */
+            bool WSF_CALL
+            org_splat_ws_server_service_salome::PutFile::setArgs1(
+                    const std::string  arg_Args1)
+             {
+                
+
+                if(isValidArgs1 &&
+                        arg_Args1 == property_Args1)
+                {
+                    
+                    return true;
+                }
+
+                
+
+                
+                resetArgs1();
+
+                
+                        property_Args1 = std::string(arg_Args1.c_str());
+                        isValidArgs1 = true;
+                    
+                return true;
+             }
+
+             
+
+           /**
+            * resetter for args1
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::PutFile::resetArgs1()
+           {
+               int i = 0;
+               int count = 0;
+
+
+               
+               isValidArgs1 = false; 
+               return true;
+           }
+
+           /**
+            * Check whether args1 is nill
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::PutFile::isArgs1Nil()
+           {
+               return !isValidArgs1;
+           }
+
+           /**
+            * Set args1 to nill (currently the same as reset)
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::PutFile::setArgs1Nil()
+           {
+               return resetArgs1();
+           }
+
+           
+
+            /**
+             * Getter for args2 by  Property Number 3
+             */
+            int64_t WSF_CALL
+            org_splat_ws_server_service_salome::PutFile::getProperty3()
+            {
+                return getArgs2();
+            }
+
+            /**
+             * getter for args2.
+             */
+            int64_t WSF_CALL
+            org_splat_ws_server_service_salome::PutFile::getArgs2()
+             {
+                return property_Args2;
+             }
+
+            /**
+             * setter for args2
+             */
+            bool WSF_CALL
+            org_splat_ws_server_service_salome::PutFile::setArgs2(
+                    const int64_t  arg_Args2)
+             {
+                
+
+                if(isValidArgs2 &&
+                        arg_Args2 == property_Args2)
+                {
+                    
+                    return true;
+                }
+
+                
+
+                
+                resetArgs2();
+
+                
+                        property_Args2 = arg_Args2;
+                        isValidArgs2 = true;
+                    
+                return true;
+             }
+
+             
+
+           /**
+            * resetter for args2
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::PutFile::resetArgs2()
+           {
+               int i = 0;
+               int count = 0;
+
+
+               
+               isValidArgs2 = false; 
+               return true;
+           }
+
+           /**
+            * Check whether args2 is nill
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::PutFile::isArgs2Nil()
+           {
+               return !isValidArgs2;
+           }
+
+           /**
+            * Set args2 to nill (currently the same as reset)
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::PutFile::setArgs2Nil()
+           {
+               return resetArgs2();
+           }
+
+           
+
diff --git a/src/PutFile.h b/src/PutFile.h
new file mode 100644 (file)
index 0000000..f634625
--- /dev/null
@@ -0,0 +1,317 @@
+
+
+        #ifndef PUTFILE_H
+        #define PUTFILE_H
+
+       /**
+        * PutFile.h
+        *
+        * This file was auto-generated from WSDL
+        * by the Apache Axis2/Java version: 1.0  Built on : Nov 21, 2012 (02:43:12 MSK)
+        */
+
+       /**
+        *  PutFile class
+        */
+
+        namespace org_splat_ws_server_service_salome{
+            class PutFile;
+        }
+        
+
+        
+        #include <axutil_base64_binary.h>
+          
+        #include <axutil_qname.h>
+        
+
+        #include <stdio.h>
+        #include <OMElement.h>
+        #include <ServiceClient.h>
+        #include <ADBDefines.h>
+
+namespace org_splat_ws_server_service_salome
+{
+        
+        
+
+        class PutFile {
+
+        private:
+             
+                axutil_qname_t* qname;
+            axutil_base64_binary_t* property_Args0;
+
+                
+                bool isValidArgs0;
+            std::string property_Args1;
+
+                
+                bool isValidArgs1;
+            int64_t property_Args2;
+
+                
+                bool isValidArgs2;
+            
+
+        /*** Private methods ***/
+          
+
+        bool WSF_CALL
+        setArgs2Nil();
+            
+
+
+
+        /******************************* public functions *********************************/
+
+        public:
+
+        /**
+         * Constructor for class PutFile
+         */
+
+        PutFile();
+
+        /**
+         * Destructor PutFile
+         */
+        ~PutFile();
+
+
+       
+
+        /**
+         * Constructor for creating PutFile
+         * @param 
+         * @param Args0 axutil_base64_binary_t*
+         * @param Args1 std::string
+         * @param Args2 int64_t
+         * @return newly created PutFile object
+         */
+        PutFile(axutil_base64_binary_t* arg_Args0,std::string arg_Args1,int64_t arg_Args2);
+        
+        
+        /********************************** Class get set methods **************************************/
+        
+        
+
+        /**
+         * Getter for args0. 
+         * @return axutil_base64_binary_t*
+         */
+        WSF_EXTERN axutil_base64_binary_t* WSF_CALL
+        getArgs0();
+
+        /**
+         * Setter for args0.
+         * @param arg_Args0 axutil_base64_binary_t*
+         * @return true on success, false otherwise
+         */
+        WSF_EXTERN bool WSF_CALL
+        setArgs0(axutil_base64_binary_t*  arg_Args0);
+
+        /**
+         * Re setter for args0
+         * @return true on success, false
+         */
+        WSF_EXTERN bool WSF_CALL
+        resetArgs0();
+        
+        
+
+        /**
+         * Getter for args1. 
+         * @return std::string*
+         */
+        WSF_EXTERN std::string WSF_CALL
+        getArgs1();
+
+        /**
+         * Setter for args1.
+         * @param arg_Args1 std::string*
+         * @return true on success, false otherwise
+         */
+        WSF_EXTERN bool WSF_CALL
+        setArgs1(const std::string  arg_Args1);
+
+        /**
+         * Re setter for args1
+         * @return true on success, false
+         */
+        WSF_EXTERN bool WSF_CALL
+        resetArgs1();
+        
+        
+
+        /**
+         * Getter for args2. 
+         * @return int64_t*
+         */
+        WSF_EXTERN int64_t WSF_CALL
+        getArgs2();
+
+        /**
+         * Setter for args2.
+         * @param arg_Args2 int64_t*
+         * @return true on success, false otherwise
+         */
+        WSF_EXTERN bool WSF_CALL
+        setArgs2(const int64_t  arg_Args2);
+
+        /**
+         * Re setter for args2
+         * @return true on success, false
+         */
+        WSF_EXTERN bool WSF_CALL
+        resetArgs2();
+        
+
+
+        /******************************* Checking and Setting NIL values *********************************/
+        
+
+        /**
+         * NOTE: set_nil is only available for nillable properties
+         */
+
+        
+
+        /**
+         * Check whether args0 is Nill
+         * @return true if the element is Nil, false otherwise
+         */
+        bool WSF_CALL
+        isArgs0Nil();
+
+
+        
+        /**
+         * Set args0 to Nill (same as using reset)
+         * @return true on success, false otherwise.
+         */
+        bool WSF_CALL
+        setArgs0Nil();
+        
+
+        /**
+         * Check whether args1 is Nill
+         * @return true if the element is Nil, false otherwise
+         */
+        bool WSF_CALL
+        isArgs1Nil();
+
+
+        
+        /**
+         * Set args1 to Nill (same as using reset)
+         * @return true on success, false otherwise.
+         */
+        bool WSF_CALL
+        setArgs1Nil();
+        
+
+        /**
+         * Check whether args2 is Nill
+         * @return true if the element is Nil, false otherwise
+         */
+        bool WSF_CALL
+        isArgs2Nil();
+
+
+        
+
+        /**************************** Serialize and De serialize functions ***************************/
+        /*********** These functions are for use only inside the generated code *********************/
+
+        
+        /**
+         * Deserialize the ADB object to an XML
+         * @param dp_parent double pointer to the parent node to be deserialized
+         * @param dp_is_early_node_valid double pointer to a flag (is_early_node_valid?)
+         * @param dont_care_minoccurs Dont set errors on validating minoccurs, 
+         *              (Parent will order this in a case of choice)
+         * @return true on success, false otherwise
+         */
+        bool WSF_CALL
+        deserialize(axiom_node_t** omNode, bool *isEarlyNodeValid, bool dontCareMinoccurs);
+                         
+            
+
+       /**
+         * Declare namespace in the most parent node 
+         * @param parent_element parent element
+         * @param namespaces hash of namespace uri to prefix
+         * @param next_ns_index pointer to an int which contain the next namespace index
+         */
+        void WSF_CALL
+        declareParentNamespaces(axiom_element_t *parent_element, axutil_hash_t *namespaces, int *next_ns_index);
+
+
+        
+
+        /**
+         * Serialize the ADB object to an xml
+         * @param PutFile_om_node node to serialize from
+         * @param PutFile_om_element parent element to serialize from
+         * @param tag_closed Whether the parent tag is closed or not
+         * @param namespaces hash of namespace uris to prefixes
+         * @param next_ns_index an int which contains the next namespace index
+         * @return axiom_node_t on success,NULL otherwise.
+         */
+        axiom_node_t* WSF_CALL
+        serialize(axiom_node_t* PutFile_om_node, axiom_element_t *PutFile_om_element, int tag_closed, axutil_hash_t *namespaces, int *next_ns_index);
+
+        /**
+         * Check whether the PutFile is a particle class (E.g. group, inner sequence)
+         * @return true if this is a particle class, false otherwise.
+         */
+        bool WSF_CALL
+        isParticle();
+
+
+
+        /******************************* get the value by the property number  *********************************/
+        /************NOTE: This method is introduced to resolve a problem in unwrapping mode *******************/
+
+      
+        
+
+        /**
+         * Getter for args0 by property number (1)
+         * @return axutil_base64_binary_t*
+         */
+
+        axutil_base64_binary_t* WSF_CALL
+        getProperty1();
+
+    
+        
+
+        /**
+         * Getter for args1 by property number (2)
+         * @return std::string
+         */
+
+        std::string WSF_CALL
+        getProperty2();
+
+    
+        
+
+        /**
+         * Getter for args2 by property number (3)
+         * @return int64_t
+         */
+
+        int64_t WSF_CALL
+        getProperty3();
+
+    
+
+};
+
+}        
+ #endif /* PUTFILE_H */
+    
+
diff --git a/src/PutFileResponse.cpp b/src/PutFileResponse.cpp
new file mode 100644 (file)
index 0000000..2dc7f6e
--- /dev/null
@@ -0,0 +1,422 @@
+
+
+        /**
+         * PutFileResponse.cpp
+         *
+         * This file was auto-generated from WSDL
+         * by the Apache Axis2/C version: SNAPSHOT  Built on : Mar 10, 2008 (08:35:52 GMT+00:00)
+         */
+
+        #include "PutFileResponse.h"
+        #include <Environment.h>
+        #include <WSFError.h>
+
+
+        using namespace wso2wsf;
+        using namespace std;
+        
+        using namespace org_splat_ws_server_service_salome;
+        
+               /*
+                * Implementation of the putFileResponse|http://salome.service.ws_server.splat.org Element
+                */
+           org_splat_ws_server_service_salome::PutFileResponse::PutFileResponse()
+        {
+
+        
+            qname = NULL;
+        
+                    property__return;
+                
+            isValid_return  = false;
+        
+                  qname =  axutil_qname_create (Environment::getEnv(),
+                        "putFileResponse",
+                        "http://salome.service.ws_server.splat.org",
+                        NULL);
+                
+        }
+
+       org_splat_ws_server_service_salome::PutFileResponse::PutFileResponse(std::string arg__return)
+        {
+             
+                   qname = NULL;
+             
+                 property__return;
+             
+            isValid_return  = true;
+            
+                 qname =  axutil_qname_create (Environment::getEnv(),
+                       "putFileResponse",
+                       "http://salome.service.ws_server.splat.org",
+                       NULL);
+               
+                    property__return = arg__return;
+            
+        }
+        org_splat_ws_server_service_salome::PutFileResponse::~PutFileResponse()
+        {
+
+        }
+
+        
+
+        bool WSF_CALL
+        org_splat_ws_server_service_salome::PutFileResponse::deserialize(axiom_node_t** dp_parent,bool *dp_is_early_node_valid, bool dont_care_minoccurs)
+        {
+          axiom_node_t *parent = *dp_parent;
+          
+          bool status = AXIS2_SUCCESS;
+           
+         const axis2_char_t* text_value = NULL;
+         axutil_qname_t *mqname = NULL;
+          
+            axutil_qname_t *element_qname = NULL; 
+            
+               axiom_node_t *first_node = NULL;
+               bool is_early_node_valid = true;
+               axiom_node_t *current_node = NULL;
+               axiom_element_t *current_element = NULL;
+            
+              
+              while(parent && axiom_node_get_node_type(parent, Environment::getEnv()) != AXIOM_ELEMENT)
+              {
+                  parent = axiom_node_get_next_sibling(parent, Environment::getEnv());
+              }
+              if (NULL == parent)
+              {   
+                return AXIS2_FAILURE;
+              }
+              
+
+                    current_element = (axiom_element_t *)axiom_node_get_data_element(parent, Environment::getEnv());
+                    mqname = axiom_element_get_qname(current_element, Environment::getEnv(), parent);
+                    if (axutil_qname_equals(mqname, Environment::getEnv(), this->qname))
+                    {
+                        
+                          first_node = axiom_node_get_first_child(parent, Environment::getEnv());
+                          
+                    }
+                    else
+                    {
+                        WSF_LOG_ERROR_MSG(Environment::getEnv()->log, WSF_LOG_SI,
+                              "Failed in building adb object for putFileResponse : "
+                              "Expected %s but returned %s",
+                              axutil_qname_to_string(qname, Environment::getEnv()),
+                              axutil_qname_to_string(mqname, Environment::getEnv()));
+                        
+                        return AXIS2_FAILURE;
+                    }
+                    
+
+                     
+                     /*
+                      * building return element
+                      */
+                     
+                     
+                     
+                                   current_node = first_node;
+                                   is_early_node_valid = false;
+                                   
+                                   
+                                    while(current_node && axiom_node_get_node_type(current_node, Environment::getEnv()) != AXIOM_ELEMENT)
+                                    {
+                                        current_node = axiom_node_get_next_sibling(current_node, Environment::getEnv());
+                                    }
+                                    if(current_node != NULL)
+                                    {
+                                        current_element = (axiom_element_t *)axiom_node_get_data_element(current_node, Environment::getEnv());
+                                        mqname = axiom_element_get_qname(current_element, Environment::getEnv(), current_node);
+                                    }
+                                   
+                                 element_qname = axutil_qname_create(Environment::getEnv(), "return", "http://salome.service.ws_server.splat.org", NULL);
+                                 
+
+                           if ( 
+                                (current_node   && current_element && (axutil_qname_equals(element_qname, Environment::getEnv(), mqname))))
+                           {
+                              if( current_node   && current_element && (axutil_qname_equals(element_qname, Environment::getEnv(), mqname)))
+                              {
+                                is_early_node_valid = true;
+                              }
+                              
+                                 
+                                      text_value = axiom_element_get_text(current_element, Environment::getEnv(), current_node);
+                                      if(text_value != NULL)
+                                      {
+                                            status = set_return(text_value);
+                                      }
+                                      
+                                 if(AXIS2_FAILURE ==  status)
+                                 {
+                                     WSF_LOG_ERROR_MSG( Environment::getEnv()->log,WSF_LOG_SI,"failed in setting the value for return ");
+                                     if(element_qname)
+                                     {
+                                         axutil_qname_free(element_qname, Environment::getEnv());
+                                     }
+                                     return AXIS2_FAILURE;
+                                 }
+                              }
+                           
+                  if(element_qname)
+                  {
+                     axutil_qname_free(element_qname, Environment::getEnv());
+                     element_qname = NULL;
+                  }
+                 
+          return status;
+       }
+
+          bool WSF_CALL
+          org_splat_ws_server_service_salome::PutFileResponse::isParticle()
+          {
+            
+                 return false;
+              
+          }
+
+
+          void WSF_CALL
+          org_splat_ws_server_service_salome::PutFileResponse::declareParentNamespaces(
+                    axiom_element_t *parent_element,
+                    axutil_hash_t *namespaces, int *next_ns_index)
+          {
+            
+                  /* Here this is an empty function, Nothing to declare */
+                 
+          }
+
+        
+        
+        axiom_node_t* WSF_CALL
+       org_splat_ws_server_service_salome::PutFileResponse::serialize(axiom_node_t *parent, 
+                       axiom_element_t *parent_element, 
+                       int parent_tag_closed, 
+                       axutil_hash_t *namespaces, 
+                       int *next_ns_index)
+        {
+            
+            
+         
+         axiom_node_t *current_node = NULL;
+         int tag_closed = 0;
+
+         
+         
+                axiom_namespace_t *ns1 = NULL;
+
+                axis2_char_t *qname_uri = NULL;
+                axis2_char_t *qname_prefix = NULL;
+                axis2_char_t *p_prefix = NULL;
+            
+                    axis2_char_t *text_value_1;
+                    axis2_char_t *text_value_1_temp;
+                    
+               axis2_char_t *start_input_str = NULL;
+               axis2_char_t *end_input_str = NULL;
+               unsigned int start_input_str_len = 0;
+               unsigned int end_input_str_len = 0;
+            
+            
+               axiom_data_source_t *data_source = NULL;
+               axutil_stream_t *stream = NULL;
+
+             
+                int next_ns_index_value = 0;
+             
+                    namespaces = axutil_hash_make(Environment::getEnv());
+                    next_ns_index = &next_ns_index_value;
+                     
+                           ns1 = axiom_namespace_create (Environment::getEnv(),
+                                             "http://salome.service.ws_server.splat.org",
+                                             "n"); 
+                           axutil_hash_set(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING, axutil_strdup(Environment::getEnv(), "n"));
+                       
+                     
+                    parent_element = axiom_element_create (Environment::getEnv(), NULL, "putFileResponse", ns1 , &parent);
+                    
+                    
+                    axiom_element_set_namespace(parent_element, Environment::getEnv(), ns1, parent);
+
+
+            
+                    data_source = axiom_data_source_create(Environment::getEnv(), parent, &current_node);
+                    stream = axiom_data_source_get_stream(data_source, Environment::getEnv());
+                  
+                       if(!(p_prefix = (axis2_char_t*)axutil_hash_get(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING)))
+                       {
+                           p_prefix = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof (axis2_char_t) * ADB_DEFAULT_NAMESPACE_PREFIX_LIMIT);
+                           sprintf(p_prefix, "n%d", (*next_ns_index)++);
+                           axutil_hash_set(namespaces, "http://salome.service.ws_server.splat.org", AXIS2_HASH_KEY_STRING, p_prefix);
+                           
+                           axiom_element_declare_namespace_assume_param_ownership(parent_element, Environment::getEnv(), axiom_namespace_create (Environment::getEnv(),
+                                            "http://salome.service.ws_server.splat.org", p_prefix));
+                       }
+                      
+
+                   if (!isValid_return)
+                   {
+                      
+                           /* no need to complain for minoccurs=0 element */
+                            
+                          
+                   }
+                   else
+                   {
+                     start_input_str = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof(axis2_char_t) *
+                                 (4 + axutil_strlen(p_prefix) + 
+                                  axutil_strlen("return"))); 
+                                 
+                                 /* axutil_strlen("<:>") + 1 = 4 */
+                     end_input_str = (axis2_char_t*)AXIS2_MALLOC(Environment::getEnv()->allocator, sizeof(axis2_char_t) *
+                                 (5 + axutil_strlen(p_prefix) + axutil_strlen("return")));
+                                  /* axutil_strlen("</:>") + 1 = 5 */
+                                  
+                     
+
+                   
+                   
+                     
+                     /*
+                      * parsing return element
+                      */
+
+                    
+                    
+                            sprintf(start_input_str, "<%s%sreturn>",
+                                 p_prefix?p_prefix:"",
+                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
+                            
+                        start_input_str_len = axutil_strlen(start_input_str);
+                        sprintf(end_input_str, "</%s%sreturn>",
+                                 p_prefix?p_prefix:"",
+                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
+                        end_input_str_len = axutil_strlen(end_input_str);
+                    
+                           text_value_1 = (axis2_char_t*)property__return.c_str();
+                           
+                           axutil_stream_write(stream, Environment::getEnv(), start_input_str, start_input_str_len);
+                           
+                            
+                           text_value_1_temp = axutil_xml_quote_string(Environment::getEnv(), text_value_1, true);
+                           if (text_value_1_temp)
+                           {
+                               axutil_stream_write(stream, Environment::getEnv(), text_value_1_temp, axutil_strlen(text_value_1_temp));
+                               AXIS2_FREE(Environment::getEnv()->allocator, text_value_1_temp);
+                           }
+                           else
+                           {
+                               axutil_stream_write(stream, Environment::getEnv(), text_value_1, axutil_strlen(text_value_1));
+                           }
+                           
+                           axutil_stream_write(stream, Environment::getEnv(), end_input_str, end_input_str_len);
+                           
+                     
+                     AXIS2_FREE(Environment::getEnv()->allocator,start_input_str);
+                     AXIS2_FREE(Environment::getEnv()->allocator,end_input_str);
+                 } 
+
+                 
+                   if(namespaces)
+                   {
+                       axutil_hash_index_t *hi;
+                       void *val;
+                       for (hi = axutil_hash_first(namespaces, Environment::getEnv()); hi; hi = axutil_hash_next(Environment::getEnv(), hi))
+                       {
+                           axutil_hash_this(hi, NULL, NULL, &val);
+                           AXIS2_FREE(Environment::getEnv()->allocator, val);
+                       }
+                       axutil_hash_free(namespaces, Environment::getEnv());
+                   }
+                
+
+            return parent;
+        }
+
+
+        
+
+            /**
+             * Getter for return by  Property Number 1
+             */
+            std::string WSF_CALL
+            org_splat_ws_server_service_salome::PutFileResponse::getProperty1()
+            {
+                return get_return();
+            }
+
+            /**
+             * getter for return.
+             */
+            std::string WSF_CALL
+            org_splat_ws_server_service_salome::PutFileResponse::get_return()
+             {
+                return property__return;
+             }
+
+            /**
+             * setter for return
+             */
+            bool WSF_CALL
+            org_splat_ws_server_service_salome::PutFileResponse::set_return(
+                    const std::string  arg__return)
+             {
+                
+
+                if(isValid_return &&
+                        arg__return == property__return)
+                {
+                    
+                    return true;
+                }
+
+                
+
+                
+                reset_return();
+
+                
+                        property__return = std::string(arg__return.c_str());
+                        isValid_return = true;
+                    
+                return true;
+             }
+
+             
+
+           /**
+            * resetter for return
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::PutFileResponse::reset_return()
+           {
+               int i = 0;
+               int count = 0;
+
+
+               
+               isValid_return = false; 
+               return true;
+           }
+
+           /**
+            * Check whether return is nill
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::PutFileResponse::is_returnNil()
+           {
+               return !isValid_return;
+           }
+
+           /**
+            * Set return to nill (currently the same as reset)
+            */
+           bool WSF_CALL
+           org_splat_ws_server_service_salome::PutFileResponse::set_returnNil()
+           {
+               return reset_return();
+           }
+
+           
+
diff --git a/src/PutFileResponse.h b/src/PutFileResponse.h
new file mode 100644 (file)
index 0000000..5d868e9
--- /dev/null
@@ -0,0 +1,204 @@
+
+
+        #ifndef PUTFILERESPONSE_H
+        #define PUTFILERESPONSE_H
+
+       /**
+        * PutFileResponse.h
+        *
+        * This file was auto-generated from WSDL
+        * by the Apache Axis2/Java version: 1.0  Built on : Nov 21, 2012 (02:43:12 MSK)
+        */
+
+       /**
+        *  PutFileResponse class
+        */
+
+        namespace org_splat_ws_server_service_salome{
+            class PutFileResponse;
+        }
+        
+
+        
+        #include <axutil_qname.h>
+        
+
+        #include <stdio.h>
+        #include <OMElement.h>
+        #include <ServiceClient.h>
+        #include <ADBDefines.h>
+
+namespace org_splat_ws_server_service_salome
+{
+        
+        
+
+        class PutFileResponse {
+
+        private:
+             
+                axutil_qname_t* qname;
+            std::string property__return;
+
+                
+                bool isValid_return;
+            
+
+        /*** Private methods ***/
+          
+
+
+
+        /******************************* public functions *********************************/
+
+        public:
+
+        /**
+         * Constructor for class PutFileResponse
+         */
+
+        PutFileResponse();
+
+        /**
+         * Destructor PutFileResponse
+         */
+        ~PutFileResponse();
+
+
+       
+
+        /**
+         * Constructor for creating PutFileResponse
+         * @param 
+         * @param _return std::string
+         * @return newly created PutFileResponse object
+         */
+        PutFileResponse(std::string arg__return);
+        
+        
+        /********************************** Class get set methods **************************************/
+        
+        
+
+        /**
+         * Getter for return. 
+         * @return std::string*
+         */
+        WSF_EXTERN std::string WSF_CALL
+        get_return();
+
+        /**
+         * Setter for return.
+         * @param arg__return std::string*
+         * @return true on success, false otherwise
+         */
+        WSF_EXTERN bool WSF_CALL
+        set_return(const std::string  arg__return);
+
+        /**
+         * Re setter for return
+         * @return true on success, false
+         */
+        WSF_EXTERN bool WSF_CALL
+        reset_return();
+        
+
+
+        /******************************* Checking and Setting NIL values *********************************/
+        
+
+        /**
+         * NOTE: set_nil is only available for nillable properties
+         */
+
+        
+
+        /**
+         * Check whether return is Nill
+         * @return true if the element is Nil, false otherwise
+         */
+        bool WSF_CALL
+        is_returnNil();
+
+
+        
+        /**
+         * Set return to Nill (same as using reset)
+         * @return true on success, false otherwise.
+         */
+        bool WSF_CALL
+        set_returnNil();
+        
+
+        /**************************** Serialize and De serialize functions ***************************/
+        /*********** These functions are for use only inside the generated code *********************/
+
+        
+        /**
+         * Deserialize the ADB object to an XML
+         * @param dp_parent double pointer to the parent node to be deserialized
+         * @param dp_is_early_node_valid double pointer to a flag (is_early_node_valid?)
+         * @param dont_care_minoccurs Dont set errors on validating minoccurs, 
+         *              (Parent will order this in a case of choice)
+         * @return true on success, false otherwise
+         */
+        bool WSF_CALL
+        deserialize(axiom_node_t** omNode, bool *isEarlyNodeValid, bool dontCareMinoccurs);
+                         
+            
+
+       /**
+         * Declare namespace in the most parent node 
+         * @param parent_element parent element
+         * @param namespaces hash of namespace uri to prefix
+         * @param next_ns_index pointer to an int which contain the next namespace index
+         */
+        void WSF_CALL
+        declareParentNamespaces(axiom_element_t *parent_element, axutil_hash_t *namespaces, int *next_ns_index);
+
+
+        
+
+        /**
+         * Serialize the ADB object to an xml
+         * @param PutFileResponse_om_node node to serialize from
+         * @param PutFileResponse_om_element parent element to serialize from
+         * @param tag_closed Whether the parent tag is closed or not
+         * @param namespaces hash of namespace uris to prefixes
+         * @param next_ns_index an int which contains the next namespace index
+         * @return axiom_node_t on success,NULL otherwise.
+         */
+        axiom_node_t* WSF_CALL
+        serialize(axiom_node_t* PutFileResponse_om_node, axiom_element_t *PutFileResponse_om_element, int tag_closed, axutil_hash_t *namespaces, int *next_ns_index);
+
+        /**
+         * Check whether the PutFileResponse is a particle class (E.g. group, inner sequence)
+         * @return true if this is a particle class, false otherwise.
+         */
+        bool WSF_CALL
+        isParticle();
+
+
+
+        /******************************* get the value by the property number  *********************************/
+        /************NOTE: This method is introduced to resolve a problem in unwrapping mode *******************/
+
+      
+        
+
+        /**
+         * Getter for return by property number (1)
+         * @return std::string
+         */
+
+        std::string WSF_CALL
+        getProperty1();
+
+    
+
+};
+
+}        
+ #endif /* PUTFILERESPONSE_H */
+    
+
diff --git a/src/SimanIO_Activity.cxx b/src/SimanIO_Activity.cxx
new file mode 100644 (file)
index 0000000..870a58d
--- /dev/null
@@ -0,0 +1,78 @@
+#include <SimanIO_Activity.hxx>
+
+using namespace std;
+
+SimanIO_Activity::SimanIO_Activity()
+{
+}
+
+void SimanIO_Activity::SetName(const char* theName)
+{
+  myName = theName;
+}
+
+const char* SimanIO_Activity::Name() const
+{
+  return myName.c_str();
+}
+
+void SimanIO_Activity::SetModule(const char* theModuleName)
+{
+  myModule = theModuleName;
+}
+
+const char* SimanIO_Activity::Module() const
+{
+  return myModule.c_str();
+}
+
+void SimanIO_Activity::AddDocument(const int theID, const SimanIO_Document& theDoc)
+{
+  myDocs[theID] = theDoc;
+}
+
+SimanIO_Document& SimanIO_Activity::Document(const int theId)
+{
+  return myDocs[theId];
+}
+
+const int SimanIO_Activity::DocumentMaxID() const
+{
+  if (myDocs.empty()) return -1;
+  return myDocs.rbegin()->first; // documents in map are ordered by ID, so, the last one has the bigger ID
+}
+
+SimanIO_Document& SimanIO_Activity::GetOrCreateDocument(const int theId)
+{
+  if (myDocs.find(theId) == myDocs.end()) {
+    myDocs[theId] = SimanIO_Document();
+  }
+  return myDocs[theId];
+}
+
+//////////////////////////// Iterator methods /////////////////////////
+SimanIO_Activity::DocumentsIterator::DocumentsIterator(/*const*/ SimanIO_Activity& theActivity)
+{
+  myIter = theActivity.myDocs.begin();
+  myEnd = theActivity.myDocs.end();
+}
+
+void SimanIO_Activity::DocumentsIterator::Next()
+{
+  myIter++;
+}
+
+bool SimanIO_Activity::DocumentsIterator::More()
+{
+  return myIter != myEnd; 
+}
+
+/*const*/ SimanIO_Document& SimanIO_Activity::DocumentsIterator::Document()
+{
+  return myIter->second;
+}
+
+const int SimanIO_Activity::DocumentsIterator::DocId()
+{
+  return myIter->first;
+}
diff --git a/src/SimanIO_Activity.hxx b/src/SimanIO_Activity.hxx
new file mode 100644 (file)
index 0000000..6fada14
--- /dev/null
@@ -0,0 +1,88 @@
+#ifndef SIMANIO_ACTIVITY_H
+#define SIMANIO_ACTIVITY_H
+
+#include <SimanIO_Document.hxx>
+
+#include <map>
+
+/**
+ * \brief Class for storage and store CFG file activity information.
+ */
+class SimanIO_Activity {
+  std::string myName;   ///< name of the activity
+  std::string myModule; ///< module of the activity
+  typedef std::map<int, SimanIO_Document> ActivityDocuments;
+  ActivityDocuments myDocs; ///< documents of the activity, referenced by document ID
+public:
+  /**
+   * Creates the empty, default activity.
+   */
+  SimanIO_Activity();
+  
+  /**
+   * Defines the activity name.
+   * \param theName name of the activity (enclosed by "" in CFG file).
+   */
+  void SetName(const char* theName);
+  
+  /**
+   * Returns the name of the activity.
+   */
+  const char* Name() const;
+
+  /**
+   * Defines the activity module.
+   * \param theModuleName name of the module in SALOME
+   */
+  void SetModule(const char* theModuleName);
+
+  /**
+   * Returns the module of the activity.
+   */
+  const char* Module() const;
+
+  /**
+   * Appends the documents to this activity.
+   * \param theID identifier of the document, unique for whole configuration file.
+   * \param theDoc document with all fields filled
+   */
+  void AddDocument(const int theID, const SimanIO_Document& theDoc);
+
+  /**
+   * Returns the document by its Id, crashes if there is no such document.
+   * \returns reference to the document.
+   */
+  SimanIO_Document& Document(const int theId);
+
+  /**
+   * Returns id of one of the documents of this activity: maximal ID.
+   * \returns -1 if activity has no documents
+   */
+  const int DocumentMaxID() const;
+  
+  /**
+   * Creates or returns existing document with the given Id.
+   * \param theId identifier of the document
+   * \return reference to document, already stored in the activity
+   */
+  SimanIO_Document& GetOrCreateDocument(const int theId);
+
+  //! Iterator for activity documents browsing
+  class DocumentsIterator {
+    ActivityDocuments::iterator myIter; ///< iterator by the documents of the activity
+    ActivityDocuments::const_iterator myEnd;  ///< end iteration indicator
+    public:
+    ///! Launches the iterator
+    DocumentsIterator(/*const*/ SimanIO_Activity& theActivity);
+    ///! Iterates to the next document of the Activity.
+    void Next();
+    ///! Returns tru if the current document exists.
+    bool More();
+    ///! Returns the current document Id.
+    const int DocId();
+    ///! Returns the current document.
+    /*const*/ SimanIO_Document& Document();
+  };
+};
+
+#endif
diff --git a/src/SimanIO_Configuration.cxx b/src/SimanIO_Configuration.cxx
new file mode 100644 (file)
index 0000000..22aedb9
--- /dev/null
@@ -0,0 +1,249 @@
+#include <SimanIO_Configuration.hxx>
+
+#include <stdlib.h>
+
+// maximum length of the line in the parsed conf file
+const int MAX_BUFFER_SIZE=10000;
+
+using namespace std;
+
+SimanIO_Configuration::SimanIO_Configuration()
+{
+}
+
+///! Returns true is the given symbol is white space
+static bool IsWhite(const char theSym) {
+  return theSym == ' ' || theSym == '\t';
+}
+
+///! Returns true if theLine starts with theCommand, returns in theVal rest part of the line in this case
+static bool IsCommand(const char* theCommand, char* theLine, char*& theVal) {
+  string aLine(theLine);
+  char* aComPtr = (char*)theCommand;
+  theVal = theLine;
+  while(*aComPtr != 0 && *theVal != 0) {
+    if (IsWhite(*aComPtr)) { // skip white spaces in the command line
+      aComPtr++;
+      continue;
+    }
+    if (IsWhite(*theVal)) { // skip white spaces in the processed line
+      theVal++;
+      continue;
+    }
+     //cout<<"Compare symbols "<<tolower(*aComPtr)<<" and "<<tolower(*theVal)<<endl;
+    if (tolower(*aComPtr) != tolower(*theVal)) // symbols are not match (case is not significant)
+      break;
+    aComPtr++;
+    theVal++;
+  }
+  if (*aComPtr == 0) { // command has been found
+    while(*theVal != 0 && IsWhite(*theVal)) { // skip white spaces in the processed line
+      theVal++;
+    }
+    return true;
+  }
+  return false;
+}
+
+///! Returns true if theText1 fully equal to theText2
+static bool IsValue(const char* theText1, const char* theText2) {
+  int a;
+  for(a = 0; theText1[a] != 0 && theText2[a] != 0; a++)
+    if (theText1[a] != theText2[a]) return false;
+  return theText1[a] == 0 && theText2[a] == 0;
+}
+
+///! Converts string to the integer value, or returns the default vaule if failed
+static int toInt(const char* theStr, int theDefault) {
+  int aResult;
+  try {
+    aResult = atol(theStr);
+  } catch(...) {
+    aResult = theDefault;
+  }
+  return aResult;
+}
+
+// unification of the error handling in the Parse method
+#define PARSE_ERROR(condition, message) if (condition) {cerr<<message<<endl; return false;}
+
+bool SimanIO_Configuration::Parse(const char* theConfFileName)
+{
+  ifstream f(theConfFileName);
+  myF = &f;
+  PARSE_ERROR(!f.good(), "Can not read conf file "<<theConfFileName)
+  char aBuffer[MAX_BUFFER_SIZE];
+  myBuffer = aBuffer; // buffer for one line reading
+  myReuseLine = false; // to read current line from the file
+  char* aVal; // value in line, that is located after the identifier of the command
+  while(!f.eof()) {
+    ReadLine();
+    if (IsCommand("Study ID :", myBuffer, aVal)) {
+      // skip study ID: this info is known in Link
+    } else if (IsCommand("Scenario ID :", myBuffer, aVal)) {
+      // skip scenario ID: this info is known in Link
+    } else if (IsCommand("User ID :", myBuffer, aVal)) {
+      // skip user ID: this info is known in Link
+    } else if (IsCommand("Activity", myBuffer, aVal)) {
+      if (!ParseActivity(aVal)) return false;
+    } else {
+      PARSE_ERROR(true, "Invalid line of conf file: '"<<myBuffer<<"'");
+    }
+  }
+  return true;
+}
+
+bool SimanIO_Configuration::ParseActivity(char* aName)
+{
+  SimanIO_Activity aNewActivity;
+  aNewActivity.SetName(aName);
+  int activityID = -1; // to be imported later
+  char* aVal; // value in line, that is located after the identifier of the command
+  while(!myF->eof()) {
+    ReadLine();
+    if (IsCommand("Activity ID :", myBuffer, aVal)) {
+      PARSE_ERROR(activityID != -1, "Duplicated activity identifier '"<<myBuffer<<"'");
+      activityID = toInt(aVal, -1);
+      PARSE_ERROR(activityID < 1, "Invalid activity identifier '"<<aVal<<"'");
+    } else if (IsCommand("Module :", myBuffer, aVal) || IsCommand("SALOME Module :", myBuffer, aVal)) { // read only if module not yet imported before
+      char* aVal2;
+      PARSE_ERROR(aNewActivity.Module()[0] != 0, "Duplicated module name in '"<<myBuffer<<"'")
+      PARSE_ERROR(aVal[0] == 0, "Invalid module name in '"<<myBuffer<<"'")
+      aNewActivity.SetModule(aVal);
+    } else if (IsCommand("Document :", myBuffer, aVal)) {
+      if (!ParseDocument(aVal, aNewActivity)) return false;
+    } else { // unknown command will be processed in higher level method
+      myReuseLine = true;
+      break;
+    }
+  }
+  PARSE_ERROR(activityID == -1, "Activity '"<<aNewActivity.Name()<<"' ID is not defined");
+  PARSE_ERROR(aNewActivity.Module()[0] == 0, "Module of the activity '"<<aNewActivity.Name()<<"' is not defined");
+  if (!IsValue("null", aNewActivity.Module())) // skip activities with module name "null"
+    AddActivity(aNewActivity, activityID);
+  return true;
+}
+
+bool SimanIO_Configuration::ParseDocument(char* aName, SimanIO_Activity& theActivity)
+{
+  SimanIO_Document aNewDocument;
+  aNewDocument.SetName(aName);
+  int aDocID = -1; // to be imported later
+  char* aVal; // value in line, that is located after the identifier of the command
+  while(!myF->eof()) {
+    ReadLine();
+    if (IsCommand("Document ID :", myBuffer, aVal)) {
+      PARSE_ERROR(aDocID != -1, "Duplicated document identifier '"<<myBuffer<<"'");
+      aDocID = toInt(aVal, -1);
+      PARSE_ERROR(aDocID < 1, "Invalid document identifier '"<<aVal<<"'");
+    } else if (IsCommand("Source file:", myBuffer, aVal) || IsCommand("Result file:", myBuffer, aVal)) {
+      if (!ParseFile(aNewDocument)) return false;
+    } else { // unknown command will be processed in higher level method
+      myReuseLine = true;
+      break;
+    }
+  }
+  PARSE_ERROR(aDocID == -1, "Document '"<<aNewDocument.Name()<<"' ID is not defined");
+  theActivity.AddDocument(aDocID, aNewDocument);
+  return true;
+}
+
+bool SimanIO_Configuration::ParseFile(SimanIO_Document& theDocument)
+{
+  SimanIO_File aNewFile;
+  aNewFile.id = -1;
+  int aDocID = -1; // to be imported later
+  char* aVal; // value in line, that is located after the identifier of the command
+  
+  // current line contains one of the next two commands
+  if (IsCommand("Result file :", myBuffer, aVal)) {
+    aNewFile.result = true;
+    aNewFile.url = aVal;
+  } else if (IsCommand("Source file :", myBuffer, aVal)) {
+    aNewFile.result = false;
+    aNewFile.url = aVal;
+  }
+  PARSE_ERROR(aNewFile.url.empty(), "File '"<<myBuffer<<"' has invalid URL");
+  while(!myF->eof()) {
+    ReadLine();
+    if (IsCommand("Automatic processing :", myBuffer, aVal)) {
+      char* aVal2;
+      if (IsCommand("file-download", aVal, aVal2)) aNewFile.proc = FILE_DOWNLOAD;
+      else if (IsCommand("file-import", aVal, aVal2)) aNewFile.proc = FILE_IMPORT;
+      else PARSE_ERROR(true, "Invalid automatic processing value '"<<aVal<<"'");
+    } else if (IsCommand("State :", myBuffer, aVal)) {
+      char* aVal2;
+      if (IsCommand("file-actual", aVal, aVal2)) aNewFile.state = FILE_ACTUAL;
+      else if (IsCommand("file-outdated", aVal, aVal2)) aNewFile.state = FILE_OUTDATED;
+      else PARSE_ERROR(true, "Invalid state value '"<<aVal<<"'");
+    } else if (IsCommand("File ID :", myBuffer, aVal)) {
+      PARSE_ERROR(aNewFile.id != -1, "Duplicated file identifier '"<<myBuffer<<"'");
+      aNewFile.id = toInt(aVal, -1);
+      PARSE_ERROR(aNewFile.id < 0, "Invalid file identifier '"<<aVal<<"'");
+    } else { // unknown command will be processed in higher level method
+      myReuseLine = true;
+      break;
+    }
+  }
+  PARSE_ERROR(aNewFile.id < 0, "File '"<<aNewFile.url<<"' ID is not defined");
+  theDocument.AddFile(aNewFile);
+  return true;
+}
+
+int SimanIO_Configuration::AddActivity(const SimanIO_Activity& theActivity, const int theId)
+{
+  int anId = theId;
+  if (theId < 0) { // generate the maximum unique Id
+    if (myActivities.empty()) anId = 1; // the first
+    else {
+      anId = myActivities.rbegin()->first + 1; // take the maximum Id plus one (in map integers are ordered)
+    }
+  }
+  myActivities[anId] = theActivity;
+}
+
+SimanIO_Activity& SimanIO_Configuration::GetOrCreateActivity(const int theId)
+{
+  if (myActivities.find(theId) == myActivities.end()) {
+    myActivities[theId] = SimanIO_Activity();
+  }
+  return myActivities[theId];
+}
+
+void SimanIO_Configuration::ReadLine() {
+  if (myReuseLine) { // reuse current line
+    myReuseLine = false;
+    return;
+  }
+  do {
+    myF->getline(myBuffer, MAX_BUFFER_SIZE - 1);
+  } while(!myF->eof() && myBuffer[0] == 0); // continue if there is empty line
+}
+
+/////////////////////////////////// iterator methods ///////////////////////////
+
+SimanIO_Configuration::ActivitiesIterator::ActivitiesIterator(SimanIO_Configuration& theConf)
+{
+  myIter = theConf.myActivities.begin();
+  myEnd = theConf.myActivities.end();
+}
+
+void SimanIO_Configuration::ActivitiesIterator::Next()
+{
+  myIter++;
+}
+
+bool SimanIO_Configuration::ActivitiesIterator::More()
+{
+  return myIter != myEnd;
+}
+
+const int SimanIO_Configuration::ActivitiesIterator::ActivityId()
+{
+  return myIter->first;
+}
+
+SimanIO_Activity& SimanIO_Configuration::ActivitiesIterator::Activity()
+{
+  return myIter->second;
+}
diff --git a/src/SimanIO_Configuration.hxx b/src/SimanIO_Configuration.hxx
new file mode 100644 (file)
index 0000000..9c08fe1
--- /dev/null
@@ -0,0 +1,77 @@
+#ifndef SIMANIO_CONFIGURATION_H
+#define SIMANIO_CONFIGURATION_H
+
+#include <SimanIO_Activity.hxx>
+#include <fstream>
+#include <iostream>
+
+/**
+ * \brief Class for storage and store CFG file information.
+ */
+
+class SimanIO_Configuration {
+  std::map<int, SimanIO_Activity> myActivities; ///< map of Id of activity t othe activity instance
+  
+  // fileds that are used for file parsing
+  char* myBuffer; // container for one configuration file line
+  std::ifstream* myF; // opened configuration file
+  bool myReuseLine; // if true instead of the next line reading from the file, it must be the current buffer reused
+public:
+  /**
+   * Creates the configuration with no initial data inside (for filling).
+   */
+  SimanIO_Configuration();
+
+  /**
+   * Fills the configuration, by the input file content (for retrieving).
+   * \param theConfFileName name of the file to be parsed and data retrieved.
+   * \returns true if file was correctly parsed.
+   */
+  bool Parse(const char* theConfFileName);
+
+  /**
+   * Creates ne wactivity section.
+   * \param theActivity activity data
+   * \param theId identifier of the activity (>0), or zero if identifier must be generated
+   * \returns integer identifier of activity
+   */
+  int AddActivity(const SimanIO_Activity& theActivity, const int theId = 0);
+  
+  /**
+   * Creates or returns existing activity with the given Id.
+   * \param theId identifier of the activity
+   * \return reference to activity, already stored in the configuration
+   */
+  SimanIO_Activity& GetOrCreateActivity(const int theId);
+
+  /**
+   * Iterator for actifities.
+   */
+  class ActivitiesIterator {
+    std::map<int, SimanIO_Activity>::iterator myIter; // activities iterator
+    std::map<int, SimanIO_Activity>::iterator myEnd;  // end if activities identifier
+  public:
+    ///! Initializes iterator of the activities of the certain configuration.
+    ActivitiesIterator(SimanIO_Configuration& theConf);
+    ///! Iterates to the next activity of the Configuration.
+    void Next();
+    ///! Returns tru if the current activity exists.
+    bool More();
+    ///! Returns the current activity identifier.
+    const int ActivityId(); 
+    ///! Returns the current activity.
+    SimanIO_Activity& Activity(); 
+  };
+  
+private:
+  //! Stores in the buffer the next line from the CFG file
+  void ReadLine();
+  //! Parses the activity section
+  bool ParseActivity(char* aName);
+  //! Parses the document section
+  bool ParseDocument(char* aName, SimanIO_Activity& theActivity);
+  //! Parses the file section
+  bool ParseFile(SimanIO_Document& theDocument);
+};
+
+#endif
diff --git a/src/SimanIO_Document.cxx b/src/SimanIO_Document.cxx
new file mode 100644 (file)
index 0000000..9053d9a
--- /dev/null
@@ -0,0 +1,89 @@
+#include <SimanIO_Document.hxx>
+
+using namespace std;
+
+SimanIO_Document::SimanIO_Document()
+{
+}
+
+void SimanIO_Document::SetName(const char* theName)
+{
+  myName = theName;
+}
+
+const char* SimanIO_Document::Name() const
+{
+  return myName.c_str();
+}
+
+void SimanIO_Document::AddFile(const bool isResult, const char* theURL,
+                               const AutomaticProcessing theProc, const FileState theState)
+{
+  SimanIO_File aFile = {theURL, isResult, theProc, theState};
+  AddFile(aFile);
+}
+
+void SimanIO_Document::AddFile(const SimanIO_File& theFile)
+{
+  myFiles.push_back(theFile);
+}
+
+const SimanIO_File& SimanIO_Document::File(const int theId) const
+{
+  DocumentFiles::const_iterator aFIter = myFiles.begin();
+  for(; aFIter != myFiles.end(); aFIter++) {
+    if (aFIter->id == theId)
+      return *aFIter;
+  }
+  static SimanIO_File anEmpty;
+  return anEmpty;
+}
+
+//////////////////////////// Iterator methods /////////////////////////
+SimanIO_Document::FilesIterator::FilesIterator(/*const*/ SimanIO_Document& theDocument)
+{
+  myIter = theDocument.myFiles.begin();
+  myEnd = theDocument.myFiles.end();
+}
+
+void SimanIO_Document::FilesIterator::Next()
+{
+  myIter++;
+}
+
+bool SimanIO_Document::FilesIterator::More()
+{
+  return myIter != myEnd; 
+}
+const bool SimanIO_Document::FilesIterator::IsResult()
+{
+  return myIter->result;
+}
+
+const char* SimanIO_Document::FilesIterator::URL()
+{
+  return myIter->url.c_str();
+}
+
+void SimanIO_Document::FilesIterator::SetURL(const char* theURL)
+{
+  myIter->url = theURL;
+  //myIter->url(theURL);
+  //std::string test = "abc";
+  //myIter->url(test);
+}
+
+const AutomaticProcessing SimanIO_Document::FilesIterator::GetProcessing()
+{
+  return myIter->proc;
+}
+
+const FileState SimanIO_Document::FilesIterator::GetState()
+{
+  return myIter->state;
+}
+
+const int SimanIO_Document::FilesIterator::Id()
+{
+  return myIter->id;
+}
diff --git a/src/SimanIO_Document.hxx b/src/SimanIO_Document.hxx
new file mode 100644 (file)
index 0000000..d002986
--- /dev/null
@@ -0,0 +1,100 @@
+#ifndef SIMANIO_DOCUMENT_H
+#define SIMANIO_DOCUMENT_H
+
+#include <string>
+#include <list>
+
+///! Kinds of automatic actions, accessible for SIMAN file
+enum AutomaticProcessing {
+  FILE_DOWNLOAD,
+  FILE_IMPORT
+};
+
+///! Possible states of the SIMAN file
+enum FileState {
+  FILE_ACTUAL,
+  FILE_OUTDATED
+};
+///! Action document data
+struct SimanIO_File {
+  std::string url;          ///< document url in SIMAN
+  bool result;              ///< if true, document is result, the source otherwise
+  AutomaticProcessing proc; ///< processing kind
+  FileState state;          ///< state of the document
+  int id;                   ///< identifier of the file
+};
+
+/**
+ * \brief Class for storage and store CFG file document information.
+ */
+class SimanIO_Document {
+  std::string myName;   ///< name of the document
+  typedef std::list<SimanIO_File> DocumentFiles;
+  DocumentFiles myFiles; ///< files of the document
+public:
+  /**
+   * Creates the empty, default document.
+   */
+  SimanIO_Document();
+  
+  /**
+   * Defines the document name.
+   * \param theName name of the document
+   */
+  void SetName(const char* theName);
+  
+  /**
+   * Returns the name of the document.
+   */
+  const char* Name() const;
+
+  /**
+   * Appends the file to this document.
+   * \param isResult if it is true, the document is resulting document, if false - the input document for the activity
+   * \param theURL path to the file
+   * \param theProc automatic processing kind
+   * \param theState file state
+   */
+  void AddFile(const bool isResult, const char* theURL,
+                   const AutomaticProcessing theProc, const FileState theState);
+
+  /**
+   * Appends the file to this document.
+   * \param theFile file with all fields filled
+   */
+  void AddFile(const SimanIO_File& theFile);
+  
+  /**
+   * Returns stored file or empty file.
+   * \param theId identifier of the file
+   * \returns reference to the file, located in the document
+   */
+  const SimanIO_File& File(const int theId) const;
+
+  //! Iterator for activity documents browsing
+  class FilesIterator {
+    DocumentFiles::iterator myIter; ///< iterator by the file of the document
+    DocumentFiles::const_iterator myEnd;  ///< end iteration indicator
+    public:
+    ///! Launches the iterator
+    FilesIterator(/*const*/ SimanIO_Document& theDocument);
+    ///! Iterates to the next file of the document.
+    void Next();
+    ///! Returns tru if the current file exists.
+    bool More();
+    ///! Returns true if the current file is resulting document.
+    const bool IsResult();
+    ///! Returns the current file URL.
+    const char* URL();
+    ///! Set the new URL of the file.
+    void SetURL(const char* theURL);
+    ///! Returns the processing kind
+    const AutomaticProcessing GetProcessing();
+    ///! Returns the file state
+    const FileState GetState();
+    ///! Returns the file Id
+    const int Id();
+  };
+};
+
+#endif
diff --git a/src/SimanIO_Link.cxx b/src/SimanIO_Link.cxx
new file mode 100644 (file)
index 0000000..d460a51
--- /dev/null
@@ -0,0 +1,304 @@
+#include "CreateConfigFile.h"
+#include "CreateConfigFileResponse.h"
+#include "GetFile.h"
+#include "GetFileResponse.h"
+#include "PutFile.h"
+#include "PutFileResponse.h"
+#include "SimanSalomeServiceStub.h"
+
+#include <Environment.h>
+#include <iostream>
+#include <fstream>
+#include <sstream>
+#include <ServiceClient.h>
+#include <SimanIO_Link.hxx>
+
+
+#include <algorithm>
+
+
+using namespace std;
+using namespace org_splat_ws_server_service_salome;
+using namespace wso2wsf;
+
+SimanIO_Link::SimanIO_Link(const char* theStudyID, 
+    const char* theScenarioID, const char* theUserID)
+: myStudy(theStudyID), myScenario(theScenarioID), myUser(theUserID)
+{
+}
+
+bool SimanIO_Link::IsConnected()
+{
+  // TO DO
+  return true;
+}
+
+// unification of the error handling in the RetrieveConf and StoreConf  methods
+#define CONFIGURSION_ERROR(message) {cerr<<message<<endl;}
+
+SimanIO_Configuration SimanIO_Link::RetrieveConf()
+{
+  SimanIO_Configuration aResult;
+  // for now use simple initial cfg file for testings purposes only
+  // in the future this file must be downloaded from the SIMAN server somehow
+  //const char* aCFGFile = "/dn20/salome/mpv/siman/text1.conf";
+  
+  char* aSimanHost = getenv("SIMAN_WS_HOST");
+  if (aSimanHost == NULL)
+  {
+    CONFIGURSION_ERROR("The SIMAN_WS_HOST variable does not exist. Please set it.\n");
+    return aResult;
+  }
+  
+  string aSimanWSHost(aSimanHost);
+  string anEndpointUri = "http://" + aSimanWSHost + "/Siman-WS/services/SimanSalomeService";
+  
+  Environment::initialize("SimanSalomeService.log",AXIS2_LOG_LEVEL_DEBUG);
+  char* aClientHomeEnv = getenv("WSFCPP_HOME");
+  
+  if (aClientHomeEnv == NULL)
+  {
+    CONFIGURSION_ERROR("The WSFCPP_HOME variable does not exist. Please set it.\n");
+    return aResult;
+  }
+  
+  string aClientHome = AXIS2_GETENV("WSFCPP_HOME");
+  SimanSalomeServiceStub* aStub = new SimanSalomeServiceStub(aClientHome, anEndpointUri);
+  ServiceClient *client = aStub->getServiceClient();
+  
+  //Set the ServiceClient options
+  client->engageModule(AXIS2_MODULE_ADDRESSING);
+  Options *options = client->getOptions();
+  axis2_options_t *axis2options = options->getAxis2Options();
+  axis2_options_set_action(axis2options, Environment::getEnv(), "urn:createConfigFile");
+  
+  //MTOM options
+  options->setTimeout(1000000);
+  options->setSoapVersion(AXIOM_SOAP12);
+  
+  //CreateConfigFile operation
+  CreateConfigFile* aCreateConfigFileRequest = new CreateConfigFile();
+  
+  aCreateConfigFileRequest->setArgs0(atoll(myStudy.c_str()));
+  aCreateConfigFileRequest->setArgs1(atoll(myScenario.c_str()));
+  aCreateConfigFileRequest->setArgs2(atoll(myUser.c_str()));
+  
+  //cout<<"StudyId = " << atoll(myStudy.c_str()) << "\n";
+  //cout<<"ScenarioId = " << atoll(myScenario.c_str()) << "\n";
+  //cout<<"UserId = " << atoll(myUser.c_str()) << "\n";
+  
+  CreateConfigFileResponse* aCreateConfigFileResponse = new CreateConfigFileResponse();
+  aCreateConfigFileResponse = aStub->createConfigFile(aCreateConfigFileRequest);
+  
+  string aResponseFilePath = aCreateConfigFileResponse->get_return();
+  
+  //cout << "Response file path = " << aResponseFilePath << "\n";
+  
+  string aResponseFileName = aResponseFilePath.substr(aResponseFilePath.find_last_of("/\\")+1);
+  
+  //Get the created config file to client
+  
+  //Set the options
+  axis2_options_set_action(axis2options, Environment::getEnv(), "urn:getFile");
+  
+  GetFile* aGetFileRequest = new GetFile();
+  aGetFileRequest->setArgs0(aResponseFilePath);
+  GetFileResponse* aGetFileResponse = new GetFileResponse();
+  aGetFileResponse = aStub->getFile(aGetFileRequest);
+  
+  //Parse the response and get the filename
+  string aTmpDir = "/tmp";
+  string aClientFileDir = aTmpDir + "/SimanSalome/" + myUser + "/download/";
+  string aClientFilePath = aClientFileDir + aResponseFileName;
+  
+  //Cretae the directories
+  system(("mkdir -p " + aClientFileDir).c_str());
+  
+  //Download the siman-salome.conf file
+  ofstream outputStream;
+  outputStream.open(aClientFilePath.c_str(), ofstream::binary);
+  int aBufferSize = axutil_base64_binary_get_decoded_binary_len(aGetFileResponse->get_return(), Environment::getEnv());
+  int* aBufSize = new int[aBufferSize];
+  unsigned char* aCopyBuffer = axutil_base64_binary_get_plain_binary(aGetFileResponse->get_return(), Environment::getEnv(), aBufSize);
+  outputStream.write(reinterpret_cast<const char*>(aCopyBuffer),aBufferSize);
+  outputStream.flush();
+  outputStream.close();
+  delete[] aCopyBuffer;
+  
+  //Parse the downloaded siman-salome.conf file
+  aResult.Parse(aClientFilePath.c_str());
+  
+  //Set the actual file URLs and get these files onto client.
+  SimanIO_Configuration::ActivitiesIterator actIter(aResult);
+  for(; actIter.More(); actIter.Next()) {
+    SimanIO_Activity::DocumentsIterator aDocIter(actIter.Activity());
+    for(; aDocIter.More(); aDocIter.Next()) {
+      /*const*/ SimanIO_Document& aDoc = aDocIter.Document();
+      SimanIO_Document::FilesIterator aFileIter(aDoc);
+      for(; aFileIter.More(); aFileIter.Next()) {
+        string aURL = aFileIter.URL();
+        string aFileName = aURL.substr(aURL.find_last_of("/\\")+1);
+        
+        //cout << "aURL = " << "http://" << aSimanWSHost << "/repository/" << aURL << "\n";
+        string aPathToVault = aResponseFilePath.substr(0, aResponseFilePath.find("download")) + "vault\\";
+        
+        //only for test only for WIN
+        replace(aURL.begin(),aURL.end(),'/','\\');
+        //end only for test only for WIN
+        
+        //cout << "Path to vault" << aPathToVault + aURL << "\n";
+        
+        //Get the files
+        //aGetFileRequest->setArgs0("http://" + aSimanWSHost + "/repository/" + aURL);
+        aGetFileRequest->setArgs0(aPathToVault + aURL);
+        aGetFileResponse = aStub->getFile(aGetFileRequest);
+        
+        outputStream.open((aClientFileDir + aFileName).c_str(), ofstream::binary);
+        int aBufferSize = axutil_base64_binary_get_decoded_binary_len(aGetFileResponse->get_return(), Environment::getEnv());
+        int* aBufSize = new int[aBufferSize];
+        unsigned char* aCopyBuffer = axutil_base64_binary_get_plain_binary(aGetFileResponse->get_return(), Environment::getEnv(), aBufSize);
+        outputStream.write(reinterpret_cast<const char*>(aCopyBuffer),aBufferSize);
+        outputStream.flush();
+        outputStream.close();
+        delete[] aCopyBuffer;
+
+        //Set new URLs
+        aFileIter.SetURL((aClientFileDir + aFileName).c_str());
+        //cout << "New location of the files " << aClientFileDir + aFileName << "\n";
+      }//aFileIter
+    }//aDocIter
+  }//actIter
+
+
+  //Delete objects
+  delete aCreateConfigFileRequest;
+  delete aCreateConfigFileResponse;
+  delete aGetFileResponse;
+  delete aGetFileRequest;
+  delete aStub;
+  
+  return aResult;
+}
+
+void SimanIO_Link::StoreConf(/*const*/ SimanIO_Configuration& theConf)
+{
+  char* aSimanHost = getenv("SIMAN_WS_HOST");
+  if (aSimanHost == NULL)
+  {
+    CONFIGURSION_ERROR("The SIMAN_WS_HOST variable does not exist. Please set it.\n");
+  }
+  
+  string aSimanWSHost(aSimanHost);
+  string anEndpointUri = "http://" + aSimanWSHost + "/Siman-WS/services/SimanSalomeService";
+  
+  Environment::initialize("SimanSalomeService.log",AXIS2_LOG_LEVEL_DEBUG);
+  char* aClientHomeEnv = getenv("WSFCPP_HOME");
+  
+  if (aClientHomeEnv == NULL)
+  {
+    CONFIGURSION_ERROR("The WSFCPP_HOME variable does not exist. Please set it.\n");
+  }
+  
+  string aClientHome = AXIS2_GETENV("WSFCPP_HOME");
+  SimanSalomeServiceStub* aStub = new SimanSalomeServiceStub(aClientHome, anEndpointUri);
+  ServiceClient *client = aStub->getServiceClient();
+  
+  //Set the ServiceClient options
+  client->engageModule(AXIS2_MODULE_ADDRESSING);
+  Options *options = client->getOptions();
+  axis2_options_t *axis2options = options->getAxis2Options();
+  axis2_options_set_action(axis2options, Environment::getEnv(), "urn:putFile");
+  
+  //MTOM options
+  options->setTimeout(1000000);
+  options->setSoapVersion(AXIOM_SOAP12);
+  
+  //Upload the file onto server
+  PutFile* aPutFileRequest = new PutFile();
+  PutFileResponse* aPutFileResponse = new PutFileResponse();
+  
+  //Prepare salome-siman.conf file
+  string aTmpDir = "/tmp";
+  string aClientFileDir = aTmpDir + "/SimanSalome/" + myUser + "/download/";
+  string aClientFilePath = aClientFileDir + "salome-siman.conf";
+  ofstream aSalomeSimanFile;
+  aSalomeSimanFile.open(aClientFilePath.c_str());
+  
+  //Get the actual file URLs and put these files onto server.
+  SimanIO_Configuration::ActivitiesIterator actIter(theConf);
+
+  for(; actIter.More(); actIter.Next()) {
+    SimanIO_Activity::DocumentsIterator aDocIter(actIter.Activity());
+    for(; aDocIter.More(); aDocIter.Next()) {
+      /*const*/ SimanIO_Document& aDoc = aDocIter.Document();
+      SimanIO_Document::FilesIterator aFileIter(aDoc);
+      for(; aFileIter.More(); aFileIter.Next()) {
+        string aURL = aFileIter.URL();
+        string aFileName = aURL.substr(aURL.find_last_of("/\\")+1);
+        cout << "aURL = " << aURL << "\n";
+        cout << " aFileName= " << aFileName << "\n";
+        //get size of the input file
+        ifstream inputStream (aURL.c_str(), ifstream::binary);
+        inputStream.seekg(0,ifstream::end);
+        int aSize = inputStream.tellg();
+        inputStream.seekg(0);
+        
+        //Upload action
+        char* aCopyBuffer;
+        aCopyBuffer = new char [aSize];
+        inputStream.read(aCopyBuffer,aSize);
+        axutil_base64_binary_t* aRequestDH = axutil_base64_binary_create_with_plain_binary(Environment::getEnv(), reinterpret_cast<unsigned char*>(aCopyBuffer), aSize);
+        inputStream.close();
+        delete[] aCopyBuffer;
+
+        //Set arguments
+        aPutFileRequest->setArgs0(aRequestDH);
+        aPutFileRequest->setArgs1(aFileName);
+        aPutFileRequest->setArgs2(atoll(myUser.c_str()));
+        
+        aPutFileResponse = aStub->putFile(aPutFileRequest);
+        
+        //Write information into salome-siman.conf file
+        ostringstream activityId;
+        ostringstream documentId;
+        activityId << actIter.ActivityId();
+        documentId << aDocIter.DocId();
+        aSalomeSimanFile << myScenario +  "," +  myUser + "," + activityId.str() +  "," + documentId.str() + "," + aPutFileResponse->get_return() + "\n";
+
+      }//aFileIter
+    }//aDocIter
+  }//actIter
+
+  aSalomeSimanFile.close();
+  
+  //Put the salome-siman.conf file onto server
+  ifstream inputStream (aClientFilePath.c_str(), ifstream::binary);
+  inputStream.seekg(0,ifstream::end);
+  int aSize = inputStream.tellg();
+  inputStream.seekg(0);
+  
+  char* aCopyBuffer;
+  aCopyBuffer = new char [aSize];
+  inputStream.read(aCopyBuffer,aSize);
+  axutil_base64_binary_t* aRequestDH = axutil_base64_binary_create_with_plain_binary(Environment::getEnv(), reinterpret_cast<unsigned char*>(aCopyBuffer), aSize);
+  inputStream.close();
+  delete[] aCopyBuffer;
+
+  //Set arguments
+  aPutFileRequest->setArgs0(aRequestDH);
+  aPutFileRequest->setArgs1("salome-siman.conf");
+  aPutFileRequest->setArgs2(atoll(myUser.c_str()));
+
+  aPutFileResponse = aStub->putFile(aPutFileRequest);
+
+  //Check in operation
+  axis2_options_set_action(axis2options, Environment::getEnv(), "urn:checkIn");
+  
+  CheckIn* aCheckInRequest = new CheckIn();
+  CheckInResponse* aCheckInResponse = new CheckInResponse();
+  aCheckInRequest->setArgs0(aPutFileResponse->get_return());
+  aCheckInRequest->setArgs1(atoll(myUser.c_str()));
+  aCheckInResponse = aStub->checkIn(aCheckInRequest);
+  
+
+}
diff --git a/src/SimanIO_Link.hxx b/src/SimanIO_Link.hxx
new file mode 100644 (file)
index 0000000..b56c80a
--- /dev/null
@@ -0,0 +1,42 @@
+#ifndef SIMANIO_LINK_H
+#define SIMANIO_LINK_H
+
+#include <SimanIO_Configuration.hxx>
+
+/**
+ * \brief Class for creation of connection with SIMAN database.
+ */
+
+class SimanIO_Link {
+  std::string myStudy;    ///< identifier of the study in the SIMAN
+  std::string myScenario; ///< identifier of the scenario in the SIMAN
+  std::string myUser;     ///< identifier of the user in the SIMAN
+public:
+  /**
+   * Initializes the connection to the data base with certain connection properties.
+   * \param theStudyID defines the selected study id in SIMAN
+   * \param theScenarioID defines the secnario id in SIMAN
+   * \param theUserID identifies the current SIMAN user id
+   */
+  SimanIO_Link(const char* theStudyID, const char* theScenarioID, const char* theUserID);
+
+  /**
+   * Checks the connection status.
+   * \returns true if data base is currently connected.
+   */
+  bool IsConnected();
+
+  /**
+   * Retrieves scenario "conf" file from the SIMAN.
+   * \returns CFG file interface, connected to the received file to get data from it.
+   */
+  SimanIO_Configuration RetrieveConf();
+
+  /**
+   * Stores configuration information to the SIMAN.
+   * \param theConf interface for configuration data storage; data in this interface will be stored in SIMAN
+   */
+  void StoreConf(/*const*/ SimanIO_Configuration& theConf);
+};
+
+#endif
diff --git a/src/SimanSalomeServiceStub.cpp b/src/SimanSalomeServiceStub.cpp
new file mode 100644 (file)
index 0000000..9b43d37
--- /dev/null
@@ -0,0 +1,1273 @@
+
+      /**
+       * SimanSalomeServiceStub.cpp
+       *
+       * This file was auto-generated from WSDL for "SimanSalomeService|http://salome.service.ws_server.splat.org" service
+       * by the Apache Axis2/Java version: 1.0  Built on : Nov 21, 2012 (01:42:27 MSK)
+       */
+
+      #include "SimanSalomeServiceStub.h"
+      #include "ISimanSalomeServiceCallback.h"
+      #include <axis2_msg.h>
+      #include <axis2_policy_include.h>
+      #include <neethi_engine.h>
+      #include <Stub.h>
+      #include <Environment.h>
+      #include <WSFError.h>
+      
+      using namespace std;
+      using namespace wso2wsf;
+        
+      using namespace org_splat_ws_server_service_salome;
+        
+      /**
+       * SimanSalomeServiceStub CPP implementation
+       */
+       SimanSalomeServiceStub::SimanSalomeServiceStub(std::string& clientHome)
+        {
+                if(clientHome.empty())
+                {
+                   cout<<"Please specify the client home";
+                }
+                std::string endpointUri= getEndpointUriOfSimanSalomeService();
+
+                init(clientHome,endpointUri);
+
+                populateServicesForSimanSalomeService();
+
+
+        }
+
+
+      SimanSalomeServiceStub::SimanSalomeServiceStub(std::string& clientHome,std::string& endpointURI)
+      {
+         std::string endpointUri;
+
+         if(clientHome.empty())
+         {
+            cout<<"Please specify the client home";
+         }
+         endpointUri = endpointURI;
+
+         if (endpointUri.empty())
+         {
+            endpointUri = getEndpointUriOfSimanSalomeService();
+         }
+
+
+         init(clientHome,endpointUri);
+
+         populateServicesForSimanSalomeService();
+
+      }
+
+
+      void WSF_CALL
+      SimanSalomeServiceStub::populateServicesForSimanSalomeService()
+      {
+         axis2_svc_client_t *svc_client = NULL;
+         axutil_qname_t *svc_qname =  NULL;
+         axutil_qname_t *op_qname =  NULL;
+         axis2_svc_t *svc = NULL;
+         axis2_op_t *op = NULL;
+         axis2_op_t *annon_op = NULL;
+         axis2_msg_t *msg_out = NULL;
+         axis2_msg_t *msg_in = NULL;
+         axis2_msg_t *msg_out_fault = NULL;
+         axis2_msg_t *msg_in_fault = NULL;
+         axis2_policy_include_t *policy_include = NULL;
+
+         axis2_desc_t *desc = NULL;
+         axiom_node_t *policy_node = NULL;
+         axiom_element_t *policy_root_ele = NULL;
+         neethi_policy_t *neethi_policy = NULL;
+
+
+         /* Modifying the Service */
+        svc_client = serviceClient->getAxis2SvcClient();
+         svc = (axis2_svc_t*)axis2_svc_client_get_svc( svc_client, Environment::getEnv() );
+
+         annon_op = axis2_svc_get_op_with_name(svc, Environment::getEnv(), AXIS2_ANON_OUT_IN_OP);
+         msg_out = axis2_op_get_msg(annon_op, Environment::getEnv(), AXIS2_MSG_OUT);
+         msg_in = axis2_op_get_msg(annon_op, Environment::getEnv(), AXIS2_MSG_IN);
+         msg_out_fault = axis2_op_get_msg(annon_op, Environment::getEnv(), AXIS2_MSG_OUT_FAULT);
+         msg_in_fault = axis2_op_get_msg(annon_op, Environment::getEnv(), AXIS2_MSG_IN_FAULT);
+
+         svc_qname = axutil_qname_create(Environment::getEnv(),"SimanSalomeService" ,NULL, NULL);
+         axis2_svc_set_qname (svc, Environment::getEnv(), svc_qname);
+                axutil_qname_free(svc_qname,Environment::getEnv());
+
+         /* creating the operations*/
+
+         
+           op_qname = axutil_qname_create(Environment::getEnv(),
+                                         "createConfigFile" ,
+                                         "http://salome.service.ws_server.splat.org",
+                                         NULL);
+           op = axis2_op_create_with_qname(Environment::getEnv(), op_qname);
+           axutil_qname_free(op_qname,Environment::getEnv());
+
+           
+           axis2_op_set_msg_exchange_pattern(op, Environment::getEnv(), AXIS2_MEP_URI_OUT_IN);
+             
+           axis2_msg_increment_ref(msg_out, Environment::getEnv());
+           axis2_msg_increment_ref(msg_in, Environment::getEnv());
+           axis2_msg_increment_ref(msg_out_fault, Environment::getEnv());
+           axis2_msg_increment_ref(msg_in_fault, Environment::getEnv());
+           axis2_op_add_msg(op, Environment::getEnv(), AXIS2_MSG_OUT, msg_out);
+           axis2_op_add_msg(op, Environment::getEnv(), AXIS2_MSG_IN, msg_in);
+           axis2_op_add_msg(op, Environment::getEnv(), AXIS2_MSG_OUT_FAULT, msg_out_fault);
+           axis2_op_add_msg(op, Environment::getEnv(), AXIS2_MSG_IN_FAULT, msg_in_fault);
+       
+           
+           axis2_svc_add_op(svc, Environment::getEnv(), op);
+         
+           op_qname = axutil_qname_create(Environment::getEnv(),
+                                         "putFile" ,
+                                         "http://salome.service.ws_server.splat.org",
+                                         NULL);
+           op = axis2_op_create_with_qname(Environment::getEnv(), op_qname);
+           axutil_qname_free(op_qname,Environment::getEnv());
+
+           
+           axis2_op_set_msg_exchange_pattern(op, Environment::getEnv(), AXIS2_MEP_URI_OUT_IN);
+             
+           axis2_msg_increment_ref(msg_out, Environment::getEnv());
+           axis2_msg_increment_ref(msg_in, Environment::getEnv());
+           axis2_msg_increment_ref(msg_out_fault, Environment::getEnv());
+           axis2_msg_increment_ref(msg_in_fault, Environment::getEnv());
+           axis2_op_add_msg(op, Environment::getEnv(), AXIS2_MSG_OUT, msg_out);
+           axis2_op_add_msg(op, Environment::getEnv(), AXIS2_MSG_IN, msg_in);
+           axis2_op_add_msg(op, Environment::getEnv(), AXIS2_MSG_OUT_FAULT, msg_out_fault);
+           axis2_op_add_msg(op, Environment::getEnv(), AXIS2_MSG_IN_FAULT, msg_in_fault);
+       
+           
+           axis2_svc_add_op(svc, Environment::getEnv(), op);
+         
+           op_qname = axutil_qname_create(Environment::getEnv(),
+                                         "checkIn" ,
+                                         "http://salome.service.ws_server.splat.org",
+                                         NULL);
+           op = axis2_op_create_with_qname(Environment::getEnv(), op_qname);
+           axutil_qname_free(op_qname,Environment::getEnv());
+
+           
+           axis2_op_set_msg_exchange_pattern(op, Environment::getEnv(), AXIS2_MEP_URI_OUT_IN);
+             
+           axis2_msg_increment_ref(msg_out, Environment::getEnv());
+           axis2_msg_increment_ref(msg_in, Environment::getEnv());
+           axis2_msg_increment_ref(msg_out_fault, Environment::getEnv());
+           axis2_msg_increment_ref(msg_in_fault, Environment::getEnv());
+           axis2_op_add_msg(op, Environment::getEnv(), AXIS2_MSG_OUT, msg_out);
+           axis2_op_add_msg(op, Environment::getEnv(), AXIS2_MSG_IN, msg_in);
+           axis2_op_add_msg(op, Environment::getEnv(), AXIS2_MSG_OUT_FAULT, msg_out_fault);
+           axis2_op_add_msg(op, Environment::getEnv(), AXIS2_MSG_IN_FAULT, msg_in_fault);
+       
+           
+           axis2_svc_add_op(svc, Environment::getEnv(), op);
+         
+           op_qname = axutil_qname_create(Environment::getEnv(),
+                                         "getFile" ,
+                                         "http://salome.service.ws_server.splat.org",
+                                         NULL);
+           op = axis2_op_create_with_qname(Environment::getEnv(), op_qname);
+           axutil_qname_free(op_qname,Environment::getEnv());
+
+           
+           axis2_op_set_msg_exchange_pattern(op, Environment::getEnv(), AXIS2_MEP_URI_OUT_IN);
+             
+           axis2_msg_increment_ref(msg_out, Environment::getEnv());
+           axis2_msg_increment_ref(msg_in, Environment::getEnv());
+           axis2_msg_increment_ref(msg_out_fault, Environment::getEnv());
+           axis2_msg_increment_ref(msg_in_fault, Environment::getEnv());
+           axis2_op_add_msg(op, Environment::getEnv(), AXIS2_MSG_OUT, msg_out);
+           axis2_op_add_msg(op, Environment::getEnv(), AXIS2_MSG_IN, msg_in);
+           axis2_op_add_msg(op, Environment::getEnv(), AXIS2_MSG_OUT_FAULT, msg_out_fault);
+           axis2_op_add_msg(op, Environment::getEnv(), AXIS2_MSG_IN_FAULT, msg_in_fault);
+       
+           
+           axis2_svc_add_op(svc, Environment::getEnv(), op);
+         
+      }
+
+      /**
+       *return end point picked from wsdl
+       */
+      std::string WSF_CALL
+      SimanSalomeServiceStub::getEndpointUriOfSimanSalomeService()
+      {
+        std::string endpoint_uri;
+        /* set the address from here */
+        
+        endpoint_uri = string("http://localhost:8080/Siman-WS/services/SimanSalomeService.SimanSalomeServiceHttpSoap12Endpoint/");
+            
+        return endpoint_uri;
+      }
+
+
+  
+         /**
+          * Auto generated method signature
+          * For "createConfigFile|http://salome.service.ws_server.splat.org" operation.
+          *
+          * @param _createConfigFile of the org_splat_ws_server_service_salome::CreateConfigFile
+          *
+          * @return org_splat_ws_server_service_salome::CreateConfigFileResponse*
+          */
+
+         org_splat_ws_server_service_salome::CreateConfigFileResponse* WSF_CALL SimanSalomeServiceStub::createConfigFile(org_splat_ws_server_service_salome::CreateConfigFile*  _createConfigFile)
+         {
+            axis2_svc_client_t *svc_client = NULL;
+            axis2_options_t *options = NULL;
+            axiom_node_t *ret_node = NULL;
+
+            const axis2_char_t *soap_action = NULL;
+            axutil_qname_t *op_qname =  NULL;
+            axiom_node_t *payload = NULL;
+            axis2_bool_t is_soap_act_set = AXIS2_TRUE;
+            axutil_string_t *soap_act = NULL;
+
+            org_splat_ws_server_service_salome::CreateConfigFileResponse* ret_val;
+            
+                                payload = _createConfigFile->serialize(NULL, NULL, AXIS2_TRUE, NULL, NULL);
+                           
+           svc_client = serviceClient->getAxis2SvcClient();
+            
+           
+            
+            
+
+           options = clientOptions->getAxis2Options();
+            if (NULL == options)
+            {
+                AXIS2_ERROR_SET(Environment::getEnv()->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE);
+                AXIS2_LOG_ERROR(Environment::getEnv()->log, AXIS2_LOG_SI, "options is null in stub");
+                return (org_splat_ws_server_service_salome::CreateConfigFileResponse*)NULL;
+            }
+            soap_act = axis2_options_get_soap_action( options, Environment::getEnv() );
+            if (NULL == soap_act)
+            {
+              is_soap_act_set = AXIS2_FALSE;
+              soap_action = "urn:createConfigFile";
+              soap_act = axutil_string_create(Environment::getEnv(), "urn:createConfigFile");
+              axis2_options_set_soap_action(options, Environment::getEnv(), soap_act);    
+            }
+
+            
+            axis2_options_set_soap_version(options, Environment::getEnv(), AXIOM_SOAP12);
+             
+            ret_node =  axis2_svc_client_send_receive_with_op_qname( svc_client, Environment::getEnv(), op_qname, payload);
+            if (!is_soap_act_set)
+            {
+              
+              axis2_options_set_soap_action(options, Environment::getEnv(), NULL);    
+              
+              axis2_options_set_action( options, Environment::getEnv(), NULL);
+            }
+            if(soap_act)
+            {
+              axutil_string_free(soap_act, Environment::getEnv());
+            }
+
+            
+                    if ( NULL == ret_node )
+                    {
+                        return (org_splat_ws_server_service_salome::CreateConfigFileResponse*)NULL;
+                    }
+                    ret_val = new org_splat_ws_server_service_salome::CreateConfigFileResponse();
+
+                    if(ret_val->deserialize(&ret_node, NULL, AXIS2_FALSE ) == AXIS2_FAILURE)
+                    {
+                        if(ret_val != NULL)
+                        {
+                           delete ret_val;
+                        }
+
+                        AXIS2_LOG_ERROR( Environment::getEnv()->log, AXIS2_LOG_SI, "NULL returned from the _deserialize: "
+                                                                "This should be due to an invalid XML");
+                        return (org_splat_ws_server_service_salome::CreateConfigFileResponse*)NULL;
+                    }
+
+                   
+                            return ret_val;
+                       
+        }
+        
+         /**
+          * Auto generated method signature
+          * For "putFile|http://salome.service.ws_server.splat.org" operation.
+          *
+          * @param _putFile of the org_splat_ws_server_service_salome::PutFile
+          *
+          * @return org_splat_ws_server_service_salome::PutFileResponse*
+          */
+
+         org_splat_ws_server_service_salome::PutFileResponse* WSF_CALL SimanSalomeServiceStub::putFile(org_splat_ws_server_service_salome::PutFile*  _putFile)
+         {
+            axis2_svc_client_t *svc_client = NULL;
+            axis2_options_t *options = NULL;
+            axiom_node_t *ret_node = NULL;
+
+            const axis2_char_t *soap_action = NULL;
+            axutil_qname_t *op_qname =  NULL;
+            axiom_node_t *payload = NULL;
+            axis2_bool_t is_soap_act_set = AXIS2_TRUE;
+            axutil_string_t *soap_act = NULL;
+
+            org_splat_ws_server_service_salome::PutFileResponse* ret_val;
+            
+                                payload = _putFile->serialize(NULL, NULL, AXIS2_TRUE, NULL, NULL);
+                           
+           svc_client = serviceClient->getAxis2SvcClient();
+            
+           
+            
+            
+
+           options = clientOptions->getAxis2Options();
+            if (NULL == options)
+            {
+                AXIS2_ERROR_SET(Environment::getEnv()->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE);
+                AXIS2_LOG_ERROR(Environment::getEnv()->log, AXIS2_LOG_SI, "options is null in stub");
+                return (org_splat_ws_server_service_salome::PutFileResponse*)NULL;
+            }
+            soap_act = axis2_options_get_soap_action( options, Environment::getEnv() );
+            if (NULL == soap_act)
+            {
+              is_soap_act_set = AXIS2_FALSE;
+              soap_action = "urn:putFile";
+              soap_act = axutil_string_create(Environment::getEnv(), "urn:putFile");
+              axis2_options_set_soap_action(options, Environment::getEnv(), soap_act);    
+            }
+
+            
+            axis2_options_set_soap_version(options, Environment::getEnv(), AXIOM_SOAP12);
+             
+            ret_node =  axis2_svc_client_send_receive_with_op_qname( svc_client, Environment::getEnv(), op_qname, payload);
+            if (!is_soap_act_set)
+            {
+              
+              axis2_options_set_soap_action(options, Environment::getEnv(), NULL);    
+              
+              axis2_options_set_action( options, Environment::getEnv(), NULL);
+            }
+            if(soap_act)
+            {
+              axutil_string_free(soap_act, Environment::getEnv());
+            }
+
+            
+                    if ( NULL == ret_node )
+                    {
+                        return (org_splat_ws_server_service_salome::PutFileResponse*)NULL;
+                    }
+                    ret_val = new org_splat_ws_server_service_salome::PutFileResponse();
+
+                    if(ret_val->deserialize(&ret_node, NULL, AXIS2_FALSE ) == AXIS2_FAILURE)
+                    {
+                        if(ret_val != NULL)
+                        {
+                           delete ret_val;
+                        }
+
+                        AXIS2_LOG_ERROR( Environment::getEnv()->log, AXIS2_LOG_SI, "NULL returned from the _deserialize: "
+                                                                "This should be due to an invalid XML");
+                        return (org_splat_ws_server_service_salome::PutFileResponse*)NULL;
+                    }
+
+                   
+                            return ret_val;
+                       
+        }
+        
+         /**
+          * Auto generated method signature
+          * For "checkIn|http://salome.service.ws_server.splat.org" operation.
+          *
+          * @param _checkIn of the org_splat_ws_server_service_salome::CheckIn
+          *
+          * @return org_splat_ws_server_service_salome::CheckInResponse*
+          */
+
+         org_splat_ws_server_service_salome::CheckInResponse* WSF_CALL SimanSalomeServiceStub::checkIn(org_splat_ws_server_service_salome::CheckIn*  _checkIn)
+         {
+            axis2_svc_client_t *svc_client = NULL;
+            axis2_options_t *options = NULL;
+            axiom_node_t *ret_node = NULL;
+
+            const axis2_char_t *soap_action = NULL;
+            axutil_qname_t *op_qname =  NULL;
+            axiom_node_t *payload = NULL;
+            axis2_bool_t is_soap_act_set = AXIS2_TRUE;
+            axutil_string_t *soap_act = NULL;
+
+            org_splat_ws_server_service_salome::CheckInResponse* ret_val;
+            
+                                payload = _checkIn->serialize(NULL, NULL, AXIS2_TRUE, NULL, NULL);
+                           
+           svc_client = serviceClient->getAxis2SvcClient();
+            
+           
+            
+            
+
+           options = clientOptions->getAxis2Options();
+            if (NULL == options)
+            {
+                AXIS2_ERROR_SET(Environment::getEnv()->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE);
+                AXIS2_LOG_ERROR(Environment::getEnv()->log, AXIS2_LOG_SI, "options is null in stub");
+                return (org_splat_ws_server_service_salome::CheckInResponse*)NULL;
+            }
+            soap_act = axis2_options_get_soap_action( options, Environment::getEnv() );
+            if (NULL == soap_act)
+            {
+              is_soap_act_set = AXIS2_FALSE;
+              soap_action = "urn:checkIn";
+              soap_act = axutil_string_create(Environment::getEnv(), "urn:checkIn");
+              axis2_options_set_soap_action(options, Environment::getEnv(), soap_act);    
+            }
+
+            
+            axis2_options_set_soap_version(options, Environment::getEnv(), AXIOM_SOAP12);
+             
+            ret_node =  axis2_svc_client_send_receive_with_op_qname( svc_client, Environment::getEnv(), op_qname, payload);
+            if (!is_soap_act_set)
+            {
+              
+              axis2_options_set_soap_action(options, Environment::getEnv(), NULL);    
+              
+              axis2_options_set_action( options, Environment::getEnv(), NULL);
+            }
+            if(soap_act)
+            {
+              axutil_string_free(soap_act, Environment::getEnv());
+            }
+
+            
+                    if ( NULL == ret_node )
+                    {
+                        return (org_splat_ws_server_service_salome::CheckInResponse*)NULL;
+                    }
+                    ret_val = new org_splat_ws_server_service_salome::CheckInResponse();
+
+                    if(ret_val->deserialize(&ret_node, NULL, AXIS2_FALSE ) == AXIS2_FAILURE)
+                    {
+                        if(ret_val != NULL)
+                        {
+                           delete ret_val;
+                        }
+
+                        AXIS2_LOG_ERROR( Environment::getEnv()->log, AXIS2_LOG_SI, "NULL returned from the _deserialize: "
+                                                                "This should be due to an invalid XML");
+                        return (org_splat_ws_server_service_salome::CheckInResponse*)NULL;
+                    }
+
+                   
+                            return ret_val;
+                       
+        }
+        
+         /**
+          * Auto generated method signature
+          * For "getFile|http://salome.service.ws_server.splat.org" operation.
+          *
+          * @param _getFile of the org_splat_ws_server_service_salome::GetFile
+          *
+          * @return org_splat_ws_server_service_salome::GetFileResponse*
+          */
+
+         org_splat_ws_server_service_salome::GetFileResponse* WSF_CALL SimanSalomeServiceStub::getFile(org_splat_ws_server_service_salome::GetFile*  _getFile)
+         {
+            axis2_svc_client_t *svc_client = NULL;
+            axis2_options_t *options = NULL;
+            axiom_node_t *ret_node = NULL;
+
+            const axis2_char_t *soap_action = NULL;
+            axutil_qname_t *op_qname =  NULL;
+            axiom_node_t *payload = NULL;
+            axis2_bool_t is_soap_act_set = AXIS2_TRUE;
+            axutil_string_t *soap_act = NULL;
+
+            org_splat_ws_server_service_salome::GetFileResponse* ret_val;
+            
+                                payload = _getFile->serialize(NULL, NULL, AXIS2_TRUE, NULL, NULL);
+                           
+           svc_client = serviceClient->getAxis2SvcClient();
+            
+           
+            
+            
+
+           options = clientOptions->getAxis2Options();
+            if (NULL == options)
+            {
+                AXIS2_ERROR_SET(Environment::getEnv()->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE);
+                AXIS2_LOG_ERROR(Environment::getEnv()->log, AXIS2_LOG_SI, "options is null in stub");
+                return (org_splat_ws_server_service_salome::GetFileResponse*)NULL;
+            }
+            soap_act = axis2_options_get_soap_action( options, Environment::getEnv() );
+            if (NULL == soap_act)
+            {
+              is_soap_act_set = AXIS2_FALSE;
+              soap_action = "urn:getFile";
+              soap_act = axutil_string_create(Environment::getEnv(), "urn:getFile");
+              axis2_options_set_soap_action(options, Environment::getEnv(), soap_act);    
+            }
+
+            
+            axis2_options_set_soap_version(options, Environment::getEnv(), AXIOM_SOAP12);
+             
+            ret_node =  axis2_svc_client_send_receive_with_op_qname( svc_client, Environment::getEnv(), op_qname, payload);
+            if (!is_soap_act_set)
+            {
+              
+              axis2_options_set_soap_action(options, Environment::getEnv(), NULL);    
+              
+              axis2_options_set_action( options, Environment::getEnv(), NULL);
+            }
+            if(soap_act)
+            {
+              axutil_string_free(soap_act, Environment::getEnv());
+            }
+
+            
+                    if ( NULL == ret_node )
+                    {
+                        return (org_splat_ws_server_service_salome::GetFileResponse*)NULL;
+                    }
+                    ret_val = new org_splat_ws_server_service_salome::GetFileResponse();
+
+                    if(ret_val->deserialize(&ret_node, NULL, AXIS2_FALSE ) == AXIS2_FAILURE)
+                    {
+                        if(ret_val != NULL)
+                        {
+                           delete ret_val;
+                        }
+
+                        AXIS2_LOG_ERROR( Environment::getEnv()->log, AXIS2_LOG_SI, "NULL returned from the _deserialize: "
+                                                                "This should be due to an invalid XML");
+                        return (org_splat_ws_server_service_salome::GetFileResponse*)NULL;
+                    }
+
+                   
+                            return ret_val;
+                       
+        }
+        
+
+        struct axis2_stub_SimanSalomeService_createConfigFile_callback_data
+        {   
+            ISimanSalomeServiceCallback *callback;
+          
+        };
+
+        static axis2_status_t WSF_CALL axis2_stub_on_error_SimanSalomeService_createConfigFile(axis2_callback_t *axis_callback, const axutil_env_t *env, int exception)
+        {
+            struct axis2_stub_SimanSalomeService_createConfigFile_callback_data* callback_data = NULL;
+            callback_data = (struct axis2_stub_SimanSalomeService_createConfigFile_callback_data*)axis2_callback_get_data(axis_callback);
+        
+            ISimanSalomeServiceCallback* callback = NULL;
+            callback = callback_data->callback;
+            callback->receiveError_createConfigFile(exception);
+            return AXIS2_SUCCESS;
+        } 
+
+        axis2_status_t  AXIS2_CALL axis2_stub_on_complete_SimanSalomeService_createConfigFile(axis2_callback_t *axis_callback, const axutil_env_t *env)
+        {
+            struct axis2_stub_SimanSalomeService_createConfigFile_callback_data* callback_data = NULL;
+            axis2_status_t status = AXIS2_SUCCESS;
+            org_splat_ws_server_service_salome::CreateConfigFileResponse* ret_val;
+            
+
+            axiom_node_t *ret_node = NULL;
+            axiom_soap_envelope_t *soap_envelope = NULL;
+
+            
+
+            ISimanSalomeServiceCallback *callback = NULL;
+
+            callback_data = (struct axis2_stub_SimanSalomeService_createConfigFile_callback_data*)axis2_callback_get_data(axis_callback);
+
+            callback = callback_data->callback;
+
+            soap_envelope = axis2_callback_get_envelope(axis_callback, Environment::getEnv());
+            if(soap_envelope)
+            {
+                axiom_soap_body_t *soap_body;
+                soap_body = axiom_soap_envelope_get_body(soap_envelope, Environment::getEnv());
+                if(soap_body)
+                {
+                    axiom_soap_fault_t *soap_fault = NULL;
+                    axiom_node_t *body_node = axiom_soap_body_get_base_node(soap_body, Environment::getEnv());
+
+                      if(body_node)
+                    {
+                        ret_node = axiom_node_get_first_child(body_node, Environment::getEnv());
+                    }
+                }
+                
+                
+            }
+
+
+            
+                    if(ret_node != NULL)
+                    {
+                        ret_val = new org_splat_ws_server_service_salome::CreateConfigFileResponse();
+     
+                        if(ret_val->deserialize(&ret_node, NULL, AXIS2_FALSE ) == AXIS2_FAILURE)
+                        {
+                            WSF_LOG_ERROR_MSG( Environment::getEnv()->log, AXIS2_LOG_SI, "NULL returned from the LendResponse_deserialize: "
+                                                                    "This should be due to an invalid XML");
+                            delete ret_val;
+                            ret_val = NULL;
+                        }
+                     }
+                     else
+                     {
+                         ret_val = NULL; 
+                     }
+
+                     
+                     callback->receiveResult_createConfigFile(ret_val);
+                         
+            if(callback_data)
+            {
+                AXIS2_FREE(Environment::getEnv()->allocator, callback_data);
+            }
+            return AXIS2_SUCCESS;
+        }
+
+        /**
+          * auto generated method signature for asynchronous invocations
+          * for "createConfigFile|http://salome.service.ws_server.splat.org" operation.
+          * @param stub The stub
+          * @param env environment ( mandatory)
+          * @param _createConfigFile of the org_splat_ws_server_service_salome::CreateConfigFile
+          * @param user_data user data to be accessed by the callbacks
+          * @param on_complete callback to handle on complete
+          * @param on_error callback to handle on error
+          */
+
+         void WSF_CALL
+        SimanSalomeServiceStub::start_createConfigFile(org_splat_ws_server_service_salome::CreateConfigFile*  _createConfigFile,
+                                ISimanSalomeServiceCallback* cb)
+         {
+
+            axis2_callback_t *callback = NULL;
+
+            axis2_svc_client_t *svc_client = NULL;
+            axis2_options_t *options = NULL;
+
+            const axis2_char_t *soap_action = NULL;
+            axiom_node_t *payload = NULL;
+
+            axis2_bool_t is_soap_act_set = AXIS2_TRUE;
+            axutil_string_t *soap_act = NULL;
+
+            
+            
+            struct axis2_stub_SimanSalomeService_createConfigFile_callback_data *callback_data;
+
+            callback_data = (struct axis2_stub_SimanSalomeService_createConfigFile_callback_data*) AXIS2_MALLOC(Environment::getEnv()->allocator, 
+                                    sizeof(struct axis2_stub_SimanSalomeService_createConfigFile_callback_data));
+            if(NULL == callback_data)
+            {
+                AXIS2_ERROR_SET(Environment::getEnv()->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+                AXIS2_LOG_ERROR( Environment::getEnv()->log, AXIS2_LOG_SI, "Can not allocate memory for the callback data structures");
+                return;
+            }
+            
+
+            
+                                payload = _createConfigFile->serialize(NULL, NULL, AXIS2_TRUE, NULL, NULL);
+                           
+
+           svc_client =   serviceClient->getAxis2SvcClient();
+            
+           
+            
+            
+
+           options = clientOptions->getAxis2Options();
+            if (NULL == options)
+            {
+              AXIS2_ERROR_SET(Environment::getEnv()->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE);
+              AXIS2_LOG_ERROR( Environment::getEnv()->log, AXIS2_LOG_SI, "options is null in stub");
+              return;
+            }
+
+            soap_act =axis2_options_get_soap_action (options, Environment::getEnv());
+            if (NULL == soap_act)
+            {
+              is_soap_act_set = AXIS2_FALSE;
+              soap_action = "urn:createConfigFile";
+              soap_act = axutil_string_create(Environment::getEnv(), "urn:createConfigFile");
+              axis2_options_set_soap_action(options, Environment::getEnv(), soap_act);
+            }
+            
+            axis2_options_set_soap_version(options, Environment::getEnv(), AXIOM_SOAP12);
+             
+
+            callback = axis2_callback_create(Environment::getEnv());
+            /* Set our on_complete function pointer to the callback object */
+            axis2_callback_set_on_complete(callback, axis2_stub_on_complete_SimanSalomeService_createConfigFile);
+            /* Set our on_error function pointer to the callback object */
+            axis2_callback_set_on_error(callback, axis2_stub_on_error_SimanSalomeService_createConfigFile);
+
+            callback_data->callback = cb;
+            axis2_callback_set_data(callback, (void*)callback_data);
+
+            /* Send request */
+            axis2_svc_client_send_receive_non_blocking(svc_client, Environment::getEnv(), payload, callback);
+            
+            if (!is_soap_act_set)
+            {
+              
+              axis2_options_set_soap_action(options, Environment::getEnv(), NULL);
+              
+              axis2_options_set_action(options, Environment::getEnv(), NULL);
+            }
+         }
+
+         
+
+        struct axis2_stub_SimanSalomeService_putFile_callback_data
+        {   
+            ISimanSalomeServiceCallback *callback;
+          
+        };
+
+        static axis2_status_t WSF_CALL axis2_stub_on_error_SimanSalomeService_putFile(axis2_callback_t *axis_callback, const axutil_env_t *env, int exception)
+        {
+            struct axis2_stub_SimanSalomeService_putFile_callback_data* callback_data = NULL;
+            callback_data = (struct axis2_stub_SimanSalomeService_putFile_callback_data*)axis2_callback_get_data(axis_callback);
+        
+            ISimanSalomeServiceCallback* callback = NULL;
+            callback = callback_data->callback;
+            callback->receiveError_putFile(exception);
+            return AXIS2_SUCCESS;
+        } 
+
+        axis2_status_t  AXIS2_CALL axis2_stub_on_complete_SimanSalomeService_putFile(axis2_callback_t *axis_callback, const axutil_env_t *env)
+        {
+            struct axis2_stub_SimanSalomeService_putFile_callback_data* callback_data = NULL;
+            axis2_status_t status = AXIS2_SUCCESS;
+            org_splat_ws_server_service_salome::PutFileResponse* ret_val;
+            
+
+            axiom_node_t *ret_node = NULL;
+            axiom_soap_envelope_t *soap_envelope = NULL;
+
+            
+
+            ISimanSalomeServiceCallback *callback = NULL;
+
+            callback_data = (struct axis2_stub_SimanSalomeService_putFile_callback_data*)axis2_callback_get_data(axis_callback);
+
+            callback = callback_data->callback;
+
+            soap_envelope = axis2_callback_get_envelope(axis_callback, Environment::getEnv());
+            if(soap_envelope)
+            {
+                axiom_soap_body_t *soap_body;
+                soap_body = axiom_soap_envelope_get_body(soap_envelope, Environment::getEnv());
+                if(soap_body)
+                {
+                    axiom_soap_fault_t *soap_fault = NULL;
+                    axiom_node_t *body_node = axiom_soap_body_get_base_node(soap_body, Environment::getEnv());
+
+                      if(body_node)
+                    {
+                        ret_node = axiom_node_get_first_child(body_node, Environment::getEnv());
+                    }
+                }
+                
+                
+            }
+
+
+            
+                    if(ret_node != NULL)
+                    {
+                        ret_val = new org_splat_ws_server_service_salome::PutFileResponse();
+     
+                        if(ret_val->deserialize(&ret_node, NULL, AXIS2_FALSE ) == AXIS2_FAILURE)
+                        {
+                            WSF_LOG_ERROR_MSG( Environment::getEnv()->log, AXIS2_LOG_SI, "NULL returned from the LendResponse_deserialize: "
+                                                                    "This should be due to an invalid XML");
+                            delete ret_val;
+                            ret_val = NULL;
+                        }
+                     }
+                     else
+                     {
+                         ret_val = NULL; 
+                     }
+
+                     
+                     callback->receiveResult_putFile(ret_val);
+                         
+            if(callback_data)
+            {
+                AXIS2_FREE(Environment::getEnv()->allocator, callback_data);
+            }
+            return AXIS2_SUCCESS;
+        }
+
+        /**
+          * auto generated method signature for asynchronous invocations
+          * for "putFile|http://salome.service.ws_server.splat.org" operation.
+          * @param stub The stub
+          * @param env environment ( mandatory)
+          * @param _putFile of the org_splat_ws_server_service_salome::PutFile
+          * @param user_data user data to be accessed by the callbacks
+          * @param on_complete callback to handle on complete
+          * @param on_error callback to handle on error
+          */
+
+         void WSF_CALL
+        SimanSalomeServiceStub::start_putFile(org_splat_ws_server_service_salome::PutFile*  _putFile,
+                                ISimanSalomeServiceCallback* cb)
+         {
+
+            axis2_callback_t *callback = NULL;
+
+            axis2_svc_client_t *svc_client = NULL;
+            axis2_options_t *options = NULL;
+
+            const axis2_char_t *soap_action = NULL;
+            axiom_node_t *payload = NULL;
+
+            axis2_bool_t is_soap_act_set = AXIS2_TRUE;
+            axutil_string_t *soap_act = NULL;
+
+            
+            
+            struct axis2_stub_SimanSalomeService_putFile_callback_data *callback_data;
+
+            callback_data = (struct axis2_stub_SimanSalomeService_putFile_callback_data*) AXIS2_MALLOC(Environment::getEnv()->allocator, 
+                                    sizeof(struct axis2_stub_SimanSalomeService_putFile_callback_data));
+            if(NULL == callback_data)
+            {
+                AXIS2_ERROR_SET(Environment::getEnv()->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+                AXIS2_LOG_ERROR( Environment::getEnv()->log, AXIS2_LOG_SI, "Can not allocate memory for the callback data structures");
+                return;
+            }
+            
+
+            
+                                payload = _putFile->serialize(NULL, NULL, AXIS2_TRUE, NULL, NULL);
+                           
+
+           svc_client =   serviceClient->getAxis2SvcClient();
+            
+           
+            
+            
+
+           options = clientOptions->getAxis2Options();
+            if (NULL == options)
+            {
+              AXIS2_ERROR_SET(Environment::getEnv()->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE);
+              AXIS2_LOG_ERROR( Environment::getEnv()->log, AXIS2_LOG_SI, "options is null in stub");
+              return;
+            }
+
+            soap_act =axis2_options_get_soap_action (options, Environment::getEnv());
+            if (NULL == soap_act)
+            {
+              is_soap_act_set = AXIS2_FALSE;
+              soap_action = "urn:putFile";
+              soap_act = axutil_string_create(Environment::getEnv(), "urn:putFile");
+              axis2_options_set_soap_action(options, Environment::getEnv(), soap_act);
+            }
+            
+            axis2_options_set_soap_version(options, Environment::getEnv(), AXIOM_SOAP12);
+             
+
+            callback = axis2_callback_create(Environment::getEnv());
+            /* Set our on_complete function pointer to the callback object */
+            axis2_callback_set_on_complete(callback, axis2_stub_on_complete_SimanSalomeService_putFile);
+            /* Set our on_error function pointer to the callback object */
+            axis2_callback_set_on_error(callback, axis2_stub_on_error_SimanSalomeService_putFile);
+
+            callback_data->callback = cb;
+            axis2_callback_set_data(callback, (void*)callback_data);
+
+            /* Send request */
+            axis2_svc_client_send_receive_non_blocking(svc_client, Environment::getEnv(), payload, callback);
+            
+            if (!is_soap_act_set)
+            {
+              
+              axis2_options_set_soap_action(options, Environment::getEnv(), NULL);
+              
+              axis2_options_set_action(options, Environment::getEnv(), NULL);
+            }
+         }
+
+         
+
+        struct axis2_stub_SimanSalomeService_checkIn_callback_data
+        {   
+            ISimanSalomeServiceCallback *callback;
+          
+        };
+
+        static axis2_status_t WSF_CALL axis2_stub_on_error_SimanSalomeService_checkIn(axis2_callback_t *axis_callback, const axutil_env_t *env, int exception)
+        {
+            struct axis2_stub_SimanSalomeService_checkIn_callback_data* callback_data = NULL;
+            callback_data = (struct axis2_stub_SimanSalomeService_checkIn_callback_data*)axis2_callback_get_data(axis_callback);
+        
+            ISimanSalomeServiceCallback* callback = NULL;
+            callback = callback_data->callback;
+            callback->receiveError_checkIn(exception);
+            return AXIS2_SUCCESS;
+        } 
+
+        axis2_status_t  AXIS2_CALL axis2_stub_on_complete_SimanSalomeService_checkIn(axis2_callback_t *axis_callback, const axutil_env_t *env)
+        {
+            struct axis2_stub_SimanSalomeService_checkIn_callback_data* callback_data = NULL;
+            axis2_status_t status = AXIS2_SUCCESS;
+            org_splat_ws_server_service_salome::CheckInResponse* ret_val;
+            
+
+            axiom_node_t *ret_node = NULL;
+            axiom_soap_envelope_t *soap_envelope = NULL;
+
+            
+
+            ISimanSalomeServiceCallback *callback = NULL;
+
+            callback_data = (struct axis2_stub_SimanSalomeService_checkIn_callback_data*)axis2_callback_get_data(axis_callback);
+
+            callback = callback_data->callback;
+
+            soap_envelope = axis2_callback_get_envelope(axis_callback, Environment::getEnv());
+            if(soap_envelope)
+            {
+                axiom_soap_body_t *soap_body;
+                soap_body = axiom_soap_envelope_get_body(soap_envelope, Environment::getEnv());
+                if(soap_body)
+                {
+                    axiom_soap_fault_t *soap_fault = NULL;
+                    axiom_node_t *body_node = axiom_soap_body_get_base_node(soap_body, Environment::getEnv());
+
+                      if(body_node)
+                    {
+                        ret_node = axiom_node_get_first_child(body_node, Environment::getEnv());
+                    }
+                }
+                
+                
+            }
+
+
+            
+                    if(ret_node != NULL)
+                    {
+                        ret_val = new org_splat_ws_server_service_salome::CheckInResponse();
+     
+                        if(ret_val->deserialize(&ret_node, NULL, AXIS2_FALSE ) == AXIS2_FAILURE)
+                        {
+                            WSF_LOG_ERROR_MSG( Environment::getEnv()->log, AXIS2_LOG_SI, "NULL returned from the LendResponse_deserialize: "
+                                                                    "This should be due to an invalid XML");
+                            delete ret_val;
+                            ret_val = NULL;
+                        }
+                     }
+                     else
+                     {
+                         ret_val = NULL; 
+                     }
+
+                     
+                     callback->receiveResult_checkIn(ret_val);
+                         
+            if(callback_data)
+            {
+                AXIS2_FREE(Environment::getEnv()->allocator, callback_data);
+            }
+            return AXIS2_SUCCESS;
+        }
+
+        /**
+          * auto generated method signature for asynchronous invocations
+          * for "checkIn|http://salome.service.ws_server.splat.org" operation.
+          * @param stub The stub
+          * @param env environment ( mandatory)
+          * @param _checkIn of the org_splat_ws_server_service_salome::CheckIn
+          * @param user_data user data to be accessed by the callbacks
+          * @param on_complete callback to handle on complete
+          * @param on_error callback to handle on error
+          */
+
+         void WSF_CALL
+        SimanSalomeServiceStub::start_checkIn(org_splat_ws_server_service_salome::CheckIn*  _checkIn,
+                                ISimanSalomeServiceCallback* cb)
+         {
+
+            axis2_callback_t *callback = NULL;
+
+            axis2_svc_client_t *svc_client = NULL;
+            axis2_options_t *options = NULL;
+
+            const axis2_char_t *soap_action = NULL;
+            axiom_node_t *payload = NULL;
+
+            axis2_bool_t is_soap_act_set = AXIS2_TRUE;
+            axutil_string_t *soap_act = NULL;
+
+            
+            
+            struct axis2_stub_SimanSalomeService_checkIn_callback_data *callback_data;
+
+            callback_data = (struct axis2_stub_SimanSalomeService_checkIn_callback_data*) AXIS2_MALLOC(Environment::getEnv()->allocator, 
+                                    sizeof(struct axis2_stub_SimanSalomeService_checkIn_callback_data));
+            if(NULL == callback_data)
+            {
+                AXIS2_ERROR_SET(Environment::getEnv()->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+                AXIS2_LOG_ERROR( Environment::getEnv()->log, AXIS2_LOG_SI, "Can not allocate memory for the callback data structures");
+                return;
+            }
+            
+
+            
+                                payload = _checkIn->serialize(NULL, NULL, AXIS2_TRUE, NULL, NULL);
+                           
+
+           svc_client =   serviceClient->getAxis2SvcClient();
+            
+           
+            
+            
+
+           options = clientOptions->getAxis2Options();
+            if (NULL == options)
+            {
+              AXIS2_ERROR_SET(Environment::getEnv()->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE);
+              AXIS2_LOG_ERROR( Environment::getEnv()->log, AXIS2_LOG_SI, "options is null in stub");
+              return;
+            }
+
+            soap_act =axis2_options_get_soap_action (options, Environment::getEnv());
+            if (NULL == soap_act)
+            {
+              is_soap_act_set = AXIS2_FALSE;
+              soap_action = "urn:checkIn";
+              soap_act = axutil_string_create(Environment::getEnv(), "urn:checkIn");
+              axis2_options_set_soap_action(options, Environment::getEnv(), soap_act);
+            }
+            
+            axis2_options_set_soap_version(options, Environment::getEnv(), AXIOM_SOAP12);
+             
+
+            callback = axis2_callback_create(Environment::getEnv());
+            /* Set our on_complete function pointer to the callback object */
+            axis2_callback_set_on_complete(callback, axis2_stub_on_complete_SimanSalomeService_checkIn);
+            /* Set our on_error function pointer to the callback object */
+            axis2_callback_set_on_error(callback, axis2_stub_on_error_SimanSalomeService_checkIn);
+
+            callback_data->callback = cb;
+            axis2_callback_set_data(callback, (void*)callback_data);
+
+            /* Send request */
+            axis2_svc_client_send_receive_non_blocking(svc_client, Environment::getEnv(), payload, callback);
+            
+            if (!is_soap_act_set)
+            {
+              
+              axis2_options_set_soap_action(options, Environment::getEnv(), NULL);
+              
+              axis2_options_set_action(options, Environment::getEnv(), NULL);
+            }
+         }
+
+         
+
+        struct axis2_stub_SimanSalomeService_getFile_callback_data
+        {   
+            ISimanSalomeServiceCallback *callback;
+          
+        };
+
+        static axis2_status_t WSF_CALL axis2_stub_on_error_SimanSalomeService_getFile(axis2_callback_t *axis_callback, const axutil_env_t *env, int exception)
+        {
+            struct axis2_stub_SimanSalomeService_getFile_callback_data* callback_data = NULL;
+            callback_data = (struct axis2_stub_SimanSalomeService_getFile_callback_data*)axis2_callback_get_data(axis_callback);
+        
+            ISimanSalomeServiceCallback* callback = NULL;
+            callback = callback_data->callback;
+            callback->receiveError_getFile(exception);
+            return AXIS2_SUCCESS;
+        } 
+
+        axis2_status_t  AXIS2_CALL axis2_stub_on_complete_SimanSalomeService_getFile(axis2_callback_t *axis_callback, const axutil_env_t *env)
+        {
+            struct axis2_stub_SimanSalomeService_getFile_callback_data* callback_data = NULL;
+            axis2_status_t status = AXIS2_SUCCESS;
+            org_splat_ws_server_service_salome::GetFileResponse* ret_val;
+            
+
+            axiom_node_t *ret_node = NULL;
+            axiom_soap_envelope_t *soap_envelope = NULL;
+
+            
+
+            ISimanSalomeServiceCallback *callback = NULL;
+
+            callback_data = (struct axis2_stub_SimanSalomeService_getFile_callback_data*)axis2_callback_get_data(axis_callback);
+
+            callback = callback_data->callback;
+
+            soap_envelope = axis2_callback_get_envelope(axis_callback, Environment::getEnv());
+            if(soap_envelope)
+            {
+                axiom_soap_body_t *soap_body;
+                soap_body = axiom_soap_envelope_get_body(soap_envelope, Environment::getEnv());
+                if(soap_body)
+                {
+                    axiom_soap_fault_t *soap_fault = NULL;
+                    axiom_node_t *body_node = axiom_soap_body_get_base_node(soap_body, Environment::getEnv());
+
+                      if(body_node)
+                    {
+                        ret_node = axiom_node_get_first_child(body_node, Environment::getEnv());
+                    }
+                }
+                
+                
+            }
+
+
+            
+                    if(ret_node != NULL)
+                    {
+                        ret_val = new org_splat_ws_server_service_salome::GetFileResponse();
+     
+                        if(ret_val->deserialize(&ret_node, NULL, AXIS2_FALSE ) == AXIS2_FAILURE)
+                        {
+                            WSF_LOG_ERROR_MSG( Environment::getEnv()->log, AXIS2_LOG_SI, "NULL returned from the LendResponse_deserialize: "
+                                                                    "This should be due to an invalid XML");
+                            delete ret_val;
+                            ret_val = NULL;
+                        }
+                     }
+                     else
+                     {
+                         ret_val = NULL; 
+                     }
+
+                     
+                     callback->receiveResult_getFile(ret_val);
+                         
+            if(callback_data)
+            {
+                AXIS2_FREE(Environment::getEnv()->allocator, callback_data);
+            }
+            return AXIS2_SUCCESS;
+        }
+
+        /**
+          * auto generated method signature for asynchronous invocations
+          * for "getFile|http://salome.service.ws_server.splat.org" operation.
+          * @param stub The stub
+          * @param env environment ( mandatory)
+          * @param _getFile of the org_splat_ws_server_service_salome::GetFile
+          * @param user_data user data to be accessed by the callbacks
+          * @param on_complete callback to handle on complete
+          * @param on_error callback to handle on error
+          */
+
+         void WSF_CALL
+        SimanSalomeServiceStub::start_getFile(org_splat_ws_server_service_salome::GetFile*  _getFile,
+                                ISimanSalomeServiceCallback* cb)
+         {
+
+            axis2_callback_t *callback = NULL;
+
+            axis2_svc_client_t *svc_client = NULL;
+            axis2_options_t *options = NULL;
+
+            const axis2_char_t *soap_action = NULL;
+            axiom_node_t *payload = NULL;
+
+            axis2_bool_t is_soap_act_set = AXIS2_TRUE;
+            axutil_string_t *soap_act = NULL;
+
+            
+            
+            struct axis2_stub_SimanSalomeService_getFile_callback_data *callback_data;
+
+            callback_data = (struct axis2_stub_SimanSalomeService_getFile_callback_data*) AXIS2_MALLOC(Environment::getEnv()->allocator, 
+                                    sizeof(struct axis2_stub_SimanSalomeService_getFile_callback_data));
+            if(NULL == callback_data)
+            {
+                AXIS2_ERROR_SET(Environment::getEnv()->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+                AXIS2_LOG_ERROR( Environment::getEnv()->log, AXIS2_LOG_SI, "Can not allocate memory for the callback data structures");
+                return;
+            }
+            
+
+            
+                                payload = _getFile->serialize(NULL, NULL, AXIS2_TRUE, NULL, NULL);
+                           
+
+           svc_client =   serviceClient->getAxis2SvcClient();
+            
+           
+            
+            
+
+           options = clientOptions->getAxis2Options();
+            if (NULL == options)
+            {
+              AXIS2_ERROR_SET(Environment::getEnv()->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE);
+              AXIS2_LOG_ERROR( Environment::getEnv()->log, AXIS2_LOG_SI, "options is null in stub");
+              return;
+            }
+
+            soap_act =axis2_options_get_soap_action (options, Environment::getEnv());
+            if (NULL == soap_act)
+            {
+              is_soap_act_set = AXIS2_FALSE;
+              soap_action = "urn:getFile";
+              soap_act = axutil_string_create(Environment::getEnv(), "urn:getFile");
+              axis2_options_set_soap_action(options, Environment::getEnv(), soap_act);
+            }
+            
+            axis2_options_set_soap_version(options, Environment::getEnv(), AXIOM_SOAP12);
+             
+
+            callback = axis2_callback_create(Environment::getEnv());
+            /* Set our on_complete function pointer to the callback object */
+            axis2_callback_set_on_complete(callback, axis2_stub_on_complete_SimanSalomeService_getFile);
+            /* Set our on_error function pointer to the callback object */
+            axis2_callback_set_on_error(callback, axis2_stub_on_error_SimanSalomeService_getFile);
+
+            callback_data->callback = cb;
+            axis2_callback_set_data(callback, (void*)callback_data);
+
+            /* Send request */
+            axis2_svc_client_send_receive_non_blocking(svc_client, Environment::getEnv(), payload, callback);
+            
+            if (!is_soap_act_set)
+            {
+              
+              axis2_options_set_soap_action(options, Environment::getEnv(), NULL);
+              
+              axis2_options_set_action(options, Environment::getEnv(), NULL);
+            }
+         }
+
+         
+
diff --git a/src/SimanSalomeServiceStub.h b/src/SimanSalomeServiceStub.h
new file mode 100644 (file)
index 0000000..54d0651
--- /dev/null
@@ -0,0 +1,206 @@
+
+
+#ifndef SIMANSALOMESERVICESTUB_H
+#define SIMANSALOMESERVICESTUB_H
+/**
+* SimanSalomeServiceStub.h
+*
+* This file was auto-generated from WSDL for "SimanSalomeService|http://salome.service.ws_server.splat.org" service
+* by the Apache Axis2/Java version: 1.0  Built on : Nov 21, 2012 (01:42:27 MSK)
+*/
+
+#include <stdio.h>
+#include <OMElement.h>
+#include <Stub.h>
+#include <ServiceClient.h>
+
+
+#include <CreateConfigFile.h>
+
+#include <CreateConfigFileResponse.h>
+
+#include <PutFile.h>
+
+#include <PutFileResponse.h>
+
+#include <CheckIn.h>
+
+#include <CheckInResponse.h>
+
+#include <GetFile.h>
+
+#include <GetFileResponse.h>
+
+
+namespace org_splat_ws_server_service_salome
+{
+
+#define SIMANSALOMESERVICESTUB_ERROR_CODES_START (AXIS2_ERROR_LAST + 2000)
+
+typedef enum
+{
+     SIMANSALOMESERVICESTUB_ERROR_NONE = SIMANSALOMESERVICESTUB_ERROR_CODES_START,
+
+    SIMANSALOMESERVICESTUB_ERROR_LAST
+} SimanSalomeServiceStub_error_codes;
+
+ class ISimanSalomeServiceCallback;
+
+
+class SimanSalomeServiceStub : public wso2wsf::Stub
+{
+
+        public:
+        /**
+         *  Constructor of SimanSalomeService class
+         *  @param client_home WSF/C home directory
+         *  
+         */
+        SimanSalomeServiceStub(std::string& client_home);
+
+        /**
+         *  Constructor of SimanSalomeService class
+         *  @param client_home WSF/C home directory
+         *  @param endpoint_uri The to endpoint uri,
+         */
+
+        SimanSalomeServiceStub(std::string& client_home, std::string& endpoint_uri);
+
+        /**
+         * Populate Services for SimanSalomeServiceStub
+         */
+        void WSF_CALL
+        populateServicesForSimanSalomeService();
+
+        /**
+         * Get the endpoint uri of the SimanSalomeServiceStub
+         */
+
+        std::string WSF_CALL
+        getEndpointUriOfSimanSalomeService();
+
+        
+
+            /**
+             * Auto generated function declaration
+             * for "createConfigFile|http://salome.service.ws_server.splat.org" operation.
+             * 
+             * @param _createConfigFile of the org_splat_ws_server_service_salome::CreateConfigFile
+             *
+             * @return org_splat_ws_server_service_salome::CreateConfigFileResponse*
+             */
+
+            org_splat_ws_server_service_salome::CreateConfigFileResponse* WSF_CALL createConfigFile( org_splat_ws_server_service_salome::CreateConfigFile*  _createConfigFile);
+          
+
+            /**
+             * Auto generated function declaration
+             * for "putFile|http://salome.service.ws_server.splat.org" operation.
+             * 
+             * @param _putFile of the org_splat_ws_server_service_salome::PutFile
+             *
+             * @return org_splat_ws_server_service_salome::PutFileResponse*
+             */
+
+            org_splat_ws_server_service_salome::PutFileResponse* WSF_CALL putFile( org_splat_ws_server_service_salome::PutFile*  _putFile);
+          
+
+            /**
+             * Auto generated function declaration
+             * for "checkIn|http://salome.service.ws_server.splat.org" operation.
+             * 
+             * @param _checkIn of the org_splat_ws_server_service_salome::CheckIn
+             *
+             * @return org_splat_ws_server_service_salome::CheckInResponse*
+             */
+
+            org_splat_ws_server_service_salome::CheckInResponse* WSF_CALL checkIn( org_splat_ws_server_service_salome::CheckIn*  _checkIn);
+          
+
+            /**
+             * Auto generated function declaration
+             * for "getFile|http://salome.service.ws_server.splat.org" operation.
+             * 
+             * @param _getFile of the org_splat_ws_server_service_salome::GetFile
+             *
+             * @return org_splat_ws_server_service_salome::GetFileResponse*
+             */
+
+            org_splat_ws_server_service_salome::GetFileResponse* WSF_CALL getFile( org_splat_ws_server_service_salome::GetFile*  _getFile);
+          
+
+        /**
+         * Auto generated function for asynchronous invocations
+         * for "createConfigFile|http://salome.service.ws_server.splat.org" operation.
+         * @param stub The stub
+         * 
+         * @param _createConfigFile of the org_splat_ws_server_service_salome::CreateConfigFile
+         * @param ICallback callback handler
+         */
+
+
+        void WSF_CALL
+        start_createConfigFile(org_splat_ws_server_service_salome::CreateConfigFile*  _createConfigFile,ISimanSalomeServiceCallback* callback);
+
+        
+
+        /**
+         * Auto generated function for asynchronous invocations
+         * for "putFile|http://salome.service.ws_server.splat.org" operation.
+         * @param stub The stub
+         * 
+         * @param _putFile of the org_splat_ws_server_service_salome::PutFile
+         * @param ICallback callback handler
+         */
+
+
+        void WSF_CALL
+        start_putFile(org_splat_ws_server_service_salome::PutFile*  _putFile,ISimanSalomeServiceCallback* callback);
+
+        
+
+        /**
+         * Auto generated function for asynchronous invocations
+         * for "checkIn|http://salome.service.ws_server.splat.org" operation.
+         * @param stub The stub
+         * 
+         * @param _checkIn of the org_splat_ws_server_service_salome::CheckIn
+         * @param ICallback callback handler
+         */
+
+
+        void WSF_CALL
+        start_checkIn(org_splat_ws_server_service_salome::CheckIn*  _checkIn,ISimanSalomeServiceCallback* callback);
+
+        
+
+        /**
+         * Auto generated function for asynchronous invocations
+         * for "getFile|http://salome.service.ws_server.splat.org" operation.
+         * @param stub The stub
+         * 
+         * @param _getFile of the org_splat_ws_server_service_salome::GetFile
+         * @param ICallback callback handler
+         */
+
+
+        void WSF_CALL
+        start_getFile(org_splat_ws_server_service_salome::GetFile*  _getFile,ISimanSalomeServiceCallback* callback);
+
+          
+
+
+};
+
+/** we have to reserve some error codes for adb and for custom messages */
+
+
+
+}
+
+
+        
+#endif        
+   
+
diff --git a/src/TestCreateConfigFile.cpp b/src/TestCreateConfigFile.cpp
new file mode 100644 (file)
index 0000000..50ff322
--- /dev/null
@@ -0,0 +1,168 @@
+#include "CreateConfigFile.h"
+#include "CreateConfigFileResponse.h"
+#include "GetFile.h"
+#include "GetFileResponse.h"
+#include "PutFile.h"
+#include "PutFileResponse.h"
+#include "SimanSalomeServiceStub.h"
+#include <Environment.h>
+#include <iostream>
+#include <fstream>
+#include <ServiceClient.h>
+
+#include <axiom.h>
+#include <axis2_util.h>
+#include <axiom_soap.h>
+#include <axis2_client.h>
+#include <axutil_uuid_gen.h>
+
+
+using namespace std;
+using namespace org_splat_ws_server_service_salome;
+using namespace wso2wsf;
+
+int main(int argc, char *argv[])
+{
+       std::string endpointUri = "http://172.22.2.10:8080/Siman-WS/services/SimanSalomeService";
+       
+       char * ttest = getenv("SIMAN_WS_HOS");
+       if (ttest == NULL)
+           cout<<"expected\n";
+       else
+           cout<<"unexpected\n";
+       
+       string aSimanWSHost(getenv("SIMAN_WS_HOST"));
+       string endpointUriTT = "http://" + aSimanWSHost + "/Siman-WS/services/SimanSalomeService";
+       
+       cout<<"enpoint uri" << endpointUriTT << "\n";
+
+       Environment::initialize("SimanSalomeService.log",AXIS2_LOG_LEVEL_DEBUG);
+
+       //std::string clientHome = AXIS2_GETENV("SALOME_HOME");
+       std::string clientHome = AXIS2_GETENV("WSFCPP_HOME");
+       //std::string clientHome = "/dn24/SIMAN/siman_mandriva_2010";
+       SimanSalomeServiceStub* aStub = new SimanSalomeServiceStub(clientHome, endpointUri);
+       //SimanSalomeServiceStub* aStub = new SimanSalomeServiceStub(clientHome);
+       ServiceClient *client = aStub->getServiceClient();
+       
+       //Set options
+       client->engageModule(AXIS2_MODULE_ADDRESSING);
+       Options *options = client->getOptions();
+       axis2_options_t *axis2options = options->getAxis2Options();
+       axis2_options_set_action(axis2options, Environment::getEnv(), "urn:createConfigFile");
+       
+       //MTOM options
+       //axis2_options_set_enable_mtom(axis2options, Environment::getEnv(), AXIS2_TRUE);
+       options->setTimeout(1000000);
+       options->setSoapVersion(AXIOM_SOAP12);
+
+       CreateConfigFile* aRequest = new CreateConfigFile();
+
+       long long studyId = 1000;
+       long long scenarioId = 1001;
+       long long userId = 8;
+       string newUserId = "8";
+
+       aRequest->setArgs0(studyId);
+       aRequest->setArgs1(scenarioId);
+       aRequest->setArgs2(atoll(newUserId.c_str()));
+
+       CreateConfigFileResponse* aResponse = new CreateConfigFileResponse();
+
+       aResponse = aStub->createConfigFile(aRequest);
+
+       cout<< "Response:: "<<aResponse->get_return()<<endl;
+       
+       //Parse the response and get the filename
+       std::string aResponseFilePath = aResponse->get_return();
+       std::string aResponseFileName = aResponseFilePath.substr(aResponseFilePath.find_last_of("/\\")+1);
+       cout << aResponseFileName << "\n";
+       
+       //Set options
+       axis2_options_set_action(axis2options, Environment::getEnv(), "urn:getFile");
+       //GetFile request
+       GetFile* aGetFileRequest = new GetFile();
+       aGetFileRequest->setArgs0(aResponse->get_return());
+       
+       GetFileResponse* aGetFileResponse = new GetFileResponse();
+       aGetFileResponse = aStub->getFile(aGetFileRequest);
+       std::ofstream outputStream;
+       std::string aClientFilePath = "/dn24/SIMAN/siman_temp/download/" + aResponseFileName;
+       
+       outputStream.open(aClientFilePath.c_str(), ofstream::binary);
+       
+       int aBufferSize = axutil_base64_binary_get_decoded_binary_len(aGetFileResponse->get_return(), Environment::getEnv());
+       
+       cout<<aBufferSize<<"\n";
+       int* aBufSize = new int[aBufferSize];
+       unsigned char* aCopyBuffer = axutil_base64_binary_get_plain_binary(aGetFileResponse->get_return(), Environment::getEnv(), aBufSize);
+       //char* aCopyBuf = aCopyBuf;
+       
+       //outputStream << aGetFileResponse->get_return();
+       outputStream.write(reinterpret_cast<const char*>(aCopyBuffer),aBufferSize);
+       
+       outputStream.flush();
+       outputStream.close();
+       
+       //Second test
+       /*string aSourceLoc = "W:\\testvideo\\Darvin.avi";
+       aGetFileRequest->setArgs0(aSourceLoc);
+       aGetFileResponse = aStub->getFile(aGetFileRequest);
+       
+       outputStream.open("/dn24/SIMAN/siman_temp/download/Darvin.avi", ofstream::binary);
+       aBufferSize = axutil_base64_binary_get_decoded_binary_len(aGetFileResponse->get_return(), Environment::getEnv());
+       cout<<aBufferSize<<"\n";
+       
+       aBufSize = new int[aBufferSize];
+       aCopyBuffer = axutil_base64_binary_get_plain_binary(aGetFileResponse->get_return(), Environment::getEnv(), aBufSize);
+       
+       outputStream.write(reinterpret_cast<const char*>(aCopyBuffer),aBufferSize);
+       
+       outputStream.flush();
+       outputStream.close();
+       */
+       //End second test
+       cout << "See file on path" << aClientFilePath << "\n";
+       
+       //Upload test
+       axis2_options_set_action(axis2options, Environment::getEnv(), "urn:putFile");
+       
+       PutFile* aPutFileRequest = new PutFile();
+       //char* aSourceFile = "/dn24/SIMAN/siman_temp/download/Mesh_1.med";
+       
+       //get size of the input file
+       ifstream infile ("/dn24/SIMAN/siman_temp/download/Mesh_1.med",ifstream::binary);
+       infile.seekg(0,ifstream::end);
+       int aSize = infile.tellg();
+       cout << "Size of the input file is: " << aSize << "\n";
+       infile.seekg(0);
+       
+       char * inBuffer;
+       inBuffer = new char [aSize];
+       infile.read(inBuffer,aSize);
+       
+       axutil_base64_binary_t* aRequestDH = axutil_base64_binary_create_with_plain_binary(Environment::getEnv(), reinterpret_cast<unsigned char*>(inBuffer), aSize);
+       
+       infile.close();
+       
+       
+       
+       aPutFileRequest->setArgs0(aRequestDH);
+       aPutFileRequest->setArgs1("Mesh_1.med");
+       aPutFileRequest->setArgs2(userId);
+       
+       cout << "test" <<"\n";
+       
+       PutFileResponse* aPutFileResponse = new PutFileResponse();
+       aPutFileResponse = aStub->putFile(aPutFileRequest);
+       
+       cout<< "Response:: "<<aPutFileResponse->get_return()<<endl;
+       
+       delete aResponse;
+       delete aRequest;
+       delete aGetFileResponse;
+       delete aGetFileRequest;
+       delete aPutFileResponse;
+       delete aPutFileRequest;
+       delete aStub;
+}
\ No newline at end of file
diff --git a/src/old_CMakeLists.txt b/src/old_CMakeLists.txt
new file mode 100644 (file)
index 0000000..2e2100f
--- /dev/null
@@ -0,0 +1,10 @@
+project(SimanSrc CXX)
+
+set(SimanSrc_SRCS SimanIO_Activity.cxx SimanIO_Configuration.cxx SimanIO_Document.cxx SimanIO_Link.cxx)
+set(SimanSrc_HEADERS SimanIO_Activity.hxx SimanIO_Configuration.hxx SimanIO_Document.hxx SimanIO_Link.hxx)
+include_directories($(PROJECT_SOURCE_DIR))
+
+add_library(SimanIO SHARED ${SimanSrc_SRCS} ${SimanSrc_HEADERS})
+
+install(TARGETS SimanIO DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
+install(FILES ${SimanSrc_HEADERS} DESTINATION ${CMAKE_INSTALL_PREFIX}/include)
diff --git a/src/old_SimanIO_Configuration.cxx b/src/old_SimanIO_Configuration.cxx
new file mode 100644 (file)
index 0000000..d011a60
--- /dev/null
@@ -0,0 +1,239 @@
+#include <SimanIO_Configuration.hxx>
+
+#include <stdlib.h>
+
+// maximum length of the line in the parsed conf file
+const int MAX_BUFFER_SIZE=10000;
+
+using namespace std;
+
+SimanIO_Configuration::SimanIO_Configuration()
+{
+}
+
+///! Returns true is the given symbol is white space
+static bool IsWhite(const char theSym) {
+  return theSym == ' ' || theSym == '\t';
+}
+
+///! Returns true if theLine starts with theCommand, returns in theVal rest part of the line in this case
+static bool IsCommand(const char* theCommand, char* theLine, char*& theVal) {
+  string aLine(theLine);
+  char* aComPtr = (char*)theCommand;
+  theVal = theLine;
+  while(*aComPtr != 0 && *theVal != 0) {
+    if (IsWhite(*aComPtr)) { // skip white spaces in the command line
+      aComPtr++;
+      continue;
+    }
+    if (IsWhite(*theVal)) { // skip white spaces in the processed line
+      theVal++;
+      continue;
+    }
+     //cout<<"Compare symbols "<<tolower(*aComPtr)<<" and "<<tolower(*theVal)<<endl;
+    if (tolower(*aComPtr) != tolower(*theVal)) // symbols are not match (case is not significant)
+      break;
+    aComPtr++;
+    theVal++;
+  }
+  if (*aComPtr == 0) { // command has been found
+    while(*theVal != 0 && IsWhite(*theVal)) { // skip white spaces in the processed line
+      theVal++;
+    }
+    return true;
+  }
+  return false;
+}
+
+///! Converts string to the integer value, or returns the default vaule if failed
+static int toInt(const char* theStr, int theDefault) {
+  int aResult;
+  try {
+    aResult = atol(theStr);
+  } catch(...) {
+    aResult = theDefault;
+  }
+  return aResult;
+}
+
+// unification of the error handling in the Parse method
+#define PARSE_ERROR(condition, message) if (condition) {cerr<<message<<endl; return false;}
+
+bool SimanIO_Configuration::Parse(const char* theConfFileName)
+{
+  ifstream f(theConfFileName);
+  myF = &f;
+  PARSE_ERROR(!f.good(), "Can not read conf file "<<theConfFileName)
+  char aBuffer[MAX_BUFFER_SIZE];
+  myBuffer = aBuffer; // buffer for one line reading
+  myReuseLine = false; // to read current line from the file
+  char* aVal; // value in line, that is located after the identifier of the command
+  while(!f.eof()) {
+    ReadLine();
+    if (IsCommand("Study ID :", myBuffer, aVal)) {
+      // skip study ID: this info is known in Link
+    } else if (IsCommand("Scenario ID :", myBuffer, aVal)) {
+      // skip scenario ID: this info is known in Link
+    } else if (IsCommand("User ID :", myBuffer, aVal)) {
+      // skip user ID: this info is known in Link
+    } else if (IsCommand("Activity", myBuffer, aVal)) {
+      if (!ParseActivity(aVal)) return false;
+    } else {
+      PARSE_ERROR(true, "Invalid line of conf file: '"<<myBuffer<<"'");
+    }
+  }
+  return true;
+}
+
+bool SimanIO_Configuration::ParseActivity(char* aName)
+{
+  SimanIO_Activity aNewActivity;
+  aNewActivity.SetName(aName);
+  int activityID = -1; // to be imported later
+  char* aVal; // value in line, that is located after the identifier of the command
+  while(!myF->eof()) {
+    ReadLine();
+    if (IsCommand("Activity ID :", myBuffer, aVal)) {
+      PARSE_ERROR(activityID != -1, "Duplicated activity identifier '"<<myBuffer<<"'");
+      activityID = toInt(aVal, -1);
+      PARSE_ERROR(activityID < 1, "Invalid activity identifier '"<<aVal<<"'");
+    } else if (IsCommand("Module :", myBuffer, aVal)) { // read only if module not yet imported before
+      PARSE_ERROR(aNewActivity.Module()[0] != 0, "Duplicated module name in '"<<myBuffer<<"'")
+      PARSE_ERROR(aVal[0] == 0, "Invalid module name in '"<<myBuffer<<"'")
+      aNewActivity.SetModule(aVal);
+    } else if (IsCommand("Document :", myBuffer, aVal)) {
+      if (!ParseDocument(aVal, aNewActivity)) return false;
+    } else { // unknown command will be processed in higher level method
+      myReuseLine = true;
+      break;
+    }
+  }
+  PARSE_ERROR(activityID == -1, "Activity '"<<aNewActivity.Name()<<"' ID is not defined");
+  PARSE_ERROR(aNewActivity.Module()[0] == 0, "Module of the activity '"<<aNewActivity.Name()<<"' is not defined");
+  AddActivity(aNewActivity, activityID);
+  return true;
+}
+
+bool SimanIO_Configuration::ParseDocument(char* aName, SimanIO_Activity& theActivity)
+{
+  SimanIO_Document aNewDocument;
+  aNewDocument.SetName(aName);
+  int aDocID = -1; // to be imported later
+  char* aVal; // value in line, that is located after the identifier of the command
+  while(!myF->eof()) {
+    ReadLine();
+    if (IsCommand("Document ID :", myBuffer, aVal)) {
+      PARSE_ERROR(aDocID != -1, "Duplicated document identifier '"<<myBuffer<<"'");
+      aDocID = toInt(aVal, -1);
+      PARSE_ERROR(aDocID < 1, "Invalid document identifier '"<<aVal<<"'");
+    } else if (IsCommand("Source file:", myBuffer, aVal) || IsCommand("Result file:", myBuffer, aVal)) {
+      if (!ParseFile(aNewDocument)) return false;
+    } else { // unknown command will be processed in higher level method
+      myReuseLine = true;
+      break;
+    }
+  }
+  PARSE_ERROR(aDocID == -1, "Document '"<<aNewDocument.Name()<<"' ID is not defined");
+  theActivity.AddDocument(aDocID, aNewDocument);
+  return true;
+}
+
+bool SimanIO_Configuration::ParseFile(SimanIO_Document& theDocument)
+{
+  SimanIO_File aNewFile;
+  aNewFile.id = -1;
+  int aDocID = -1; // to be imported later
+  char* aVal; // value in line, that is located after the identifier of the command
+  
+  // current line contains one of the next two commands
+  if (IsCommand("Result file :", myBuffer, aVal)) {
+    aNewFile.result = true;
+    aNewFile.url = aVal;
+  } else if (IsCommand("Source file :", myBuffer, aVal)) {
+    aNewFile.result = false;
+    aNewFile.url = aVal;
+  }
+  PARSE_ERROR(aNewFile.url.empty(), "File '"<<myBuffer<<"' has invalid URL");
+  while(!myF->eof()) {
+    ReadLine();
+    if (IsCommand("Automatic processing :", myBuffer, aVal)) {
+      char* aVal2;
+      if (IsCommand("file-download", aVal, aVal2)) aNewFile.proc = FILE_DOWNLOAD;
+      else if (IsCommand("file-import", aVal, aVal2)) aNewFile.proc = FILE_IMPORT;
+      else PARSE_ERROR(true, "Invalid automatic processing value '"<<aVal<<"'");
+    } else if (IsCommand("State :", myBuffer, aVal)) {
+      char* aVal2;
+      if (IsCommand("file-actual", aVal, aVal2)) aNewFile.state = FILE_ACTUAL;
+      else if (IsCommand("file-outdated", aVal, aVal2)) aNewFile.state = FILE_OUTDATED;
+      else PARSE_ERROR(true, "Invalid state value '"<<aVal<<"'");
+    } else if (IsCommand("File ID :", myBuffer, aVal)) {
+      PARSE_ERROR(aNewFile.id != -1, "Duplicated file identifier '"<<myBuffer<<"'");
+      aNewFile.id = toInt(aVal, -1);
+      PARSE_ERROR(aNewFile.id < 0, "Invalid file identifier '"<<aVal<<"'");
+    } else { // unknown command will be processed in higher level method
+      myReuseLine = true;
+      break;
+    }
+  }
+  PARSE_ERROR(aNewFile.id < 0, "File '"<<aNewFile.url<<"' ID is not defined");
+  theDocument.AddFile(aNewFile);
+  return true;
+}
+
+int SimanIO_Configuration::AddActivity(const SimanIO_Activity& theActivity, const int theId)
+{
+  int anId = theId;
+  if (theId < 0) { // generate the maximum unique Id
+    if (myActivities.empty()) anId = 1; // the first
+    else {
+      anId = myActivities.rbegin()->first + 1; // take the maximum Id plus one (in map integers are ordered)
+    }
+  }
+  myActivities[anId] = theActivity;
+}
+
+SimanIO_Activity& SimanIO_Configuration::GetOrCreateActivity(const int theId)
+{
+  if (myActivities.find(theId) == myActivities.end()) {
+    myActivities[theId] = SimanIO_Activity();
+  }
+  return myActivities[theId];
+}
+
+void SimanIO_Configuration::ReadLine() {
+  if (myReuseLine) { // reuse current line
+    myReuseLine = false;
+    return;
+  }
+  do {
+    myF->getline(myBuffer, MAX_BUFFER_SIZE - 1);
+  } while(!myF->eof() && myBuffer[0] == 0); // continue if there is empty line
+}
+
+/////////////////////////////////// iterator methods ///////////////////////////
+
+SimanIO_Configuration::ActivitiesIterator::ActivitiesIterator(SimanIO_Configuration& theConf)
+{
+  myIter = theConf.myActivities.begin();
+  myEnd = theConf.myActivities.end();
+}
+
+void SimanIO_Configuration::ActivitiesIterator::Next()
+{
+  myIter++;
+}
+
+bool SimanIO_Configuration::ActivitiesIterator::More()
+{
+  return myIter != myEnd;
+}
+
+const int SimanIO_Configuration::ActivitiesIterator::ActivityId()
+{
+  return myIter->first;
+}
+
+SimanIO_Activity& SimanIO_Configuration::ActivitiesIterator::Activity()
+{
+  return myIter->second;
+}