Commit graph

179 commits

Author SHA1 Message Date
Alexandre Julliard
58827d026b widl: Convert function lists to standard Wine lists. 2007-01-22 14:23:08 +01:00
Alexandre Julliard
e998590557 widl: Convert attribute lists to standard Wine lists. 2007-01-22 14:20:36 +01:00
Michael Stefaniuc
cc234847d0 widl: Use ULONG instead of unsigned long when generating declarations for *_UserFree() functions. This is needed for Win64 compatibility. 2006-11-09 10:43:23 +01:00
Michael Stefaniuc
6f95047034 widl: Use ULONG instead of unsigned long when generating declarations for *_UserUnMarshal() functions. This is needed for Win64 compatibility. 2006-11-09 10:43:20 +01:00
Michael Stefaniuc
05b1aac100 widl: Use ULONG instead of unsigned long when generating declarations for *_UserMarshal() functions. This is needed for Win64 compatibility. 2006-11-09 10:43:16 +01:00
Michael Stefaniuc
177aaf6738 widl: Use ULONG instead of unsigned long when generating declarations for *_UserSize() functions. This is needed for Win64 compatibility. 2006-11-09 10:43:12 +01:00
Michael Stefaniuc
15765dd953 The Data1 member of the GUID struct needs to be an unsigned int too for Win64 compatibility. 2006-10-16 10:53:04 +02:00
Francois Gouget
4b2d7e9321 widl: Use CONST_VTBL to declare lpVtbl. 2006-09-29 17:51:45 +02:00
Alexandre Julliard
86bb809e5b widl: Change the prefix on bison-generated names to avoid the name-prefix directive. 2006-09-12 09:05:07 +02:00
Dan Hipschman
7e79e9d4ff widl: Print pointers more aesthetically in generated header. 2006-09-07 10:21:29 +02:00
Dan Hipschman
c117a20cdb widl: Use type_t for typedefs, not var_t. Simplify representation. 2006-09-07 10:20:41 +02:00
Dan Hipschman
04a15af5dc widl: Add the rest of the pointer types to write_type. 2006-08-29 12:29:26 +02:00
Dan Hipschman
94755218ac widl: Remove usage of type_t ref field for base types; simplify code. 2006-08-25 11:32:05 +02:00
Dan Hipschman
16d4e71230 widl: Calculate method indices in parser instead of during header generation. 2006-08-16 12:48:52 +02:00
Dan Hipschman
df91150e10 widl: Generate GUID (infile_i.c) files. 2006-08-04 13:25:37 +02:00
Dan Hipschman
c67b19b4f4 widl: Fold class_t into type_t. 2006-07-29 11:54:09 +02:00
Dan Hipschman
f3d01fb07b widl: Fix redefinition of types in output. 2006-07-25 11:21:29 +02:00
Dan Hipschman
82c11ce002 widl: Allow write_type to output full pointer types. 2006-07-24 13:27:15 +02:00
Dan Hipschman
d68ec1d325 widl: Fix unterminated comment in generated code. 2006-07-14 13:32:38 +02:00
Robert Shearman
f627845624 widl: Add support for the builtin constants "TRUE" and "FALSE". 2006-07-07 14:30:34 +02:00
Robert Shearman
996c4f1f93 widl: Support coclass forward declarations. 2006-06-07 11:47:21 +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
Robert Shearman
91dbc5ae28 widl: Write definitions for MIDL_user_allocate and MIDL_user_free in the header.
Write definitions for MIDL_user_allocate and MIDL_user_free in the
header when writing out RPC interfaces to prevent compile failures in
the generated client/server code.
2006-03-31 17:33:28 +02:00
Robert Shearman
071dfb188a widl: Write out the pre- and postamble for RPC interfaces with no methods. 2006-03-31 17:32:38 +02:00
Robert Shearman
b38cd7ff5f widl: Output interface defined guard for rpc interfaces too. 2006-03-31 17:32:09 +02:00
Eric Kohl
12d4d9c229 widl: Implement support for ref pointers to strings. 2006-03-30 16:24:35 +02:00
Robert Shearman
4e40675032 widl: Make 'attrs' field of type_t const. 2006-02-07 12:32:57 +01:00
Robert Shearman
f1bb0a474b widl: Yet more const attributes. 2006-02-07 12:31:43 +01:00
Robert Shearman
511463f3a5 widl: More const attributes. 2006-02-07 12:31:17 +01:00
Robert Shearman
0a2c5b73fd widl: Support client/server generation for explicit_handle interfaces
(based on a patch by Eric Kohl).
2006-01-31 18:06:17 +01:00
Robert Shearman
ae94c2207f widl: Export the bracket adding functionality of do_write_expr outside
of header.c.
2005-12-31 13:18:49 +01:00
Robert Shearman
4acabfd719 widl: Out parameters.
Marshall and unmarshall out parameters for servers and clients
respectively.
Write out array components for declared local variables in generated
server code.
2005-12-26 13:21:38 +01:00
Robert Shearman
7f2419ceed widl: Add some const attributes. 2005-12-26 13:11:33 +01:00
Robert Shearman
12159aec96 widl: Support explicit binding handles. 2005-12-12 12:14:03 +01:00
Robert Shearman
f4356a64e3 widl: Don't treat FC_SMALL as FC_SHORT.
FC_SMALL is its own type and is the same size as FC_CHAR, not
FC_SHORT.
2005-12-12 12:11:11 +01:00
Robert Shearman
6066106bb0 widl: Use WCHAR instead of wchar_t.
Output IDL wchar_t types as WCHAR to avoid conflicts with the
generally incompatible Unix wchar_t.
2005-12-12 12:10:26 +01:00
Vincent Béron
fe987b3035 widl: Issue correct C++ headers. 2005-12-09 11:22:04 +01:00
Vincent Béron
bce123dc46 Use the typedef'd declaration of IRpcStubBuffer and IRpcChannelBuffer
in RPC _Stubs.
Add IRpcStubBuffer and IRpcChannelBuffer declarations to objbase.h.
2005-12-02 13:32:09 +01:00
Vincent Béron
864f631d28 Reorder the virtual table definition so it's defined before it is used
in widl header output.
2005-12-02 13:29:52 +01:00
Vincent Béron
85e9474c78 Use interface instead of struct where appropriate in widl. 2005-12-02 13:28:05 +01:00
Huw Davies
8056092909 Prefix [putref] property names with putref_. 2005-11-14 15:12:24 +00:00
Robert Shearman
d026458860 - Output prototypes for user marshal functions at the end of the
header and by use.
- Add support for range and ptr attributes and for the "small" base
  type.
2005-09-12 20:13:40 +00:00
Robert Shearman
4e7628ffb1 - The header global variable is NULL when not generating a header so
don't try to use it in functions that may be called by the client
  code.
- Make the functions that take char * take const char *.
2005-08-03 14:55:22 +00:00
Stefan Huehner
e546238c7e Fix some -Wmissing-declarations by making functions static. 2005-06-15 18:10:39 +00:00
Jacek Caban
e6150fe206 Write uuid of library in header. 2005-03-05 10:49:22 +00:00
Eric Kohl
5bed4857d5 - Add basic support for creating client and server stub files.
- Support implicit_handle attribute in IDL files.
- Build mixed-mode stub files.
2005-02-23 20:31:07 +00:00
Huw Davies
346188b755 Initial support for typelib generation. 2005-01-06 20:45:21 +00:00
Jacek Caban
5c98265050 Added writing forward declaration of dispinterface. 2004-10-18 19:35:08 +00:00
Jacek Caban
2161b36ac4 - Added creation of dispinterface header.
- Added creation of coclass header.
- Added messages when fopen fails.
2004-10-11 19:54:37 +00:00
Alexandre Julliard
d062924f66 Removed no longer needed ICOM compatibility mode in widl. 2004-10-05 04:44:20 +00:00
Alexandre Julliard
4806630104 Added support for the propget/propput function attributes. 2004-10-05 02:14:54 +00:00
Mike McCormack
1a77ea567c Determine RPC struct types more exactly. 2004-09-14 19:28:12 +00:00
Alexandre Julliard
20486e1c59 Get rid of the ICOM_MSVTABLE_COMPAT support, g++ no longer requires
this.
2004-08-23 18:10:02 +00:00
Alexandre Julliard
cfb3b7e81f Output BEGIN/END_INTERFACE for C++ base classes too. 2004-08-22 22:31:52 +00:00
Mike McCormack
77ea021e5f Generate BEGIN_INTERFACE,END_INTERFACE macros instead of
ICOM_MSVTABLE_COMPAT_FIELDS.
2004-08-22 02:25:05 +00:00
Francois Gouget
bf72af30d0 Modify widl to put the C COM macros inside an #ifdef COBJMACROS block
as is done in the Windows headers.
Add #define COBJMACROS where needed in Wine.
Fixes the compilation of the oleaut32/tests/olefont.c and
urlmon/tests/url.c conformance tests with the Windows headers.
2004-08-11 19:43:45 +00:00
Filip Navara
19fd305a7e Make widl compile without most of Windows/Wine headers, so it can be
reused by other projects.
2004-04-22 03:40:01 +00:00
Robert Shearman
7f0abaffe5 - Handle "? :" conditionals.
- Allow [handle] attribute for types.
2004-04-19 23:08:22 +00:00
Ove Kaaven
5d267d7372 Added rules to parse library, coclass, dispinterface, and module
definitions, and a number of attributes, and cleaned up a few things.
Started on a typelib generation framework.
2004-01-07 04:21:27 +00:00
Alexandre Julliard
ba5a968157 Added partial support for function pointers. 2003-09-03 20:16:24 +00:00
Alexandre Julliard
40672f99f8 Support objects with no method definitions (suggested by Jon
Griffiths).
2003-07-22 03:18:46 +00:00
Alexandre Julliard
09242a8ea6 Add #ifdefs around forwards and interfaces like MIDL does. 2003-07-01 03:43:09 +00:00
Alexandre Julliard
2d5519f15c The com_interface attribute is not needed on derived classes.
Removed the ICOM_CTHIS* macros.
2003-04-12 00:09:14 +00:00
Alexandre Julliard
aae3cb61cd Simplified COM interface declarations, removing the need to define
both an xxx_METHODS and an xxx_IMETHODS macro.
2003-04-11 00:31:02 +00:00
Alexandre Julliard
55379110c5 Get rid of the ICOM_CALL macros. 2003-04-10 21:13:58 +00:00
Alexandre Julliard
f00c46f030 Use a more compatible technique to declare COM interfaces methods,
using Microsoft's STDMETHOD macros instead of the Wine-specific
ICOM_METHOD ones.
2003-04-10 00:19:24 +00:00
Ove Kaaven
be3c1141e3 Declare user-marshaller prototypes for types declared with [wire_marshal].
Define __WIDL__ preprocessor macro, so Wine-specific IDL can be enclosed
in #ifdef __WIDL__. Fixed a file output bug.
2003-01-09 01:05:54 +00:00
Alexandre Julliard
ea118ecb50 Fix the type of the This pointer in the vtbl functions inherited from
the base class.
2002-12-17 21:05:16 +00:00
Ove Kaaven
998236b7cf Output raw ICOM-less C/C++ interface definitions by default. Added new
-b and -B command-line options for compatibility with ICOM macros.
2002-12-15 03:01:20 +00:00
Ove Kaaven
064c48a607 Include guiddef.h in widltypes.h. 2002-12-15 01:13:18 +00:00
Ove Kaaven
e30a96776a Parse the NOT operator, the [idempotent] attribute, and the handle_t
and error_status_t types. Improved some parsing rules to get rid of
the LINK_LAST and LINK_SAFE macros. Enclose generated .h file within
an extern "C" (for C++). Output function prototypes for regular RPC
interfaces.  Fixed a couple of bugs.
2002-12-03 19:12:07 +00:00
Ove Kaaven
34e2f87f8f Handle encapsulated unions in a cleaner (and less buggy) way. Emit the
names "DUMMYUNIONNAME" and "DUMMYSTRUCTNAME" for anonymous unions and
structs. Support const and extern definitions. Retain tokens (and
whether numbers are hex or not) used for computing constant
expressions, so that the full expression can be written to the header
file instead of the computed integer result of the expression. Parse
the sizeof() operator.  Compute and remember constant definitions and
enum values so they can be used in expressions. Improved identifier
lookup speed. Fixed some bugs.
2002-11-30 01:49:46 +00:00
Ove Kaaven
189397795d Added "generate headers only" command-line option. Implemented imports
from inside interface definitions. Fixed a few problems with
generating header files for COM interfaces.
2002-11-21 00:02:38 +00:00
Alexandre Julliard
98f12a0db1 Make sure widl doesn't depend on the headers it has to generate. 2002-11-13 21:31:01 +00:00
Ove Kaaven
03c7d46806 Support for enums, arrays, encapsulated unions, signed/unsigned
qualifiers, UUIDs, include guards, the new ICOM_DEFINE1 macro, and
some other improvements.
2002-11-12 02:12:35 +00:00
Dmitry Timoshkov
c63d98038a Include protection for <unistd.h>, <sys/types.h> and <sys/stat.h>. 2002-08-17 18:28:43 +00:00
Alexandre Julliard
ea97b39a79 Avoid dependencies on y.tab.h. 2002-08-13 03:30:58 +00:00
Alexandre Julliard
7d4ee77cab Merged the IDL compiler written by Ove Kaaven. 2002-07-16 03:20:45 +00:00