1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 2 /* 3 * This file is part of the LibreOffice project. 4 * 5 * This Source Code Form is subject to the terms of the Mozilla Public 6 * License, v. 2.0. If a copy of the MPL was not distributed with this 7 * file, You can obtain one at http://mozilla.org/MPL/2.0/. 8 * 9 * This file incorporates work covered by the following license notice: 10 * 11 * Licensed to the Apache Software Foundation (ASF) under one or more 12 * contributor license agreements. See the NOTICE file distributed 13 * with this work for additional information regarding copyright 14 * ownership. The ASF licenses this file to you under the Apache 15 * License, Version 2.0 (the "License"); you may not use this file 16 * except in compliance with the License. You may obtain a copy of 17 * the License at http://www.apache.org/licenses/LICENSE-2.0 . 18 */ 19 20 #ifndef INCLUDED_JVMACCESS_CLASSPATH_HXX 21 #define INCLUDED_JVMACCESS_CLASSPATH_HXX 22 23 #include <sal/config.h> 24 25 #include <jni.h> 26 27 #include <jvmaccess/jvmaccessdllapi.h> 28 #include <rtl/ustring.hxx> 29 30 namespace com { namespace sun { namespace star { namespace uno { 31 class XComponentContext; 32 } } } } 33 34 namespace com { namespace sun { namespace star { namespace uno { template <typename > class Reference; } } } } 35 36 namespace jvmaccess { 37 38 /** 39 Helper functions for class path handling. 40 */ 41 namespace ClassPath { 42 43 /** 44 translates a class path into a java.net.URL[] instance. 45 46 @param context 47 a component context; must not be null. 48 49 @param environment 50 a JNI environment; must not be null. 51 52 @param classPath 53 a list of zero or more internal (see the 54 com.sun.star.uri.ExternalUriReferenceTranslator service) URI references, 55 where any space characters (U+0020) are ignored (and, in particular, separate 56 adjacent URI references). Any vnd.sun.star.expand URL references in the list 57 are expanded using the com.sun.star.util.theMacroExpander singleton of the 58 given context. 59 60 @returns 61 a local reference to a java.net.URL[] instance containing the external (see 62 the com.sun.star.uri.ExternalUriReferenceTranslator service) equivalents of 63 all the URI references in the given classPath. If null, a (still pending) 64 JNI exception occurred. 65 66 @throws com::sun::star::uno::RuntimeException 67 */ 68 JVMACCESS_DLLPUBLIC jobjectArray translateToUrls( 69 css::uno::Reference<css::uno::XComponentContext> const & context, 70 JNIEnv * environment, OUString const & classPath); 71 72 } 73 74 } 75 76 #endif 77 78 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 79