557
static int pcilib_xml_create_script_view(pcilib_t *ctx, xmlXPathContextPtr xpath, xmlDocPtr doc, xmlNodePtr node) {
560
const char *value, *name;
561
pcilib_view_context_t *view_ctx;
564
pcilib_access_mode_t mode = 0;
565
pcilib_transform_view_description_t desc = {{0}};
567
desc.base.api = &pcilib_transform_view_api;
568
desc.base.type = PCILIB_TYPE_DOUBLE;
569
desc.base.mode = PCILIB_ACCESS_RW;
572
err = pcilib_xml_parse_view(ctx, xpath, doc, node, (pcilib_view_description_t*)&desc);
575
for (cur = node->properties; cur != NULL; cur = cur->next) {
576
if (!cur->children) continue;
577
if (!xmlNodeIsText(cur->children)) continue;
579
name = (char*)cur->name;
580
value = (char*)cur->children->content;
581
if (!value) continue;
583
if (!strcasecmp(name, "script"))
585
//write script name to struct
586
char* script_name = malloc(strlen(value));
587
sprintf(script_name, "%s", value);
589
err = pcilib_init_py_script(ctx, script_name, &(desc.script), &mode);
591
mode |= PCILIB_REGISTER_NO_CHK;
595
desc.base.mode &= mode;
597
err = pcilib_add_views_custom(ctx, 1, (pcilib_view_description_t*)&desc, &view_ctx);
600
view_ctx->xml = node;
604
557
static int pcilib_xml_create_transform_view(pcilib_t *ctx, xmlXPathContextPtr xpath, xmlDocPtr doc, xmlNodePtr node) {