1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4  * License, v. 2.0. If a copy of the MPL was not distributed with this
5  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 
7 #ifndef nsXPCOMCID_h__
8 #define nsXPCOMCID_h__
9 
10 /**
11  * XPCOM Directory Service Contract ID
12  *   The directory service provides ways to obtain file system locations. The
13  *   directory service is a singleton.
14  *
15  *   This contract supports the nsIDirectoryService and the nsIProperties
16  *   interfaces.
17  *
18  */
19 #define NS_DIRECTORY_SERVICE_CONTRACTID "@mozilla.org/file/directory_service;1"
20 
21 /**
22  * XPCOM File
23  *   The file abstraction provides ways to obtain and access files and
24  *   directories located on the local system.
25  *
26  *   This contract supports the nsIFile interface.
27  *   This contract may also support platform specific interfaces such as
28  *   nsILocalFileMac on platforms where additional interfaces are required.
29  *
30  */
31 #define NS_LOCAL_FILE_CONTRACTID "@mozilla.org/file/local;1"
32 
33 /**
34  * XPCOM Category Manager Contract ID
35  *   The contract supports the nsICategoryManager interface. The
36  *   category manager is a singleton.
37  * The "enumerateCategory" method of nsICategoryManager will return an object
38  * that implements nsIUTF8StringEnumerator. In addition, the enumerator will
39  * return the entries in sorted order (sorted by byte comparison).
40  */
41 #define NS_CATEGORYMANAGER_CONTRACTID "@mozilla.org/categorymanager;1"
42 
43 /**
44  * XPCOM Properties Object Contract ID
45  *   Simple mapping object which supports the nsIProperties interface.
46  */
47 #define NS_PROPERTIES_CONTRACTID "@mozilla.org/properties;1"
48 
49 /**
50  * XPCOM Array Object ContractID
51  * Simple array implementation which supports the nsIArray and
52  * nsIMutableArray interfaces.
53  */
54 #define NS_ARRAY_CONTRACTID "@mozilla.org/array;1"
55 
56 /**
57  * Observer Service ContractID
58  * The observer service implements the global nsIObserverService object.
59  * It should be used from the main thread only.
60  */
61 #define NS_OBSERVERSERVICE_CONTRACTID "@mozilla.org/observer-service;1"
62 
63 /**
64  * IO utilities service contract id.
65  * This guarantees implementation of nsIIOUtil.  Usable from any thread.
66  */
67 #define NS_IOUTIL_CONTRACTID "@mozilla.org/io-util;1"
68 
69 /**
70  * Memory reporter service CID
71  */
72 #define NS_MEMORY_REPORTER_MANAGER_CONTRACTID \
73   "@mozilla.org/memory-reporter-manager;1"
74 
75 /**
76  * Memory info dumper service CID
77  */
78 #define NS_MEMORY_INFO_DUMPER_CONTRACTID "@mozilla.org/memory-info-dumper;1"
79 
80 /**
81  * nsMessageLoop contract id
82  */
83 #define NS_MESSAGE_LOOP_CONTRACTID "@mozilla.org/message-loop;1"
84 
85 #define NS_COMPARTMENT_INFO_CONTRACTID "@mozilla.org/compartment-info;1"
86 
87 /**
88  * The following are the CIDs and Contract IDs of the nsISupports wrappers for
89  * primative types.
90  */
91 #define NS_SUPPORTS_ID_CID                         \
92   {                                                \
93     0xacf8dc40, 0x4a25, 0x11d3, {                  \
94       0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 \
95     }                                              \
96   }
97 #define NS_SUPPORTS_ID_CONTRACTID "@mozilla.org/supports-id;1"
98 
99 #define NS_SUPPORTS_CSTRING_CID                    \
100   {                                                \
101     0xacf8dc41, 0x4a25, 0x11d3, {                  \
102       0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 \
103     }                                              \
104   }
105 #define NS_SUPPORTS_CSTRING_CONTRACTID "@mozilla.org/supports-cstring;1"
106 
107 #define NS_SUPPORTS_STRING_CID                     \
108   {                                                \
109     0xacf8dc42, 0x4a25, 0x11d3, {                  \
110       0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 \
111     }                                              \
112   }
113 #define NS_SUPPORTS_STRING_CONTRACTID "@mozilla.org/supports-string;1"
114 
115 #define NS_SUPPORTS_PRBOOL_CID                     \
116   {                                                \
117     0xacf8dc43, 0x4a25, 0x11d3, {                  \
118       0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 \
119     }                                              \
120   }
121 #define NS_SUPPORTS_PRBOOL_CONTRACTID "@mozilla.org/supports-PRBool;1"
122 
123 #define NS_SUPPORTS_PRUINT8_CID                    \
124   {                                                \
125     0xacf8dc44, 0x4a25, 0x11d3, {                  \
126       0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 \
127     }                                              \
128   }
129 #define NS_SUPPORTS_PRUINT8_CONTRACTID "@mozilla.org/supports-PRUint8;1"
130 
131 #define NS_SUPPORTS_PRUINT16_CID                   \
132   {                                                \
133     0xacf8dc46, 0x4a25, 0x11d3, {                  \
134       0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 \
135     }                                              \
136   }
137 #define NS_SUPPORTS_PRUINT16_CONTRACTID "@mozilla.org/supports-PRUint16;1"
138 
139 #define NS_SUPPORTS_PRUINT32_CID                   \
140   {                                                \
141     0xacf8dc47, 0x4a25, 0x11d3, {                  \
142       0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 \
143     }                                              \
144   }
145 #define NS_SUPPORTS_PRUINT32_CONTRACTID "@mozilla.org/supports-PRUint32;1"
146 
147 #define NS_SUPPORTS_PRUINT64_CID                   \
148   {                                                \
149     0xacf8dc48, 0x4a25, 0x11d3, {                  \
150       0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 \
151     }                                              \
152   }
153 #define NS_SUPPORTS_PRUINT64_CONTRACTID "@mozilla.org/supports-PRUint64;1"
154 
155 #define NS_SUPPORTS_PRTIME_CID                     \
156   {                                                \
157     0xacf8dc49, 0x4a25, 0x11d3, {                  \
158       0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 \
159     }                                              \
160   }
161 #define NS_SUPPORTS_PRTIME_CONTRACTID "@mozilla.org/supports-PRTime;1"
162 
163 #define NS_SUPPORTS_CHAR_CID                       \
164   {                                                \
165     0xacf8dc4a, 0x4a25, 0x11d3, {                  \
166       0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 \
167     }                                              \
168   }
169 #define NS_SUPPORTS_CHAR_CONTRACTID "@mozilla.org/supports-char;1"
170 
171 #define NS_SUPPORTS_PRINT16_CID                    \
172   {                                                \
173     0xacf8dc4b, 0x4a25, 0x11d3, {                  \
174       0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 \
175     }                                              \
176   }
177 #define NS_SUPPORTS_PRINT16_CONTRACTID "@mozilla.org/supports-PRInt16;1"
178 
179 #define NS_SUPPORTS_PRINT32_CID                    \
180   {                                                \
181     0xacf8dc4c, 0x4a25, 0x11d3, {                  \
182       0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 \
183     }                                              \
184   }
185 #define NS_SUPPORTS_PRINT32_CONTRACTID "@mozilla.org/supports-PRInt32;1"
186 
187 #define NS_SUPPORTS_PRINT64_CID                    \
188   {                                                \
189     0xacf8dc4d, 0x4a25, 0x11d3, {                  \
190       0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 \
191     }                                              \
192   }
193 #define NS_SUPPORTS_PRINT64_CONTRACTID "@mozilla.org/supports-PRInt64;1"
194 
195 #define NS_SUPPORTS_FLOAT_CID                       \
196   {                                                 \
197     0xcbf86870, 0x4ac0, 0x11d3, {                   \
198       0xba, 0xea, 0x0, 0x80, 0x5f, 0x8a, 0x5d, 0xd7 \
199     }                                               \
200   }
201 #define NS_SUPPORTS_FLOAT_CONTRACTID "@mozilla.org/supports-float;1"
202 
203 #define NS_SUPPORTS_DOUBLE_CID                      \
204   {                                                 \
205     0xcbf86871, 0x4ac0, 0x11d3, {                   \
206       0xba, 0xea, 0x0, 0x80, 0x5f, 0x8a, 0x5d, 0xd7 \
207     }                                               \
208   }
209 #define NS_SUPPORTS_DOUBLE_CONTRACTID "@mozilla.org/supports-double;1"
210 
211 #define NS_SUPPORTS_INTERFACE_POINTER_CID            \
212   {                                                  \
213     0xA99FEBBA, 0x1DD1, 0x11B2, {                    \
214       0xA9, 0x43, 0xB0, 0x23, 0x34, 0xA6, 0xD0, 0x83 \
215     }                                                \
216   }
217 #define NS_SUPPORTS_INTERFACE_POINTER_CONTRACTID \
218   "@mozilla.org/supports-interface-pointer;1"
219 
220 #endif
221