1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 /* nsIVariant based Property Bag support. */
7 #include
"nsIPropertyBag.idl"
9 [scriptable
, uuid(625cfd1e
-da1e
-4417
-9ee9
-dbc8e0b3fd79
)]
10 interface nsIPropertyBag2
: nsIPropertyBag
12 // Accessing a property as a different type may attempt conversion to the
15 int32_t getPropertyAsInt32
(in AString prop
);
16 uint32_t getPropertyAsUint32
(in AString prop
);
17 int64_t getPropertyAsInt64
(in AString prop
);
18 uint64_t getPropertyAsUint64
(in AString prop
);
19 double getPropertyAsDouble
(in AString prop
);
20 AString getPropertyAsAString
(in AString prop
);
21 ACString getPropertyAsACString
(in AString prop
);
22 AUTF8String getPropertyAsAUTF8String
(in AString prop
);
23 boolean getPropertyAsBool
(in AString prop
);
26 * This method returns null if the value exists, but is null.
28 void getPropertyAsInterface
(in AString prop
,
30 [iid_is(iid
), retval] out nsQIResult result
);
33 * This method returns null if the value does not exist,
34 * or exists but is null.
36 nsIVariant get
(in AString prop
);
39 * Check for the existence of a key.
41 boolean hasKey
(in AString prop
);