Commit Graph

537 Commits

Author SHA1 Message Date
Dan Hipschman 16d4e71230 widl: Calculate method indices in parser instead of during header generation. 2006-08-16 12:48:52 +02:00
Dan Hipschman 47519f08a7 widl: Pass the right size to MIDL_memset in generated proxy code. 2006-08-15 11:42:50 +02:00
Dan Hipschman 9e49a8d2f2 widl: Improve pointer null checking logic. 2006-08-12 11:41:08 +02:00
Dan Hipschman 06497dd44c widl: Use ref_type to simplify some code. 2006-08-12 11:40:30 +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
Dan Hipschman 216171fe52 widl: Add ref_type (dereference typedefs) and use it. 2006-08-10 10:57:53 +02:00
Alexandre Julliard 2886e9b0e8 makefiles: Use make dependencies to create installation directories.
This avoids a lot of redundant calls to mkinstalldirs.
2006-08-07 17:48:18 +02:00
Dan Hipschman 4961379d74 widl: Replace strdup, malloc and realloc with xstrdup, xmalloc and xrealloc. 2006-08-05 11:25:26 +02:00
Dan Hipschman df91150e10 widl: Generate GUID (infile_i.c) files. 2006-08-04 13:25:37 +02:00
Dan Hipschman 99056d7e2a widl: Write forward declarations for coclass definitions. 2006-08-03 22:29:58 +02:00
Dan Hipschman 3e1ace5aa3 widl: Set type_t kind field correctly for all types. 2006-07-31 21:40:37 +02:00
Dan Hipschman 23707beb46 widl: Set defined flag for coclasses. 2006-07-31 21:36:31 +02:00
Dan Hipschman cf4c08dcbc widl: Fix "static declaration follows non-static declaration" in generated code. 2006-07-29 11:55:31 +02:00
Dan Hipschman 678ce9875f widl: Encode coclass types in typelibs. 2006-07-29 11:55:20 +02:00
Dan Hipschman 9265d77584 widl: Register types for coclasses. 2006-07-29 11:55:08 +02:00
Dan Hipschman c650cceae3 widl: Check if a typeinfo is already in a typelib before adding it. 2006-07-29 11:54:44 +02:00
Dan Hipschman 90cdff9b3f widl: Set typelib_idx for coclasses when they're added to a typelib. 2006-07-29 11:54:21 +02:00
Dan Hipschman c67b19b4f4 widl: Fold class_t into type_t. 2006-07-29 11:54:09 +02:00
Jacek Caban 37cf4a5260 widl: Reorder segments to match midl. 2006-07-28 12:34:27 +02:00
Jacek Caban c9a08007eb widl: Use cval in ATTR_ID. 2006-07-28 12:34:20 +02:00
Jacek Caban b86bc2b634 widl: Added ATTR_BINDABLE handling to add_func_desc. 2006-07-28 12:34:14 +02:00
Jacek Caban 4d76264f3e widl: Store typekind in msft_typeinfo_t to fix ATTR_DUAL handling. 2006-07-28 12:34:08 +02:00
Dan Hipschman 3b3632a1cd widl: Allow trailing commas in attribute lists. 2006-07-26 10:24:06 +02:00
Dan Hipschman 12a9dfd62f widl: Support SAFEARRAY(type) syntax. 2006-07-25 11:21:41 +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 2660b8f9c1 widl: Support coclass forward declarations. 2006-07-14 13:32:38 +02:00
Dan Hipschman d68ec1d325 widl: Fix unterminated comment in generated code. 2006-07-14 13:32:38 +02:00
Alexandre Julliard 645cd6ff50 libs: Get rid of the symlinks for the static libs. 2006-07-11 19:33:48 +02:00
Alexandre Julliard 88c97d7284 .gitignore: Added wildcards to ignore lex and bison output files. 2006-07-10 21:40:49 +02:00
Alexandre Julliard cc2b3b48e6 Take advantage of the recursive nature of .gitignore for Makefile entries.
Prefix other entries with '/' to make them non-recursive.
2006-07-10 20:47:54 +02:00
Robert Shearman f627845624 widl: Add support for the builtin constants "TRUE" and "FALSE". 2006-07-07 14:30:34 +02:00
Alexandre Julliard fdb4c7e986 widl: Fixed syntax of DECL_LINK macro to look more like C code. 2006-06-27 11:51:07 +02:00
Andrew Talbot 0e1e585c73 widl: Write-strings warnings fix. 2006-06-26 12:36:52 +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 996c4f1f93 widl: Support coclass forward declarations. 2006-06-07 11:47:21 +02:00
Robert Shearman d7e7242af6 widl: Fix a typo in the man page. 2006-06-02 10:52:26 +02:00
Robert Shearman 90decb631c widl: Properly size the return value procformat. 2006-06-02 10:52:23 +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
Robert Shearman fa4f94bdd5 widl: Allow some more "reserved words" to be used as identifiers. 2006-05-31 15:47:50 +02:00
Alexandre Julliard 25dc6d912e widl: Clean output files when aborting on a signal. 2006-05-27 13:23:47 +02:00
Alexandre Julliard 59493b6c33 widl: Get rid of unnecessary inclusion of unicode.h. 2006-05-24 17:41:47 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Jacek Caban dee8790c69 widl: Don't add importlib if it is already on the list. Remove warning. 2006-05-20 13:58:54 +02:00
Jacek Caban a7fa3a985b widl: Added support for importing parent interfaces from importlib. 2006-05-20 13:58:44 +02:00
Jacek Caban 6137e1b60a widl: Added importlib reading implementation. 2006-05-17 21:02:00 +02:00
Jacek Caban dce3f2be05 widl: Added RPC_FC_ENUM16 encoding. 2006-05-15 11:49:28 +02:00
Jacek Caban 4812abc247 widl: res50 is number of impinfos. Fix its usage. 2006-05-15 11:49:15 +02:00
Eric Kohl 2c7270e388 widl: Implement 'oldnames' option. 2006-05-05 16:37:42 +02:00
Eric Kohl b64154882c widl: Fix a typo. 2006-05-05 16:36:46 +02:00
Jacek Caban 738be2eec3 widl: Fix a typo. 2006-04-21 23:20:09 +02:00
Jacek Caban 8cd409facf widl: Added importlib parsing code. 2006-04-21 12:46:13 +02:00
Eric Kohl ff302bfc7a widl: Implement support for unique pointers to strings. 2006-04-21 11:28:03 +02:00
Robert Shearman 555cf38269 widl: Prevent NULL pointer de-refs on "void *" types. 2006-04-20 15:16:59 +02:00
Robert Shearman 7ca82cd6d2 widl: Ignore [object] attribute on interfaces written to a typelib. 2006-04-18 16:48:39 +02:00
Eric Kohl bec0993199 widl: Support multiple RPC interfaces per binary. 2006-04-17 12:00:54 +02:00
Eric Kohl e7134bd4cd widl: Implement support for unique pointers to arrays. 2006-04-17 11:18:49 +02:00
Mike McCormack 1d453ab551 widl: Add support for VT_I8 and VT_UI8 to msft typelibs. 2006-04-14 10:49:14 +02:00
Eric Kohl 7fb3f12ce5 widl: Implement support for ref pointers to simple structs. 2006-04-10 15:56:50 +02:00
Eric Kohl 83d72a4318 widl: Implement support for ref pointers to arrays of base types. 2006-04-05 10:58:25 +02:00
Robert Shearman e2ea2b5891 widl: Fix the type offset for generated conformant string calls. 2006-04-03 21:36:06 +02:00
Robert Shearman 837e830a26 widl: There's no need to cast _StubMsg - it's already of the correct type. 2006-03-31 17:38:00 +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 3e065ab342 widl: Move handling of base type marshaling and unmarshaling to a separate function.
Move handling of base type marshaling and unmarshaling to a separate
function and improve it to support return values.
2006-03-31 17:37:01 +02:00
Robert Shearman eb000448a0 widl: Use print_phase_function for printing NdrPointerFree call. 2006-03-31 17:36:39 +02:00
Robert Shearman 04632f6ab7 widl: Add a function to generate the Ndr type calls.
- Add a function to generate the Ndr type calls.
- Fix a typo where the aligned buffer was added to itself, rather than
assigned.
2006-03-31 17:36:23 +02:00
Robert Shearman 96f6a22ece widl: Only write the buffer incrementing code for the marshaling and unmarshaling phases.
Only write the buffer incrementing code for the marshaling and
unmarshaling phases - buffer sizing is handled elsewhere and freeing
isn't applicable.
2006-03-31 17:36:06 +02:00
Robert Shearman 226c8f6b52 widl: Output the necessary sizing information for other phases.
Output the necessary sizing information for PHASE_BUFFERSIZE and
PHASE_FREE as well as PHASE_MARSHAL. Standardise this rule in a new
function.
2006-03-31 17:35:49 +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 4cd506b8fd widl: The lval member of var_t is essentially a duplicate of eval->cval.
- Generate eval's for enums that don't explicitly have one. This means
that enums written in header files won't match exactly what has been put
into the IDL file, but the numeric constat is the same and MIDL does a
similar thing.
- Replace constant lookups with eval->cval instead of lval.
2006-03-31 17:35:04 +02:00
Robert Shearman 4edcf2de35 widl: De-reference parameters' types before deciding what to do with them.
De-reference parameters' types before deciding what to do with them.
Also dereference string parameters since they are immediately
dispatched to write_string_tfs when the string attribute is detected
without any further processing done on them.
2006-03-31 17:34:48 +02:00
Robert Shearman 4b5386e2cd widl: Write pointer calls for all non-basetype pointer parameters to functions. 2006-03-31 17:34:38 +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
Robert Shearman 97d6f7c444 widl: NdrFcShort should be written out instead of NdrShort. 2006-03-31 17:31:44 +02:00
Robert Shearman bed9fdec8d widl: Output the numeric equivalent of FC_END, not the string FC_END itself. 2006-03-31 17:31:31 +02:00
Robert Shearman 3ec771a20f widl: Support references in type_memsize. 2006-03-31 17:31:18 +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
Eric Kohl 6ad46cc961 widl: Fix base type alignments.
Generate aligned marshal and unmarshal code for base type arguments
and return values.
2006-03-23 17:06:25 +01:00
Eric Kohl 1550938a50 widl: Fix format string size calculation.
- Move proc format string size calculation from client.c and server.c
  to typegen.c.
- Implement type format string size calculation.
2006-03-23 17:06:10 +01:00
Eric Kohl 623f142945 widl: Do not generate code that initializes a binding handle. 2006-03-18 18:06:41 +01:00
Eric Kohl c7174f9fff widl: Fix proc offset calculation.
A void return type is represented by a FC_END/FC_PAD sequence in the
proc format string. Increment the proc offset by two when a function
returns void.
2006-03-18 18:06:27 +01:00
Eric Kohl 919d14c577 widl: 'unsigned char' and 'byte' are must be distinct types. 2006-03-18 18:06:14 +01:00
Kevin Koltzau a8b209752f widl: Fix 64bit warning. 2006-02-22 22:17:25 +01:00
Mike Frysinger 5392844392 Add support for 'make install DESTDIR'. 2006-02-14 13:51:38 +01:00
Francois Gouget 90aaf6ba8f include: Add missing LANG_xxx and SUBLANG_xxx constants. 2006-02-14 10:42:12 +01:00
Robert Shearman 59dd416fd2 widl: Fix a typo when removing TYPEFLAG_FDUAL. 2006-02-10 14:51:39 +01:00
Robert Shearman 91c35be7cc widl: Write out more TYPEFLAGs and add more type library-specific
attributes to the parser.
2006-02-09 12:10:08 +01:00
Robert Shearman 649d5d0e8e widl: Write out TYPEFLAG_FDUAL, TYPEFLAG_FDISPATCHABLE and
TYPEFLAG_FOLEAUTOMATION typelib flags.
2006-02-09 12:09:44 +01:00
Robert Shearman 59830d69b4 widl: Fix some warnings caused by making attributes const. 2006-02-07 16:25:10 +01:00
Alexandre Julliard 91da64c9ca widl: Remove '\n' from yyerror calls. 2006-02-07 12:36:20 +01:00
Robert Shearman 4e40675032 widl: Make 'attrs' field of type_t const. 2006-02-07 12:32:57 +01:00
Robert Shearman e9ec85a01a widl: Remove unused 'rname' field of type_t. 2006-02-07 12:32:42 +01:00
Robert Shearman 55df46ab85 widl: Merge marshall_arguments and unmarshall_arguments into one
function to remove the large amount of duplicated code.
2006-02-07 12:32:24 +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
Eric Kohl 417a61fa61 widl: Fix proc format string for explicit binding handles. 2006-02-07 12:30:55 +01:00
Robert Shearman 8d7fa4c013 widl: Write out the correct FC type if the structure has pointers. 2006-02-07 12:30:23 +01:00
Robert Shearman 4c8370f97e widl: Split pointer writing into a separate function. 2006-02-07 12:30:07 +01:00
Robert Shearman 9f0c45b7e7 widl: Fix pointer detection for structures with embedded arrays.
Pointers have priority over every other type, so move the detection to
the top of get_struct_type.
Fall through from the embedded array detection to the embedded
structure handling code so that conformance, variance and pointer
presence is inherited from the array's base type.
2006-02-07 12:29:39 +01:00
Robert Shearman 864d5a38c5 widl: Increment the type format string when writing the pointer
layouts.
Write out pointer layouts for structures.
2006-02-07 12:28:33 +01:00
Robert Shearman 0d22347f44 widl: Make all pointer fields of expr_t structure constant. 2006-02-07 12:28:20 +01:00
Robert Shearman ccf509b4c6 widl: Add architecture for generating pointer layouts. 2006-02-03 18:51:17 +01:00
Eric Kohl dd57b45aaa widl: The 'string' attribute can also be used with unsigned characters. 2006-02-03 18:47:06 +01:00
Alexandre Julliard a488901256 widl: Some cosmetic fixes in generated code. 2006-02-02 13:23:28 +01:00
Alexandre Julliard 0f2a642d70 widl: Make sure the token variables are always initialized properly. 2006-02-02 13:22:47 +01:00
Robert Shearman 0d4e1bc336 widl: Fix a SEGV when using arrays declared using a pointer and
attributes, instead of array indices (reported by Eric Kohl).
2006-02-01 12:29:23 +01:00
Robert Shearman c418226093 widl: Changes to output for better debugability.
Write the offset and the absolute address for referenced types.
Write the current offset out when writing a pointer type.
2006-01-31 18:08:24 +01:00
Robert Shearman 1478ac85a9 widl: Clean up conformant struct handling.
Make the writing of conformant structures take advantage of the new
type format string offset handling.
2006-01-31 18:08:03 +01:00
Robert Shearman 5764d5518d widl: Fix the writing of arrays with size specified in the array
expression instead of the size_is expression.
2006-01-31 18:07:45 +01:00
Robert Shearman 06ab21b668 widl: Improve the current type offset passing.
Change the functions to take the current type offset and return the
start of the type written.
2006-01-31 18:07:20 +01:00
Robert Shearman ac5a4393d5 widl: The stack/structure offset in correlation descriptors should be a short. 2006-01-31 18:06:53 +01:00
Robert Shearman 513996fde4 widl: Do constant folding for the sizeof operator on simple types. 2006-01-31 18:06:25 +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 c08e00a9ec widl: Implement constant conformance. 2006-01-31 18:05:43 +01:00
Robert Shearman 35d1347cfa widl: Fix the type offset used in marshaling/unmarshaling.
Make a copy of type_offset so that it only gets incremented once per
function, instead of twice.
2006-01-31 18:05:33 +01:00
Robert Shearman 2330d73f4a widl: Implement the writing of defaultvalue constants for enum values. 2006-01-31 18:04:20 +01:00
Robert Shearman cf1ccfb712 widl: Use a macro to write out FC types, along with the current offset
which is useful for debugging.
2006-01-31 12:25:54 +01:00
Robert Shearman 2ee6f722e0 widl: Pass the current type format string offset through all type
writing functions.
2006-01-31 12:24:54 +01:00
Robert Shearman a6909fa5e8 widl: Eliminate redundant callback routines.
Add a function for comparing expressions and use it to eliminate
redundant callback functions.
2006-01-31 12:24:11 +01:00
Robert Shearman b59c995c89 widl: Implement callback conformance. 2006-01-27 12:53:32 +01:00
Robert Shearman 2d4edc3b3d widl: Generate type format strings for conformant varying arrays. 2006-01-24 11:14:59 +01:00
Robert Shearman 2eedb11f22 widl: Fix detection of varying arrays.
Correctly identify structures containing varying arrays as conformant
varying structures.
2006-01-24 11:14:38 +01:00
Robert Shearman b4fb36c363 widl: Fix detection of conformant varying structs.
Rename has_conformant_array to has_conformance, add a new variable
has_variance and map has_conformant_string to has_conformance and
has_variance.
A conformant varying struct should be returned if just variance is
present and even if no pointers are present.
2006-01-24 11:14:15 +01:00
Robert Shearman 9f76c0cfee widl: Support generation of conformant structure type strings. 2006-01-24 11:13:49 +01:00
Robert Shearman 90032b2da6 widl: Conformant arrays have a size of 0.
Conformant arrays should cause a size of 0 to be returned from
type_memsize.
2006-01-24 11:13:30 +01:00
Robert Shearman 73023890c5 widl: Support correlation descriptors in structures. 2006-01-24 11:12:54 +01:00
Robert Shearman e9c771f98b widl: Error if an array is in the middle of a structure.
Fix detection of conformant arrays and output an error if the array
isn't at the end of the structure.
2006-01-24 11:12:20 +01:00
Robert Shearman 362d42e082 widl: Fix the detection of conformant and pointer structs. 2006-01-24 11:11:56 +01:00
Robert Shearman 8f1ed85891 widl: Simple structs and complex pointers.
Write out type format string for simple structs and for pointers to
non-simple types.
2006-01-24 11:11:29 +01:00
Robert Shearman 584c89bd8f widl: Add framework for generating struct and union type format strings. 2006-01-24 11:10:59 +01:00
Robert Shearman 263a75d47a widl: Support different types of simple pointers.
Support pointer types in unmarshall_arguments.
2006-01-24 11:10:42 +01:00
Robert Shearman 69551fdf74 widl: Generate NdrNonConformatString* calls for non-conformant string types. 2006-01-24 11:10:08 +01:00
Robert Shearman a6c6e1d032 widl: Add functions for detecting array and string types.
Add functions for detecting array and string types and use these in
both writing type format strings and when marshalling and
unmarshalling parameters.
2006-01-24 11:09:53 +01:00
Robert Shearman 793bc8de69 widl: Support some more complicated conformance / variance expressions. 2006-01-24 11:09:03 +01:00
Robert Shearman 4a7c04791d widl: Start implementing writing of conformance/variance descriptors. 2006-01-24 11:08:20 +01:00
Robert Shearman 21a90850cb widl: Strings.
Write out type format strings for string types.
2006-01-24 11:07:39 +01:00
Robert Shearman d07589e32f widl: Arrays.
Write out type format strings for arrays, except for the missing
generic functionality of conformance and variance descriptors.
2006-01-24 11:07:13 +01:00
Robert Shearman fce01e6920 widl: Simplify write_typeformatstring_type.
Simplify handling of types in write_typeformatstring_type by only
writing non-pointer types out when ptr_level is 0. Add stubs for
functions that will write out the type format string for strings and
arrays.
2006-01-24 11:06:32 +01:00
Robert Shearman 479be2e6af widl: Don't use recursion for write_typeformatstring_type.
Since a var_t can now be passed in, rename to
write_typeformatstring_var. Simplifies the code.
2006-01-24 11:06:10 +01:00
Robert Shearman 6d76ad87c6 widl: Don't use recursion to implement write_procformatstring_type.
Renamed to write_procformatstring_var now since we can pass a var_t in
again. This results in simpler code.
2006-01-24 11:05:51 +01:00
Robert Shearman ba0f0761f0 widl: Generate static sizing information for fixed size structs.
Don't generate FC_*_BASETYPE proc and type format strings for
non-basetype fields/params.
2006-01-06 21:06:24 +01:00
Alexandre Julliard 1e96455094 Remove YY_NO defines that cause warnings. 2006-01-05 12:20:05 +01:00
Alexandre Julliard 88991e2a4e Support building flex files without debug support. 2006-01-03 15:11:46 +01:00
Alexandre Julliard 0ae2c69c7a Added some flex options to avoid compiler warnings.
Moved options from the Makefile into the source.
2006-01-03 12:16:05 +01:00
Robert Shearman 8494f57d17 widl: Output sizing information for arrays in the generated marshaling code. 2005-12-31 13:19:13 +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 f56737579e widl: Fix merge conflict. 2005-12-26 13:22:46 +01:00
Robert Shearman 93775adf75 widl: Follow type references in procformat and typeformat string generation. 2005-12-26 13:22:32 +01:00
Robert Shearman 7fb311b49f widl: Handle marshaling and unmarshaling structures. 2005-12-26 13:22:05 +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 e0dd7b6ed8 widl: Remove some duplication.
Remove some duplicated code by calling an improved
get_required_buffer_size.
Add some more newlines in the generated code to separate separate
stages.
Calculate the buffer size of [out] arguments in generated server code.
Fix the direction passed into unmarshall_arguments.
2005-12-26 13:20:59 +01:00
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