PDF
AuboStudio SDK  0.6.3
arcs::aubo_scope::FunctionModel Class Reference

FunctionModel This interface provides methods to add and remove script functions in the Expression Editor accessible from Assignment and If program nodes among others. More...

#include <function_model.h>

Public Member Functions

 FunctionModel (FunctionModel &f)
 FunctionModel (FunctionModel &&f)
 ~FunctionModel ()
FunctionPtr addFunction (const std::string &name, const std::vector< std::string > &argumentNames)
 Add a script function to the Expression Editor.
bool removeFunction (FunctionPtr func)
 Remove a function.
FunctionPtr getFunction (const std::string &name)
 Get a function by name.
std::vector< FunctionPtr > getFunctions ()
 Get all added functions.

Private Member Functions

 FunctionModel ()

Private Attributes

void * d_ { nullptr }

Friends

class DataSwitch

Detailed Description

FunctionModel This interface provides methods to add and remove script functions in the Expression Editor accessible from Assignment and If program nodes among others.

Added functions merely serve as an easy way for the end customer to use the contributed functions. The implementation of a given script function must be added in the preamble of program through the use of InstallationNodeContribution#generateScript(ScriptWriter).

The full set of functions which can be contributed must be added in the preamble at all times, regardless of whether they are added to the Expression Editor or not. Otherwise old programs that rely on a script function contribution might stop working.

See also Function.

Definition at line 45 of file function_model.h.

Constructor & Destructor Documentation

◆ FunctionModel() [1/3]

arcs::aubo_scope::FunctionModel::FunctionModel ( FunctionModel & f)

References FunctionModel().

Referenced by FunctionModel(), and FunctionModel().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FunctionModel() [2/3]

arcs::aubo_scope::FunctionModel::FunctionModel ( FunctionModel && f)

References FunctionModel().

Here is the call graph for this function:

◆ ~FunctionModel()

arcs::aubo_scope::FunctionModel::~FunctionModel ( )

◆ FunctionModel() [3/3]

arcs::aubo_scope::FunctionModel::FunctionModel ( )
private

Member Function Documentation

◆ addFunction()

FunctionPtr arcs::aubo_scope::FunctionModel::addFunction ( const std::string & name,
const std::vector< std::string > & argumentNames )

Add a script function to the Expression Editor.

Parameters
nameName of the function. Safe names must match regex [a-zA-Z][a-zA-Z0-9_]{0,24} for a total of 25 characters.
argumentNamesIs a list of hints for the function arguments.
Returns
If the script function was successfully added, an object representing the Function will be returned. Null otherwise.
Exceptions
FunctionExceptionif the name is illegal or more than five arguments are specified.

◆ getFunction()

FunctionPtr arcs::aubo_scope::FunctionModel::getFunction ( const std::string & name)

Get a function by name.

Parameters
nameThe name of the function.
Returns
The function if found, otherwise null.

◆ getFunctions()

std::vector< FunctionPtr > arcs::aubo_scope::FunctionModel::getFunctions ( )

Get all added functions.

Returns
A collection of added functions.

◆ removeFunction()

bool arcs::aubo_scope::FunctionModel::removeFunction ( FunctionPtr func)

Remove a function.

Only functions added by this AuboCap can be removed.

Parameters
functionFunction to be removed.
Returns
true, if the function was successfully removed.

◆ DataSwitch

friend class DataSwitch
friend

Definition at line 117 of file function_model.h.

References DataSwitch.

Referenced by DataSwitch.

Member Data Documentation

◆ d_

void* arcs::aubo_scope::FunctionModel::d_ { nullptr }
private

Definition at line 119 of file function_model.h.


The documentation for this class was generated from the following file: