1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /* ***** BEGIN LICENSE BLOCK *****
3 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
5 * The contents of this file are subject to the Mozilla Public License Version
6 * 1.1 (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 * http://www.mozilla.org/MPL/
10 * Software distributed under the License is distributed on an "AS IS" basis,
11 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12 * for the specific language governing rights and limitations under the
15 * The Original Code is mozilla.org code.
17 * The Initial Developer of the Original Code is
18 * Netscape Communications Corporation.
19 * Portions created by the Initial Developer are Copyright (C) 1998
20 * the Initial Developer. All Rights Reserved.
24 * Alternatively, the contents of this file may be used under the terms of
25 * either of the GNU General Public License Version 2 or later (the "GPL"),
26 * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
27 * in which case the provisions of the GPL or the LGPL are applicable instead
28 * of those above. If you wish to allow use of your version of this file only
29 * under the terms of either the GPL or the LGPL, and not to allow others to
30 * use your version of this file under the terms of the MPL, indicate your
31 * decision by deleting the provisions above and replace them with the notice
32 * and other provisions required by the GPL or the LGPL. If you do not delete
33 * the provisions above, a recipient may use your version of this file under
34 * the terms of any one of the MPL, the GPL or the LGPL.
36 * ***** END LICENSE BLOCK ***** */
38 #ifndef nsXPCOMCID_h__
39 #define nsXPCOMCID_h__
42 * XPCOM Directory Service Contract ID
43 * The directory service provides ways to obtain file system locations. The
44 * directory service is a singleton.
46 * This contract supports the nsIDirectoryService and the nsIProperties
50 #define NS_DIRECTORY_SERVICE_CONTRACTID "@mozilla.org/file/directory_service;1"
54 * The file abstraction provides ways to obtain and access files and
55 * directories located on the local system.
57 * This contract supports the nsIFile interface and the nsILocalFile interface.
58 * This contract may also support platform specific interfaces such as
59 * nsILocalFileMac on platforms where additional interfaces are required.
62 #define NS_LOCAL_FILE_CONTRACTID "@mozilla.org/file/local;1"
65 * XPCOM Category Manager Contract ID
66 * The contract supports the nsICategoryManager interface. The
67 * category manager is a singleton.
68 * The "enumerateCategory" method of nsICategoryManager will return an object
69 * that implements nsIUTF8StringEnumerator. In addition, the enumerator will
70 * return the entries in sorted order (sorted by byte comparison).
72 #define NS_CATEGORYMANAGER_CONTRACTID "@mozilla.org/categorymanager;1"
75 * XPCOM Properties Object Contract ID
76 * Simple mapping object which supports the nsIProperties interface.
78 #define NS_PROPERTIES_CONTRACTID "@mozilla.org/properties;1"
81 * XPCOM Array Object ContractID
82 * Simple array implementation which supports the nsIArray and
83 * nsIMutableArray interfaces.
85 #define NS_ARRAY_CONTRACTID "@mozilla.org/array;1"
88 * Observer Service ContractID
89 * The observer service implements the global nsIObserverService object.
90 * It should be used from the main thread only.
92 #define NS_OBSERVERSERVICE_CONTRACTID "@mozilla.org/observer-service;1"
95 * IO utilities service contract id.
96 * This guarantees implementation of nsIIOUtil. Usable from any thread.
98 #define NS_IOUTIL_CONTRACTID "@mozilla.org/io-util;1"
101 * Memory reporter service CID
103 #define NS_MEMORY_REPORTER_MANAGER_CONTRACTID "@mozilla.org/memory-reporter-manager;1"
106 * Cycle collector logger contract id
108 #define NS_CYCLE_COLLECTOR_LOGGER_CONTRACTID "@mozilla.org/cycle-collector-logger;1"
111 * The following are the CIDs and Contract IDs of the nsISupports wrappers for
114 #define NS_SUPPORTS_ID_CID \
115 { 0xacf8dc40, 0x4a25, 0x11d3, \
116 { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } }
117 #define NS_SUPPORTS_ID_CONTRACTID "@mozilla.org/supports-id;1"
119 #define NS_SUPPORTS_CSTRING_CID \
120 { 0xacf8dc41, 0x4a25, 0x11d3, \
121 { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } }
122 #define NS_SUPPORTS_CSTRING_CONTRACTID "@mozilla.org/supports-cstring;1"
124 #define NS_SUPPORTS_STRING_CID \
125 { 0xacf8dc42, 0x4a25, 0x11d3, \
126 { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } }
127 #define NS_SUPPORTS_STRING_CONTRACTID "@mozilla.org/supports-string;1"
129 #define NS_SUPPORTS_PRBOOL_CID \
130 { 0xacf8dc43, 0x4a25, 0x11d3, \
131 { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } }
132 #define NS_SUPPORTS_PRBOOL_CONTRACTID "@mozilla.org/supports-PRBool;1"
134 #define NS_SUPPORTS_PRUINT8_CID \
135 { 0xacf8dc44, 0x4a25, 0x11d3, \
136 { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } }
137 #define NS_SUPPORTS_PRUINT8_CONTRACTID "@mozilla.org/supports-PRUint8;1"
139 #define NS_SUPPORTS_PRUINT16_CID \
140 { 0xacf8dc46, 0x4a25, 0x11d3, \
141 { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } }
142 #define NS_SUPPORTS_PRUINT16_CONTRACTID "@mozilla.org/supports-PRUint16;1"
144 #define NS_SUPPORTS_PRUINT32_CID \
145 { 0xacf8dc47, 0x4a25, 0x11d3, \
146 { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } }
147 #define NS_SUPPORTS_PRUINT32_CONTRACTID "@mozilla.org/supports-PRUint32;1"
149 #define NS_SUPPORTS_PRUINT64_CID \
150 { 0xacf8dc48, 0x4a25, 0x11d3, \
151 { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } }
152 #define NS_SUPPORTS_PRUINT64_CONTRACTID "@mozilla.org/supports-PRUint64;1"
154 #define NS_SUPPORTS_PRTIME_CID \
155 { 0xacf8dc49, 0x4a25, 0x11d3, \
156 { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } }
157 #define NS_SUPPORTS_PRTIME_CONTRACTID "@mozilla.org/supports-PRTime;1"
159 #define NS_SUPPORTS_CHAR_CID \
160 { 0xacf8dc4a, 0x4a25, 0x11d3, \
161 { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } }
162 #define NS_SUPPORTS_CHAR_CONTRACTID "@mozilla.org/supports-char;1"
164 #define NS_SUPPORTS_PRINT16_CID \
165 { 0xacf8dc4b, 0x4a25, 0x11d3, \
166 { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } }
167 #define NS_SUPPORTS_PRINT16_CONTRACTID "@mozilla.org/supports-PRInt16;1"
169 #define NS_SUPPORTS_PRINT32_CID \
170 { 0xacf8dc4c, 0x4a25, 0x11d3, \
171 { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } }
172 #define NS_SUPPORTS_PRINT32_CONTRACTID "@mozilla.org/supports-PRInt32;1"
174 #define NS_SUPPORTS_PRINT64_CID \
175 { 0xacf8dc4d, 0x4a25, 0x11d3, \
176 { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } }
177 #define NS_SUPPORTS_PRINT64_CONTRACTID "@mozilla.org/supports-PRInt64;1"
179 #define NS_SUPPORTS_FLOAT_CID \
180 { 0xcbf86870, 0x4ac0, 0x11d3, \
181 { 0xba, 0xea, 0x0, 0x80, 0x5f, 0x8a, 0x5d, 0xd7 } }
182 #define NS_SUPPORTS_FLOAT_CONTRACTID "@mozilla.org/supports-float;1"
184 #define NS_SUPPORTS_DOUBLE_CID \
185 { 0xcbf86871, 0x4ac0, 0x11d3, \
186 { 0xba, 0xea, 0x0, 0x80, 0x5f, 0x8a, 0x5d, 0xd7 } }
187 #define NS_SUPPORTS_DOUBLE_CONTRACTID "@mozilla.org/supports-double;1"
189 #define NS_SUPPORTS_VOID_CID \
190 { 0xaf10f3e0, 0x568d, 0x11d3, \
191 { 0xba, 0xf8, 0x0, 0x80, 0x5f, 0x8a, 0x5d, 0xd7 } }
192 #define NS_SUPPORTS_VOID_CONTRACTID "@mozilla.org/supports-void;1"
194 #define NS_SUPPORTS_INTERFACE_POINTER_CID \
195 { 0xA99FEBBA, 0x1DD1, 0x11B2, \
196 { 0xA9, 0x43, 0xB0, 0x23, 0x34, 0xA6, 0xD0, 0x83 } }
197 #define NS_SUPPORTS_INTERFACE_POINTER_CONTRACTID "@mozilla.org/supports-interface-pointer;1"