Any AddIn implementation must implement a service describing its
specific set of functions.
That service must contain the AddIn service, and the
functions that are implemented, in one or more interfaces.
The ::com::sun::star::lang::XServiceName interface
must describe that service, and the XAddIn interface
must describe the individual functions.
Each AddIn function can take parameters of the following types:
long
- for integer values.
double
- for floating point values.
string
- for text strings.
long[][]
- for (two-dimensional) arrays of integer values.
double[][]
- for (two-dimensional) arrays of floating point values.
string[][]
- for (two-dimensional) arrays of text strings.
any[][]
- for (two-dimensional) arrays of mixed contents. Each
any
will contain a double
or a string
, depending on
the data.
any
- Depending on the data, a
double
, a string
,
or an any[][]
will be passed. If no argument is specified in
the function call, void will be passed. This allows for optional
parameters.
- ::com::sun::star::table::XCellRange
- for a ::com::sun::star::table::XCellRange interface
to the source data.
- ::com::sun::star::beans::XPropertySet
- for a ::com::sun::star::beans::XPropertySet
interface to the SpreadsheetDocument making the function
call. Only one parameter of this type is allowed in each function. It
can be used to query document settings like
SpreadsheetDocumentSettings::NullDate.
any[]
- for varying parameters. Only the last parameter of a function may
have this type. It will be filled with the remaining arguments of the
function call that were not used for the previous parameters. Each
element of the sequence will be filled as in the case of
any
above.
Each AddIn function must have one of the following return types:
long
double
string
long[][]
double[][]
string[][]
any[][]
- XVolatileResult
any
The sequences must contain arrays as described above for the
parameter types.
An XVolatileResult return value must contain an object
implementing the VolatileResult service, that contains
a volatile result. Subsequent calls with the same parameters must
return the same object.
An any
return value can contain any of the other types.