00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #include <strings.h>
00031 #include <string.h>
00032 #include <stdio.h>
00033
00034
00035 #ifdef HAVE_CONFIG_H
00036 #include "config.h"
00037 #endif
00038 #include <cxmacros.h>
00039 #include <cxtypes.h>
00040 #include <cxmessages.h>
00041 #include <cpl_memory.h>
00042
00043 #include <cpl_parameterlist.h>
00044 #include <cpl_msg.h>
00045
00046
00047 #include <cpl_recipe.h>
00048 #include <cpl_plugin.h>
00049 #include <cpl_pluginlist.h>
00050 #include <cpl_frameset.h>
00051 #include <cpl_error.h>
00052 #include <sinfoni_general_config.h>
00053 #include <sinfoni_north_south_test_config.h>
00054 #include <nst.h>
00055 #include <sinfoni_memory.h>
00056
00057
00058 static cxint si_step_northsouthtest(cpl_parameterlist *, cpl_frameset *);
00059 const char * sinfoni_get_licence(void);
00060 cxint si_step_northsouthtest_create(cpl_plugin *plugin);
00061 cxint si_step_northsouthtest_exec(cpl_plugin *plugin);
00062 cxint si_step_northsouthtest_destroy(cpl_plugin *plugin);
00063 static cxint si_step_northsouthtest(cpl_parameterlist *config, cpl_frameset *set);
00064 int cpl_plugin_get_info(cpl_pluginlist *list);
00065
00066
00067 const char * sinfoni_get_licence(void)
00068 {
00069 return "bla bla";
00070
00071 }
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081 cxint
00082 si_step_northsouthtest_create(cpl_plugin *plugin)
00083 {
00084
00085
00086
00087
00088
00089
00090
00091 cpl_recipe *recipe = (cpl_recipe *)plugin;
00092 recipe->parameters = cpl_parameterlist_new();
00093 if(recipe->parameters == NULL) {
00094 return 1;
00095 }
00096
00097
00098
00099
00100 sinfoni_general_config_add(recipe->parameters);
00101
00102 sinfoni_north_south_test_config_add(recipe->parameters);
00103
00104 return 0;
00105
00106 }
00107
00108 cxint
00109 si_step_northsouthtest_exec(cpl_plugin *plugin)
00110 {
00111
00112 cpl_recipe *recipe = (cpl_recipe *) plugin;
00113 if(recipe->parameters == NULL) {
00114 return 1;
00115 }
00116 if(recipe->frames == NULL) {
00117 return 1;
00118 }
00119 cpl_error_reset();
00120 return si_step_northsouthtest(recipe->parameters, recipe->frames);
00121
00122 }
00123
00124 cxint
00125 si_step_northsouthtest_destroy(cpl_plugin *plugin)
00126 {
00127
00128 cpl_recipe *recipe = (cpl_recipe *) plugin;
00129
00130
00131
00132
00133
00134
00135 cpl_parameterlist_delete(recipe->parameters);
00136
00137 return 0;
00138
00139 }
00140
00141
00142 int
00143 cpl_plugin_get_info(cpl_pluginlist *list)
00144 {
00145
00146 cpl_recipe *recipe = cpl_calloc(1, sizeof *recipe);
00147 cpl_plugin *plugin = &recipe->interface;
00148
00149
00150 cpl_plugin_init(plugin,
00151 CPL_PLUGIN_API,
00152 SINFONI_BINARY_VERSION,
00153 CPL_PLUGIN_TYPE_RECIPE,
00154 "si_step_northsouthtest",
00155 "Nord South Test",
00156 "TBD",
00157 "A. Modigliani",
00158 "amodigli@eso.org",
00159 "No license",
00160 si_step_northsouthtest_create,
00161 si_step_northsouthtest_exec,
00162 si_step_northsouthtest_destroy);
00163
00164 cpl_pluginlist_append(list, plugin);
00165
00166 return 0;
00167
00168 }
00169
00170
00171
00172
00173
00174
00175 static cxint
00176 si_step_northsouthtest(cpl_parameterlist *config, cpl_frameset *set)
00177 {
00178
00179 const char *_id = "si_step_northsouthtest";
00180 int ind =0;
00181
00182
00183 {
00184 cpl_msg_info (_id,"Running") ;
00185 if ( -1 == (ind = nst(config, set ) ) )
00186 {
00187 cpl_msg_error(_id,"no: %d\n", ind) ;
00188 return -1 ;
00189 }
00190
00191 cpl_msg_info (_id,"success") ;
00192 }
00193
00194
00195 return 0 ;
00196
00197 }
00198