Exemplo n.º 1
0
TEST(sml_tree, write) {
	sml_tree *t = sml_tree_init();
	t->parameter_name = sml_octet_string_init((unsigned char *)"Hallo", 5);
	sml_tree_write(t, buf);
	expected_buf(buf, "730648616C6C6F0101", 9);
	sml_tree_free( t );
}
void sml_set_proc_parameter_request_write(sml_set_proc_parameter_request *msg, sml_buffer *buf) {
	sml_buf_set_type_and_length(buf, SML_TYPE_LIST, 5);
	sml_octet_string_write(msg->server_id, buf);
	sml_octet_string_write(msg->username, buf);
	sml_octet_string_write(msg->password, buf);
	sml_tree_path_write(msg->parameter_tree_path, buf);
	sml_tree_write(msg->parameter_tree, buf);
}
Exemplo n.º 3
0
void sml_attention_response_write(sml_attention_response *msg, sml_buffer *buf) {
	sml_buf_set_type_and_length(buf, SML_TYPE_LIST, 4);

	sml_octet_string_write(msg->server_id, buf);
	sml_octet_string_write(msg->attention_number, buf);
	sml_octet_string_write(msg->attention_message, buf);
	sml_tree_write(msg->attention_details, buf);
}
Exemplo n.º 4
0
void sml_tree_write(sml_tree *tree, sml_buffer *buf) {
	if (tree == 0) {
		sml_buf_optional_write(buf);
		return;
	}

	sml_buf_set_type_and_length(buf, SML_TYPE_LIST, 3);

	sml_octet_string_write(tree->parameter_name, buf);
	sml_proc_par_value_write(tree->parameter_value, buf);

	if (tree->child_list && tree->child_list_len > 0) {
		sml_buf_set_type_and_length(buf, SML_TYPE_LIST, tree->child_list_len);

		int i;
		for (i = 0; i < tree->child_list_len; i++) {
			sml_tree_write(tree->child_list[i], buf);
		}
	}
	else {
		sml_buf_optional_write(buf);
	}
}