diff options
Diffstat (limited to 'extensions/test/pgp')
-rw-r--r-- | extensions/test/pgp/TestPGP.java | 95 | ||||
-rw-r--r-- | extensions/test/pgp/makefile.mk | 62 | ||||
-rw-r--r-- | extensions/test/pgp/readme.txt | 33 |
3 files changed, 190 insertions, 0 deletions
diff --git a/extensions/test/pgp/TestPGP.java b/extensions/test/pgp/TestPGP.java new file mode 100644 index 000000000..ce719a530 --- /dev/null +++ b/extensions/test/pgp/TestPGP.java @@ -0,0 +1,95 @@ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 . + */ + + +import com.sun.star.bridge.UnoUrlResolver; +import com.sun.star.bridge.XUnoUrlResolver; +import com.sun.star.comp.helper.Bootstrap; +import com.sun.star.connection.XConnection; +import com.sun.star.connection.XConnector; +import com.sun.star.container.XSet; +import com.sun.star.lang.XMultiServiceFactory; +import com.sun.star.lang.XSingleServiceFactory; +import com.sun.star.pgp.SimplePGPMailerFactoryReg; +import com.sun.star.uno.IBridge; +import com.sun.star.uno.Type; +import com.sun.star.uno.UnoRuntime; +import com.sun.star.uno.XInterface; +import com.sun.star.uno.XNamingService; + + + +public class TestPGP { + + + static void doSomething(Object r) throws com.sun.star.uno.Exception, Exception { + XNamingService rName = UnoRuntime.queryInterface(XNamingService.class, r); + + if(rName != null) { + System.err.println("got the remote naming service !"); + Object rXsmgr = rName.getRegisteredObject("StarOffice.ServiceManager"); + + XMultiServiceFactory rSmgr = UnoRuntime.queryInterface(XMultiServiceFactory.class, rXsmgr); + if(rSmgr != null) { + System.err.println("got the remote service manager !"); + } + + XSet set= UnoRuntime.queryInterface(XSet.class, rSmgr); + if( set == null) { + System.err.println(" couldn't get XSet from ServiceFactory"); + return; + } + SimplePGPMailerFactoryReg mailerReg= new SimplePGPMailerFactoryReg(); + XSingleServiceFactory factory= mailerReg.getServiceFactory( + "com.sun.star.pgp.SimplePGPMailerImpl", rSmgr, null, null); + + if( factory == null) { + System.err.println("couldn't create PGP factory !"); + return; + } + set.insert(factory ); + System.err.println("PGP factory inserted into service manager"); + + } + } + + + + public static void main(String argv[]) throws Exception { + if(argv.length != 1) { + System.err.println("usage : testoffice protocol:host:port"); + System.exit(-1); + } + + XUnoUrlResolver resolver = UnoUrlResolver.create(Bootstrap.createInitialComponentContext(null)); + + XConnector xConnector = UnoRuntime.queryInterface(XConnector.class, resolver.resolve("com.sun.star.connection.Connector")); + XConnection xConnection = xConnector.connect(argv[0]); + + String rootOid = "classic_uno"; + IBridge iBridge = UnoRuntime.getBridgeByName("java", null, "remote", null, new Object[]{"iiop", xConnection, null}); + + Object rInitialObject = iBridge.mapInterfaceFrom(rootOid, new Type(XInterface.class)); + + if(rInitialObject != null) { + System.err.println("got the remote object"); + doSomething(rInitialObject); + } + } +} + diff --git a/extensions/test/pgp/makefile.mk b/extensions/test/pgp/makefile.mk new file mode 100644 index 000000000..d5805fbe1 --- /dev/null +++ b/extensions/test/pgp/makefile.mk @@ -0,0 +1,62 @@ +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This file incorporates work covered by the following license notice: +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed +# with this work for additional information regarding copyright +# ownership. The ASF licenses this file to you under the Apache +# License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 . +# + +PRJ=..$/.. + +PRJNAME := extensions +PACKAGE := +TARGET := test_com_sun_star_pgp + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# Files -------------------------------------------------------- + +APPLICATRDB := $(SOLARBINDIR)$/applicat.rdb +RDB := $(APPLICATRDB) + +JARFILES= jurt.jar + +GENJAVACLASSFILES= \ + $(CLASSDIR)$/com$/sun$/star$/beans$/PropertyValue.class \ + $(CLASSDIR)$/com$/sun$/star$/beans$/PropertyState.class \ + $(CLASSDIR)$/com$/sun$/star$/container$/XSet.class \ + +JAVACLASSFILES= \ + $(CLASSDIR)$/$(PACKAGE)$/TestPGP.class + + +TYPES={$(subst,.class, $(subst,$/,. $(subst,$(CLASSDIR)$/,-T $(GENJAVACLASSFILES))))} +GENJAVAFILES = {$(subst,.class,.java $(subst,$/class, $(GENJAVACLASSFILES)))} +JAVAFILES= $(subst,$(CLASSDIR)$/$(PACKAGE)$/, $(subst,.class,.java $(JAVACLASSFILES))) $(GENJAVAFILES) + +# --- Targets ------------------------------------------------------ + +.IF "$(depend)" == "" +ALL : $(GENJAVAFILES) ALLTAR +.ELSE +ALL: ALLDEP +.ENDIF + +.INCLUDE : target.mk + +$(GENJAVAFILES) : $(RDB) + javamaker @$(mktmp -BUCR -O$(OUT) $(TYPES) $(RDB)) + +$(JAVACLASSFILES) : $(GENJAVAFILES) diff --git a/extensions/test/pgp/readme.txt b/extensions/test/pgp/readme.txt new file mode 100644 index 000000000..8d4868770 --- /dev/null +++ b/extensions/test/pgp/readme.txt @@ -0,0 +1,33 @@ +The program TestPGP instantiates a SimplePGPMailerFactory and adds + it to the ServiceManager obtained from a running StarOffice. +Then PGP can be used from within StarOffice. + +Prerequisites: +StarOffice needs an entry in Office/user/sofficerc under the Common + section: + + Port2=socket:hamburg-11070:1111 // old style +as of 569 m +Connection=socket,hamburg-11070,port=1111;iiop; + +Please note the semicolons! + + hamburg-11070 is the host running the office and 1111 is a + freely choosable port number. + + + For the program to run make sure that the office has access + to classes.zip, libreoffice.jar, pgp.jar and swingall.jar. + + Therefore do the necessary entries in + Office/user/config/javarc + under SystemClasspath. + +There is a bug with jdk1.1.8, therefore use 1.2 instead. + +The TestPGP is called without ;iiop; : + +java TestPGP "socket,host=localhost,port=1111" + + + |