/*
* DO NOT EDIT! This is a generated file.
*
* XPCOM IDL (XPIDL) definition for VirtualBox Main API (COM interfaces)
* generated from XIDL (XML interface definition).
*
* Source : src/VBox/Main/idl/VirtualBox.xidl
* Generator : src/VBox/Main/idl/xpidl.xsl
*/
#include "nsISupports.idl"
#include "nsIException.idl"
%{C++
/**
* For escaping compound expression so they don't cause trouble when -pedantic
* is used.
* @internal
*/
#if defined(__cplusplus) && defined(__GNUC__)
# define VBOX_GCC_EXTENSION __extension__
#endif
#ifndef VBOX_GCC_EXTENSION
# define VBOX_GCC_EXTENSION
#endif
%}
[ptr] native booleanPtr (PRBool);
[ptr] native octetPtr (PRUint8);
[ptr] native shortPtr (PRInt16);
[ptr] native ushortPtr (PRUint16);
[ptr] native longPtr (PRInt32);
[ptr] native llongPtr (PRInt64);
[ptr] native ulongPtr (PRUint32);
[ptr] native ullongPtr (PRUint64);
[ptr] native stringPtr (string);
[ptr] native wcharPtr (wchar);
[ptr] native wstringPtr (wstring);
%{C++
%}
%{C++
%}
@if attributes are not currently allowed because xpidl lacks
support for #ifdef and stuff.
#if
#endif
%{C++
%}
interface
;
[
uuid(),
scriptable
]
interface
:
nsISupports
nsISupports
nsIException
{
}; /* interface
*/
/* Interface implementation forwarder macro */
%{C++
#define COM_FORWARD_
_TO(smth) NS_FORWARD_
(smth)
#define COM_FORWARD_
_TO_OBJ(obj) COM_FORWARD_
_TO ((obj)->)
#define COM_FORWARD_
_TO_BASE(base) COM_FORWARD_
_TO (base::)
%}
[noscript]
void get
(
out unsigned long
Size,
[array, size_is(
Size), retval] out
);
void set
(
in unsigned long
Size,
[array, size_is(
Size)] in
);
readonly
attribute
;
#define COM_FORWARD_
_GETTER_
_TO(smth) NS_IMETHOD Get
(
PRUint32 * a
Size,
*
* a
) { return smth Get
(
a
Size,
a
); }
#define COM_FORWARD_
_GETTER_
_TO_OBJ(obj) COM_FORWARD_
_GETTER_
_TO ((obj)->)
#define COM_FORWARD_
_GETTER_
_TO_BASE(base) COM_FORWARD_
_GETTER_
_TO (base::)
#define COM_FORWARD_
_SETTER_
_TO(smth) NS_IMETHOD Set
(
PRUint32 a
Size,
const
*
a
) { return smth Set
(a
); }
#define COM_FORWARD_
_SETTER_
_TO_OBJ(obj) COM_FORWARD_
_SETTER_
_TO ((obj)->)
#define COM_FORWARD_
_SETTER_
_TO_BASE(base) COM_FORWARD_
_SETTER_
_TO (base::)
[noscript]
void
(
,
);
();
#define COM_FORWARD_
_
_TO(smth) NS_IMETHOD
(
,
) { return smth
(
a
Size+++,
a
,
a
Size,
a
); }
() { return smth
(); }
#define COM_FORWARD_
_
_TO_OBJ(obj) COM_FORWARD_
_
_TO ((obj)->)
#define COM_FORWARD_
_
_TO_BASE(base) COM_FORWARD_
_
_TO (base::)
%{C++
#define NS_
_CID { \
0x
, 0x
, 0x
, \
{ 0x
, 0x
, 0x
, 0x
, 0x
, 0x
, 0x
, 0x
} \
}
#define NS_
_CONTRACTID "@
/
;1"
// for compatibility with Win32
#define CLSID_
VBOX_GCC_EXTENSION (nsCID) NS_
_CID
%}
[
uuid(),
scriptable
]
interface
{
const PRUint32
=
;
};
%{C++
%}
%{C++
%}
in
out
out
in
unsigned long
Size,
[array, size_is(
Size)
] in
] out
, retval] out
] in
in
out
[retval] out
in
PRUint32
*
a
Size,
*
*
a
booleanPtr
octetPtr
shortPtr
ushortPtr
longPtr
llongPtr
ulongPtr
ullongPtr
attribute 'mod=
' cannot be used with type
wstring
attribute 'mod=
' cannot be used with type
of attribute 'mod' is invalid!
nsresult
boolean
octet
short
unsigned short
long
long long
unsigned long
unsigned long long
char
wchar
string
wstring
nsIDPtr
: Non-readonly uuid attributes are not supported!
nsIDRef
nsIDPtr
nsISupports
PRUint32
Unknown parameter type:
PRBool *
PRUint8 *
PRInt16 *
PRUint16 *
PRInt32 *
PRInt64 *
PRUint32 *
PRUint64 *
char *
attribute 'mod=
' cannot be used with type
PRUnichar *
attribute 'mod=
' cannot be used with type
nsresult
PRBool
PRUint8
PRInt16
PRUint16
PRInt32
PRInt64
PRUint32
PRUint64
char
PRUnichar
char *
PRUnichar *
nsID *
const nsID &
nsID *
nsISupports *
PRUint32
*