void sml_get_profile_pack_response_write(sml_get_profile_pack_response *msg, sml_buffer *buf) {
	sml_buf_set_type_and_length(buf, SML_TYPE_LIST, 8);

	sml_octet_string_write(msg->server_id, buf);
	sml_time_write(msg->act_time, buf);
	sml_u32_write(msg->reg_period, buf);
	sml_tree_path_write(msg->parameter_tree_path, buf);
	sml_sequence_write(msg->header_list, buf, sml_prof_obj_header_entry_write_);
	sml_sequence_write(msg->period_list, buf, sml_prof_obj_period_entry_write_);
	sml_octet_string_write(msg->rawdata, buf);
	sml_signature_write(msg->profile_signature, buf);
}
示例#2
0
TEST(sml_sequence, write_octet_string) {
	sml_sequence *seq = sml_sequence_init((void (*)(void *))&sml_octet_string_free);
	sml_sequence_add(seq, sml_octet_string_init((unsigned char *)"Hallo", 5));
	sml_sequence_add(seq, sml_octet_string_init((unsigned char *)"Hallo", 5));

	sml_sequence_write(seq, buf, (void (*)(void *, sml_buffer *))&sml_octet_string_write);
	expected_buf(buf, "720648616C6C6F0648616C6C6F", 13);
}
static void sml_prof_obj_period_entry_write_( void * p, sml_buffer *buf) {
	sml_prof_obj_period_entry * entry = p;

	sml_buf_set_type_and_length(buf, SML_TYPE_LIST, 4);
	sml_time_write(entry->val_time, buf);
	sml_u64_write(entry->status, buf);
	sml_sequence_write(entry->value_list, buf, sml_value_entry_write_);
	sml_signature_write(entry->period_signature, buf);
}