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 addressUsage:
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 theaddress
is a valid IPv4 addressSee 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 theaddress
is a valid IPv4 addressSee 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