Developer_release_1.4.0

Class mint

Main class for access to the MintLua library features.

Usage:

  • local mint = require 'mint'
    if mint:validate_ip_address('192.168.' .. suffix) then
      self:start_video()
    end
    
  • > mint:validate_ip_address('192.168.2.100')
    true
    > mint:validate_ip_address('192.168.2.900')
    false
    

Fields

mint.ansi lua-repl.lib.ansi class reference.
mint.app mint.app module reference.
mint.dbus mint.dbus class reference.
mint.nmos mint.nmos class reference.
mint.os lua-repl.lib.os class reference.

Functions

mint:configuration () Create a new Configuration instance.
mint:daemon_connector () Create a new DaemonConnector instance.
mint:log_if_error (logger, error_prefix, ...) Logs an error if the function is returned with an error.
mint:make_console_friendly_binary (raw_binary) Make useful wrapper for binary data to escape control characters.
mint:parse_ipv4_address (address) Convert the given string that is a valid IPv4 address to MINT IP format
mint:validate_ip_address (address) Checks if the given string is a valid IPv4 address.
mint:validate_ip_multicast_address (address) Checks if the given string is a valid IPv4 multicast address.
mint:wrap_cron_handler (handler) Wraps handler function to use in crontab-like rules declaration.


Fields

mint.ansi
lua-repl.lib.ansi class reference.
mint.app
mint.app module reference.
mint.dbus
mint.dbus class reference.
mint.nmos
mint.nmos class reference.
mint.os
lua-repl.lib.os class reference.

Functions

mint:configuration ()
Create a new Configuration instance.

Returns:

    New Configuration instance.

Usage:

  • local mint = require 'mint'
    local cfg = mint:configuration()
    print(cfg.some_setting)
  • > cfg = mint:configuration()
    > cfg:get_config_field('/log/filename')
    /var/log/macnica.log
mint:daemon_connector ()
Create a new DaemonConnector instance. DaemonConnector represents a single connection to mintd. Recommended DaemonConnector usage pattern is when one connection is used for a short sequence of operations like querying a state, modifying a state, etc.

Keeping persistent connection for polling device status is supported, but it is not recommended to keep a single connection for all operations. Daemon was designed to keep all FPGA related states inside, so better don't maintain external state around persistent connection (unless it is explicitly required for polling, etc.).

Returns:

    DaemonConnector New Daemon Connector instance.

Usage:

  • local mint = require 'mint'
    local dc = mint:daemon_connector()
    print(dc:get_caps().has_ip)
  • > dc:get_caps().has_ip
    true
mint:log_if_error (logger, error_prefix, ...)
Logs an error if the function is returned with an error.

Parameters:

  • logger Logger Logger that will be used for log errors.
  • error_prefix string A prefix which will be prepended to the log message.
  • ... varargs A function invocation result, assuming it follows convention of returning result, error_string tuple

Returns:

    varargs ... A function invocation result as it passed to the function

Usage:

  • local mint = require 'mint'
    local cfg = mint:configuration()
    local log = cfg:logger('killstream_on_overheat')
    mint:log_if_error(log, "Can't stop video", dc:stop_video())
  • -- Useless for Lua REPL
mint:make_console_friendly_binary (raw_binary)
Make useful wrapper for binary data to escape control characters.

Parameters:

  • raw_binary string Raw binary

Returns:

    (mint.console_friendly_binary) Console friendly binary instance

Usage:

  • local data = string.char(71, 0, 1, 0, 2, 73)
    log:debug(data)
    data = mint:make_console_friendly_binary(data)
    log:debug(data)
  • > string.char(71, 0, 1, 0, 2, 73)
    G??I
    > mint:make_console_friendly_binary(_)
    G\0\1\0\2I
mint:parse_ipv4_address (address)
Convert the given string that is a valid IPv4 address to MINT IP format

Parameters:

  • address string The string that is a valid IPv4 address

Returns:

    number MINT IP format if the address is a valid IPv4 address

Usage:

  • local mint = require 'mint'
    local dc = mint:daemon_connector()
    dc:cli_set_ip(mint:parse_ipv4_address('192.168.23.123'))
  • > mint:parse_ipv4_address('192.168.23.123')
    2065148096
mint:validate_ip_address (address)
Checks if the given string is a valid IPv4 address.

Parameters:

  • address string The string to check

Returns:

    bool true if the address is a valid IPv4 address

See also:

Usage:

  • if mint:validate_ip_address(address) then
      set_ok_response()
    else
      set_error_response()
    end
  • > mint:validate_ip_address('192.168.2.100')
    true
    > mint:validate_ip_address('192.168.2.900')
    false
mint:validate_ip_multicast_address (address)
Checks if the given string is a valid IPv4 multicast address.

Parameters:

  • address string The string to check

Returns:

    bool true if the address is a valid IPv4 address

See also:

Usage:

  • xpcall(function()
      if mint:validate_ip_multicast_address(remote_ip) then
        log_info('START ' .. action_label .. ' STREAM multicast')
        dc:start_video_multicast(
          remote_ip,
          remote_multicast_port,
          local_port
        )
        dc:start_audio_multicast(
          remote_ip,
          remote_multicast_port + 1,
          local_port + 1
        )
      else
        log_info('START ' .. action_label .. ' STREAM unicast')
        dc:start_video_unicast(
          remote_ip,
          remote_port,
          local_port,
          video_mode or 0
        )
        dc:start_audio_unicast(
          remote_ip,
          remote_port + 1,
          local_port + 1
        )
      end
    
      set_ok_response();
    end, function(err)
      set_error_response(nil, err);
    end)
  • > mint:validate_ip_multicast_address('239.45.55.60')
    true
    > mint:validate_ip_multicast_address('192.168.23.123')
    false
mint:wrap_cron_handler (handler)
Wraps handler function to use in crontab-like rules declaration. By convention, the "cron rule" entry (see usage below) should contain the wrapped handler.

Parameters:

  • handler function Handler function

Returns:

    function crontab-like rule item factory

See also:

Usage:

  • local wrap = (require 'mint').wrap_cron_handler
    local check_temperature = wrap((require 'checker').check_temperature)
    -- also, the colon syntax can be used:
    local mint = require 'mint'
    local check_temperature = mint:wrap_cron_handler(
      (require 'checker').check_temperature
    )
    
    return
    {
      cron =
      {
        check_temperature '* * * * * *';
      };
    }
  • -- Useless for Lua REPL
generated by LDoc 1.4.6 Last updated 1980-01-01 00:00:00