• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1
2import sys
3import re
4
5include = sys.argv[1]
6msg_basename = sys.argv[2]
7count = 1
8
9m = re.search(r'(.*\D)(\d+)$', sys.argv[2])
10if m:
11  msg_basename = m.group(1)
12  count = int(m.group(2))
13
14print('''
15#include "{include}"
16
17char buf[1];
18
19int main() {{
20'''.format(include=include))
21
22def RefMessage(name):
23  print('''
24  {{
25    {name} proto;
26    proto.ParseFromArray(buf, 0);
27    proto.SerializePartialToArray(&buf[0], 0);
28  }}
29  '''.format(name=name))
30
31RefMessage(msg_basename)
32
33for i in range(2, count + 1):
34  RefMessage(msg_basename + str(i))
35
36print('''
37  return 0;
38}''')
39