summaryrefslogtreecommitdiff
path: root/source4/lib/com/classes
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r6795: Make some functions static and remove some unused ones.Jelmer Vernooij1-4/+4
(This used to be commit 46509eb89980bfe6dabd71264d570ea356ee5a22)
2007-10-10r5675: - More DCOM bug fixesJelmer Vernooij1-5/+9
- Keep COM and DCOM more seperated (This used to be commit f694f484c422d0c86beb58e8f62f134f8676d5e1)
2007-10-10r5492: Update example coclass, autogenerate some parts.Jelmer Vernooij1-25/+27
(This used to be commit 3c31cbaac0cd916e6af49bfd2260bc3b1a75b677)
2007-10-10r5490: The big (D)COM commit! :-) Contains most of the changes described in theJelmer Vernooij1-0/+116
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)