Unit WebStatus

From Ultibo.org
Revision as of 02:50, 7 August 2017 by Ultibo (Talk | contribs)

Jump to: navigation, search

Return to Unit Reference


Description


Ultibo Web Status unit

To be documented

Constants



Web status specific constants RtlMaxUnits*
RtlMaxUnits = 1024; See maxunits in system.inc


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;  

Web status content

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


Class definitions



Web status main

TWebStatusMain = class(THTTPDocument)

public
constructor Create;  
destructor Destroy; override;  
private
FTitle:String;  
FCaption:String;  
FSubPages:TStringList;  
 
function GetTitle:String;  
procedure SetTitle(const ATitle:String);  
function GetCaption:String;  
 
function NormalizedDateTimeToStr(const DateTime:TDateTime):String;  
protected
function MakeBold(const AName:String):String;  
function MakeLink(const AName,ALink:String):String;  
 
function AddBlank(AResponse:THTTPServerResponse):Boolean;  
function AddBlankEx(AResponse:THTTPServerResponse; AColumns:LongWord):Boolean;  
 
function AddItem(AResponse:THTTPServerResponse; const AName,AValue:String):Boolean;  
function AddItemEx(AResponse:THTTPServerResponse; const AName,AValue:String; AIndent:LongWord):Boolean;  
 
function AddItem3Column(AResponse:THTTPServerResponse; const AName,AValue1,AValue2:String):Boolean;  
function AddItem4Column(AResponse:THTTPServerResponse; const AName,AValue1,AValue2,AValue3:String):Boolean;  
function AddItem5Column(AResponse:THTTPServerResponse; const AName,AValue1,AValue2,AValue3,AValue4:String):Boolean;  
 
function AddBold(AResponse:THTTPServerResponse; const AName,AValue:String):Boolean;  
function AddBoldEx(AResponse:THTTPServerResponse; const AName,AValue:String; AIndent:LongWord):Boolean;  
 
function AddBold3Column(AResponse:THTTPServerResponse; const AName,AValue1,AValue2:String):Boolean;  
function AddBold4Column(AResponse:THTTPServerResponse; const AName,AValue1,AValue2,AValue3:String):Boolean;  
function AddBold5Column(AResponse:THTTPServerResponse; const AName,AValue1,AValue2,AValue3,AValue4:String):Boolean;  
 
function AddHeader(AResponse:THTTPServerResponse; const ATitle:String; ASub:TWebStatusSub):Boolean;  
function AddHeaderEx(AResponse:THTTPServerResponse; const ATitle,ACaption:String; ASub:TWebStatusSub; AColumns:LongWord):Boolean;  
 
function AddFooter(AResponse:THTTPServerResponse):Boolean;  
function AddFooterEx(AResponse:THTTPServerResponse; AColumns:LongWord):Boolean;  
 
function AddContent(AResponse:THTTPServerResponse; const AContent:String):Boolean;  
 
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
property Title:String read GetTitle write SetTitle;  
property Caption:String read GetCaption;  
 
function RegisterSubPage(ASub:TWebStatusSub):Boolean;  
function DeregisterSubPage(ASub:TWebStatusSub):Boolean;  

Web status sub

TWebStatusSub = class(THTTPDocument)

public
constructor Create(AMain:TWebStatusMain);  
destructor Destroy; override;  
private
FMain:TWebStatusMain;  
 
function GetTitle:String;  
function GetCaption:String;  
 
function NormalizedDateTimeToStr(const DateTime:TDateTime):String;  
protected
FCaption:String;  
 
function MakeBold(const AName:String):String;  
function MakeLink(const AName,ALink:String):String;  
 
function AddBlank(AResponse:THTTPServerResponse):Boolean;  
function AddBlankEx(AResponse:THTTPServerResponse; AColumns:LongWord):Boolean;  
 
function AddItem(AResponse:THTTPServerResponse; const AName,AValue:String):Boolean;  
function AddItemEx(AResponse:THTTPServerResponse; const AName,AValue:String; AIndent:LongWord):Boolean;  
 
function AddItem3Column(AResponse:THTTPServerResponse; const AName,AValue1,AValue2:String):Boolean;  
function AddItem4Column(AResponse:THTTPServerResponse; const AName,AValue1,AValue2,AValue3:String):Boolean;  
function AddItem5Column(AResponse:THTTPServerResponse; const AName,AValue1,AValue2,AValue3,AValue4:String):Boolean;  
 
function AddBold(AResponse:THTTPServerResponse; const AName,AValue:String):Boolean;  
function AddBoldEx(AResponse:THTTPServerResponse; const AName,AValue:String; AIndent:LongWord):Boolean;  
 
function AddBold3Column(AResponse:THTTPServerResponse; const AName,AValue1,AValue2:String):Boolean;  
function AddBold4Column(AResponse:THTTPServerResponse; const AName,AValue1,AValue2,AValue3:String):Boolean;  
function AddBold5Column(AResponse:THTTPServerResponse; const AName,AValue1,AValue2,AValue3,AValue4:String):Boolean;  
 
function AddHeader(AResponse:THTTPServerResponse; const ATitle:String; ASub:TWebStatusSub):Boolean;  
function AddHeaderEx(AResponse:THTTPServerResponse; const ATitle,ACaption:String; ASub:TWebStatusSub; AColumns:LongWord):Boolean;  
 
function AddFooter(AResponse:THTTPServerResponse):Boolean;  
function AddFooterEx(AResponse:THTTPServerResponse; AColumns:LongWord):Boolean;  
 
function AddContent(AResponse:THTTPServerResponse; const AContent:String):Boolean;  
 
function DoGet(AHost:THTTPHost;ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
property Main:TWebStatusMain read FMain;  
property Caption:String read GetCaption;  

Web status platform

TWebStatusPlatform = class(TWebStatusSub)

public
constructor Create(AMain:TWebStatusMain);  
private
 
protected
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
 

Web status memory

TWebStatusMemory = class(TWebStatusSub)

public
constructor Create(AMain:TWebStatusMain);  
private
 
protected
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
 

Web status heap

TWebStatusHeap = class(TWebStatusSub)

public
constructor Create(AMain:TWebStatusMain);  
private
function FlagsToFlagName(AFlags:LongWord):String;  
protected
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
 

Web status CPU

TWebStatusCPU = class(TWebStatusSub)

public
constructor Create(AMain:TWebStatusMain);  
private
 
protected
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
 

Web status FPU

TWebStatusFPU = class(TWebStatusSub)

public
constructor Create(AMain:TWebStatusMain);  
private
 
protected
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
 

Web status GPU

TWebStatusGPU = class(TWebStatusSub)

public
constructor Create(AMain:TWebStatusMain);  
private
 
protected
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
 

Web status RTL

TWebStatusRTL = class(TWebStatusSub)

public
constructor Create(AMain:TWebStatusMain);  
private
 
protected
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
 

Web status clock

TWebStatusClock = class(TWebStatusSub)

public
constructor Create(AMain:TWebStatusMain);  
private
 
protected
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
 

Web status locale

TWebStatusLocale = class(TWebStatusSub)

public
constructor Create(AMain:TWebStatusMain);  
private
 
protected
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
 

Web status threading

TWebStatusThreading = class(TWebStatusSub)

public
constructor Create(AMain:TWebStatusMain);  
private
 
protected
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
 

Web status thread list

TWebStatusThreadList = class(TWebStatusSub)

public
constructor Create(AMain:TWebStatusMain);  
private
function FlagsToFlagNames(AFlags:LongWord):TStringList;  
function AffinityToAffinityNames(AAffinity:LongWord):TStringList;  
protected
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
 

Web status scheduler

TWebStatusScheduler = class(TWebStatusSub)

public
constructor Create(AMain:TWebStatusMain);  
private
 
protected
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
 

Web status devices

TWebStatusDevices = class(TWebStatusSub)

public
constructor Create(AMain:TWebStatusMain);  
private
function ClockFlagsToFlagNames(AFlags:LongWord):TStringList;  
function TimerFlagsToFlagNames(AFlags:LongWord):TStringList;  
function RandomFlagsToFlagNames(AFlags:LongWord):TStringList;  
function MailboxFlagsToFlagNames(AFlags:LongWord):TStringList;  
function WatchdogFlagsToFlagNames(AFlags:LongWord):TStringList;  
protected
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
 

Web status drivers

TWebStatusDrivers = class(TWebStatusSub)

public
constructor Create(AMain:TWebStatusMain);  
private
 
protected
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
 

Web status handles

TWebStatusHandles = class(TWebStatusSub)

public
constructor Create(AMain:TWebStatusMain);  
private
function FlagsToFlagNames(AFlags:LongWord):TStringList;  
protected
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
 

Web status USB

TWebStatusUSB = class(TWebStatusSub)

public
constructor Create(AMain:TWebStatusMain);  
private
 
protected
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
 

Web status MMC

TWebStatusMMC = class(TWebStatusSub)

public
constructor Create(AMain:TWebStatusMain);  
private
 
protected
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
 

Web status network

TWebStatusNetwork = class(TWebStatusSub)

public
constructor Create(AMain:TWebStatusMain);  
private
function NetworkFlagsToFlagNames(AFlags:LongWord):TStringList;  
protected
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
 

Web status storage

TWebStatusStorage = class(TWebStatusSub)

public
constructor Create(AMain:TWebStatusMain);  
private
 
protected
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
 

Web status filesystem

TWebStatusFilesystem = class(TWebStatusSub)

public
constructor Create(AMain:TWebStatusMain);  
private
 
protected
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
 

Web status cache

TWebStatusCache = class(TWebStatusSub)

public
constructor Create(AMain:TWebStatusMain);  
private
 
protected
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
 

Web status keyboard

TWebStatusKeyboard = class(TWebStatusSub)

public
constructor Create(AMain:TWebStatusMain);  
private
 
protected
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
 

Web status mouse

TWebStatusMouse = class(TWebStatusSub)

public
constructor Create(AMain:TWebStatusMain);  
private
 
protected
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
 

Web status framebuffer

TWebStatusFramebuffer = class(TWebStatusSub)

public
constructor Create(AMain:TWebStatusMain);  
private
 
protected
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
 

Web status environment

TWebStatusEnvironment = class(TWebStatusSub)

public
constructor Create(AMain:TWebStatusMain);  
private
 
protected
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
 

Web status page tables

TWebStatusPageTables = class(TWebStatusSub)

public
constructor Create(AMain:TWebStatusMain);  
private
function FlagsToFlagNames(AFlags:LongWord):TStringList;  
protected
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
 

Web status vector tables

TWebStatusVectorTables = class(TWebStatusSub)

public
constructor Create(AMain:TWebStatusMain);  
private
 
protected
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
 

Web status IRQ/FIQ/SWI

TWebStatusIRQFIQSWI = class(TWebStatusSub)

public
constructor Create(AMain:TWebStatusMain);  
private
 
protected
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
 

Web status configuration

TWebStatusConfiguration = class(TWebStatusSub)

public
constructor Create(AMain:TWebStatusMain);  
private
 
protected
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
 

Web status debug

TWebStatusDebug = class(TWebStatusSub)

public
constructor Create(AMain:TWebStatusMain);  
private
 
protected
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
public
 

Web status custom

TWebStatusCustom = class(TWebStatusSub)

public
constructor Create(const AName,APath:String; AColumns:LongWord);  
private
FColumns:LongWord;  
protected
function DoGet(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; override;  
 
function DoContent(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean; virtual;  
public
property Columns:LongWord read FColumns write FColumns;  
 
property OnContent:TWebStatusContent read FOnContent write FOnContent;  


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


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

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


function WebStatusSDHCIEnumerate(SDHCI:PSDHCIHost; 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 WebStatusKeyboardEnumerate(Keyboard:PKeyboardDevice; Data:Pointer):LongWord;
Description: To be documented
Note None documented


Return to Unit Reference