2001-09-29 00:14:13 +04:00
|
|
|
/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
2012-05-21 15:12:37 +04:00
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
1999-08-04 10:57:38 +04:00
|
|
|
|
|
|
|
/* nsISupports wrappers for single primitive pieces of data. */
|
|
|
|
|
|
|
|
#include "nsISupports.idl"
|
|
|
|
|
|
|
|
/**
|
2002-09-04 03:36:13 +04:00
|
|
|
* Primitive base interface.
|
|
|
|
*
|
1999-08-04 10:57:38 +04:00
|
|
|
* These first three are pointer types and do data copying
|
2002-09-04 03:36:13 +04:00
|
|
|
* using the nsIMemory. Be careful!
|
|
|
|
*/
|
1999-08-04 10:57:38 +04:00
|
|
|
|
2019-04-22 17:35:18 +03:00
|
|
|
[scriptable, builtinclass, uuid(d0d4b136-1dd1-11b2-9371-f0727ef827c0)]
|
2001-03-23 06:09:49 +03:00
|
|
|
interface nsISupportsPrimitive : nsISupports
|
|
|
|
{
|
2001-04-10 07:56:48 +04:00
|
|
|
const unsigned short TYPE_ID = 1;
|
2002-08-06 04:53:19 +04:00
|
|
|
const unsigned short TYPE_CSTRING = 2;
|
|
|
|
const unsigned short TYPE_STRING = 3;
|
2001-04-10 07:56:48 +04:00
|
|
|
const unsigned short TYPE_PRBOOL = 4;
|
|
|
|
const unsigned short TYPE_PRUINT8 = 5;
|
|
|
|
const unsigned short TYPE_PRUINT16 = 6;
|
|
|
|
const unsigned short TYPE_PRUINT32 = 7;
|
|
|
|
const unsigned short TYPE_PRUINT64 = 8;
|
|
|
|
const unsigned short TYPE_PRTIME = 9;
|
|
|
|
const unsigned short TYPE_CHAR = 10;
|
|
|
|
const unsigned short TYPE_PRINT16 = 11;
|
|
|
|
const unsigned short TYPE_PRINT32 = 12;
|
|
|
|
const unsigned short TYPE_PRINT64 = 13;
|
|
|
|
const unsigned short TYPE_FLOAT = 14;
|
|
|
|
const unsigned short TYPE_DOUBLE = 15;
|
2017-01-11 00:31:48 +03:00
|
|
|
// 16 was for TYPE_VOID
|
2001-04-10 07:56:48 +04:00
|
|
|
const unsigned short TYPE_INTERFACE_POINTER = 17;
|
2001-03-23 06:09:49 +03:00
|
|
|
|
|
|
|
readonly attribute unsigned short type;
|
|
|
|
};
|
|
|
|
|
2002-08-30 21:35:05 +04:00
|
|
|
/**
|
|
|
|
* Scriptable storage for nsID structures
|
|
|
|
*/
|
|
|
|
|
2019-04-22 17:35:18 +03:00
|
|
|
[scriptable, builtinclass, uuid(d18290a0-4a1c-11d3-9890-006008962422)]
|
2001-03-23 06:09:49 +03:00
|
|
|
interface nsISupportsID : nsISupportsPrimitive
|
1999-08-04 10:57:38 +04:00
|
|
|
{
|
|
|
|
attribute nsIDPtr data;
|
1999-08-06 13:42:12 +04:00
|
|
|
string toString();
|
1999-08-04 10:57:38 +04:00
|
|
|
};
|
|
|
|
|
2002-08-30 21:35:05 +04:00
|
|
|
/**
|
|
|
|
* Scriptable storage for ASCII strings
|
|
|
|
*/
|
|
|
|
|
2019-04-22 17:35:18 +03:00
|
|
|
[scriptable, builtinclass, uuid(d65ff270-4a1c-11d3-9890-006008962422)]
|
2002-08-06 04:53:19 +04:00
|
|
|
interface nsISupportsCString : nsISupportsPrimitive
|
1999-08-04 10:57:38 +04:00
|
|
|
{
|
2002-08-27 01:20:34 +04:00
|
|
|
attribute ACString data;
|
1999-08-06 13:42:12 +04:00
|
|
|
string toString();
|
1999-08-04 10:57:38 +04:00
|
|
|
};
|
|
|
|
|
2002-08-30 21:35:05 +04:00
|
|
|
/**
|
|
|
|
* Scriptable storage for Unicode strings
|
|
|
|
*/
|
|
|
|
|
2019-04-22 17:35:18 +03:00
|
|
|
[scriptable, builtinclass, uuid(d79dc970-4a1c-11d3-9890-006008962422)]
|
2002-08-06 04:53:19 +04:00
|
|
|
interface nsISupportsString : nsISupportsPrimitive
|
1999-08-04 10:57:38 +04:00
|
|
|
{
|
2002-08-27 01:20:34 +04:00
|
|
|
attribute AString data;
|
1999-08-06 13:42:12 +04:00
|
|
|
wstring toString();
|
1999-08-04 10:57:38 +04:00
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The rest are truly primitive and are passed by value
|
2019-04-22 17:35:18 +03:00
|
|
|
*/
|
1999-08-04 10:57:38 +04:00
|
|
|
|
2002-08-30 21:35:05 +04:00
|
|
|
/**
|
|
|
|
* Scriptable storage for booleans
|
|
|
|
*/
|
|
|
|
|
2019-04-22 17:35:18 +03:00
|
|
|
[scriptable, builtinclass, uuid(ddc3b490-4a1c-11d3-9890-006008962422)]
|
2001-03-23 06:09:49 +03:00
|
|
|
interface nsISupportsPRBool : nsISupportsPrimitive
|
1999-08-04 10:57:38 +04:00
|
|
|
{
|
2011-08-07 09:03:32 +04:00
|
|
|
attribute boolean data;
|
1999-08-06 13:42:12 +04:00
|
|
|
string toString();
|
1999-08-04 10:57:38 +04:00
|
|
|
};
|
|
|
|
|
2002-08-30 21:35:05 +04:00
|
|
|
/**
|
|
|
|
* Scriptable storage for 8-bit integers
|
|
|
|
*/
|
|
|
|
|
2019-04-22 17:35:18 +03:00
|
|
|
[scriptable, builtinclass, uuid(dec2e4e0-4a1c-11d3-9890-006008962422)]
|
2001-03-23 06:09:49 +03:00
|
|
|
interface nsISupportsPRUint8 : nsISupportsPrimitive
|
1999-08-04 10:57:38 +04:00
|
|
|
{
|
2012-08-22 19:56:38 +04:00
|
|
|
attribute uint8_t data;
|
1999-08-06 13:42:12 +04:00
|
|
|
string toString();
|
1999-08-04 10:57:38 +04:00
|
|
|
};
|
|
|
|
|
2002-08-30 21:35:05 +04:00
|
|
|
/**
|
|
|
|
* Scriptable storage for unsigned 16-bit integers
|
|
|
|
*/
|
|
|
|
|
2019-04-22 17:35:18 +03:00
|
|
|
[scriptable, builtinclass, uuid(dfacb090-4a1c-11d3-9890-006008962422)]
|
2001-03-23 06:09:49 +03:00
|
|
|
interface nsISupportsPRUint16 : nsISupportsPrimitive
|
1999-08-04 10:57:38 +04:00
|
|
|
{
|
2012-08-22 19:56:38 +04:00
|
|
|
attribute uint16_t data;
|
1999-08-06 13:42:12 +04:00
|
|
|
string toString();
|
1999-08-04 10:57:38 +04:00
|
|
|
};
|
|
|
|
|
2002-08-30 21:35:05 +04:00
|
|
|
/**
|
|
|
|
* Scriptable storage for unsigned 32-bit integers
|
|
|
|
*/
|
|
|
|
|
2019-04-22 17:35:18 +03:00
|
|
|
[scriptable, builtinclass, uuid(e01dc470-4a1c-11d3-9890-006008962422)]
|
2001-03-23 06:09:49 +03:00
|
|
|
interface nsISupportsPRUint32 : nsISupportsPrimitive
|
1999-08-04 10:57:38 +04:00
|
|
|
{
|
2012-08-22 19:56:38 +04:00
|
|
|
attribute uint32_t data;
|
1999-08-06 13:42:12 +04:00
|
|
|
string toString();
|
1999-08-04 10:57:38 +04:00
|
|
|
};
|
|
|
|
|
2002-08-30 21:35:05 +04:00
|
|
|
/**
|
|
|
|
* Scriptable storage for 64-bit integers
|
|
|
|
*/
|
|
|
|
|
2019-04-22 17:35:18 +03:00
|
|
|
[scriptable, builtinclass, uuid(e13567c0-4a1c-11d3-9890-006008962422)]
|
2001-03-23 06:09:49 +03:00
|
|
|
interface nsISupportsPRUint64 : nsISupportsPrimitive
|
1999-08-04 10:57:38 +04:00
|
|
|
{
|
2012-08-22 19:56:38 +04:00
|
|
|
attribute uint64_t data;
|
1999-08-06 13:42:12 +04:00
|
|
|
string toString();
|
1999-08-04 10:57:38 +04:00
|
|
|
};
|
|
|
|
|
2002-08-30 21:35:05 +04:00
|
|
|
/**
|
|
|
|
* Scriptable storage for NSPR date/time values
|
|
|
|
*/
|
|
|
|
|
2019-04-22 17:35:18 +03:00
|
|
|
[scriptable, builtinclass, uuid(e2563630-4a1c-11d3-9890-006008962422)]
|
2001-03-23 06:09:49 +03:00
|
|
|
interface nsISupportsPRTime : nsISupportsPrimitive
|
1999-08-04 10:57:38 +04:00
|
|
|
{
|
|
|
|
attribute PRTime data;
|
1999-08-06 13:42:12 +04:00
|
|
|
string toString();
|
1999-08-04 10:57:38 +04:00
|
|
|
};
|
|
|
|
|
2002-08-30 21:35:05 +04:00
|
|
|
/**
|
|
|
|
* Scriptable storage for single character values
|
|
|
|
* (often used to store an ASCII character)
|
|
|
|
*/
|
|
|
|
|
2019-04-22 17:35:18 +03:00
|
|
|
[scriptable, builtinclass, uuid(e2b05e40-4a1c-11d3-9890-006008962422)]
|
2001-03-23 06:09:49 +03:00
|
|
|
interface nsISupportsChar : nsISupportsPrimitive
|
1999-08-04 10:57:38 +04:00
|
|
|
{
|
|
|
|
attribute char data;
|
1999-08-06 13:42:12 +04:00
|
|
|
string toString();
|
1999-08-04 10:57:38 +04:00
|
|
|
};
|
|
|
|
|
2002-08-30 21:35:05 +04:00
|
|
|
/**
|
|
|
|
* Scriptable storage for 16-bit integers
|
|
|
|
*/
|
|
|
|
|
2019-04-22 17:35:18 +03:00
|
|
|
[scriptable, builtinclass, uuid(e30d94b0-4a1c-11d3-9890-006008962422)]
|
2001-03-23 06:09:49 +03:00
|
|
|
interface nsISupportsPRInt16 : nsISupportsPrimitive
|
1999-08-04 10:57:38 +04:00
|
|
|
{
|
2012-08-22 19:56:38 +04:00
|
|
|
attribute int16_t data;
|
1999-08-06 13:42:12 +04:00
|
|
|
string toString();
|
1999-08-04 10:57:38 +04:00
|
|
|
};
|
|
|
|
|
2002-08-30 21:35:05 +04:00
|
|
|
/**
|
|
|
|
* Scriptable storage for 32-bit integers
|
|
|
|
*/
|
|
|
|
|
2019-04-22 17:35:18 +03:00
|
|
|
[scriptable, builtinclass, uuid(e36c5250-4a1c-11d3-9890-006008962422)]
|
2001-03-23 06:09:49 +03:00
|
|
|
interface nsISupportsPRInt32 : nsISupportsPrimitive
|
1999-08-04 10:57:38 +04:00
|
|
|
{
|
2012-08-22 19:56:38 +04:00
|
|
|
attribute int32_t data;
|
1999-08-06 13:42:12 +04:00
|
|
|
string toString();
|
1999-08-04 10:57:38 +04:00
|
|
|
};
|
|
|
|
|
2002-08-30 21:35:05 +04:00
|
|
|
/**
|
|
|
|
* Scriptable storage for 64-bit integers
|
|
|
|
*/
|
|
|
|
|
2019-04-22 17:35:18 +03:00
|
|
|
[scriptable, builtinclass, uuid(e3cb0ff0-4a1c-11d3-9890-006008962422)]
|
2001-03-23 06:09:49 +03:00
|
|
|
interface nsISupportsPRInt64 : nsISupportsPrimitive
|
1999-08-04 10:57:38 +04:00
|
|
|
{
|
2012-08-22 19:56:38 +04:00
|
|
|
attribute int64_t data;
|
1999-08-06 13:42:12 +04:00
|
|
|
string toString();
|
|
|
|
};
|
|
|
|
|
2002-08-30 21:35:05 +04:00
|
|
|
/**
|
|
|
|
* Scriptable storage for floating point numbers
|
|
|
|
*/
|
|
|
|
|
2019-04-22 17:35:18 +03:00
|
|
|
[scriptable, builtinclass, uuid(abeaa390-4ac0-11d3-baea-00805f8a5dd7)]
|
2001-03-23 06:09:49 +03:00
|
|
|
interface nsISupportsFloat : nsISupportsPrimitive
|
1999-08-06 13:42:12 +04:00
|
|
|
{
|
|
|
|
attribute float data;
|
|
|
|
string toString();
|
|
|
|
};
|
|
|
|
|
2002-08-30 21:35:05 +04:00
|
|
|
/**
|
|
|
|
* Scriptable storage for doubles
|
|
|
|
*/
|
|
|
|
|
2019-04-22 17:35:18 +03:00
|
|
|
[scriptable, builtinclass, uuid(b32523a0-4ac0-11d3-baea-00805f8a5dd7)]
|
2001-03-23 06:09:49 +03:00
|
|
|
interface nsISupportsDouble : nsISupportsPrimitive
|
1999-08-06 13:42:12 +04:00
|
|
|
{
|
|
|
|
attribute double data;
|
|
|
|
string toString();
|
1999-08-04 10:57:38 +04:00
|
|
|
};
|
|
|
|
|
2002-08-30 21:35:05 +04:00
|
|
|
/**
|
|
|
|
* Scriptable storage for other XPCOM objects
|
|
|
|
*/
|
|
|
|
|
2019-04-22 17:35:18 +03:00
|
|
|
[scriptable, builtinclass, uuid(995ea724-1dd1-11b2-9211-c21bdd3e7ed0)]
|
2001-04-10 07:56:48 +04:00
|
|
|
interface nsISupportsInterfacePointer : nsISupportsPrimitive
|
|
|
|
{
|
|
|
|
attribute nsISupports data;
|
|
|
|
attribute nsIDPtr dataIID;
|
|
|
|
|
|
|
|
string toString();
|
|
|
|
};
|