[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 19:19:57
Message-ID: 414B38DD.4040108 () real ! com
[Download RAW message or body]

... 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@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