registerRunnable<T> method
Implementation
bool registerRunnable<T>(String functionName, Function function, T returnType, List<dynamic> parameterTypes)
{
if(_registeredRunnables.containsKey(functionName))
{
Logger.logFatal("Failed to register function \"" + functionName + "\" in Module \"" + this._entityName + "\". Function already registered before.");
return false;
}
if(!RemoteFunctionRunnable.isDataTypeSupported(returnType))
{
Logger.logFatal("Failed to register function \"" + functionName + "\" in Module \"" + this._entityName +
"\". Return type \"" + returnType.runtimeType.toString() + "\" is no CLAID data type and hence not supported.");
return false;
}
for(int i = 0; i < parameterTypes.length; i++)
{
if(!RemoteFunctionRunnable.isDataTypeSupported(parameterTypes[i]))
{
Logger.logFatal("Failed to register function \"" + functionName + "\" of entity \"" + this._entityName + ". Parameter type \"" +
parameterTypes[i].runtimeType.toString() + "\" is no CLAID data type and hence not supported.");
return false;
}
}
RemoteFunctionRunnable runnable = new RemoteFunctionRunnable<T>(function, returnType, parameterTypes);
return this.addRunnable(functionName, runnable);
}