Koos Vriezen wrote: >Kevin Krammer wrote: >On Wednesday 15 September 2004 04:14, Ryan Gammon wrote: > > >OT, but although COM/XPCOM sounds pretty cool, unless one wants all >interfaces known at front (eg. in kdelibs) > The "advantage" of com is that you don't need to know the interfaces up front. >so dynamic_cast will do, for >this the compiler needs support for this, no? > You don't need dynamic_cast. In general, you'll have stuff like void someFunc (IUnknown* pUnk) { IKoos* pKoos = NULL; pUnk->QueryInterface(IID_KOOS, (void**) &pKoos) if(pKoos) { // Do stuff pKoos->Release(); } } class CKoos : public IKoos; void CKoos::QueryInterface(IID iid, void** ppObj) { *ppObj = NULL; if(iid == IID_KOOS) { *ppObj = (IKoos*) this; } } ... so you're really using void*'s. >Something to do with casting >given an UID. Maybe someone can sched some light on this how this is >done in mozilla. > > It's basically like this in helix and mozilla. In mozilla, you have the ability to make calls between languages, so I can have a JavaScript implementation of CKoos, and use it via its C++ interface definition, IKoos, which is cool. -- Ryan Gammon rgammon@real.com Developer for Helix Player https://player.helixcommunity.org _______________________________________________ kde-multimedia mailing list kde-multimedia@kde.org https://mail.kde.org/mailman/listinfo/kde-multimedia