updated javascript reflection file that includes the new profile manager services

This commit is contained in:
gayatrib%netscape.com 1999-05-19 05:12:30 +00:00
Родитель 4aaf6abeb2
Коммит e8511da3dc
1 изменённых файлов: 121 добавлений и 347 удалений

Просмотреть файл

@ -1,700 +1,474 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
* *
* The contents of this file are subject to the Netscape Public License * The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in * Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at * compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/ * http://www.mozilla.org/NPL/
* *
* Software distributed under the NPL is distributed on an "AS IS" basis, * Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the * for the specific language governing rights and limitations under the
* NPL. * NPL.
* *
* The Initial Developer of this code under the NPL is Netscape * The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are * Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights * Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved. * Reserved.
*/ */
/* AUTO-GENERATED. DO NOT EDIT!!! */ /* AUTO-GENERATED. DO NOT EDIT!!! */
#include "jsapi.h" #include "jsapi.h"
#include "nsJSUtils.h" #include "nsJSUtils.h"
#include "nscore.h" #include "nscore.h"
#include "nsIScriptContext.h" #include "nsIScriptContext.h"
#include "nsIJSScriptObject.h" #include "nsIJSScriptObject.h"
#include "nsIScriptObjectOwner.h" #include "nsIScriptObjectOwner.h"
#include "nsIScriptGlobalObject.h" #include "nsIScriptGlobalObject.h"
#include "nsIPtr.h" #include "nsIPtr.h"
#include "nsString.h" #include "nsString.h"
#include "nsIDOMProfileCore.h" #include "nsIDOMProfileCore.h"
#include "nsIScriptNameSpaceManager.h" #include "nsIScriptNameSpaceManager.h"
#include "nsIComponentManager.h" #include "nsIComponentManager.h"
#include "nsIJSNativeInitializer.h"
#include "nsDOMCID.h" #include "nsDOMCID.h"
static NS_DEFINE_IID(kIScriptObjectOwnerIID, NS_ISCRIPTOBJECTOWNER_IID); static NS_DEFINE_IID(kIScriptObjectOwnerIID, NS_ISCRIPTOBJECTOWNER_IID);
static NS_DEFINE_IID(kIJSScriptObjectIID, NS_IJSSCRIPTOBJECT_IID); static NS_DEFINE_IID(kIJSScriptObjectIID, NS_IJSSCRIPTOBJECT_IID);
static NS_DEFINE_IID(kIScriptGlobalObjectIID, NS_ISCRIPTGLOBALOBJECT_IID); static NS_DEFINE_IID(kIScriptGlobalObjectIID, NS_ISCRIPTGLOBALOBJECT_IID);
static NS_DEFINE_IID(kIProfileCoreIID, NS_IDOMPROFILECORE_IID); static NS_DEFINE_IID(kIProfileCoreIID, NS_IDOMPROFILECORE_IID);
NS_DEF_PTR(nsIDOMProfileCore); NS_DEF_PTR(nsIDOMProfileCore);
/***********************************************************************/ /***********************************************************************/
// //
// ProfileCore Properties Getter // ProfileCore Properties Getter
// //
PR_STATIC_CALLBACK(JSBool) PR_STATIC_CALLBACK(JSBool)
GetProfileCoreProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp) GetProfileCoreProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
{ {
nsIDOMProfileCore *a = (nsIDOMProfileCore*)JS_GetPrivate(cx, obj); nsIDOMProfileCore *a = (nsIDOMProfileCore*)JS_GetPrivate(cx, obj);
// If there's no private data, this must be the prototype, so ignore // If there's no private data, this must be the prototype, so ignore
if (nsnull == a) { if (nsnull == a) {
return JS_TRUE; return JS_TRUE;
} }
if (JSVAL_IS_INT(id)) { if (JSVAL_IS_INT(id)) {
switch(JSVAL_TO_INT(id)) { switch(JSVAL_TO_INT(id)) {
case 0: case 0:
default: default:
return nsJSUtils::nsCallJSScriptObjectGetProperty(a, cx, id, vp); return nsJSUtils::nsCallJSScriptObjectGetProperty(a, cx, id, vp);
} }
} }
else { else {
return nsJSUtils::nsCallJSScriptObjectGetProperty(a, cx, id, vp); return nsJSUtils::nsCallJSScriptObjectGetProperty(a, cx, id, vp);
} }
return PR_TRUE; return PR_TRUE;
} }
/***********************************************************************/ /***********************************************************************/
// //
// ProfileCore Properties Setter // ProfileCore Properties Setter
// //
PR_STATIC_CALLBACK(JSBool) PR_STATIC_CALLBACK(JSBool)
SetProfileCoreProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp) SetProfileCoreProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
{ {
nsIDOMProfileCore *a = (nsIDOMProfileCore*)JS_GetPrivate(cx, obj); nsIDOMProfileCore *a = (nsIDOMProfileCore*)JS_GetPrivate(cx, obj);
// If there's no private data, this must be the prototype, so ignore // If there's no private data, this must be the prototype, so ignore
if (nsnull == a) { if (nsnull == a) {
return JS_TRUE; return JS_TRUE;
} }
if (JSVAL_IS_INT(id)) { if (JSVAL_IS_INT(id)) {
switch(JSVAL_TO_INT(id)) { switch(JSVAL_TO_INT(id)) {
case 0: case 0:
default: default:
return nsJSUtils::nsCallJSScriptObjectSetProperty(a, cx, id, vp); return nsJSUtils::nsCallJSScriptObjectSetProperty(a, cx, id, vp);
} }
} }
else { else {
return nsJSUtils::nsCallJSScriptObjectSetProperty(a, cx, id, vp); return nsJSUtils::nsCallJSScriptObjectSetProperty(a, cx, id, vp);
} }
return PR_TRUE; return PR_TRUE;
} }
// //
// ProfileCore finalizer // ProfileCore finalizer
// //
PR_STATIC_CALLBACK(void) PR_STATIC_CALLBACK(void)
FinalizeProfileCore(JSContext *cx, JSObject *obj) FinalizeProfileCore(JSContext *cx, JSObject *obj)
{ {
nsJSUtils::nsGenericFinalize(cx, obj); nsJSUtils::nsGenericFinalize(cx, obj);
} }
// //
// ProfileCore enumerate // ProfileCore enumerate
// //
PR_STATIC_CALLBACK(JSBool) PR_STATIC_CALLBACK(JSBool)
EnumerateProfileCore(JSContext *cx, JSObject *obj) EnumerateProfileCore(JSContext *cx, JSObject *obj)
{ {
return nsJSUtils::nsGenericEnumerate(cx, obj); return nsJSUtils::nsGenericEnumerate(cx, obj);
} }
// //
// ProfileCore resolve // ProfileCore resolve
// //
PR_STATIC_CALLBACK(JSBool) PR_STATIC_CALLBACK(JSBool)
ResolveProfileCore(JSContext *cx, JSObject *obj, jsval id) ResolveProfileCore(JSContext *cx, JSObject *obj, jsval id)
{ {
return nsJSUtils::nsGenericResolve(cx, obj, id); return nsJSUtils::nsGenericResolve(cx, obj, id);
} }
// //
// Native method CreateNewProfile // Native method CreateNewProfile
// //
PR_STATIC_CALLBACK(JSBool) PR_STATIC_CALLBACK(JSBool)
ProfileCoreCreateNewProfile(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) ProfileCoreCreateNewProfile(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{ {
nsIDOMProfileCore *nativeThis = (nsIDOMProfileCore*)JS_GetPrivate(cx, obj); nsIDOMProfileCore *nativeThis = (nsIDOMProfileCore*)JS_GetPrivate(cx, obj);
JSBool rBool = JS_FALSE; JSBool rBool = JS_FALSE;
nsAutoString b0; nsAutoString b0;
*rval = JSVAL_NULL; *rval = JSVAL_NULL;
// If there's no private data, this must be the prototype, so ignore // If there's no private data, this must be the prototype, so ignore
if (nsnull == nativeThis) { if (nsnull == nativeThis) {
return JS_TRUE; return JS_TRUE;
} }
if (argc >= 1) { if (argc >= 1) {
nsJSUtils::nsConvertJSValToString(b0, cx, argv[0]);
if (NS_OK != nativeThis->CreateNewProfile(b0)) {
return JS_FALSE;
}
*rval = JSVAL_VOID;
}
else {
JS_ReportError(cx, "Function CreateNewProfile requires 1 parameters");
return JS_FALSE;
}
return JS_TRUE;
}
//
// Native method RenameProfile
//
PR_STATIC_CALLBACK(JSBool)
ProfileCoreRenameProfile(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
nsIDOMProfileCore *nativeThis = (nsIDOMProfileCore*)JS_GetPrivate(cx, obj);
JSBool rBool = JS_FALSE;
nsAutoString b0;
nsAutoString b1;
*rval = JSVAL_NULL;
// If there's no private data, this must be the prototype, so ignore
if (nsnull == nativeThis) {
return JS_TRUE;
}
if (argc >= 2) {
nsJSUtils::nsConvertJSValToString(b0, cx, argv[0]); nsJSUtils::nsConvertJSValToString(b0, cx, argv[0]);
nsJSUtils::nsConvertJSValToString(b1, cx, argv[1]);
if (NS_OK != nativeThis->RenameProfile(b0, b1)) {
if (NS_OK != nativeThis->CreateNewProfile(b0)) {
return JS_FALSE; return JS_FALSE;
} }
*rval = JSVAL_VOID; *rval = JSVAL_VOID;
} }
else { else {
JS_ReportError(cx, "Function RenameProfile requires 2 parameters");
JS_ReportError(cx, "Function CreateNewProfile requires 1 parameters");
return JS_FALSE; return JS_FALSE;
} }
return JS_TRUE; return JS_TRUE;
} }
//
// Native method DeleteProfile
//
PR_STATIC_CALLBACK(JSBool)
ProfileCoreDeleteProfile(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
nsIDOMProfileCore *nativeThis = (nsIDOMProfileCore*)JS_GetPrivate(cx, obj);
JSBool rBool = JS_FALSE;
nsAutoString b0;
*rval = JSVAL_NULL;
// If there's no private data, this must be the prototype, so ignore
if (nsnull == nativeThis) {
return JS_TRUE;
}
if (argc >= 1) {
nsJSUtils::nsConvertJSValToString(b0, cx, argv[0]);
if (NS_OK != nativeThis->DeleteProfile(b0)) {
return JS_FALSE;
}
*rval = JSVAL_VOID;
}
else {
JS_ReportError(cx, "Function DeleteProfile requires 1 parameters");
return JS_FALSE;
}
return JS_TRUE;
}
//
// Native method GetProfileList
//
PR_STATIC_CALLBACK(JSBool)
ProfileCoreGetProfileList(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
nsIDOMProfileCore *nativeThis = (nsIDOMProfileCore*)JS_GetPrivate(cx, obj);
JSBool rBool = JS_FALSE;
nsAutoString nativeRet;
*rval = JSVAL_NULL;
// If there's no private data, this must be the prototype, so ignore
if (nsnull == nativeThis) {
return JS_TRUE;
}
if (argc >= 0) {
if (NS_OK != nativeThis->GetProfileList(nativeRet)) {
return JS_FALSE;
}
nsJSUtils::nsConvertStringToJSVal(nativeRet, cx, rval);
}
else {
JS_ReportError(cx, "Function GetProfileList requires 0 parameters");
return JS_FALSE;
}
return JS_TRUE;
}
/***********************************************************************/ /***********************************************************************/
// //
// class for ProfileCore // class for ProfileCore
// //
JSClass ProfileCoreClass = { JSClass ProfileCoreClass = {
"ProfileCore", "ProfileCore",
JSCLASS_HAS_PRIVATE | JSCLASS_PRIVATE_IS_NSISUPPORTS,
JSCLASS_HAS_PRIVATE,
JS_PropertyStub, JS_PropertyStub,
JS_PropertyStub, JS_PropertyStub,
GetProfileCoreProperty, GetProfileCoreProperty,
SetProfileCoreProperty, SetProfileCoreProperty,
EnumerateProfileCore, EnumerateProfileCore,
ResolveProfileCore, ResolveProfileCore,
JS_ConvertStub, JS_ConvertStub,
FinalizeProfileCore FinalizeProfileCore
}; };
// //
// ProfileCore class properties // ProfileCore class properties
// //
static JSPropertySpec ProfileCoreProperties[] = static JSPropertySpec ProfileCoreProperties[] =
{ {
{0} {0}
}; };
// //
// ProfileCore class methods // ProfileCore class methods
// //
static JSFunctionSpec ProfileCoreMethods[] = static JSFunctionSpec ProfileCoreMethods[] =
{ {
{"CreateNewProfile", ProfileCoreCreateNewProfile, 1}, {"CreateNewProfile", ProfileCoreCreateNewProfile, 1},
{"RenameProfile", ProfileCoreRenameProfile, 2},
{"DeleteProfile", ProfileCoreDeleteProfile, 1},
{"GetProfileList", ProfileCoreGetProfileList, 0},
{0} {0}
}; };
// //
// ProfileCore constructor // ProfileCore constructor
// //
PR_STATIC_CALLBACK(JSBool) PR_STATIC_CALLBACK(JSBool)
ProfileCore(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) ProfileCore(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{ {
nsresult result; nsresult result;
nsIID classID; nsIID classID;
nsIScriptContext* context = (nsIScriptContext*)JS_GetContextPrivate(cx); nsIScriptContext* context = (nsIScriptContext*)JS_GetContextPrivate(cx);
nsIScriptNameSpaceManager* manager; nsIScriptNameSpaceManager* manager;
nsIDOMProfileCore *nativeThis; nsIDOMProfileCore *nativeThis;
nsIScriptObjectOwner *owner = nsnull; nsIScriptObjectOwner *owner = nsnull;
nsIJSNativeInitializer* initializer = nsnull;
static NS_DEFINE_IID(kIDOMProfileCoreIID, NS_IDOMPROFILECORE_IID); static NS_DEFINE_IID(kIDOMProfileCoreIID, NS_IDOMPROFILECORE_IID);
static NS_DEFINE_IID(kIJSNativeInitializerIID, NS_IJSNATIVEINITIALIZER_IID);
result = context->GetNameSpaceManager(&manager); result = context->GetNameSpaceManager(&manager);
if (NS_OK != result) { if (NS_OK != result) {
return JS_FALSE; return JS_FALSE;
} }
result = manager->LookupName("ProfileCore", PR_TRUE, classID); result = manager->LookupName("ProfileCore", PR_TRUE, classID);
NS_RELEASE(manager); NS_RELEASE(manager);
if (NS_OK != result) { if (NS_OK != result) {
return JS_FALSE; return JS_FALSE;
} }
result = nsComponentManager::CreateInstance(classID, result = nsComponentManager::CreateInstance(classID,
nsnull, nsnull,
kIDOMProfileCoreIID, kIDOMProfileCoreIID,
(void **)&nativeThis); (void **)&nativeThis);
if (NS_OK != result) { if (NS_OK != result) {
return JS_FALSE; return JS_FALSE;
} }
result = nativeThis->QueryInterface(kIJSNativeInitializerIID, (void **)&initializer);
if (NS_OK == result) {
result = initializer->Initialize(cx, argc, argv);
NS_RELEASE(initializer);
if (NS_OK != result) {
// XXX We should be calling Init() on the instance NS_RELEASE(nativeThis);
return JS_FALSE;
}
}
result = nativeThis->QueryInterface(kIScriptObjectOwnerIID, (void **)&owner); result = nativeThis->QueryInterface(kIScriptObjectOwnerIID, (void **)&owner);
if (NS_OK != result) { if (NS_OK != result) {
NS_RELEASE(nativeThis); NS_RELEASE(nativeThis);
return JS_FALSE; return JS_FALSE;
} }
owner->SetScriptObject((void *)obj); owner->SetScriptObject((void *)obj);
JS_SetPrivate(cx, obj, nativeThis); JS_SetPrivate(cx, obj, nativeThis);
NS_RELEASE(owner); NS_RELEASE(owner);
return JS_TRUE; return JS_TRUE;
} }
// //
// ProfileCore class initialization // ProfileCore class initialization
// //
extern "C" NS_DOM nsresult NS_InitProfileCoreClass(nsIScriptContext *aContext, void **aPrototype) extern "C" NS_DOM nsresult NS_InitProfileCoreClass(nsIScriptContext *aContext, void **aPrototype)
{ {
JSContext *jscontext = (JSContext *)aContext->GetNativeContext(); JSContext *jscontext = (JSContext *)aContext->GetNativeContext();
JSObject *proto = nsnull; JSObject *proto = nsnull;
JSObject *constructor = nsnull; JSObject *constructor = nsnull;
JSObject *parent_proto = nsnull; JSObject *parent_proto = nsnull;
JSObject *global = JS_GetGlobalObject(jscontext); JSObject *global = JS_GetGlobalObject(jscontext);
jsval vp; jsval vp;
if ((PR_TRUE != JS_LookupProperty(jscontext, global, "ProfileCore", &vp)) || if ((PR_TRUE != JS_LookupProperty(jscontext, global, "ProfileCore", &vp)) ||
!JSVAL_IS_OBJECT(vp) || !JSVAL_IS_OBJECT(vp) ||
((constructor = JSVAL_TO_OBJECT(vp)) == nsnull) || ((constructor = JSVAL_TO_OBJECT(vp)) == nsnull) ||
(PR_TRUE != JS_LookupProperty(jscontext, JSVAL_TO_OBJECT(vp), "prototype", &vp)) || (PR_TRUE != JS_LookupProperty(jscontext, JSVAL_TO_OBJECT(vp), "prototype", &vp)) ||
!JSVAL_IS_OBJECT(vp)) { !JSVAL_IS_OBJECT(vp)) {
if (NS_OK != NS_InitBaseAppCoreClass(aContext, (void **)&parent_proto)) { if (NS_OK != NS_InitBaseAppCoreClass(aContext, (void **)&parent_proto)) {
return NS_ERROR_FAILURE; return NS_ERROR_FAILURE;
} }
proto = JS_InitClass(jscontext, // context proto = JS_InitClass(jscontext, // context
global, // global object global, // global object
parent_proto, // parent proto parent_proto, // parent proto
&ProfileCoreClass, // JSClass &ProfileCoreClass, // JSClass
ProfileCore, // JSNative ctor ProfileCore, // JSNative ctor
0, // ctor args 0, // ctor args
ProfileCoreProperties, // proto props ProfileCoreProperties, // proto props
ProfileCoreMethods, // proto funcs ProfileCoreMethods, // proto funcs
nsnull, // ctor props (static) nsnull, // ctor props (static)
nsnull); // ctor funcs (static) nsnull); // ctor funcs (static)
if (nsnull == proto) { if (nsnull == proto) {
return NS_ERROR_FAILURE; return NS_ERROR_FAILURE;
} }
} }
else if ((nsnull != constructor) && JSVAL_IS_OBJECT(vp)) { else if ((nsnull != constructor) && JSVAL_IS_OBJECT(vp)) {
proto = JSVAL_TO_OBJECT(vp); proto = JSVAL_TO_OBJECT(vp);
} }
else { else {
return NS_ERROR_FAILURE; return NS_ERROR_FAILURE;
} }
if (aPrototype) { if (aPrototype) {
*aPrototype = proto; *aPrototype = proto;
} }
return NS_OK; return NS_OK;
} }
// //
// Method for creating a new ProfileCore JavaScript object // Method for creating a new ProfileCore JavaScript object
// //
extern "C" NS_DOM nsresult NS_NewScriptProfileCore(nsIScriptContext *aContext, nsISupports *aSupports, nsISupports *aParent, void **aReturn) extern "C" NS_DOM nsresult NS_NewScriptProfileCore(nsIScriptContext *aContext, nsISupports *aSupports, nsISupports *aParent, void **aReturn)
{ {
NS_PRECONDITION(nsnull != aContext && nsnull != aSupports && nsnull != aReturn, "null argument to NS_NewScriptProfileCore"); NS_PRECONDITION(nsnull != aContext && nsnull != aSupports && nsnull != aReturn, "null argument to NS_NewScriptProfileCore");
JSObject *proto; JSObject *proto;
JSObject *parent; JSObject *parent;
nsIScriptObjectOwner *owner; nsIScriptObjectOwner *owner;
JSContext *jscontext = (JSContext *)aContext->GetNativeContext(); JSContext *jscontext = (JSContext *)aContext->GetNativeContext();
nsresult result = NS_OK; nsresult result = NS_OK;
nsIDOMProfileCore *aProfileCore; nsIDOMProfileCore *aProfileCore;
if (nsnull == aParent) { if (nsnull == aParent) {
parent = nsnull; parent = nsnull;
} }
else if (NS_OK == aParent->QueryInterface(kIScriptObjectOwnerIID, (void**)&owner)) { else if (NS_OK == aParent->QueryInterface(kIScriptObjectOwnerIID, (void**)&owner)) {
if (NS_OK != owner->GetScriptObject(aContext, (void **)&parent)) { if (NS_OK != owner->GetScriptObject(aContext, (void **)&parent)) {
NS_RELEASE(owner); NS_RELEASE(owner);
return NS_ERROR_FAILURE; return NS_ERROR_FAILURE;
} }
NS_RELEASE(owner); NS_RELEASE(owner);
} }
else { else {
return NS_ERROR_FAILURE; return NS_ERROR_FAILURE;
} }
if (NS_OK != NS_InitProfileCoreClass(aContext, (void **)&proto)) { if (NS_OK != NS_InitProfileCoreClass(aContext, (void **)&proto)) {
return NS_ERROR_FAILURE; return NS_ERROR_FAILURE;
} }
result = aSupports->QueryInterface(kIProfileCoreIID, (void **)&aProfileCore); result = aSupports->QueryInterface(kIProfileCoreIID, (void **)&aProfileCore);
if (NS_OK != result) { if (NS_OK != result) {
return result; return result;
} }
// create a js object for this class // create a js object for this class
*aReturn = JS_NewObject(jscontext, &ProfileCoreClass, proto, parent); *aReturn = JS_NewObject(jscontext, &ProfileCoreClass, proto, parent);
if (nsnull != *aReturn) { if (nsnull != *aReturn) {
// connect the native object to the js object // connect the native object to the js object
JS_SetPrivate(jscontext, (JSObject *)*aReturn, aProfileCore); JS_SetPrivate(jscontext, (JSObject *)*aReturn, aProfileCore);
} }
else { else {
NS_RELEASE(aProfileCore); NS_RELEASE(aProfileCore);
return NS_ERROR_FAILURE; return NS_ERROR_FAILURE;
} }
return NS_OK; return NS_OK;
} }