Software management for working with the file system and support packages
UTILS_API is a set of auxiliary methods for working with files and directories on the user’s computer and is not intended for Engee directories.
Using the UTILS_API you can:
- 
Upload files to your computer; 
- 
Download files from a computer; 
- 
Create and delete directories in the file system using the specified paths. 
In addition, UTILS_API allows you to connect external user modules to the subsystem. Engee.Integrations. Access to the module opens immediately after installations of the subsystem.
#
Main.EngeeDeviceManager.UTILS_API.createFile — Function
function createFile(utils::Any, filename::String, filepath::String, contents::Union{Vector{UInt8}, String, Nothing}=nothing, mode::String="wb", buffering::Int64=-1, encoding::Union{String, Nothing}=nothing, errors::Union{String, Nothing}=nothing, newline::Union{String, Nothing}=nothing, closefd::Bool=true)::NothingThe function is designed to create a file named filename on the user’s client program in the specified directory filepath.
Arguments
- 
utils: object typeUTILS.Utils.
- 
engee_filepath: the path to the file in the directory of the file browser Engee.
- 
host_dirpath: the path to the directory on the user’s client program to which the specified file from Engee will be uploaded.
- 
mode: file opening mode. Possible values:
- 
"r": reading;
- 
"w": recording (overwriting);
- 
"a": additional recording;
- 
"wb": binary notation;
- 
"rb": binary reading.
- 
buffering: parameters of the system buffer for working with files. Possible values:
- 
-1: default system buffer;
- 
0: disable buffering;
- 
1: line-by-line buffering (in text mode only);
- 
>1: buffer size in bytes.
- 
encoding: encoding of the file. Possible values:"utf-8","cp1251","ascii","latin-1",nothing— default system setting.
- 
errors: error handling strategy:
- 
"strict": error with non-encoded characters;
- 
"ignore": ignore non-encoded characters;
- 
"replace": replace with�(replacement marker);
- 
"backslashreplace": replace with escape sequences.
- 
newline: line feed control:
- 
nothingor""— universal mode;
- 
"\n","\r","\r\n"— a specific line feed option. The line feed character differs from system to system:
- 
Unix/Linux: \n;- 
Windows: \r\n;
- 
Old MacOS: \r.
 
- 
- 
closefd: closes the file descriptor automatically (true— close it,false— leave it open).
- 
filename: name of the file being created;
- 
filepath: path to the directory to create the file;
- 
contents: file contents (string, bytes, ornothing).
#
Main.EngeeDeviceManager.UTILS_API.createFolder — Function
function createFolder(utils::Any, folder_path::String, folder_name::String, mode::Int64=511, dir_fd::Union{Int64, Nothing}=nothing)::NothingThe function is designed to create a directory named folder_name on the user’s client program in the specified directory folder_path.
Arguments
- 
utils: object typeUTILS.Utils.
- 
folder_path: the path to the directory on the user’s client program where the new folder will be created.
- 
folder_name: the name of the directory being created.
- 
mode: access mode for the directory. Example of access rights:Rights Octal Decimal Description rwxrwxrwx 0o777 511 Full access for all rwxr-xr-x 0o755 493 Standard rights for directories rwxr-x--- 0o750 488 Owner: full access, Group: read+execute rwx------ 0o700 448 Owner only rw-rw-rw- 0o666 438 Read+Write for all rw-r—r-- 0o644 420 Standard file permissions rw-r----- 0o640 416 Owner: read+write, Group: read rw------- 0o600 384 Owner only (Read+write) 
- 
dir_fd: file descriptor.nothing— the usual path, the number is the relative path through the descriptor.
#
Main.EngeeDeviceManager.UTILS_API.deleteExtension — Method
function deleteExtension(utils::Any, path_to_extension::String)::NothingThe function is designed to remove the specified user extension path from auto-upload to the Engee hardware support package.
Arguments
- 
utils: object typeUTILS.Utils.
- 
path_to_extension: the path to the extension being deleted.
#
Main.EngeeDeviceManager.UTILS_API.deleteFile — Function
function deleteFile(utils::Any, filename::String, filepath::String, ignore_if_missing::Bool=false, verbose::Bool=false)::NothingThe function is designed to delete a file named filename on the user’s client program in the specified directory filepath.
Arguments
- 
utils: object typeUTILS.Utils.
- 
filename: the name of the file to delete.
- 
filepath: the path to the directory where the file is being deleted.
- 
ignore_if_missing:false— error if the file is not found;true— ignore the missing file.
- 
verbose: output operation details (true) or not (false).
#
Main.EngeeDeviceManager.UTILS_API.deleteFolder — Function
function deleteFolder(utils::Any, folder_path::String, folder_name::String, even_if_not_empty::Bool=false, dir_fd::Union{Int64, Nothing}=nothing)The function is designed to delete a directory named folder_name on the user’s client program in the specified directory folder_path.
Arguments
- 
utils: object typeUTILS.Utils.
- 
folder_path: the path to the directory on the user’s client program.
- 
folder_name: the name of the directory to delete.
- 
even_if_not_empty: delete even if the directory is not empty (true— Yes,false: only empty ones).
- 
dir_fd: file descriptor:nothing— the usual path, the number is to use the relative path.
#
Main.EngeeDeviceManager.UTILS_API.downloadFile — Function
function downloadFile(utils::Any, engee_dirpath::String, host_filepath::String, mode::String="rb", buffering::Int64=-1, encoding::Union{String, Nothing}=nothing, errors::Union{String, Nothing}=nothing, newline::Union{String, Nothing}=nothing, closefd::Bool=true)::NothingThe function is designed to download the specified file from the user’s client program to the specified directory of the Engee file browser.
Arguments
- 
utils: object typeUTILS.Utils.
- 
engee_filepath: the path to the file in the directory of the file browser Engee.
- 
host_dirpath: the path to the directory on the user’s client program to which the specified file from Engee will be uploaded.
- 
mode: file opening mode. Possible values:
- 
"r": reading;
- 
"w": recording (overwriting);
- 
"a": additional recording;
- 
"wb": binary notation;
- 
"rb": binary reading.
- 
buffering: parameters of the system buffer for working with files. Possible values:
- 
-1: default system buffer;
- 
0: disable buffering;
- 
1: line-by-line buffering (in text mode only);
- 
>1: buffer size in bytes.
- 
encoding: encoding of the file. Possible values:"utf-8","cp1251","ascii","latin-1",nothing— default system setting.
- 
errors: error handling strategy:
- 
"strict": error with non-encoded characters;
- 
"ignore": ignore non-encoded characters;
- 
"replace": replace with�(replacement marker);
- 
"backslashreplace": replace with escape sequences.
- 
newline: line feed control:
- 
nothingor""— universal mode;
- 
"\n","\r","\r\n"— a specific line feed option. The line feed character differs from system to system:
- 
Unix/Linux: \n;- 
Windows: \r\n;
- 
Old MacOS: \r.
 
- 
- 
closefd: closes the file descriptor automatically (true— close it,false— leave it open).
#
Main.EngeeDeviceManager.UTILS_API.loadExtension — Method
function loadExtension(utils::Any, path_to_extension::String)::NothingThe function is designed to download custom extensions to the Engee hardware support package.
Arguments
- 
utils: object typeUTILS.Utils.
- 
path_to_extension: the path to the downloaded extension.
#
Main.EngeeDeviceManager.UTILS_API.uploadFile — Function
function uploadFile(utils::Any, engee_filepath::String, host_dirpath::String, mode::String="wb", buffering::Int64=-1, encoding::Union{String, Nothing}=nothing, errors::Union{String, Nothing}=nothing, newline::Union{String, Nothing}=nothing, closefd::Bool=true)::NothingThe function is designed to download the specified file from the Engee file browser to the user’s client program in the specified directory.
Arguments
- 
utils: object typeUTILS.Utils.
- 
engee_filepath: the path to the file in the directory of the file browser Engee.
- 
host_dirpath: the path to the directory on the user’s client program to which the specified file from Engee will be uploaded.
- 
mode: file opening mode. Possible values:
- 
"r": reading;
- 
"w": recording (overwriting);
- 
"a": additional recording;
- 
"wb": binary notation;
- 
"rb": binary reading.
- 
buffering: parameters of the system buffer for working with files. Possible values:
- 
-1: default system buffer;
- 
0: disable buffering;
- 
1: line-by-line buffering (in text mode only);
- 
>1: buffer size in bytes.
- 
encoding: encoding of the file. Possible values:"utf-8","cp1251","ascii","latin-1",nothing— default system setting.
- 
errors: error handling strategy:
- 
"strict": error with non-encoded characters;
- 
"ignore": ignore non-encoded characters;
- 
"replace": replace with�(replacement marker);
- 
"backslashreplace": replace with escape sequences.
- 
newline: line feed control:
- 
nothingor""— universal mode;
- 
"\n","\r","\r\n"— a specific line feed option. The line feed character differs from system to system:
- 
Unix/Linux: \n;- 
Windows: \r\n;
- 
Old MacOS: \r.
 
- 
- 
closefd: closes the file descriptor automatically (true— close it,false— leave it open).