23 #include <com/sun/star/uno/Any.h>
24 #include <com/sun/star/uno/Reference.h>
25 #include <com/sun/star/uno/Sequence.h>
29 #include <rtl/ustring.hxx>
34 #include <string_view>
36 #include <unordered_map>
46 typedef std::unordered_map< OUString, const ScUnoAddInFuncData* >
ScAddInHashMap;
82 : maLocale( rLocale), maName( rName) { }
90 css::uno::Reference< css::reflection::XIdlMethod>
xFunction;
93 std::unique_ptr<ScAddInArgDesc[]>
103 const OUString& rDesc,
104 sal_uInt16 nCat,
const OString&,
105 const css::uno::Reference< css::reflection::XIdlMethod>& rFunc,
106 const css::uno::Any& rO,
115 const css::uno::Reference< css::reflection::XIdlMethod>&
GetFunction()
const
125 const ::std::vector< LocalizedName >&
GetCompNames()
const;
128 void SetFunction(
const css::uno::Reference< css::reflection::XIdlMethod>& rNewFunc,
129 const css::uno::Any& rNewObj );
132 void SetCompNames( ::std::vector< LocalizedName >&& rNew );
139 std::unique_ptr<std::unique_ptr<ScUnoAddInFuncData>[]>
ppFuncData;
146 void ReadConfiguration();
147 void ReadFromAddIn(
const css::uno::Reference< css::uno::XInterface>& xInterface );
148 void UpdateFromAddIn(
const css::uno::Reference< css::uno::XInterface>& xInterface,
149 std::u16string_view rServiceName );
157 OUString FindFunction(
const OUString& rUpperName,
bool bLocalFirst );
162 const ScUnoAddInFuncData* GetFuncData(
const OUString& rName,
bool bComplete =
false );
172 void LocalizeString( OUString& rName );
179 bool GetExcelName(
const OUString& rCalcName,
LanguageType eDestLang, OUString& rRetExcelName );
181 bool GetCalcName(
const OUString& rExcelName, OUString& rRetCalcName );
188 css::uno::Sequence<css::uno::Any>
aArgs;
190 css::uno::Reference<css::uno::XInterface>
xCaller;
198 css::uno::Reference<css::sheet::XVolatileResult>
xVarRes;
209 void SetCaller(
const css::uno::Reference<css::uno::XInterface>& rInterface );
218 void SetResult(
const css::uno::Any& rNewRes );
227 const css::uno::Reference<css::sheet::XVolatileResult>&
const ::std::vector< LocalizedName > & GetCompNames() const
const css::uno::Reference< css::sheet::XVolatileResult > & GetVarRes() const
const OUString & GetLocalName() const
void SetCallerPos(tools::Long nNewPos)
std::unordered_map< OUString, const ScUnoAddInFuncData * > ScAddInHashMap
void SetParam(tools::Long nPos, const css::uno::Any &rValue)
const OUString & GetUpperName() const
OUString aUpperName
for entering formulas
const OUString & GetDescription() const
const css::uno::Any & GetObject() const
css::uno::Reference< css::sheet::XVolatileResult > xVarRes
void SetFunction(const css::uno::Reference< css::reflection::XIdlMethod > &rNewFunc, const css::uno::Any &rNewObj)
std::unique_ptr< ScAddInHashMap > pExactHashMap
exact internal name
OUString aOriginalName
kept in formula
void SetCaller(const css::uno::Reference< css::uno::XInterface > &rInterface)
ScAddInArgumentType eType
LocalizedName(const OUString &rLocale, const OUString &rName)
::boost::intrusive_ptr< ScMatrix > ScMatrixRef
ScAddInArgumentType GetArgType(tools::Long nPos)
void SetArguments(tools::Long nNewCount, const ScAddInArgDesc *pNewDescs)
const OUString & GetUpperLocal() const
css::uno::Reference< css::uno::XInterface > xCaller
FormulaError GetErrCode() const
OUString aUpperLocal
for entering formulas
std::unique_ptr< ScAddInHashMap > pLocalHashMap
localized name upper
mutable::std::vector< LocalizedName > maCompNames
std::unique_ptr< ScAddInHashMap > pNameHashMap
internal name upper
sal_uInt16 GetCategory() const
const OUString & GetOriginalName() const
void Clear(EHistoryType eHistory)
OUString aInternalName
used to match configuration and reflection information
const ScAddInArgDesc * GetArguments() const
std::unique_ptr< ScAddInArgDesc[]> pArgDescs
const css::uno::Reference< css::reflection::XIdlMethod > & GetFunction() const
css::uno::Sequence< css::uno::Any > aVarArg
const OUString & GetString() const
css::uno::Sequence< css::uno::Any > aArgs
void SetCallerFromObjectShell(const SfxObjectShell *pSh)
tools::Long GetArgumentCount() const
ScUnoAddInFuncData(const OUString &rNam, const OUString &rLoc, const OUString &rDesc, sal_uInt16 nCat, const OString &, const css::uno::Reference< css::reflection::XIdlMethod > &rFunc, const css::uno::Any &rO, tools::Long nAC, const ScAddInArgDesc *pAD, tools::Long nCP)
const ScUnoAddInFuncData * pFuncData
std::unique_ptr< std::unique_ptr< ScUnoAddInFuncData >[]> ppFuncData
css::uno::Reference< css::reflection::XIdlMethod > xFunction
tools::Long GetCallerPos() const
void SetResult(const css::uno::Any &rNewRes)
const ScMatrixRef & GetMatrix() const
const OString & GetHelpId() const
OUString aLocalName
for display
bool GetExcelName(LanguageType eDestLang, OUString &rRetExcelName) const
void ExecuteCallWithArgs(css::uno::Sequence< css::uno::Any > &rCallArgs)
ScUnoAddInCall(ScUnoAddInCollection &rColl, const OUString &rName, tools::Long nParamCount)
Stores and generates human readable descriptions for spreadsheet-functions, e.g. functions used in fo...
void SetCompNames(::std::vector< LocalizedName > &&rNew)