mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-19 15:51:33 +00:00
Bug 659913 part.2 Implement AddObservers and RemoveObservers r=roc
This commit is contained in:
parent
5e271dcc08
commit
8e93a5852c
@ -193,6 +193,17 @@ public:
|
|||||||
static nsresult AddWeakObserver(nsIObserver* aObserver, const char* aPref);
|
static nsresult AddWeakObserver(nsIObserver* aObserver, const char* aPref);
|
||||||
static nsresult RemoveObserver(nsIObserver* aObserver, const char* aPref);
|
static nsresult RemoveObserver(nsIObserver* aObserver, const char* aPref);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds/Removes two or more observers for the root pref branch.
|
||||||
|
* Pass to aPrefs an array of const char* whose last item is NULL.
|
||||||
|
*/
|
||||||
|
static nsresult AddStrongObservers(nsIObserver* aObserver,
|
||||||
|
const char** aPrefs);
|
||||||
|
static nsresult AddWeakObservers(nsIObserver* aObserver,
|
||||||
|
const char** aPrefs);
|
||||||
|
static nsresult RemoveObservers(nsIObserver* aObserver,
|
||||||
|
const char** aPrefs);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
nsresult NotifyServiceObservers(const char *aSubject);
|
nsresult NotifyServiceObservers(const char *aSubject);
|
||||||
nsresult UseDefaultPrefFile();
|
nsresult UseDefaultPrefFile();
|
||||||
|
@ -1197,4 +1197,40 @@ Preferences::RemoveObserver(nsIObserver* aObserver,
|
|||||||
return sPreferences->mRootBranch->RemoveObserver(aPref, aObserver);
|
return sPreferences->mRootBranch->RemoveObserver(aPref, aObserver);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// static
|
||||||
|
nsresult
|
||||||
|
Preferences::AddStrongObservers(nsIObserver* aObserver,
|
||||||
|
const char** aPrefs)
|
||||||
|
{
|
||||||
|
for (PRUint32 i = 0; aPrefs[i]; i++) {
|
||||||
|
nsresult rv = AddStrongObserver(aObserver, aPrefs[i]);
|
||||||
|
NS_ENSURE_SUCCESS(rv, rv);
|
||||||
|
}
|
||||||
|
return NS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
// static
|
||||||
|
nsresult
|
||||||
|
Preferences::AddWeakObservers(nsIObserver* aObserver,
|
||||||
|
const char** aPrefs)
|
||||||
|
{
|
||||||
|
for (PRUint32 i = 0; aPrefs[i]; i++) {
|
||||||
|
nsresult rv = AddWeakObserver(aObserver, aPrefs[i]);
|
||||||
|
NS_ENSURE_SUCCESS(rv, rv);
|
||||||
|
}
|
||||||
|
return NS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
// static
|
||||||
|
nsresult
|
||||||
|
Preferences::RemoveObservers(nsIObserver* aObserver,
|
||||||
|
const char** aPrefs)
|
||||||
|
{
|
||||||
|
for (PRUint32 i = 0; aPrefs[i]; i++) {
|
||||||
|
nsresult rv = RemoveObserver(aObserver, aPrefs[i]);
|
||||||
|
NS_ENSURE_SUCCESS(rv, rv);
|
||||||
|
}
|
||||||
|
return NS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace mozilla
|
} // namespace mozilla
|
||||||
|
Loading…
x
Reference in New Issue
Block a user