[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/