| /************************************************************** |
| * |
| * 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 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| |
| #ifndef __com_sun_star_sheet_XFormulaOpCodeMapper_idl__ |
| #define __com_sun_star_sheet_XFormulaOpCodeMapper_idl__ |
| |
| #ifndef __com_sun_star_sheet_FormulaOpCodeMapEntry_idl__ |
| #include <com/sun/star/sheet/FormulaOpCodeMapEntry.idl> |
| #endif |
| |
| #ifndef __com_sun_star_lang_IllegalArgumentException_idl__ |
| #include <com/sun/star/lang/IllegalArgumentException.idl> |
| #endif |
| |
| //============================================================================= |
| |
| module com { module sun { module star { module sheet { |
| |
| //============================================================================= |
| |
| /** gives access to spreadsheet compiler token interns. |
| */ |
| published interface XFormulaOpCodeMapper |
| { |
| //------------------------------------------------------------------------- |
| |
| /** OpCode value used for external Add-In functions. |
| |
| <p>Needed to be able to identify which of the function names map to an |
| Add-In implementation where this OpCode is used in the returned |
| mapping and the programmatical name is available as additional |
| information.</p> |
| */ |
| [attribute, readonly] long OpCodeExternal; |
| |
| //------------------------------------------------------------------------- |
| |
| /** OpCode value used for unknown functions. |
| |
| <p>Used to identify which of the function names queried with |
| <member>getMappings</member> are unknown to the implementation.</p> |
| */ |
| [attribute, readonly] long OpCodeUnknown; |
| |
| //------------------------------------------------------------------------- |
| |
| /** returns a sequence of tokens matching the input sequence of |
| strings in order. |
| |
| @param Names |
| Sequence of names to be mapped. These can be function names, |
| operators, separators and other symbols the formula compiler |
| knows. |
| |
| @param Language |
| Formula language to be used, one of <type>FormulaLanguage</type> |
| constants. If a constant unknown to the implementation is passed, |
| <type scope="com::sun::star::lang">IllegalArgumentException</type> |
| is thrown. |
| |
| @returns |
| a sequence of <type>FormulaToken</type> matching the input |
| sequence in order. |
| |
| <p>Each string element in parameter Names according to the formula |
| language in parameter Language is mapped to a <type>FormulaToken |
| </type> containing the internal OpCode used by the spreadsheet |
| application in <member>FormulaToken::OpCode</member> and by |
| contract maybe additional information in <member> |
| FormulaToken::Data</member>.</p> |
| |
| <p>The order of the FormulaToken sequence returned matches the |
| input order of the string sequence.</p> |
| |
| <p>An unknown Name string gets the OpCode value of <member> |
| OpCodeUnknown</member> assigned.</p> |
| |
| <p>Additional information in <member>FormulaToken::Data</member> |
| is returned for: |
| <ul> |
| <li>Add-in names: the programmatical name. The OpCode value used |
| for add-ins can be queried with the <member>OpCodeExternal</member> |
| getter method.</li> |
| </ul></p> |
| */ |
| sequence< FormulaToken > getMappings( |
| [in] sequence< string > Names, |
| [in] long Language ) |
| raises( com::sun::star::lang::IllegalArgumentException ); |
| |
| //------------------------------------------------------------------------- |
| |
| /** returns a sequence of map entries for all available elements of |
| a given formula language. |
| |
| @param Language |
| Formula language to be used, one of <type>FormulaLanguage</type> |
| constants. If a constant unknown to the implementation is passed, |
| <type scope="com::sun::star::lang">IllegalArgumentException</type> |
| is thrown. |
| |
| @param Groups |
| Group of mappings to be returned, a bit mask of <type> |
| FormulaMapGroup</type> constants. |
| |
| @returns |
| Sequence of <type>FormulaOpCodeMapEntry</type>. |
| |
| <p>Each element of the formula language in parameter Language is |
| mapped to a <type>FormulaToken</type> containing the internal |
| OpCode used by the spreadsheet application in <member> |
| FormulaToken::OpCode</member> and by contract maybe additional |
| information in <member>FormulaToken::Data</member>. See <member> |
| getMappings</member> for more details.</p> |
| */ |
| sequence< FormulaOpCodeMapEntry > getAvailableMappings( |
| [in] long Language, [in] long Groups ) |
| raises( com::sun::star::lang::IllegalArgumentException ); |
| |
| }; |
| |
| //============================================================================= |
| |
| service FormulaOpCodeMapper : XFormulaOpCodeMapper; |
| |
| //============================================================================= |
| |
| }; }; }; }; |
| |
| #endif |
| |