1408a4873SAndrew Rist/**************************************************************
2cdf0e10cSrcweir *
3408a4873SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4408a4873SAndrew Rist * or more contributor license agreements.  See the NOTICE file
5408a4873SAndrew Rist * distributed with this work for additional information
6408a4873SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7408a4873SAndrew Rist * to you under the Apache License, Version 2.0 (the
8408a4873SAndrew Rist * "License"); you may not use this file except in compliance
9408a4873SAndrew Rist * with the License.  You may obtain a copy of the License at
10408a4873SAndrew Rist *
11408a4873SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12408a4873SAndrew Rist *
13408a4873SAndrew Rist * Unless required by applicable law or agreed to in writing,
14408a4873SAndrew Rist * software distributed under the License is distributed on an
15408a4873SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16408a4873SAndrew Rist * KIND, either express or implied.  See the License for the
17408a4873SAndrew Rist * specific language governing permissions and limitations
18408a4873SAndrew Rist * under the License.
19408a4873SAndrew Rist *
20408a4873SAndrew Rist *************************************************************/
21408a4873SAndrew Rist
22408a4873SAndrew Rist
23cdf0e10cSrcweir#ifndef __com_sun_star_script_XLibraryAccess_idl__
24cdf0e10cSrcweir#define __com_sun_star_script_XLibraryAccess_idl__
25cdf0e10cSrcweir
26cdf0e10cSrcweir#ifndef __com_sun_star_uno_XInterface_idl__
27cdf0e10cSrcweir#include <com/sun/star/uno/XInterface.idl>
28cdf0e10cSrcweir#endif
29cdf0e10cSrcweir
30cdf0e10cSrcweir
31cdf0e10cSrcweir//=============================================================================
32cdf0e10cSrcweir
33cdf0e10cSrcweir module com {  module sun {  module star {  module script {
34cdf0e10cSrcweir
35cdf0e10cSrcweir//=============================================================================
36cdf0e10cSrcweir/** provides access to additional scripting code.
37cdf0e10cSrcweir
38cdf0e10cSrcweir	<p>This code is organized in modules and these modules contain
39cdf0e10cSrcweir	the functions. It is possible to get just the code from a function,
40cdf0e10cSrcweir	but you can also get the whole code of a module with all functions in it.</p>
41cdf0e10cSrcweir	@deprecated
42cdf0e10cSrcweir */
43cdf0e10cSrcweirpublished interface XLibraryAccess: com::sun::star::uno::XInterface
44cdf0e10cSrcweir{
45cdf0e10cSrcweir	//-------------------------------------------------------------------------
46cdf0e10cSrcweir	/** returns <TRUE/>, if the function is accessible through this library;
47cdf0e10cSrcweir		otherwise it returns <FALSE/>.
48cdf0e10cSrcweir
49cdf0e10cSrcweir				@param aFunctionName
50*86e1cf34SPedro Giffuni				the fully qualified name of a function.
51cdf0e10cSrcweir				(e.g., "UtilLibrary.ModuleDate.FunctionCurrentDate")
52cdf0e10cSrcweir	 */
53cdf0e10cSrcweir	boolean isFunction( [in] string aFunctionName );
54cdf0e10cSrcweir
55cdf0e10cSrcweir	//-------------------------------------------------------------------------
56cdf0e10cSrcweir	/** returns <TRUE/> if a fully qualified function name begins with this name.
57cdf0e10cSrcweir
58cdf0e10cSrcweir				@param aPathName
59cdf0e10cSrcweir				a part of a function name (e.g., "UtilLibrary").
60cdf0e10cSrcweir	 */
61cdf0e10cSrcweir	boolean isValidPath( [in] string aPathName );
62cdf0e10cSrcweir
63cdf0e10cSrcweir	//-------------------------------------------------------------------------
64cdf0e10cSrcweir	/** Return all module names which contain code.
65cdf0e10cSrcweir		 e.g., { "UtilLibrary.ModuleDate", "UtilLibrary.Output", ... }
66cdf0e10cSrcweir	 */
67cdf0e10cSrcweir	sequence<string> getModuleNames();
68cdf0e10cSrcweir
69cdf0e10cSrcweir	//-------------------------------------------------------------------------
70cdf0e10cSrcweir	/** get the source code of a module.
71cdf0e10cSrcweir	 */
72cdf0e10cSrcweir	string getModuleSource( [in] string aModulName );
73cdf0e10cSrcweir
74cdf0e10cSrcweir	//-------------------------------------------------------------------------
75cdf0e10cSrcweir	/** Get the hole compiled code of a module.
76cdf0e10cSrcweir
77cdf0e10cSrcweir		@param ModuleName the full qualified name of a module.
78cdf0e10cSrcweir							(e.g., "UtilLibrary.ModuleDate")
79cdf0e10cSrcweir		@return			an empty sequence, if this module is not found or the
80cdf0e10cSrcweir							code is not compiled.
81cdf0e10cSrcweir	 */
82cdf0e10cSrcweir	sequence<byte> getModuleCode( [in] string aModuleName );
83cdf0e10cSrcweir
84cdf0e10cSrcweir	//-------------------------------------------------------------------------
85cdf0e10cSrcweir	/** get the source code of a function.
86cdf0e10cSrcweir	 */
87cdf0e10cSrcweir	string getFunctionSource( [in] string aFunctionName );
88cdf0e10cSrcweir
89cdf0e10cSrcweir	//-------------------------------------------------------------------------
90cdf0e10cSrcweir	/** Get the compiled code of a function.
91cdf0e10cSrcweir
92cdf0e10cSrcweir		@param FunctionName the full qualified name of a function.
93cdf0e10cSrcweir							(e.g., "UtilLibrary.ModuleDate.Function.CurrentDate")
94cdf0e10cSrcweir		@return			an empty sequence, if this function is not found.
95cdf0e10cSrcweir	 */
96cdf0e10cSrcweir	sequence<byte> getFunctionCode( [in] string FunctionName );
97cdf0e10cSrcweir
98cdf0e10cSrcweir};
99cdf0e10cSrcweir
100cdf0e10cSrcweir//=============================================================================
101cdf0e10cSrcweir
102cdf0e10cSrcweir}; }; }; };
103cdf0e10cSrcweir
104cdf0e10cSrcweir#endif
105