From d9fa24276ecac72a808d59a76906247a29adeaa8 Mon Sep 17 00:00:00 2001 From: Snaipe Date: Fri, 11 Dec 2015 17:15:35 +0100 Subject: [PATCH] Changed submessage union as oneof --- src/protocol/criterion.pb.c | 20 ++++++++++---------- src/protocol/criterion.pb.h | 33 ++++++++++++++------------------- src/protocol/criterion.proto | 16 +++++++++------- 3 files changed, 33 insertions(+), 36 deletions(-) diff --git a/src/protocol/criterion.pb.c b/src/protocol/criterion.pb.c index a04be46..307ef47 100644 --- a/src/protocol/criterion.pb.c +++ b/src/protocol/criterion.pb.c @@ -1,5 +1,5 @@ /* Automatically generated nanopb constant definitions */ -/* Generated by nanopb-0.3.5-dev at Fri Dec 11 16:22:10 2015. */ +/* Generated by nanopb-0.3.5-dev at Fri Dec 11 17:13:49 2015. */ #include "criterion.pb.h" @@ -47,13 +47,13 @@ const pb_field_t criterion_protocol_assert_fields[5] = { }; const pb_field_t criterion_protocol_submessage_fields[8] = { - PB_FIELD( 1, MESSAGE , OPTIONAL, STATIC , FIRST, criterion_protocol_submessage, birth, birth, &criterion_protocol_birth_fields), - PB_FIELD( 2, MESSAGE , OPTIONAL, STATIC , OTHER, criterion_protocol_submessage, pre_init, birth, &criterion_protocol_pre_init_fields), - PB_FIELD( 3, MESSAGE , OPTIONAL, STATIC , OTHER, criterion_protocol_submessage, pre_test, pre_init, &criterion_protocol_pre_test_fields), - PB_FIELD( 4, MESSAGE , OPTIONAL, STATIC , OTHER, criterion_protocol_submessage, post_test, pre_test, &criterion_protocol_post_test_fields), - PB_FIELD( 5, MESSAGE , OPTIONAL, STATIC , OTHER, criterion_protocol_submessage, post_fini, post_test, &criterion_protocol_post_fini_fields), - PB_FIELD( 6, MESSAGE , OPTIONAL, STATIC , OTHER, criterion_protocol_submessage, death, post_fini, &criterion_protocol_death_fields), - PB_FIELD( 7, MESSAGE , OPTIONAL, STATIC , OTHER, criterion_protocol_submessage, assert, death, &criterion_protocol_assert_fields), + PB_ONEOF_FIELD(value, 1, MESSAGE , ONEOF, STATIC , FIRST, criterion_protocol_submessage, birth, birth, &criterion_protocol_birth_fields), + PB_ONEOF_FIELD(value, 2, MESSAGE , ONEOF, STATIC , FIRST, criterion_protocol_submessage, pre_init, pre_init, &criterion_protocol_pre_init_fields), + PB_ONEOF_FIELD(value, 3, MESSAGE , ONEOF, STATIC , FIRST, criterion_protocol_submessage, pre_test, pre_test, &criterion_protocol_pre_test_fields), + PB_ONEOF_FIELD(value, 4, MESSAGE , ONEOF, STATIC , FIRST, criterion_protocol_submessage, post_test, post_test, &criterion_protocol_post_test_fields), + PB_ONEOF_FIELD(value, 5, MESSAGE , ONEOF, STATIC , FIRST, criterion_protocol_submessage, post_fini, post_fini, &criterion_protocol_post_fini_fields), + PB_ONEOF_FIELD(value, 6, MESSAGE , ONEOF, STATIC , FIRST, criterion_protocol_submessage, death, death, &criterion_protocol_death_fields), + PB_ONEOF_FIELD(value, 7, MESSAGE , ONEOF, STATIC , FIRST, criterion_protocol_submessage, assert, assert, &criterion_protocol_assert_fields), PB_LAST_FIELD }; @@ -74,7 +74,7 @@ const pb_field_t criterion_protocol_msg_fields[4] = { * numbers or field sizes that are larger than what can fit in 8 or 16 bit * field descriptors. */ -PB_STATIC_ASSERT((pb_membersize(criterion_protocol_submessage, birth) < 65536 && pb_membersize(criterion_protocol_submessage, pre_init) < 65536 && pb_membersize(criterion_protocol_submessage, pre_test) < 65536 && pb_membersize(criterion_protocol_submessage, post_test) < 65536 && pb_membersize(criterion_protocol_submessage, post_fini) < 65536 && pb_membersize(criterion_protocol_submessage, death) < 65536 && pb_membersize(criterion_protocol_submessage, assert) < 65536 && pb_membersize(criterion_protocol_submessage, birth) < 65536 && pb_membersize(criterion_protocol_submessage, pre_init) < 65536 && pb_membersize(criterion_protocol_submessage, pre_test) < 65536 && pb_membersize(criterion_protocol_submessage, post_test) < 65536 && pb_membersize(criterion_protocol_submessage, post_fini) < 65536 && pb_membersize(criterion_protocol_submessage, death) < 65536 && pb_membersize(criterion_protocol_submessage, assert) < 65536 && pb_membersize(criterion_protocol_msg, data) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_criterion_protocol_birth_criterion_protocol_pre_init_criterion_protocol_pre_test_criterion_protocol_post_test_criterion_protocol_post_fini_criterion_protocol_death_criterion_protocol_assert_criterion_protocol_submessage_criterion_protocol_msg) +PB_STATIC_ASSERT((pb_membersize(criterion_protocol_submessage, value.birth) < 65536 && pb_membersize(criterion_protocol_submessage, value.pre_init) < 65536 && pb_membersize(criterion_protocol_submessage, value.pre_test) < 65536 && pb_membersize(criterion_protocol_submessage, value.post_test) < 65536 && pb_membersize(criterion_protocol_submessage, value.post_fini) < 65536 && pb_membersize(criterion_protocol_submessage, value.death) < 65536 && pb_membersize(criterion_protocol_submessage, value.assert) < 65536 && pb_membersize(criterion_protocol_submessage, value.birth) < 65536 && pb_membersize(criterion_protocol_submessage, value.pre_init) < 65536 && pb_membersize(criterion_protocol_submessage, value.pre_test) < 65536 && pb_membersize(criterion_protocol_submessage, value.post_test) < 65536 && pb_membersize(criterion_protocol_submessage, value.post_fini) < 65536 && pb_membersize(criterion_protocol_submessage, value.death) < 65536 && pb_membersize(criterion_protocol_submessage, value.assert) < 65536 && pb_membersize(criterion_protocol_submessage, value.birth) < 65536 && pb_membersize(criterion_protocol_submessage, value.pre_init) < 65536 && pb_membersize(criterion_protocol_submessage, value.pre_test) < 65536 && pb_membersize(criterion_protocol_submessage, value.post_test) < 65536 && pb_membersize(criterion_protocol_submessage, value.post_fini) < 65536 && pb_membersize(criterion_protocol_submessage, value.death) < 65536 && pb_membersize(criterion_protocol_submessage, value.assert) < 65536 && pb_membersize(criterion_protocol_submessage, value.birth) < 65536 && pb_membersize(criterion_protocol_submessage, value.pre_init) < 65536 && pb_membersize(criterion_protocol_submessage, value.pre_test) < 65536 && pb_membersize(criterion_protocol_submessage, value.post_test) < 65536 && pb_membersize(criterion_protocol_submessage, value.post_fini) < 65536 && pb_membersize(criterion_protocol_submessage, value.death) < 65536 && pb_membersize(criterion_protocol_submessage, value.assert) < 65536 && pb_membersize(criterion_protocol_msg, data) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_criterion_protocol_birth_criterion_protocol_pre_init_criterion_protocol_pre_test_criterion_protocol_post_test_criterion_protocol_post_fini_criterion_protocol_death_criterion_protocol_assert_criterion_protocol_submessage_criterion_protocol_msg) #endif #if !defined(PB_FIELD_16BIT) && !defined(PB_FIELD_32BIT) @@ -85,7 +85,7 @@ PB_STATIC_ASSERT((pb_membersize(criterion_protocol_submessage, birth) < 65536 && * numbers or field sizes that are larger than what can fit in the default * 8 bit descriptors. */ -PB_STATIC_ASSERT((pb_membersize(criterion_protocol_submessage, birth) < 256 && pb_membersize(criterion_protocol_submessage, pre_init) < 256 && pb_membersize(criterion_protocol_submessage, pre_test) < 256 && pb_membersize(criterion_protocol_submessage, post_test) < 256 && pb_membersize(criterion_protocol_submessage, post_fini) < 256 && pb_membersize(criterion_protocol_submessage, death) < 256 && pb_membersize(criterion_protocol_submessage, assert) < 256 && pb_membersize(criterion_protocol_submessage, birth) < 256 && pb_membersize(criterion_protocol_submessage, pre_init) < 256 && pb_membersize(criterion_protocol_submessage, pre_test) < 256 && pb_membersize(criterion_protocol_submessage, post_test) < 256 && pb_membersize(criterion_protocol_submessage, post_fini) < 256 && pb_membersize(criterion_protocol_submessage, death) < 256 && pb_membersize(criterion_protocol_submessage, assert) < 256 && pb_membersize(criterion_protocol_msg, data) < 256), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_criterion_protocol_birth_criterion_protocol_pre_init_criterion_protocol_pre_test_criterion_protocol_post_test_criterion_protocol_post_fini_criterion_protocol_death_criterion_protocol_assert_criterion_protocol_submessage_criterion_protocol_msg) +PB_STATIC_ASSERT((pb_membersize(criterion_protocol_submessage, value.birth) < 256 && pb_membersize(criterion_protocol_submessage, value.pre_init) < 256 && pb_membersize(criterion_protocol_submessage, value.pre_test) < 256 && pb_membersize(criterion_protocol_submessage, value.post_test) < 256 && pb_membersize(criterion_protocol_submessage, value.post_fini) < 256 && pb_membersize(criterion_protocol_submessage, value.death) < 256 && pb_membersize(criterion_protocol_submessage, value.assert) < 256 && pb_membersize(criterion_protocol_submessage, value.birth) < 256 && pb_membersize(criterion_protocol_submessage, value.pre_init) < 256 && pb_membersize(criterion_protocol_submessage, value.pre_test) < 256 && pb_membersize(criterion_protocol_submessage, value.post_test) < 256 && pb_membersize(criterion_protocol_submessage, value.post_fini) < 256 && pb_membersize(criterion_protocol_submessage, value.death) < 256 && pb_membersize(criterion_protocol_submessage, value.assert) < 256 && pb_membersize(criterion_protocol_submessage, value.birth) < 256 && pb_membersize(criterion_protocol_submessage, value.pre_init) < 256 && pb_membersize(criterion_protocol_submessage, value.pre_test) < 256 && pb_membersize(criterion_protocol_submessage, value.post_test) < 256 && pb_membersize(criterion_protocol_submessage, value.post_fini) < 256 && pb_membersize(criterion_protocol_submessage, value.death) < 256 && pb_membersize(criterion_protocol_submessage, value.assert) < 256 && pb_membersize(criterion_protocol_submessage, value.birth) < 256 && pb_membersize(criterion_protocol_submessage, value.pre_init) < 256 && pb_membersize(criterion_protocol_submessage, value.pre_test) < 256 && pb_membersize(criterion_protocol_submessage, value.post_test) < 256 && pb_membersize(criterion_protocol_submessage, value.post_fini) < 256 && pb_membersize(criterion_protocol_submessage, value.death) < 256 && pb_membersize(criterion_protocol_submessage, value.assert) < 256 && pb_membersize(criterion_protocol_msg, data) < 256), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_criterion_protocol_birth_criterion_protocol_pre_init_criterion_protocol_pre_test_criterion_protocol_post_test_criterion_protocol_post_fini_criterion_protocol_death_criterion_protocol_assert_criterion_protocol_submessage_criterion_protocol_msg) #endif diff --git a/src/protocol/criterion.pb.h b/src/protocol/criterion.pb.h index 1456f05..9f7ab62 100644 --- a/src/protocol/criterion.pb.h +++ b/src/protocol/criterion.pb.h @@ -1,5 +1,5 @@ /* Automatically generated nanopb header */ -/* Generated by nanopb-0.3.5-dev at Fri Dec 11 16:22:10 2015. */ +/* Generated by nanopb-0.3.5-dev at Fri Dec 11 17:13:49 2015. */ #ifndef PB_CRITERION_PB_H_INCLUDED #define PB_CRITERION_PB_H_INCLUDED @@ -59,20 +59,16 @@ typedef struct _criterion_protocol_pre_test { } criterion_protocol_pre_test; typedef struct _criterion_protocol_submessage { - bool has_birth; - criterion_protocol_birth birth; - bool has_pre_init; - criterion_protocol_pre_init pre_init; - bool has_pre_test; - criterion_protocol_pre_test pre_test; - bool has_post_test; - criterion_protocol_post_test post_test; - bool has_post_fini; - criterion_protocol_post_fini post_fini; - bool has_death; - criterion_protocol_death death; - bool has_assert; - criterion_protocol_assert assert; + pb_size_t which_value; + union { + criterion_protocol_birth birth; + criterion_protocol_pre_init pre_init; + criterion_protocol_pre_test pre_test; + criterion_protocol_post_test post_test; + criterion_protocol_post_fini post_fini; + criterion_protocol_death death; + criterion_protocol_assert assert; + } value; } criterion_protocol_submessage; typedef struct _criterion_protocol_msg { @@ -95,7 +91,7 @@ extern const int32_t criterion_protocol_msg_version_default; #define criterion_protocol_post_fini_init_default {0} #define criterion_protocol_death_init_default {false, (criterion_protocol_death_result_type)0, false, 0} #define criterion_protocol_assert_init_default {NULL, 0, NULL, false, 0} -#define criterion_protocol_submessage_init_default {false, criterion_protocol_birth_init_default, false, criterion_protocol_pre_init_init_default, false, criterion_protocol_pre_test_init_default, false, criterion_protocol_post_test_init_default, false, criterion_protocol_post_fini_init_default, false, criterion_protocol_death_init_default, false, criterion_protocol_assert_init_default} +#define criterion_protocol_submessage_init_default {0, {criterion_protocol_birth_init_default}} #define criterion_protocol_msg_init_default {1, 0, {0}, criterion_protocol_submessage_init_default} #define criterion_protocol_birth_init_zero {0} #define criterion_protocol_pre_init_init_zero {0} @@ -104,7 +100,7 @@ extern const int32_t criterion_protocol_msg_version_default; #define criterion_protocol_post_fini_init_zero {0} #define criterion_protocol_death_init_zero {false, (criterion_protocol_death_result_type)0, false, 0} #define criterion_protocol_assert_init_zero {NULL, 0, NULL, false, 0} -#define criterion_protocol_submessage_init_zero {false, criterion_protocol_birth_init_zero, false, criterion_protocol_pre_init_init_zero, false, criterion_protocol_pre_test_init_zero, false, criterion_protocol_post_test_init_zero, false, criterion_protocol_post_fini_init_zero, false, criterion_protocol_death_init_zero, false, criterion_protocol_assert_init_zero} +#define criterion_protocol_submessage_init_zero {0, {criterion_protocol_birth_init_zero}} #define criterion_protocol_msg_init_zero {0, 0, {0}, criterion_protocol_submessage_init_zero} /* Field tags (for use in manual encoding/decoding) */ @@ -145,8 +141,7 @@ extern const pb_field_t criterion_protocol_msg_fields[4]; #define criterion_protocol_post_test_size 11 #define criterion_protocol_post_fini_size 0 #define criterion_protocol_death_size 13 -#define criterion_protocol_submessage_size (53 + criterion_protocol_assert_size) -#define criterion_protocol_msg_size (82 + criterion_protocol_assert_size) +#define criterion_protocol_msg_size (29 + criterion_protocol_submessage_size) /* Message IDs (where set with "msgid" option) */ #ifdef PB_MSGID diff --git a/src/protocol/criterion.proto b/src/protocol/criterion.proto index 18a3304..bb671a6 100644 --- a/src/protocol/criterion.proto +++ b/src/protocol/criterion.proto @@ -38,13 +38,15 @@ message assert { message submessage { - optional criterion.protocol.birth birth = 1; - optional criterion.protocol.pre_init pre_init = 2; - optional criterion.protocol.pre_test pre_test = 3; - optional criterion.protocol.post_test post_test = 4; - optional criterion.protocol.post_fini post_fini = 5; - optional criterion.protocol.death death = 6; - optional criterion.protocol.assert assert = 7; + oneof value { + criterion.protocol.birth birth = 1; + criterion.protocol.pre_init pre_init = 2; + criterion.protocol.pre_test pre_test = 3; + criterion.protocol.post_test post_test = 4; + criterion.protocol.post_fini post_fini = 5; + criterion.protocol.death death = 6; + criterion.protocol.assert assert = 7; + } }