Age | Commit message (Collapse) | Author | Files | Lines |
|
switch_is, etc) and simplify the code involved
(This used to be commit 86de98ee09348297f2c30ce15888ba5e5637c078)
|
|
This will also be required for supporting
parsing pointers to arrays and arrays of pointers simultaneously.
(This used to be commit a34f848b02a6e8284d62532a792a5136e846fe8f)
|
|
The main difference in this new version is the extra data structure generated
between the IDL data structure and the NDR parser:
IDL -> NDR -> { ndr_parser, ndr_header, eparser, etc }
This makes the ndr_parser.pm internals much more sane.
Other changes include:
- Remove unnecessary calls with NDR_BUFFERS (for example, GUID doesn't have any buffers, just scalars) as well as some (unnecessary) nested setting of flags.
- Parse array loops in the C code rather then calling ndr_pull_array(). This allows us to have, for example, arrays of pointers or arrays of pointers to arrays, etc..
- Use if() {} rather then if () goto foo; everywhere
- NDR_IN no longer implies LIBNDR_FLAG_REF_ALLOC
- By default, top level pointers are now "ref" (as is the default in
most other IDL compilers). This can be overridden using the
default_pointer_top() property.
- initial work on new ethereal parser generators by Alan DeKok and me
- pidl now writes errors in the standard format used by compilers, which
is parsable by most editors
- ability to warn about the fact that pidl extension(s) have been used,
useful for making sure IDL files work with other IDL compilers.
oh, and there's probably some other things I can't think of right now..
(This used to be commit 13cf227615f6b9e0e5fa62e59197024410254f01)
|
|
- Warn about unknown attributes in .mk
- Remove more unused functions
(This used to be commit 6bf8126ae9368dc56cf0cd91b972a2d939974679)
|
|
metze
(This used to be commit f3c64120a16289472bdc56329d39c7221d00b558)
|
|
full interfaces.
- Couple of bugfixes in odl.pm
- First use of multiple pointers in dcom.idl
(This used to be commit 3110c2ec44a872a53e7d6015b85c68fdb604b4de)
|
|
The ODL module can convert an ODL structure to an IDL structure so that:
- The COM subsystem can use the ODL structure
- The DCE/RPC subsystem can use the IDL structure
(This used to be commit a339765d99c90c46f29e2bd71a6aa271febb096d)
|
|
Get rid of register_enum/register_bitmap, etc. (use list of
types in ndr.pm instead)
(This used to be commit efc2e41b8df3a0171cca57291929fb63760c1662)
|
|
(This used to be commit 95c4f3149925ee71e74ea36fae3a65d2eebf717c)
|
|
- use same names in hashes (DATA -> ELEMENTS, etc)
- [case()] and [default] are no longer special case, they're just regular properties
(This used to be commit 6a0f599f822f5c42d93e78c13765804ab2223968)
|
|
structures
- added "nopull" and "nopush" flags, to allow for externally written parsers for sub-structures
(This used to be commit f65f239978425de795a0e188aaad3d5d1167da32)
|
|
'declare bitmap foo1;'
'declare enum foo2;'
and also allow
typedef [public] bitmap ...
typedef [public] enum ...
you need to a forward declaration of bitmaps and enums
when you want to use them in another idl file,
and you need to make the real declaration to be public
see the next commit to samr.idl and netlogon.idl
metze
(This used to be commit a8d61aa47388b82595ee02b9cfd35f15afb93c2a)
|
|
typedef [bitmap16bit] bitmap {
FLAG1 = 0x0001,
FLAG2 = 0x8000
} fooflags;
metze
(This used to be commit 192f2495468d5d0c5889d94ca791aa8f371514e8)
|
|
(This used to be commit 73d5a033e8e9de536239c53e8a063e9be0eff701)
|
|
as types in switch
statements and variable types, and the value will be printed with its string name and value
(This used to be commit 1852033f2ec7584657d586e44d25a280959e4d81)
|
|
metze
(This used to be commit 7264a2227d7a1881db01964d0d713c144eb77152)
|
|
(This used to be commit 7484b9be7423ccd7e37432951700939e8a53d513)
|
|
The torture test DCOM-SIMPLE now successfully does an
IStream_Read and a IStream_Write call.
This test can now be run successfully against the "Simple DCOM" Visual
Studio example.
(You have to quote out line 337 in pidl. pidl complains if the variable
that contains the array size follows the array. I still need to fix this
properly)
Next goals:
- Clean up code
- Server side support
- Support custom marshalling
- Support DCOM interfaces in files other then dcom.idl
(This used to be commit 8693344772a9b700533179f4bacfe27ec27dfcfe)
|
|
- Support for sending over the object UUID in DCERPC calls
- Simple torture test for the DCOM "Simple" object
- Generate extra argument for "object" interfaces in pidl
- Some stubs for common DCOM functions
(This used to be commit c052f2e1edd816206d8974af3140cec7ef97a70c)
|
|
describes a COM class. A coclass is the implementation of one or more
interfaces. It has a UUID referred to as it's CLSID (Class ID).
Also adding an example coclass called "CoffeeMachine". You can give
it a string (or a cup, whatever you like ;-) and it will fill it with
"COFFEE" (kind of the like the echo pipe is for regular RPC). CoffeeMachine's
Windows implementation already works, a torture test for Samba will follow
soon.
(This used to be commit 05dd840b6ffba0d38d98e2e80d856e2f2b5d877c)
|
|
(This used to be commit edbd789abb505accd3e72863d13acd2603d991f6)
|
|
(This used to be commit ab2a788fe75ddaf8ff493477f2006a03959e6ab5)
|
|
- IDL fixes + adding comments
- Start working on dcom infrastructure
(This used to be commit ef0fc269f06c82594c34ad8673c76c5ea099250e)
|
|
- Support for "object oriented" interfaces in pidl
- Support for inherited interfaces in pidl
- Simplification of the support for properties on an interface
- Start on dcom rpc torture tests
(This used to be commit 45c3d0036b8510102816f9cdff9210098259cc5f)
|
|
syntax errors (some editors parse these strings and jump to the erroneous
line directly)
(This used to be commit 6857efacccb1af69abd46e8867a0b4b3c26801db)
|
|
don't loop forever if we get a cpp format line we don't understand
(This used to be commit 003c6c493b1babadb1f7c4eb54babed394bd42a9)
|
|
pidl
(This used to be commit c47e88dabfc62db7533d2d39c7f1010b4188d2ea)
|
|
We'll probably need a configure entry for this
(This used to be commit 66e648f20ffd34e2cff1b94003db9974d2bac318)
|
|
(This used to be commit 2b1300386dc8a3e3e802c8b1dafdbea286cfbb46)
|
|
precedence rules
* build a standalone parser. When we come to distributing Samba4 we
can just include idl.pm and other developers won't need Parse::Yapp
installed
* avoid the recursive make in most cases in build_idl.sh
(This used to be commit be2c2be459d1bed41c113590e70711cb89ad12b9)
|
|
(This used to be commit 788f6c44dbae48e13c9eeaca3bfa3ac7efbbd4e2)
|
|
makes pidl about 3x faster, and also gives us much better error
reporting and a more standard grammer definition that will be much
easier to code in lex/yacc if we want to do so at a later
date. (Parse::Yapp uses essentially the same grammer file as lex/yacc)
It also means we no longer need Parse::RecDescent, which should make
pidl much more portable.
(This used to be commit 4bbaffeb44dca99ad8c0245beb1fddbe01557215)
|