diff options
Diffstat (limited to '')
20 files changed, 1023 insertions, 0 deletions
diff --git a/offapi/com/sun/star/script/provider/LanguageScriptProvider.idl b/offapi/com/sun/star/script/provider/LanguageScriptProvider.idl new file mode 100644 index 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: */ |