/* * 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/xpcidl.xsl */ #include "wchar.h" #include "prtypes.h" #define nsnull 0 typedef PRUint32 nsresult; #if defined(__GNUC__) && (__GNUC__ > 2) #define NS_LIKELY(x) (__builtin_expect((x), 1)) #define NS_UNLIKELY(x) (__builtin_expect((x), 0)) #else #define NS_LIKELY(x) (x) #define NS_UNLIKELY(x) (x) #endif #define NS_FAILED(_nsresult) (NS_UNLIKELY((_nsresult) & 0x80000000)) #define NS_SUCCEEDED(_nsresult) (NS_LIKELY(!((_nsresult) & 0x80000000))) /** * An "interface id" which can be used to uniquely identify a given * interface. * A "unique identifier". This is modeled after OSF DCE UUIDs. */ struct nsID { PRUint32 m0; PRUint16 m1; PRUint16 m2; PRUint8 m3[8]; }; typedef struct nsID nsID; typedef nsID nsIID; struct nsISupports; /* forward declaration */ struct nsIStackFrame; /* forward declaration */ struct nsIException; /* forward declaration */ typedef struct nsISupports nsISupports; /* forward declaration */ typedef struct nsIStackFrame nsIStackFrame; /* forward declaration */ typedef struct nsIException nsIException; /* forward declaration */ /** * IID for the nsISupports interface * {00000000-0000-0000-c000-000000000046} * * To maintain binary compatibility with COM's IUnknown, we define the IID * of nsISupports to be the same as that of COM's IUnknown. */ #define NS_ISUPPORTS_IID \ { 0x00000000, 0x0000, 0x0000, \ {0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} } /** * Reference count values * * This is the return type for AddRef() and Release() in nsISupports. * IUnknown of COM returns an unsigned long from equivalent functions. * The following ifdef exists to maintain binary compatibility with * IUnknown. */ /** * Basic component object model interface. Objects which implement * this interface support runtime interface discovery (QueryInterface) * and a reference counted memory model (AddRef/Release). This is * modelled after the win32 IUnknown API. */ struct nsISupports_vtbl { /** * @name Methods */ /** * A run time mechanism for interface discovery. * @param aIID [in] A requested interface IID * @param aInstancePtr [out] A pointer to an interface pointer to * receive the result. * @return NS_OK if the interface is supported by the associated * instance, NS_NOINTERFACE if it is not. * NS_ERROR_INVALID_POINTER if aInstancePtr is NULL. */ nsresult (*QueryInterface)(nsISupports *this_, const nsID *iid, void **resultp); /** * Increases the reference count for this interface. * The associated instance will not be deleted unless * the reference count is returned to zero. * * @return The resulting reference count. */ nsresult (*AddRef)(nsISupports *this_); /** * Decreases the reference count for this interface. * Generally, if the reference count returns to zero, * the associated instance is deleted. * * @return The resulting reference count. */ nsresult (*Release)(nsISupports *this_); }; struct nsISupports { struct nsISupports_vtbl *vtbl; }; /* starting interface: nsIException */ #define NS_IEXCEPTION_IID_STR "f3a8d3b4-c424-4edc-8bf6-8974c983ba78" #define NS_IEXCEPTION_IID \ {0xf3a8d3b4, 0xc424, 0x4edc, \ { 0x8b, 0xf6, 0x89, 0x74, 0xc9, 0x83, 0xba, 0x78 }} struct nsIException_vtbl { /* Methods from the Class nsISupports */ struct nsISupports_vtbl nsisupports; /* readonly attribute string message; */ nsresult (*GetMessage)(nsIException *this_, PRUnichar * *aMessage); /* readonly attribute nsresult (*result; */ nsresult (*GetResult)(nsIException *this_, nsresult *aResult); /* readonly attribute string name; */ nsresult (*GetName)(nsIException *this_, PRUnichar * *aName); /* readonly attribute string filename; */ nsresult (*GetFilename)(nsIException *this_, PRUnichar * *aFilename); /* readonly attribute PRUint32 lineNumber; */ nsresult (*GetLineNumber)(nsIException *this_, PRUint32 *aLineNumber); /* readonly attribute PRUint32 columnNumber; */ nsresult (*GetColumnNumber)(nsIException *this_, PRUint32 *aColumnNumber); /* readonly attribute nsIStackFrame location; */ nsresult (*GetLocation)(nsIException *this_, nsIStackFrame * *aLocation); /* readonly attribute nsIException inner; */ nsresult (*GetInner)(nsIException *this_, nsIException * *aInner); /* readonly attribute nsISupports data; */ nsresult (*GetData)(nsIException *this_, nsISupports * *aData); /* string toString (); */ nsresult (*ToString)(nsIException *this_, PRUnichar **_retval); }; struct nsIException { struct nsIException_vtbl *vtbl; }; /* starting interface: nsIStackFrame */ #define NS_ISTACKFRAME_IID_STR "91d82105-7c62-4f8b-9779-154277c0ee90" #define NS_ISTACKFRAME_IID \ {0x91d82105, 0x7c62, 0x4f8b, \ { 0x97, 0x79, 0x15, 0x42, 0x77, 0xc0, 0xee, 0x90 }} struct nsIStackFrame_vtbl { /* Methods from the Class nsISupports */ struct nsISupports_vtbl nsisupports; /* readonly attribute PRUint32 language; */ nsresult (*GetLanguage)(nsIStackFrame *this_, PRUint32 *aLanguage); /* readonly attribute string languageName; */ nsresult (*GetLanguageName)(nsIStackFrame *this_, PRUnichar * *aLanguageName); /* readonly attribute string filename; */ nsresult (*GetFilename)(nsIStackFrame *this_, PRUnichar * *aFilename); /* readonly attribute string name; */ nsresult (*GetName)(nsIStackFrame *this_, PRUnichar * *aName); /* readonly attribute PRInt32 lineNumber; */ nsresult (*GetLineNumber)(nsIStackFrame *this_, PRInt32 *aLineNumber); /* readonly attribute string sourceLine; */ nsresult (*GetSourceLine)(nsIStackFrame *this_, PRUnichar * *aSourceLine); /* readonly attribute nsIStackFrame caller; */ nsresult (*GetCaller)(nsIStackFrame *this_, nsIStackFrame * *aCaller); /* string toString (); */ nsresult (*ToString)(nsIStackFrame *this_, PRUnichar **_retval); }; struct nsIStackFrame { struct nsIStackFrame_vtbl *vtbl; }; @if attributes are not currently allowed because xpidl lacks support for #ifdef and stuff. #if #endif struct ; typedef struct ; /* Start of struct Declaration */ #define #define _IID { \ 0x , 0x , 0x , \ { 0x , 0x , 0x , 0x , 0x , 0x , 0x , 0x } \ } struct _vtbl { struct nsISupports_vtbl nsisupports; struct nsISupports_vtbl nsisupports; struct nsIException_vtbl nsiexception; struct _vtbl ; }; struct { struct _vtbl *vtbl; }; /* End of struct Declaration */ 'array' attributes are not supported, use 'safearray="yes"' instead. nsresult (*Get )( *this_, PRUint32 * Size, ** ); nsresult set ( in unsigned long Size, [array, size_is( Size)] in ); nsresult (*Get )( *this_, * ); nsresult (*Get )( *this_, * ); nsresult (*Set )( *this_, ); #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::) nsresult (* )( *this_, , ); )( *this_ ); #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::) #define NS_ _CID { \ 0x , 0x , 0x , \ { 0x , 0x , 0x , 0x , 0x , 0x , 0x , 0x } \ } #define NS_ _CONTRACTID "@ / ;1" /* for compatibility with Win32 */ #define CLSID_ (nsCID) NS_ _CID /* Start of struct Declaration */ #define #define _IID { \ 0x , 0x , 0x , \ { 0x , 0x , 0x , 0x , 0x , 0x , 0x , 0x } \ } struct _vtbl { struct nsISupports_vtbl nsisupports; nsresult (*HasMore)( *this_, PRBool *more); nsresult (*GetNext)( *this_, *next); }; struct { struct _vtbl *vtbl; }; /* End of struct Declaration */ non-readonly collections are not currently supported /* Start of struct Declaration */ #define #define _IID { \ 0x , 0x , 0x , \ { 0x , 0x , 0x , 0x , 0x , 0x , 0x , 0x } \ } struct _vtbl { struct nsISupports_vtbl nsisupports; nsresult (*GetCount)( *this_, PRUint32 *aCount); nsresult (*GetItemAt)( *this_, PRUint32 index, **item); nsresult (*Enumerate)( *this_, **enumerator); }; struct { struct _vtbl *vtbl; }; /* End of struct Declaration */ /* Start of enum Declaration */ #define #define _IID { \ 0x , 0x , 0x , \ { 0x , 0x , 0x , 0x , 0x , 0x , 0x , 0x } \ } enum { _ = , }; /* End of enum Declaration */ PRUint32 Size, PRUint32 * Size, PRUint32 * Size, PRUint32 Size, * * * ** * return 'array' parameters are not supported, use 'safearray="yes"' instead. [array, must have the same direction size_is( ) array attribute refers to non-existent param: ] * * PRUint32 * a Size, * * a either 'array' or 'safearray="yes"' attribute is allowed, but not both! booleanPtr octetPtr shortPtr ushortPtr longPtr llongPtr ulongPtr ullongPtr charPtr wcharPtr 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 * PRUnichar * nsresult PRBool PRUint8 PRInt16 PRUint16 PRInt32 PRInt64 PRUint32 PRUint64 char PRUnichar char * PRUnichar * nsID * const nsID * nsID * nsISupports * PRUint32 *