summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/script
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
commited5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch)
tree7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /offapi/com/sun/star/script
parentInitial commit. (diff)
downloadlibreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.tar.xz
libreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.zip
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'offapi/com/sun/star/script')
-rw-r--r--offapi/com/sun/star/script/DocumentDialogLibraryContainer.idl67
-rw-r--r--offapi/com/sun/star/script/DocumentScriptLibraryContainer.idl67
-rw-r--r--offapi/com/sun/star/script/LibraryNotLoadedException.idl44
-rw-r--r--offapi/com/sun/star/script/ModuleInfo.idl37
-rw-r--r--offapi/com/sun/star/script/ModuleSizeExceededRequest.idl43
-rw-r--r--offapi/com/sun/star/script/ModuleType.idl40
-rw-r--r--offapi/com/sun/star/script/NativeObjectWrapper.idl34
-rw-r--r--offapi/com/sun/star/script/XLibraryContainer.idl95
-rw-r--r--offapi/com/sun/star/script/XLibraryContainer2.idl88
-rw-r--r--offapi/com/sun/star/script/XLibraryContainer3.idl55
-rw-r--r--offapi/com/sun/star/script/XLibraryContainerExport.idl64
-rw-r--r--offapi/com/sun/star/script/XLibraryContainerPassword.idl128
-rw-r--r--offapi/com/sun/star/script/XLibraryQueryExecutable.idl38
-rw-r--r--offapi/com/sun/star/script/XPersistentLibraryContainer.idl87
-rw-r--r--offapi/com/sun/star/script/XServiceDocumenter.idl31
-rw-r--r--offapi/com/sun/star/script/XStorageBasedLibraryContainer.idl91
-rw-r--r--offapi/com/sun/star/script/browse/BrowseNode.idl52
-rw-r--r--offapi/com/sun/star/script/browse/BrowseNodeFactory.idl42
-rw-r--r--offapi/com/sun/star/script/browse/BrowseNodeFactoryViewTypes.idl44
-rw-r--r--offapi/com/sun/star/script/browse/BrowseNodeTypes.idl49
-rw-r--r--offapi/com/sun/star/script/browse/XBrowseNode.idl70
-rw-r--r--offapi/com/sun/star/script/browse/XBrowseNodeFactory.idl50
-rw-r--r--offapi/com/sun/star/script/browse/theBrowseNodeFactory.idl43
-rw-r--r--offapi/com/sun/star/script/provider/LanguageScriptProvider.idl41
-rw-r--r--offapi/com/sun/star/script/provider/MasterScriptProvider.idl41
-rw-r--r--offapi/com/sun/star/script/provider/MasterScriptProviderFactory.idl41
-rw-r--r--offapi/com/sun/star/script/provider/ScriptErrorRaisedException.idl48
-rw-r--r--offapi/com/sun/star/script/provider/ScriptExceptionRaisedException.idl42
-rw-r--r--offapi/com/sun/star/script/provider/ScriptFrameworkErrorException.idl48
-rw-r--r--offapi/com/sun/star/script/provider/ScriptFrameworkErrorType.idl53
-rw-r--r--offapi/com/sun/star/script/provider/ScriptProvider.idl44
-rw-r--r--offapi/com/sun/star/script/provider/ScriptProviderForBasic.idl40
-rw-r--r--offapi/com/sun/star/script/provider/ScriptProviderForBeanShell.idl40
-rw-r--r--offapi/com/sun/star/script/provider/ScriptProviderForJava.idl40
-rw-r--r--offapi/com/sun/star/script/provider/ScriptProviderForJavaScript.idl40
-rw-r--r--offapi/com/sun/star/script/provider/ScriptURIHelper.idl59
-rw-r--r--offapi/com/sun/star/script/provider/XScript.idl78
-rw-r--r--offapi/com/sun/star/script/provider/XScriptContext.idl93
-rw-r--r--offapi/com/sun/star/script/provider/XScriptProvider.idl56
-rw-r--r--offapi/com/sun/star/script/provider/XScriptProviderFactory.idl56
-rw-r--r--offapi/com/sun/star/script/provider/XScriptProviderSupplier.idl47
-rw-r--r--offapi/com/sun/star/script/provider/XScriptURIHelper.idl73
-rw-r--r--offapi/com/sun/star/script/provider/theMasterScriptProviderFactory.idl43
-rw-r--r--offapi/com/sun/star/script/theServiceDocumenter.idl26
-rw-r--r--offapi/com/sun/star/script/vba/VBAEventId.idl123
-rw-r--r--offapi/com/sun/star/script/vba/VBAEventProcessor.idl39
-rw-r--r--offapi/com/sun/star/script/vba/VBAMacroResolver.idl39
-rw-r--r--offapi/com/sun/star/script/vba/VBAScriptEvent.idl60
-rw-r--r--offapi/com/sun/star/script/vba/VBAScriptEventId.idl86
-rw-r--r--offapi/com/sun/star/script/vba/VBASpreadsheetEventProcessor.idl40
-rw-r--r--offapi/com/sun/star/script/vba/VBATextEventProcessor.idl40
-rw-r--r--offapi/com/sun/star/script/vba/XVBACompatibility.idl54
-rw-r--r--offapi/com/sun/star/script/vba/XVBAEventProcessor.idl86
-rw-r--r--offapi/com/sun/star/script/vba/XVBAMacroResolver.idl81
-rw-r--r--offapi/com/sun/star/script/vba/XVBAModuleInfo.idl62
-rw-r--r--offapi/com/sun/star/script/vba/XVBAScriptListener.idl41
56 files changed, 3159 insertions, 0 deletions
diff --git a/offapi/com/sun/star/script/DocumentDialogLibraryContainer.idl b/offapi/com/sun/star/script/DocumentDialogLibraryContainer.idl
new file mode 100644
index 000000000..3ee68bf4b
--- /dev/null
+++ b/offapi/com/sun/star/script/DocumentDialogLibraryContainer.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 .
+ */
+
+#ifndef __com_sun_star_script_DocumentDialogLibraryContainer_idl__
+#define __com_sun_star_script_DocumentDialogLibraryContainer_idl__
+
+#include <com/sun/star/script/XStorageBasedLibraryContainer.idl>
+#include <com/sun/star/document/XStorageBasedDocument.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+
+module com { module sun { module star { module script {
+
+
+/** defines a container of dialog libraries, which is to be made
+ persistent in a sub storage of a document storage.
+
+ @since OOo 2.3
+ */
+service DocumentDialogLibraryContainer : XStorageBasedLibraryContainer
+{
+ /** creates an instance of the <code>DocumentDialogLibraryContainer</code>, belonging to a document
+
+ <p>The current storage of the document will be set as initial root storage
+ (see XPersistentLibraryContainer::RootStorage) of the container.</p>
+
+ <p>Usually, you will only create a <code>DocumentDialogLibraryContainer</code> within
+ the implementation of the document to which the container should belong.</p>
+
+ @param Document
+ The document to which the container should belong to. Must not be
+ `NULL`.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if <code>Document</code> does not denote a valid
+ com::sun::star::document::OfficeDocument.
+ */
+ create( [in] ::com::sun::star::document::XStorageBasedDocument Document )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+ createWithURL( [in] string URL );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/DocumentScriptLibraryContainer.idl b/offapi/com/sun/star/script/DocumentScriptLibraryContainer.idl
new file mode 100644
index 000000000..1c09688d2
--- /dev/null
+++ b/offapi/com/sun/star/script/DocumentScriptLibraryContainer.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 .
+ */
+
+#ifndef __com_sun_star_script_DocumentScriptLibraryContainer_idl__
+#define __com_sun_star_script_DocumentScriptLibraryContainer_idl__
+
+#include <com/sun/star/script/XStorageBasedLibraryContainer.idl>
+#include <com/sun/star/document/XStorageBasedDocument.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+
+module com { module sun { module star { module script {
+
+
+/** defines a container of StarBasic script libraries, which is to be made
+ persistent in a sub storage of a document storage.
+
+ @since OOo 2.3
+ */
+service DocumentScriptLibraryContainer : XStorageBasedLibraryContainer
+{
+ /** creates an instance of the <code>DocumentScriptLibraryContainer</code>, belonging to a document
+
+ <p>The current storage of the document will be set as initial root storage
+ (see XPersistentLibraryContainer::RootStorage) of the container.</p>
+
+ <p>Usually, you will only create a <code>DocumentScriptLibraryContainer</code> within
+ the implementation of the document to which the container should belong.</p>
+
+ @param Document
+ The document to which the container should belong to. Must not be
+ `NULL`.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if <code>Document</code> does not denote a valid
+ com::sun::star::document::OfficeDocument.
+ */
+ create( [in] ::com::sun::star::document::XStorageBasedDocument Document )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+ createWithURL( [in] string URL );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/LibraryNotLoadedException.idl b/offapi/com/sun/star/script/LibraryNotLoadedException.idl
new file mode 100644
index 000000000..538433328
--- /dev/null
+++ b/offapi/com/sun/star/script/LibraryNotLoadedException.idl
@@ -0,0 +1,44 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_LibraryNotLoadedException_idl__
+#define __com_sun_star_script_LibraryNotLoadedException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module script {
+
+
+/** is thrown when an operation on a unloaded library is attempted which requires the library
+ being loaded.
+
+ @since OOo 3.0
+*/
+exception LibraryNotLoadedException : com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/ModuleInfo.idl b/offapi/com/sun/star/script/ModuleInfo.idl
new file mode 100644
index 000000000..cbbae8689
--- /dev/null
+++ b/offapi/com/sun/star/script/ModuleInfo.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 .
+ */
+
+#ifndef __com_sun_star_script_ModuleInfo_idl__
+#define __com_sun_star_script_ModuleInfo_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module script {
+struct ModuleInfo
+{
+ com::sun::star::uno::XInterface ModuleObject;
+ long ModuleType;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/ModuleSizeExceededRequest.idl b/offapi/com/sun/star/script/ModuleSizeExceededRequest.idl
new file mode 100644
index 000000000..21e9beeaf
--- /dev/null
+++ b/offapi/com/sun/star/script/ModuleSizeExceededRequest.idl
@@ -0,0 +1,43 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_script_ModuleSizeExceededRequest_idl__
+#define __com_sun_star_script_ModuleSizeExceededRequest_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module script {
+
+/** Is used for interaction handle in case password protected modules exceed the size that can be stored in OpenOffice 2.x, 1.x formats
+
+*/
+exception ModuleSizeExceededRequest : ::com::sun::star::uno::Exception
+{
+ /** The name of the modules that exceed size that can be stored
+ */
+ sequence< string > Names;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/ModuleType.idl b/offapi/com/sun/star/script/ModuleType.idl
new file mode 100644
index 000000000..2f31ca019
--- /dev/null
+++ b/offapi/com/sun/star/script/ModuleType.idl
@@ -0,0 +1,40 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_ModuleType_idl__
+#define __com_sun_star_script_ModuleType_idl__
+
+
+module com { module sun { module star { module script {
+
+published constants ModuleType
+{
+ const long UNKNOWN = 0;
+ const long NORMAL = 1;
+ const long CLASS = 2;
+ const long FORM = 3;
+ const long DOCUMENT = 4;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/NativeObjectWrapper.idl b/offapi/com/sun/star/script/NativeObjectWrapper.idl
new file mode 100644
index 000000000..d8db91a4e
--- /dev/null
+++ b/offapi/com/sun/star/script/NativeObjectWrapper.idl
@@ -0,0 +1,34 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_NativeObjectWrapper_idl__
+#define __com_sun_star_script_NativeObjectWrapper_idl__
+
+module com { module sun { module star { module script {
+struct NativeObjectWrapper
+{
+ any ObjectId;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/XLibraryContainer.idl b/offapi/com/sun/star/script/XLibraryContainer.idl
new file mode 100644
index 000000000..9b768fe89
--- /dev/null
+++ b/offapi/com/sun/star/script/XLibraryContainer.idl
@@ -0,0 +1,95 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_script_XLibraryContainer_idl__
+#define __com_sun_star_script_XLibraryContainer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+#include <com/sun/star/container/ElementExistException.idl>
+
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+
+
+module com { module sun { module star { module script {
+
+
+/**
+ Provides access to a library system.
+ */
+published interface XLibraryContainer: com::sun::star::container::XNameAccess
+{
+ /**
+ Creates a new library
+ */
+ com::sun::star::container::XNameContainer createLibrary( [in] string Name )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::ElementExistException );
+
+ /**
+ Creates a link to an "external" library that then can be
+ accessed using this library manager. The format of the
+ StorageURL is a matter of the implementation. If the read
+ only flag is set, the linked library cannot be modified.
+ In this case, the returned interface really is only an
+ XNameAccess. If ReadOnly is false (and the referenced
+ storage allows write access) the returned interface also
+ can be a com::sun::star::container::XNameContainer.
+ */
+ com::sun::star::container::XNameAccess createLibraryLink( [in] string Name, [in] string StorageURL, [in] boolean ReadOnly )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::ElementExistException );
+
+ /** removes the library item with the specified name. If the accessed
+ library item is a link only the link is removed, not the target library.
+ */
+ void removeLibrary( [in] string Name )
+ raises( com::sun::star::container::NoSuchElementException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /**
+ returns true if the accessed library is already loaded from
+ the storage, otherwise false.
+ */
+ boolean isLibraryLoaded( [in] string Name )
+ raises( com::sun::star::container::NoSuchElementException );
+
+ /**
+ Causes the accessed library to be loaded from its storage
+ if it hasn't already been loaded.
+ */
+ void loadLibrary( [in] string Name )
+ raises( com::sun::star::container::NoSuchElementException,
+ com::sun::star::lang::WrappedTargetException );
+
+};
+
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/XLibraryContainer2.idl b/offapi/com/sun/star/script/XLibraryContainer2.idl
new file mode 100644
index 000000000..1b0a9ac9e
--- /dev/null
+++ b/offapi/com/sun/star/script/XLibraryContainer2.idl
@@ -0,0 +1,88 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_script_XLibraryContainer2_idl__
+#define __com_sun_star_script_XLibraryContainer2_idl__
+
+#include <com/sun/star/script/XLibraryContainer.idl>
+
+
+
+ module com { module sun { module star { module script {
+
+
+/**
+ Extension of XLibraryContainer to provide additional information
+ about the libraries contained in a library container
+ */
+published interface XLibraryContainer2: com::sun::star::script::XLibraryContainer
+{
+ /**
+ returns true if the accessed library item is a link,
+ e.g., created by createLibraryLink, otherwise false.
+ */
+ boolean isLibraryLink( [in] string Name )
+ raises( com::sun::star::container::NoSuchElementException );
+
+ /**
+ returns the location of the library link target.
+ Should return the same URL that was passed to
+ createLibraryLink in the StorageURL parameter.
+
+ If the accessed library item exists but isn't a
+ link, an IllegalArgumentException is thrown
+ */
+ string getLibraryLinkURL( [in] string Name )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::NoSuchElementException );
+
+ /**
+ returns true if the accessed library item (library or library
+ link) is read only. A library can be read only because it was
+ set to read only using the methods provided by this interface
+ or because of other reasons depending on the implementation
+ (e.g., file system write protection)
+ */
+ boolean isLibraryReadOnly( [in] string Name )
+ raises( com::sun::star::container::NoSuchElementException );
+
+ /**
+ Sets the accessed library item (library or library link) to
+ read only according to the flag bReadOnly (true means read only)
+ */
+ void setLibraryReadOnly( [in] string Name, [in] boolean bReadOnly )
+ raises( com::sun::star::container::NoSuchElementException );
+
+ /** renames the library item with the specified name. If the accessed
+ library item is a link only the link is renamed, not the target library.
+ If a library with the new name exists already a
+ com::sun::star::container::ElementExistException is thrown.
+ */
+ void renameLibrary( [in] string Name, [in] string NewName )
+ raises( com::sun::star::container::NoSuchElementException,
+ com::sun::star::container::ElementExistException );
+
+};
+
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/XLibraryContainer3.idl b/offapi/com/sun/star/script/XLibraryContainer3.idl
new file mode 100644
index 000000000..55b38a2d0
--- /dev/null
+++ b/offapi/com/sun/star/script/XLibraryContainer3.idl
@@ -0,0 +1,55 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_script_XLibraryContainer3_idl__
+#define __com_sun_star_script_XLibraryContainer3_idl__
+
+#include <com/sun/star/script/XLibraryContainer2.idl>
+
+
+
+ module com { module sun { module star { module script {
+
+
+/**
+ Extension of XLibraryContainer2.
+ */
+published interface XLibraryContainer3: com::sun::star::script::XLibraryContainer2
+{
+
+ /**
+ returns the location of the library link target.
+
+ The returned URL is literally the same as the one provided in
+ XLibraryContainer::createLibraryLink(). Otherwise the behavior
+ is the same as XLibraryContainer2::getLibraryLinkURL()
+ */
+ string getOriginalLibraryLinkURL( [in] string Name )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::NoSuchElementException );
+
+
+};
+
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/XLibraryContainerExport.idl b/offapi/com/sun/star/script/XLibraryContainerExport.idl
new file mode 100644
index 000000000..2e68eefb1
--- /dev/null
+++ b/offapi/com/sun/star/script/XLibraryContainerExport.idl
@@ -0,0 +1,64 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_script_XLibraryContainerExport_idl__
+#define __com_sun_star_script_XLibraryContainerExport_idl__
+
+#include <com/sun/star/task/XInteractionHandler.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+
+
+ module com { module sun { module star { module script {
+
+
+/**
+ Extension of XLibraryContainer to provide functionality to
+ store a library to a location represented by a URL.
+ */
+interface XLibraryContainerExport : com::sun::star::uno::XInterface
+{
+ /**
+ Exports a library specified by Name to the location
+ specified by the passed URL string.
+
+ An interaction handler can be passed to be used for internal
+ ucb operations. Exceptions not processed by this handler will
+ be passed as com::sun::star::uno::Exception. If this parameter
+ is null this applies to all exceptions thrown by ucb.
+
+ @see com::sun::star::task::InteractionHandler
+
+ If a library with the this name doesn't exist a
+ com::sun::star::container::NoSuchElementException is thrown.
+ */
+ void exportLibrary( [in] string Name, [in] string URL,
+ [in] com::sun::star::task::XInteractionHandler Handler )
+ raises( com::sun::star::uno::Exception,
+ com::sun::star::container::NoSuchElementException );
+};
+
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/XLibraryContainerPassword.idl b/offapi/com/sun/star/script/XLibraryContainerPassword.idl
new file mode 100644
index 000000000..9fa1b962e
--- /dev/null
+++ b/offapi/com/sun/star/script/XLibraryContainerPassword.idl
@@ -0,0 +1,128 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_script_XLibraryContainerPassword_idl__
+#define __com_sun_star_script_XLibraryContainerPassword_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+
+
+ module com { module sun { module star { module script {
+
+
+/**
+ Extension of XLibraryContainer to provide password functionality.
+ This interface should be implemented together with XLibraryContainer2
+ </p>
+ */
+published interface XLibraryContainerPassword: com::sun::star::uno::XInterface
+{
+ /**
+ Returns true if the accessed library item is protected
+ by a password.
+
+ If a library with the this name doesn't exist a
+ com::sun::star::container::NoSuchElementException is thrown.
+ */
+ boolean isLibraryPasswordProtected( [in] string Name )
+ raises( com::sun::star::container::NoSuchElementException );
+
+ /**
+ Returns true if the accessed library item is protected by a
+ password (see isLibraryPasswordProtected) and the password
+ was already verified with verifyLibraryPassword or if an
+ initial password was set with changeLibraryPassword.
+
+ If a library with the this name doesn't exist a
+ com::sun::star::container::NoSuchElementException is thrown.
+
+ If the library exists but isn't password protected a
+ com::sun::star::lang::IllegalArgumentException is thrown.
+ */
+ boolean isLibraryPasswordVerified( [in] string Name )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::NoSuchElementException );
+
+ /**
+ Verifies the library's password. If the correct password
+ was passed, the method returns true and further calls to
+ isLibraryPasswordVerified will also return true.
+
+ If a library with the this name doesn't exist a
+ com::sun::star::container::NoSuchElementException is thrown.
+
+ If the library exists but isn't password protected a
+ com::sun::star::lang::IllegalArgumentException is thrown.
+
+ If the library password is already verified a
+ com::sun::star::lang::IllegalArgumentException is thrown.
+ */
+ boolean verifyLibraryPassword( [in] string Name, [in] string Password )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::NoSuchElementException );
+
+ /**
+ Changes the library's password.
+
+ If the library wasn't password protected before:
+ The OldPassword parameter has to be an empty string.
+ Afterwards calls to isLibraryPasswordProtected and
+ isLibraryPasswordVerified for this library will
+ return true.
+
+ If the library already was password protected:
+ The OldPassword parameter has to be set to the
+ previous defined password. If then the NewPassword
+ parameter is an empty string the library password
+ protection will be disabled afterwards (afterwards
+ calls to isLibraryPasswordProtected for this library
+ will return false). If the NewPassword parameter is
+ not an empty string it will accepted as the new
+ password for the library.
+
+ If a library with the this name doesn't exist but isn't
+ com::sun::star::container::NoSuchElementException is thrown.
+
+ If the library exists and is password protected and a
+ wrong OldPassword is passed to the method a
+ com::sun::star::lang::IllegalArgumentException is thrown.
+
+ If the library exists and isn't password protected and
+ the OldPassword isn't an empty string or the library is
+ read only a
+ com::sun::star::lang::IllegalArgumentException is thrown.
+ */
+ void changeLibraryPassword( [in] string Name,
+ [in] string OldPassword, [in] string NewPassword )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::NoSuchElementException );
+
+};
+
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/XLibraryQueryExecutable.idl b/offapi/com/sun/star/script/XLibraryQueryExecutable.idl
new file mode 100644
index 000000000..a008272a8
--- /dev/null
+++ b/offapi/com/sun/star/script/XLibraryQueryExecutable.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 .
+ */
+#ifndef __com_sun_star_script_XLibraryQueryExecutable_idl__
+#define __com_sun_star_script_XLibraryQueryExecutable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module script {
+
+interface XLibraryQueryExecutable: com::sun::star::uno::XInterface
+{
+ boolean HasExecutableCode( [in] string name );
+};
+
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/XPersistentLibraryContainer.idl b/offapi/com/sun/star/script/XPersistentLibraryContainer.idl
new file mode 100644
index 000000000..12dea5a98
--- /dev/null
+++ b/offapi/com/sun/star/script/XPersistentLibraryContainer.idl
@@ -0,0 +1,87 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_XPersistentLibraryContainer_idl__
+#define __com_sun_star_script_XPersistentLibraryContainer_idl__
+
+#include <com/sun/star/util/XModifiable.idl>
+#include <com/sun/star/script/XLibraryContainer2.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+
+module com { module sun { module star { module script {
+
+
+/** describes a container of script libraries which is persistent.
+
+ <p>The type of persistence of the container elements is not defined here,
+ but in derived interfaces or services using
+ <code>XPersistentLibraryContainer</code>.</p>
+
+ <p>The actual libraries are stored in some object - a sub folder, or a sub storage,
+ for example - below the root location.</p>
+
+ @since OOo 2.3
+ */
+interface XPersistentLibraryContainer
+{
+ interface ::com::sun::star::util::XModifiable;
+ interface XLibraryContainer2;
+
+ /** denotes the root location associated with the container.
+
+ <p>The type of this location - it might be a folder in a file system,
+ a storage, or anything else - is not specified here, but in derived interfaces
+ or services implementing <code>XPersistentLibraryContainer</code>.</p>
+
+ <p>All operations of the library container take place in a location below
+ the root location, the so-called container location, whose
+ name is exposed as #ContainerLocationName.</p>
+
+ @see ContainerLocationName
+ */
+ [attribute, readonly] any RootLocation;
+
+ /** denotes the name of the sub location where the container elements are
+ actually stored.
+
+ @see RootLocation
+ */
+ [attribute, readonly] string ContainerLocationName;
+
+ /** stores the libraries to the current location.
+
+ @throws ::com::sun::star::lang::WrappedTargetException
+ if an error occurs during storing.
+
+ @see RootLocation
+ @see ContainerLocationName
+ */
+ void storeLibraries()
+ raises ( ::com::sun::star::lang::WrappedTargetException );
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/XServiceDocumenter.idl b/offapi/com/sun/star/script/XServiceDocumenter.idl
new file mode 100644
index 000000000..32c86ea17
--- /dev/null
+++ b/offapi/com/sun/star/script/XServiceDocumenter.idl
@@ -0,0 +1,31 @@
+/* -*- 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/.
+ */
+
+#ifndef __com_sun_star_script_XServiceDocumenter_idl__
+#define __com_sun_star_script_XServiceDocumenter_idl__
+
+module com { module sun { module star { module script {
+
+/** provides documentation for UNO services
+ @since LibreOffice 5.1
+ */
+interface XServiceDocumenter
+{
+ [attribute] string ServiceBaseUrl;
+ [attribute] string CoreBaseUrl;
+ void showServiceDocs( [in] com::sun::star::lang::XServiceInfo xService );
+ void showInterfaceDocs( [in] com::sun::star::lang::XTypeProvider xTypeProvider );
+ void showCoreDocs( [in] com::sun::star::lang::XServiceInfo xService );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/XStorageBasedLibraryContainer.idl b/offapi/com/sun/star/script/XStorageBasedLibraryContainer.idl
new file mode 100644
index 000000000..4a531f587
--- /dev/null
+++ b/offapi/com/sun/star/script/XStorageBasedLibraryContainer.idl
@@ -0,0 +1,91 @@
+/* -*- 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 .
+ */
+
+
+#ifndef __com_sun_star_script_XStorageBasedLibraryContainer_idl__
+#define __com_sun_star_script_XStorageBasedLibraryContainer_idl__
+
+#include <com/sun/star/embed/XStorage.idl>
+#include <com/sun/star/script/XPersistentLibraryContainer.idl>
+
+
+module com { module sun { module star { module script {
+
+
+/** is the interface for an XLibraryContainer which can be made
+ persistent in a com::sun::star::embed::XStorage.
+
+ <p>A persistent library container is associated with a root storage. The
+ container is responsible for a particular sub storage of the root storage,
+ the container storage.</p>
+
+ @since OOo 2.3
+ */
+interface XStorageBasedLibraryContainer
+{
+ interface XPersistentLibraryContainer;
+
+ /** denotes the root storage associated with the container.
+
+ <p>Effectively, this attribute is a typed version of
+ XPersistentLibraryContainer::RootLocation, it's guaranteed
+ that at every time, <code>XPersistentLibraryContainer::RootLocation</code> and
+ <code>RootStorage</code> have the same value.</p>
+
+ <p>You should only <em>set</em> this attribute to a new value if you previously
+ called storeLibrariesToStorage with the same storage. Setting this attribute
+ to a storage into which the container has not been stored previously might
+ result in unexpected behavior.</p>
+ */
+ [attribute] ::com::sun::star::embed::XStorage RootStorage
+ {
+ set raises ( ::com::sun::star::lang::IllegalArgumentException );
+ };
+
+ /** stores the libraries to a storage other than the current container storage
+
+ <p>Note that the library container is not automatically associated with the
+ new root storage. Instead, you need to manually set the RootStorage
+ attribute afterwards. This separation allows for Save-To as well Save-As
+ operations.</p>
+
+ @param RootStorage
+ denotes the root storage into which the libraries should be written, which
+ must not be `NULL`.<br/>
+ Note that the actual libraries are written into a sub storage of this
+ root storage, as usual.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the <code>RootStorage</code> parameter is `NULL`, or equals
+ #RootStorage.
+
+ @throws ::com::sun::star::lang::WrappedTargetException
+ if an error occurs during storing.
+ */
+ void storeLibrariesToStorage( [in] ::com::sun::star::embed::XStorage RootStorage )
+ raises ( ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/browse/BrowseNode.idl b/offapi/com/sun/star/script/browse/BrowseNode.idl
new file mode 100644
index 000000000..390e11e4f
--- /dev/null
+++ b/offapi/com/sun/star/script/browse/BrowseNode.idl
@@ -0,0 +1,52 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_browse_BrowseNode_idl__
+#define __com_sun_star_script_browse_BrowseNode_idl__
+
+#include <com/sun/star/script/browse/XBrowseNode.idl>
+#include <com/sun/star/script/XInvocation.idl>
+
+module com {
+ module sun {
+ module star {
+ module script {
+ module browse {
+
+/**
+ This service provides access to the Macros and Macro containers via the
+ XBrowseNode interface. XInvocation is an optional interface that is used
+ to execute macros, or to create/delete/rename macros or macro containers.
+
+ @since OOo 2.0
+*/
+service BrowseNode
+{
+ interface ::com::sun::star::script::browse::XBrowseNode;
+ [ optional ] interface ::com::sun::star::script::XInvocation;
+};
+
+ };
+ };
+ };
+ };
+};
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/browse/BrowseNodeFactory.idl b/offapi/com/sun/star/script/browse/BrowseNodeFactory.idl
new file mode 100644
index 000000000..a600b6a23
--- /dev/null
+++ b/offapi/com/sun/star/script/browse/BrowseNodeFactory.idl
@@ -0,0 +1,42 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_browse_BrowseNodeFactory_idl__
+#define __com_sun_star_script_browse_BrowseNodeFactory_idl__
+
+#include <com/sun/star/script/browse/XBrowseNodeFactory.idl>
+
+module com { module sun { module star { module script { module browse {
+
+/**
+ This service is used to create Root XBrowseNodes.
+
+ @since OOo 2.0
+ @deprecated use the singleton theBrowseNodeFactory
+*/
+service BrowseNodeFactory
+{
+ interface XBrowseNodeFactory;
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/browse/BrowseNodeFactoryViewTypes.idl b/offapi/com/sun/star/script/browse/BrowseNodeFactoryViewTypes.idl
new file mode 100644
index 000000000..79323bd2a
--- /dev/null
+++ b/offapi/com/sun/star/script/browse/BrowseNodeFactoryViewTypes.idl
@@ -0,0 +1,44 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_browse_BrowseNodeFactoryViewTypes_idl__
+#define __com_sun_star_script_browse_BrowseNodeFactoryViewTypes_idl__
+
+
+module com { module sun { module star { module script { module browse {
+/**
+ These constants define the three different types of views available from
+ BrowseNodeFactory.
+*/
+constants BrowseNodeFactoryViewTypes
+{
+ /**
+ Indicates view is a script selector
+ */
+ const short MACROSELECTOR = 0;
+ /**
+ Indicates view is script organizer
+ */
+ const short MACROORGANIZER = 1;
+};
+
+}; }; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/browse/BrowseNodeTypes.idl b/offapi/com/sun/star/script/browse/BrowseNodeTypes.idl
new file mode 100644
index 000000000..114884019
--- /dev/null
+++ b/offapi/com/sun/star/script/browse/BrowseNodeTypes.idl
@@ -0,0 +1,49 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_browse_BrowseNodeTypes_idl__
+#define __com_sun_star_script_browse_BrowseNodeTypes_idl__
+
+
+module com { module sun { module star { module script { module browse {
+/**
+ These constants define the three different types of nodes in the BrowseNode
+ hierarchy.
+*/
+constants BrowseNodeTypes
+{
+ /**
+ Indicates node is a script
+ */
+ const short SCRIPT = 0;
+ /**
+ Indicates node is a container
+ */
+ const short CONTAINER = 1;
+ /**
+ Indicates node is root of the tree.
+ */
+ const short ROOT = 2;
+
+};
+
+}; }; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/browse/XBrowseNode.idl b/offapi/com/sun/star/script/browse/XBrowseNode.idl
new file mode 100644
index 000000000..64467b920
--- /dev/null
+++ b/offapi/com/sun/star/script/browse/XBrowseNode.idl
@@ -0,0 +1,70 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_browse_XBrowseNode_idl__
+#define __com_sun_star_script_browse_XBrowseNode_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module script { module browse {
+/**
+ This interface represents a node in the hierarchy used to browse
+ available scripts.
+ Objects implementing this interface are expected to also implement
+ com.sun.star.beans.XPropertySet and, optionally,
+ com.sun.star.script.XInvocation (see the Developer's Guide for
+ more details).
+*/
+interface XBrowseNode : ::com::sun::star::uno::XInterface
+{
+ /**
+ Get the name of the node
+
+ @return
+ The `string` name of this node
+ */
+ string getName();
+
+ /**
+ Get the children of this node
+
+ @returns
+ ::com::sun::star::script::browse::XBrowseNode sequence of child nodes
+ */
+ sequence < XBrowseNode > getChildNodes();
+
+ /**
+ Indicates if this node contains any children
+
+ @returns
+ ` boolean ` true if there are child nodes.
+ */
+ boolean hasChildNodes();
+
+ /** the type of the node.
+ @returns A `short` representing the type of this node.
+ */
+ short getType();
+
+};
+
+}; }; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/browse/XBrowseNodeFactory.idl b/offapi/com/sun/star/script/browse/XBrowseNodeFactory.idl
new file mode 100644
index 000000000..efa3eb875
--- /dev/null
+++ b/offapi/com/sun/star/script/browse/XBrowseNodeFactory.idl
@@ -0,0 +1,50 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_browse_XBrowseNodeFactory_idl__
+#define __com_sun_star_script_browse_XBrowseNodeFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/script/browse/XBrowseNode.idl>
+#include <com/sun/star/script/browse/BrowseNodeFactoryViewTypes.idl>
+
+
+module com { module sun { module star { module script { module browse {
+
+/**
+ This interface provides a factory for obtaining objects implementing the
+ XBrowseNode interface.
+*/
+interface XBrowseNodeFactory : ::com::sun::star::uno::XInterface {
+
+ /** a factory method for the creation of XBrowseNodes
+ ( view ) ::com::sun::star::script::browse::BrowseNodeFactoryViewTypes specifies the type of view to be returned
+
+ @returns
+ an object implementing ::com::sun::star::script::browse::XBrowseNode
+
+ */
+ com::sun::star::script::browse::XBrowseNode createView( [in] short viewType );
+};
+
+}; }; }; }; }; // com::sun::star::script::provider
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/browse/theBrowseNodeFactory.idl b/offapi/com/sun/star/script/browse/theBrowseNodeFactory.idl
new file mode 100644
index 000000000..e07cc1157
--- /dev/null
+++ b/offapi/com/sun/star/script/browse/theBrowseNodeFactory.idl
@@ -0,0 +1,43 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_browse_theBrowseNodeFactory_idl__
+#define __com_sun_star_script_browse_theBrowseNodeFactory_idl__
+
+#include <com/sun/star/script/browse/XBrowseNodeFactory.idl>
+
+module com { module sun { module star { module script { module browse {
+
+/**
+ The one and only BrowseNodeFactory.
+
+ To get the singleton call getValueByName on the component context
+ <pre>
+ /singletons/com.sun.star.script.theBrowseNodeFactory
+ </pre>
+
+ @since OOo 2.0
+*/
+singleton theBrowseNodeFactory : XBrowseNodeFactory;
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 000000000..13eea5191
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/LanguageScriptProvider.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 .
+ */
+
+#ifndef __com_sun_star_script_provider_LanguageScriptProvider_idl__
+#define __com_sun_star_script_provider_LanguageScriptProvider_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/script/provider/ScriptProvider.idl>
+
+
+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
+
+#endif
+
+/* 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 000000000..f38684eb3
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/MasterScriptProvider.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 .
+ */
+
+#ifndef __com_sun_star_script_provider_MasterScriptProvider_idl__
+#define __com_sun_star_script_provider_MasterScriptProvider_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/script/provider/ScriptProvider.idl>
+
+
+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
+
+#endif
+
+/* 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 000000000..1d5e0391f
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/MasterScriptProviderFactory.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 .
+ */
+
+#ifndef __com_sun_star_script_provider_MasterScriptProviderFactory_idl__
+#define __com_sun_star_script_provider_MasterScriptProviderFactory_idl__
+
+
+#include <com/sun/star/script/provider/XScriptProviderFactory.idl>
+
+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;
+
+}; }; }; }; };
+
+#endif
+
+/* 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 000000000..aafdf79b8
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/ScriptErrorRaisedException.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 .
+ */
+
+#ifndef __com_sun_star_script_provider_ScriptErrorRaisedException_idl__
+#define __com_sun_star_script_provider_ScriptErrorRaisedException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+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
+
+#endif
+
+/* 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 000000000..c1d5f4ddb
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/ScriptExceptionRaisedException.idl
@@ -0,0 +1,42 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_provider_ScriptExceptionRaisedException_idl__
+#define __com_sun_star_script_provider_ScriptExceptionRaisedException_idl__
+
+#include <com/sun/star/script/provider/ScriptErrorRaisedException.idl>
+
+
+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
+
+#endif
+
+/* 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 000000000..871dfde6f
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/ScriptFrameworkErrorException.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 .
+ */
+
+#ifndef __com_sun_star_script_provider_ScriptFrameworkErrorException_idl__
+#define __com_sun_star_script_provider_ScriptFrameworkErrorException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+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
+
+#endif
+
+/* 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 000000000..07d3009b9
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/ScriptFrameworkErrorType.idl
@@ -0,0 +1,53 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_provider_ScriptFrameworkErrorType_idl__
+#define __com_sun_star_script_provider_ScriptFrameworkErrorType_idl__
+
+
+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
+
+#endif
+
+/* 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 000000000..c58645b82
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/ScriptProvider.idl
@@ -0,0 +1,44 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_provider_ScriptProvider_idl__
+#define __com_sun_star_script_provider_ScriptProvider_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/script/provider/XScriptProvider.idl>
+#include <com/sun/star/script/browse/BrowseNode.idl>
+
+
+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
+
+#endif
+
+/* 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 000000000..4192a823b
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/ScriptProviderForBasic.idl
@@ -0,0 +1,40 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_provider_ScriptProviderForBasic_idl__
+#define __com_sun_star_script_provider_ScriptProviderForBasic_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/script/provider/LanguageScriptProvider.idl>
+
+
+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
+
+#endif
+
+/* 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 000000000..720ff911c
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/ScriptProviderForBeanShell.idl
@@ -0,0 +1,40 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_provider_ScriptProviderForBeanShell_idl__
+#define __com_sun_star_script_provider_ScriptProviderForBeanShell_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/script/provider/LanguageScriptProvider.idl>
+
+
+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
+
+#endif
+
+/* 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 000000000..0e88d89a9
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/ScriptProviderForJava.idl
@@ -0,0 +1,40 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_provider_ScriptProviderForJava_idl__
+#define __com_sun_star_script_provider_ScriptProviderForJava_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/script/provider/LanguageScriptProvider.idl>
+
+
+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
+
+#endif
+
+/* 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 000000000..b2612c4ac
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/ScriptProviderForJavaScript.idl
@@ -0,0 +1,40 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_provider_ScriptProviderForJavaScript_idl__
+#define __com_sun_star_script_provider_ScriptProviderForJavaScript_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/script/provider/LanguageScriptProvider.idl>
+
+
+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
+
+#endif
+
+/* 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 000000000..e0d22ea93
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/ScriptURIHelper.idl
@@ -0,0 +1,59 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_provider_ScriptURIHelper_idl__
+#define __com_sun_star_script_provider_ScriptURIHelper_idl__
+
+#include <com/sun/star/script/provider/XScriptURIHelper.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+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
+
+#endif
+
+/* 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 000000000..d7538bc43
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/XScript.idl
@@ -0,0 +1,78 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_provider_XScript_idl__
+#define __com_sun_star_script_provider_XScript_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/script/CannotConvertException.idl>
+#include <com/sun/star/reflection/InvocationTargetException.idl>
+#include <com/sun/star/script/provider/ScriptFrameworkErrorException.idl>
+
+
+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
+
+#endif
+
+/* 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 000000000..096c7f12e
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/XScriptContext.idl
@@ -0,0 +1,93 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_provider_XScriptContext_idl__
+#define __com_sun_star_script_provider_XScriptContext_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/frame/XDesktop.idl>
+#include <com/sun/star/frame/XModel.idl>
+#include <com/sun/star/uno/XComponentContext.idl>
+
+
+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
+
+#endif
+
+/* 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 000000000..fe3f94a62
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/XScriptProvider.idl
@@ -0,0 +1,56 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_provider_XScriptProvider_idl__
+#define __com_sun_star_script_provider_XScriptProvider_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/script/provider/XScript.idl>
+#include <com/sun/star/script/provider/ScriptFrameworkErrorException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+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
+
+#endif
+
+/* 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 000000000..3bf4c8fbe
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/XScriptProviderFactory.idl
@@ -0,0 +1,56 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_provider_XScriptProviderFactory_idl__
+#define __com_sun_star_script_provider_XScriptProviderFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/script/provider/XScriptProvider.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+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
+
+#endif
+
+/* 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 000000000..25a7c6be7
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/XScriptProviderSupplier.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 .
+ */
+
+#ifndef __com_sun_star_script_provider_XScriptProviderSupplier_idl__
+#define __com_sun_star_script_provider_XScriptProviderSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/script/provider/XScriptProvider.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+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
+
+#endif
+
+/* 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 000000000..a1ace6059
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/XScriptURIHelper.idl
@@ -0,0 +1,73 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_provider_XScriptURIHelper_idl__
+#define __com_sun_star_script_provider_XScriptURIHelper_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+
+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
+
+#endif
+
+/* 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 000000000..abf17375c
--- /dev/null
+++ b/offapi/com/sun/star/script/provider/theMasterScriptProviderFactory.idl
@@ -0,0 +1,43 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_provider_theMasterScriptProviderFactory_idl__
+#define __com_sun_star_script_provider_theMasterScriptProviderFactory_idl__
+
+
+#include <com/sun/star/script/provider/XScriptProviderFactory.idl>
+
+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;
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/theServiceDocumenter.idl b/offapi/com/sun/star/script/theServiceDocumenter.idl
new file mode 100644
index 000000000..871bdbde9
--- /dev/null
+++ b/offapi/com/sun/star/script/theServiceDocumenter.idl
@@ -0,0 +1,26 @@
+/* -*- 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/.
+ */
+
+#ifndef __com_sun_star_script_theServiceDocumenter_idl__
+#define __com_sun_star_script_theServiceDocumenter_idl__
+
+#include <com/sun/star/script/XServiceDocumenter.idl>
+
+module com { module sun { module star { module script {
+
+/** Provides documentation for UNO services
+ @since LibreOffice 5.1
+ */
+singleton theServiceDocumenter : XServiceDocumenter;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/VBAEventId.idl b/offapi/com/sun/star/script/vba/VBAEventId.idl
new file mode 100644
index 000000000..f01cf84ad
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/VBAEventId.idl
@@ -0,0 +1,123 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_vba_VBAEventId_idl__
+#define __com_sun_star_script_vba_VBAEventId_idl__
+
+
+module com { module sun { module star { module script { module vba {
+
+
+/** Constants used to identify VBA document events.
+
+ <p>If one of these events is fired, a specific VBA macro in a specific
+ document code module will be executed.</p>
+
+ <p>Each event expects some specific arguments to be passed to
+ XVBAEventProcessor::processVbaEvent().</p>
+
+ @see XVBAEventProcessor
+ */
+constants VBAEventId
+{
+
+ /** An identifier not corresponding to any VBA document event. */
+ const long NO_EVENT = -1;
+
+ // Global events (identifiers from 1 to 999)
+
+ /** New document opened from template. No arguments. */
+ const long AUTO_NEW = 1;
+ /** Document opened (loaded). No arguments. */
+ const long AUTO_OPEN = 2;
+ /** Document about to be closed. No arguments. */
+ const long AUTO_CLOSE = 3;
+ /** Application start. No arguments. */
+ const long AUTO_EXEC = 4;
+ /** Application exit. No arguments. */
+ const long AUTO_EXIT = 5;
+
+ // MS Word (identifiers from 1001 to 1999)
+
+ /** New text document opened from template. No arguments. */
+ const long DOCUMENT_NEW = 1001;
+ /** Text document opened (loaded). No arguments. */
+ const long DOCUMENT_OPEN = 1002;
+ /** Document about to be closed. No arguments. */
+ const long DOCUMENT_CLOSE = 1003;
+
+ // MS Excel (identifiers from 2001 to 2999)
+
+ // document events (2001-2099)
+
+ /** Document activated. No arguments. */
+ const long WORKBOOK_ACTIVATE = 2001;
+ /** Document deactivated. No arguments. */
+ const long WORKBOOK_DEACTIVATE = 2002;
+ /** Document opened (loaded). No arguments. */
+ const long WORKBOOK_OPEN = 2003;
+ /** Document about to be closed. Arguments: [out] boolean bCancel. */
+ const long WORKBOOK_BEFORECLOSE = 2004;
+ /** Document about to be printed. Arguments: [out] boolean bCancel. */
+ const long WORKBOOK_BEFOREPRINT = 2005;
+ /** Document about to be saved. Arguments: boolean bSaveAs, [out] boolean bCancel. */
+ const long WORKBOOK_BEFORESAVE = 2006;
+ /** Document has been saved. Arguments: boolean bSuccess. */
+ const long WORKBOOK_AFTERSAVE = 2007;
+ /** New sheet inserted. Arguments: short nSheet. */
+ const long WORKBOOK_NEWSHEET = 2008;
+ /** Document window has been activated. Arguments: XController aController. */
+ const long WORKBOOK_WINDOWACTIVATE = 2009;
+ /** Document window has been deactivated. Arguments: XController aController. */
+ const long WORKBOOK_WINDOWDEACTIVATE = 2010;
+ /** Document window has been resized. Arguments: XController aController. */
+ const long WORKBOOK_WINDOWRESIZE = 2011;
+
+ // sheet events (2101-2199)
+
+ /** Worksheet has been activated (made visible). Arguments: short nSheet. */
+ const long WORKSHEET_ACTIVATE = 2101;
+ /** Worksheet has been activated (made visible). Arguments: short nSheet. */
+ const long WORKSHEET_DEACTIVATE = 2102;
+ /** Double click in the sheet. Arguments: XRange/XSheetCellRangeContainer aRange, [out] boolean bCancel. */
+ const long WORKSHEET_BEFOREDOUBLECLICK = 2103;
+ /** Right click in the sheet. Arguments: XRange/XSheetCellRangeContainer aRange, [out] boolean bCancel. */
+ const long WORKSHEET_BEFORERIGHTCLICK = 2104;
+ /** Cells in sheet have been recalculated. Arguments: short nSheet. */
+ const long WORKSHEET_CALCULATE = 2105;
+ /** Cells in sheet have been changed. Arguments: XRange/XSheetCellRangeContainer aRange. */
+ const long WORKSHEET_CHANGE = 2106;
+ /** Selection in sheet has been changed. Arguments: XRange/XSheetCellRangeContainer aRange. */
+ const long WORKSHEET_SELECTIONCHANGE = 2107;
+ /** Hyperlink has been clicked. Arguments: XCell aCell. */
+ const long WORKSHEET_FOLLOWHYPERLINK = 2108;
+
+
+ /** Implementations are allowed to use identifiers above this value for any
+ internal purpose. */
+ const long USERDEFINED_START = 1000000;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/VBAEventProcessor.idl b/offapi/com/sun/star/script/vba/VBAEventProcessor.idl
new file mode 100644
index 000000000..0053eda2e
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/VBAEventProcessor.idl
@@ -0,0 +1,39 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_vba_VBAEventProcessor_idl__
+#define __com_sun_star_script_vba_VBAEventProcessor_idl__
+
+#include <com/sun/star/script/vba/XVBAEventProcessor.idl>
+
+
+module com { module sun { module star { module script { module vba {
+
+
+service VBAEventProcessor : XVBAEventProcessor
+{
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/VBAMacroResolver.idl b/offapi/com/sun/star/script/vba/VBAMacroResolver.idl
new file mode 100644
index 000000000..4f587ef91
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/VBAMacroResolver.idl
@@ -0,0 +1,39 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_vba_VBAMacroResolver_idl__
+#define __com_sun_star_script_vba_VBAMacroResolver_idl__
+
+#include <com/sun/star/script/vba/XVBAMacroResolver.idl>
+
+
+module com { module sun { module star { module script { module vba {
+
+
+service VBAMacroResolver : XVBAMacroResolver
+{
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/VBAScriptEvent.idl b/offapi/com/sun/star/script/vba/VBAScriptEvent.idl
new file mode 100644
index 000000000..4576ec2fe
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/VBAScriptEvent.idl
@@ -0,0 +1,60 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_vba_VBAScriptEvent_idl__
+#define __com_sun_star_script_vba_VBAScriptEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+module com { module sun { module star { module script { module vba {
+
+
+/** Describes a VBA script event fired via
+ XVBACompatibility::broadcastVBAScriptEvent(), and received by
+ XVBAScriptListener::notifyVBAScriptEvent().
+
+ @see XVBACompatibility
+ @see XVBAScriptListener
+ */
+struct VBAScriptEvent : ::com::sun::star::lang::EventObject
+{
+
+ /** Identifies the type of the event.
+
+ @see VBAScriptEventId
+ */
+ long Identifier;
+
+
+ /** Contains the name of the involved VBA module.
+
+ @see VBAScriptEventId
+ */
+ string ModuleName;
+
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/VBAScriptEventId.idl b/offapi/com/sun/star/script/vba/VBAScriptEventId.idl
new file mode 100644
index 000000000..faeea8a32
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/VBAScriptEventId.idl
@@ -0,0 +1,86 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_vba_VBAScriptEventId_idl__
+#define __com_sun_star_script_vba_VBAScriptEventId_idl__
+
+
+module com { module sun { module star { module script { module vba {
+
+
+/** Identifies a VBA script event fired via
+ XVBACompatibility::broadcastVBAScriptEvent(), and received by
+ XVBAScriptListener::notifyVBAScriptEvent().
+
+ @see VBAScriptEvent
+ @see XVBACompatibility
+ @see XVBAScriptListener
+ */
+constants VBAScriptEventId
+{
+ /** This event is fired when a VBA script in the current document has been
+ started.
+
+ <p>Several scripts may run simultaneously, e.g. when a running script
+ triggers a document event that starts another script.</p>
+
+ <p>The number of running scripts can be obtained via
+ XVBACompatibility::RunningVBAScripts. The number returned
+ there will already contain the new script notified with this event.</p>
+
+ <p>The member VBAScriptEvent::ModuleName of the event
+ object will contain the name of the code module that contains the
+ started script.</p>
+ */
+ const long SCRIPT_STARTED = 0;
+
+ /** This event is fired when a VBA script in the current document stops
+ running.
+
+ <p>Several scripts may run simultaneously, e.g. when a running script
+ triggers a document event that starts another script.</p>
+
+ <p>The number of scripts still running can be obtained via
+ XVBACompatibility::RunningVBAScripts. The number returned
+ there will not contain the stopped script notified with this event
+ anymore.</p>
+
+ <p>The member VBAScriptEvent::ModuleName of the event
+ object will contain the name of the code module that contains the
+ script that has been stopped.</p>
+ */
+ const long SCRIPT_STOPPED = 1;
+
+ /** This event is fired when a VBA script in the current document tries to
+ instantiate a userform.
+
+ <p>The member VBAScriptEvent::ModuleName of the event
+ object will contain the name of the userform module.</p>
+ */
+ const long INITIALIZE_USERFORM = 2;
+
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/VBASpreadsheetEventProcessor.idl b/offapi/com/sun/star/script/vba/VBASpreadsheetEventProcessor.idl
new file mode 100644
index 000000000..ac306b042
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/VBASpreadsheetEventProcessor.idl
@@ -0,0 +1,40 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_vba_VBASpreadsheetEventProcessor_idl__
+#define __com_sun_star_script_vba_VBASpreadsheetEventProcessor_idl__
+
+#include <com/sun/star/script/vba/XVBAEventProcessor.idl>
+
+
+module com { module sun { module star { module script { module vba {
+
+
+service VBASpreadsheetEventProcessor
+{
+ interface XVBAEventProcessor;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/VBATextEventProcessor.idl b/offapi/com/sun/star/script/vba/VBATextEventProcessor.idl
new file mode 100644
index 000000000..816163fbb
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/VBATextEventProcessor.idl
@@ -0,0 +1,40 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_vba_VBATextEventProcessor_idl__
+#define __com_sun_star_script_vba_VBATextEventProcessor_idl__
+
+#include <com/sun/star/script/vba/XVBAEventProcessor.idl>
+
+
+module com { module sun { module star { module script { module vba {
+
+
+service VBATextEventProcessor
+{
+ interface XVBAEventProcessor;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/XVBACompatibility.idl b/offapi/com/sun/star/script/vba/XVBACompatibility.idl
new file mode 100644
index 000000000..072bd045a
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/XVBACompatibility.idl
@@ -0,0 +1,54 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_vba_XVBACompatibility_idl__
+#define __com_sun_star_script_vba_XVBACompatibility_idl__
+
+#include <com/sun/star/frame/XModel.idl>
+#include <com/sun/star/script/vba/XVBAScriptListener.idl>
+
+
+module com { module sun { module star { module script { module vba {
+
+interface XVBACompatibility
+{
+
+ [attribute] boolean VBACompatibilityMode;
+ [attribute ] string ProjectName;
+
+
+ [attribute, readonly] long RunningVBAScripts;
+
+
+ void addVBAScriptListener( [in] XVBAScriptListener Listener );
+
+
+ void removeVBAScriptListener( [in] XVBAScriptListener Listener );
+
+
+ void broadcastVBAScriptEvent( [in] long Identifier, [in] string ModuleName );
+
+};
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/XVBAEventProcessor.idl b/offapi/com/sun/star/script/vba/XVBAEventProcessor.idl
new file mode 100644
index 000000000..1fbf75d65
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/XVBAEventProcessor.idl
@@ -0,0 +1,86 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_vba_XVBAEventProcessor_idl__
+#define __com_sun_star_script_vba_XVBAEventProcessor_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/util/VetoException.idl>
+
+
+module com { module sun { module star { module script { module vba {
+
+
+/** Executes VBA event handlers.
+ */
+interface XVBAEventProcessor
+{
+
+ /** Returns whether a VBA event handler exists.
+
+ @param nEventId
+ The identifier of the event. Must be a constant from VBAEventId.
+
+ @param aArgs
+ Additional arguments needed to identify some event handlers, e.g. a
+ sheet index for spreadsheet events.
+
+ @return
+ `TRUE`, if the VBA event handler exists.
+ `FALSE`, for all other cases.
+ **/
+ boolean hasVbaEventHandler( [in] long nEventId, [in] sequence< any > aArgs )
+ raises (::com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Executes a VBA event handler.
+
+ @param nEventId
+ The identifier of the event. Must be a constant from VBAEventId.
+
+ @param aArgs
+ The input arguments needed to create the argument list of the VBA
+ event handler.
+
+ @return
+ `TRUE`, if event handing is enabled, and the event handler macro
+ exists and has been invoked.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the passed event identifier is not supported, or if the passed
+ arguments do not conform to the arguments expected by the specified
+ event.
+
+ @throws ::com::sun::star::util::VetoException
+ if the VBA event handler has indicated to veto the event.
+ **/
+ boolean processVbaEvent( [in] long nEventId, [in] sequence< any > aArgs )
+ raises (::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::util::VetoException);
+
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/XVBAMacroResolver.idl b/offapi/com/sun/star/script/vba/XVBAMacroResolver.idl
new file mode 100644
index 000000000..da6f0e8d2
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/XVBAMacroResolver.idl
@@ -0,0 +1,81 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_vba_XVBAMacroResolver_idl__
+#define __com_sun_star_script_vba_XVBAMacroResolver_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module script { module vba {
+
+
+/** Converts VBA macro names to script URLs and vice versa.
+ */
+interface XVBAMacroResolver
+{
+
+ /** Returns the script URL representing the passed VBA macro name.
+
+ @param aVBAMacroName
+ The VBA macro name to be resolved to a script URL. The macro name
+ may consist of up to three parts, divided by periods. The first two
+ parts are optional. The first part represents the VBA project name.
+ The second part represents the module name. The third part
+ represents the procedure name. Example: All the VBA macro names
+ "VBAProject.Module1.TestMacro", "Module1.TestMacro",
+ "VBAProject.TestMacro", and "TestMacro" may refer to the same VBA
+ procedure located in "Module" of the project "VBAProject". If the
+ module name is missing, then all modules are searched for a macro
+ with the specified name.
+
+ @return
+ The script URL referring to the passed VBA macro.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if a macro with the passed name does not exist.
+ **/
+ string resolveVBAMacroToScriptURL( [in] string aVBAMacroName )
+ raises (::com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Returns the VBA macro name for a macro with the passed script URL.
+
+ @param aScriptURL
+ The script URL to be resolved to a VBA macro name. Must be a
+ document-local script.
+
+ @return
+ The VBA macro name referring to a macro with the passed script URL.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if a macro with the passed name does not exist.
+ **/
+ string resolveScriptURLtoVBAMacro( [in] string aScriptURL )
+ raises (::com::sun::star::lang::IllegalArgumentException);
+
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/XVBAModuleInfo.idl b/offapi/com/sun/star/script/vba/XVBAModuleInfo.idl
new file mode 100644
index 000000000..5c1bd8b14
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/XVBAModuleInfo.idl
@@ -0,0 +1,62 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_script_vba_XVBAModuleInfo_idl__
+#define __com_sun_star_script_vba_XVBAModuleInfo_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/script/ModuleInfo.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/container/ElementExistException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+
+module com { module sun { module star { module script { module vba {
+
+interface XVBAModuleInfo
+{
+
+ com::sun::star::script::ModuleInfo getModuleInfo( [in] string ModuleName )
+ raises( com::sun::star::container::NoSuchElementException,
+ com::sun::star::lang::WrappedTargetException );
+
+
+ boolean hasModuleInfo( [in] string ModuleName );
+
+
+ void insertModuleInfo( [in] string ModuleName,
+ [in] com::sun::star::script::ModuleInfo ModuleInfo )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::ElementExistException,
+ com::sun::star::lang::WrappedTargetException );
+
+
+ void removeModuleInfo( [in] string ModuleName )
+ raises( com::sun::star::container::NoSuchElementException,
+ com::sun::star::lang::WrappedTargetException );
+
+};
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/XVBAScriptListener.idl b/offapi/com/sun/star/script/vba/XVBAScriptListener.idl
new file mode 100644
index 000000000..3113aa920
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/XVBAScriptListener.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 .
+ */
+
+#ifndef __com_sun_star_script_vba_XVBAScriptListener_idl__
+#define __com_sun_star_script_vba_XVBAScriptListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/script/vba/VBAScriptEvent.idl>
+
+
+module com { module sun { module star { module script { module vba {
+
+
+interface XVBAScriptListener : ::com::sun::star::lang::XEventListener
+{
+ void notifyVBAScriptEvent( [in] VBAScriptEvent Event );
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */