Difference between revisions of "Unit WebStatus"

From Ultibo.org
Jump to: navigation, search
 
(11 intermediate revisions by the same user not shown)
Line 6: Line 6:
  
 
'''Ultibo Web Status unit'''
 
'''Ultibo Web Status unit'''
 
''To be documented''
 
  
 
=== Constants ===
 
=== Constants ===
Line 20: Line 18:
 
| <code>RtlMaxUnits = 1024;</code>
 
| <code>RtlMaxUnits = 1024;</code>
 
| See maxunits in system.inc
 
| See maxunits in system.inc
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>DeviceTreeMaxColumns = 140;</code>
 +
| &nbsp;
 +
|-
 +
| <code>DeviceTreeColumnOffset = 20;</code>
 +
| &nbsp;
 
|-
 
|-
 
|}
 
|}
Line 90: Line 96:
 
|-
 
|-
 
| <code>Response:THTTPServerResponse;</code>
 
| <code>Response:THTTPServerResponse;</code>
 +
| &nbsp;
 +
|-
 +
| <code>ContentStream:TStream;</code>
 +
| &nbsp;
 +
|-
 +
| <code>Data:Pointer;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
Line 199: Line 211:
 
|-
 
|-
 
| [[TWebStatusUSB|<code>TWebStatusUSB = class(TWebStatusSub)</code>]]
 
| [[TWebStatusUSB|<code>TWebStatusUSB = class(TWebStatusSub)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TWebStatusPCI|<code>TWebStatusPCI = class(TWebStatusSub)</code>]]
 
|-
 
|-
 
|}
 
|}
Line 204: Line 221:
 
|-
 
|-
 
| [[TWebStatusMMC|<code>TWebStatusMMC = class(TWebStatusSub)</code>]]
 
| [[TWebStatusMMC|<code>TWebStatusMMC = class(TWebStatusSub)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TWebStatusHID|<code>TWebStatusHID = class(TWebStatusSub)</code>]]
 
|-
 
|-
 
|}
 
|}
Line 239: Line 261:
 
|-
 
|-
 
| [[TWebStatusTouch|<code>TWebStatusTouch = class(TWebStatusSub)</code>]]
 
| [[TWebStatusTouch|<code>TWebStatusTouch = class(TWebStatusSub)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TWebStatusJoystick|<code>TWebStatusJoystick = class(TWebStatusSub)</code>]]
 
|-
 
|-
 
|}
 
|}
Line 274: Line 301:
 
|-
 
|-
 
| [[TWebStatusConfiguration|<code>TWebStatusConfiguration = class(TWebStatusSub)</code>]]
 
| [[TWebStatusConfiguration|<code>TWebStatusConfiguration = class(TWebStatusSub)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TWebStatusDeviceTree|<code>TWebStatusDeviceTree = class(TWebStatusSub)</code>]]
 
|-
 
|-
 
|}
 
|}
Line 310: Line 342:
 
| <code>WEBSTATUS_HEAP_USED_COUNT:LongWord = 250;</code>
 
| <code>WEBSTATUS_HEAP_USED_COUNT:LongWord = 250;</code>
 
| style="width: 40%;"|Maximum number of used heap blocks to display
 
| style="width: 40%;"|Maximum number of used heap blocks to display
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| <code> WEBSTATUS_ALLOW_RESTART:LongBool = True;</code>
 +
| style="width: 40%;"|If True enable the Restart button on the main page
 +
|-
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| <code>WEBSTATUS_ALLOW_SHUTDOWN:LongBool = True;</code>
 +
| style="width: 40%;"|If True enable the Shutdown button on the main page
 
|-
 
|-
 
|}
 
|}
Line 347: Line 390:
 
'''Web status helper functions'''
 
'''Web status helper functions'''
  
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure WebStatusDeviceTreeLogOutput(const AText:String; Data:Pointer);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<pre style="border: 0; padding-bottom:0px;">function WebStatusDeviceEnumerate(Device:PDevice; Data:Pointer):LongWord;</pre>
 
<pre style="border: 0; padding-bottom:0px;">function WebStatusDeviceEnumerate(Device:PDevice; Data:Pointer):LongWord;</pre>
Line 457: Line 512:
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<pre style="border: 0; padding-bottom:0px;">function WebStatusUSBLogTreeCallback(Device:PUSBDevice; Data:Pointer):LongWord;</pre>
 
<pre style="border: 0; padding-bottom:0px;">function WebStatusUSBLogTreeCallback(Device:PUSBDevice; Data:Pointer):LongWord;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WebStatusPCIDeviceEnumerate(Device:PPCIDevice; Data:Pointer):LongWord;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WebStatusPCIHostEnumerate(Host:PPCIHost; Data:Pointer):LongWord;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WebStatusPCIDriverEnumerate(Driver:PPCIDriver; Data:Pointer):LongWord;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WebStatusMMCEnumerate(MMC:PMMCDevice; Data:Pointer):LongWord;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
Line 469: Line 572:
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<pre style="border: 0; padding-bottom:0px;">function WebStatusSDHCIEnumerate(SDHCI:PSDHCIHost; Data:Pointer):LongWord;</pre>
 
<pre style="border: 0; padding-bottom:0px;">function WebStatusSDHCIEnumerate(SDHCI:PSDHCIHost; Data:Pointer):LongWord;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WebStatusSDIODriverEnumerate(Driver:PSDIODriver; Data:Pointer):LongWord;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WebStatusHIDDeviceEnumerate(Device:PHIDDevice; Data:Pointer):LongWord;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WebStatusHIDConsumerEnumerate(Consumer:PHIDConsumer; Data:Pointer):LongWord;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
Line 529: Line 668:
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<pre style="border: 0; padding-bottom:0px;">function WebStatusKeyboardEnumerate(Keyboard:PKeyboardDevice; Data:Pointer):LongWord;</pre>
 
<pre style="border: 0; padding-bottom:0px;">function WebStatusKeyboardEnumerate(Keyboard:PKeyboardDevice; Data:Pointer):LongWord;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WebStatusJoystickEnumerate(Joystick:PJoystickDevice; Data:Pointer):LongWord;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">

Latest revision as of 05:45, 16 November 2022

Return to Unit Reference


Description


Ultibo Web Status unit

Constants



Web status specific constants RtlMaxUnits*
RtlMaxUnits = 1024; See maxunits in system.inc
 
DeviceTreeMaxColumns = 140;  
DeviceTreeColumnOffset = 20;  


Type definitions



RTL initialize final record

TRtlInitFinalRec = record

Note: See TInitFinalRec in system.inc
InitProc:TProcedure;  
FinalProc:TProcedure;  

RTL initialize final table

PRtlInitFinalTable = ^TRtlInitFinalTable;

TRtlInitFinalTable = record

Note: See TInitFinalTable in system.inc
TableCount:LongWord;  
InitCount:LongWord;  
Procs:array[1..RtlMaxUnits] of TRtlInitFinalRec;  

Web status data

PWebStatusData = ^TWebStatusData;

TWebStatusData = record

Document:TWebStatusSub;  
Host:THTTPHost;  
Request:THTTPServerRequest;  
Response:THTTPServerResponse;  
ContentStream:TStream;  
Data:Pointer;  

Web status content

TWebStatusContent = function(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean of Object;


Class definitions



Web status specific classes

TWebStatusMain = class(THTTPDocument)
TWebStatusSub = class(THTTPDocument)
TWebStatusPlatform = class(TWebStatusSub)
TWebStatusMemory = class(TWebStatusSub)
TWebStatusHeap = class(TWebStatusSub)
TWebStatusCPU = class(TWebStatusSub)
TWebStatusFPU = class(TWebStatusSub)
TWebStatusGPU = class(TWebStatusSub)
TWebStatusRTL = class(TWebStatusSub)
TWebStatusClock = class(TWebStatusSub)
TWebStatusLocale = class(TWebStatusSub)
TWebStatusThreading = class(TWebStatusSub)
TWebStatusThreadList = class(TWebStatusSub)
TWebStatusScheduler = class(TWebStatusSub)
TWebStatusDevices = class(TWebStatusSub)
TWebStatusDrivers = class(TWebStatusSub)
TWebStatusHandles = class(TWebStatusSub)
TWebStatusUSB = class(TWebStatusSub)
TWebStatusPCI = class(TWebStatusSub)
TWebStatusMMC = class(TWebStatusSub)
TWebStatusHID = class(TWebStatusSub)
TWebStatusNetwork = class(TWebStatusSub)
TWebStatusStorage = class(TWebStatusSub)
TWebStatusFilesystem = class(TWebStatusSub)
TWebStatusCache = class(TWebStatusSub)
TWebStatusKeyboard = class(TWebStatusSub)
TWebStatusMouse = class(TWebStatusSub)
TWebStatusTouch = class(TWebStatusSub)
TWebStatusJoystick = class(TWebStatusSub)
TWebStatusFramebuffer = class(TWebStatusSub)
TWebStatusEnvironment = class(TWebStatusSub)
TWebStatusPageTables = class(TWebStatusSub)
TWebStatusVectorTables = class(TWebStatusSub)
TWebStatusIRQFIQSWI = class(TWebStatusSub)
TWebStatusGPIO = class(TWebStatusSub)
TWebStatusConfiguration = class(TWebStatusSub)
TWebStatusDeviceTree = class(TWebStatusSub)
TWebStatusDebug = class(TWebStatusSub)
TWebStatusCustom = class(TWebStatusSub)


Public variables



Web status specific variables

WEBSTATUS_FONT_NAME:String = 'Arial';
WEBSTATUS_HEAP_FREE_COUNT:LongWord = 250; Maximum number of free heap blocks to display
WEBSTATUS_HEAP_USED_COUNT:LongWord = 250; Maximum number of used heap blocks to display
WEBSTATUS_ALLOW_RESTART:LongBool = True; If True enable the Restart button on the main page
WEBSTATUS_ALLOW_SHUTDOWN:LongBool = True; If True enable the Shutdown button on the main page


Function declarations



Web status functions

function WebStatusRegister(AListener:THTTPListener; const AHost,AURL:String; ARedirect:Boolean):Boolean;
Description: To be documented
Note None documented


function WebStatusDeregister(AListener:THTTPListener; const AHost:String):Boolean;
Description: To be documented
Note None documented


Web status helper functions

procedure WebStatusDeviceTreeLogOutput(const AText:String; Data:Pointer);
Description: To be documented
Note None documented


function WebStatusDeviceEnumerate(Device:PDevice; Data:Pointer):LongWord;
Description: To be documented
Note None documented


function WebStatusDriverEnumerate(Driver:PDriver; Data:Pointer):LongWord;
Description: To be documented
Note None documented


function WebStatusHandleEnumerate(Handle:PHandleEntry; Data:Pointer):LongWord;
Description: To be documented
Note None documented


function WebStatusUSBDeviceEnumerate(Device:PUSBDevice; Data:Pointer):LongWord;
Description: To be documented
Note None documented


function WebStatusUSBHostEnumerate(Host:PUSBHost; Data:Pointer):LongWord;
Description: To be documented
Note None documented


function WebStatusUSBDriverEnumerate(Driver:PUSBDriver; Data:Pointer):LongWord;
Description: To be documented
Note None documented


function WebStatusMMCEnumerate(MMC:PMMCDevice; Data:Pointer):LongWord;
Description: To be documented
Note None documented


procedure WebStatusUSBLogOutput(const AText:String; Data:Pointer);
Description: To be documented
Note None documented


function WebStatusUSBLogDeviceCallback(Device:PUSBDevice; Data:Pointer):LongWord;
Description: To be documented
Note None documented


function WebStatusUSBLogTreeCallback(Device:PUSBDevice; Data:Pointer):LongWord;
Description: To be documented
Note None documented


function WebStatusPCIDeviceEnumerate(Device:PPCIDevice; Data:Pointer):LongWord;
Description: To be documented
Note None documented


function WebStatusPCIHostEnumerate(Host:PPCIHost; Data:Pointer):LongWord;
Description: To be documented
Note None documented


function WebStatusPCIDriverEnumerate(Driver:PPCIDriver; Data:Pointer):LongWord;
Description: To be documented
Note None documented


function WebStatusMMCEnumerate(MMC:PMMCDevice; Data:Pointer):LongWord;
Description: To be documented
Note None documented


function WebStatusSDHCIEnumerate(SDHCI:PSDHCIHost; Data:Pointer):LongWord;
Description: To be documented
Note None documented


function WebStatusSDIODriverEnumerate(Driver:PSDIODriver; Data:Pointer):LongWord;
Description: To be documented
Note None documented


function WebStatusHIDDeviceEnumerate(Device:PHIDDevice; Data:Pointer):LongWord;
Description: To be documented
Note None documented


function WebStatusHIDConsumerEnumerate(Consumer:PHIDConsumer; Data:Pointer):LongWord;
Description: To be documented
Note None documented


function WebStatusNetworkEnumerate(Network:PNetworkDevice; Data:Pointer):LongWord;
Description: To be documented
Note None documented


function WebStatusStorageEnumerate(Storage:PStorageDevice; Data:Pointer):LongWord;
Description: To be documented
Note None documented


function WebStatusMouseEnumerate(Mouse:PMouseDevice; Data:Pointer):LongWord;
Description: To be documented
Note None documented


function WebStatusTouchEnumerate(Touch:PTouchDevice; Data:Pointer):LongWord;
Description: To be documented
Note None documented


function WebStatusKeyboardEnumerate(Keyboard:PKeyboardDevice; Data:Pointer):LongWord;
Description: To be documented
Note None documented


function WebStatusJoystickEnumerate(Joystick:PJoystickDevice; Data:Pointer):LongWord;
Description: To be documented
Note None documented


function WebStatusConsoleWindowEnumerate(Console:PConsoleDevice; Handle:TWindowHandle; Data:Pointer):LongWord;
Description: To be documented
Note None documented


Return to Unit Reference