diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 05:54:39 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 05:54:39 +0000 |
commit | 267c6f2ac71f92999e969232431ba04678e7437e (patch) | |
tree | 358c9467650e1d0a1d7227a21dac2e3d08b622b2 /offapi/com/sun/star/script/provider | |
parent | Initial commit. (diff) | |
download | libreoffice-267c6f2ac71f92999e969232431ba04678e7437e.tar.xz libreoffice-267c6f2ac71f92999e969232431ba04678e7437e.zip |
Adding upstream version 4:24.2.0.upstream/4%24.2.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'offapi/com/sun/star/script/provider')
20 files changed, 863 insertions, 0 deletions
diff --git a/offapi/com/sun/star/script/provider/LanguageScriptProvider.idl b/offapi/com/sun/star/script/provider/LanguageScriptProvider.idl new file mode 100644 index 0000000000..e6eb8faea8 --- /dev/null +++ b/offapi/com/sun/star/script/provider/LanguageScriptProvider.idl @@ -0,0 +1,33 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * 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 . + */ + + +module com { module sun { module star { module script { module provider { + +/** + This service provides a means of browsing and invoking scripts in + a single language. +*/ +service LanguageScriptProvider { + service ::com::sun::star::script::provider::ScriptProvider; +}; + +}; }; }; }; }; // ::com::sun::star::script::provider + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/script/provider/MasterScriptProvider.idl b/offapi/com/sun/star/script/provider/MasterScriptProvider.idl new file mode 100644 index 0000000000..573387942d --- /dev/null +++ b/offapi/com/sun/star/script/provider/MasterScriptProvider.idl @@ -0,0 +1,33 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * 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 . + */ + + +module com { module sun { module star { module script { module provider { + +/** + This service acts as a wrapper around the various language specific + ScriptProviders. +*/ +service MasterScriptProvider { + service ::com::sun::star::script::provider::ScriptProvider; +}; + +}; }; }; }; }; // ::com::sun::star::script::provider + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/script/provider/MasterScriptProviderFactory.idl b/offapi/com/sun/star/script/provider/MasterScriptProviderFactory.idl new file mode 100644 index 0000000000..49197e478f --- /dev/null +++ b/offapi/com/sun/star/script/provider/MasterScriptProviderFactory.idl @@ -0,0 +1,35 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * 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 . + */ + + + +module com { module sun { module star { module script { module provider { + +/** + This service is used to create MasterScriptProviders. + Note: You shouldn't ever instantiate the MasterScriptProvider + service directly, you should always use this service. + + @deprecated rather use the singleton service theMasterScriptProviderFactory +*/ +service MasterScriptProviderFactory : XScriptProviderFactory; + +}; }; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/script/provider/ScriptErrorRaisedException.idl b/offapi/com/sun/star/script/provider/ScriptErrorRaisedException.idl new file mode 100644 index 0000000000..91a6736a2e --- /dev/null +++ b/offapi/com/sun/star/script/provider/ScriptErrorRaisedException.idl @@ -0,0 +1,41 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * 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 . + */ + + +module com { module sun { module star { module script { module provider { + +/** + is a checked exception that represents an error encountered + by a LanguageScriptProvider whilst executing a script +*/ +exception ScriptErrorRaisedException : com::sun::star::uno::Exception { + /** Name of script where error occurred + */ + string scriptName; + /** Scripting language of script that generated exception + */ + string language; + /** line number where error occurred. + */ + long lineNum; +}; + +}; }; }; }; }; // ::com::sun::star::script::provider + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/script/provider/ScriptExceptionRaisedException.idl b/offapi/com/sun/star/script/provider/ScriptExceptionRaisedException.idl new file mode 100644 index 0000000000..f914bd4642 --- /dev/null +++ b/offapi/com/sun/star/script/provider/ScriptExceptionRaisedException.idl @@ -0,0 +1,35 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * 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 . + */ + + +module com { module sun { module star { module script { module provider { + +/** + is a checked exception that represents the detail of an exception + thrown by a LanguageScriptProvider whilst executing a script +*/ +exception ScriptExceptionRaisedException : ::com::sun::star::script::provider::ScriptErrorRaisedException { + /** Name of script where error occurred + */ + string exceptionType; +}; + +}; }; }; }; }; // ::com::sun::star::script::provider + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/script/provider/ScriptFrameworkErrorException.idl b/offapi/com/sun/star/script/provider/ScriptFrameworkErrorException.idl new file mode 100644 index 0000000000..f1da588678 --- /dev/null +++ b/offapi/com/sun/star/script/provider/ScriptFrameworkErrorException.idl @@ -0,0 +1,41 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * 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 . + */ + + +module com { module sun { module star { module script { module provider { + +/** + is a checked exception that represents an error encountered + by the Scripting Framework whilst executing a script +*/ +exception ScriptFrameworkErrorException : com::sun::star::uno::Exception { + /** Name of script where error occurred + */ + string scriptName; + /** Scripting language of script that generated exception + */ + string language; + /** error type ::com::sun::star::script::provider::ScriptFrameworkErrorType + */ + long errorType; +}; + +}; }; }; }; }; // ::com::sun::star::script::provider + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/script/provider/ScriptFrameworkErrorType.idl b/offapi/com/sun/star/script/provider/ScriptFrameworkErrorType.idl new file mode 100644 index 0000000000..c3856352d9 --- /dev/null +++ b/offapi/com/sun/star/script/provider/ScriptFrameworkErrorType.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * 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 . + */ + + +module com { module sun { module star { module script { module provider { + +/** + is a checked exception that represents an error encountered + by the Scripting Framework whilst executing a script +*/ +constants ScriptFrameworkErrorType +{ + /** Unknown + */ + const long UNKNOWN = 0; + + /** ProviderNotSupported + */ + const long NOTSUPPORTED = 1; + + /** the requested method, and/or with the requested signature, does not exist + */ + const long NO_SUCH_SCRIPT = 2; + + /** the requested method, with the requested signature, does not exist + */ + const long MALFORMED_URL = 3; +}; + +}; }; }; }; }; // com::sun::star::script::provider + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/script/provider/ScriptProvider.idl b/offapi/com/sun/star/script/provider/ScriptProvider.idl new file mode 100644 index 0000000000..5c7d3739ab --- /dev/null +++ b/offapi/com/sun/star/script/provider/ScriptProvider.idl @@ -0,0 +1,35 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * 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 . + */ + + +module com { module sun { module star { module script { module provider { + +/** + This service providers a means to browse and execute scripts. +*/ +service ScriptProvider { + service ::com::sun::star::script::browse::BrowseNode; + + interface ::com::sun::star::script::provider::XScriptProvider; + +}; + +}; }; }; }; }; // ::com::sun::star::script::provider + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/script/provider/ScriptProviderForBasic.idl b/offapi/com/sun/star/script/provider/ScriptProviderForBasic.idl new file mode 100644 index 0000000000..9b96128a66 --- /dev/null +++ b/offapi/com/sun/star/script/provider/ScriptProviderForBasic.idl @@ -0,0 +1,32 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * 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 . + */ + + +module com { module sun { module star { module script { module provider { + +/** + This service is a Basic-specific LanguageScriptProvider. +*/ +service ScriptProviderForBasic { + service ::com::sun::star::script::provider::LanguageScriptProvider; +}; + +}; }; }; }; }; // ::com::sun::star::script::provider + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/script/provider/ScriptProviderForBeanShell.idl b/offapi/com/sun/star/script/provider/ScriptProviderForBeanShell.idl new file mode 100644 index 0000000000..e82f10c5e2 --- /dev/null +++ b/offapi/com/sun/star/script/provider/ScriptProviderForBeanShell.idl @@ -0,0 +1,32 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * 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 . + */ + + +module com { module sun { module star { module script { module provider { + +/** + This service is a BeanShell-specific LanguageScriptProvider. +*/ +service ScriptProviderForBeanShell { + service ::com::sun::star::script::provider::LanguageScriptProvider; +}; + +}; }; }; }; }; // ::com::sun::star::script::provider + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/script/provider/ScriptProviderForJava.idl b/offapi/com/sun/star/script/provider/ScriptProviderForJava.idl new file mode 100644 index 0000000000..0d56f385e0 --- /dev/null +++ b/offapi/com/sun/star/script/provider/ScriptProviderForJava.idl @@ -0,0 +1,32 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * 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 . + */ + + +module com { module sun { module star { module script { module provider { + +/** + This service is a Java-specific LanguageScriptProvider. +*/ +service ScriptProviderForJava { + service ::com::sun::star::script::provider::LanguageScriptProvider; +}; + +}; }; }; }; }; // ::com::sun::star::script::provider + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/script/provider/ScriptProviderForJavaScript.idl b/offapi/com/sun/star/script/provider/ScriptProviderForJavaScript.idl new file mode 100644 index 0000000000..1111205e0e --- /dev/null +++ b/offapi/com/sun/star/script/provider/ScriptProviderForJavaScript.idl @@ -0,0 +1,32 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * 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 . + */ + + +module com { module sun { module star { module script { module provider { + +/** + This service is a Java-specific LanguageScriptProvider. +*/ +service ScriptProviderForJavaScript { + service ::com::sun::star::script::provider::LanguageScriptProvider; +}; + +}; }; }; }; }; // ::com::sun::star::script::provider + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/script/provider/ScriptURIHelper.idl b/offapi/com/sun/star/script/provider/ScriptURIHelper.idl new file mode 100644 index 0000000000..1aa707b1a1 --- /dev/null +++ b/offapi/com/sun/star/script/provider/ScriptURIHelper.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * 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 . + */ + + +module com { module sun { module star { module script { module provider { + +/** + This service is used to help transform Scripting Framework storage + locations to Scripting Framework script URIs and vice versa. +*/ +service ScriptURIHelper : XScriptURIHelper { + + /** + create a new ScriptURIHelper + + @param language + The name of the scripting language for which this ScriptURIHelper + is being created. It should be the same as the language name + used for the service that inherits from the LanguageScriptProvider + service + + @param location + This location which was passed to the LanguageScriptProvider + by the Scripting Framework on its creation + + @throws + ::com::sun::star::lang::IllegalArgumentException + */ + create( [in] string language, [in] string location ) + raises ( ::com::sun::star::lang::IllegalArgumentException ); +}; + +}; }; }; }; }; // ::com::sun::star::script::provider + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/script/provider/XScript.idl b/offapi/com/sun/star/script/provider/XScript.idl new file mode 100644 index 0000000000..4bc0635e15 --- /dev/null +++ b/offapi/com/sun/star/script/provider/XScript.idl @@ -0,0 +1,67 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * 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 . + */ + + +module com { module sun { module star { module script { module provider { + +/** + This interface represents an invocable script or UNO function. +*/ +interface XScript : ::com::sun::star::uno::XInterface { + + /** + invoke the script or function represented by the implementing + object + + @param aParams + all parameters; pure, out parameters are undefined in sequence, + i.e., the value has to be ignored by the callee + @param aOutParamIndex + out indices, indicating the position of the out or inout + parameters in the list of arguments to the script + @param aOutParam + out parameters<p> + For example, if the script had the signature<br> + <code>long foo( [inout] string a, [in] string b, [out] string c )</code> + <br> the call would look like<br> + <code>bar.invoke( {"foo", "foo2", "this-is-ignored" }, aOutParamIndex, aOutParam);</code> + <br> and after the call the out sequences would contain<br> + @code{.py} + aOutParamIndex={0,2}; + aOutParam={"string from a", "string from c"}; + @endcode + + @returns + the value returned from the function being invoked + + @throws ::com::sun::star::reflection::InvocationTargetException + if an error occurs while attempting to invoke a script the information is captured. If the error or exception is generated by the script itself it is wrapped as either ScriptErrorRaisedException or ScriptExceptionRaisedException or ScriptFrameworkErrorException are wrapped as ScriptFrameworkErrorExceptions. + */ + any invoke( + [in] sequence<any> aParams, + [out] sequence<short> aOutParamIndex, + [out] sequence<any> aOutParam ) raises( + ::com::sun::star::script::provider::ScriptFrameworkErrorException , + ::com::sun::star::reflection::InvocationTargetException); + +}; + +}; }; }; }; }; // ::com::sun::star::script::provider + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/script/provider/XScriptContext.idl b/offapi/com/sun/star/script/provider/XScriptContext.idl new file mode 100644 index 0000000000..231f67bb3e --- /dev/null +++ b/offapi/com/sun/star/script/provider/XScriptContext.idl @@ -0,0 +1,83 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * 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 . + */ + + +module com { module sun { module star { module document { + interface XScriptInvocationContext; +}; }; }; }; + + +module com { module sun { module star { module script { module provider { + +/** + This interface is provided to scripts, and provides a means of access to + the various interfaces which they might need to perform some action on + a document. It is required to be passed as the first argument for any + Java scripts. +*/ +interface XScriptContext : ::com::sun::star::uno::XInterface { + + /** + Obtain the document reference on which the script can operate + + @returns + com::sun::star::frame::XModel interface + */ + ::com::sun::star::frame::XModel getDocument(); + + /** provides access to the context where the script was invoked + + <p>In some cases, it is possible that scripts, embedded in a document, + are executed from within a context which is <em>not</em> the document + itself. In this case, the <code>getInvocationContext</code> member allows + to access this context.</p> + + <p>Note that the returned context is allowed to be `NULL`, in this case, + the document as returned by <code>getDocument</code> is the invocation context.</p> + + <p>If the returned context is not `NULL`, its <code>ScriptContainer</code> attribute + equals the document as returned by <code>XScriptContext::getDocument</code>.</p> + + @since OOo 3.0 + */ + ::com::sun::star::document::XScriptInvocationContext getInvocationContext(); + + /** + Obtain the desktop reference on which the script can operate + + @returns + com::sun::star::frame::XDesktop interface + */ + ::com::sun::star::frame::XDesktop getDesktop(); + + /** + Obtain the component context which the script can use to create + other uno components + + @returns + com::sun::star::uno::XComponentContext interface + */ + ::com::sun::star::uno::XComponentContext getComponentContext(); + + +}; + +}; }; }; }; }; // ::com::sun::star::script::provider + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/script/provider/XScriptProvider.idl b/offapi/com/sun/star/script/provider/XScriptProvider.idl new file mode 100644 index 0000000000..d8f057a6e7 --- /dev/null +++ b/offapi/com/sun/star/script/provider/XScriptProvider.idl @@ -0,0 +1,46 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * 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 . + */ + + +module com { module sun { module star { module script { module provider { + +/** + This interface provides a factory for obtaining objects implementing the + XScript interface. +*/ +interface XScriptProvider : ::com::sun::star::uno::XInterface { + + /** a factory method for the creation of XScript + implementations. + + @param sScriptURI + is the logical or language-dependent script URI + + @returns + an object implementing ::com::sun::star::script::provider::XScript representing the script + + @throws ::com::sun::star::script::provider::ScriptFrameworkErrorException + Framework error getting script for URI. + */ + XScript getScript( [in] string sScriptURI ) raises ( ::com::sun::star::script::provider::ScriptFrameworkErrorException ); +}; + +}; }; }; }; }; // ::com::sun::star::script::provider + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/script/provider/XScriptProviderFactory.idl b/offapi/com/sun/star/script/provider/XScriptProviderFactory.idl new file mode 100644 index 0000000000..5ef48c4c0a --- /dev/null +++ b/offapi/com/sun/star/script/provider/XScriptProviderFactory.idl @@ -0,0 +1,47 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * 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 . + */ + + +module com { module sun { module star { module script { module provider { + +/** + This interface provides a factory for obtaining objects implementing the + XScriptProvider interface. +*/ +interface XScriptProviderFactory : ::com::sun::star::uno::XInterface { + + /** a factory method for the creation of XScriptProviders + implementations. + + @param Context + is context for which the ScriptProvider is to be created for + + @returns + an object implementing ::com::sun::star::script::provider::XScriptProvider + + @throws ::com::sun::star::lang::IllegalArgumentException + if illegal or unknown context is passed + */ + XScriptProvider createScriptProvider( [in] any Context ) raises ( + ::com::sun::star::lang::IllegalArgumentException ); +}; + +}; }; }; }; }; // ::com::sun::star::script::provider + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/script/provider/XScriptProviderSupplier.idl b/offapi/com/sun/star/script/provider/XScriptProviderSupplier.idl new file mode 100644 index 0000000000..0cc5c9714e --- /dev/null +++ b/offapi/com/sun/star/script/provider/XScriptProviderSupplier.idl @@ -0,0 +1,38 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * 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 . + */ + + +module com { module sun { module star { module script { module provider { + +/** + This interface allows to get the scripting provider related to the object. +*/ +interface XScriptProviderSupplier : ::com::sun::star::uno::XInterface { + + /** returns scripting provider related to the object. + + @returns + an object implementing ::com::sun::star::script::provider::XScriptProvider representing the script provider + */ + XScriptProvider getScriptProvider(); +}; + +}; }; }; }; }; // ::com::sun::star::script::provider + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/script/provider/XScriptURIHelper.idl b/offapi/com/sun/star/script/provider/XScriptURIHelper.idl new file mode 100644 index 0000000000..c829695161 --- /dev/null +++ b/offapi/com/sun/star/script/provider/XScriptURIHelper.idl @@ -0,0 +1,65 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * 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 . + */ + + + +module com { module sun { module star { module script { module provider { + +/** + This interface is used to help transform Scripting Framework storage + locations to Scripting Framework script URIs and vice versa. +*/ +interface XScriptURIHelper : ::com::sun::star::uno::XInterface { + + /** + Obtain the root storage URI for this ScriptURIHelper. The + resulting string can be used to access the storage for this + using the Universal Content Broker + + @returns a URI to the storage as a `string` + */ + string getRootStorageURI(); + + /** + Obtain the storage URI for a specific Scripting Framework + script URI. + + @returns a URI to the storage as a `string` + + @throws ::com::sun::star::lang::IllegalArgumentException + if the storageURI is not a valid + */ + string getStorageURI( [in] string scriptURI ) raises + ( ::com::sun::star::lang::IllegalArgumentException ); + + /** + Obtain the Scripting Framework script URI for a specific UCB URI + + @returns the URI as a `string` + + @throws ::com::sun::star::lang::IllegalArgumentException + if the storageURI is not a valid + */ + string getScriptURI( [in] string storageURI ) raises + ( ::com::sun::star::lang::IllegalArgumentException ); +}; + +}; }; }; }; }; // ::com::sun::star::script::provider + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/script/provider/theMasterScriptProviderFactory.idl b/offapi/com/sun/star/script/provider/theMasterScriptProviderFactory.idl new file mode 100644 index 0000000000..2b30b4e51d --- /dev/null +++ b/offapi/com/sun/star/script/provider/theMasterScriptProviderFactory.idl @@ -0,0 +1,37 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * 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 . + */ + + + +module com { module sun { module star { module script { module provider { + +/** + The one and only MasterScriptProviderFactory + + To get the singleton call getValueByName on the component context + <pre> + /singletons/com.sun.star.script.provider.theMasterScriptProviderFactory + </pre> + +*/ +singleton theMasterScriptProviderFactory : XScriptProviderFactory; + +}; }; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |