Age | Commit message (Collapse) | Author | Files | Lines |
|
if the compiler doesn't support it we pass --uint-enums to pidl
metze
(This used to be commit c52703c0a8adb4f64ec52e4bf602e9c17ef2c748)
|
|
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)
|
|
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)
|
|
make idl.
(This used to be commit 7ba9f329aa8baa8e8c0efe742ad51eb5b3487cbc)
|
|
This is all done in the lorikeet/ethereal Makefile now.
(This used to be commit 5ec9fad5cfc9c6010550aa1890e9d213030db55d)
|
|
(This used to be commit df35f1debf30682363399ee2a02063da695fff84)
|
|
(This used to be commit c252a286efcb9ca2024c8d234c8a65855522fb25)
|
|
Start working on adding support for bitmaps and enums.
In progress tweaks for arrays of structures.
(This used to be commit d39cb7ecb4c193cbba628ee6d6f9b5c5bbf89d33)
|
|
(This used to be commit 913630d6e43cda621b36403169544dcbea926153)
|
|
- Add some const
(This used to be commit a00bda88e1b6abdc36e5aa8c2a35f64855f67c96)
|
|
rather then a large table in librpc/gen_ndr/tables.c. This will allow us
to only link in only the required gen_ndr files (speeds up linking quite a
bit, makes binaries smaller).
Each gen_ndr_* file now has a init function that calls the init functions
of the interfaces it contains. I did it this way to keep pidl's code simple,
though it might hurt startup time a bit. I'd be happy to change it if
people like one function better.
(This used to be commit 3c436590ae95b58ad6d00e72d6fdd08a4d80f208)
|
|
This allows us to call 'make eparser_idl', generate the files required
by the ethereal pidl plugin, and put them in the right place. (See
lorikeet/ethereal)
Andrew Bartlett
(This used to be commit bd9497b092335b2646a1955ea7c55ad33eb7d538)
|
|
(This used to be commit db191572ff9351ae84dc0c3d6302fa60b61cd179)
|
|
(This used to be commit fd31ae38dfe2d005b3e01ac059c2e15fa389aad4)
|
|
metze
(This used to be commit b1161c4c832dd0a2975eee0908d9d5cd6171f608)
|
|
(This used to be commit d1dcde1d913803a44b07a1937262ae627680072c)
|
|
and tell me what you think? Output does not compile yet.
(This used to be commit 65692c9a9301329ad93628778e3d8f9188a67059)
|
|
so use ./build/pidl/pidl.pl
metze
(This used to be commit 7aab10d507346ac8d748558e5b9dbcfe9a56f601)
|
|
instead
(This used to be commit 2d57346c2d07e43c4630a7f7963173d84c5a7c92)
|
|
(This used to be commit 5f6b0baa300d088a6d7fb91fcbceff594292eaa0)
|
|
pipe.
The server side code gets generated as librpc/gen_ndr/ndr_NAME_s.c and
gets included in the pipe module
(This used to be commit bd3dcfe5820489a838e19b244266bd9126af5eb4)
|
|
flag to test. It's amazing that systems like that are ever sold.
(This used to be commit fe91635da87104544946983c7c63d5c584db614a)
|
|
(This used to be commit b18dce549dd390681e70bc0e290d7ec4e44791c3)
|
|
(This used to be commit e41d95acc016087d77712d214a52813c00923d4d)
|
|
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)
|
|
* make far more generated functions static
* get rid of gen_rpc, and include the client calls in ndr_*.c
* added placeholder IDL for a number of intefaces (dcom, wzcsvc, browser etc)
(This used to be commit a2bdf0be0119023df3c2b9ea515ed355020f2625)
|
|
places that need to be edited when someone adds a new IDL file.
(This used to be commit ccd9ddeed679baa6cbb05ac728b381b50420e00f)
|
|
files at once, which means less perl startup time.
(This used to be commit 64b2c67e479ddc754d18f752d347ba22a6d77682)
|
|
source/build/pidl/
I imported the code using direct respository manipulation to preserve
the commit history
(This used to be commit 2ed87a52ccc343c281e29f5a18f3f99fe06beb28)
|
|
(This used to be commit 49c72d42766a55e2833c004e721a47115000626b)
|
|
auto-building proto.h if it doesn't exist. This should make life a
little easier for developers
(This used to be commit ab5939e79600841c5e7e31e9da8742bf2da4a184)
|
|
- auto-generate the client calls with 'make idl'
(This used to be commit 8e52381313fc5a603b6d7e6ff090896c772096e9)
|
|
(This used to be commit 9aacdb5b8ac26a7a6337aeb23f63513fbd2236f6)
|
|
- added auto-generation from the Makefile. Only called when you run "make idl"
(This used to be commit 47a17e5a08dcb5ef2880f75a59bf417e161a71d3)
|