Indy 9
|
TTextRecord = class(TResultRecord)
Text String resource records are used to provide variable length text string values associated with the Domain owner. Text String resource records do not describe the semantics of the test string contents, and is dependent on the domain where it is located.
A Text String resource record uses the same DNS packet layout as other TResultRecord-based responses, but extends the use of RData to include the following definition and format:
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | . . . TXT-DATA . . . | | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
TTextRecord extends TResultRecord to implement the specifics of accessing RData values as properties, including Text. TTextRecord also overrides the Parse method to read the values in RData into their property counterparts.
property Text: TStrings;
constructor Create(Collection: TCollection); override;
destructor Destroy; override;
procedure Parse(CompleteMessage: String; APos: Integer); override;
CompleteMessage is the contents of the resource record. Since the DNS message can contain compressed data, the whole message is needed for parsing and pointer location.
APos is the position in the resource record where RData values for this record type are located in the DNS Answer.
Parse calls the inherited Parse method, and retrieves the DNS labels and values for the Text property.