OLD | NEW |
1 """Generate the org.chromium.mojo.bindings.Callbacks interface""" | 1 """Generate the org.chromium.mojo.bindings.Callbacks interface""" |
2 | 2 |
3 import argparse | 3 import argparse |
4 import sys | 4 import sys |
5 | 5 |
6 CALLBACK_TEMPLATE = (""" | 6 CALLBACK_TEMPLATE = (""" |
7 /** | 7 /** |
8 * A generic %d-argument callback. | 8 * A generic %d-argument callback. |
9 * | 9 * |
10 * %s | 10 * %s |
(...skipping 17 matching lines...) Expand all Loading... |
28 package org.chromium.mojo.bindings; | 28 package org.chromium.mojo.bindings; |
29 | 29 |
30 /** | 30 /** |
31 * Contains a generic interface for callbacks. | 31 * Contains a generic interface for callbacks. |
32 */ | 32 */ |
33 public interface Callbacks { | 33 public interface Callbacks { |
34 %s | 34 %s |
35 }""") | 35 }""") |
36 | 36 |
37 def GenerateCallback(nb_args): | 37 def GenerateCallback(nb_args): |
38 params = '\n * '.join( | 38 params = '\n * '.join( |
39 ['@param <T%d> the type of argument %d.' % (i+1, i+1) | 39 ['@param <T%d> the type of argument %d.' % (i+1, i+1) |
40 for i in xrange(nb_args)]) | 40 for i in xrange(nb_args)]) |
41 template_parameters = ', '.join(['T%d' % (i+1) for i in xrange(nb_args)]) | 41 template_parameters = ', '.join(['T%d' % (i+1) for i in xrange(nb_args)]) |
42 callback_parameters = ', '.join(['T%d arg%d' % ((i+1), (i+1)) | 42 callback_parameters = ', '.join(['T%d arg%d' % ((i+1), (i+1)) |
43 for i in xrange(nb_args)]) | 43 for i in xrange(nb_args)]) |
44 return CALLBACK_TEMPLATE % (nb_args, params, nb_args, template_parameters, | 44 return CALLBACK_TEMPLATE % (nb_args, params, nb_args, template_parameters, |
45 callback_parameters) | 45 callback_parameters) |
46 | 46 |
47 def main(): | 47 def main(): |
48 parser = argparse.ArgumentParser( | 48 parser = argparse.ArgumentParser( |
49 description="Generate org.chromium.mojo.bindings.Callbacks") | 49 description="Generate org.chromium.mojo.bindings.Callbacks") |
50 parser.add_argument("max_args", nargs=1, type=int, | 50 parser.add_argument("max_args", nargs=1, type=int, |
51 help="maximal number of arguments to generate callbacks for") | 51 help="maximal number of arguments to generate callbacks for") |
52 args = parser.parse_args() | 52 args = parser.parse_args() |
53 max_args = args.max_args[0] | 53 max_args = args.max_args[0] |
54 print INTERFACE_TEMPLATE % ''.join([GenerateCallback(i+1) | 54 print INTERFACE_TEMPLATE % ''.join([GenerateCallback(i+1) |
55 for i in xrange(max_args)]) | 55 for i in xrange(max_args)]) |
56 return 0 | 56 return 0 |
57 | 57 |
58 if __name__ == "__main__": | 58 if __name__ == "__main__": |
59 sys.exit(main()) | 59 sys.exit(main()) |
OLD | NEW |