diff options
Diffstat (limited to 'udkapi/com/sun/star/script')
48 files changed, 3243 insertions, 0 deletions
diff --git a/udkapi/com/sun/star/script/AllEventObject.idl b/udkapi/com/sun/star/script/AllEventObject.idl new file mode 100644 index 000000000..658de9bc2 --- /dev/null +++ b/udkapi/com/sun/star/script/AllEventObject.idl @@ -0,0 +1,63 @@ +/* -*- 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_AllEventObject_idl__ +#define __com_sun_star_script_AllEventObject_idl__ + +#include <com/sun/star/lang/EventObject.idl> + +#include <com/sun/star/reflection/XIdlClass.idl> + + + + module com { module sun { module star { module script { + +/** This event is a wrapper for an original event in a forwarding event. + + <p> Usually the original event is the first argument in the + array of arguments. </p> + */ +published struct AllEventObject: com::sun::star::lang::EventObject +{ + /** A helper value for the implementation that can be used arbitrarily. + + <p>This field reflects the third parameter of the method + XAllListenerAdapterService::createAllListerAdapter(). + </p> + */ + any Helper; + + /** contains the type of the original listener. + */ + type ListenerType; + + /** The original method name on which the event was fired. + */ + string MethodName; + + /** The arguments of the original method. + */ + sequence<any> Arguments; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/AllListenerAdapter.idl b/udkapi/com/sun/star/script/AllListenerAdapter.idl new file mode 100644 index 000000000..48551c8fd --- /dev/null +++ b/udkapi/com/sun/star/script/AllListenerAdapter.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_AllListenerAdapter_idl__ +#define __com_sun_star_script_AllListenerAdapter_idl__ + +#include <com/sun/star/script/XAllListenerAdapterService.idl> + + + + module com { module sun { module star { module script { + +/** makes it possible to generate the adapters from specific + interfaces to the interface XAllListener. + */ +published service AllListenerAdapter + : com::sun::star::script::XAllListenerAdapterService; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/ArrayWrapper.idl b/udkapi/com/sun/star/script/ArrayWrapper.idl new file mode 100644 index 000000000..b786f303c --- /dev/null +++ b/udkapi/com/sun/star/script/ArrayWrapper.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_ArrayWrapper_idl__ +#define __com_sun_star_script_ArrayWrapper_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +module com { module sun { module star { module script { + +/** Allows a UNO sequence that is passed between different language + boundaries to indicate it prefers to be represented as a multidimensional + array with 0 or 1 based indices. UNO does not natively represent + Multi-Dimensional arrays, instead a sequence can have elements that are + themselves sequences (an array of arrays ). <p>Some languages ( example + BASIC ) can natively represent both Multi-Dimensional arrays and array of + arrays. + Those languages could represent a sequence of sequences as either a + Multi-Dimensional array or array of arrays. This structure allows a + preference for a Multi-Dimensional array representation to be specified.</p> +*/ + +struct ArrayWrapper +{ + /** Indicates whether the Array should be have 1 or 0 based indexing. + */ + boolean IsZeroIndex; + /** Contains the Array to be passed. + <p> Multi-dimensional arrays can only be represented as a sequence where the elements of the sequence are themselves sequences. N-Levels of indirection are possible, where N is the number of dimensions. Note: its perfectly legal to use this structure with a single dimensioned array just to indicate the array indexing.</p> + */ + any Array; +}; + + +}; }; }; }; + +#endif + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/BasicErrorException.idl b/udkapi/com/sun/star/script/BasicErrorException.idl new file mode 100644 index 000000000..e967e4bc0 --- /dev/null +++ b/udkapi/com/sun/star/script/BasicErrorException.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_BasicErrorException_idl__ +#define __com_sun_star_script_BasicErrorException_idl__ + +#include <com/sun/star/uno/Exception.idl> + + + +module com { module sun { module star { module script { + + +/** is thrown in order to transport an error to Basic. + + @since OOo 2.0 + */ +published exception BasicErrorException: com::sun::star::uno::Exception +{ + + /** The error code. + */ + long ErrorCode; + + + /** Specifies the argument which is used in the localized error message for + the placeholder. + */ + string ErrorMessageArgument; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/CannotConvertException.idl b/udkapi/com/sun/star/script/CannotConvertException.idl new file mode 100644 index 000000000..4d43a91da --- /dev/null +++ b/udkapi/com/sun/star/script/CannotConvertException.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_CannotConvertException_idl__ +#define __com_sun_star_script_CannotConvertException_idl__ + +#include <com/sun/star/uno/Exception.idl> + +#include <com/sun/star/uno/TypeClass.idl> + + + + module com { module sun { module star { module script { + + +/** This exception is thrown to indicate that a type conversion can not be performed. +*/ +published exception CannotConvertException: com::sun::star::uno::Exception +{ + /** This member contains the class of the type to which the value should be + converted. + */ + com::sun::star::uno::TypeClass DestinationTypeClass; + + /** This member contains the reason that the conversion failed. + Have a look at FailReason. + */ + long Reason; + + /** If the conversion of a method argument fails, this is the index + of the value in the "IN" argument list. [optional] + */ + long ArgumentIndex; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/CannotCreateAdapterException.idl b/udkapi/com/sun/star/script/CannotCreateAdapterException.idl new file mode 100644 index 000000000..c10a0d833 --- /dev/null +++ b/udkapi/com/sun/star/script/CannotCreateAdapterException.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_CannotCreateAdapterException_idl__ +#define __com_sun_star_script_CannotCreateAdapterException_idl__ + +#include <com/sun/star/uno/Exception.idl> + + + + module com { module sun { module star { module script { + +/** is thrown by an attacher if an adapter service cannot create the + appropriate adapter. + + @see com::sun::star::script::XAllListenerAdapterService + @see com::sun::star::script::XEventAttacher + @see com::sun::star::script::XEventAttacherManager + */ +published exception CannotCreateAdapterException: com::sun::star::uno::Exception +{ +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/ContextInformation.idl b/udkapi/com/sun/star/script/ContextInformation.idl new file mode 100644 index 000000000..ba77b91e4 --- /dev/null +++ b/udkapi/com/sun/star/script/ContextInformation.idl @@ -0,0 +1,84 @@ +/* -*- 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_ContextInformation_idl__ +#define __com_sun_star_script_ContextInformation_idl__ + + + + module com { module sun { module star { module script { + +/** provides information about a certain stack frame. + + @deprecated + */ +published struct ContextInformation +{ + /** Full qualified name to address the module or function associated with the context. + If the module or function can't be addressed by name, e.g., in case that a runtime + generated eval-module is executed, this string is empty + */ + string Name; + + /** Source code of the Module, that is associated with the context. If the source can + be accessed using the ModuleName or if the source is unknown (executing compiled + code) this string can be empty. + */ + string SourceCode; + + /** contains the first line in the module's source code associated with + the context. + + <p>If "name" addresses a function, all line and column values + are nevertheless given relative to the module's source. If + source code is not available, this value addresses a binary + position in the compiled code. </p> + + @see XLibraryAccess::getModuleCode + @see XLibraryAccess::getFunctionCode + */ + long StartLine; + + /** contains the first column in the <var>StartLine</var> associated with + the context. + */ + long StartColumn; + + + /** contains the last line in the module's source code associated with + the context. + */ + long EndLine; + + /** contains the first column in the <var>EndLine</var> that is NOT + associated with the context. + */ + long EndColumn; + + /** Get all names of the local variable in this context. + */ + sequence<string> LocalVariableNames; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/Converter.idl b/udkapi/com/sun/star/script/Converter.idl new file mode 100644 index 000000000..6b46d6f83 --- /dev/null +++ b/udkapi/com/sun/star/script/Converter.idl @@ -0,0 +1,84 @@ +/* -*- 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_Converter_idl__ +#define __com_sun_star_script_Converter_idl__ + +#include <com/sun/star/script/XTypeConverter.idl> + + + + module com { module sun { module star { module script { + + +/** This service provides a widening converter converting from one type to another, + if possible. + + <p>What is possible? + <ul> + <li>byte: byte, (short *1), (long *1), (hyper *1), (float *1), (double *1), (enum *2), (any *3), boolean, (char *4), (string *5)</li> + <li>short: byte, short, (long *1), (hyper *1), (float *7), (double *7), (enum *2), (any *3), boolean, char, (string *5)</li> + <li>long: byte, short, long, (hyper *1), (float *7), (double *7), enum, (any *3), boolean, char, (string *5)</li> + <li>hyper: byte, short, long, hyper, (float *7), (double *7), enum, (any *3), boolean, char, (string *5)</li> + <li>float: byte, short, long, hyper, float, (double *7), (enum *8), (any *3), boolean, char, (string *5)</li> + <li>double: byte, short, long, hyper, float, double, enum, (any *3), boolean, char, (string *5)</li> + <li>enum: (byte *9), (short *9), (long *9), (hyper *9), (float *9), (double *9), (enum *10), (any *3), (string *11)</li> + <li>void: ok for all types</li> + <li>any: ok for all types</li> + <li>boolean: byte, short, long, hyper, float, double, (any *3), boolean, char, (string *12). 0 => false, != 0 => true</li> + <li>char: byte, short, (long *1), (hyper *1), (float *7), (double *7), enum, (any *3), boolean, char, (string *13)</li> + <li>string: byte, short, long, hyper, float, double, enum, (any *3), boolean, char, string</li> + <li>struct: (any *3), (struct *14)</li> + <li>interface: (any *3), (struct *14)</li> + <li>exception: (any *3), (exception *14)</li> + <li>union: (any *3), (union *14)</li> + <li>sequence: (any *3), (sequence *15)</li> + </ul> + rules: + <ul> + <li>1: only converts if the value is in the range of the target type.</li> + <li>2: only converts if the value, not the position, of the enum is in the range of the target type.</li> + <li>3: get value until it is not an any. Then convert it with the other rules.</li> + <li>4: only converts if the value of the character is between 0 - 255.</li> + <li>5: only converts if the value represents a decimal, hexadecimal (0x...) or a floating point number. + Examples: 10, 0x10, 10.045, 10,555, +10, +10.6e10, -10.6e-10, .16.</li> + <li>7: only converts if the value is in the range of the target type. + The value is rounded to an integer.</li> + <li>8: only converts if the float can be converted back to the same enum value.</li> + <li>9: only converts if the number is one of the enumeration type values. Normally you need + reflection information of the enum type.</li> + <li>10: only converts if it is the same enumeration type.</li> + <li>11: only converts if the string contains the name of an enumeration type value. Normally you need + core reflection information of the enum type.</li> + <li>12: only converts if the value of the string is "1", "true" or "0", "false". The comparison + is case insensitive.</li> + <li>13: only converts if the length of the string is 1 or 0.</li> + <li>14: only converts if the types are equal or the source type is derived from the destination + type.</li> + <li>15: only converts if each element of the source sequence can be converted to an element + of the destination sequence.</li> + </ul> +*/ +published service Converter: XTypeConverter; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/Engine.idl b/udkapi/com/sun/star/script/Engine.idl new file mode 100644 index 000000000..a3e59284f --- /dev/null +++ b/udkapi/com/sun/star/script/Engine.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_Engine_idl__ +#define __com_sun_star_script_Engine_idl__ + +#include <com/sun/star/script/XEngine.idl> + + + + module com { module sun { module star { module script { + +/** service that any scripting engine must implement. + + <p>The implementation of this + interface should supply the interfaces com.sun.star.script.XDebugging2 and + interface com.sun.star.script.XInvocation.</p> + @deprecated + */ +published service Engine +{ + /// The only interface of this service + interface com::sun::star::script::XEngine; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/EventListener.idl b/udkapi/com/sun/star/script/EventListener.idl new file mode 100644 index 000000000..942bc5f51 --- /dev/null +++ b/udkapi/com/sun/star/script/EventListener.idl @@ -0,0 +1,30 @@ +/* -*- 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_EventListener_idl__ +#define __com_sun_star_script_EventListener_idl__ + +#include <com/sun/star/script/XAllListener.idl> + +module com { module sun { module star { module script { + +struct EventListener +{ + com::sun::star::script::XAllListener AllListener; + any Helper; + string ListenerType; + string AddListenerParam; + string EventMethod; +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/FailReason.idl b/udkapi/com/sun/star/script/FailReason.idl new file mode 100644 index 000000000..3d8d209a6 --- /dev/null +++ b/udkapi/com/sun/star/script/FailReason.idl @@ -0,0 +1,79 @@ +/* -*- 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_FailReason_idl__ +#define __com_sun_star_script_FailReason_idl__ + + + + module com { module sun { module star { module script { + + +/** These values specify the reason why a type conversion failed. +*/ +published constants FailReason +{ + /** The given value does not fit in the range of the destination type. + */ + const long OUT_OF_RANGE = 1; + + /** The given value cannot be converted to a number. + */ + const long IS_NOT_NUMBER = 2; + + /** The given value cannot be converted to an enumeration. + */ + const long IS_NOT_ENUM = 3; + + /** The given value cannot be converted to a boolean. + */ + const long IS_NOT_BOOL = 4; + + /** The given value is not an interface or cannot queried to the right interface. + */ + const long NO_SUCH_INTERFACE = 5; + + /** The given value cannot be converted to right structure or exception type. + */ + const long SOURCE_IS_NO_DERIVED_TYPE = 6; + + /** The type class of the given value is not supported. + */ + const long TYPE_NOT_SUPPORTED = 7; + + /** The given value cannot be converted and none of the other reasons match. + */ + const long INVALID = 8; + + /** This value is deprecated. Do not use. + @deprecated + */ + const long NO_DEFAULT_AVAILABLE = 9; + + /** This value is deprecated. Do not use. + @deprecated + */ + const long UNKNOWN = 10; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/FinishEngineEvent.idl b/udkapi/com/sun/star/script/FinishEngineEvent.idl new file mode 100644 index 000000000..e51db99d5 --- /dev/null +++ b/udkapi/com/sun/star/script/FinishEngineEvent.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_FinishEngineEvent_idl__ +#define __com_sun_star_script_FinishEngineEvent_idl__ + +#include <com/sun/star/lang/EventObject.idl> + +#include <com/sun/star/script/FinishReason.idl> + + + + module com { module sun { module star { module script { + +/** event contains the reasons and the data for the + XEngineListener::finished() method. + @deprecated + */ +published struct FinishEngineEvent: com::sun::star::lang::EventObject +{ + /** specifies why the script terminates. + */ + com::sun::star::script::FinishReason Finish; + + /** error message. + + <p>Only valid if Reason is RuntimeError or CompileError.</p> + */ + string ErrorMessage; + + /** contains the return value. + + <p>This field is only valid if FinishEngineEvent::Finish is + FinishReason::OK.</p> + */ + any Return; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/FinishReason.idl b/udkapi/com/sun/star/script/FinishReason.idl new file mode 100644 index 000000000..ed4afc9b3 --- /dev/null +++ b/udkapi/com/sun/star/script/FinishReason.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_FinishReason_idl__ +#define __com_sun_star_script_FinishReason_idl__ + + + + module com { module sun { module star { module script { + +/** contains the response for a scripting engine termination. + @deprecated + */ +published enum FinishReason +{ + /** script in the engine terminated normally. + */ + OK, + + /** script in the engine was cancelled. + */ + Cancel, + + /** error occurred during script execution or compiling. + */ + Error + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/InterruptEngineEvent.idl b/udkapi/com/sun/star/script/InterruptEngineEvent.idl new file mode 100644 index 000000000..28def4899 --- /dev/null +++ b/udkapi/com/sun/star/script/InterruptEngineEvent.idl @@ -0,0 +1,97 @@ +/* -*- 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_InterruptEngineEvent_idl__ +#define __com_sun_star_script_InterruptEngineEvent_idl__ + +#include <com/sun/star/lang/EventObject.idl> + +#include <com/sun/star/script/InterruptReason.idl> + + + + module com { module sun { module star { module script { + +/** describes an interrupt which occurs in the scripting engine. + @deprecated + */ +published struct InterruptEngineEvent: com::sun::star::lang::EventObject +{ + /** fully qualified name to address the module or function affected by the event that + took place. + + <p>If the module or function can't be addressed by name (for example, in case + that a runtime-generated eval-module is executed), this string is empty.</p> + */ + string Name; + + /** source code of the Module affected by the event that took place. + + <p>If the source can + be accessed using the ModuleName, or if the source is unknown (executing compiled + code), this string can be empty.</p> + */ + string SourceCode; + + /** contains the first line in the module's source code that is affected + by the event that took place. + + + + <p>If "name" addresses a function, all line and column values + are nevertheless given relative to the module's source. If + source code is not available, this value addresses a binary + position in the compiled code. </p> + + @see XLibraryAccess::getModuleCode + @see XLibraryAccess::getFunctionCode + */ + long StartLine; + + /** contains the first column in the "StartLine" that is affected by the + event that took place. + */ + long StartColumn; + + /** contains the last line in the module's source code that is affected + by the event that took place. + */ + long EndLine; + + /** contains the first column in the "EndLine" which is NOT affected by + the event that took place. + */ + long EndColumn; + + /** error message. + <p>Only valid if Reason is RuntimeError or CompileError.</p> + */ + string ErrorMessage; + + /** contains the interrupt reason. + */ + com::sun::star::script::InterruptReason Reason; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/InterruptReason.idl b/udkapi/com/sun/star/script/InterruptReason.idl new file mode 100644 index 000000000..072175a2c --- /dev/null +++ b/udkapi/com/sun/star/script/InterruptReason.idl @@ -0,0 +1,71 @@ +/* -*- 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_InterruptReason_idl__ +#define __com_sun_star_script_InterruptReason_idl__ + + + + module com { module sun { module star { module script { + +/** values used to specify the response for a scripting engine + interrupt. + @deprecated + */ +published enum InterruptReason +{ + /** script execution was cancelled. + */ + Cancel, + + /** runtime error occurred during script execution. + */ + RuntimeError, + + /** script has invalid syntax. + */ + CompileError, + + /** script stopped at a breakpoint. + */ + BreakPoint, + + /** script stops because only one scripting engine command was executed. + */ + Step, + + /** script stops because one step was executed. + */ + StepOver, + + /** script stops because it leaves a function. + */ + StepOut, + + /** script stop because one step was executed. + */ + StepStatement + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/Invocation.idl b/udkapi/com/sun/star/script/Invocation.idl new file mode 100644 index 000000000..da25cc276 --- /dev/null +++ b/udkapi/com/sun/star/script/Invocation.idl @@ -0,0 +1,45 @@ +/* -*- 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_Invocation_idl__ +#define __com_sun_star_script_Invocation_idl__ + +#include <com/sun/star/lang/XSingleServiceFactory.idl> + + + + module com { module sun { module star { module script { + +/** factory service that allows construction of Invocation objects. + + <p>Invoke createInstanceWithArguments() of XSingleServiceFactory + to create an Invocation adapter for the passed object (Invoking + createInstance() will fail).</p> + <p> + The adapter has to support com::sun::star::script::XInvocation. + The adapter may also support com::sun::star::script::XInvocation2. + </p> + */ +published service Invocation : com::sun::star::lang::XSingleServiceFactory; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/InvocationAdapterFactory.idl b/udkapi/com/sun/star/script/InvocationAdapterFactory.idl new file mode 100644 index 000000000..0e691e904 --- /dev/null +++ b/udkapi/com/sun/star/script/InvocationAdapterFactory.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_InvocationAdapterFactory_idl__ +#define __com_sun_star_script_InvocationAdapterFactory_idl__ + +#include <com/sun/star/script/XInvocationAdapterFactory2.idl> + +module com { module sun { module star { module script { + +/** Provides functionality to create an adapter that supports (a) + special interface type(s) and maps calls to the interface's + methods to an invocation interface. + + <p> + An adapter like this allows generic dispatch interfaces to + meet interface requirements, e.g. if a specific listener + interface has to be passed to an add...Listener method. + </p> + + <p> + The adapter has to support + com::sun::star::script::XInvocationAdapterFactory. + The adapter may also support + com::sun::star::script::XInvocationAdapterFactory2. + </p> + */ +published service InvocationAdapterFactory : XInvocationAdapterFactory2; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/InvocationInfo.idl b/udkapi/com/sun/star/script/InvocationInfo.idl new file mode 100644 index 000000000..dfa2f3833 --- /dev/null +++ b/udkapi/com/sun/star/script/InvocationInfo.idl @@ -0,0 +1,80 @@ +/* -*- 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_InvocationInfo_idl__ +#define __com_sun_star_script_InvocationInfo_idl__ + +#include <com/sun/star/script/MemberType.idl> + +#include <com/sun/star/reflection/ParamMode.idl> + + + module com { module sun { module star { module script { + + +/** + This struct is used to specify information about object members + (methods or properties) accessed via XInvocation, such as names, + types, or parameters. + </p> + */ +published struct InvocationInfo +{ + + /** Name of the method or property. + */ + string aName; + + /** Kind of the member (method or property). + */ + MemberType eMemberType; + + /** Only for property members: + This field may contain zero or more constants of the + com::sun::star::beans::PropertyAttribute + constants group. It is not guaranteed that all necessary + constants are set to describe the property completely, + but a flag will only be set, if the corresponding charac- + teristic really exists. Example: If the READONLY flag + is set, the property is readonly. If it isn't set, the + property nevertheless can be readonly. + + For methods this field is irrelevant and is set to 0. + */ + short PropertyAttribute; + + /** Type of the member, for methods the return type + */ + type aType; + + /** Types method parameters, for properties this sequence is empty + */ + sequence< type > aParamTypes; + + /** Mode of method parameters (IN, OUT, INOUT), + for properties this sequence is empty. + */ + sequence< com::sun::star::reflection::ParamMode > aParamModes; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/JavaScript.idl b/udkapi/com/sun/star/script/JavaScript.idl new file mode 100644 index 000000000..e5bc415ff --- /dev/null +++ b/udkapi/com/sun/star/script/JavaScript.idl @@ -0,0 +1,45 @@ +/* -*- 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_JavaScript_idl__ +#define __com_sun_star_script_JavaScript_idl__ + +#include <com/sun/star/script/Engine.idl> + + + + module com { module sun { module star { module script { + +/** service is implementation of a JavaScript interpreter. + + <p>The interpreter should be similar to JavaScript 1.1. The exact + behavior will be specified in future.</p> + @deprecated + */ +published service JavaScript +{ + /// Parent service + service com::sun::star::script::Engine; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/MemberType.idl b/udkapi/com/sun/star/script/MemberType.idl new file mode 100644 index 000000000..29265813e --- /dev/null +++ b/udkapi/com/sun/star/script/MemberType.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_MemberType_idl__ +#define __com_sun_star_script_MemberType_idl__ + + +module com { module sun { module star { module script { + +/** These values are used to specify a member accessible by + XInvocation. +*/ +published enum MemberType +{ + METHOD, + PROPERTY, + UNKNOWN +}; + + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/ScriptEvent.idl b/udkapi/com/sun/star/script/ScriptEvent.idl new file mode 100644 index 000000000..0ad0e91c0 --- /dev/null +++ b/udkapi/com/sun/star/script/ScriptEvent.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_ScriptEvent_idl__ +#define __com_sun_star_script_ScriptEvent_idl__ + +#include <com/sun/star/script/AllEventObject.idl> + + + + module com { module sun { module star { module script { + +/** script event that gets delivered whenever a script event takes place. + <p>For that to happen, a "ScriptEventDescriptor" must be registered at + and attached to an object by an XEventAttacherManager.</p> + */ +published struct ScriptEvent: com::sun::star::script::AllEventObject +{ + /** type of the script language as string; for example, "Basic" or "StarScript". + */ + string ScriptType; + + /** script code as string. + + <p>The code has to correspond with the language + defined by ScriptType.</p> + */ + string ScriptCode; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/ScriptEventDescriptor.idl b/udkapi/com/sun/star/script/ScriptEventDescriptor.idl new file mode 100644 index 000000000..c97c422c0 --- /dev/null +++ b/udkapi/com/sun/star/script/ScriptEventDescriptor.idl @@ -0,0 +1,63 @@ +/* -*- 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_ScriptEventDescriptor_idl__ +#define __com_sun_star_script_ScriptEventDescriptor_idl__ + + + + module com { module sun { module star { module script { + +/** describes an effect, especially a script to be executed, + for a certain event given by the listener type and the name of the + event method. + */ +published struct ScriptEventDescriptor +{ + /** listener type as string, same as listener-XIdlClass.getName(). + */ + string ListenerType; + + /** event method as string. + */ + string EventMethod; + + /** data to be used if the addListener method needs an additional + parameter. + <p>If the type of this parameter is different from string, + it will be converted, when added.</p> + */ + string AddListenerParam; + + /** type of the script language as string; for example, "Basic" or "StarScript". + */ + string ScriptType; + + /** script code as string (the code has to correspond with the language + defined by ScriptType). + */ + string ScriptCode; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/XAllListener.idl b/udkapi/com/sun/star/script/XAllListener.idl new file mode 100644 index 000000000..d654ae908 --- /dev/null +++ b/udkapi/com/sun/star/script/XAllListener.idl @@ -0,0 +1,58 @@ +/* -*- 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_XAllListener_idl__ +#define __com_sun_star_script_XAllListener_idl__ + +#include <com/sun/star/lang/XEventListener.idl> + +#include <com/sun/star/script/AllEventObject.idl> + +#include <com/sun/star/reflection/InvocationTargetException.idl> + + + + module com { module sun { module star { module script { + +/** specifies a listener combining all methods + of a listener interface in a single generic call. + + <p>Without any output parameters, it is possible to adapt any interface + if the XAllListenerAdapterService can generate an adapter.</p> + */ +published interface XAllListener: com::sun::star::lang::XEventListener +{ + /** gets called when an event occurs at the object. + */ + void firing( [in] com::sun::star::script::AllEventObject iaEvent ); + + /** gets called when a "vetoable event" occurs at the object. + + <p>That happens when the listener method raises an exception, + or has a return value declared.</p> + */ + any approveFiring( [in] com::sun::star::script::AllEventObject aEvent ) + raises( com::sun::star::reflection::InvocationTargetException ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/XAllListenerAdapterService.idl b/udkapi/com/sun/star/script/XAllListenerAdapterService.idl new file mode 100644 index 000000000..64933cfc0 --- /dev/null +++ b/udkapi/com/sun/star/script/XAllListenerAdapterService.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_XAllListenerAdapterService_idl__ +#define __com_sun_star_script_XAllListenerAdapterService_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/reflection/XIdlClass.idl> + +#include <com/sun/star/script/XAllListener.idl> + + + + module com { module sun { module star { module script { + +/** allows the generation of adapters from specific + interfaces to the XAllListener interface. + */ +published interface XAllListenerAdapterService: com::sun::star::uno::XInterface +{ + /** creates a wrapper from the listener of type + <var>xListenerType</var> to the XAllListener + listener. + + To get the correct listener interface the returned + com::sun::star::uno::XInterface has to + be queried for it. + */ + com::sun::star::uno::XInterface createAllListerAdapter( [in] type xListenerType, + [in] com::sun::star::script::XAllListener xListener, + [in] any aHelper ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/XAutomationInvocation.idl b/udkapi/com/sun/star/script/XAutomationInvocation.idl new file mode 100644 index 000000000..36a781d0a --- /dev/null +++ b/udkapi/com/sun/star/script/XAutomationInvocation.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_XAutomationInvocation_idl__ +#define __com_sun_star_script_XAutomationInvocation_idl__ + +#include <com/sun/star/script/XInvocation.idl> + +module com { module sun { module star { module script { + +interface XAutomationInvocation: com::sun::star::script::XInvocation +{ + any invokeGetProperty( [in] string aFunctionName, [in] sequence<any> aParams, [out] sequence<short> aOutParamIndex, [out] sequence<any> aOutParam ) raises( com::sun::star::lang::IllegalArgumentException, com::sun::star::script::CannotConvertException, com::sun::star::reflection::InvocationTargetException ); + any invokePutProperty( [in] string aFunctionName, [in] sequence<any> aParams, [out] sequence<short> aOutParamIndex, [out] sequence<any> aOutParam ) raises( com::sun::star::lang::IllegalArgumentException, com::sun::star::script::CannotConvertException, com::sun::star::reflection::InvocationTargetException ); + +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/XDebugging.idl b/udkapi/com/sun/star/script/XDebugging.idl new file mode 100644 index 000000000..ace72cc29 --- /dev/null +++ b/udkapi/com/sun/star/script/XDebugging.idl @@ -0,0 +1,127 @@ +/* -*- 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_XDebugging_idl__ +#define __com_sun_star_script_XDebugging_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/script/ContextInformation.idl> + + + + module com { module sun { module star { module script { + +/** makes it possible to set breakpoints in an interpreter. + @deprecated + */ +published interface XDebugging: com::sun::star::uno::XInterface +{ + /** returns the source code line where the breakpoint was set. + + <p>The value can differ from the parameter + <var>nSourceCodeLine</var> when this is not a valid line to + place it. -1 indicates that the breakpoint cannot be set at + this position. + */ + long setBreakPoint( [in] string aModuleName, + [in] long nSourceCodeLine, + [in] boolean bOn ); + + /** clears all breakpoints in the module set by "setBreakPoint". + */ + void clearAllBreakPoints( [in] string aModuleName ); + + /** Evaluates an expression. + + @param aSourceCode the expression to be evaluated. + + @param nCallStackPos Position in the call stack for which the expression + should be evaluated. 0 is the top/actual position in the call + in the call stack, 1 the next and so on. + + @returns the value of the expression as string. + */ + string eval( [in] string aSourceCode, + [in] short nCallStackPos ); + + /** Returns the engine's stack trace of the current execute position. Line break is the delimiter. + */ + sequence<string> getStackTrace(); + + /** returns more detailed information about a specified stack frame. + + @param nCallStackPos + specifies the position in the call stack for the + variables that should be delivered. + */ + com::sun::star::script::ContextInformation getContextInformation( [in] short nCallStackPos ); + + /** returns the value of the variable at the given stack position. + */ + string dumpVariable( [in] string aVariableName, + [in] short nCallStackPos ); + + /** sets the value of the specified variable within the specified + stack frame. + */ + void setVariable( [in] string aVariableName, + [in] string aValue, + [in] short nCallStackPos ); + + /** returns whether the given variable exists within the specified stack frame. + */ + boolean isVariable( [in] string aVariableName, + [in] short nCallStackPos ); + + /** stops the execution of the interpreter. + + <p>To continue with the execution, call XDebugging::doContinue(). + */ + void stop(); + + /** executes the next and only the next statement. + + <p>If the next statement is a function call, the function is + executed completely.</p> + */ + void stepOver(); + + /** executes the next and only the next statement. + + <p>If the next statement is a function call, only the function + entered.</p> + */ + void stepIn(); + + /** executes the program until the next return from this stack frame. + */ + void stepOut(); + + /** continues the program execution. + */ + void doContinue(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/XDefaultMethod.idl b/udkapi/com/sun/star/script/XDefaultMethod.idl new file mode 100644 index 000000000..7905f8ccf --- /dev/null +++ b/udkapi/com/sun/star/script/XDefaultMethod.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_XDefaultMethod_idl__ +#define __com_sun_star_script_XDefaultMethod_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +module com { module sun { module star { module script { +/** + An object supporting this interface indicates to interested + parties or clients the name of the default method for + this object. + <p>For example where ExampleObject is an instance of an Object that + supports this interface which returns the default method name + "defaultMethod".A scripting engine could use this information to support + syntax like <p>"ExampleObject( Param1 ... ParamN )"</p> + which would be equivalent to writing + <p>"ExampleObject.defaultMethod( Param1 ... ParamN )"</p> +*/ +interface XDefaultMethod : ::com::sun::star::uno::XInterface +{ + /** + Returns the name of the default method + + @return + The `string` name of default method + */ + string getDefaultMethodName(); + +}; + +}; }; }; }; +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/XDefaultProperty.idl b/udkapi/com/sun/star/script/XDefaultProperty.idl new file mode 100644 index 000000000..45d39cb4e --- /dev/null +++ b/udkapi/com/sun/star/script/XDefaultProperty.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_XDefaultProperty_idl__ +#define __com_sun_star_script_XDefaultProperty_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +module com { module sun { module star { module script { +/** + An object supporting this interface indicates to interested + parties or clients the name of the default property for + this object. + <p>For example where ExampleObject is an instance of an Object that + supports this interface which returns the default property name + "Value".A scripting engine could use this information to support + syntax like <p>ExampleObject = "foo"</p> + which would be equivalent to writing + <p>ExampleObject.Value = "foo"</p> + or + <p>bar = ExampleObject</p> + which would be equivalent to writing + <p>bar = ExampleObject.Value</p> +*/ +interface XDefaultProperty : ::com::sun::star::uno::XInterface +{ + /** + Returns the name of the default property + + @return + The `string` name of default property + */ + string getDefaultPropertyName(); + +}; + +}; }; }; }; +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/XDirectInvocation.idl b/udkapi/com/sun/star/script/XDirectInvocation.idl new file mode 100644 index 000000000..ff21fb17a --- /dev/null +++ b/udkapi/com/sun/star/script/XDirectInvocation.idl @@ -0,0 +1,61 @@ +/* -*- 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_XDirectInvocation_idl__ +#define __com_sun_star_script_XDirectInvocation_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/beans/UnknownPropertyException.idl> + + + + module com { module sun { module star { module script { + +/** provides access to an object's methods and properties. + */ +published interface XDirectInvocation: com::sun::star::uno::XInterface +{ + /** provides access to methods and properties exposed by an object. + + @param aName the method to invoke + @param aParams all parameters, out parameters are not supported + */ + any directInvoke( [in] string aName, + [in] sequence<any> aParams ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::script::CannotConvertException, + com::sun::star::reflection::InvocationTargetException ); + + /** returns `TRUE` if the method or property with the specified name exists, else `FALSE`. + */ + boolean hasMember( [in] string aName ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/XEngine.idl b/udkapi/com/sun/star/script/XEngine.idl new file mode 100644 index 000000000..a38371934 --- /dev/null +++ b/udkapi/com/sun/star/script/XEngine.idl @@ -0,0 +1,108 @@ +/* -*- 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_XEngine_idl__ +#define __com_sun_star_script_XEngine_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/script/XLibraryAccess.idl> + +#include <com/sun/star/script/XEngineListener.idl> + + + +module com { module sun { module star { module script { + +/** makes it possible to control a scripting engine. + @deprecated + */ +published interface XEngine: com::sun::star::uno::XInterface +{ + /** sets an interface to an object as a scripting root. + + <p>If the root object implements the XInvocation interface, + then the engine uses this interface to set/get properties and + call methods. + </p> + */ + void setRoot( [in] com::sun::star::uno::XInterface xRoot ); + + /** gets an interface to the object which is the scripting root. + */ + com::sun::star::uno::XInterface getRoot(); + + /** sets an access object to get external functions. + */ + void setLibraryAccess( [in] com::sun::star::script::XLibraryAccess Library ); + + /** compiles a script module in the scope of the root object. + */ + boolean compile( [in] string ModuleName, + [in] string Script, + [in] boolean CreateDebugInfo ); + + /** runs a script specified by a string. + + <p>The arguments given in <var>aArgs</var> can be ignored by + the engine. The Script is executed synchronously.</p> + */ + any run( [in] string aScript, + [in] com::sun::star::uno::XInterface xThis, + [in] sequence<any> aArgs ); + + /** runs the script specified by a string and makes callbacks. + + <p>The arguments given in <var>aArgs</var> can be ignored by + the engine. The script is executed asynchronously. + + </p> + */ + void runAsync( [in] string acript, + [in] com::sun::star::uno::XInterface xThis, + [in] sequence<any> args, + [in] com::sun::star::script::XEngineListener xCallback ); + + /** terminates the execution of the running script. + + <p>The waiting queue is cleared too.</p> + */ + void cancel(); + + /** adds an engine listener. + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + */ + void addEngineListener( [in] com::sun::star::script::XEngineListener Listener ); + + /** removes an engine listener. + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + */ + void removeEngineListener( [in] com::sun::star::script::XEngineListener Listener ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/XEngineListener.idl b/udkapi/com/sun/star/script/XEngineListener.idl new file mode 100644 index 000000000..99e09309a --- /dev/null +++ b/udkapi/com/sun/star/script/XEngineListener.idl @@ -0,0 +1,63 @@ +/* -*- 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_XEngineListener_idl__ +#define __com_sun_star_script_XEngineListener_idl__ + +#include <com/sun/star/lang/XEventListener.idl> + +#include <com/sun/star/script/InterruptEngineEvent.idl> + +#include <com/sun/star/lang/EventObject.idl> + +#include <com/sun/star/script/FinishEngineEvent.idl> + + + + module com { module sun { module star { module script { + +/** makes it possible to receive events from a scripting engine. + @deprecated + */ +published interface XEngineListener: com::sun::star::lang::XEventListener +{ + /** gets fired when an interrupt occurs during the script execution. + + <p>If you call the method, the execution stops. So in this situation, + the stack and variable values are still available by using the + appropriate XDebugging methods. + </p> + */ + void interrupt( [in] com::sun::star::script::InterruptEngineEvent Evt ); + + /** gets fired when the script gets into execution state. + */ + void running( [in] com::sun::star::lang::EventObject Evt ); + + /** gets fired when the script execution has finished. + */ + void finished( [in] com::sun::star::script::FinishEngineEvent Evt ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/XErrorQuery.idl b/udkapi/com/sun/star/script/XErrorQuery.idl new file mode 100644 index 000000000..fe07c73c6 --- /dev/null +++ b/udkapi/com/sun/star/script/XErrorQuery.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_XErrorQuery_idl__ +#define __com_sun_star_script_XErrorQuery_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +module com { module sun { module star { module script { + +interface XErrorQuery : ::com::sun::star::uno::XInterface +{ + /** + Returns whether this object has an error + + @return + `boolean` indicating an error or not + */ + boolean hasError(); + +}; + +}; }; }; }; +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/XEventAttacher.idl b/udkapi/com/sun/star/script/XEventAttacher.idl new file mode 100644 index 000000000..d8a17e1d7 --- /dev/null +++ b/udkapi/com/sun/star/script/XEventAttacher.idl @@ -0,0 +1,97 @@ +/* -*- 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_XEventAttacher_idl__ +#define __com_sun_star_script_XEventAttacher_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/lang/XEventListener.idl> + +#include <com/sun/star/script/XAllListener.idl> + +#include <com/sun/star/lang/IllegalArgumentException.idl> + +#include <com/sun/star/beans/IntrospectionException.idl> + +#include <com/sun/star/script/CannotCreateAdapterException.idl> + +#include <com/sun/star/lang/ServiceNotRegisteredException.idl> + + + + module com { module sun { module star { module script { + +/** makes it possible to attach script events given by a sequence of + ScriptEventDescriptor structures to a given interface. + */ +published interface XEventAttacher: com::sun::star::uno::XInterface +{ + /** registers the given "AllListener" object as a listener at the + given interface by creating a suitable listener adapter and + calling the "addListener" method corresponding to the + "ListenerType". + */ + com::sun::star::lang::XEventListener attachListener( [in] com::sun::star::uno::XInterface xTarget, + [in] com::sun::star::script::XAllListener xAllListener, + [in] any aHelper, + [in] string aListenerType, + [in] string aAddListenerParam ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::beans::IntrospectionException, + com::sun::star::script::CannotCreateAdapterException, + com::sun::star::lang::ServiceNotRegisteredException ); + + /** registers an object as a listener at the given interface by + creating a suitable listener adapter and calling the method + which corresponds to the listener type. + + <p>Only the event corresponding to the given event method + will be delegated to <var>xAllListener</var>.</p> + */ + com::sun::star::lang::XEventListener attachSingleEventListener( [in] com::sun::star::uno::XInterface xTarget, + [in] com::sun::star::script::XAllListener xAllListener, + [in] any aHelper, + [in] string aListenerType, + [in] string aAddListenerParam, + [in] string aEventMethod ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::beans::IntrospectionException, + com::sun::star::script::CannotCreateAdapterException, + com::sun::star::lang::ServiceNotRegisteredException ); + + /** removes a listener object as a listener from the given interface. + + <p> This method can and should be used as a contrary method + to the two attach methods.</p> + */ + void removeListener( [in] com::sun::star::uno::XInterface xTarget, + [in] string aListenerType, + [in] string aRemoveListenerParam, + [in] com::sun::star::lang::XEventListener xToRemoveListener ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::beans::IntrospectionException ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/XEventAttacher2.idl b/udkapi/com/sun/star/script/XEventAttacher2.idl new file mode 100644 index 000000000..bd7f2646d --- /dev/null +++ b/udkapi/com/sun/star/script/XEventAttacher2.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/. + */ + +#ifndef __com_sun_star_script_XEventAttacher2_idl__ +#define __com_sun_star_script_XEventAttacher2_idl__ + +#include <com/sun/star/script/XEventAttacher.idl> +#include <com/sun/star/lang/XEventListener.idl> +#include <com/sun/star/script/EventListener.idl> + +module com { module sun { module star { module script { + +interface XEventAttacher2: com::sun::star::script::XEventAttacher +{ + /** Register a multiple set of listeners listening for the same + target. Besides passing multiple listeners, the behavior of + this method is identical to that of + attachSingleEventListener(). + + @see com::sun::star::script::XEventAttacher::attachSingleEventListener + */ + sequence<com::sun::star::lang::XEventListener> + attachMultipleEventListeners( + [in] com::sun::star::uno::XInterface xTarget, + [in] sequence<com::sun::star::script::EventListener> aListeners ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::beans::IntrospectionException, + com::sun::star::script::CannotCreateAdapterException, + com::sun::star::lang::ServiceNotRegisteredException ); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/XEventAttacherManager.idl b/udkapi/com/sun/star/script/XEventAttacherManager.idl new file mode 100644 index 000000000..46793bdef --- /dev/null +++ b/udkapi/com/sun/star/script/XEventAttacherManager.idl @@ -0,0 +1,202 @@ +/* -*- 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_XEventAttacherManager_idl__ +#define __com_sun_star_script_XEventAttacherManager_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/script/ScriptEventDescriptor.idl> + +#include <com/sun/star/lang/IllegalArgumentException.idl> + +#include <com/sun/star/lang/ServiceNotRegisteredException.idl> + +#include <com/sun/star/script/XScriptListener.idl> + + + + module com { module sun { module star { module script { + +/** registers listeners for specified events. + */ +published interface XEventAttacherManager: com::sun::star::uno::XInterface +{ + /** registers one event for an object identified by its index. + + <p>If any object is attached under this index, then this + event is attached automatically.</p> + <p>Exceptions of type + com::sun::star::beans::IntrospectionException and + com::sun::star::script::CannotCreateAdapterException + that can be thrown by methods of XEventAttacher are caught + and ignored.</p> + */ + void registerScriptEvent( [in] long nIndex, + [in] com::sun::star::script::ScriptEventDescriptor aScriptEvent ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** registers several events for an object identified by its index. + + <p>The result is the same as if the method registerScriptEvent() + was called once for each ScriptEventDescriptor + in the sequence.</p> + + <p>If any object is attached under this index, then this + event is attached automatically (see attach())</p> + + <p>Exceptions of type + com::sun::star::beans::IntrospectionException and + com::sun::star::script::CannotCreateAdapterException + that can be thrown by methods of XEventAttacher are caught + and ignored.</p> + + @see registerScriptEvent + @see attach + */ + void registerScriptEvents( [in] long nIndex, + [in] sequence<com::sun::star::script::ScriptEventDescriptor> aScriptEvents ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** revokes the registration of an event. + + <p>The parameters <var>ListenerType</var> and + <var>EventMethod</var> are equivalent to the first two + members of the ScriptEventDescriptor + used to register events. If this event at this index has + been attached to any object, it is detached automatically + (see attach()).</p> + + <p>Exceptions of type + com::sun::star::beans::IntrospectionException and + com::sun::star::script::CannotCreateAdapterException + that can be thrown by methods of XEventAttacher are caught + and ignored.</p> + + @see attach + */ + void revokeScriptEvent( [in] long nIndex, + [in] string aListenerType, + [in] string aEventMethod, + [in] string aRemoveListenerParam ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** revokes all events which are registered for the given index. + + <p>If the events at this index have been attached to any + object, they are detached automatically. + (see attach()).</p> + + @see attach + */ + void revokeScriptEvents( [in] long nIndex ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** creates an empty entry at the given position. + + <p>The index <var>n</var> of all entries with <code>n &gt;= + nIndex</code> will be increased by one.</p> + */ + void insertEntry( [in] long nIndex ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** removes the entry at the given position. + + <p>If any events are registered at this index, they will + be revoked, too. So if the events at this index have been + attached to any object they are detached automatically. + (see attach()).</p> + + @see attach + */ + void removeEntry( [in] long nIndex ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** @return + all events registered for the given object index. + + @param Index + an index previously inserted with the method insertEntry. + + @throws IllegalArgumentException + if Index is not valid. + */ + sequence<com::sun::star::script::ScriptEventDescriptor> getScriptEvents( [in] long Index ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** attaches all the ScriptEvents which are registered + for the given index to the given object. + + <p>Exceptions of type + com::sun::star::beans::IntrospectionException and + com::sun::star::script::CannotCreateAdapterException + that can be thrown by methods of XEventAttacher are caught + and ignored.</p> + */ + void attach( [in] long nIndex, + [in] com::sun::star::uno::XInterface xObject, + [in] any aHelper ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::ServiceNotRegisteredException ); + + /** detaches all the ScriptEvents from the given object + which are registered at this object for the given index. + + <p>Exceptions of type + com::sun::star::beans::IntrospectionException and + com::sun::star::script::CannotCreateAdapterException + that can be thrown by methods of XEventAttacher are caught + and ignored.</p> + */ + void detach( [in] long nIndex, + [in] com::sun::star::uno::XInterface xObject ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** adds an XScriptListener that will be notified when an + event takes place. For that a + ScriptEventDescriptor is registered at and + attached to an object by an XEventAttacherManager. + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + + @see removeScriptListener + */ + void addScriptListener( [in] com::sun::star::script::XScriptListener xListener ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** removes a XScriptListener from the listener list. + + <p>Nothing happens if the listener is not registered. + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + + @see addScriptListener + */ + void removeScriptListener( [in] com::sun::star::script::XScriptListener Listener ) + raises( com::sun::star::lang::IllegalArgumentException ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/XInvocation.idl b/udkapi/com/sun/star/script/XInvocation.idl new file mode 100644 index 000000000..0db1a9abf --- /dev/null +++ b/udkapi/com/sun/star/script/XInvocation.idl @@ -0,0 +1,131 @@ +/* -*- 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_XInvocation_idl__ +#define __com_sun_star_script_XInvocation_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/beans/XIntrospectionAccess.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/beans/UnknownPropertyException.idl> + + + + module com { module sun { module star { module script { + +/** gives access to an object's methods and properties. + Container access is available through + com::sun::star::container::XIndexContainer, + com::sun::star::container::XNameContainer and + com::sun::star::container::XEnumerationAccess. + </p> + */ +published interface XInvocation: com::sun::star::uno::XInterface +{ + /** returns the introspection from this object or `NULL` + if the object does not provide this information. + */ + com::sun::star::beans::XIntrospectionAccess getIntrospection(); + + /** provides access to methods exposed by an object. + + @param aFunctionName the method to invoke + @param aParams all parameters; pure out params are undefined in sequence, + the value has to be ignored by the callee + @param aOutParamIndex This sequence contains the indices of all parameters + that are specified as out or inout. + @param aOutParam This sequence contains the values of all parameters that + are specified as out or inout and corresponds with the + indices provided by the aOutParamIndex sequence. + + Example: aOutParamIndex == { 1, 4 } means that + aOutParam[0] contains the out value of the aParams[1] + parameter and aOutParam[1] contains the out value of + the aParams[4] parameter. + */ + any invoke( [in] string aFunctionName, + [in] sequence<any> aParams, + [out] sequence<short> aOutParamIndex, + [out] sequence<any> aOutParam ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::script::CannotConvertException, + com::sun::star::reflection::InvocationTargetException ); + + /** sets a value to the property with the specified name. + + <p> If the underlying object implements an + com::sun::star::container::XNameContainer, + then this method will insert the value if there is no such + <var>aPropertyName</var>. + + </p> + */ + void setValue( [in] string aPropertyName, + [in] any aValue ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::script::CannotConvertException, + com::sun::star::reflection::InvocationTargetException ); + + /** returns the value of the property with the specified name. + + @param aPropertyName + specifies the name of the property. + */ + any getValue( [in] string aPropertyName ) + raises( com::sun::star::beans::UnknownPropertyException ); + + /** returns `TRUE` if the method with the specified name exists, else `FALSE`. + + <p>This optimizes the calling sequence + ( XInvocation::hasMethod(), + XInvocation::invoke() )!</p> + + @param aName + specifies the name of the method. + */ + boolean hasMethod( [in] string aName ); + + /** returns `TRUE` if the property with the specified name exists, else `FALSE`. + + <p>This optimizes the calling sequence + ( XInvocation::hasProperty(), + XInvocation::getValue() ) or + + ( XInvocation::hasProperty(), + XInvocation::setValue() )! + + @param aName + specifies the name of the property. + */ + boolean hasProperty( [in] string aName ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/XInvocation2.idl b/udkapi/com/sun/star/script/XInvocation2.idl new file mode 100644 index 000000000..4d3eb61de --- /dev/null +++ b/udkapi/com/sun/star/script/XInvocation2.idl @@ -0,0 +1,71 @@ +/* -*- 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_XInvocation2_idl__ +#define __com_sun_star_script_XInvocation2_idl__ + +#include <com/sun/star/script/XInvocation.idl> + +#include <com/sun/star/script/InvocationInfo.idl> + + + module com { module sun { module star { module script { + + +/** + Extension of XInvocation to provide additional information + about the methods and properties that are accessible via + XInvocation. + </p> + */ +published interface XInvocation2: com::sun::star::script::XInvocation +{ + /** returns the names of all methods and properties accessible via XInvocation. + */ + sequence< string > getMemberNames(); + + /** returns information items for all methods and properties accessible via XInvocation. + + @see com::sun::star::script::Invocation + */ + sequence< InvocationInfo > getInfo(); + + /** returns information item for the method or property defined by aName + + @param aName + specifies the name of the method or property + + @param bExact + specifies the name of the method or property + + @throws IllegalArgumentException + if aName is not the name of a supported method or property + + @see com::sun::star::script::Invocation + */ + InvocationInfo getInfoForName( [in] string aName, [in] boolean bExact ) + raises( com::sun::star::lang::IllegalArgumentException ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/XInvocationAdapterFactory.idl b/udkapi/com/sun/star/script/XInvocationAdapterFactory.idl new file mode 100644 index 000000000..b4f2a42bc --- /dev/null +++ b/udkapi/com/sun/star/script/XInvocationAdapterFactory.idl @@ -0,0 +1,58 @@ +/* -*- 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_XInvocationAdapterFactory_idl__ +#define __com_sun_star_script_XInvocationAdapterFactory_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/script/XInvocation.idl> + + + + module com { module sun { module star { module script { + + +/** Interface to create adapter objects giving a type to be supported and a + an invocation interface incoming calls are delegated to. + + This interface is deprecated. Use XInvocationAdapterFactory2. + @deprecated +*/ +published interface XInvocationAdapterFactory: com::sun::star::uno::XInterface +{ + /** Creates an adapter interface of given type for calling the given + XInvocation interface. + + @param Invocation + invocation interface being called on incoming adapter calls + @param aType + supported type of adapter + + @returns + adapter interface; this interface can be queried for + XInterface and given type + */ + com::sun::star::uno::XInterface createAdapter( [in]XInvocation Invocation, [in]type aType ); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/XInvocationAdapterFactory2.idl b/udkapi/com/sun/star/script/XInvocationAdapterFactory2.idl new file mode 100644 index 000000000..cb58ab8cd --- /dev/null +++ b/udkapi/com/sun/star/script/XInvocationAdapterFactory2.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_XInvocationAdapterFactory2_idl__ +#define __com_sun_star_script_XInvocationAdapterFactory2_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/script/XInvocation.idl> + + + +module com { module sun { module star { module script { + +/** Interface to create adapter objects giving types to be supported and a + an invocation interface incoming calls are delegated to. +*/ +published interface XInvocationAdapterFactory2 : com::sun::star::uno::XInterface +{ + /** Creates an adapter interface of given types for calling the given + XInvocation interface. + + @param Invocation + invocation interface being called on incoming adapter calls + @param aTypes + supported types of adapter + + @returns + adapter interface; this interface can be queried for + XInterface and given types + */ + com::sun::star::uno::XInterface createAdapter( + [in] XInvocation Invocation, + [in] sequence< type > aTypes ); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/XLibraryAccess.idl b/udkapi/com/sun/star/script/XLibraryAccess.idl new file mode 100644 index 000000000..d077cd380 --- /dev/null +++ b/udkapi/com/sun/star/script/XLibraryAccess.idl @@ -0,0 +1,90 @@ +/* -*- 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_XLibraryAccess_idl__ +#define __com_sun_star_script_XLibraryAccess_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + + + module com { module sun { module star { module script { + +/** provides access to additional scripting code. + + <p>This code is organized in modules and these modules contain + the functions. It is possible to get just the code from a function, + but you can also get the whole code of a module with all functions in it.</p> + @deprecated + */ +published interface XLibraryAccess: com::sun::star::uno::XInterface +{ + /** returns `TRUE`, if the function is accessible through this library; + otherwise it returns `FALSE`. + + @param aFunctionName + the fully qualified name of a function. + (e.g., "UtilLibrary.ModuleDate.FunctionCurrentDate") + */ + boolean isFunction( [in] string aFunctionName ); + + /** returns `TRUE` if a fully qualified function name begins with this name. + + @param aPathName + a part of a function name (e.g., "UtilLibrary"). + */ + boolean isValidPath( [in] string aPathName ); + + /** Return all module names which contain code. + e.g., { "UtilLibrary.ModuleDate", "UtilLibrary.Output", ... } + */ + sequence<string> getModuleNames(); + + /** get the source code of a module. + */ + string getModuleSource( [in] string aModulName ); + + /** Get the whole compiled code of a module. + + @param aModuleName the full qualified name of a module. + (e.g., "UtilLibrary.ModuleDate") + @return an empty sequence, if this module is not found or the + code is not compiled. + */ + sequence<byte> getModuleCode( [in] string aModuleName ); + + /** get the source code of a function. + */ + string getFunctionSource( [in] string aFunctionName ); + + /** Get the compiled code of a function. + + @param FunctionName the full qualified name of a function. + (e.g., "UtilLibrary.ModuleDate.Function.CurrentDate") + @return an empty sequence, if this function is not found. + */ + sequence<byte> getFunctionCode( [in] string FunctionName ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/XScriptEventsAttacher.idl b/udkapi/com/sun/star/script/XScriptEventsAttacher.idl new file mode 100644 index 000000000..3901249ba --- /dev/null +++ b/udkapi/com/sun/star/script/XScriptEventsAttacher.idl @@ -0,0 +1,79 @@ +/* -*- 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_XScriptEventsAttacher_idl__ +#define __com_sun_star_script_XScriptEventsAttacher_idl__ + +#include <com/sun/star/script/XScriptListener.idl> +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/lang/IllegalArgumentException.idl> + +#include <com/sun/star/beans/IntrospectionException.idl> + +#include <com/sun/star/script/CannotCreateAdapterException.idl> + +#include <com/sun/star/lang/ServiceNotRegisteredException.idl> + + + + module com { module sun { module star { module script { + + +/** + This interface can be used to attach script events to a number of + objects that give access to the definition of events that should + be attached to them, e.g., by supporting XEventsSupplier +*/ +published interface XScriptEventsAttacher: com::sun::star::uno::XInterface +{ + /** + Attaches the events defined by XScriptEventsSupplier to the + corresponding object implementing XScriptEventsSupplier. + + @param Objects + Sequence of all objects. Usually the objects should directly + support XScriptEventsAttacher to define the events + but this is not strictly required. It's also possible that + the object implementing XScriptEventsAttacher + knows how to get the necessary information for the objects. + @param xListener + All events (if defined by XScriptEventsSupplier) that are fired + by one of the objects are mapped into a ScriptEvent + and passed to the methods of this XScriptListener. + @param Helper + Helper object for the implementation. This value will be + passed to the XScriptListener as Helper property in the + ScriptEvent. + */ + void attachEvents( [in] sequence< com::sun::star::uno::XInterface > Objects, + [in] com::sun::star::script::XScriptListener xListener, + [in] any Helper ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::beans::IntrospectionException, + com::sun::star::script::CannotCreateAdapterException, + com::sun::star::lang::ServiceNotRegisteredException ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/XScriptEventsSupplier.idl b/udkapi/com/sun/star/script/XScriptEventsSupplier.idl new file mode 100644 index 000000000..9394150c8 --- /dev/null +++ b/udkapi/com/sun/star/script/XScriptEventsSupplier.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_XScriptEventsSupplier_idl__ +#define __com_sun_star_script_XScriptEventsSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/container/XNameContainer.idl> + + + + module com { module sun { module star { module script { + + +/** + Gives access to an event container represented by an + XNameContainer containing ScriptEventDescriptor instances. + */ +published interface XScriptEventsSupplier: com::sun::star::uno::XInterface +{ + /** + Returns an XNameContainer containing instances + of ScriptEventDescriptor + */ + com::sun::star::container::XNameContainer getEvents(); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/XScriptListener.idl b/udkapi/com/sun/star/script/XScriptListener.idl new file mode 100644 index 000000000..d669c5e8f --- /dev/null +++ b/udkapi/com/sun/star/script/XScriptListener.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_XScriptListener_idl__ +#define __com_sun_star_script_XScriptListener_idl__ + +#include <com/sun/star/lang/XEventListener.idl> + +#include <com/sun/star/script/ScriptEvent.idl> + +#include <com/sun/star/reflection/InvocationTargetException.idl> + + + + module com { module sun { module star { module script { + +/** makes it possible to receive ScriptEvents. + */ +published interface XScriptListener: com::sun::star::lang::XEventListener +{ + /** gets called when an event takes place. For that a + ScriptEventDescriptor is registered at and + attached to an object by an XEventAttacherManager. + */ + void firing( [in] com::sun::star::script::ScriptEvent aEvent ); + + /** gets called when a "vetoable event" occurs at the object. + */ + any approveFiring( [in] com::sun::star::script::ScriptEvent aEvent ) + raises( com::sun::star::reflection::InvocationTargetException ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/XStarBasicAccess.idl b/udkapi/com/sun/star/script/XStarBasicAccess.idl new file mode 100644 index 000000000..e12f6dd03 --- /dev/null +++ b/udkapi/com/sun/star/script/XStarBasicAccess.idl @@ -0,0 +1,83 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_script_XStarBasicAccess_idl__ +#define __com_sun_star_script_XStarBasicAccess_idl__ + +#include <com/sun/star/container/XNameContainer.idl> + + + module com { module sun { module star { module script { + + +/** Interface representing a library and provides access to its modules + + @deprecated + */ +published interface XStarBasicAccess: com::sun::star::uno::XInterface +{ + /** returns + the library container giving access to the libraries stored in a document + or basic library file. + */ + com::sun::star::container::XNameContainer getLibraryContainer(); + + /** + Creates an empty library. This method can be called alternatively to + accessing directly the NameContainer returned by getLibraryContainer. + By using this method together with addModule and addStarBasicDialog + the caller does not have to implement XStarBasicLibraryInfo, XModuleInfo, + and XStarBasicDialogInfo + */ + void createLibrary( [in] string LibName, [in] string Password, + [in] string ExternalSourceURL, [in] string LinkTargetURL ) + raises( com::sun::star::container::ElementExistException ); + + /** + Adds a module to an existing (e.g., created by createLibrary) library. + By using this method together with createLibrary the caller does not have + to implement XStarBasicLibraryInfo and XModuleInfo. + + @throws NoSuchElementException + if the library doesn't exist. + */ + void addModule( [in] string LibraryName, [in] string ModuleName, + [in] string Language, [in] string Source ) + raises( com::sun::star::container::NoSuchElementException ); + + /** + Adds an old style basic dialog (SI controls) to an existing (e.g., created + by createLibrary) library. + By using this method together with createLibrary the caller does not have + to implement XStarBasicLibraryInfo and XStarBasicDialogInfo + + @throws NoSuchElementException + if the library doesn't exist. + */ + void addDialog( [in] string LibraryName, [in] string DialogName, + [in] sequence< byte > Data ) + raises( com::sun::star::container::NoSuchElementException ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/XStarBasicDialogInfo.idl b/udkapi/com/sun/star/script/XStarBasicDialogInfo.idl new file mode 100644 index 000000000..845a0de1f --- /dev/null +++ b/udkapi/com/sun/star/script/XStarBasicDialogInfo.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_XStarBasicDialogInfo_idl__ +#define __com_sun_star_script_XStarBasicDialogInfo_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + + + module com { module sun { module star { module script { + + +/** Interface describing old style basic dialog (SI controls) in binary data + + @deprecated + */ +published interface XStarBasicDialogInfo: com::sun::star::uno::XInterface +{ + /** returns the name of the dialog + */ + string getName(); + + /** returns binary data describing the SIDialog in SBX stream format + */ + sequence< byte > getData(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/XStarBasicLibraryInfo.idl b/udkapi/com/sun/star/script/XStarBasicLibraryInfo.idl new file mode 100644 index 000000000..55a210013 --- /dev/null +++ b/udkapi/com/sun/star/script/XStarBasicLibraryInfo.idl @@ -0,0 +1,89 @@ +/* -*- 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_XStarBasicLibraryInfo_idl__ +#define __com_sun_star_script_XStarBasicLibraryInfo_idl__ + +#include <com/sun/star/container/XNameContainer.idl> + + + module com { module sun { module star { module script { + + +/** Interface representing a library and provides access to its modules + + @deprecated + */ +published interface XStarBasicLibraryInfo: com::sun::star::uno::XInterface +{ + /** returns the library's name + */ + string getName(); + + /** returns + the module container giving access to the modules stored in the library. + The container has to be returned in any case, no matter if the library is + stored embedded, external, or linked. + + @see getExternalSourceURL + @see getLinkTargetURL + */ + com::sun::star::container::XNameContainer getModuleContainer(); + + /** returns + the dialog container giving access to the dialogs stored in the library. + The container has to be returned in any case, no matter if the library is + stored embedded, external, or linked. + + @see getExternalSourceURL + @see getLinkTargetURL + */ + com::sun::star::container::XNameContainer getDialogContainer(); + + /** returns + the password, if the library is protected with one, + an empty string otherwise. + */ + string getPassword(); + + /** returns an + URL describing the location where the library is stored if the library + is stored separately (for example not in the main XML file but in a + special library format file), an empty string otherwise. + This information can be useful to optimize the access to the library, + e.g., for loading on demand. + */ + string getExternalSourceURL(); + + /** returns an + URL describing the location of the library linked to. + + <p>HINT: This method can be removed when there is a generic interface + for linking. Then the implementation will simply support this + "XLinked" interface and it can be checked by queryInterface().</p> + */ + string getLinkTargetURL(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/XStarBasicModuleInfo.idl b/udkapi/com/sun/star/script/XStarBasicModuleInfo.idl new file mode 100644 index 000000000..6b1abbffd --- /dev/null +++ b/udkapi/com/sun/star/script/XStarBasicModuleInfo.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_XStarBasicModuleInfo_idl__ +#define __com_sun_star_script_XStarBasicModuleInfo_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + + + module com { module sun { module star { module script { + + +/** Script Module containing some scripting code in a certain scripting language + @deprecated + */ +published interface XStarBasicModuleInfo: com::sun::star::uno::XInterface +{ + /** returns the name of the module + */ + string getName(); + + /** returns the type of the script language as string, for example, "StarBasic" or "JavaScript". + */ + string getLanguage(); + + /** returns the script source code as string. + + <p>The code has to correspond with the language + defined by Language.</p> + */ + string getSource(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/script/XTypeConverter.idl b/udkapi/com/sun/star/script/XTypeConverter.idl new file mode 100644 index 000000000..a335084a9 --- /dev/null +++ b/udkapi/com/sun/star/script/XTypeConverter.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_XTypeConverter_idl__ +#define __com_sun_star_script_XTypeConverter_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/reflection/XIdlClass.idl> + +#include <com/sun/star/lang/IllegalArgumentException.idl> + +#include <com/sun/star/script/CannotConvertException.idl> + +#include <com/sun/star/uno/TypeClass.idl> + + + + module com { module sun { module star { module script { + + +/** Interface to provide standard type conversions. + + @see Converter +*/ +published interface XTypeConverter: com::sun::star::uno::XInterface +{ + /** Converts the value <code>aFrom</code> to the specified type + <code>xDestinationType</code>. + Throws a CannotConvertException if the conversion + failed. + @param aFrom + source value + @param xDestinationType + destination type + @return + converted value (any carrying value of type <code>xDestinationType</code> + */ + any convertTo( + [in] any aFrom, + [in] type xDestinationType ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::script::CannotConvertException ); + + /** Converts the value <code>aFrom</code> to the specified simple type + <code>aDestinationType</code>. + Throws a CannotConvertException if the conversion + failed and a com::sun::star::lang::IllegalArgumentException + if the destination + com::sun::star::uno::TypeClass is not simple, + e.g. not long or byte. + + @param aFrom + source value + @param aDestinationType + destination type class + @return + converted value (any carrying value of type <code>aDestinationType</code> + */ + any convertToSimpleType( + [in] any aFrom, + [in] com::sun::star::uno::TypeClass aDestinationType ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::script::CannotConvertException ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |