Commit Graph

76 Commits

Author SHA1 Message Date
Rob Shearman
df0e38c067 widl: Create a list of statements in the whole IDL file, instead of just a list of interfaces. 2008-04-24 22:32:20 +02:00
Rob Shearman
80ab2a7c6d widl: Move expression functions to a new file, expr.c. 2008-04-22 13:04:58 +02:00
Rob Shearman
c46fcfb356 widl: Automatically add "handle_t IDL_handle" parameter to functions with no explicit handle specified whose containing interface has the explicit_handle attribute. 2008-04-21 13:36:19 +02:00
Rob Shearman
c4ca32bbda widl: The implicit_handle attribute is allowed with a handle explicitly specified in the function parameters.
In that case, that handle is used instead of the implicit handle.

Fix the check for the explicit_handle attribute being specified without
a handle being specified in the function parameters, even though issuing
an error is wrong. (Thanks to Marcus Meissner & Coverity for spotting
that the check didn't do what it was supposed to do.)
2008-04-21 13:36:19 +02:00
Rob Shearman
56e2553eff widl: Add support for the broadcast and idempotent operation attributes. 2008-04-14 13:39:28 +02:00
Rob Shearman
e4b0266b27 widl: Support non-default calling conventions for non-object functions. 2008-04-11 12:14:55 +02:00
Rob Shearman
a04b150839 widl: Add a function to get the return type of a parsed function.
This clarifies its use in code and makes it simpler to change the way 
functions are parsed into types.
2008-04-02 19:52:49 +02:00
Rob Shearman
f4a9619364 widl: Fix detection of non-pointer context handles.
is_ptr cannot be used because it follows the chain of types into the 
type which has the context_handle attribute, which is typically "void *" 
and so causes these context handles to be incorrectly detected as 
context handles. Instead, we can use is_aliaschain_ptr to follow the 
chain of aliases without following pointers and the absence of the 
context_handle attribute indicates that it must be present on a type 
after following a pointer.
2008-03-27 17:33:06 +01:00
Rob Shearman
59556de0c1 widl: Add support for generic binding handles. 2008-03-27 17:33:02 +01:00
Rob Shearman
4194daf108 widl: Support using context handles as the binding handle in client functions. 2008-03-27 11:42:36 +01:00
Rob Shearman
a5886607d0 widl: Guard the inclusion of unistd.h. 2008-02-15 11:06:25 +01:00
Rob Shearman
c233ba105e widl: Remove unused headers. 2008-02-15 11:06:21 +01:00
Rob Shearman
661b01f922 widl: Output code for initialising and freeing full pointer translation tables. 2008-02-04 11:49:13 +01:00
Rob Shearman
9741751962 widl: Remove some confusion in how version numbers are packed into an attribute by defining some macros for this purpose.
Remove unneeded includes.
2007-12-12 16:03:35 +01:00
Rob Shearman
d458a599eb widl: Add support for non-basetype return types. 2007-12-11 18:07:05 +01:00
Dan Hipschman
70e12b31b8 widl: Fix ExprEvalRoutines output. 2007-10-29 12:03:26 +01:00
Dan Hipschman
f173addbef widl: Use new functions need_proxy and need_stub to clean up code and avoid generating unnecessary files. 2007-10-16 11:03:49 +02:00
Dan Hipschman
32a2477ef5 widl: Add a declonly argument to write_type_left. 2007-10-03 10:09:31 +02:00
Dan Hipschman
e36981e116 widl: Factor the output functions. 2007-06-15 12:02:18 +02:00
Dan Hipschman
c0982b42c5 widl: Handle wire_marshal types. 2007-06-14 11:35:44 +02:00
Dan Hipschman
978b4d4f4e widl: Represent arrays with type_t. 2007-06-06 12:13:16 +02:00
Dan Hipschman
217fc9c0f3 widl: Improve handling of offsets in the type format string. 2007-05-16 13:33:17 +02:00
Dan Hipschman
ef433e2792 widl: Remove var_t's ptr_level field and start write_pointers. 2007-05-11 12:33:27 +02:00
Alexandre Julliard
7ca4e025e7 widl: Don't declare a global binding handle when using an implicit handle. 2007-05-03 14:25:58 +02:00
Dan Hipschman
d676d3be5f widl: Get rid of the tname field of var_t, simplify code. 2007-05-01 12:37:18 +02:00
Dan Hipschman
e714c89d2f widl: Add --prefix-* options (take 3). 2007-04-26 15:47:37 +02:00
Alexandre Julliard
94ee8e8fac widl: Output endpoint information in client and server files. 2007-02-07 17:55:09 +01:00
Alexandre Julliard
6655071a3f widl: Move initialization of the stub buffer size into write_remoting_arguments(). 2007-01-24 20:02:05 +01:00
Alexandre Julliard
eed74e4e4a widl: Convert variable lists to standard Wine lists. 2007-01-22 14:26:12 +01:00
Alexandre Julliard
58827d026b widl: Convert function lists to standard Wine lists. 2007-01-22 14:23:08 +01:00
Alexandre Julliard
e262933bdf widl: Convert interface lists to standard Wine lists. 2007-01-22 14:21:56 +01:00
Alexandre Julliard
0edfacdb6a widl: Generate proxy/client/server files when requested explicitly even if they are empty. 2007-01-19 12:46:19 +01:00
Dan Hipschman
929a759895 widl: Add an is_ptr function. 2006-09-07 10:21:13 +02:00
Dan Hipschman
9b16916ed1 widl: Allow format-string functions to work with objects. 2006-08-18 11:36:06 +02:00
Dan Hipschman
b7e7243a1e widl: Move format-string declaration output to typegen.c. 2006-08-17 11:21:10 +02:00
Dan Hipschman
9e49a8d2f2 widl: Improve pointer null checking logic. 2006-08-12 11:41:08 +02:00
Dan Hipschman
05001b1ca8 widl: Don't generate indentation spaces on empty lines. 2006-08-11 20:12:38 +02:00
Dan Hipschman
a20f7f46dc widl: Fix incorrect version number in generated code. 2006-08-11 11:56:50 +02:00
Thomas Weidenmueller
af994f4e4f widl: Fix updating the proc offset. 2006-06-19 10:27:24 +02:00
Robert Shearman
6f85f989f5 widl: Only write one procformat string and one typeformat string per file. 2006-06-02 10:52:10 +02:00
Jonathan Ernst
360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Eric Kohl
2c7270e388 widl: Implement 'oldnames' option. 2006-05-05 16:37:42 +02:00
Eric Kohl
bec0993199 widl: Support multiple RPC interfaces per binary. 2006-04-17 12:00:54 +02:00
Eric Kohl
7fb3f12ce5 widl: Implement support for ref pointers to simple structs. 2006-04-10 15:56:50 +02:00
Robert Shearman
27c3222715 widl: Re-use print_phase_basetype for generating return value marshaling and unmarshaling code. 2006-03-31 17:37:11 +02:00
Robert Shearman
4a67201b70 widl: Output NULL ref pointer check for pointer levels > 1 too. 2006-03-31 17:35:31 +02:00
Robert Shearman
73ff576554 widl: Fix a GCC warning in the generated client and server code. 2006-03-31 17:35:21 +02:00
Robert Shearman
3db71d9d9c widl: Only output code for non-object interfaces in client and server.
Only output code for non-object interfaces in client and server
generation and convert the while loops into for loops.
2006-03-31 17:31:04 +02:00
Eric Kohl
12d4d9c229 widl: Implement support for ref pointers to strings. 2006-03-30 16:24:35 +02:00
Eric Kohl
1a5c6ef47d widl: Implement support for pointers to base types. 2006-03-28 14:43:28 +02:00