PageRenderTime 142ms CodeModel.GetById 80ms app.highlight 3ms RepoModel.GetById 57ms app.codeStats 1ms

/gecko_sdk/idl/nsISupportsPrimitives.idl

http://firefox-mac-pdf.googlecode.com/
IDL | 304 lines | 126 code | 43 blank | 135 comment | 0 complexity | 33c0ae4b7b453ae6b7749290621c02a2 MD5 | raw file
  1/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
  2/* ***** BEGIN LICENSE BLOCK *****
  3 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
  4 *
  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/
  9 *
 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.
 14 *
 15 * The Original Code is mozilla.org code.
 16 *
 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.
 21 *
 22 * Contributor(s):
 23 *   Dan Rosen <dr@netscape.com>
 24 *
 25 * Alternatively, the contents of this file may be used under the terms of
 26 * either of the GNU General Public License Version 2 or later (the "GPL"),
 27 * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
 28 * in which case the provisions of the GPL or the LGPL are applicable instead
 29 * of those above. If you wish to allow use of your version of this file only
 30 * under the terms of either the GPL or the LGPL, and not to allow others to
 31 * use your version of this file under the terms of the MPL, indicate your
 32 * decision by deleting the provisions above and replace them with the notice
 33 * and other provisions required by the GPL or the LGPL. If you do not delete
 34 * the provisions above, a recipient may use your version of this file under
 35 * the terms of any one of the MPL, the GPL or the LGPL.
 36 *
 37 * ***** END LICENSE BLOCK ***** */
 38
 39/* nsISupports wrappers for single primitive pieces of data. */
 40
 41#include "nsISupports.idl"
 42
 43/**
 44 * Primitive base interface.
 45 *
 46 * These first three are pointer types and do data copying
 47 * using the nsIMemory. Be careful!
 48 *
 49 * @status FROZEN
 50 */
 51
 52[scriptable, uuid(d0d4b136-1dd1-11b2-9371-f0727ef827c0)]
 53interface nsISupportsPrimitive : nsISupports
 54{
 55    const unsigned short TYPE_ID                = 1;
 56    const unsigned short TYPE_CSTRING           = 2;
 57    const unsigned short TYPE_STRING            = 3;
 58    const unsigned short TYPE_PRBOOL            = 4;
 59    const unsigned short TYPE_PRUINT8           = 5;
 60    const unsigned short TYPE_PRUINT16          = 6;
 61    const unsigned short TYPE_PRUINT32          = 7;
 62    const unsigned short TYPE_PRUINT64          = 8;
 63    const unsigned short TYPE_PRTIME            = 9;
 64    const unsigned short TYPE_CHAR              = 10;
 65    const unsigned short TYPE_PRINT16           = 11;
 66    const unsigned short TYPE_PRINT32           = 12;
 67    const unsigned short TYPE_PRINT64           = 13;
 68    const unsigned short TYPE_FLOAT             = 14;
 69    const unsigned short TYPE_DOUBLE            = 15;
 70    const unsigned short TYPE_VOID              = 16;
 71    const unsigned short TYPE_INTERFACE_POINTER = 17;
 72
 73    readonly attribute unsigned short type;
 74};
 75
 76/**
 77 * Scriptable storage for nsID structures
 78 *
 79 * @status FROZEN
 80 */
 81
 82[scriptable, uuid(d18290a0-4a1c-11d3-9890-006008962422)]
 83interface nsISupportsID : nsISupportsPrimitive
 84{
 85    attribute nsIDPtr data;
 86    string toString();
 87};
 88
 89/**
 90 * Scriptable storage for ASCII strings
 91 * 
 92 * @status FROZEN
 93 */
 94
 95[scriptable, uuid(d65ff270-4a1c-11d3-9890-006008962422)]
 96interface nsISupportsCString : nsISupportsPrimitive
 97{
 98    attribute ACString data;
 99    string toString();
100};
101
102/**
103 * Scriptable storage for Unicode strings
104 * 
105 * @status FROZEN
106 */
107
108[scriptable, uuid(d79dc970-4a1c-11d3-9890-006008962422)]
109interface nsISupportsString : nsISupportsPrimitive
110{
111    attribute AString data;
112    wstring toString();
113};
114
115/**
116 * The rest are truly primitive and are passed by value
117 */ 
118
119/**
120 * Scriptable storage for booleans
121 * 
122 * @status FROZEN
123 */
124
125[scriptable, uuid(ddc3b490-4a1c-11d3-9890-006008962422)]
126interface nsISupportsPRBool : nsISupportsPrimitive
127{
128    attribute PRBool data;
129    string toString();
130};
131
132/**
133 * Scriptable storage for 8-bit integers
134 * 
135 * @status FROZEN
136 */
137
138[scriptable, uuid(dec2e4e0-4a1c-11d3-9890-006008962422)]
139interface nsISupportsPRUint8 : nsISupportsPrimitive
140{
141    attribute PRUint8 data;
142    string toString();
143};
144
145/**
146 * Scriptable storage for unsigned 16-bit integers
147 * 
148 * @status FROZEN
149 */
150
151[scriptable, uuid(dfacb090-4a1c-11d3-9890-006008962422)]
152interface nsISupportsPRUint16 : nsISupportsPrimitive
153{
154    attribute PRUint16 data;
155    string toString();
156};
157
158/**
159 * Scriptable storage for unsigned 32-bit integers
160 * 
161 * @status FROZEN
162 */
163
164[scriptable, uuid(e01dc470-4a1c-11d3-9890-006008962422)]
165interface nsISupportsPRUint32 : nsISupportsPrimitive
166{
167    attribute PRUint32 data;
168    string toString();
169};
170
171/**
172 * Scriptable storage for 64-bit integers
173 * 
174 * @status FROZEN
175 */
176
177[scriptable, uuid(e13567c0-4a1c-11d3-9890-006008962422)]
178interface nsISupportsPRUint64 : nsISupportsPrimitive
179{
180    attribute PRUint64 data;
181    string toString();
182};
183
184/**
185 * Scriptable storage for NSPR date/time values
186 * 
187 * @status FROZEN
188 */
189
190[scriptable, uuid(e2563630-4a1c-11d3-9890-006008962422)]
191interface nsISupportsPRTime : nsISupportsPrimitive
192{
193    attribute PRTime data;
194    string toString();
195};
196
197/**
198 * Scriptable storage for single character values
199 * (often used to store an ASCII character)
200 * 
201 * @status FROZEN
202 */
203
204[scriptable, uuid(e2b05e40-4a1c-11d3-9890-006008962422)]
205interface nsISupportsChar : nsISupportsPrimitive
206{
207    attribute char data;
208    string toString();
209};
210
211/**
212 * Scriptable storage for 16-bit integers
213 * 
214 * @status FROZEN
215 */
216
217[scriptable, uuid(e30d94b0-4a1c-11d3-9890-006008962422)]
218interface nsISupportsPRInt16 : nsISupportsPrimitive
219{
220    attribute PRInt16 data;
221    string toString();
222};
223
224/**
225 * Scriptable storage for 32-bit integers
226 * 
227 * @status FROZEN
228 */
229
230[scriptable, uuid(e36c5250-4a1c-11d3-9890-006008962422)]
231interface nsISupportsPRInt32 : nsISupportsPrimitive
232{
233    attribute PRInt32 data;
234    string toString();
235};
236
237/**
238 * Scriptable storage for 64-bit integers
239 * 
240 * @status FROZEN
241 */
242
243[scriptable, uuid(e3cb0ff0-4a1c-11d3-9890-006008962422)]
244interface nsISupportsPRInt64 : nsISupportsPrimitive
245{
246    attribute PRInt64 data;
247    string toString();
248};
249
250/**
251 * Scriptable storage for floating point numbers
252 * 
253 * @status FROZEN
254 */
255
256[scriptable, uuid(abeaa390-4ac0-11d3-baea-00805f8a5dd7)]
257interface nsISupportsFloat : nsISupportsPrimitive
258{
259    attribute float data;
260    string toString();
261};
262
263/**
264 * Scriptable storage for doubles
265 * 
266 * @status FROZEN
267 */
268
269[scriptable, uuid(b32523a0-4ac0-11d3-baea-00805f8a5dd7)]
270interface nsISupportsDouble : nsISupportsPrimitive
271{
272    attribute double data;
273    string toString();
274};
275
276/**
277 * Scriptable storage for generic pointers
278 * 
279 * @status FROZEN
280 */
281
282[scriptable, uuid(464484f0-568d-11d3-baf8-00805f8a5dd7)]
283interface nsISupportsVoid : nsISupportsPrimitive
284{
285    [noscript] attribute voidPtr data;
286    string toString();
287};
288
289/**
290 * Scriptable storage for other XPCOM objects
291 * 
292 * @status FROZEN
293 */
294
295[scriptable, uuid(995ea724-1dd1-11b2-9211-c21bdd3e7ed0)]
296interface nsISupportsInterfacePointer : nsISupportsPrimitive
297{
298    attribute nsISupports data;
299    attribute nsIDPtr dataIID;
300
301    string toString();
302};
303
304