/work/obj-fuzz/dist/include/nsIPropertyBag.h
Line | Count | Source (jump to first uncovered line) |
1 | | /* |
2 | | * DO NOT EDIT. THIS FILE IS GENERATED FROM /src/mozilla-central/xpcom/ds/nsIPropertyBag.idl |
3 | | */ |
4 | | |
5 | | #ifndef __gen_nsIPropertyBag_h__ |
6 | | #define __gen_nsIPropertyBag_h__ |
7 | | |
8 | | |
9 | | #ifndef __gen_nsISupports_h__ |
10 | | #include "nsISupports.h" |
11 | | #endif |
12 | | |
13 | | #include "js/GCAnnotations.h" |
14 | | |
15 | | /* For IDL files that don't want to include root IDL files. */ |
16 | | #ifndef NS_NO_VTABLE |
17 | | #define NS_NO_VTABLE |
18 | | #endif |
19 | | class nsIVariant; /* forward declaration */ |
20 | | |
21 | | class nsISimpleEnumerator; /* forward declaration */ |
22 | | |
23 | | |
24 | | /* starting interface: nsIPropertyBag */ |
25 | | #define NS_IPROPERTYBAG_IID_STR "bfcd37b0-a49f-11d5-910d-0010a4e73d9a" |
26 | | |
27 | | #define NS_IPROPERTYBAG_IID \ |
28 | | {0xbfcd37b0, 0xa49f, 0x11d5, \ |
29 | | { 0x91, 0x0d, 0x00, 0x10, 0xa4, 0xe7, 0x3d, 0x9a }} |
30 | | |
31 | | class NS_NO_VTABLE nsIPropertyBag : public nsISupports { |
32 | | public: |
33 | | |
34 | | NS_DECLARE_STATIC_IID_ACCESSOR(NS_IPROPERTYBAG_IID) |
35 | | |
36 | | /* readonly attribute nsISimpleEnumerator enumerator; */ |
37 | | JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetEnumerator(nsISimpleEnumerator **aEnumerator) = 0; |
38 | | |
39 | | /* nsIVariant getProperty (in AString name); */ |
40 | | JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetProperty(const nsAString& name, nsIVariant **_retval) = 0; |
41 | | |
42 | | }; |
43 | | |
44 | | NS_DEFINE_STATIC_IID_ACCESSOR(nsIPropertyBag, NS_IPROPERTYBAG_IID) |
45 | | |
46 | | /* Use this macro when declaring classes that implement this interface. */ |
47 | | #define NS_DECL_NSIPROPERTYBAG \ |
48 | | NS_IMETHOD GetEnumerator(nsISimpleEnumerator **aEnumerator) override; \ |
49 | | NS_IMETHOD GetProperty(const nsAString& name, nsIVariant **_retval) override; |
50 | | |
51 | | /* Use this macro when declaring the members of this interface when the |
52 | | class doesn't implement the interface. This is useful for forwarding. */ |
53 | | #define NS_DECL_NON_VIRTUAL_NSIPROPERTYBAG \ |
54 | | nsresult GetEnumerator(nsISimpleEnumerator **aEnumerator); \ |
55 | | nsresult GetProperty(const nsAString& name, nsIVariant **_retval); |
56 | | |
57 | | /* Use this macro to declare functions that forward the behavior of this interface to another object. */ |
58 | | #define NS_FORWARD_NSIPROPERTYBAG(_to) \ |
59 | | NS_IMETHOD GetEnumerator(nsISimpleEnumerator **aEnumerator) override { return _to GetEnumerator(aEnumerator); } \ |
60 | | NS_IMETHOD GetProperty(const nsAString& name, nsIVariant **_retval) override { return _to GetProperty(name, _retval); } |
61 | | |
62 | | /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */ |
63 | | #define NS_FORWARD_SAFE_NSIPROPERTYBAG(_to) \ |
64 | 0 | NS_IMETHOD GetEnumerator(nsISimpleEnumerator **aEnumerator) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetEnumerator(aEnumerator); } \ |
65 | 0 | NS_IMETHOD GetProperty(const nsAString& name, nsIVariant **_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetProperty(name, _retval); } |
66 | | |
67 | | |
68 | | #endif /* __gen_nsIPropertyBag_h__ */ |