Added mappings for a few messages.
[wine] / tools / winapi / winapi_fixup
1 #!/usr/bin/perl -w
2
3 # Copyright 2001 Patrik Stridvall
4
5 use strict;
6
7 BEGIN {
8     $0 =~ m%^(.*?/?tools)/winapi/winapi_fixup$%;
9     require "$1/winapi/setup.pm";
10 }
11
12 use config qw(
13     &file_type &files_filter
14     &file_skip &files_skip
15     &file_normalize 
16     &get_spec_files
17     $current_dir $wine_dir $winapi_dir $winapi_check_dir
18 );
19 use output qw($output);
20 use winapi_fixup_options qw($options);
21
22 use type;
23 use winapi_function;
24 use winapi_parser;
25
26 use winapi_fixup_documentation qw(&fixup_documentation);
27 use winapi_fixup_editor;
28 use winapi_fixup_statements qw(&fixup_statements);
29
30 my @c_files = $options->c_files;
31 @c_files = files_skip(@c_files);
32 @c_files = files_filter("winelib", @c_files);
33
34 my $progress_output;
35 my $progress_current = 0;
36 my $progress_max = scalar(@c_files);
37
38 foreach my $file (@c_files) {
39     my $editor = new winapi_fixup_editor($file);
40
41     $progress_current++;
42     if($options->progress) {
43         $output->progress("$file (file $progress_current of $progress_max)");
44     }
45
46     my $create_function = sub {
47         return 'winapi_function'->new;
48     };
49
50     my $found_function = sub {
51         my $function = shift;
52
53         my $internal_name = $function->internal_name;
54         if($options->progress) {
55             $output->progress("$file (file $progress_current of $progress_max): $internal_name");
56         }
57
58         $output->prefix_callback(sub { return $function->prefix; });
59
60         if($options->documentation) {
61             fixup_documentation($function, $editor);
62         }
63
64         if($options->statements) {
65             fixup_statements($function, $editor);
66         }
67
68         $output->prefix("");
69     };
70
71     my $create_type = sub {
72         return 'type'->new;
73     };
74
75     my $found_type = sub {
76         my $type = shift;
77     };
78
79     my $found_preprocessor = sub {
80         my $directive = shift;
81         my $argument = shift;
82     };
83
84     &winapi_parser::parse_c_file($file, $create_function, $found_function, $create_type, $found_type, $found_preprocessor);
85
86     $editor->flush;
87 }
88