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
00031 #include <strings.h>
00032 #include <string.h>
00033 #include <stdio.h>
00034 #include <xmemory.h>
00035
00036 #ifdef HAVE_CONFIG_H
00037 #include <config.h>
00038 #endif
00039 #include <cxmacros.h>
00040 #include <cxtypes.h>
00041 #include <cxmessages.h>
00042 #include <cpl_memory.h>
00043
00044 #include <cpl_parameterlist.h>
00045 #include <cpl_msg.h>
00046 #include <cpl_error.h>
00047
00048 #include <cpl_recipe.h>
00049 #include <cpl_plugin.h>
00050 #include <cpl_pluginlist.h>
00051 #include <cpl_frameset.h>
00052 #include <sinfoni_pro_types.h>
00053 #include <sinfoni_psf_config.h>
00054 #include <psf.h>
00055 #include <sinfoni_memory.h>
00056
00057
00058 static cxint si_step_psf(cpl_parameterlist *, cpl_frameset *);
00059 const char * sinfoni_get_licence(void)
00060 {
00061 return "bla bla";
00062
00063 }
00064
00065
00066
00067
00068
00069
00070
00071
00072 cxint
00073 si_step_psf_create(cpl_plugin *plugin)
00074 {
00075
00076
00077
00078
00079
00080
00081 cpl_recipe *recipe = (cpl_recipe *)plugin;
00082 recipe->parameters = cpl_parameterlist_new();
00083 if(recipe->parameters == NULL) {
00084 return 1;
00085 }
00086
00087
00088
00089
00090 sinfoni_psf_config_add(recipe->parameters);
00091
00092 return 0;
00093
00094 }
00095
00096 cxint
00097 si_step_psf_exec(cpl_plugin *plugin)
00098 {
00099
00100 cpl_recipe *recipe = (cpl_recipe *) plugin;
00101 if(recipe->parameters == NULL) {
00102 return 1;
00103 }
00104 if(recipe->frames == NULL) {
00105 return 1;
00106 }
00107 cpl_error_reset();
00108 return si_step_psf(recipe->parameters, recipe->frames);
00109
00110 }
00111
00112 cxint
00113 si_step_psf_destroy(cpl_plugin *plugin)
00114 {
00115
00116 cpl_recipe *recipe = (cpl_recipe *) plugin;
00117
00118
00119
00120
00121
00122 cpl_parameterlist_delete(recipe->parameters);
00123
00124 return 0;
00125
00126 }
00127
00128 int
00129 cpl_plugin_get_info(cpl_pluginlist *list)
00130 {
00131
00132 cpl_recipe *recipe = cpl_calloc(1, sizeof *recipe);
00133 cpl_plugin *plugin = &recipe->interface;
00134
00135
00136 cpl_plugin_init(plugin,
00137 CPL_PLUGIN_API,
00138 SINFONI_BINARY_VERSION,
00139 CPL_PLUGIN_TYPE_RECIPE,
00140 "si_step_psf",
00141 "PSF determination",
00142 "TBD",
00143 "A. Modigliani",
00144 "amodigli@eso.org",
00145 "No license",
00146 si_step_psf_create,
00147 si_step_psf_exec,
00148 si_step_psf_destroy);
00149
00150 cpl_pluginlist_append(list, plugin);
00151
00152 return 0;
00153
00154 }
00155
00156
00157
00158
00159
00160
00161 static cxint
00162 si_step_psf(cpl_parameterlist *config, cpl_frameset *set)
00163 {
00164
00165 const char *_id = "si_step_psf";
00166 int ind =0;
00167
00168
00169
00170
00171
00172
00173 {
00174 cpl_msg_info (_id,"running") ;
00175 if ( -1 == (ind = psf(config,set) ) )
00176 {
00177 cpl_msg_info(_id,"no: %d\n", ind) ;
00178 return -1 ;
00179 }
00180 cpl_msg_info (_id,"success\n") ;
00181 }
00182 return 0 ;
00183 }