* 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:
idk%eng.sun.com 2001-04-06 03:40:13 +00:00
parent b90f126f1c
commit 024e162a59
23 changed files with 481 additions and 45 deletions

View File

@ -30,6 +30,7 @@ include $(DEPTH)/config/autoconf.mk
DIRS= \
connect \
xpcom \
wrappers \
java \
# xpcom/test/ \
$(NULL)

View File

@ -30,6 +30,7 @@ include $(DEPTH)/config/autoconf.mk
DIRS= \
connect \
xpcom \
wrappers \
java \
# xpcom/test/ \
$(NULL)

View File

@ -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;
};

View File

@ -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

View File

@ -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;
}

View File

@ -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);
}
}

View File

@ -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);
};

View File

@ -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

View File

@ -29,6 +29,7 @@ JAVAXPIDLSRCS = nsISupports.idl \
nsIComponentManager.idl \
nsIFactory.idl \
nsISupportsPrimitives.idl \
nsIXPIDLServiceManager \
$(NULL)
include <$(DEPTH)\config\rules.mak>

View File

@ -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

View File

@ -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)

View File

@ -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));

View File

@ -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");

View File

@ -26,6 +26,7 @@ DEPTH = ..\..
DIRS= \
connect \
xpcom \
wrappers \
java \
$(NULL)

View File

@ -0,0 +1,52 @@
#!gmake
#
# The contents of this file are subject to the Netscape 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/NPL/
#
# 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 Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
# Igor Kushnirskiy <idk@eng.sun.com>
#
DEPTH = ../../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
LIBRARY_NAME = bcXPCOMWrappers
MODULE = bcXPCOMWrappers
IS_COMPONENT = 1
XPIDL_MODULE = bcXPCOMWrappaers
XPIDLSRCS = \
bcIXPCOMWrappers.idl \
nsIXPIDLServiceManager.idl \
$(NULL)
EXPORTS = \
bcXPCOMWrappers.h \
bcXPCOMWrappersCID.h \
$(NULL)
CPPSRCS = \
bcXPCOMWrappers.cpp \
nsXPIDLServiceManager.cpp \
$(NULL)
include $(DEPTH)/config/autoconf.mk
include $(topsrcdir)/config/config.mk
include $(topsrcdir)/config/rules.mk

View File

@ -0,0 +1,40 @@
/* -*- 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 "nsISupports.idl"
[scriptable, uuid(1f29f516-1dd2-11b2-9751-f129d72134d0)]
interface bcIXPCOMWrappers : nsISupports {
nsISupports getWrapper(in nsISupports wrapped, in nsIIDRef wrappedIID, out nsIIDPtr wrapperIID);
};

View File

@ -0,0 +1,68 @@
/* -*- Mode: C++; 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 "nsIGenericFactory.h"
#include "nsIModule.h"
#include "bcXPCOMWrappers.h"
#include "nsIServiceManager.h"
#include "nsXPIDLServiceManager.h"
#include "bcXPCOMWrappersCID.h"
NS_IMPL_THREADSAFE_ISUPPORTS1(bcXPCOMWrappers,bcIXPCOMWrappers);
bcXPCOMWrappers::bcXPCOMWrappers() {
NS_INIT_REFCNT();
}
bcXPCOMWrappers::~bcXPCOMWrappers() {
}
NS_IMETHODIMP
bcXPCOMWrappers::GetWrapper(nsISupports *wrapped,const nsIID & wrappedIID, nsIID * *wrapperIID, nsISupports **_retval) {
nsresult r = NS_OK;
if (wrappedIID.Equals(NS_GET_IID(nsIServiceManager))) {
*_retval = new nsXPIDLServiceManager();
*wrapperIID = & NS_GET_IID(nsIXPIDLServiceManager);
NS_ADDREF(*_retval);
} else {
r = NS_ERROR_FAILURE;
}
return r;
}
NS_GENERIC_FACTORY_CONSTRUCTOR(bcXPCOMWrappers);
static nsModuleComponentInfo components[] =
{
{
"Black Connect XPCOM wrappers service",
BC_XPCOMWRAPPERS_CID,
BC_XPCOMWRAPPERS_CONTRACTID,
bcXPCOMWrappersConstructor,
}
};
NS_IMPL_NSGETMODULE("Black Connect XPCOM wrappers service",components);

View File

@ -0,0 +1,34 @@
/* -*- Mode: C++; 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>
*/
#ifndef __bcXPCOMWrappers_h__
#define __bcXPCOMWrappers_h__
#include "bcIXPCOMWrappers.h"
class bcXPCOMWrappers : public bcIXPCOMWrappers {
NS_DECL_ISUPPORTS
bcXPCOMWrappers();
virtual ~bcXPCOMWrappers();
NS_DECL_BCIXPCOMWRAPPERS
};
#endif

View File

@ -0,0 +1,33 @@
/* -*- Mode: C++; 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>
*/
#ifndef __bcXPCOMWrappersCID_h__
#define __bcXPCOMWrappersCID_h__
/* f0032af2-1dd1-11b2-bb75-c242dcb4f47a */
#define BC_XPCOMWRAPPERS_CID \
{0xf0032af2, 0x1dd1, 0x11b2, \
{0xbb, 0x75, 0xc2, 0x42, 0xdc, 0xb4, 0xf4, 0x7a}}
#define BC_XPCOMWRAPPERS_CONTRACTID "@mozilla.org/blackwood/blackconnect/xpcom-wrappers;1"
#endif

View File

@ -0,0 +1,56 @@
#!nmake
#
# The contents of this file are subject to the Netscape 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/NPL/
#
# 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 Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
# Igor Kushnirskiy <idk@eng.sun.com>
#
DEPTH=..\..\..
MAKE_OBJ_TYPE = DLL
MODULE=bcXPCOMWrappers
COMPONENT = 1
DLLNAME = bcXPCOMWrappers
DLL=.\$(OBJDIR)\$(DLLNAME).dll
XPIDLSRCS = \
bcIXPCOMWrappers.idl \
nsIXPIDLServiceManagerpublic.idl \
$(NULL)
EXPORTS = \
bcXPCOMWrappers.h \
bcXPCOMWrappersCID.h \
$(NULL)
OBJS= \
.\$(OBJDIR)\bcXPCOMWrappers.obj \
.\$(OBJDIR)\nsXPIDLServiceManager.obj \
$(NULL)
LLIBS=$(LLIBS) $(LIBNSPR) $(DIST)\lib\xpcom.lib
include <$(DEPTH)\config\rules.mak>
install:: $(DLL)
$(MAKE_INSTALL) $(DLL) $(DIST)\bin\components
clobber::
rm -f "$(DIST)\bin\components\$(DLLNAME).dll"

View File

@ -0,0 +1,33 @@
/* -*- 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"
[scriptable, uuid(7c7916a0-1dd2-11b2-863a-d54576ccc0fe)]
interface nsIXPIDLServiceManager : nsISupports
{
void registerService(in nsCIDRef aClass, in nsISupports aService);
void unregisterService(in nsCIDRef aClass);
nsISupports getService(in nsCIDRef aClass, in nsIIDRef aIID);
void ReleaseService(in nsCIDRef aClass, in nsISupports service);
};

View File

@ -0,0 +1,47 @@
/* -*- Mode: C++; 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 "nsIServiceManager.h"
#include "nsXPIDLServiceManager.h"
NS_IMPL_THREADSAFE_ISUPPORTS1(nsXPIDLServiceManager,nsIXPIDLServiceManager);
nsXPIDLServiceManager::nsXPIDLServiceManager() {
NS_INIT_REFCNT();
}
nsXPIDLServiceManager::~nsXPIDLServiceManager() {
}
NS_IMETHODIMP nsXPIDLServiceManager::RegisterService(const nsCID & aClass, nsISupports *aService) {
return nsServiceManager::RegisterService(aClass,aService);
}
NS_IMETHODIMP nsXPIDLServiceManager::UnregisterService(const nsCID & aClass) {
return nsServiceManager::UnregisterService(aClass);
}
NS_IMETHODIMP nsXPIDLServiceManager::GetService(const nsCID & aClass, const nsIID & aIID, nsISupports **_retval) {
return nsServiceManager::GetService(aClass,aIID,_retval);
}
NS_IMETHODIMP nsXPIDLServiceManager::ReleaseService(const nsCID & aClass, nsISupports *service) {
return nsServiceManager::ReleaseService(aClass,service);
}

View File

@ -0,0 +1,35 @@
/* -*- Mode: C++; 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>
*/
#ifndef __nsXPIDLServiceManager_h__
#define __nsXPIDLServiceManager_h__
#include "nsIXPIDLServiceManager.h"
class nsIServiceManager;
class nsXPIDLServiceManager : public nsIXPIDLServiceManager {
NS_DECL_ISUPPORTS
nsXPIDLServiceManager();
virtual ~nsXPIDLServiceManager();
NS_DECL_NSIXPIDLSERVICEMANAGER
};
#endif