Age | Commit message (Collapse) | Author | Files | Lines |
|
and server generation
- add 'noid' property to allow functions to be not present in the function table,
and not generate client and server functions for them
- print out a warning about [id()] not being correctly supported yet
metze
(This used to be commit 189730d1430e7f728d62dd5dc52f2a90c1a556d7)
|
|
- use a single list of scalars
- let "string" not be so special anymore
- fix support for "string_array"
metze
(This used to be commit e1fa7ae6c8420dc582578e084b9c0d641bcfbd73)
|
|
call out to the build system to compile the various pidl tests
(without having to rely on shared library support).
Initial work on an ndr_array test.
(This used to be commit 2b08c4b92b4f56180c123a502bdcc6c40188c07f)
|
|
Fix a couple of warnings.
(This used to be commit fcaa9d495c13af5065dd32f8ed65d4260b3a5539)
|
|
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)
|
|
- Add some more pidl tests based on ref_notes.txt
We currently fail some tests because we don't default to "ref"
for top-level pointers at the moment. We also fail some of the multi-level
tests.
(This used to be commit 187802f580d85e19ee9b7f07db931d0511f197bc)
|
|
metze
(This used to be commit 23b529ee090e1858fc18794b949f7e466fa82b0e)
|
|
to a new ndr.pm.
Add function that can generate a "OrderTable" describing the order
in which the NDR data will be pushed/pulled.
(This used to be commit 2603a7326d7e54a012a95e37fd54433b85d8acc4)
|
|
(This used to be commit 09a9222b600d58271f42ee0870e0c933d2e105d0)
|
|
DCOM paper in lorikeet. This is the result of 1.5 months work (mainly
figuring out how things *really* work) at the end of 2004.
In general:
- Clearer distinction between COM and DCOM. DCOM is now merely
the glue between DCE/RPC+ORPC and COM. COM can also work without
DCOM now. This makes the code a lot clearer.
- Clearer distinction between NDR and DCOM. Before, NDR had a couple of
"if"s to cope with DCOM, which are now gone.
- Use "real" arguments rather then structures for function arguments in
COM, mainly because most of these calls are local so packing/unpacking
data for every call is too much overhead (both speed- and code-wise)
- Support several mechanisms to load class objects:
- from memory (e.g. part of the current executable, registered at start-up)
- from shared object files
- remotely
- Most things are now also named COM rather then DCOM because that's what it
really is. After an object is created, it no longer matters whether it
was created locally or remotely.
There is a very simple example class that contains
both a class factory and a class that implements the IStream interface.
It can be tested (locally only, remotely is broken at the moment)
by running the COM-SIMPLE smbtorture test.
Still to-do:
- Autogenerate parts of the class implementation code (using the coclass definitions in IDL)
- Test server-side
- Implement some of the common classes, add definitions for common interfaces.
(This used to be commit 71fd3e5c3aac5f0002001ab29d2248e6c6842d6f)
|