Ver Fonte

Z991239-5890 #comment 删除事件转换实体解析xml文件功能

80274480 há 9 meses atrás
pai
commit
028e18210f

+ 2 - 5
Module/mod_evtconverter/CMakeLists.txt

@@ -13,19 +13,16 @@ set(MOD_VERSION_STRING "0.0.2-dev1")
 add_module_libraries(${MODULE_PREFIX} ${MODULE_NAME} ${MOD_VERSION_STRING})
 
 target_include_directories(${MODULE_NAME} PRIVATE
-	${CONAN_INCLUDE_DIRS_SCEW}
-	${CONAN_INCLUDE_DIRS_EXPAT}
+
 )
 
 target_link_directories(${MODULE_NAME} PRIVATE
 	${ThirdPartyLib}
-	${CONAN_LIB_DIRS_SCEW}
-	${CONAN_LIB_DIRS_EXPAT}
 )
 
 
 # 添加实体需要依赖的其他共享库(包括系统库)
-set(${MODULE_PREFIX}_LIBS  ${MODULE_BASE_ALL_LIBS} ${CONAN_LIBS_SCEW} ${CONAN_LIBS_EXPAT})
+set(${MODULE_PREFIX}_LIBS  ${MODULE_BASE_ALL_LIBS})
 target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
 
 deploy_module(${MODULE_PREFIX} ${MODULE_NAME})

+ 0 - 708
Module/mod_evtconverter/evtengine.cpp

@@ -8,7 +8,6 @@
 #include "jhash.h"
 #include "strutil.h"
 #include "fileutil.h"
-#include "scew.h"
 
 #if 0
 <?xml version="1.0" encoding="utf-8"?>
@@ -1475,97 +1474,6 @@ static int extract_filter_element(evt_engine_t* engine, rvc_slotfilter_t* filter
 }
 
 
-static int extract_filter(evt_engine_t *engine, scew_element *filter_elem, int *p_log_type, int *p_ent_id, const char **p_entity, int *p_severity, int *p_sys_code, int *p_usr_code, const char **p_slotvar)
-{
-	int log_type, ent_id, severity, sys_code, usr_code;
-	const char *entity = NULL;
-	const char *slotvar = NULL;
-	scew_attribute *attr;
-	attr = scew_element_attribute_by_name(filter_elem, "LogType");
-	if (attr) {
-		log_type = parse_log_type(scew_attribute_value(attr));
-		if (log_type == -1) {
-			if (nIslog){
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("parse log type failed!");
-			}
-			return Error_Unexpect;
-		}
-	} 
-	else {
-		log_type = Log_Ignore;
-	}
-
-	attr = scew_element_attribute_by_name(filter_elem, "Entity");
-	if (attr) {
-		ent_id = parse_ent_id(engine, scew_attribute_value(attr));
-		if (ent_id == -1) {
-			if (nIslog){
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("parse entity id failed!");
-			}
-			return Error_Unexpect;
-		} 
-		else {
-			entity = scew_attribute_value(attr);
-		}
-	} 
-	else {
-		ent_id = -1;
-	}
-
-	attr = scew_element_attribute_by_name(filter_elem, "SeverityLevel");
-	if (attr) {
-		severity = parse_severity(scew_attribute_value(attr));
-		if (severity == -1) {
-			if (nIslog){
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("parse severity level failed!");
-			}
-			return Error_Unexpect;
-		}
-	} 
-	else {
-		severity = Severity_None;
-	}
-
-	attr = scew_element_attribute_by_name(filter_elem, "SysError");
-	if (attr) {
-		sys_code = parse_sys_code(scew_attribute_value(attr));
-		if (sys_code == -1) {
-			if (nIslog){
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("parse sys code failed! sys_code: %s", scew_attribute_value(attr));
-			}
-			return Error_Unexpect;
-		}
-	} 
-	else {
-		sys_code = Error_IgnoreAll;
-	}
-
-	attr = scew_element_attribute_by_name(filter_elem, "UserCode");
-	if (attr) {
-		usr_code = parse_usr_code(scew_attribute_value(attr));
-	} 
-	else {
-		usr_code = -2;
-	}
-
-	attr = scew_element_attribute_by_name(filter_elem, "ContentToVar");
-	if (attr) {
-		slotvar = scew_attribute_value(attr);
-	} 
-	else {
-		slotvar = NULL;
-	}
-
-	*p_log_type = log_type;
-	*p_ent_id = ent_id;
-	*p_severity = severity;
-	*p_sys_code = sys_code;
-	*p_usr_code = usr_code;
-	*p_entity = entity;
-	*p_slotvar = slotvar;
-	return 0;
-}
-
 static int load_filter_element(evt_engine_t* engine, evt_slot_t* slot, rvc_slotfilter_t* filter_elem)
 {
 	evt_filter_t* filter = ZALLOC_T(evt_filter_t);
@@ -1601,70 +1509,6 @@ static int load_filter_element(evt_engine_t* engine, evt_slot_t* slot, rvc_slotf
 	return 0;
 }
 
-static int load_filter(evt_engine_t *engine, evt_slot_t *slot, scew_element *filter_elem)
-{
-	evt_filter_t *filter = ZALLOC_T(evt_filter_t);
-	const char *entity = NULL;
-	const char *slotvar = NULL;
-	int rc = extract_filter(engine, filter_elem, &filter->log_type, &filter->ent_id, (const char**)&entity, &filter->severity, &filter->sys_code, &filter->user_code, &slotvar);
-	if (rc != 0) {
-		if (nIslog){
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("extract filter failed!");
-		}
-		return rc;
-	}
-	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("filter->log_type = %d, filter->ent_id = %d, entity = %s, filter->severity = %d, filter->sys_code = %d, filter->user_code = 0x%08x, slotvar = %s.", filter->log_type, filter->ent_id, entity, filter->severity, filter->sys_code, filter->user_code, slotvar);
-	if (slotvar) {
-		int i;
-		for (i = 0; i < slot->arr_slotvar->nelts; ++i) {
-			evt_slotvar_t *var = ARRAY_IDX(slot->arr_slotvar, i, evt_slotvar_t *);
-			if (_stricmp(var->name, slotvar) == 0) {
-				filter->content_to_var = var;
-				break;
-			}
-		}
-		if (!filter->content_to_var) {
-			if (nIslog){
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("cannot find %s slotvar!", slotvar);
-			}
-			return -1;
-		}
-	}
-	filter->entity = entity ? _strdup(entity) : NULL;
-	filter->key.listen_id = 0;
-	filter->owner = slot;
-	ARRAY_PUSH(slot->arr_filter, evt_filter_t*) = filter;
-	return 0;
-}
-
-static int load_slotvar(evt_engine_t *engine, evt_slot_t *slot, scew_element *slotvar_elem)
-{
-	evt_slotvar_t *slotvar = ZALLOC_T(evt_slotvar_t);
-	scew_attribute *attr;
-	attr = scew_element_attribute_by_name(slotvar_elem, "Name");
-	if (attr) {
-		slotvar->name = _strdup(scew_attribute_value(attr));
-	} 
-	else {
-		if (nIslog){
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("not found slot var Name property!");
-		}
-		return -1; 
-	}
-	attr = scew_element_attribute_by_name(slotvar_elem, "Value");
-	if (attr) {
-		slotvar->init_value = _strdup(scew_attribute_value(attr));
-		slotvar->current_value = _strdup(slotvar->init_value);
-	} 
-	else {
-		if (nIslog){
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("not found slot var Value property!");
-		}
-		return -1;
-	}
-	ARRAY_PUSH(slot->arr_slotvar, evt_slotvar_t*) = slotvar;
-	return 0;
-}
 
 static int load_slotvar_element(evt_engine_t* engine, evt_slot_t* slot, rvc_slotvar_t* slotvar_elem)
 {
@@ -1831,162 +1675,6 @@ static int load_slot_arrays(evt_engine_t* engine, const char* ns, rvc_slot_t* tn
 }
 
 
-static int load_slot(evt_engine_t *engine, const char *ns, scew_element *slot_elem)
-{
-	evt_slot_t *slot = ZALLOC_T(evt_slot_t);
-	if (!slot){
-		return Error_Resource;
-	}
-	INIT_HLIST_NODE(&slot->hentry);
-	slot->arr_filter = array_make(-1, sizeof(evt_filter_t*));
-	slot->arr_reset = array_make(-1, sizeof(char*));
-	slot->arr_rref_reset = array_make(-1, sizeof(evt_slot_t*));
-	slot->arr_ref_reset = array_make(-1, sizeof(evt_slot_t*));
-	slot->arr_ref_trigger = array_make(-1, sizeof(evt_trigger_t*));
-	slot->arr_slotvar = array_make(-1, sizeof(evt_slotvar_t*));
-	slot->parent = engine;
-
-	char* code = NULL;
-	scew_list* slotval_list = NULL;
-	scew_list* filter_list = NULL;
-	scew_list* reset_list = NULL;
-
-	scew_attribute *attr = scew_element_attribute_by_name(slot_elem, "Code");
-	if (!attr) {
-		if (nIslog){
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("slot miss attribute code!");
-		}
-		goto on_error;
-	} 
-	else {
-		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("scew_attribute_name is %s.", scew_attribute_name(attr));
-		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("scew_attribute_value is %s.", scew_attribute_value(attr));
-		code = parse_code(ns, scew_attribute_value(attr));
-		if (!code) {
-			if (nIslog){
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("parse code failed!");
-			}
-			goto on_error;
-		} 
-		else {
-			slot->key.code = code;
-			slot->key.index_hash_code = hash32_str(code, HASH32_STR_INIT);
-		}
-	}
-
-	attr = scew_element_attribute_by_name(slot_elem, "Timeout");
-	if (attr) {
-		evt_expire_t *expire = ZALLOC_T(evt_expire_t);
-		if (!expire){
-			goto on_error;
-		}
-		expire->timeout = parse_timeout_value(scew_attribute_value(attr));
-		if (expire->timeout < 0) {
-			FREE(expire);
-			goto on_error;
-		}
-
-		if (expire->timeout == 0) {
-			FREE(expire);
-		} 
-		else {
-			expire->parent = slot;
-			expire->timer_id = 0;
-			slot->timer = expire;
-		}
-	}
-
-	attr = scew_element_attribute_by_name(slot_elem, "OnceTrigger");
-	if (attr) {
-		slot->once = parse_bool(scew_attribute_value(attr));
-	} 
-	else {
-		slot->once = 0;
-	}
-
-	slotval_list = scew_element_list_by_name(slot_elem, "Var");
-	if (slotval_list) {
-		for (scew_list *it = scew_list_first(slotval_list); it; it = scew_list_next(it)) {
-			scew_element *elem = (scew_element *)scew_list_data(it);
-			int rc = load_slotvar(engine, slot, elem);
-			if (rc != 0) {
-				if (nIslog){
-					DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("load slot var failed!%s", slot->key.code);
-				}
-				goto on_error;
-			}
-		}
-		scew_list_free(slotval_list);
-	}
-
-	filter_list = scew_element_list_by_name(slot_elem, "Filter");
-	if (filter_list) {
-		for (scew_list *it = scew_list_first(filter_list); it; it = scew_list_next(it)) {
-			scew_element *elem = (scew_element *)scew_list_data(it);
-			int rc = load_filter(engine, slot, elem);
-			if (rc != 0) {
-				if (nIslog){
-					DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("load filter failed!");
-				}
-				goto on_error;
-			}
-		}
-		scew_list_free(filter_list);
-	}
-
-	reset_list = scew_element_list_by_name(slot_elem, "Reset");
-	if (reset_list) {
-		for (scew_list *it = scew_list_first(reset_list); it; it = scew_list_next(it)) {
-			scew_element *elem = (scew_element *)scew_list_data(it);
-			attr = scew_element_attribute_by_name(elem, "Source");
-			if (attr) {
-				char *source = parse_code(ns, scew_attribute_value(attr));
-				if (!source)  {
-					if (nIslog){
-						DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("parse code of Reset tag Source attribute failed!");
-					}
-					goto on_error;
-				} 
-				else {
-					ARRAY_PUSH(slot->arr_reset, char*) = source;
-				}
-			} 
-			else {
-				if (nIslog){
-					DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("Reset tag miss source attribute!");
-				}
-				goto on_error;
-			}
-		}
-		scew_list_free(reset_list);
-	}
-	if (!slot->timer){
-		slot->once = 1;
-	}
-
-	if (slot_find(engine->slot_ht, &slot->key)) {
-		if (nIslog){
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("duplicate slot %s", slot->key.code);
-		}
-		goto on_error;
-	}
-
-	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("%s:%d engine->slot_ht->size = %d, engine->slot_ht count = %d.", __FUNCTION__, __LINE__, engine->slot_ht->size, htable_get_count(engine->slot_ht));
-
-	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("slot->key.code = %s, slot->key.index_hash_code = %d.", slot->key.code, slot->key.index_hash_code);
-
-	slot_add(engine->slot_ht, slot);
-
-	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("%s:%d engine->slot_ht->size = %d, engine->slot_ht count = %d.", __FUNCTION__, __LINE__, engine->slot_ht->size, htable_get_count(engine->slot_ht));
-
-	return 0;
-
-on_error:
-	slot_free(slot);
-	return Error_Unexpect;
-}
-
-
 static int load_slot_element_rule(evt_trigger_t* trigger, const char* ns, rvc_triggerslot_t* slot_elem)
 {
 	evt_slot_rule_t* rule = ZALLOC_T(evt_slot_rule_t);
@@ -2027,56 +1715,9 @@ on_error:
 	return Error_Unexpect;
 }
 
-
-static int load_slot_rule(evt_trigger_t *trigger, const char *ns, scew_element *slot_elem)
-{
-	evt_slot_rule_t *rule = ZALLOC_T(evt_slot_rule_t);
-	scew_attribute *attr = scew_element_attribute_by_name(slot_elem, "Code");
-	if (attr) {
-		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("Slot Code value is %s.", scew_attribute_value(attr));
-		rule->code = parse_code(ns, scew_attribute_value(attr));
-		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("after parse_code, rule->code is %s.", rule->code);
-	} 
-	else {
-		if (nIslog){
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("slot rule parse code attribute failed!");
-		}
-		goto on_error;
-	}
-
-	attr = scew_element_attribute_by_name(slot_elem, "Positive");
-	if (attr) {
-		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("Slot Positive value is %s.", scew_attribute_value(attr));
-		rule->positive = parse_bool(scew_attribute_value(attr));
-		if (rule->positive == -1) {
-			if (nIslog){
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("slot rule parse positive attr failed!");
-			}
-			goto on_error;
-		}
-	} 
-	else {
-		rule->positive = 1;
-	}
-
-	attr = scew_element_attribute_by_name(slot_elem, "Message");
-	if (attr) {
-		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("Slot Message value is %s.", scew_attribute_value(attr));
-		rule->message = _strdup(scew_attribute_value(attr));
-	}
-	rule->parent = trigger;
-	list_add_tail(&rule->entry, &trigger->slot_rule_list);
-	return 0;
-
-on_error:
-	slot_rule_free(rule);
-	return Error_Unexpect;
-}
-
 static int load_sysvar_element_rule(evt_engine_t* engine, evt_trigger_t* trigger, rvc_triggersysvar_t* sysvar_elem)
 {
 	evt_sysvar_rule_t* rule = ZALLOC_T(evt_sysvar_rule_t);
-	scew_list* state_list = NULL;
 
 	if (sysvar_elem->strCode) {
 		char* code = sysvar_elem->strCode;
@@ -2140,80 +1781,6 @@ static int load_sysvar_element_rule(evt_engine_t* engine, evt_trigger_t* trigger
 	return 0;
 }
 
-static int load_sysvar_rule(evt_engine_t *engine, evt_trigger_t *trigger, scew_element *sysvar_elem)
-{
-	evt_sysvar_rule_t *rule = ZALLOC_T(evt_sysvar_rule_t);
-	scew_list* state_list = NULL;
-
-	scew_attribute *attr = scew_element_attribute_by_name(sysvar_elem, "Code");
-	if (attr) {
-		char *code = (char*)scew_attribute_value(attr);
-		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("sysvar code is %s.", code);
-		evt_sysvar_key_t key;
-		key.code = code;
-		key.index_hash_code = hash32_str(code, HASH32_STR_INIT);
-		evt_sysvar_t *sysvar = sysvar_find(engine->sysvar_ht, &key);
-		if (!sysvar) {
-			sysvar = ZALLOC_T(evt_sysvar_t);
-			INIT_HLIST_NODE(&sysvar->hentry);
-			sysvar->arr_ref_rule = array_make(-1, sizeof(evt_sysvar_rule_t*));
-			sysvar->parent = engine;
-			sysvar->key.code = _strdup(code);
-			sysvar->key.index_hash_code = key.index_hash_code;
-			sysvar_add(engine->sysvar_ht, sysvar);
-		}
-		ARRAY_PUSH(sysvar->arr_ref_rule, evt_sysvar_rule_t*) = rule;
-		rule->ref_sysvar = sysvar;
-	} 
-	else {
-		if (nIslog){
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("load sysvar rule, undefine code attr!");
-		}
-		goto on_error;
-	}
-
-	attr = scew_element_attribute_by_name(sysvar_elem, "Positive");
-	if (attr) {
-		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("sysvar Positive is %s.", (char*)scew_attribute_value(attr));
-		rule->positive = parse_bool((char*)scew_attribute_value(attr));
-	} 
-	else {
-		rule->positive = 1;
-	}
-	rule->parent = trigger;
-	rule->arr_state = array_make(0, sizeof(char*));
-	state_list = scew_element_children(sysvar_elem);
-	if (state_list) {
-		for (scew_list *it = scew_list_first(state_list); it; it = scew_list_next(it)) {
-			scew_element *state_elem = (scew_element *)scew_list_data(it);
-			const char *state = scew_element_contents(state_elem);
-			if (state) {
-				DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("add sysvar state %s.", state);
-				ARRAY_PUSH(rule->arr_state, char*) = _strdup(state);
-			} 
-			else {
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("sysvar state is NULL, add it.");
-				ARRAY_PUSH(rule->arr_state, char*) = NULL;
-			}
-		}
-		scew_list_first(state_list);
-	} 
-	else {
-		if (nIslog){
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("trigger sysvar does not have state children!");
-		}
-		goto on_error;
-	}
-
-	list_add_tail(&rule->entry, &trigger->sysvar_list);
-
-	return 0;
-
-on_error:
-	sysvar_rule_free(rule);
-	return Error_Unexpect;
-}
-
 void SetLogType(int nIslog)
 {
 	nIslog = nIslog;
@@ -2341,244 +1908,6 @@ static int load_trigger_arrays(evt_engine_t* engine, const char* ns, rvc_trigger
 	return 0;
 }
 
-static int load_trigger(evt_engine_t *engine, const char *ns, scew_element *trigger_elem)
-{
-	evt_trigger_t *trigger = ZALLOC_T(evt_trigger_t);
-	scew_attribute *attr;
-	scew_list *slot_list, *sysvar_list;
-	scew_element *delayer;
-	INIT_LIST_HEAD(&trigger->slot_rule_list);
-	INIT_LIST_HEAD(&trigger->sysvar_list);
-	attr = scew_element_attribute_by_name(trigger_elem, "LogType");
-	if (attr) {
-		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("LogType value is %s.", scew_attribute_value(attr));
-		trigger->log_type = parse_log_type(scew_attribute_value(attr));
-		if (trigger->log_type == -1) {
-			if (nIslog){
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("trigger log type parse failed!");
-			}
-			goto on_error;
-		}
-	} 
-	else {
-		if (nIslog){
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("trigger LogType undefined!");
-		}
-		goto on_error;
-	}
-
-	attr = scew_element_attribute_by_name(trigger_elem, "SeverityLevel");
-	if (attr) {
-		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("SeverityLevel value is %s.", scew_attribute_value(attr));
-		trigger->severity_level = parse_severity(scew_attribute_value(attr));
-		if (trigger->severity_level == -1) {
-			if (nIslog){
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("trigger parse severity level failed!");
-			}
-			goto on_error;
-		}
-	} 
-	else {
-		if (trigger->log_type == Log_Event || trigger->log_type == Log_Error) {
-			if (nIslog){
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("trigger LogType undefined!");
-			}
-			goto on_error;
-		}
-	}
-
-	attr = scew_element_attribute_by_name(trigger_elem, "SysError");
-	if (attr) {
-		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("SysError value is %s.", scew_attribute_value(attr));
-		trigger->sys_code = parse_sys_code(scew_attribute_value(attr));
-		if (trigger->sys_code == -1) {
-			if (nIslog){
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("trigger parse sys code failed! sys_code: %s", scew_attribute_value(attr));
-			}
-			goto on_error;
-		}
-	} 
-	else {
-		if (trigger->log_type == Log_Error || trigger->log_type == Log_Warning) {
-			if (nIslog){
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("trigger parse sys code undefined!");
-			}
-			goto on_error;
-		}
-	}
-
-	attr = scew_element_attribute_by_name(trigger_elem, "UserCode");
-	if (attr) {
-		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("UserCode value is %s.", scew_attribute_value(attr));
-		trigger->user_code = parse_usr_code(scew_attribute_value(attr));
-	} 
-	else {
-		if (trigger->log_type == Log_Event || trigger->log_type == Log_Error || trigger->log_type == Log_Warning) {
-			if (nIslog){
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("trigger parse user code undefined!");
-			}
-			goto on_error;
-		}
-	}
-
-	attr = scew_element_attribute_by_name(trigger_elem, "Message");
-	if (attr) {
-		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("Message value is %s.", scew_attribute_value(attr));
-		trigger->msg = _strdup(scew_attribute_value(attr));
-	}
-
-	slot_list = scew_element_list_by_name(trigger_elem, "Slot");
-	if (slot_list) {
-		for (scew_list *it = scew_list_first(slot_list); it; it = scew_list_next(it)) {
-			scew_element *slot_elem = (scew_element*)scew_list_data(it);
-			int rc = load_slot_rule(trigger, ns, slot_elem);
-			if (rc != 0) {
-				if (nIslog){
-					DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("load slot rule failed!");
-				}
-				scew_list_free(slot_list);
-				goto on_error;
-			}
-		}
-		scew_list_free(slot_list);
-	}
-
-	sysvar_list = scew_element_list_by_name(trigger_elem, "SysVar");
-	if (sysvar_list) {
-		for (scew_list *it = scew_list_first(sysvar_list); it; it = scew_list_next(it)) {
-			scew_element *sysvar_elem = (scew_element*)scew_list_data(it);
-			int rc = load_sysvar_rule(engine, trigger, sysvar_elem);
-			if (rc != 0) {
-				if (nIslog){
-					DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("load sysvar rule failed!");
-				}
-				scew_list_free(sysvar_list);
-				goto on_error;
-			}
-		}
-		scew_list_free(sysvar_list);
-	}
-
-	delayer = scew_element_by_name(trigger_elem, "Delayer");
-	if (delayer) {
-		trigger->delay_ms = parse_timeout_value(scew_element_contents(delayer));
-		trigger->delay_timer_id = -1;
-	}
-	else {
-		trigger->delay_ms = 0;
-		trigger->delay_timer_id = -1;
-	}
-	trigger->parent = engine;
-	list_add_tail(&trigger->entry, &engine->trigger_list);
-
-	return 0;
-
-on_error:
-	trigger_free(trigger);
-	return Error_Unexpect;
-}
-
-static int load_file(evt_engine_t *engine, const char *filename)
-{
-	scew_reader *reader = NULL;
-	scew_parser *parser = NULL;
-	scew_tree *tree = NULL;
-	scew_element *root;
-	const char *ns;
-	char tmp_ns[MAX_PATH];
-	int rc = Error_Param;
-
-	scew_attribute* attr = NULL;
-	scew_element* elem = NULL;
-
-	reader = scew_reader_file_create(filename);
-	if (!reader) {			
-		if (nIslog){
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("open file %s failed!", filename);
-		}
-		goto on_error;
-	}
-	parser = scew_parser_create();
-	tree = scew_parser_load(parser, reader);
-	if (!tree) {
-		if (nIslog){
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("read file %s failed! parser xml failed", filename);
-		}
-		goto on_error;
-	}
-	root = scew_tree_root(tree);
-	if (!root) {
-		if (nIslog){
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("%s file does not have root element!", filename);
-		}
-		goto on_error;
-	}
-
-	attr = scew_element_attribute_by_name(root, "xmlns");
-	if (attr) {
-		ns = (const char*)scew_attribute_value(attr);
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("scew_element_attribute_by_name xmlns success, ns is %s.", ns);
-	} 
-	else {
-		const char *s = strrchr(filename, SPLIT_SLASH)+1;
-		const char *e = strrchr(filename, '.');
-		memcpy(tmp_ns, s, e-s);
-		tmp_ns[e-s] = 0;
-		ns = tmp_ns;
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("scew_element_attribute_by_name xmlns failed, ns is %s.", ns);
-	}
-
-	elem = scew_element_by_name(root, "SlotList");
-	if (elem) {
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("element SlotList contents is %s.", scew_element_contents(elem));
-		scew_list *slot_list = scew_element_children(elem);
-		if (slot_list) {
-			for (scew_list *it = scew_list_first(slot_list); it; it = scew_list_next(it)) {
-				scew_element *slot_elem = (scew_element *)scew_list_data(it);
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("slot_elem element name is %s, count is %d.", scew_element_name(slot_elem), scew_element_count(slot_elem));
-				if (load_slot(engine, ns, slot_elem) != 0) {
-					if (nIslog){
-						DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("load slot failed!");
-					}
-					goto on_error;
-				}
-			}
-		}
-	}
-
-	elem = scew_element_by_name(root, "TriggerList");
-	if (elem) {
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("element TriggerList contents is %s.", scew_element_contents(elem));
-		scew_list *trigger_list = scew_element_children(elem);
-		if (trigger_list) {
-			for (scew_list *it = scew_list_first(trigger_list); it; it = scew_list_next(it)) {
-				scew_element *trigger_elem = (scew_element*)scew_list_data(it);
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("the number of children of %s is %d.", scew_element_name(trigger_elem), scew_element_count(trigger_elem));
-				if (load_trigger(engine, ns, trigger_elem) != 0) {
-					if (nIslog){
-						DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("load trigger failed!");
-					}
-					goto on_error;
-				}
-			}
-		}
-	}
-
-	rc = 0;
-
-on_error:
-	if (tree) {
-		scew_tree_free(tree);
-	}
-	if (parser) {
-		scew_parser_free(parser);
-	}
-	if (reader) {
-		scew_reader_close(reader);
-	}
-	return rc;
-}
-
 
 static int load_strategy_array(evt_engine_t* engine, slot_trigger_elem_t* pelement)
 {
@@ -2644,43 +1973,6 @@ void evt_engine_destroy(evt_engine_t *engine)
 	FREE(engine);
 }
 
-int evt_engine_load(evt_engine_t *engine, int nfile, const char **files)
-{
-	int i;
-	int rc = 0;
-
-	for (i = 0; i < nfile; ++i) {
-		const char* filename = files[i];
-		assert(filename);
-		rc = load_file(engine, filename);
-		if (rc != 0) {
-			if (nIslog) {
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("load file %s failed!", filename);
-			}
-			return rc;
-		}
-		else {
-			if (nIslog) {
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("%s loaded!", filename);
-			}
-		}
-	}
-
-	rc = build_ref(engine);
-	if (rc != 0) {
-		if (nIslog){
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("build ref failed!");
-		}
-		return rc;
-	}
-
-	if (nIslog){
-		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("build ref ok!");
-	}
-
-	return rc;
-}
-
 int evt_engine_load(evt_engine_t* engine, int* indexarr, int icount, slot_trigger_elem_t* parr, int iarrlen)
 {
 	int rc = 0;

+ 0 - 1
Module/mod_evtconverter/evtengine.h

@@ -37,7 +37,6 @@ typedef struct evt_engine_callback_t
 
 int evt_engine_create(const evt_engine_callback_t *callback, evt_engine_t **p_engine);
 void evt_engine_destroy(evt_engine_t *engine);
-int evt_engine_load(evt_engine_t *engine, int nfile, const char **files);
 int evt_engine_load(evt_engine_t* engine, int* indexarr, int icount, slot_trigger_elem_t* parr, int iarrlen);
 int evt_engine_unload(evt_engine_t *engine);
 int evt_engine_process_log(evt_engine_t *engine, 

+ 2 - 26
Module/mod_evtconverter/mod_evtconverter.cpp

@@ -9,9 +9,6 @@
 #include "CustomerApproachEvent.hpp"
 #include "CustomerApproachEventCardStore.hpp"
 
-//#ifndef RVC_USE_XML
-//#define RVC_USE_XML 1
-//#endif // !RVC_USE_XML
 
 static slot_trigger_elem_t slot_trigger_arr[] = {
 	{"SipphoneEvent", SipphoneSlotList, sizeof(SipphoneSlotList)/sizeof(rvc_slot_t), SipphoneTriggerList, sizeof(SipphoneTriggerList)/sizeof(rvc_trigger_t)},
@@ -51,17 +48,13 @@ public:
         }
 
 		m_eDeviceType = RvcGetDeviceType();
-		CAutoArray<CSimpleStringA> ConfigFiles;
-		ConfigFiles.Init(2);
+	
 		const int num = 2;
 		int indexarr[2] = { 0 };
-		ConfigFiles[0] = CSimpleStringA::Format("%s" SPLIT_SLASH_STR "SipphoneEvent.xml", strConfigDir.GetData());
 		if (eCardStore == m_eDeviceType) {
-			ConfigFiles[1] = CSimpleStringA::Format("%s" SPLIT_SLASH_STR "CustomerApproachEventCardStore.xml", strConfigDir.GetData());
 			indexarr[1] = 2;
 		} 
 		else {
-			ConfigFiles[1] = CSimpleStringA::Format("%s" SPLIT_SLASH_STR "CustomerApproachEvent.xml", strConfigDir.GetData());
 			indexarr[1] = 1;
 		}
 
@@ -101,23 +94,6 @@ public:
 			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("create engine ok!");
 		}
 
-#ifdef RVC_USE_XML
-		if (num > 0) {
-			const char **files = new const char*[num];
-			for (int i = 0; i < num; ++i) {
-				files[i] = (const char*)ConfigFiles[i];
-			}
-			
-			rc = evt_engine_load(engine, num, files);
-			
-			delete files;
-			
-			if (rc != 0) {
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("load config failed!");
-				return (ErrorCodeEnum)rc;
-			}
-		}
-#else
 		if (num > 0) {
 			rc = evt_engine_load(engine, indexarr, num, slot_trigger_arr, sizeof(slot_trigger_arr)/sizeof(slot_trigger_elem_t));
 			if (rc != 0) {
@@ -125,7 +101,7 @@ public:
 				return (ErrorCodeEnum)rc;
 			}
 		}
-#endif
+
 		rc = evt_engine_start(engine);
 		if (rc != 0) {
 			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("start engine failed!");