| 98 | } |
| 99 | |
| 100 | static lrmd_cmd_t * |
| 101 | create_lrmd_cmd(xmlNode * msg, lrmd_client_t * client) |
| 102 | { |
| 103 | int call_options = 0; |
| 104 | xmlNode *rsc_xml = get_xpath_object("//" F_LRMD_RSC, msg, LOG_ERR); |
| 105 | lrmd_cmd_t *cmd = NULL; |
| 106 | |
| 107 | cmd = calloc(1, sizeof(lrmd_cmd_t)); |
| 108 | |
| 109 | crm_element_value_int(msg, F_LRMD_CALLOPTS, &call_options); |
| 110 | cmd->call_opts = call_options; |
| 111 | cmd->client_id = strdup(client->id); |
| 112 | |
| 113 | crm_element_value_int(msg, F_LRMD_CALLID, &cmd->call_id); |
| 114 | crm_element_value_int(rsc_xml, F_LRMD_RSC_INTERVAL, &cmd->interval); |
| 115 | crm_element_value_int(rsc_xml, F_LRMD_TIMEOUT, &cmd->timeout); |
| 116 | crm_element_value_int(rsc_xml, F_LRMD_RSC_START_DELAY, &cmd->start_delay); |
| 117 | |
| 118 | cmd->origin = crm_element_value_copy(rsc_xml, F_LRMD_ORIGIN); |
| 119 | cmd->action = crm_element_value_copy(rsc_xml, F_LRMD_RSC_ACTION); |
| 120 | cmd->userdata_str = crm_element_value_copy(rsc_xml, F_LRMD_RSC_USERDATA_STR); |
| 121 | cmd->rsc_id = crm_element_value_copy(rsc_xml, F_LRMD_RSC_ID); |
| 122 | |
| 123 | cmd->params = xml2list(rsc_xml); |
| 124 | |
| 125 | return cmd; |
| 126 | } |
| 127 | |
| 128 | static void |
| 129 | free_lrmd_cmd(lrmd_cmd_t * cmd) |
no test coverage detected