diff -r 000000000000 -r 6474c204b198 modules/libpref/src/prefapi_private_data.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/modules/libpref/src/prefapi_private_data.h Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,49 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/* Data shared between prefapi.c and nsPref.cpp */ + +#ifndef prefapi_private_data_h +#define prefapi_private_data_h + +#include "mozilla/MemoryReporting.h" + +extern PLDHashTable gHashTable; +extern bool gDirty; + +namespace mozilla { +namespace dom { +class PrefSetting; +} +} + +enum pref_SaveTypes { SAVE_NONSHARED, SAVE_SHARED, SAVE_ALL, SAVE_ALL_AND_DEFAULTS }; + +// Passed as the arg to pref_savePref +struct pref_saveArgs { + char **prefArray; + pref_SaveTypes saveTypes; +}; + +PLDHashOperator +pref_savePref(PLDHashTable *table, PLDHashEntryHdr *heh, uint32_t i, void *arg); + +PLDHashOperator +pref_GetPrefs(PLDHashTable *table, + PLDHashEntryHdr *heh, uint32_t i, void *arg); + +nsresult +pref_SetPref(const mozilla::dom::PrefSetting& aPref); + +int pref_CompareStrings(const void *v1, const void *v2, void* unused); +PrefHashEntry* pref_HashTableLookup(const void *key); + +void pref_GetPrefFromEntry(PrefHashEntry *aHashEntry, + mozilla::dom::PrefSetting* aPref); + +size_t +pref_SizeOfPrivateData(mozilla::MallocSizeOf aMallocSizeOf); + +#endif