nsIRDFObserver *aObserver; if (!JS_ConvertArguments(cx, argc, argv, "o", &aObserver))
JSObject* jsaObserver; if (!JS_ConvertArguments(cx, argc, argv, "o", &jsaObserver))
nsIRDFDataSource_AddObserver(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval){  nsIRDFDataSource *priv = (nsIRDFDataSource *)JS_GetPrivate(cx, obj);  if (!priv)    return JS_TRUE;  nsIRDFObserver *aObserver;  if (!JS_ConvertArguments(cx, argc, argv, "o", &aObserver))    return JS_FALSE;  nsresult rv = priv->AddObserver(aObserver);  if (NS_FAILED(rv)) {    JS_ReportError(cx, XXXnsresult2string(rv));    return JS_FALSE;  }  return JS_TRUE;}