kdemm backends & Helix

Ryan Gammon rgammon at real.com
Fri Sep 17 20:19:57 BST 2004


... not to say that COM is for everyone :) this was just for interests sake.

If kde's not generally using COM, it probably doesn't make sense to 
start now.

Ryan Gammon wrote:

> 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 at real.com
Developer for Helix Player
https://player.helixcommunity.org



More information about the kde-multimedia mailing list