[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-multimedia
Subject:    Re: kdemm backends & Helix
From:       Ryan Gammon <rgammon () real ! com>
Date:       2004-09-17 18:14:44
Message-ID: 414B2994.7040505 () real ! com
[Download RAW message or body]

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
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic