execute method

  1. @override
Future<bool?> execute(
  1. String caller,
  2. String propertyOrFunction,
  3. List arguments
)
override

Implementation

@override
Future<bool?> execute(String caller, String propertyOrFunction, List<dynamic> arguments) async
{
  /// setter
  if (scope == null) return null;
  String function = propertyOrFunction.toLowerCase().trim();

  switch (function)
  {
    case "send":
    case "write":
      String? message     = S.toStr(S.item(arguments, 0)) ?? body;
      bool?   asBinary    = S.toBool(S.item(arguments, 1));
      int?    maxPartSize = S.toInt(S.item(arguments, 2));
      if (!S.isNullOrEmpty(message)) send(message!, asBinary: asBinary, maxPartSize: maxPartSize);
      return true;

    case "read":
    case "connect":
      return await start();

    case "disconnect":
      return await stop();
  }
  return super.execute(caller, propertyOrFunction, arguments);
}