* not part of the build *
fix for 71948 git-svn-id: svn://10.0.0.236/trunk@91546 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -23,11 +23,18 @@
|
||||
package org.mozilla.xpcom;
|
||||
|
||||
public class Components {
|
||||
public static nsIComponentManager getComponentManager() {
|
||||
return componentMgr;
|
||||
}
|
||||
public static void setComponentManager(nsIComponentManager mgr) {
|
||||
componentMgr = mgr;
|
||||
}
|
||||
private static nsIComponentManager componentMgr = null;
|
||||
public static nsIComponentManager getComponentManager() {
|
||||
return componentMgr;
|
||||
}
|
||||
public static void setComponentManager(nsIComponentManager mgr) {
|
||||
componentMgr = mgr;
|
||||
}
|
||||
public static nsIXPIDLServiceManager getServiceManager() {
|
||||
return serviceMgr;
|
||||
}
|
||||
public static void setServiceManager(nsIXPIDLServiceManager mgr) {
|
||||
serviceMgr = mgr;
|
||||
}
|
||||
private static nsIComponentManager componentMgr = null;
|
||||
private static nsIXPIDLServiceManager serviceMgr = null;
|
||||
};
|
||||
|
||||
@@ -46,7 +46,6 @@ $(COMPONENT).jar.comp: manifest $(CLASSES)
|
||||
$(JDKHOME)/bin/jar cvfm $(COMPONENT).jar.comp manifest *.class
|
||||
.java.class:
|
||||
$(JDKHOME)/bin/javac -classpath .:../classes:$(DIST)/classes $<
|
||||
|
||||
bcIBlackConnectInit.java : bcIBlackConnectInit.idl
|
||||
|
||||
install-component: $(COMPONENT).jar.comp $(COMPONENT).jar.info
|
||||
|
||||
@@ -22,12 +22,18 @@
|
||||
|
||||
#include "bcIBlackConnectInit.h"
|
||||
#include "nsIModule.h"
|
||||
#include "nsIXPIDLServiceManager.h"
|
||||
#include "bcIXPCOMWrappers.h"
|
||||
#include "bcXPCOMWrappersCID.h"
|
||||
|
||||
|
||||
NS_DEFINE_CID(kXPCOMWrappers,BC_XPCOMWRAPPERS_CID);
|
||||
|
||||
static int counter = 0; //we do not need to call it on unload time;
|
||||
extern "C" NS_EXPORT nsresult NSGetModule(nsIComponentManager *compMgr,
|
||||
nsIFile *location,
|
||||
nsIModule** result) //I am using it for initialization only
|
||||
{
|
||||
static int counter = 0; //we do not need to call it on unload time;
|
||||
nsresult r;
|
||||
if (counter == 0) {
|
||||
counter ++;
|
||||
@@ -38,11 +44,21 @@ extern "C" NS_EXPORT nsresult NSGetModule(nsIComponentManager *compMgr,
|
||||
(void**)&blackConnectInit);
|
||||
if (NS_SUCCEEDED(r)) {
|
||||
nsIComponentManager* cm;
|
||||
r = NS_GetGlobalComponentManager(&cm);
|
||||
if (NS_SUCCEEDED(r)) {
|
||||
blackConnectInit->InitComponentManager(cm);
|
||||
}
|
||||
}
|
||||
nsIXPIDLServiceManager *sm;
|
||||
r = NS_GetGlobalComponentManager(&cm);
|
||||
if (NS_SUCCEEDED(r)) {
|
||||
blackConnectInit->InitComponentManager(cm);
|
||||
}
|
||||
NS_WITH_SERVICE(bcIXPCOMWrappers,xpcomWrappers,kXPCOMWrappers,&r);
|
||||
nsIID * wrapperIID;
|
||||
if (NS_SUCCEEDED(r)) {
|
||||
r = xpcomWrappers->GetWrapper((nsISupports*)NULL,NS_GET_IID(nsIServiceManager),&wrapperIID, (nsISupports**)&sm);
|
||||
if (NS_SUCCEEDED(r)) {
|
||||
printf("--[c++]about to call blackConnectInit->InitServiceManager(sm)\n");
|
||||
blackConnectInit->InitServiceManager(sm);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
@@ -39,7 +39,14 @@ public class bcBlackConnectInit implements bcIBlackConnectInit {
|
||||
Components.setComponentManager(cm);
|
||||
Debug.log("Components.setComponentManager(cm);");
|
||||
}
|
||||
/* void initServiceManager (in nsIXPIDLServiceManager sm); */
|
||||
public void initServiceManager(nsIXPIDLServiceManager sm) {
|
||||
Components.setServiceManager(sm);
|
||||
Debug.log("Components.setServiceManager(sm);");
|
||||
}
|
||||
static {
|
||||
InterfaceRegistry.register(nsIComponentManager.class);
|
||||
InterfaceRegistry.register(nsIXPIDLServiceManager.class);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,28 @@
|
||||
/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
||||
* The contents of this file are subject to the Mozilla Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS
|
||||
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
* implied. See the License for the specific language governing
|
||||
* rights and limitations under the License.
|
||||
*
|
||||
* The Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Sun Microsystems,
|
||||
* Inc. Portions created by Sun are
|
||||
* Copyright (C) 1999 Sun Microsystems, Inc. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Igor Kushnirskiy <idk@eng.sun.com>
|
||||
*/
|
||||
|
||||
#include "nsISupports.idl"
|
||||
#include "nsIComponentManager.idl"
|
||||
#include "nsIXPIDLServiceManager.idl"
|
||||
|
||||
#pragma prefix
|
||||
[scriptable, uuid(d4867a7e-1dd1-11b2-a009-b111ab5d7639)]
|
||||
@@ -7,4 +30,10 @@
|
||||
interface bcIBlackConnectInit : nsISupports
|
||||
{
|
||||
void initComponentManager(in nsIComponentManager cm);
|
||||
void initServiceManager(in nsIXPIDLServiceManager sm);
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -29,8 +29,8 @@ JAVAXPIDLSRCS = nsISupports.idl \
|
||||
nsIComponentManager.idl \
|
||||
nsIFactory.idl \
|
||||
nsISupportsPrimitives.idl \
|
||||
nsIXPIDLServiceManager.idl \
|
||||
$(NULL)
|
||||
|
||||
include $(DEPTH)/config/rules.mk
|
||||
include ../config/rules.mk
|
||||
|
||||
|
||||
@@ -29,6 +29,7 @@ JAVAXPIDLSRCS = nsISupports.idl \
|
||||
nsIComponentManager.idl \
|
||||
nsIFactory.idl \
|
||||
nsISupportsPrimitives.idl \
|
||||
nsIXPIDLServiceManager \
|
||||
$(NULL)
|
||||
|
||||
include <$(DEPTH)\config\rules.mak>
|
||||
|
||||
@@ -41,8 +41,4 @@ CPPSRCS = \
|
||||
|
||||
CXXFLAGS += -I$(JDKHOME)/include -I$(JDKHOME)/include/linux $(MOZ_TOOLKIT_REGISTRY_CFLAGS) -D_REENTRANT -DOJI_DISABLE -I$(CONNECT_SRC)/public
|
||||
|
||||
EXTRA_DSO_LDOPTS += \
|
||||
-L$(DIST)/bin/components/ \
|
||||
$(NULL)
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
@@ -86,7 +86,3 @@ EXTRA_DSO_LDOPTS += \
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
CCC += $(CXXFLAGS) # I want to have $(JDKHOME)/include before $(DIST) include
|
||||
|
||||
|
||||
test:
|
||||
echo $(OS_ARCH)
|
||||
|
||||
@@ -42,6 +42,7 @@ jclass bcJavaStubsAndProxies::org_mozilla_xpcom_ProxyHandler = 0;
|
||||
jmethodID bcJavaStubsAndProxies::getOIDID = 0;
|
||||
|
||||
NS_DEFINE_CID(kORBComponent,BC_ORBCOMPONENT_CID);
|
||||
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR(bcJavaStubsAndProxies);
|
||||
|
||||
static nsModuleComponentInfo components[] =
|
||||
@@ -54,27 +55,7 @@ static nsModuleComponentInfo components[] =
|
||||
}
|
||||
};
|
||||
|
||||
//NS_IMPL_NSGETMODULE("BlackConnect Java stubs and proxies",components_stubs);
|
||||
|
||||
|
||||
PRUint32 NSGetModule_components_count =
|
||||
sizeof(components) / sizeof(components[0]);
|
||||
|
||||
nsModuleComponentInfo* NSGetModule_components_idk = (components);
|
||||
|
||||
extern "C" NS_EXPORT nsresult NSGetModule(nsIComponentManager *servMgr,
|
||||
nsIFile* location,
|
||||
nsIModule** result)
|
||||
{
|
||||
return NS_NewGenericModule("BlackConnect Java stubs and proxies",
|
||||
NSGetModule_components_count,
|
||||
NSGetModule_components_idk,
|
||||
nsnull, result);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
NS_IMPL_NSGETMODULE("BlackConnect Java stubs and proxies",components);
|
||||
|
||||
NS_IMPL_ISUPPORTS(bcJavaStubsAndProxies,NS_GET_IID(bcJavaStubsAndProxies));
|
||||
|
||||
|
||||
@@ -39,7 +39,10 @@ public class bcJavaSample implements bcIJavaSample {
|
||||
return result;
|
||||
}
|
||||
public void test0() {
|
||||
System.out.println("--[java]bcJavaSample.test0 ");
|
||||
System.out.println("--[java]bcJavaSample.test0");
|
||||
nsIXPIDLServiceManager sm = Components.getServiceManager();
|
||||
nsISupports service = sm.getService(new CID("f0032af2-1dd1-11b2-bb75-c242dcb4f47a"), new IID("1f29f516-1dd2-11b2-9751-f129d72134d0"));
|
||||
|
||||
}
|
||||
public void test1(int l) {
|
||||
System.out.println("--[java]bcJavaSample.test1 "+l+"\n");
|
||||
|
||||
Reference in New Issue
Block a user