2009-04-17 16:09:07 +00:00
|
|
|
/** @file vbox_XPCOMCGlue.h
|
|
|
|
* Glue for dynamically linking with VBoxXPCOMC.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Copyright (C) 2008-2009 Sun Microsystems, Inc.
|
|
|
|
*
|
|
|
|
* This file is part of a free software library; you can redistribute
|
|
|
|
* it and/or modify it under the terms of the GNU Lesser General
|
|
|
|
* Public License version 2.1 as published by the Free Software
|
2013-05-15 20:30:23 +00:00
|
|
|
* Foundation and shipped in the "COPYING.LESSER" file with this library.
|
2009-04-17 16:09:07 +00:00
|
|
|
* The library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY of any kind.
|
|
|
|
*
|
|
|
|
* Sun LGPL Disclaimer: For the avoidance of doubt, except that if
|
|
|
|
* any license choice other than GPL or LGPL is available it will
|
|
|
|
* apply instead, Sun elects to use only the Lesser General Public
|
|
|
|
* License version 2.1 (LGPLv2) at this time for any software where
|
|
|
|
* a choice of LGPL license versions is made available with the
|
|
|
|
* language indicating that LGPLv2 or any later version may be used,
|
|
|
|
* or where a choice of which version of the LGPL is applied is
|
|
|
|
* otherwise unspecified.
|
|
|
|
*
|
|
|
|
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
|
|
|
|
* Clara, CA 95054 USA or visit http://www.sun.com if you need
|
|
|
|
* additional information or have any questions.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef ___VBoxXPCOMC_cglue_h
|
2010-03-09 18:22:22 +00:00
|
|
|
# define ___VBoxXPCOMC_cglue_h
|
2009-04-17 16:09:07 +00:00
|
|
|
|
2009-05-06 13:23:44 +00:00
|
|
|
/* This has to be the oldest version we support. */
|
2020-04-17 11:03:50 +00:00
|
|
|
# include "vbox_CAPI_v5_2.h"
|
2009-04-17 16:09:07 +00:00
|
|
|
|
|
|
|
/** Pointer to VBoxGetXPCOMCFunctions for the loaded VBoxXPCOMC so/dylib/dll. */
|
|
|
|
extern PFNVBOXGETXPCOMCFUNCTIONS g_pfnGetFunctions;
|
|
|
|
|
2010-12-14 22:07:57 +00:00
|
|
|
int VBoxCGlueInit(unsigned int *version);
|
2009-04-17 16:09:07 +00:00
|
|
|
void VBoxCGlueTerm(void);
|
|
|
|
|
2010-12-16 22:05:48 +00:00
|
|
|
typedef struct _vboxArray vboxArray;
|
|
|
|
|
|
|
|
struct _vboxArray {
|
|
|
|
void **items;
|
|
|
|
size_t count;
|
|
|
|
};
|
|
|
|
|
|
|
|
# define VBOX_ARRAY_INITIALIZER { NULL, 0 }
|
|
|
|
|
|
|
|
nsresult vboxArrayGet(vboxArray *array, void *self, void *getter);
|
2010-12-27 22:35:30 +00:00
|
|
|
nsresult vboxArrayGetWithPtrArg(vboxArray *array, void *self, void *getter, void *arg);
|
|
|
|
nsresult vboxArrayGetWithUintArg(vboxArray *array, void *self, void *getter, PRUint32 arg);
|
2010-12-16 22:05:48 +00:00
|
|
|
void vboxArrayRelease(vboxArray *array);
|
|
|
|
void vboxArrayUnalloc(vboxArray *array);
|
|
|
|
|
2009-04-17 16:09:07 +00:00
|
|
|
#endif
|