Bug 487345 - Crash [@ nsObjectLoadingContent::Instantiate] when enabling Flashblock...
[mozilla-1.9.git] / xpcom / build / nsXPCOMCID.h
blob26a4f2c36ad401d94f6e07541b0cbbbb796caf9a
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
13 * License.
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.
22 * Contributor(s):
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__
41 /**
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
47 * interfaces.
50 #define NS_DIRECTORY_SERVICE_CONTRACTID "@mozilla.org/file/directory_service;1"
52 /**
53 * XPCOM File
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"
64 /**
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"
74 /**
75 * XPCOM Properties Object Contract ID
76 * Simple mapping object which supports the nsIProperties interface.
78 #define NS_PROPERTIES_CONTRACTID "@mozilla.org/properties;1"
80 /**
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"
87 /**
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"
94 /**
95 * The following are the CIDs and Contract IDs of the nsISupports wrappers for
96 * primative types.
98 #define NS_SUPPORTS_ID_CID \
99 { 0xacf8dc40, 0x4a25, 0x11d3, \
100 { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } }
101 #define NS_SUPPORTS_ID_CONTRACTID "@mozilla.org/supports-id;1"
103 #define NS_SUPPORTS_CSTRING_CID \
104 { 0xacf8dc41, 0x4a25, 0x11d3, \
105 { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } }
106 #define NS_SUPPORTS_CSTRING_CONTRACTID "@mozilla.org/supports-cstring;1"
108 #define NS_SUPPORTS_STRING_CID \
109 { 0xacf8dc42, 0x4a25, 0x11d3, \
110 { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } }
111 #define NS_SUPPORTS_STRING_CONTRACTID "@mozilla.org/supports-string;1"
113 #define NS_SUPPORTS_PRBOOL_CID \
114 { 0xacf8dc43, 0x4a25, 0x11d3, \
115 { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } }
116 #define NS_SUPPORTS_PRBOOL_CONTRACTID "@mozilla.org/supports-PRBool;1"
118 #define NS_SUPPORTS_PRUINT8_CID \
119 { 0xacf8dc44, 0x4a25, 0x11d3, \
120 { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } }
121 #define NS_SUPPORTS_PRUINT8_CONTRACTID "@mozilla.org/supports-PRUint8;1"
123 #define NS_SUPPORTS_PRUINT16_CID \
124 { 0xacf8dc46, 0x4a25, 0x11d3, \
125 { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } }
126 #define NS_SUPPORTS_PRUINT16_CONTRACTID "@mozilla.org/supports-PRUint16;1"
128 #define NS_SUPPORTS_PRUINT32_CID \
129 { 0xacf8dc47, 0x4a25, 0x11d3, \
130 { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } }
131 #define NS_SUPPORTS_PRUINT32_CONTRACTID "@mozilla.org/supports-PRUint32;1"
133 #define NS_SUPPORTS_PRUINT64_CID \
134 { 0xacf8dc48, 0x4a25, 0x11d3, \
135 { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } }
136 #define NS_SUPPORTS_PRUINT64_CONTRACTID "@mozilla.org/supports-PRUint64;1"
138 #define NS_SUPPORTS_PRTIME_CID \
139 { 0xacf8dc49, 0x4a25, 0x11d3, \
140 { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } }
141 #define NS_SUPPORTS_PRTIME_CONTRACTID "@mozilla.org/supports-PRTime;1"
143 #define NS_SUPPORTS_CHAR_CID \
144 { 0xacf8dc4a, 0x4a25, 0x11d3, \
145 { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } }
146 #define NS_SUPPORTS_CHAR_CONTRACTID "@mozilla.org/supports-char;1"
148 #define NS_SUPPORTS_PRINT16_CID \
149 { 0xacf8dc4b, 0x4a25, 0x11d3, \
150 { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } }
151 #define NS_SUPPORTS_PRINT16_CONTRACTID "@mozilla.org/supports-PRInt16;1"
153 #define NS_SUPPORTS_PRINT32_CID \
154 { 0xacf8dc4c, 0x4a25, 0x11d3, \
155 { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } }
156 #define NS_SUPPORTS_PRINT32_CONTRACTID "@mozilla.org/supports-PRInt32;1"
158 #define NS_SUPPORTS_PRINT64_CID \
159 { 0xacf8dc4d, 0x4a25, 0x11d3, \
160 { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } }
161 #define NS_SUPPORTS_PRINT64_CONTRACTID "@mozilla.org/supports-PRInt64;1"
163 #define NS_SUPPORTS_FLOAT_CID \
164 { 0xcbf86870, 0x4ac0, 0x11d3, \
165 { 0xba, 0xea, 0x0, 0x80, 0x5f, 0x8a, 0x5d, 0xd7 } }
166 #define NS_SUPPORTS_FLOAT_CONTRACTID "@mozilla.org/supports-float;1"
168 #define NS_SUPPORTS_DOUBLE_CID \
169 { 0xcbf86871, 0x4ac0, 0x11d3, \
170 { 0xba, 0xea, 0x0, 0x80, 0x5f, 0x8a, 0x5d, 0xd7 } }
171 #define NS_SUPPORTS_DOUBLE_CONTRACTID "@mozilla.org/supports-double;1"
173 #define NS_SUPPORTS_VOID_CID \
174 { 0xaf10f3e0, 0x568d, 0x11d3, \
175 { 0xba, 0xf8, 0x0, 0x80, 0x5f, 0x8a, 0x5d, 0xd7 } }
176 #define NS_SUPPORTS_VOID_CONTRACTID "@mozilla.org/supports-void;1"
178 #define NS_SUPPORTS_INTERFACE_POINTER_CID \
179 { 0xA99FEBBA, 0x1DD1, 0x11B2, \
180 { 0xA9, 0x43, 0xB0, 0x23, 0x34, 0xA6, 0xD0, 0x83 } }
181 #define NS_SUPPORTS_INTERFACE_POINTER_CONTRACTID "@mozilla.org/supports-interface-pointer;1"
183 #endif