summaryrefslogtreecommitdiffstats
path: root/src/lib/event_xml_parser.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/event_xml_parser.c')
-rw-r--r--src/lib/event_xml_parser.c45
1 files changed, 41 insertions, 4 deletions
diff --git a/src/lib/event_xml_parser.c b/src/lib/event_xml_parser.c
index 5bf5f411..b2037cd9 100644
--- a/src/lib/event_xml_parser.c
+++ b/src/lib/event_xml_parser.c
@@ -25,12 +25,19 @@
#define LONG_DESCR_ELEMENT "long-description"
#define ALLOW_EMPTY_ELEMENT "allow-empty"
#define NOTE_HTML_ELEMENT "note-html"
-#define CREATES_ELEMENT "creates-elements"
+#define CREATES_ELEMENT "creates-items"
#define OPTION_ELEMENT "option"
//#define ACTION_ELEMENT "action"
#define NAME_ELEMENT "name"
#define DEFAULT_VALUE_ELEMENT "default-value"
+#define REQUIRES_ELEMENT "requires-items"
+#define EXCL_BY_DEFAULT_ELEMENT "exclude-items-by-default"
+#define INCL_BY_DEFAULT_ELEMENT "include-items-by-default"
+#define EXCL_ALWAYS_ELEMENT "exclude-items-always"
+#define EXCL_BINARY_ELEMENT "exclude-binary-items"
+
+
struct my_parse_data
{
event_config_t *event_config;
@@ -305,9 +312,9 @@ static void text(GMarkupParseContext *context,
*/
if (strcmp(inner_element, CREATES_ELEMENT) == 0)
{
- VERB2 log("creates_elements:'%s'", text_copy);
- free(ui->creates_elements);
- ui->creates_elements = text_copy;
+ VERB2 log("ec_creates_items:'%s'", text_copy);
+ free(ui->ec_creates_items);
+ ui->ec_creates_items = text_copy;
return;
}
if (strcmp(inner_element, NAME_ELEMENT) == 0)
@@ -363,6 +370,36 @@ static void text(GMarkupParseContext *context,
}
return;
}
+ if (strcmp(inner_element, REQUIRES_ELEMENT) == 0)
+ {
+ free(ui->ec_requires_items);
+ ui->ec_requires_items = text_copy;
+ return;
+ }
+ if (strcmp(inner_element, EXCL_BY_DEFAULT_ELEMENT) == 0)
+ {
+ free(ui->ec_exclude_items_by_default);
+ ui->ec_exclude_items_by_default = text_copy;
+ return;
+ }
+ if (strcmp(inner_element, INCL_BY_DEFAULT_ELEMENT) == 0)
+ {
+ free(ui->ec_include_items_by_default);
+ ui->ec_include_items_by_default = text_copy;
+ return;
+ }
+ if (strcmp(inner_element, EXCL_ALWAYS_ELEMENT) == 0)
+ {
+ free(ui->ec_exclude_items_always);
+ ui->ec_exclude_items_always = text_copy;
+ return;
+ }
+ if (strcmp(inner_element, EXCL_BINARY_ELEMENT) == 0)
+ {
+ ui->ec_exclude_binary_items = string_to_bool(text_copy);
+ free(text_copy);
+ return;
+ }
}
free(text_copy);
}