зеркало из https://github.com/mozilla/gecko-dev.git
Fixed bug 13835. InstallTrigger.GetVersion()
This commit is contained in:
Родитель
9c72b9dfb5
Коммит
d67bf77f01
|
@ -23,4 +23,5 @@ interface InstallTriggerGlobal
|
||||||
|
|
||||||
long CompareVersion( in wstring regName, in wstring version );
|
long CompareVersion( in wstring regName, in wstring version );
|
||||||
|
|
||||||
|
wstring GetVersion( in wstring component );
|
||||||
};
|
};
|
|
@ -15,7 +15,6 @@
|
||||||
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||||
* Reserved.
|
* Reserved.
|
||||||
*/
|
*/
|
||||||
/* AUTO-GENERATED. DO NOT EDIT!!! */
|
|
||||||
|
|
||||||
#ifndef nsIDOMInstallTriggerGlobal_h__
|
#ifndef nsIDOMInstallTriggerGlobal_h__
|
||||||
#define nsIDOMInstallTriggerGlobal_h__
|
#define nsIDOMInstallTriggerGlobal_h__
|
||||||
|
@ -57,6 +56,9 @@ public:
|
||||||
NS_IMETHOD CompareVersion(const nsString& aRegName, PRInt32 aMajor, PRInt32 aMinor, PRInt32 aRelease, PRInt32 aBuild, PRInt32* aReturn)=0;
|
NS_IMETHOD CompareVersion(const nsString& aRegName, PRInt32 aMajor, PRInt32 aMinor, PRInt32 aRelease, PRInt32 aBuild, PRInt32* aReturn)=0;
|
||||||
NS_IMETHOD CompareVersion(const nsString& aRegName, const nsString& aVersion, PRInt32* aReturn)=0;
|
NS_IMETHOD CompareVersion(const nsString& aRegName, const nsString& aVersion, PRInt32* aReturn)=0;
|
||||||
NS_IMETHOD CompareVersion(const nsString& aRegName, nsIDOMInstallVersion* aVersion, PRInt32* aReturn)=0;
|
NS_IMETHOD CompareVersion(const nsString& aRegName, nsIDOMInstallVersion* aVersion, PRInt32* aReturn)=0;
|
||||||
|
|
||||||
|
NS_IMETHOD GetVersion(const nsString& component, nsString& version)=0;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -74,6 +76,7 @@ public:
|
||||||
NS_IMETHOD CompareVersion(const nsString& aRegName, PRInt32 aMajor, PRInt32 aMinor, PRInt32 aRelease, PRInt32 aBuild, PRInt32* aReturn); \
|
NS_IMETHOD CompareVersion(const nsString& aRegName, PRInt32 aMajor, PRInt32 aMinor, PRInt32 aRelease, PRInt32 aBuild, PRInt32* aReturn); \
|
||||||
NS_IMETHOD CompareVersion(const nsString& aRegName, const nsString& aVersion, PRInt32* aReturn); \
|
NS_IMETHOD CompareVersion(const nsString& aRegName, const nsString& aVersion, PRInt32* aReturn); \
|
||||||
NS_IMETHOD CompareVersion(const nsString& aRegName, nsIDOMInstallVersion* aVersion, PRInt32* aReturn); \
|
NS_IMETHOD CompareVersion(const nsString& aRegName, nsIDOMInstallVersion* aVersion, PRInt32* aReturn); \
|
||||||
|
NS_IMETHOD GetVersion(const nsString& component, nsString& version); \
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -91,6 +94,7 @@ public:
|
||||||
NS_IMETHOD CompareVersion(const nsString& aRegName, PRInt32 aMajor, PRInt32 aMinor, PRInt32 aRelease, PRInt32 aBuild, PRInt32* aReturn) { return _to##CompareVersion(aRegName, aMajor, aMinor, aRelease, aBuild, aReturn); } \
|
NS_IMETHOD CompareVersion(const nsString& aRegName, PRInt32 aMajor, PRInt32 aMinor, PRInt32 aRelease, PRInt32 aBuild, PRInt32* aReturn) { return _to##CompareVersion(aRegName, aMajor, aMinor, aRelease, aBuild, aReturn); } \
|
||||||
NS_IMETHOD CompareVersion(const nsString& aRegName, const nsString& aVersion, PRInt32* aReturn) { return _to##CompareVersion(aRegName, aVersion, aReturn); } \
|
NS_IMETHOD CompareVersion(const nsString& aRegName, const nsString& aVersion, PRInt32* aReturn) { return _to##CompareVersion(aRegName, aVersion, aReturn); } \
|
||||||
NS_IMETHOD CompareVersion(const nsString& aRegName, nsIDOMInstallVersion* aVersion, PRInt32* aReturn) { return _to##CompareVersion(aRegName, aVersion, aReturn); } \
|
NS_IMETHOD CompareVersion(const nsString& aRegName, nsIDOMInstallVersion* aVersion, PRInt32* aReturn) { return _to##CompareVersion(aRegName, aVersion, aReturn); } \
|
||||||
|
NS_IMETHOD GetVersion(const nsString& component, nsString& version); { return _to##GetVersion(component, version); } \
|
||||||
|
|
||||||
|
|
||||||
extern nsresult NS_InitInstallTriggerGlobalClass(nsIScriptContext *aContext, void **aPrototype);
|
extern nsresult NS_InitInstallTriggerGlobalClass(nsIScriptContext *aContext, void **aPrototype);
|
||||||
|
|
|
@ -395,6 +395,43 @@ nsInstallTrigger::CompareVersion(const nsString& aRegName, nsIDOMInstallVersion*
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NS_IMETHODIMP
|
||||||
|
nsInstallTrigger::GetVersion(const nsString& component, nsString& version)
|
||||||
|
{
|
||||||
|
PRBool enabled;
|
||||||
|
|
||||||
|
UpdateEnabled(&enabled);
|
||||||
|
if (!enabled)
|
||||||
|
return NS_OK;
|
||||||
|
|
||||||
|
VERSION cVersion;
|
||||||
|
char* tempCString;
|
||||||
|
REGERR status;
|
||||||
|
|
||||||
|
tempCString = component.ToNewCString();
|
||||||
|
|
||||||
|
status = VR_GetVersion( tempCString, &cVersion );
|
||||||
|
|
||||||
|
version.SetString("");
|
||||||
|
|
||||||
|
/* if we got the version */
|
||||||
|
if ( status == REGERR_OK && VR_ValidateComponent( tempCString ) == REGERR_OK)
|
||||||
|
{
|
||||||
|
nsInstallVersion regNameVersion;
|
||||||
|
|
||||||
|
regNameVersion.Init(cVersion.major,
|
||||||
|
cVersion.minor,
|
||||||
|
cVersion.release,
|
||||||
|
cVersion.build);
|
||||||
|
|
||||||
|
regNameVersion.ToString(version);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (tempCString)
|
||||||
|
delete [] tempCString;
|
||||||
|
|
||||||
|
return NS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// this will take a nsIURI, and create a temporary file. If it is local, we just us it.
|
// this will take a nsIURI, and create a temporary file. If it is local, we just us it.
|
||||||
|
|
|
@ -42,6 +42,7 @@ class nsInstallTrigger: public nsIScriptObjectOwner, public nsIDOMInstallTrigger
|
||||||
NS_IMETHOD CompareVersion(const nsString& aRegName, PRInt32 aMajor, PRInt32 aMinor, PRInt32 aRelease, PRInt32 aBuild, PRInt32* aReturn);
|
NS_IMETHOD CompareVersion(const nsString& aRegName, PRInt32 aMajor, PRInt32 aMinor, PRInt32 aRelease, PRInt32 aBuild, PRInt32* aReturn);
|
||||||
NS_IMETHOD CompareVersion(const nsString& aRegName, const nsString& aVersion, PRInt32* aReturn);
|
NS_IMETHOD CompareVersion(const nsString& aRegName, const nsString& aVersion, PRInt32* aReturn);
|
||||||
NS_IMETHOD CompareVersion(const nsString& aRegName, nsIDOMInstallVersion* aVersion, PRInt32* aReturn);
|
NS_IMETHOD CompareVersion(const nsString& aRegName, nsIDOMInstallVersion* aVersion, PRInt32* aReturn);
|
||||||
|
NS_IMETHOD GetVersion(const nsString& component, nsString& version);
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -488,6 +488,37 @@ InstallTriggerGlobalCompareVersion(JSContext *cx, JSObject *obj, uintN argc, jsv
|
||||||
return JS_TRUE;
|
return JS_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// Native method GetVersion
|
||||||
|
//
|
||||||
|
PR_STATIC_CALLBACK(JSBool)
|
||||||
|
InstallTriggerGlobalGetVersion(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
|
||||||
|
{
|
||||||
|
nsIDOMInstallTriggerGlobal *nativeThis = (nsIDOMInstallTriggerGlobal*)JS_GetPrivate(cx, obj);
|
||||||
|
|
||||||
|
nsAutoString regname;
|
||||||
|
nsAutoString version;
|
||||||
|
|
||||||
|
*rval = JSVAL_NULL;
|
||||||
|
|
||||||
|
if (nsnull == nativeThis && (JS_FALSE == CreateNativeObject(cx, obj, &nativeThis)) )
|
||||||
|
return JS_FALSE;
|
||||||
|
|
||||||
|
// get the registry name argument
|
||||||
|
ConvertJSValToStr(regname, cx, argv[0]);
|
||||||
|
|
||||||
|
if(NS_OK != nativeThis->GetVersion(regname, version))
|
||||||
|
{
|
||||||
|
return JS_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(version.Equals(""))
|
||||||
|
*rval = JSVAL_NULL;
|
||||||
|
else
|
||||||
|
ConvertStrToJSVal(version, cx, rval);
|
||||||
|
|
||||||
|
return JS_TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/***********************************************************************/
|
/***********************************************************************/
|
||||||
//
|
//
|
||||||
|
@ -516,6 +547,7 @@ static JSFunctionSpec InstallTriggerGlobalMethods[] =
|
||||||
{"StartSoftwareUpdate", InstallTriggerGlobalStartSoftwareUpdate, 2},
|
{"StartSoftwareUpdate", InstallTriggerGlobalStartSoftwareUpdate, 2},
|
||||||
{"ConditionalSoftwareUpdate", InstallTriggerGlobalConditionalSoftwareUpdate, 5},
|
{"ConditionalSoftwareUpdate", InstallTriggerGlobalConditionalSoftwareUpdate, 5},
|
||||||
{"CompareVersion", InstallTriggerGlobalCompareVersion, 5},
|
{"CompareVersion", InstallTriggerGlobalCompareVersion, 5},
|
||||||
|
{"GetVersion", InstallTriggerGlobalGetVersion, 2},
|
||||||
{0}
|
{0}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче