/*
* 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"
[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++
#ifndef VBOX_EXTERN_C
# ifdef __cplusplus
# define VBOX_EXTERN_C extern "C"
# else // !__cplusplus
# define VBOX_EXTERN_C extern
# endif // !__cplusplus
#endif // !VBOX_EXTERN_C
// result codes declared in API spec
%}
interface
;
[
uuid(),
scriptable
]
interface
:
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::)
// for compatibility with Win32
VBOX_EXTERN_C const nsID IID_
;
%}
[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++
// Definitions for module
, class
:
#define NS_
_CID { \
0x
, 0x
, 0x
, \
{ 0x
, 0x
, 0x
, 0x
, 0x
, 0x
, 0x
, 0x
} \
}
#define NS_
_CONTRACTID "@
/
;1"
// for compatibility with Win32
VBOX_EXTERN_C const nsCID CLSID_
;
%}
[
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
*