} else if(strcmp(true_op, CRM_OPERATION_CREATE) == 0 || strcmp(true_op, CRM_OPERATION_DELETE) == 0 || strcmp(true_op, CRM_OPERATION_REPLACE) == 0 || strcmp(true_op, CRM_OPERATION_WELCOME) == 0 || strcmp(true_op, CRM_OPERATION_SHUTDOWN_REQ) == 0 || strcmp(true_op, CRM_OPERATION_ERASE) == 0) {
} else if(strcmp(true_op, CRM_OP_CREATE) == 0 || strcmp(true_op, CRM_OP_DELETE) == 0 || strcmp(true_op, CRM_OP_REPLACE) == 0 || strcmp(true_op, CRM_OP_WELCOME) == 0 || strcmp(true_op, CRM_OP_SHUTDOWN_REQ) == 0 || strcmp(true_op, CRM_OP_ERASE) == 0) {
process_te_message(xmlNodePtr msg, IPC_Channel *sender){	const char *op = get_xml_attr (msg, XML_TAG_OPTIONS,				       XML_ATTR_OP, FALSE);	const char *sys_to = xmlGetProp(msg, XML_ATTR_SYSTO);	cl_log(LOG_DEBUG, "Processing %s message", op);		if(op == NULL){		// error	} else if(strcmp(op, "hello") == 0) {		// ignore	} else if(sys_to == NULL || strcmp(sys_to, "tengine") != 0) {		CRM_DEBUG("Bad sys-to %s", sys_to);		return FALSE;			} else if(strcmp(op, "transition") == 0) {		CRM_DEBUG("Initializing graph...");		initialize_graph();		xmlNodePtr graph = find_xml_node(msg, "transition_graph");		CRM_DEBUG("Unpacking graph...");		unpack_graph(graph);		CRM_DEBUG("Initiating transition...");		if(initiate_transition() == FALSE) {			// nothing to be done.. means we're done.			cl_log(LOG_INFO, "No actions to be taken..."			       " transition compelte.");			send_success();				}		CRM_DEBUG("Processing complete...");					} else if(strcmp(op, "event") == 0) {		const char *true_op = get_xml_attr (msg, XML_TAG_OPTIONS,						    "true_op", TRUE);		if(true_op == NULL) {			cl_log(LOG_ERR,			       "Illegal update, the original operation must be specified");			send_abort(msg);					} else if(strcmp(true_op, CRM_OPERATION_CREATE) == 0		   || strcmp(true_op, CRM_OPERATION_DELETE) == 0		   || strcmp(true_op, CRM_OPERATION_REPLACE) == 0		   || strcmp(true_op, CRM_OPERATION_WELCOME) == 0		   || strcmp(true_op, CRM_OPERATION_SHUTDOWN_REQ) == 0		   || strcmp(true_op, CRM_OPERATION_ERASE) == 0) {			// these are always unexpected, trigger the PE			send_abort(msg);					} else if(strcmp(true_op, CRM_OPERATION_UPDATE) == 0) {			// this may not be un-expected			if(extract_event(msg) == FALSE){				send_abort(msg);			}					} else {			cl_log(LOG_ERR,			       "Did not expect copy of action %s", op);		}			} else if(strcmp(op, "abort") == 0) {		initialize_graph();	} else if(strcmp(op, "quit") == 0) {		cl_log(LOG_WARNING, "Received quit message, terminating");		exit(0);	}		return TRUE;}