[scriptable, uuid(...)]
interface nsI2 : nsISupports
{
        void foo(in nsI1 p);
}

is what you want.  note the absence of the "*"
xpidl will add the "*" for you when you output your IDL to C++.
to return objects, just use "out" instead of "in" and xpidl will
give you "**" when you output your IDL to C++.

darin



Arkadiy Vertleyb wrote:

> Hi,
> 
> I need to do something like this:
> 
> [scriptable, uuid(...)]
> interface nsI1 : nsISupports
> {
> };
> 
> [scriptable, uuid(...)]
> interface nsI2 : nsISupports
> {
>   void foo( in nsI1* p );
> };
> 
> I was able to do it only by using native types (as is suggested in the
> XPIDL authors guide), but this made I2 not scriptable.
> 
> Is the interface pointer a native type?  If so, how to pass and return
> objects in scripts?
> 
> Thanks,
> Arkadiy
> 
> 
> Sent via Deja.com
> http://www.deja.com/


Reply via email to