First version of header generator
[apps/agl-service-can-low-level.git] / tests / test_decode1.c
1 #include <stdio.h>
2 #include <string.h>
3 #include <stddef.h>
4 #include <pb_decode.h>
5 #include "person.h"
6
7 bool print_person(pb_istream_t *stream)
8 {
9     int i;
10     Person person;
11     
12     if (!pb_decode(stream, Person_fields, &person))
13         return false;
14     
15     printf("Person: name '%s' id '%d' email '%s'\n", person.name, person.id, person.email);
16     
17     for (i = 0; i < person.phone_count; i++)
18     {
19         Person_PhoneNumber *phone = &person.phone[i];
20         printf("PhoneNumber: number '%s' type '%d'\n", phone->number, phone->type);
21     }
22     
23     return true;
24 }
25
26 int main()
27 {
28     uint8_t buffer[512];
29     size_t size = fread(buffer, 1, 512, stdin);
30     
31     pb_istream_t stream = pb_istream_from_buffer(buffer, size);
32     if (!print_person(&stream))
33         printf("Parsing failed.\n");
34     
35     return 0;
36 }