Commit Graph

82 Commits

Author SHA1 Message Date
Alexandre Julliard 29e20b869c widl: Replace write_name() by get_name() to make the code more readable. 2008-08-30 11:15:04 +02:00
Alexandre Julliard 900bc5697e widl: Add support for exception handling in the generated server code. 2008-07-03 13:08:19 +02:00
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 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 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 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 45d6a959fb widl: Return types shouldn't be freed. 2007-12-17 11:57:16 +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
Michael Stefaniuc 7f5757f683 tools: Remove duplicate includes. 2007-11-19 13:54:52 +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
Rob Shearman 2055e636ae widl: Generate client and server code for using context handles. 2007-09-28 10:59:49 +02:00
Dan Hipschman 58dea5c9a8 widl: Fix a write_parameters_init bug. 2007-06-15 12:02:58 +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
Dan Hipschman a67c37f871 widl: Declare fixed-size array args as pointers to arrays. 2007-04-26 16:12:15 +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 6dd5afd723 widl: Export a function to compute the proc format string size for a function. 2007-01-24 20:05:22 +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 85ed9ca31a widl: Move support for stub arguments to typegen.c to make it usable for proxies too. 2007-01-24 19:59:16 +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 88820263c6 widl: Remove checks for typedefs that always fail. 2006-09-07 10:49:46 +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 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
Alexandre Julliard 043fd66907 widl: Use unsigned int instead of size_t to avoid printf format warnings. 2006-06-13 14:13:49 +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 506404ba09 widl: Only assign variables if not a string and only create a local variable if not a sized parameter.
Only assign variables if not a string and only create a local variable
if not a sized parameter. Fixes type mismatches in the generated code
due to differences in the algorithms between creating local variables
and using them.
2006-03-31 17:37:51 +02:00
Robert Shearman 62eb9f4b0c widl: Initialise the temporary variable to 0 for parameters with more than one level of indirection. 2006-03-31 17:37:35 +02:00
Robert Shearman d82bb4ade9 widl: Create the correct variable type for parameters with more than one level of indirection. 2006-03-31 17:37:22 +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 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