- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 100 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
- : 91 %
Source code
Revision control
Copy as Markdown
Other Tools
/* 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/. */
#ifndef mozilla_widget_GSettings_h
#define mozilla_widget_GSettings_h
#include "nsStringFwd.h"
#include "mozilla/RefPtr.h"
#include "mozilla/Maybe.h"
#include "nsTArrayForwardDeclare.h"
using GSettings = struct _GSettings;
using GVariant = struct _GVariant;
namespace mozilla::widget::GSettings {
class Collection {
public:
explicit Collection(const nsCString& aSchema);
~Collection();
explicit operator bool() const { return !!mSettings; }
Collection(const Collection&) = delete;
bool SetString(const nsCString& aKey, const nsCString& aValue);
bool GetString(const nsCString& aKey, nsACString& aResult) const;
bool GetStringList(const nsCString& aKey, nsTArray<nsCString>& aResult) const;
Maybe<bool> GetBoolean(const nsCString&) const;
Maybe<int32_t> GetInt(const nsCString&) const;
private:
RefPtr<GVariant> GetValue(const nsCString&) const;
bool HasKey(const nsCString&) const;
RefPtr<::GSettings> mSettings;
char** mKeys = nullptr;
};
inline bool GetString(const nsCString& aSchema, const nsCString& aKey,
nsACString& aResult) {
Collection collection(aSchema);
return collection && collection.GetString(aKey, aResult);
}
inline Maybe<bool> GetBoolean(const nsCString& aSchema, const nsCString& aKey) {
Collection collection(aSchema);
if (!collection) {
return {};
}
return collection.GetBoolean(aKey);
}
inline Maybe<int32_t> GetInt(const nsCString& aSchema, const nsCString& aKey) {
Collection collection(aSchema);
if (!collection) {
return {};
}
return collection.GetInt(aKey);
}
} // namespace mozilla::widget::GSettings
#endif