|
|
Line 1,938: |
Line 1,938: |
| | | |
| | | |
− | '''Adapter manager''' | + | '''Network specific classes''' |
| | | |
− | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
| + | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" |
− | | + | |
− | <code>TAdapterManager = class(TObject)</code>
| + | |
− | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
| + | |
− | {| class="wikitable" style="font-size: 14px; background: white;"
| + | |
| |- | | |- |
− | | <code>constructor Create(ASettings:TNetworkSettings);</code> | + | | [[TAdapterManager|<code>TAdapterManager = class(TObject)</code>]] |
− | | style="width: 50%;"|
| + | |
− | |-
| + | |
− | | <code>destructor Destroy; override;</code> | + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div>
| + | |
− | |-
| + | |
− | | <code>FLock:TSynchronizerHandle;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>FSettings:TNetworkSettings;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>FAdapters:TNetworkList;</code>
| + | |
− | | List of TNetworkAdapter objects
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function ReaderLock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function ReaderUnlock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function WriterLock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function WriterUnlock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
| + | |
− | |-
| + | |
− | | <code>property Settings:TNetworkSettings read FSettings;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function AddAdapter(AAdapter:TNetworkAdapter):Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function RemoveAdapter(AAdapter:TNetworkAdapter):Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function GetAdapterByName(const AName:String; ALock:Boolean; AState:LongWord):TNetworkAdapter;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function GetAdapterByType(AAdapterType:Word; ALock:Boolean; AState:LongWord):TNetworkAdapter;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function GetAdapterByDevice(ADevice:PNetworkDevice; ALock:Boolean; AState:LongWord):TNetworkAdapter;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function GetAdapterByAdapter(AAdapter:TNetworkAdapter; ALock:Boolean; AState:LongWord):TNetworkAdapter;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function GetAdapterByNext(APrevious:TNetworkAdapter; ALock,AUnlock:Boolean; AState:LongWord):TNetworkAdapter;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function StartAdapters:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function StopAdapters:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function ProcessStatus:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function ProcessAdapters:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function EnumerateAdapters(ACallback:TAdapterCallback):Boolean;</code>
| + | |
− | |
| + | |
| |- | | |- |
| |} | | |} |
− | </div></div>
| + | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" |
− | | + | |
− | '''Adapter transport'''
| + | |
− | | + | |
− | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
| + | |
− | | + | |
− | <code>TAdapterTransport = class(TListObject)</code>
| + | |
− | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
| + | |
− | {| class="wikitable" style="font-size: 14px; background: white;"
| + | |
| |- | | |- |
− | |colspan="2"|Note: Upstream | + | | [[TAdapterTransport|<code>TAdapterTransport = class(TListObject)</code>]] |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>constructor Create;</code> | + | |
− | | style="width: 50%;"|
| + | |
− | |-
| + | |
− | | <code>destructor Destroy; override;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div>
| + | |
− | |-
| + | |
− | | <code>FLock:TSynchronizerHandle;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
| + | |
− | |-
| + | |
− | | <code>FrameType:Word;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>PacketType:Word;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>PacketName:String;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>PacketHandler:TAdapterPacketHandler;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function ReaderLock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function ReaderUnlock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function WriterLock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function WriterUnlock:Boolean;</code>
| + | |
− | |
| + | |
| |- | | |- |
| |} | | |} |
− | </div></div>
| + | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" |
− | | + | |
− | '''Adapter binding'''
| + | |
− | | + | |
− | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
| + | |
− | | + | |
− | <code>TAdapterBinding = class(TListObject)</code>
| + | |
− | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
| + | |
− | {| class="wikitable" style="font-size: 14px; background: white;" | + | |
− | |-
| + | |
− | |colspan="2"|Note: Upstream
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>constructor Create(ATransport:TAdapterTransport);</code>
| + | |
− | | style="width: 50%;"|
| + | |
− | |-
| + | |
− | | <code>destructor Destroy; override;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div>
| + | |
− | |-
| + | |
− | | <code>FLock:TSynchronizerHandle;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
| + | |
− | |-
| + | |
− | | <code>FrameType:Word;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>PacketType:Word;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>Transport:TAdapterTransport;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function ReaderLock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function ReaderUnlock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function WriterLock:Boolean;</code>
| + | |
− | |
| + | |
| |- | | |- |
− | | <code>function WriterUnlock:Boolean;</code> | + | | [[TAdapterBinding|<code>TAdapterBinding = class(TListObject)</code>]] |
− | |
| + | |
| |- | | |- |
| |} | | |} |
− | </div></div>
| + | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" |
− | | + | |
− | '''Adapter monitor'''
| + | |
− | | + | |
− | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
| + | |
− | | + | |
− | <code>TAdapterMonitor = class(TListObject)</code>
| + | |
− | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
| + | |
− | {| class="wikitable" style="font-size: 14px; background: white;"
| + | |
| |- | | |- |
− | |colspan="2"|Note: Upstream | + | | [[TAdapterMonitor|<code>TAdapterMonitor = class(TListObject)</code>]] |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>constructor Create;</code> | + | |
− | | style="width: 50%;"|
| + | |
− | |-
| + | |
− | | <code>destructor Destroy; override;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div>
| + | |
− | |-
| + | |
− | | <code>FLock:TSynchronizerHandle;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
| + | |
− | |-
| + | |
− | | <code>MonitorHandler:TAdapterMonitorHandler;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function ReaderLock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function ReaderUnlock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function WriterLock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function WriterUnlock:Boolean;</code>
| + | |
− | |
| + | |
| |- | | |- |
| |} | | |} |
− | </div></div>
| + | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" |
− |
| + | |
− | '''Adapter authenticator'''
| + | |
− | | + | |
− | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
| + | |
− | | + | |
− | <code>TAdapterAuthenticator = class(TListObject)</code>
| + | |
− | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
| + | |
− | {| class="wikitable" style="font-size: 14px; background: white;"
| + | |
| |- | | |- |
− | |colspan="2"|Note: Upstream | + | | [[TAdapterAuthenticator|<code>TAdapterAuthenticator = class(TListObject)</code>]] |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>constructor Create;</code> | + | |
− | | style="width: 50%;"|
| + | |
− | |-
| + | |
− | | <code>destructor Destroy; override;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div>
| + | |
− | |-
| + | |
− | | <code>FLock:TSynchronizerHandle;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
| + | |
− | |-
| + | |
− | | <code>AuthType:Word;</code>
| + | |
− | | EAP/RSN
| + | |
− | |-
| + | |
− | | <code>AuthenticatorHandler:TAdapterAuthenticatorHandler;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function ReaderLock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function ReaderUnlock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function WriterLock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function WriterUnlock:Boolean;</code>
| + | |
− | |
| + | |
| |- | | |- |
| |} | | |} |
− | </div></div>
| + | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" |
− | | + | |
− | '''Network list'''
| + | |
− | | + | |
− | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
| + | |
− | | + | |
− | <code>TNetworkList = class(TLinkedObjList)</code>
| + | |
− | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
| + | |
− | {| class="wikitable" style="font-size: 14px; background: white;" | + | |
− | |-
| + | |
− | | <code>constructor Create;</code>
| + | |
− | | style="width: 50%;"|
| + | |
− | |-
| + | |
− | | <code>destructor Destroy; override;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div>
| + | |
− | |-
| + | |
− | | <code>FLock:TSynchronizerHandle;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
| + | |
− | |-
| + | |
− | | <code>procedure ClearList;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function ReaderLock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function ReaderUnlock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function ReaderConvert:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function WriterLock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function WriterUnlock:Boolean;</code>
| + | |
− | |
| + | |
| |- | | |- |
− | | <code>function WriterConvert:Boolean;</code> | + | | [[TNetworkList|<code>TNetworkList = class(TLinkedObjList)</code>]] |
− | |
| + | |
| |- | | |- |
| |} | | |} |
− | </div></div>
| + | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" |
− | | + | |
− | '''Network adapter'''
| + | |
− | | + | |
− | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
| + | |
− | | + | |
− | <code>TNetworkAdapter = class(TListObject)</code>
| + | |
− | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
| + | |
− | {| class="wikitable" style="font-size: 14px; background: white;"
| + | |
| |- | | |- |
− | | <code>constructor Create(AManager:TAdapterManager; ADevice:PNetworkDevice; const AName:String);</code> | + | | [[TNetworkAdapter|<code>TNetworkAdapter = class(TListObject)</code>]] |
− | | style="width: 50%;"|
| + | |
− | |-
| + | |
− | | <code>destructor Destroy; override;</code> | + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div>
| + | |
− | |-
| + | |
− | | <code>FLock:TSynchronizerHandle;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>FLocalLock:TMutexHandle;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|<div style="font-family: monospace,courier;">'''protected'''</div>
| + | |
− | |-
| + | |
− | | <code>FManager:TAdapterManager;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>FDevice:PNetworkDevice;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>FName:String;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>FState:Integer;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>FStatus:Integer;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>FMediaType:Word;</code>
| + | |
− | | Physical Media type (Ethernet/Tokenring etc)
| + | |
− | |-
| + | |
− | | <code>FAdapterType:Word;</code>
| + | |
− | | Adapter type (Wired/Loopback/Wireless etc)
| + | |
− | |-
| + | |
− | | <code>FLastError:Integer;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>FThread:TAdapterThread;</code>
| + | |
− | | Thread for adapter receiving
| + | |
− | |-
| + | |
− | | <code>FBufferedReceive:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>FBufferedTransmit:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>FBindings:TNetworkList;</code>
| + | |
− | | List of TAdapterBinding objects
| + | |
− | |-
| + | |
− | | <code>FTransports:TNetworkList;</code>
| + | |
− | | List of TAdapterTransport objects
| + | |
− | |-
| + | |
− | | <code>FMonitors:TNetworkList;</code>
| + | |
− | | List of TAdapterMonitor objects
| + | |
− | |-
| + | |
− | | <code>FAuthenticators:TNetworkList;</code>
| + | |
− | | List of TAdapterAuthenticator objects
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>FStatistics:TAdapterStatistics;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function GetName:String;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function GetThreadID:TThreadID;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function AcquireLock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function ReleaseLock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
| + | |
− | |-
| + | |
− | | <code>property Manager:TAdapterManager read FManager;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>property Device:PNetworkDevice read FDevice;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>property Name:String read GetName;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>property State:Integer read FState;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>property Status:Integer read FStatus write SetStatus;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>property MediaType:Word read FMediaType;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>property AdapterType:Word read FAdapterType;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>property LastError:Integer read FLastError;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>property ThreadID:TThreadID read GetThreadID;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>property BufferedReceive:Boolean read FBufferedReceive;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>property BufferedTransmit:Boolean read FBufferedTransmit;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function ReaderLock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function ReaderUnlock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function WriterLock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function WriterUnlock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function GetTransportByHandle(AHandle:THandle; ALock:Boolean; AState:LongWord):TAdapterTransport;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function GetTransportByType(APacketType,AFrameType:Word; ALock:Boolean; AState:LongWord):TAdapterTransport;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function GetTransportByTransport(ATransport:TAdapterTransport; ALock:Boolean; AState:LongWord):TAdapterTransport;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function GetTransportByNext(APrevious:TAdapterTransport; ALock,AUnlock:Boolean; AState:LongWord):TAdapterTransport;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function GetBindingByHandle(AHandle:THandle; ALock:Boolean; AState:LongWord):TAdapterBinding;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function GetBindingByType(ATransport:TAdapterTransport; APacketType,AFrameType:Word; ALock:Boolean; AState:LongWord):TAdapterBinding;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function GetBindingByTransport(ATransport:TAdapterTransport; ALock:Boolean; AState:LongWord):TAdapterBinding;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function GetBindingByBinding(ABinding:TAdapterBinding; ALock:Boolean; AState:LongWord):TAdapterBinding;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function GetBindingByNext(APrevious:TAdapterBinding; ALock,AUnlock:Boolean; AState:LongWord):TAdapterBinding;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function GetMonitorByHandle(AHandle:THandle; ALock:Boolean; AState:LongWord):TAdapterMonitor;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function GetMonitorByMonitor(AMonitor:TAdapterMonitor; ALock:Boolean; AState:LongWord):TAdapterMonitor;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function GetMonitorByNext(APrevious:TAdapterMonitor; ALock,AUnlock:Boolean; AState:LongWord):TAdapterMonitor;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function GetAuthenticatorByHandle(AHandle:THandle; ALock:Boolean; AState:LongWord):TAdapterAuthenticator;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function GetAuthenticatorByType(AAuthType:Word; ALock:Boolean; AState:LongWord):TAdapterAuthenticator;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function GetAuthenticatorByAuthenticator(AAuthenticator:TAdapterAuthenticator; ALock:Boolean; AState:LongWord):TAdapterAuthenticator;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function GetAuthenticatorByNext(APrevious:TAdapterAuthenticator; ALock,AUnlock:Boolean; AState:LongWord):TAdapterAuthenticator;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function AddTransport(APacketType,AFrameType:Word; const APacketName:String; APacketHandler:TAdapterPacketHandler):THandle; virtual;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function RemoveTransport(AHandle:THandle; APacketType:Word):Boolean; virtual;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function AddBinding(ATransport:TAdapterTransport; APacketType,AFrameType:Word):THandle; virtual;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function RemoveBinding(AHandle:THandle; APacketType:Word):Boolean; virtual;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function AddMonitor(AMonitorHandler:TAdapterMonitorHandler):THandle; virtual;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function RemoveMonitor(AHandle:THandle):Boolean; virtual;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function AddAuthenticator(AAuthType:Word; AAuthenticatorHandler:TAdapterAuthenticatorHandler):THandle; virtual;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function RemoveAuthenticator(AHandle:THandle; AAuthType:Word):Boolean; virtual;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function GetMTU(AHandle:THandle):Word; virtual;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function SendPacket(AHandle:THandle; ADest:Pointer; APacket:PPacketFragment; ASize:Integer):Boolean; virtual;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function ResetInterface(AHandle:THandle):Boolean; virtual;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function TerminateDriver(AHandle:THandle):Boolean; virtual;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function GetReceiveMode(AHandle:THandle):Word; virtual;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function SetReceiveMode(AHandle:THandle; AMode:Word):Boolean; virtual;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function ClearStatistics(AHandle:THandle):Boolean; virtual;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function GetStatistics(AHandle:THandle):TAdapterStatistics; virtual;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function GetDefaultAddress(AHandle:THandle):THardwareAddress; virtual;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function GetHardwareAddress(AHandle:THandle):THardwareAddress; virtual;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function SetHardwareAddress(AHandle:THandle; const AAddress:THardwareAddress):Boolean; virtual;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function GetBroadcastAddress(AHandle:THandle):THardwareAddress; virtual;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function GetMulticastAddresses(AHandle:THandle):TMulticastAddresses; virtual;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"| ;
| + | |
− | |-
| + | |
− | | <code>function AddMulticastAddress(AHandle:THandle; const AAddress:THardwareAddress):Boolean; virtual;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function RemoveMulticastAddress(AHandle:THandle; const AAddress:THardwareAddress):Boolean; virtual;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function StartAdapter:Boolean; virtual;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function StopAdapter:Boolean; virtual;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function ProcessStatus:Boolean; virtual;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function ProcessAdapter:Boolean; virtual;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function CompareAddress(const AAddress1,AAddress2:THardwareAddress):Boolean; virtual;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function CompareDefault(AHandle:THandle; const AAddress:THardwareAddress):Boolean; virtual;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function CompareHardware(AHandle:THandle; const AAddress:THardwareAddress):Boolean; virtual;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function CompareBroadcast(AHandle:THandle; const AAddress:THardwareAddress):Boolean; virtual;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function CompareMulticast(AHandle:THandle; const AAddress:THardwareAddress):Boolean; virtual;</code>
| + | |
− | |
| + | |
| |- | | |- |
| |} | | |} |
− | </div></div>
| + | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" |
− | | + | |
− | '''Adapter thread'''
| + | |
− | | + | |
− | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
| + | |
− | | + | |
− | <code>TAdapterThread = class(TThread)</code>
| + | |
− | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
| + | |
− | {| class="wikitable" style="font-size: 14px; background: white;"
| + | |
| |- | | |- |
− | | <code>constructor Create(AAdapter:TNetworkAdapter);</code> | + | | [[TAdapterThread|<code>TAdapterThread = class(TThread)</code>]] |
− | | style="width: 50%;"|
| + | |
− | |-
| + | |
− | |colspan="2"|<div style="font-family: monospace,courier;">'''protected'''</div>
| + | |
− | |-
| + | |
− | | <code>FAdapter:TNetworkAdapter;</code> | + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>procedure Execute; override;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
| + | |
− | |-
| + | |
− | | <code>function SendHandle(AHandle:THandle):Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function ReceiveHandle:THandle;</code>
| + | |
− | |
| + | |
| |- | | |- |
| |} | | |} |
− | </div></div>
| + | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" |
− | | + | |
− | '''Adapter buffer'''
| + | |
− | | + | |
− | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
| + | |
− | | + | |
− | <code>TAdapterBuffer = class(TObject)</code>
| + | |
− | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
| + | |
− | {| class="wikitable" style="font-size: 14px; background: white;" | + | |
− | |-
| + | |
− | |colspan="2"|Note: Ring buffer for Packets.
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>constructor Create;</code>
| + | |
− | | style="width: 50%;"|
| + | |
− | |-
| + | |
− | | <code>destructor Destroy; override;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div>
| + | |
− | |-
| + | |
− | | <code>FLock:TCriticalSectionHandle;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|<div style="font-family: monospace,courier;">'''protected'''</div>
| + | |
− | |-
| + | |
− | | <code>FSize:Integer;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>FCount:Integer;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>FNextRead:Integer;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>FNextWrite:Integer;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>FList:TList;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>FMemory:TMemoryStream;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function AcquireLock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function ReleaseLock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>procedure SetSize(ASize:Integer);</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
| + | |
− | |-
| + | |
− | | <code>property Size:Integer read FSize write SetSize;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function ReadNext:Pointer;</code>
| + | |
− | |
| + | |
| |- | | |- |
− | | <code>function WriteNext:Pointer;</code> | + | | [[TAdapterBuffer|<code>TAdapterBuffer = class(TObject)</code>]] |
− | |
| + | |
| |- | | |- |
| |} | | |} |
− | </div></div>
| + | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" |
− | | + | |
− | '''Wired adapter'''
| + | |
− | | + | |
− | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
| + | |
− | | + | |
− | <code>TWiredAdapter = class(TNetworkAdapter)</code>
| + | |
− | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
| + | |
− | {| class="wikitable" style="font-size: 14px; background: white;"
| + | |
| |- | | |- |
− | | <code>constructor Create(AManager:TAdapterManager; ADevice:PNetworkDevice; const AName:String);</code> | + | | [[TWiredAdapter|<code>TWiredAdapter = class(TNetworkAdapter)</code>]] |
− | | style="width: 50%;"|
| + | |
− | |-
| + | |
− | |colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div>
| + | |
− | |-
| + | |
− | | <code>FDefaultAddress:THardwareAddress;</code> | + | |
− | |
| + | |
− | |-
| + | |
− | | <code>FHardwareAddress:THardwareAddress;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>FBroadcastAddress:THardwareAddress;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>FMulticastAddresses:TMulticastAddresses;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function ProcessPacket(ABuffer:Pointer; ASize:Integer):Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|<div style="font-family: monospace,courier;">'''protected'''</div>
| + | |
− | |-
| + | |
− | | <code>procedure SetStatus(AStatus:Integer); override;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
| + | |
− | |-
| + | |
− | | <code>function AddTransport(APacketType,AFrameType:Word; const APacketName:String; APacketHandler:TAdapterPacketHandler):THandle; override;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function RemoveTransport(AHandle:THandle; APacketType:Word):Boolean; override;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function GetMTU(AHandle:THandle):Word; override;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function SendPacket(AHandle:THandle; ADest:Pointer; APacket:PPacketFragment; ASize:Integer):Boolean; override;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function ClearStatistics(AHandle:THandle):Boolean; override;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function GetStatistics(AHandle:THandle):TAdapterStatistics; override;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function GetDefaultAddress(AHandle:THandle):THardwareAddress; override;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function GetHardwareAddress(AHandle:THandle):THardwareAddress; override;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function SetHardwareAddress(AHandle:THandle; const AAddress:THardwareAddress):Boolean; override;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function GetBroadcastAddress(AHandle:THandle):THardwareAddress; override;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function GetMulticastAddresses(AHandle:THandle):TMulticastAddresses; override;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function AddMulticastAddress(AHandle:THandle; const AAddress:THardwareAddress):Boolean; override;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function RemoveMulticastAddress(AHandle:THandle; const AAddress:THardwareAddress):Boolean; override;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function StartAdapter:Boolean; override;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function StopAdapter:Boolean; override;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function ProcessAdapter:Boolean; override;</code>
| + | |
− | |
| + | |
| |- | | |- |
| |} | | |} |
− | </div></div>
| + | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" |
− | | + | |
− | '''Network setting'''
| + | |
− | | + | |
− | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
| + | |
− | | + | |
− | <code>TNetworkSetting = class(TListObject)</code>
| + | |
− | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
| + | |
− | {| class="wikitable" style="font-size: 14px; background: white;"
| + | |
| |- | | |- |
− | |colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div> | + | | [[TNetworkSetting|<code>TNetworkSetting = class(TListObject)</code>]] |
− | |-
| + | |
− | | <code>FName:String;</code> | + | |
− | | style="width: 50%;"|
| + | |
− | |-
| + | |
− | | <code>FValue:String;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>FHash:LongWord;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>procedure SetName(const AName:String);</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
| + | |
− | |-
| + | |
− | | <code>property Name:String read FName write SetName;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>property Value:String read FValue write FValue;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>property Hash:LongWord read FHash;</code>
| + | |
− | |
| + | |
| |- | | |- |
| |} | | |} |
− | </div></div>
| + | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" |
− | | + | |
− | '''Network settings'''
| + | |
− | | + | |
− | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
| + | |
− | | + | |
− | <code>TNetworkSettings = class(TObject)</code>
| + | |
− | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
| + | |
− | {| class="wikitable" style="font-size: 14px; background: white;"
| + | |
| |- | | |- |
− | | <code>constructor Create;</code> | + | | [[TNetworkSettings|<code>TNetworkSettings = class(TObject)</code>]] |
− | | style="width: 50%;"|
| + | |
− | |-
| + | |
− | | <code>destructor Destroy; override;</code> | + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div>
| + | |
− | |-
| + | |
− | | <code>FLock:TSynchronizerHandle;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>FLocalLock:TMutexHandle;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>FHostName:String;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>FDomainName:String;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>FList:TLinkedObjList;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function ReaderLock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function ReaderUnlock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function WriterLock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function WriterUnlock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function AcquireLock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function ReleaseLock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function GetHostName:String;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>procedure SetHostName(const AHostName:String);</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function GetDomainName:String;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>procedure SetDomainName(const ADomainName:String);</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function ExtractName(const AValue,AToken:String):String;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function ExtractValue(const AValue,AToken:String):String;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function ExtractPrefix(const AValue:String):String;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function SplitName(const AName:String):String;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function SplitPrefix(const AName:String):String;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function MergePrefix(const APrefix,AName:String):String;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function TranslateString(const AValue,ADefault:String):String;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function TranslateInteger(const AValue:String; ADefault:Integer):Integer;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function TranslateBoolean(const AValue:String; ADefault:Boolean):Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function GetFromList(const AName:String):TNetworkSetting;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function FindFromList(const AName:String):String;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function FindFromEnvironment(const AName:String):String;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
| + | |
− | |-
| + | |
− | | <code>property HostName:String read GetHostName write SetHostName;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>property DomainName:String read GetDomainName write SetDomainName;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function GetString(const AName:String):String;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function GetStringDefault(const AName,ADefault:String):String;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function GetInteger(const AName:String):Integer;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function GetIntegerDefault(const AName:String; ADefault:Integer):Integer;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function GetBoolean(const AName:String):Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function GetBooleanDefault(const AName:String; ADefault:Boolean):Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function AddString(const AName,AValue:String):Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function AddInteger(const AName:String; AValue:Integer):Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function AddBoolean(const AName:String; AValue:Boolean):Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function Remove(const AName:String):Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function LoadFromFile(const AFileName:String; AFlat:Boolean):Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function LoadFromStream(AStream:TStream; AFlat:Boolean):Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function LoadFromStrings(AStrings:TStrings; AFlat:Boolean):Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function SaveToFile(const AFileName:String; AFlat:Boolean):Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function SaveToStream(AStream:TStream; AFlat:Boolean):Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function SaveToStrings(AStrings:TStrings; AFlat:Boolean):Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function LoadFromEnvironment:Boolean;</code>
| + | |
− | |
| + | |
| |- | | |- |
| |} | | |} |
− | </div></div>
| + | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" |
− | | + | |
− | '''Service set'''
| + | |
− | | + | |
− | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
| + | |
− | | + | |
− | <code>TServiceSet = class(TListObject)</code>
| + | |
− | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
| + | |
− | {| class="wikitable" style="font-size: 14px; background: white;" | + | |
− | |-
| + | |
− | | <code>constructor Create;</code>
| + | |
− | | style="width: 50%;"|
| + | |
− | |-
| + | |
− | | <code>destructor Destroy; override;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div>
| + | |
− | |-
| + | |
− | | <code>FLock:TSynchronizerHandle;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>FLocalLock:TMutexHandle;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function GetName:String;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>procedure SetName(const AName:String);</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>procedure SetServiceSetType(AServiceSetType:LongWord);</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>procedure SetServiceSetTime(const AServiceSetTime:Int64);</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>procedure SetAddress(const AAddress:THardwareAddress);</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>procedure SetAdapter(AAdapter:TNetworkAdapter);</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|<div style="font-family: monospace,courier;">'''protected'''</div>
| + | |
− | |-
| + | |
− | | <code>FName:String;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>FServiceSetType:LongWord;</code>
| + | |
− | | BSS/ESS/IBSS
| + | |
− | |-
| + | |
− | | <code>FServiceSetTime:Int64;</code>
| + | |
− | | Flush time
| + | |
− | |-
| + | |
− | | <code>FAddress:THardwareAddress;</code>
| + | |
− | | Address of service set
| + | |
− | |-
| + | |
− | | <code>FAdapter:TNetworkAdapter;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function AcquireLock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function ReleaseLock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
| + | |
− | |-
| + | |
− | | <code>property Name:String read GetName write SetName;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>property ServiceSetType:LongWord read FServiceSetType write SetServiceSetType;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>property ServiceSetTime:Int64 read FServiceSetTime write SetServiceSetTime;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>property Address:THardwareAddress read FAddress write SetAddress;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>property Adapter:TNetworkAdapter read FAdapter write SetAdapter;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | |colspan="2"|
| + | |
− | |-
| + | |
− | | <code>function ReaderLock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function ReaderUnlock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function ReaderConvert:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function WriterLock:Boolean;</code>
| + | |
− | |
| + | |
− | |-
| + | |
− | | <code>function WriterUnlock:Boolean;</code>
| + | |
− | |
| + | |
| |- | | |- |
− | | <code>function WriterConvert:Boolean;</code> | + | | [[TServiceSet|<code>TServiceSet = class(TListObject)</code>]] |
− | |
| + | |
| |- | | |- |
| |} | | |} |
− | </div></div>
| |
| <br /> | | <br /> |
| | | |