Commit Graph

226 Commits

Author SHA1 Message Date
Robert Shearman 7e5cf94f13 widl: Pass a state into marshall_arguments and unmarshall_arguments to
decide which parameters should be considered based on their direction.
2005-12-26 13:14:28 +01:00
Robert Shearman 24d1b71d91 widl: Generate marshaling and unmarshaling statements for arrays. 2005-12-26 13:13:41 +01:00
Robert Shearman 25116ae360 widl: Treat variables with array indices the same as pointers. 2005-12-26 13:13:04 +01:00
Robert Shearman c0f4605b82 widl: Advance the type format string whilst marshaling and
unmarshaling arguments.
2005-12-26 13:12:46 +01:00
Robert Shearman c8703d17b0 widl: Convert the main while loops in marshall_arguments and
unmarshall_arguments into for loops.
2005-12-26 13:12:26 +01:00
Robert Shearman 413738810f widl: Add support for marshalling and unmarshalling conformant strings. 2005-12-26 13:12:03 +01:00
Robert Shearman 7f2419ceed widl: Add some const attributes. 2005-12-26 13:11:33 +01:00
Robert Shearman 73dff5c465 widl: Prepare marshall and unmarshall code generation functions for
accepting pointers.
2005-12-26 13:09:36 +01:00
Robert Shearman 86c3a2e76a widl: Fix SEGVs with client and server code generation when an
interface has no methods.
2005-12-26 13:08:51 +01:00
Robert Shearman 73a25d316d widl: Generate correct proc format strings for [out] and [in, out] parameters. 2005-12-26 13:07:55 +01:00
Robert Shearman e59dcf53fc widl: Use the same precendence rule for the conditional operator as in wpp.
Fixes several shift/reduce warnings.
2005-12-26 13:07:08 +01:00
Robert Shearman 30a9f99bb9 widl: Better array support.
Treat variables with array indices the same as pointers when writing
out the proc & type format strings.
Fix a typo when writing out the proc format string where a non-return
type was written out for a return type and vice-versa.
2005-12-26 13:06:29 +01:00
Robert Shearman 783198be37 widl: Support non-basic variables in proc format strings. 2005-12-26 13:05:55 +01:00
Robert Shearman 88fd90b4c5 widl: Add helper functions that return the size of procformat and
typeformat strings for variables.
2005-12-26 13:05:29 +01:00
Hans Leidekker 4f46232368 widl: Avoid lvalue casts in generated code. 2005-12-19 21:20:14 +01:00
Jacek Caban a3b35129ce widl: Added bindable and displaybind attributes handling. 2005-12-16 12:40:17 +01:00
Robert Shearman 435e36e366 widl: Start generating type format strings.
Based on a patch by Eric Kohl.
2005-12-13 11:22:08 +01:00
Eric Kohl c4173f7b99 widl: Server stubs in generated code are void functions. 2005-12-13 11:12:37 +01:00
Robert Shearman ccdc119da0 widl: Generate FC_ERROR_STATUS_T proc format.
- Include the header file for the functions implemented in typegen.c.
- Generate proc format for FC_ERROR_STATUS_T type.
2005-12-12 12:14:31 +01:00
Robert Shearman 12159aec96 widl: Support explicit binding handles. 2005-12-12 12:14:03 +01:00
Robert Shearman 759e3c9fe3 widl: Zero initialize parameters in the generated server code.
Zero initialize parameters in the generated code. Based on a patch by
Eric Kohl.
2005-12-12 12:13:43 +01:00
Robert Shearman dfb716f3d6 widl: Calculate the size of buffer required.
- Calculate the size of buffer required.
- Fix a typo.
- Set the buffer start and buffer end markers.
2005-12-12 12:12:50 +01:00
Robert Shearman fc3821f475 widl: Don't cast buffer pointers to long in generated server code. 2005-12-12 12:12:06 +01:00
Eric Kohl 6744d4e3ea widl: Support multiple interfaces per file. 2005-12-12 12:11:44 +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
Robert Shearman fea330364b widl: Don't output __RPC_FAR in generated code. 2005-12-12 11:51:11 +01:00
Vincent Béron fe987b3035 widl: Issue correct C++ headers. 2005-12-09 11:22:04 +01:00
Robert Shearman b86efe5d11 widl: Formatting cleanups. 2005-12-08 13:48:46 +01:00
Robert Shearman 92c568ab5d widl: Marshal and unmarshal basic types. 2005-12-08 12:53:58 +01:00
Robert Shearman 35d327bd0d widl: Add a type generator framework.
Add a framework for writing the strings for marshaling and
unmarshaling parameters and make the client and server use it.
2005-12-08 12:52:13 +01:00
Eric Kohl ba39a874d4 widl: Write out argument lists in the server.
- Add framework for updating proc offsets.
- Write out argument lists in the server.
2005-12-08 12:48:44 +01:00
Eric Kohl 80e262202f widl: Rename some variables. 2005-12-08 12:45:45 +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
Alexandre Julliard 0ec7e1a591 Renamed all .cvsignore files to .gitignore. 2005-11-26 13:10:33 +01:00
Francois Gouget 6d442aeb34 Assorted spelling fixes. 2005-11-23 20:14:43 +01:00
Huw Davies 8056092909 Prefix [putref] property names with putref_. 2005-11-14 15:12:24 +00:00
Alexandre Julliard 36c3199782 Default search path for an include file should be based on the path of
the parent source file, not the current directory.
2005-10-10 18:06:50 +00:00
Alexandre Julliard 5131ba6150 Set the widl version to be the same as the global package version. 2005-10-08 10:37:09 +00:00
Alexandre Julliard 12a749984c Put Wine version information in all the man pages. 2005-10-06 16:10:01 +00:00
Alexandre Julliard fb3a9ed135 Fixed some nroff warnings. 2005-10-06 11:40:43 +00:00
Alexandre Julliard cd91bc61be Now that we are requiring bison anyway, make the .tab.c file use the
same base name as the .y file, so that we can generate correct
dependencies in all cases.
2005-09-28 18:17:08 +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
Alexandre Julliard 49b7fdcfc0 Removed the broken mmap64 configure check, and moved the
_FILE_OFFSET_BITS define to wine/port.h. Made sure that all files that
need the define include it.
2005-08-03 21:25:10 +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 b8585b8d0c Change some char* to const char* to fix warnigns. 2005-07-21 11:59:11 +00:00
Stefan Huehner 737978a833 Fix a -Wsign-compare warning. 2005-07-14 12:18:38 +00:00
Stefan Huehner f4285e68fe Fix some -Wsign-compare warnings. 2005-07-13 11:29:10 +00:00
Huw Davies a2051075fe Update the import table code to eliminate a few magic constants. 2005-06-29 19:18:41 +00:00
Huw Davies a2c58e238f Add comments describing the first DWORD in an import table entry. 2005-06-28 13:52:23 +00:00
Stefan Huehner e546238c7e Fix some -Wmissing-declarations by making functions static. 2005-06-15 18:10:39 +00:00
Robert Shearman 33b09d457f Add more struct types for TLB generation. 2005-06-09 09:45:26 +00:00
Alexandre Julliard 9c04ad7439 Workaround to allow using the async keyword as method name. 2005-05-26 12:22:28 +00:00
Juan Lang c194b2e853 Always initialize header file name, to prevent "#include (null)"
statements in generated files.
2005-04-18 16:54:54 +00:00
Juan Lang b5ffb7f215 Put space between include directive and include file. 2005-04-15 14:09:45 +00:00
Juan Lang 6d46ac263f Add proxy/stub options to widl man page. 2005-04-15 14:09:27 +00:00
Francois Gouget 6b10c324c5 Assorted spelling fixes. 2005-03-30 17:08:31 +00:00
Vincent Béron 4d752e95ad Keep types sorted in alphabetical order. 2005-03-28 10:01:20 +00:00
Vincent Béron 2eaf7b2e8a Add support for single in idl files. 2005-03-28 10:01:13 +00:00
Jacek Caban 10a605b072 Added handling of unsigned type. 2005-03-24 15:07:57 +00:00
Jacek Caban e6150fe206 Write uuid of library in header. 2005-03-05 10:49:22 +00:00
Francois Gouget fbb3343547 Assorted spelling fixes. 2005-03-02 13:53:50 +00:00
Jon Griffiths eb5bf7dd38 Documentation spelling fixes. 2005-02-25 14:07:56 +00:00
Alexandre Julliard afcab24230 Removed the useless proxy.h header file.
Fixed a couple of warnings.
2005-02-23 21:03:15 +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
Vincent Béron 5c837cac49 A RPC_FC_ENUM16 is a VT_USERDEFINED. 2005-02-14 11:05:41 +00:00
Huw Davies 1cba04d7d6 Add support for modules. 2005-02-08 16:51:35 +00:00
Huw Davies a82b1bcfe5 Check if we've already added the ptr to iface typedesc before adding a
new one.
2005-02-08 14:27:52 +00:00
Vincent Béron df5051e925 Support some more attributes for interface properties. 2005-02-08 13:43:34 +00:00
Vincent Béron f6ff452f17 Support ATTR_READONLY for interface properties. 2005-02-08 12:56:22 +00:00
Huw Davies 13e36059a8 Add VARIANT_BOOL.
Fix CURRENCY alignment.
A function with a [retval] param has a bit set in the FKCCIC bitfield.
Two functions with the same name share the same id.
The param names of propput and propputref functions don't go into the
typelib.
2005-02-08 12:09:42 +00:00
Huw Davies c2c87daf4a Coclass support. 2005-02-03 13:34:28 +00:00
Huw Davies d33a553d63 Add support for typedefs. 2005-02-02 19:10:02 +00:00
Huw Davies 49eb0b70e5 Add support for dispinterfaces (slightly hacked because we force the
import of stdole2.tlb).
Add propputref attribute.
2005-02-01 18:48:25 +00:00
Huw Davies 13b7c5ac12 Dynamically allocate the type data storage.
Split the function and variable type data into two - this will be
needed for dispinterfaces.
2005-01-31 16:24:23 +00:00
Vincent Béron 653c05971c Check that there are some methods to iterate through before iterating
through them.
2005-01-31 11:30:26 +00:00
Huw Davies d488cb3e70 Structs with ptrs are also VT_USERDEFINED. 2005-01-28 13:59:08 +00:00
Huw Davies 652ec646ad When adding an interface, midl adds the inherited interface first
unless the inherited interface doesn't itself inherit.
Fix the id, sizevft and datatype2 fields for interfaces that inherit.
Prevent a crash if the typelib is empty.
Clarify a few more entries on typelib_struct.h
2005-01-26 20:40:34 +00:00
Huw Davies 0e53bb3f7b Fix typelib only option.
Make -t and -h options inclusive.
2005-01-26 19:40:47 +00:00
Huw Davies a43a250bd1 Add enum support.
Another attempt at getting the alignment bits correct.
2005-01-25 20:02:09 +00:00
Huw Davies b9bfc8e909 Add encoding for VT_R8.
Bug fix: Initialise child_size.
2005-01-25 19:02:32 +00:00
Huw Davies 6126fc75c9 unsigned char support. 2005-01-25 16:41:12 +00:00
Huw Davies c1db191d9b Add interface inheritance. 2005-01-25 10:56:58 +00:00
Huw Davies 0a2f7e2054 Add referenced types that aren't already in the typelib. 2005-01-24 13:31:50 +00:00
Huw Davies 3387fc9077 Fix handling of void. 2005-01-24 12:41:06 +00:00
Huw Davies 2e6bd29a88 Add support for hidden and restricted function attributes.
Add support for odl interface attribute.
2005-01-24 11:27:56 +00:00
Huw Davies 8c51807ba5 Bit 0x0200 always appears to be set in the typeinfo's
typekind/alignment member.
2005-01-21 17:04:00 +00:00
Huw Davies 2573227675 [local] functions should not be written to the typelib. 2005-01-21 16:19:39 +00:00
Rémi Assailly 49a6c097b3 Small char -> const char fix. 2005-01-21 10:20:04 +00:00
Huw Davies 21842318e9 Don't set ATTR_IN or ATTR_OUT by default - this essentially reverts
rev. 1.21.  The proxy code must explicitly add these if they're
needed.
2005-01-20 20:34:08 +00:00
Huw Davies 218281c42c Better guid hash. 2005-01-20 20:33:48 +00:00
Huw Davies 18b1fe8dee MIDL adds two sets of custom data to the library: one is a timestamp
and the second is MIDL's version number.
2005-01-20 19:56:57 +00:00
Huw Davies b1a0c6c3d7 Add propget and propput function attributes.
Clarify the meaning of the FKCCIC bit field.
2005-01-19 19:08:01 +00:00
Huw Davies 2717b812dd Pad small strings out to eight bytes.
Fix 'has default values' flag.
2005-01-19 16:58:21 +00:00
Huw Davies c7c55ff33a Add a missing break to fix typeinfo version regression. 2005-01-18 11:39:31 +00:00
Huw Davies 90351160c9 Add VT_VARIANT support.
Fix for the case when there is no helpstringdll.
Fix for parameter arrays.
2005-01-17 13:41:19 +00:00
Huw Davies 55ca7eaaff Add support for BSTR default values. 2005-01-14 17:20:43 +00:00
Huw Davies ba874a31d0 Add support for interface ptrs including the special cases for
IUnknown and IDispatch.
2005-01-14 16:50:16 +00:00