27 struct vmi1__AnalysisT *out) {
28 struct vmi1__AnalysisT *rout;
33 rout =
calloc(1,
sizeof(*rout));
37 rout->analysisStatus =
39 rout->analysisResults =
47 struct vmi1__AnalysisDescT *in,
57 rout =
calloc(1,
sizeof(*rout));
59 rout->
name = strdup(in->name);
63 rout->
author = strdup(in->author);
64 if (in->authorContact)
67 rout->
binary = strdup(in->binary);
84 rout->
in_params = g_hash_table_new(g_str_hash,g_str_equal);
87 for (i = 0; i < in->inParams->__sizeparam; ++
i) {
96 rout->
out_params = g_hash_table_new(g_str_hash,g_str_equal);
99 for (i = 0; i < in->outParams->__sizeparam; ++
i) {
111 struct vmi1__AnalysisDescT *
115 struct vmi1__AnalysisDescT *out) {
116 struct vmi1__AnalysisDescT *rout;
124 rout =
calloc(1,
sizeof(*rout));
165 rout->inParams =
SOAP_CALLOC(soap,1,
sizeof(*rout->inParams));
166 rout->inParams->__sizeparam = g_hash_table_size(in->
in_params);
167 rout->inParams->param =
SOAP_CALLOC(soap,rout->inParams->__sizeparam,
168 sizeof(*rout->inParams->param));
170 g_hash_table_iter_init(&iter,in->
in_params);
171 while (g_hash_table_iter_next(&iter,NULL,(gpointer *)¶m)) {
176 rout->outParams =
SOAP_CALLOC(soap,1,
sizeof(*rout->outParams));
177 rout->outParams->__sizeparam = g_hash_table_size(in->
out_params);
178 rout->outParams->param =
SOAP_CALLOC(soap,rout->outParams->__sizeparam,
179 sizeof(*rout->outParams->param));
182 while (g_hash_table_iter_next(&iter,NULL,(gpointer *)¶m)) {
192 struct vmi1__AnalysisSpecT *in,
202 rout =
calloc(1,
sizeof(*rout));
205 rout->
name = strdup(in->name);
206 if (in->stdinBytes) {
208 if (in->stdinBytes->__size) {
210 memcpy(rout->
stdin_bytes,in->stdinBytes->__ptr,in->stdinBytes->__size);
237 || in->killOnCloseSignal) {
240 (in->killOnCloseSignal) ? *in->killOnCloseSignal : SIGKILL;
243 if (in->inputParams && in->inputParams->__sizenameValue) {
244 rout->
in_params = array_list_create(in->inputParams->__sizenameValue);
245 for (i = 0; i < in->inputParams->__sizenameValue; ++
i) {
246 nv =
calloc(1,
sizeof(*nv));
247 if (in->inputParams->nameValue[i].nvName)
248 nv->
name = strdup(in->inputParams->nameValue[i].nvName);
250 nv->
name = strdup(
"");
251 if (in->inputParams->nameValue[i].nvValue)
252 nv->
value = strdup(in->inputParams->nameValue[i].nvValue);
254 nv->
value = strdup(
"");
262 struct vmi1__AnalysisSpecT *
266 struct vmi1__AnalysisSpecT *out) {
267 struct vmi1__AnalysisSpecT *rout;
274 rout =
calloc(1,
sizeof(*rout));
301 rout->killOnClose =
SOAP_CALLOC(soap,1,
sizeof(*rout->killOnClose));
307 rout->killOnCloseSignal =
308 SOAP_CALLOC(soap,1,
sizeof(*rout->killOnCloseSignal));
312 rout->inputParams =
SOAP_CALLOC(soap,1,
sizeof(*rout->inputParams));
314 rout->inputParams->__sizenameValue = array_list_len(in->
in_params);
315 if (rout->inputParams->__sizenameValue > 0) {
316 rout->inputParams->nameValue =
317 SOAP_CALLOC(soap,rout->inputParams->__sizenameValue,
318 sizeof(*rout->inputParams->nameValue));
322 SOAP_STRCPY(soap,rout->inputParams->nameValue[i].nvValue,
327 rout->inputParams->nameValue = NULL;
330 rout->inputParams->__sizenameValue = 0;
331 rout->inputParams->nameValue = NULL;
337 struct vmi1__AnalysisResultT *
342 struct vmi1__AnalysisResultT *out) {
343 struct vmi1__AnalysisResultT *rout;
344 struct vmi1__SimpleResultT *rs;
345 struct vmi1__CustomResultT *rc;
353 rout =
calloc(1,
sizeof(*rout));
356 rout->__union_AnalysisResultT =
357 SOAP_UNION__vmi1__union_AnalysisResultT_simpleResult;
358 rs = rout->union_AnalysisResultT.simpleResult =
359 SOAP_CALLOC(soap,1,
sizeof(*rout->union_AnalysisResultT.simpleResult));
361 rout->analysisId = analysis->
id;
377 rs->resultValue =
"";
381 rs->outputValues =
SOAP_CALLOC(soap,1,
sizeof(*rs->outputValues));
382 rs->outputValues->__sizenameValue = array_list_len(in->
values);
383 if (rs->outputValues->__sizenameValue > 0) {
384 rs->outputValues->nameValue =
385 SOAP_CALLOC(soap,rs->outputValues->__sizenameValue,
386 sizeof(*rs->outputValues->nameValue));
390 SOAP_STRCPY(soap,rs->outputValues->nameValue[i].nvValue,
394 rs->outputValues->nameValue[
i].nvValue =
"";
399 verror(
"no typed datum support yet!\n");
403 rout->__union_AnalysisResultT =
404 SOAP_UNION__vmi1__union_AnalysisResultT_customResult;
405 rc = rout->union_AnalysisResultT.customResult =
406 SOAP_CALLOC(soap,1,
sizeof(*rout->union_AnalysisResultT.customResult));
422 rc->resultValue =
"";
431 rc->__size_CustomResultT = 1;
432 rc->__union_CustomResultT =
433 SOAP_CALLOC(soap,1,
sizeof(*rc->__union_CustomResultT));
434 rc->__union_CustomResultT[0].__union_CustomResultT =
435 SOAP_UNION__vmi1__union_CustomResultT___any;
436 SOAP_STRCPY(soap,rc->__union_CustomResultT[0].union_CustomResultT.__any,
444 struct vmi1__AnalysisResultsT *
449 struct vmi1__AnalysisResultsT *out) {
450 struct vmi1__AnalysisResultsT *rout;
457 rout =
calloc(1,
sizeof(*rout));
459 rout->__sizeanalysisResult = array_list_len(in);
460 if (rout->__sizeanalysisResult > 0) {
461 rout->analysisResult =
SOAP_CALLOC(soap,rout->__sizeanalysisResult,
462 sizeof(*rout->analysisResult));
465 &rout->analysisResult[i]);
473 struct vmi1__ParamT *in,
480 rout =
calloc(1,
sizeof(*rout));
484 if (in->isCommandLineSwitched
488 rout->
name = strdup(in->name);
493 if (in->defaultValue)
501 struct vmi1__ParamT *out) {
502 struct vmi1__ParamT *rout;
509 rout->isCommandLine =
SOAP_CALLOC(soap,1,
sizeof(*rout->isCommandLine));
515 rout->isCommandLineSwitched =
516 SOAP_CALLOC(soap,1,
sizeof(*rout->isCommandLineSwitched));
537 struct vmi1__NameValueT *in,
544 rout =
calloc(1,
sizeof(*rout));
547 rout->
name = strdup(in->nvName);
549 rout->
value = strdup(in->nvValue);
554 struct vmi1__NameValueT *
557 struct vmi1__NameValueT *out) {
558 struct vmi1__NameValueT *rout;
575 enum vmi1__AnalysisStatusT status,
581 case vmi1__AnalysisStatusT__unknown:
584 case vmi1__AnalysisStatusT__running:
587 case vmi1__AnalysisStatusT__paused:
590 case vmi1__AnalysisStatusT__error:
593 case vmi1__AnalysisStatusT__done:
597 verror(
"unknown AnalysisStatusT %d\n",status);
608 enum vmi1__AnalysisStatusT
612 enum vmi1__AnalysisStatusT *out) {
614 enum vmi1__AnalysisStatusT retval;
618 retval = vmi1__AnalysisStatusT__unknown;
621 retval = vmi1__AnalysisStatusT__running;
624 retval = vmi1__AnalysisStatusT__paused;
627 retval = vmi1__AnalysisStatusT__error;
630 retval = vmi1__AnalysisStatusT__done;
633 verror(
"unknown analysis_status_t %d\n",status);
634 retval = vmi1__AnalysisStatusT__unknown;
struct vmi1__AnalysisResultT * a_analysis_datum_to_x_AnalysisResultT(struct soap *soap, struct analysis_datum *in, struct analysis *analysis, GHashTable *reftab, struct vmi1__AnalysisResultT *out)
struct vmi1__AnalysisDescT * a_analysis_desc_to_x_AnalysisDescT(struct soap *soap, struct analysis_desc *in, GHashTable *reftab, struct vmi1__AnalysisDescT *out)
GHashTable * in_params_long
uint32_t reports_intermediate_results
#define SOAP_CALLOC(soap, nmemb, size)
struct array_list * results
struct analysis_desc * x_AnalysisDescT_to_a_analysis_desc(struct soap *soap, struct vmi1__AnalysisDescT *in, GHashTable *reftab, struct analysis_desc *out)
uint32_t reports_final_results
static uint64_t unsigned int i
struct vmi1__AnalysisT * a_analysis_to_x_AnalysisT(struct soap *soap, struct analysis *in, GHashTable *reftab, struct vmi1__AnalysisT *out)
struct vmi1__AnalysisResultsT * a_analysis_datum_list_to_x_AnalysisResultsT(struct soap *soap, struct array_list *in, struct analysis *analysis, GHashTable *reftab, struct vmi1__AnalysisResultsT *out)
#define verror(format,...)
#define array_list_foreach(alist, lpc, placeholder)
struct analysis_name_value * x_NameValueT_to_a_analysis_name_value(struct soap *soap, struct vmi1__NameValueT *in, struct analysis_name_value *out)
struct vmi1__NameValueT * a_analysis_name_value_to_x_NameValueT(struct soap *soap, struct analysis_name_value *in, struct vmi1__NameValueT *out)
uint32_t supports_external_control
struct analysis_spec * x_AnalysisSpecT_to_a_analysis_spec(struct soap *soap, struct vmi1__AnalysisSpecT *in, GHashTable *reftab, struct analysis_spec *out)
struct vmi1__ParamT * a_param_to_x_ParamT(struct soap *soap, struct analysis_param *in, struct vmi1__ParamT *out)
struct analysis_param * x_ParamT_to_a_param(struct soap *soap, struct vmi1__ParamT *in, struct analysis_param *out)
uint32_t autoparse_simple_data
enum vmi1__AnalysisStatusT a_analysis_status_t_to_x_AnalysisStatusT(struct soap *soap, analysis_status_t status, GHashTable *reftab, enum vmi1__AnalysisStatusT *out)
struct vmi1__AnalysisSpecT * a_analysis_spec_to_x_AnalysisSpecT(struct soap *soap, struct analysis_spec *in, GHashTable *reftab, struct vmi1__AnalysisSpecT *out)
uint32_t generates_annotations
uint32_t supports_autoparse_simple_results
uint32_t requires_control
void * calloc(size_t nmemb, size_t size)
uint8_t is_command_line_switched
GHashTable * out_params_long
struct array_list * values
uint32_t report_stderr_intermediate
#define SOAP_STRCPY(soap, d, s)
analysis_status_t x_AnalysisStatusT_to_a_analysis_status_t(struct soap *soap, enum vmi1__AnalysisStatusT status, GHashTable *reftab, analysis_status_t *out)
uint32_t report_stdout_intermediate
struct array_list * in_params