Switch back to many subtypes for binary messages.
[apps/low-level-can-service.git] / gen / cpp / openxc.pb.h
1 /* Automatically generated nanopb header */
2 /* Generated by nanopb-0.2.4-dev at Wed Oct 23 08:59:20 2013. */
3
4 #ifndef _PB_OPENXC_PB_H_
5 #define _PB_OPENXC_PB_H_
6 #include <pb.h>
7
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
11
12 /* Enum definitions */
13 typedef enum _openxc_VehicleMessage_Type {
14     openxc_VehicleMessage_Type_RAW = 1,
15     openxc_VehicleMessage_Type_STRING = 2,
16     openxc_VehicleMessage_Type_BOOL = 3,
17     openxc_VehicleMessage_Type_NUM = 4,
18     openxc_VehicleMessage_Type_EVENTED_NUM = 5,
19     openxc_VehicleMessage_Type_EVENTED_STRING = 6,
20     openxc_VehicleMessage_Type_EVENTED_BOOL = 7
21 } openxc_VehicleMessage_Type;
22
23 /* Struct definitions */
24 typedef struct _openxc_BooleanMessage {
25     bool has_name;
26     char name[100];
27     bool has_value;
28     bool value;
29 } openxc_BooleanMessage;
30
31 typedef struct _openxc_EventedBooleanMessage {
32     bool has_name;
33     char name[100];
34     bool has_value;
35     char value[100];
36     bool has_event;
37     bool event;
38 } openxc_EventedBooleanMessage;
39
40 typedef struct _openxc_EventedNumericMessage {
41     bool has_name;
42     char name[100];
43     bool has_value;
44     char value[100];
45     bool has_event;
46     double event;
47 } openxc_EventedNumericMessage;
48
49 typedef struct _openxc_EventedStringMessage {
50     bool has_name;
51     char name[100];
52     bool has_value;
53     char value[100];
54     bool has_event;
55     char event[100];
56 } openxc_EventedStringMessage;
57
58 typedef struct _openxc_NumericMessage {
59     bool has_name;
60     char name[100];
61     bool has_value;
62     double value;
63 } openxc_NumericMessage;
64
65 typedef struct _openxc_RawMessage {
66     bool has_bus;
67     int32_t bus;
68     bool has_message_id;
69     uint32_t message_id;
70 } openxc_RawMessage;
71
72 typedef struct _openxc_StringMessage {
73     bool has_name;
74     char name[100];
75     bool has_value;
76     char value[100];
77 } openxc_StringMessage;
78
79 typedef struct _openxc_VehicleMessage {
80     bool has_type;
81     openxc_VehicleMessage_Type type;
82     bool has_raw_message;
83     openxc_RawMessage raw_message;
84     bool has_string_message;
85     openxc_StringMessage string_message;
86     bool has_numeric_message;
87     openxc_NumericMessage numeric_message;
88     bool has_boolean_message;
89     openxc_BooleanMessage boolean_message;
90     bool has_evented_string_message;
91     openxc_EventedStringMessage evented_string_message;
92     bool has_evented_boolean_message;
93     openxc_EventedBooleanMessage evented_boolean_message;
94     bool has_evented_numeric_message;
95     openxc_EventedNumericMessage evented_numeric_message;
96 } openxc_VehicleMessage;
97
98 /* Default values for struct fields */
99
100 /* Field tags (for use in manual encoding/decoding) */
101 #define openxc_BooleanMessage_name_tag           1
102 #define openxc_BooleanMessage_value_tag          2
103 #define openxc_EventedBooleanMessage_name_tag    1
104 #define openxc_EventedBooleanMessage_value_tag   2
105 #define openxc_EventedBooleanMessage_event_tag   3
106 #define openxc_EventedNumericMessage_name_tag    1
107 #define openxc_EventedNumericMessage_value_tag   2
108 #define openxc_EventedNumericMessage_event_tag   3
109 #define openxc_EventedStringMessage_name_tag     1
110 #define openxc_EventedStringMessage_value_tag    2
111 #define openxc_EventedStringMessage_event_tag    3
112 #define openxc_NumericMessage_name_tag           1
113 #define openxc_NumericMessage_value_tag          2
114 #define openxc_RawMessage_bus_tag                1
115 #define openxc_RawMessage_message_id_tag         2
116 #define openxc_StringMessage_name_tag            1
117 #define openxc_StringMessage_value_tag           2
118 #define openxc_VehicleMessage_type_tag           1
119 #define openxc_VehicleMessage_raw_message_tag    2
120 #define openxc_VehicleMessage_string_message_tag 3
121 #define openxc_VehicleMessage_numeric_message_tag 4
122 #define openxc_VehicleMessage_boolean_message_tag 5
123 #define openxc_VehicleMessage_evented_string_message_tag 6
124 #define openxc_VehicleMessage_evented_boolean_message_tag 7
125 #define openxc_VehicleMessage_evented_numeric_message_tag 8
126
127 /* Struct field encoding specification for nanopb */
128 extern const pb_field_t openxc_VehicleMessage_fields[9];
129 extern const pb_field_t openxc_RawMessage_fields[3];
130 extern const pb_field_t openxc_StringMessage_fields[3];
131 extern const pb_field_t openxc_NumericMessage_fields[3];
132 extern const pb_field_t openxc_BooleanMessage_fields[3];
133 extern const pb_field_t openxc_EventedStringMessage_fields[4];
134 extern const pb_field_t openxc_EventedBooleanMessage_fields[4];
135 extern const pb_field_t openxc_EventedNumericMessage_fields[4];
136
137 /* Maximum encoded size of messages (where known) */
138 #define openxc_VehicleMessage_size               1180
139 #define openxc_RawMessage_size                   12
140 #define openxc_StringMessage_size                204
141 #define openxc_NumericMessage_size               111
142 #define openxc_BooleanMessage_size               104
143 #define openxc_EventedStringMessage_size         306
144 #define openxc_EventedBooleanMessage_size        206
145 #define openxc_EventedNumericMessage_size        213
146
147 #ifdef __cplusplus
148 } /* extern "C" */
149 #endif
150
151 #endif