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