Difference between revisions of "Unit ShellUpdate"
From Ultibo.org
Line 17: | Line 17: | ||
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>SHELL_UPDATE_HTTP_DELIMITER = ':';</code> | ||
+ | | style="width: 50%;"| | ||
|- | |- | ||
| <code>SHELL_UPDATE_HTTP_SEPARATOR = '/';</code> | | <code>SHELL_UPDATE_HTTP_SEPARATOR = '/';</code> | ||
Line 81: | Line 84: | ||
|- | |- | ||
| <code>SHELL_UPDATE_ITEM_COMMAND = 'COMMAND';</code> | | <code>SHELL_UPDATE_ITEM_COMMAND = 'COMMAND';</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>SHELL_UPDATE_ITEM_FIRMWARE = 'FIRMWARE';</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>SHELL_UPDATE_ITEM_FILE = 'FILE';</code> | ||
| | | | ||
|- | |- | ||
Line 86: | Line 95: | ||
|- | |- | ||
| <code>SHELL_UPDATE_ITEM_HTTP_SERVER = 'SERVER';</code> | | <code>SHELL_UPDATE_ITEM_HTTP_SERVER = 'SERVER';</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>SHELL_UPDATE_ITEM_HTTP_PROXY = 'PROXY';</code> | ||
| | | | ||
|- | |- | ||
Line 101: | Line 113: | ||
|- | |- | ||
| <code>SHELL_UPDATE_ITEM_KERNEL_COMMAND = 'COMMAND';</code> | | <code>SHELL_UPDATE_ITEM_KERNEL_COMMAND = 'COMMAND';</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>SHELL_UPDATE_ITEM_FIRMWARE_FILES = 'FIRMWARE';</code> | ||
| | | | ||
|- | |- | ||
Line 115: | Line 130: | ||
|- | |- | ||
| <code>SHELL_UPDATE_PARAMETER_FORCE = 'F';</code> | | <code>SHELL_UPDATE_PARAMETER_FORCE = 'F';</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>SHELL_UPDATE_PARAMETER_CURRENT = 'C';</code> | ||
| | | | ||
|- | |- | ||
Line 120: | Line 138: | ||
</div></div> | </div></div> | ||
<br /> | <br /> | ||
− | |||
=== Type definitions === | === Type definitions === | ||
---- | ---- | ||
Line 145: | Line 162: | ||
|colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div> | |colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div> | ||
|- | |- | ||
− | | <code>function GetLocal(const AName:String):String;</code> | + | | <code>function GetList(const ANames:String):TStringList;</code> |
+ | | | ||
+ | |- | ||
+ | | <code>function GetLocal(const AName:String; ACurrent:Boolean):String;</code> | ||
| | | | ||
|- | |- | ||
| <code>function GetRemote(const AName:String):String;</code> | | <code>function GetRemote(const AName:String):String;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>procedure SetProxy(AClient:THTTPClient);</code> | ||
| | | | ||
|- | |- | ||
Line 184: | Line 209: | ||
| <code>SHELL_UPDATE_HTTP_SERVER:String;</code> | | <code>SHELL_UPDATE_HTTP_SERVER:String;</code> | ||
| style="width: 40%;"|Name or IP of http server for updates (eg 192.168.0.1) | | style="width: 40%;"|Name or IP of http server for updates (eg 192.168.0.1) | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>SHELL_UPDATE_HTTP_PROXY:String;</code> | ||
+ | | style="width: 40%;"|Name or IP and Port of http proxy server (eg 192.168.0.100:8080) | ||
|- | |- | ||
|} | |} | ||
Line 214: | Line 245: | ||
| <code>SHELL_UPDATE_KERNEL_COMMAND:String;</code> | | <code>SHELL_UPDATE_KERNEL_COMMAND:String;</code> | ||
| style="width: 40%;"|Name of the kernel command file for updates (eg cmdline.txt) | | style="width: 40%;"|Name of the kernel command file for updates (eg cmdline.txt) | ||
+ | |- | ||
+ | | <code>SHELL_UPDATE_FIRMWARE_FILES:String;</code> | ||
+ | | style="width: 40%;"|Name of the firmware files for updates (eg bootcode.bin,start.elf,fixup.dat) | ||
|- | |- | ||
|} | |} |
Revision as of 05:29, 27 March 2018
Return to Unit Reference
Contents
Description
Ultibo Update Shell extension unit
To be documented
Constants
Shell update specific constants
SHELL_UPDATE_*
SHELL_UPDATE_HTTP_DELIMITER = ':';
|
|
SHELL_UPDATE_HTTP_SEPARATOR = '/';
|
|
SHELL_UPDATE_HTTP_PROTOCOL = 'http://';
|
|
SHELL_UPDATE_EXTENSION_TMP = '.tmp';
|
|
SHELL_UPDATE_EXTENSION_BAK = '.bak';
|
Shell update command
SHELL_UPDATE_COMMAND_*
SHELL_UPDATE_COMMAND_UPDATE = 'UPDATE';
|
|
SHELL_UPDATE_COMMAND_WGET = 'WGET';
|
Shell update action
SHELL_UPDATE_ACTION_*
SHELL_UPDATE_ACTION_CHECK = 'CHECK';
|
|
SHELL_UPDATE_ACTION_GET = 'GET';
|
|
SHELL_UPDATE_ACTION_SET = 'SET';
|
Shell update item
SHELL_UPDATE_ITEM_*
SHELL_UPDATE_ITEM_ALL = 'ALL';
|
|
SHELL_UPDATE_ITEM_KERNEL = 'KERNEL';
|
|
SHELL_UPDATE_ITEM_CONFIG = 'CONFIG';
|
|
SHELL_UPDATE_ITEM_COMMAND = 'COMMAND';
|
|
SHELL_UPDATE_ITEM_FIRMWARE = 'FIRMWARE';
|
|
SHELL_UPDATE_ITEM_FILE = 'FILE';
|
|
SHELL_UPDATE_ITEM_HTTP_SERVER = 'SERVER';
|
|
SHELL_UPDATE_ITEM_HTTP_PROXY = 'PROXY';
|
|
SHELL_UPDATE_ITEM_HTTP_PATH = 'REMOTE';
|
|
SHELL_UPDATE_ITEM_LOCAL_PATH = 'LOCAL';
|
|
SHELL_UPDATE_ITEM_KERNEL_IMAGE = 'IMAGE';
|
|
SHELL_UPDATE_ITEM_KERNEL_CONFIG = 'CONFIG';
|
|
SHELL_UPDATE_ITEM_KERNEL_COMMAND = 'COMMAND';
|
|
SHELL_UPDATE_ITEM_FIRMWARE_FILES = 'FIRMWARE';
|
Shell update parameter
SHELL_UPDATE_PARAMETER_*
SHELL_UPDATE_PARAMETER_REBOOT = 'R';
|
|
SHELL_UPDATE_PARAMETER_FORCE = 'F';
|
|
SHELL_UPDATE_PARAMETER_CURRENT = 'C';
|
Type definitions
None defined
Class definitions
Shell update
TShellUpdate = class(TShellCommand)
public
| |
constructor Create;
|
|
private
| |
function GetList(const ANames:String):TStringList;
|
|
function GetLocal(const AName:String; ACurrent:Boolean):String;
|
|
function GetRemote(const AName:String):String;
|
|
procedure SetProxy(AClient:THTTPClient);
|
|
protected
| |
function UpdateGet(AShell:TShell; ASession:TShellSession; const ALocal,ARemote:String; AForce:Boolean; var AUpdate:Boolean):Boolean;
|
|
function UpdateCheck(AShell:TShell; ASession:TShellSession; const ALocal,ARemote:String; AForce:Boolean; var AUpdate:Boolean):Boolean;
|
|
public
| |
function DoHelp(AShell:TShell; ASession:TShellSession):Boolean; override;
|
|
function DoInfo(AShell:TShell; ASession:TShellSession):Boolean; override;
|
|
function DoCommand(AShell:TShell; ASession:TShellSession; AParameters:TStrings):Boolean; override;
|
Public variables
Shell update specific variables
SHELL_UPDATE_HTTP_SERVER:String;
|
Name or IP of http server for updates (eg 192.168.0.1) |
SHELL_UPDATE_HTTP_PROXY:String;
|
Name or IP and Port of http proxy server (eg 192.168.0.100:8080) |
SHELL_UPDATE_HTTP_PATH:String;
|
URL path on http server for updates (eg /updates/) |
SHELL_UPDATE_LOCAL_PATH:String;
|
Local path for updates (eg C:\) |
SHELL_UPDATE_KERNEL_IMAGE:String;
|
Name of the kernel image file for updates (eg kernel.img) |
SHELL_UPDATE_KERNEL_CONFIG:String;
|
Name of the kernel config file for updates (eg config.txt) |
SHELL_UPDATE_KERNEL_COMMAND:String;
|
Name of the kernel command file for updates (eg cmdline.txt) |
SHELL_UPDATE_FIRMWARE_FILES:String;
|
Name of the firmware files for updates (eg bootcode.bin,start.elf,fixup.dat) |
Function declarations
Initialization functions
procedure ShellUpdateInit;
Description: To be documented
Note | None documented |
---|
Return to Unit Reference