Tried to reduce echo in playSound API (using two wavehdr instead of
[wine/testsucceed.git] / tools / winapi_check / winapi_function.pm
bloba43c50feb4e6a091d43c3bc1cf478bf791ba2b05
1 package winapi_function;
3 use strict;
5 sub new {
6 my $proto = shift;
7 my $class = ref($proto) || $proto;
8 my $self = {};
9 bless ($self, $class);
11 return $self;
14 sub file {
15 my $self = shift;
16 my $file = \${$self->{FILE}};
18 local $_ = shift;
20 if(defined($_)) { $$file = $_; }
22 return $$file;
25 sub documentation {
26 my $self = shift;
27 my $documentation = \${$self->{DOCUMENTATION}};
29 local $_ = shift;
31 if(defined($_)) { $$documentation = $_; }
33 return $$documentation;
36 sub return_type {
37 my $self = shift;
38 my $return_type = \${$self->{RETURN_TYPE}};
40 local $_ = shift;
42 if(defined($_)) { $$return_type = $_; }
44 return $$return_type;
47 sub calling_convention {
48 my $self = shift;
49 my $calling_convention = \${$self->{CALLING_CONVENTION}};
51 local $_ = shift;
53 if(defined($_)) { $$calling_convention = $_; }
55 return $$calling_convention;
58 sub name {
59 my $self = shift;
60 my $name = \${$self->{NAME}};
62 local $_ = shift;
64 if(defined($_)) { $$name = $_; }
66 return $$name;
69 sub arguments {
70 my $self = shift;
71 my $arguments = \${$self->{ARGUMENTS}};
73 local $_ = shift;
75 if(defined($_)) { $$arguments = $_; }
77 return $$arguments;
80 sub module16 {
81 my $self = shift;
82 my $module16 = \${$self->{MODULE16}};
84 local $_ = shift;
86 if(defined($_)) { $$module16 = $_; }
87 return $$module16;
90 sub module32 {
91 my $self = shift;
92 my $module32 = \${$self->{MODULE32}};
94 local $_ = shift;
96 if(defined($_)) { $$module32 = $_; }
97 return $$module32;
100 sub statements {
101 my $self = shift;
102 my $statements = \${$self->{STATEMENTS}};
104 local $_ = shift;
106 if(defined($_)) { $$statements = $_; }
108 return $$statements;
111 sub module {
112 my $self = shift;
113 my $module16 = \${$self->{MODULE16}};
114 my $module32 = \${$self->{MODULE32}};
116 my $module;
117 if(defined($$module16) && defined($$module32)) {
118 $module = "$$module16 & $$module32";
119 } elsif(defined($$module16)) {
120 $module = $$module16;
121 } elsif(defined($$module32)) {
122 $module = $$module32;
123 } else {
124 $module = "";
128 sub function_called {
129 my $self = shift;
130 my $called_function_names = \%{$self->{CALLED_FUNCTION_NAMES}};
132 my $name = shift;
134 $$called_function_names{$name}++;
137 sub function_called_by {
138 my $self = shift;
139 my $called_by_function_names = \%{$self->{CALLED_BY_FUNCTION_NAMES}};
141 my $name = shift;
143 $$called_by_function_names{$name}++;
146 sub called_function_names {
147 my $self = shift;
148 my $called_function_names = \%{$self->{CALLED_FUNCTION_NAMES}};
150 return sort(keys(%$called_function_names));
153 sub called_by_function_names {
154 my $self = shift;
155 my $called_by_function_names = \%{$self->{CALLED_BY_FUNCTION_NAMES}};
157 return sort(keys(%$called_by_function_names));