mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 375449 - NS_InvokeByIndex not exported from xpcom, only from xpcom_core, r=dbaron
This commit is contained in:
parent
4a5890e58f
commit
bc865ae32f
@ -57,6 +57,10 @@ CPPSRCS = nsJavaXPCOMGlue.cpp
|
||||
|
||||
DEFINES += -DXPCOM_GLUE
|
||||
|
||||
REQUIRES += \
|
||||
xpcom \
|
||||
$(NULL)
|
||||
|
||||
LOCAL_INCLUDES = -I$(JAVA_INCLUDE_PATH)
|
||||
|
||||
ifeq ($(OS_ARCH),WINNT)
|
||||
|
@ -42,6 +42,7 @@
|
||||
#include "nscore.h"
|
||||
#include "nsXPCOM.h"
|
||||
#include "nsXPCOMStrings.h"
|
||||
#include "xptcall.h"
|
||||
|
||||
class nsStringContainer;
|
||||
class nsCStringContainer;
|
||||
@ -110,6 +111,10 @@ typedef void (* LogReleaseFunc)(void*, nsrefcnt, const char*);
|
||||
typedef void (* LogCtorFunc)(void*, const char*, PRUint32);
|
||||
typedef void (* LogCOMPtrFunc)(void*, nsISupports*);
|
||||
|
||||
typedef nsresult (* GetXPTCallStubFunc)(REFNSIID, nsIXPTCProxy*, nsISomeInterface**);
|
||||
typedef void (* DestroyXPTCallStubFunc)(nsISomeInterface*);
|
||||
typedef nsresult (* InvokeByIndexFunc)(nsISupports*, PRUint32, PRUint32, nsXPTCVariant*);
|
||||
|
||||
// PRIVATE AND DEPRECATED
|
||||
typedef NS_CALLBACK(XPCOMExitRoutine)(void);
|
||||
|
||||
@ -174,6 +179,9 @@ typedef struct XPCOMFunctions{
|
||||
LogCtorFunc logDtorFunc;
|
||||
LogCOMPtrFunc logCOMPtrAddRefFunc;
|
||||
LogCOMPtrFunc logCOMPtrReleaseFunc;
|
||||
GetXPTCallStubFunc getXPTCallStubFunc;
|
||||
DestroyXPTCallStubFunc destroyXPTCallStubFunc;
|
||||
InvokeByIndexFunc invokeByIndexFunc;
|
||||
|
||||
} XPCOMFunctions;
|
||||
|
||||
|
@ -491,6 +491,33 @@ NS_LogCOMPtrRelease(void *aCOMPtr, nsISupports *aObject)
|
||||
xpcomFunctions.logCOMPtrReleaseFunc(aCOMPtr, aObject);
|
||||
}
|
||||
|
||||
XPCOM_API(nsresult)
|
||||
NS_GetXPTCallStub(REFNSIID aIID, nsIXPTCProxy* aOuter,
|
||||
nsISomeInterface* *aStub)
|
||||
{
|
||||
if (!xpcomFunctions.getXPTCallStubFunc)
|
||||
return NS_ERROR_NOT_INITIALIZED;
|
||||
|
||||
return xpcomFunctions.getXPTCallStubFunc(aIID, aOuter, aStub);
|
||||
}
|
||||
|
||||
XPCOM_API(void)
|
||||
NS_DestroyXPTCallStub(nsISomeInterface* aStub)
|
||||
{
|
||||
if (xpcomFunctions.destroyXPTCallStubFunc)
|
||||
xpcomFunctions.destroyXPTCallStubFunc(aStub);
|
||||
}
|
||||
|
||||
XPCOM_API(nsresult)
|
||||
NS_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
|
||||
PRUint32 paramCount, nsXPTCVariant* params)
|
||||
{
|
||||
if (!xpcomFunctions.invokeByIndexFunc)
|
||||
return NS_ERROR_NOT_INITIALIZED;
|
||||
|
||||
return xpcomFunctions.invokeByIndexFunc(that, methodIndex,
|
||||
paramCount, params);
|
||||
}
|
||||
|
||||
// Default GRE startup/shutdown code
|
||||
|
||||
|
@ -41,6 +41,12 @@
|
||||
#ifndef xptcall_h___
|
||||
#define xptcall_h___
|
||||
|
||||
#ifdef MOZILLA_INTERNAL_API
|
||||
# define NS_GetXPTCallStub NS_GetXPTCallStub_P
|
||||
# define NS_DestroyXPTCallStub NS_DestroyXPTCallStub_P
|
||||
# define NS_InvokeByIndex NS_InvokeByIndex_P
|
||||
#endif
|
||||
|
||||
#include "prtypes.h"
|
||||
#include "nscore.h"
|
||||
#include "nsISupports.h"
|
||||
|
@ -50,7 +50,7 @@ REQUIRES = xpcom \
|
||||
CPPSRCS = TestXPTCInvoke.cpp
|
||||
|
||||
LIBS = \
|
||||
$(XPCOM_LIBS) \
|
||||
$(XPCOM_GLUE_LDOPTS) \
|
||||
$(NSPR_LIBS) \
|
||||
$(NULL)
|
||||
|
||||
|
@ -49,7 +49,7 @@ SIMPLE_PROGRAMS = TestInterfaceInfo$(BIN_SUFFIX)
|
||||
CPPSRCS = TestInterfaceInfo.cpp
|
||||
|
||||
LIBS = \
|
||||
$(XPCOM_LIBS) \
|
||||
$(XPCOM_GLUE_LDOPTS) \
|
||||
$(NSPR_LIBS) \
|
||||
$(NULL)
|
||||
|
||||
|
@ -38,6 +38,7 @@
|
||||
#include "nsXPCOM.h"
|
||||
#include "nsXPCOMPrivate.h"
|
||||
#include "nsXPCOMStrings.h"
|
||||
#include "xptcall.h"
|
||||
|
||||
#include <string.h>
|
||||
|
||||
@ -110,7 +111,10 @@ static const XPCOMFunctions kFrozenFunctions = {
|
||||
&NS_LogCtor_P,
|
||||
&NS_LogDtor_P,
|
||||
&NS_LogCOMPtrAddRef_P,
|
||||
&NS_LogCOMPtrRelease_P
|
||||
&NS_LogCOMPtrRelease_P,
|
||||
&NS_GetXPTCallStub_P,
|
||||
&NS_DestroyXPTCallStub_P,
|
||||
&NS_InvokeByIndex_P
|
||||
};
|
||||
|
||||
EXPORT_XPCOM_API(nsresult)
|
||||
@ -311,6 +315,28 @@ NS_LogCOMPtrRelease(void *aCOMPtr, nsISupports* aObject)
|
||||
NS_LogCOMPtrRelease_P(aCOMPtr, aObject);
|
||||
}
|
||||
|
||||
#undef NS_GetXPTCallStub
|
||||
EXPORT_XPCOM_API(nsresult)
|
||||
NS_GetXPTCallStub(REFNSIID aIID, nsIXPTCProxy* aOuter,
|
||||
nsISomeInterface* *aStub)
|
||||
{
|
||||
return NS_GetXPTCallStub_P(aIID, aOuter, aStub);
|
||||
}
|
||||
|
||||
#undef NS_DestroyXPTCallStub
|
||||
EXPORT_XPCOM_API(void)
|
||||
NS_DestroyXPTCallStub(nsISomeInterface* aStub)
|
||||
{
|
||||
NS_DestroyXPTCallStub_P(aStub);
|
||||
}
|
||||
|
||||
#undef NS_InvokeByIndex
|
||||
EXPORT_XPCOM_API(nsresult)
|
||||
NS_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
|
||||
PRUint32 paramCount, nsXPTCVariant* params)
|
||||
{
|
||||
return NS_InvokeByIndex_P(that, methodIndex, paramCount, params);
|
||||
}
|
||||
|
||||
/*
|
||||
* Stubs for nsXPCOMPrivate.h
|
||||
|
Loading…
Reference in New Issue
Block a user