nsISupportsArray *aSources = (nsISupportsArray *) JS_GetPrivate(cx, jsaSources); nsIRDFResource *aCommand = (nsIRDFResource *) JS_GetPrivate(cx, jsaCommand); nsISupportsArray *aArguments = (nsISupportsArray *) JS_GetPrivate(cx, jsaArguments);
nsIRDFDataSource_IsCommandEnabled(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval){  nsIRDFDataSource *priv = (nsIRDFDataSource *)JS_GetPrivate(cx, obj);  if (!priv)    return JS_TRUE;  nsISupportsArray *aSources;  nsIRDFResource *aCommand;  nsISupportsArray *aArguments;  if (!JS_ConvertArguments(cx, argc, argv, "ooo", &aSources, &aCommand, &aArguments))    return JS_FALSE;  PRBool retval;  nsresult rv = priv->IsCommandEnabled(aSources, aCommand, aArguments, &retval);  if (NS_FAILED(rv)) {    JS_ReportError(cx, XXXnsresult2string(rv));    return JS_FALSE;  }  *rval = BOOLEAN_TO_JSVAL(retval);  return JS_TRUE;}