|
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
|
2 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
3 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
5 |
|
6 #ifndef nsProperties_h___ |
|
7 #define nsProperties_h___ |
|
8 |
|
9 #include "nsIProperties.h" |
|
10 #include "nsInterfaceHashtable.h" |
|
11 #include "nsHashKeys.h" |
|
12 #include "nsAgg.h" |
|
13 #include "mozilla/Attributes.h" |
|
14 |
|
15 #define NS_PROPERTIES_CID \ |
|
16 { /* 4de2bc90-b1bf-11d3-93b6-00104ba0fd40 */ \ |
|
17 0x4de2bc90, \ |
|
18 0xb1bf, \ |
|
19 0x11d3, \ |
|
20 {0x93, 0xb6, 0x00, 0x10, 0x4b, 0xa0, 0xfd, 0x40} \ |
|
21 } |
|
22 |
|
23 typedef nsInterfaceHashtable<nsCharPtrHashKey, nsISupports> |
|
24 nsProperties_HashBase; |
|
25 |
|
26 class nsProperties MOZ_FINAL : public nsIProperties, |
|
27 public nsProperties_HashBase { |
|
28 public: |
|
29 |
|
30 NS_DECL_AGGREGATED |
|
31 NS_DECL_NSIPROPERTIES |
|
32 |
|
33 nsProperties(nsISupports *aOuter) { NS_INIT_AGGREGATED(aOuter); } |
|
34 ~nsProperties() { } |
|
35 }; |
|
36 |
|
37 #endif /* nsProperties_h___ */ |