Copyright: Copyright © 2000 Inprise Corporation.                      All rights reserved.                                                 This Help file was compiled on   Wednesday, March 21, 2001 14:00:48.


Internet Direct (Indy)

Hello and welcome to the Internet Direct (Indy) documentation.

Internet Direct (Indy) is an open source internet component suite offering popular internet protocols. Indy is a development library based entirely on blocking sockets, and is available for the Borland Delphi, C++ Builder, and Kylix development platforms.


EIdAcceptWaitCannotBeModifiedWhileServerIsActive

Hierarchy	See Also	Unit: IdTCPServer

Exception raised when the accept wait value is modified for an active server.

EIdAcceptWaitCannotBeModifiedWhileServerIsActive = class(EIdTCPServerError)

Description

EIdAcceptWaitCannotBeModifiedWhileServerIsActive is an EIdTCPServerError exception descendant raised when the TIdTCPServer.AcceptWait property is modified while the server is Active.


See Also

TIdTCPServer.AcceptWait


Class Hierarchy

Exception

|

EIdException

|

EIdTCPServerError

|

EIdAcceptWaitCannotBeModifiedWhileServerIsActive


EIdAcceptWaitCannotBeModifiedWhileServerIsActive Fields

EIdAcceptWaitCannotBeModifiedWhileServerIsActive


EIdAcceptWaitCannotBeModifiedWhileServerIsActive Properties

EIdAcceptWaitCannotBeModifiedWhileServerIsActive


EIdAcceptWaitCannotBeModifiedWhileServerIsActive Events

EIdAcceptWaitCannotBeModifiedWhileServerIsActive


EIdAcceptWaitCannotBeModifiedWhileServerIsActive Methods

EIdAcceptWaitCannotBeModifiedWhileServerIsActive


EIdAcceptWaitCannotBeModifiedWhileServerIsActive Members

EIdAcceptWaitCannotBeModifiedWhileServerIsActive


EIdAlreadyConnected

Hierarchy	Unit: IdException

Exception raised when connecting using an already open connection.

EIdAlreadyConnected = class(EIdException)

Description

EIdAlreadyConnected is an exception raised when you attempt to make a connection with an Indy component and there is already an active connection.


Class Hierarchy

Exception

|

EIdException

|

EIdAlreadyConnected


EIdAlreadyConnected Fields

EIdAlreadyConnected


EIdAlreadyConnected Properties

EIdAlreadyConnected


EIdAlreadyConnected Events

EIdAlreadyConnected


EIdAlreadyConnected Methods

EIdAlreadyConnected


EIdAlreadyConnected Members

EIdAlreadyConnected


EIdCanNotChangeTarget

Hierarchy	See Also	Unit: IdLogDebug

EIdCanNotChangeTarget = class(EIdException)

Description

This exception class is raised if you attempt to set the TIdLogDebug.Target property while the TIdLogDebug.Active property is true. This exception is only raised in the Borland IDE and when the component is loading from a stream.


See Also

TIdLogDebug.Target

TIdLogDebug.Active


Class Hierarchy

Exception

|

EIdException

|

EIdCanNotChangeTarget


EIdCanNotChangeTarget Fields

EIdCanNotChangeTarget


EIdCanNotChangeTarget Properties

EIdCanNotChangeTarget


EIdCanNotChangeTarget Events

EIdCanNotChangeTarget


EIdCanNotChangeTarget Methods

EIdCanNotChangeTarget


EIdCanNotChangeTarget Members

EIdCanNotChangeTarget


EIdCanNotCreateMessagePart

Hierarchy	See Also	Unit: IdMessage

Indicates an error in the TIdMessagePart constructor.

EIdCanNotCreateMessagePart = class(EIdMessageException)

Description

EIdCanNotCreateMessagePart is an EIdMessageException descendant used to identify an error in the constructor for a TIdMessagePart instance. This exception generally indicates that the constructor has been called with the abstract base class TIdMessagePart instead of a TIdText or TIdAttachment descendant.


See Also

TIdText

TIdAttachment


Class Hierarchy

Exception

|

EIdException

|

EIdMessageException

|

EIdCanNotCreateMessagePart


EIdCanNotCreateMessagePart Fields

EIdCanNotCreateMessagePart


EIdCanNotCreateMessagePart Properties

EIdCanNotCreateMessagePart


EIdCanNotCreateMessagePart Events

EIdCanNotCreateMessagePart


EIdCanNotCreateMessagePart Methods

EIdCanNotCreateMessagePart


EIdCanNotCreateMessagePart Members

EIdCanNotCreateMessagePart


EIdClosedSocket

Hierarchy	Unit: IdException

Exception for writing to a closed TCP socket.

EIdClosedSocket = class(EIdException)

Description

EIdClosedSocket is the exception raised when an application attempts to write to a closed TCP socket.


Class Hierarchy

Exception

|

EIdException

|

EIdClosedSocket


EIdClosedSocket Fields

EIdClosedSocket


EIdClosedSocket Properties

EIdClosedSocket


EIdClosedSocket Events

EIdClosedSocket


EIdClosedSocket Methods

EIdClosedSocket


EIdClosedSocket Members

EIdClosedSocket


EIdConnClosedGracefully

Hierarchy	Unit: IdException

Exception raised when a connection has close gracefully.

EIdConnClosedGracefully = class(EIdSilentException)

Description

This exception class is raised when a connection has been closed gracefully. Because it descends from EIdSilentException, it behaves like the VCL EAbort exception. We recommend that you set your IDE to ignore those exceptions by clicking Tools|Debugger Options..|Language Exceptions|Add and entering "EIdSilentException".


Class Hierarchy

Exception

|

EIdException

|

EIdSilentException

|

EIdConnClosedGracefully


EIdConnClosedGracefully Fields

EIdConnClosedGracefully


EIdConnClosedGracefully Properties

EIdConnClosedGracefully


EIdConnClosedGracefully Events

EIdConnClosedGracefully


EIdConnClosedGracefully Methods

EIdConnClosedGracefully


EIdConnClosedGracefully Members

EIdConnClosedGracefully


EIdCorruptServicesFile

Hierarchy	See Also	Unit: IdGlobal

This exception class is raised when the SERVICES file is corrupt.

EIdCorruptServicesFile = class(EIdException)

Description

This exception class is raised by IdPorts function when it could not read the services file. The services file is usually located in different places depending upon the Operating System:

BSD Unix - /etc/

Windows 95, 98, and Me - Windows directory

Windows NT - Windowssystem32driversetc


See Also

IdPorts


Class Hierarchy

Exception

|

EIdException

|

EIdCorruptServicesFile


EIdCorruptServicesFile Fields

EIdCorruptServicesFile


EIdCorruptServicesFile Properties

EIdCorruptServicesFile


EIdCorruptServicesFile Events

EIdCorruptServicesFile


EIdCorruptServicesFile Methods

EIdCorruptServicesFile


EIdCorruptServicesFile Members

EIdCorruptServicesFile


EIdCouldNotBindSocket

Hierarchy	See Also	Unit: IdSocketHandle

Exception when binding a socket descriptor.

EIdCouldNotBindSocket = class(EIdSocketHandleError)

Description

EIdCouldNotBindSocket is an EIdSocketHandleError descendant raised when TIdSocketHandle.Bind encounters an error while binding the protocol family, address, and port number for the socket descriptor.


See Also

TIdSocketHandle.Bind


Class Hierarchy

Exception

|

EIdException

|

EIdSocketHandleError

|

EIdCouldNotBindSocket


EIdCouldNotBindSocket Fields

EIdCouldNotBindSocket


EIdCouldNotBindSocket Properties

EIdCouldNotBindSocket


EIdCouldNotBindSocket Events

EIdCouldNotBindSocket


EIdCouldNotBindSocket Methods

EIdCouldNotBindSocket


EIdCouldNotBindSocket Members

EIdCouldNotBindSocket


EIdDnsResolverError

Hierarchy	Unit: IdException

Exception raised to indicate TIdDNSResolver errors.

EIdDnsResolverError = class(EIdException)

Description

EIdDnsResolverError is an exception raised by TIdDNSResolver so that it can only respond to those errors.


Class Hierarchy

Exception

|

EIdException

|

EIdDnsResolverError


EIdDnsResolverError Fields

EIdDnsResolverError


EIdDnsResolverError Properties

EIdDnsResolverError


EIdDnsResolverError Events

EIdDnsResolverError


EIdDnsResolverError Methods

EIdDnsResolverError


EIdDnsResolverError Members

EIdDnsResolverError


EIdEIdTunnelConnectToMasterFailed

Hierarchy	Unit: IdTunnelCommon

EIdEIdTunnelConnectToMasterFailed = class(EIdTunnelException)

Description

The text for this class has been generated automatically. This means that it is not documented.


Class Hierarchy

Exception

|

EIdException

|

EIdTunnelException

|

EIdEIdTunnelConnectToMasterFailed


EIdEIdTunnelConnectToMasterFailed Fields

EIdEIdTunnelConnectToMasterFailed


EIdEIdTunnelConnectToMasterFailed Properties

EIdEIdTunnelConnectToMasterFailed


EIdEIdTunnelConnectToMasterFailed Events

EIdEIdTunnelConnectToMasterFailed


EIdEIdTunnelConnectToMasterFailed Methods

EIdEIdTunnelConnectToMasterFailed


EIdEIdTunnelConnectToMasterFailed Members

EIdEIdTunnelConnectToMasterFailed


EIdException

Hierarchy	Unit: IdException

Base Exception class for Indy.

EIdException = class(Exception)

Description

EIdException is an Exception that is the Base Exception class for all Indy Exception descendants. Indy does not raise the standard Exception class.


Class Hierarchy

Exception

|

EIdException


EIdException Fields

EIdException


EIdException Properties

EIdException


EIdException Events

EIdException


EIdException Methods

EIdException


EIdException Members

EIdException


EIdFailedToRetreiveTimeZoneInfo

Hierarchy	See Also	Unit: IdGlobal

This exception class is raised when the Time Zone could not be retrieved.

EIdFailedToRetreiveTimeZoneInfo = class(EIdException)

Description

This exception class is raised by OffsetFromUTC when Time Zone information could not be retrieved from the user's computer.


See Also

OffsetFromUTC


Class Hierarchy

Exception

|

EIdException

|

EIdFailedToRetreiveTimeZoneInfo


EIdFailedToRetreiveTimeZoneInfo Fields

EIdFailedToRetreiveTimeZoneInfo


EIdFailedToRetreiveTimeZoneInfo Properties

EIdFailedToRetreiveTimeZoneInfo


EIdFailedToRetreiveTimeZoneInfo Events

EIdFailedToRetreiveTimeZoneInfo


EIdFailedToRetreiveTimeZoneInfo Methods

EIdFailedToRetreiveTimeZoneInfo


EIdFailedToRetreiveTimeZoneInfo Members

EIdFailedToRetreiveTimeZoneInfo


EIdFTPFileAlreadyExists

Hierarchy	Unit: IdFTP

Exception raised a file cannot be overwritten in an FTP Get request.

EIdFTPFileAlreadyExists = class(EIdException)

Description

This exception is raised if the TIdFTP.Get method is not permitted to overwrite a file and the file you specified in the destination already exists on the user's computer. Usually, you can trap this exception in your code or if you intended to overwrite a file on the user's computer, you can use code such as:

    FTP1.Get('ASampleFile.TXT','ASampleFile.TXT',True);


Class Hierarchy

Exception

|

EIdException

|

EIdFTPFileAlreadyExists


EIdFTPFileAlreadyExists Fields

EIdFTPFileAlreadyExists


EIdFTPFileAlreadyExists Properties

EIdFTPFileAlreadyExists


EIdFTPFileAlreadyExists Events

EIdFTPFileAlreadyExists


EIdFTPFileAlreadyExists Methods

EIdFTPFileAlreadyExists


EIdFTPFileAlreadyExists Members

EIdFTPFileAlreadyExists


EIdHTTPCannotSwitchSessionStateWhenActive

Hierarchy	See Also	Unit: IdHTTPServer

HTTP server exception for changing state on an active server.

EIdHTTPCannotSwitchSessionStateWhenActive = class(EIdHTTPServerError)

Description

EIdHTTPCannotSwitchSessionStateWhenActive is an EIdHTTPServerError descendant raised when a HTTP server attempts to change the value of SessionState on an Active server.


See Also

TIdHTTPServer.SessionState


Class Hierarchy

Exception

|

EIdException

|

EIdHTTPServerError

|

EIdHTTPCannotSwitchSessionStateWhenActive


EIdHTTPCannotSwitchSessionStateWhenActive Fields

EIdHTTPCannotSwitchSessionStateWhenActive


EIdHTTPCannotSwitchSessionStateWhenActive Properties

EIdHTTPCannotSwitchSessionStateWhenActive


EIdHTTPCannotSwitchSessionStateWhenActive Events

EIdHTTPCannotSwitchSessionStateWhenActive


EIdHTTPCannotSwitchSessionStateWhenActive Methods

EIdHTTPCannotSwitchSessionStateWhenActive


EIdHTTPCannotSwitchSessionStateWhenActive Members

EIdHTTPCannotSwitchSessionStateWhenActive


EIdHTTPErrorParsingCommand

Hierarchy	See Also	Unit: IdHTTPServer

HTTP server exception for an unknown HTTP command.

EIdHTTPErrorParsingCommand = class(EIdHTTPServerError)

Description

EIdHTTPErrorParsingCommand is an EIdHTTPServerError exception descendant raised when a HTTP server is unable to determine the HTTP command from a client connection.


See Also

TIdHTTPServer.DoExecute


Class Hierarchy

Exception

|

EIdException

|

EIdHTTPServerError

|

EIdHTTPErrorParsingCommand


EIdHTTPErrorParsingCommand Fields

EIdHTTPErrorParsingCommand


EIdHTTPErrorParsingCommand Properties

EIdHTTPErrorParsingCommand


EIdHTTPErrorParsingCommand Events

EIdHTTPErrorParsingCommand


EIdHTTPErrorParsingCommand Methods

EIdHTTPErrorParsingCommand


EIdHTTPErrorParsingCommand Members

EIdHTTPErrorParsingCommand


EIdHTTPHeaderAlreadyWritten

Hierarchy	See Also	Unit: IdHTTPServer

HTTP response exception raised during writing headers.

EIdHTTPHeaderAlreadyWritten = class(EIdHTTPServerError)

Description

EIdHTTPHeaderAlreadyWritten is an EIdHTTPServerError exception descendant that represents the exception raised when TIdHTTPResponseInfo attempts to write headers for a response where the headers have already been written.


See Also

TIdHTTPResponseInfo.WriteHeader

TIdHTTPResponseInfo.HeaderHasBeenWritten


Class Hierarchy

Exception

|

EIdException

|

EIdHTTPServerError

|

EIdHTTPHeaderAlreadyWritten


EIdHTTPHeaderAlreadyWritten Fields

EIdHTTPHeaderAlreadyWritten


EIdHTTPHeaderAlreadyWritten Properties

EIdHTTPHeaderAlreadyWritten


EIdHTTPHeaderAlreadyWritten Events

EIdHTTPHeaderAlreadyWritten


EIdHTTPHeaderAlreadyWritten Methods

EIdHTTPHeaderAlreadyWritten


EIdHTTPHeaderAlreadyWritten Members

EIdHTTPHeaderAlreadyWritten


EIdHTTPServerError

Hierarchy	See Also	Unit: IdHTTPServer

Ancestor for Indy HTTP exceptions.

EIdHTTPServerError = class(EIdException)

Description

EIdHTTPServerError is an EIdException descendant that is the ancestor for all HTTP-related exceptions in Indy.


See Also

EIdHTTPHeaderAlreadyWritten

EIdHTTPErrorParsingCommand

EIdHTTPUnsupportedAuthorisationScheme

EIdHTTPCannotSwitchSessionStateWhenActive


Class Hierarchy

Exception

|

EIdException

|

EIdHTTPServerError


EIdHTTPServerError Fields

EIdHTTPServerError


EIdHTTPServerError Properties

EIdHTTPServerError


EIdHTTPServerError Events

EIdHTTPServerError


EIdHTTPServerError Methods

EIdHTTPServerError


EIdHTTPServerError Members

EIdHTTPServerError


EIdHTTPUnsupportedAuthorisationScheme

Hierarchy	See Also	Unit: IdHTTPServer

HTTP server exception for an invalid authentication scheme.

EIdHTTPUnsupportedAuthorisationScheme = class(EIdHTTPServerError)

Description

EIdHTTPUnsupportedAuthorisationScheme is an EIdHTTPServerError exception descendant raised when a HTTP server has received a request with an invalid Authorization header. WHen "Authorization" is used in the request, it must contain the "Basic" authentication type with Base64-encoded user and password information.


See Also

TIdHTTPServer.DoExecute

TIdHTTPRequestInfo


Class Hierarchy

Exception

|

EIdException

|

EIdHTTPServerError

|

EIdHTTPUnsupportedAuthorisationScheme


EIdHTTPUnsupportedAuthorisationScheme Fields

EIdHTTPUnsupportedAuthorisationScheme


EIdHTTPUnsupportedAuthorisationScheme Properties

EIdHTTPUnsupportedAuthorisationScheme


EIdHTTPUnsupportedAuthorisationScheme Events

EIdHTTPUnsupportedAuthorisationScheme


EIdHTTPUnsupportedAuthorisationScheme Methods

EIdHTTPUnsupportedAuthorisationScheme


EIdHTTPUnsupportedAuthorisationScheme Members

EIdHTTPUnsupportedAuthorisationScheme


EIdIcmpException

Hierarchy	Unit: IdException

Exception for ICMP components.

EIdIcmpException = class(EIdException)

Description

EIdIcmpException is an exception type raised by the Indy ICMP components.


Class Hierarchy

Exception

|

EIdException

|

EIdIcmpException


EIdIcmpException Fields

EIdIcmpException


EIdIcmpException Properties

EIdIcmpException


EIdIcmpException Events

EIdIcmpException


EIdIcmpException Methods

EIdIcmpException


EIdIcmpException Members

EIdIcmpException


EIdInterceptPropInvalid

Hierarchy	See Also	Unit: IdTCPConnection

This exception class is raised whenever an there is an attempt to use a capability that is not supported by the current TIdConnectionIntercept that was assigned to the Intercept property.

EIdInterceptPropInvalid = class(EIdTCPConnectionError)

Description

This exception class is raised whenever an there is an attempt to use a capability that is not supported by the current TIdConnectionIntercept that was assigned to the Intercept property. This can occur if you attempt to use a TIdHTTP component access a secure HTTP site (HTTPS) while the TIdHTTP's Intercept property is not set to a TIdSSLConnectionIntercept descendant.


See Also

TIdConnectionIntercept

TIdHTTP

TIdSSLConnectionIntercept


Class Hierarchy

Exception

|

EIdException

|

EIdTCPConnectionError

|

EIdInterceptPropInvalid


EIdInterceptPropInvalid Fields

EIdInterceptPropInvalid


EIdInterceptPropInvalid Properties

EIdInterceptPropInvalid


EIdInterceptPropInvalid Events

EIdInterceptPropInvalid


EIdInterceptPropInvalid Methods

EIdInterceptPropInvalid


EIdInterceptPropInvalid Members

EIdInterceptPropInvalid


EIdInterceptPropIsNil

Hierarchy	See Also	Unit: IdTCPConnection

Exception raised when attempting to enable a Nil Intercept.

EIdInterceptPropIsNil = class(EIdTCPConnectionError)

Description

This exception class is raised whenever an attempt to set the InterceptEnabled to true while Intercept is nil. To enable intercepts, you first must set the Intercept property to a TIdConnectionIntercept descendant before setting the InterceptEnabled property to true.


See Also

TIdConnectionIntercept


Class Hierarchy

Exception

|

EIdException

|

EIdTCPConnectionError

|

EIdInterceptPropIsNil


EIdInterceptPropIsNil Fields

EIdInterceptPropIsNil


EIdInterceptPropIsNil Properties

EIdInterceptPropIsNil


EIdInterceptPropIsNil Events

EIdInterceptPropIsNil


EIdInterceptPropIsNil Methods

EIdInterceptPropIsNil


EIdInterceptPropIsNil Members

EIdInterceptPropIsNil


EIdInvalidServiceName

Hierarchy	Unit: IdException

Exception raised for an invalid port service.

EIdInvalidServiceName = class(EIdException)

Description

EIdInvalidServiceName is an EIdException descendant that is raised for an invalid port service.


Class Hierarchy

Exception

|

EIdException

|

EIdInvalidServiceName


EIdInvalidServiceName Fields

EIdInvalidServiceName


EIdInvalidServiceName Properties

EIdInvalidServiceName


EIdInvalidServiceName Events

EIdInvalidServiceName


EIdInvalidServiceName Methods

EIdInvalidServiceName


EIdInvalidServiceName Members

EIdInvalidServiceName


EIdInvalidSocket

Hierarchy	Unit: IdException

Exception raised for a connection closed unexpectedly.

EIdInvalidSocket = class(EIdException)

Description

EIdInvalidSocket is an Exception type raised when a connection was closed unexpectedly.


Class Hierarchy

Exception

|

EIdException

|

EIdInvalidSocket


EIdInvalidSocket Fields

EIdInvalidSocket


EIdInvalidSocket Properties

EIdInvalidSocket


EIdInvalidSocket Events

EIdInvalidSocket


EIdInvalidSocket Methods

EIdInvalidSocket


EIdInvalidSocket Members

EIdInvalidSocket


EIdLoginException

Hierarchy	See Also	Unit: IdTelnetServer

EIdLoginException = class(EIdTelnetServerException)

Description

This exception class is the ancestor class for TIdTelnetServer exceptions related to logging into the server. This exception is handled internally in the TIdTelnetServer.


See Also

TIdTelnetServer.OnAuthentication


Class Hierarchy

Exception

|

EIdException

|

EIdTelnetServerException

|

EIdLoginException


EIdLoginException Fields

EIdLoginException


EIdLoginException Properties

EIdLoginException


EIdLoginException Events

EIdLoginException


EIdLoginException Methods

EIdLoginException


EIdLoginException Members

EIdLoginException


EIdMaxLoginAttempt

Hierarchy	See Also	Unit: IdTelnetServer

EIdMaxLoginAttempt = class(EIdLoginException)

Description

This exception class is raised if a user has exceeded the limit of login attempts permitted by the TIdTelnetServer.LoginAttempts property.

This exception is handled internally in the TIdTelnetServer.


See Also

TIdTelnetServer.OnAuthentication

TIdTelnetServer.LoginAttempts


Class Hierarchy

Exception

|

EIdException

|

EIdTelnetServerException

|

EIdLoginException

|

EIdMaxLoginAttempt


EIdMaxLoginAttempt Fields

EIdMaxLoginAttempt


EIdMaxLoginAttempt Properties

EIdMaxLoginAttempt


EIdMaxLoginAttempt Events

EIdMaxLoginAttempt


EIdMaxLoginAttempt Methods

EIdMaxLoginAttempt


EIdMaxLoginAttempt Members

EIdMaxLoginAttempt


EIdMessageException

Hierarchy	See Also	Unit: IdMessage

Ancestor class for TIdMessage and TIdMessagePart exceptions.

EIdMessageException = class(EIdException)

Description

EIdMessageException is an EIdException exception descendant that is the ancestor class for TIdMessage and TIdMessagePart exceptions.


See Also

EIdCanNotCreateMessagePart

EIdTextInvalidCount


Class Hierarchy

Exception

|

EIdException

|

EIdMessageException


EIdMessageException Fields

EIdMessageException


EIdMessageException Properties

EIdMessageException


EIdMessageException Events

EIdMessageException


EIdMessageException Methods

EIdMessageException


EIdMessageException Members

EIdMessageException


EIdMoreThanOneTIdAntiFreeze

Hierarchy	Unit: IdAntiFreezeBase

This exception is raised whenever there is an attempt to create more than one TIDAntiFreeze component in your application

EIdMoreThanOneTIdAntiFreeze = class(EIdException)

Description

EIdMoreThanOneTIdAntiFreeze

EIdMoreThanOneTIdAntiFreeze is raised when ever there is an attempt to create more than one TIdAntiFreeze instance in an application. Your program is permitted to have only one TIdAntiFreeze component. You do not need more than one TIdAntiFreeze component in your applications.


Class Hierarchy

Exception

|

EIdException

|

EIdMoreThanOneTIdAntiFreeze


EIdMoreThanOneTIdAntiFreeze Fields

EIdMoreThanOneTIdAntiFreeze


EIdMoreThanOneTIdAntiFreeze Properties

EIdMoreThanOneTIdAntiFreeze


EIdMoreThanOneTIdAntiFreeze Events

EIdMoreThanOneTIdAntiFreeze


EIdMoreThanOneTIdAntiFreeze Methods

EIdMoreThanOneTIdAntiFreeze


EIdMoreThanOneTIdAntiFreeze Members

EIdMoreThanOneTIdAntiFreeze


EIdNNTPConnectionRefused

Hierarchy	See Also	Unit: IdNNTP

Indicates a connection to the NNTP server has been refused.

EIdNNTPConnectionRefused = class(EIdProtocolReplyError)

Description

EIdNNTPConnectionRefused is an EIdProtocolReplyError descendant raised when an the TIdNNTP.Connect method receives the 502 NNTP response code.


See Also

TIdNNTP.Connect


Class Hierarchy

Exception

|

EIdException

|

EIdProtocolReplyError

|

EIdNNTPConnectionRefused


EIdNNTPConnectionRefused Fields

EIdNNTPConnectionRefused


EIdNNTPConnectionRefused Properties

EIdNNTPConnectionRefused

EIdProtocolReplyError

 ReplyErrorCode


EIdNNTPConnectionRefused Events

EIdNNTPConnectionRefused


EIdNNTPConnectionRefused Methods

EIdNNTPConnectionRefused	Legend

EIdProtocolReplyError

 CreateError


Legend

 virtual


EIdNNTPConnectionRefused Members

EIdNNTPConnectionRefused	Legend


Legend

 virtual


EIdNNTPException

Hierarchy	See Also	Unit: IdNNTP

Ancestor class for NNTP exceptions.

EIdNNTPException = class(EIdException)

Description

EIdNNTPException is an EIdException descendant that is the ancestor of Indy NNTP exceptions.


See Also

EIdNNTPNoOnNewGroupsList

EIdNNTPNoOnNewNewsList

EIdNNTPNoOnNewsgroupList

EIdNNTPStringListNotInitialized


Class Hierarchy

Exception

|

EIdException

|

EIdNNTPException


EIdNNTPException Fields

EIdNNTPException


EIdNNTPException Properties

EIdNNTPException


EIdNNTPException Events

EIdNNTPException


EIdNNTPException Methods

EIdNNTPException


EIdNNTPException Members

EIdNNTPException


EIdNNTPNoOnNewGroupsList

Hierarchy	See Also	Unit: IdNNTP

NNTP exception for retrieval of the new Newsgroups list.

EIdNNTPNoOnNewGroupsList = class(EIdNNTPException)

Description

EIdNNTPNoOnNewGroupsList is an EIdNNTPException exception descendant raised when TIdNNTP.GetNewGroupsList is called and the TIdNNTP.OnNewGroupsList event handler has not been assigned.


See Also

TIdNNTP.GetNewGroupsList

TIdNNTP.OnNewGroupsList


Class Hierarchy

Exception

|

EIdException

|

EIdNNTPException

|

EIdNNTPNoOnNewGroupsList


EIdNNTPNoOnNewGroupsList Fields

EIdNNTPNoOnNewGroupsList


EIdNNTPNoOnNewGroupsList Properties

EIdNNTPNoOnNewGroupsList


EIdNNTPNoOnNewGroupsList Events

EIdNNTPNoOnNewGroupsList


EIdNNTPNoOnNewGroupsList Methods

EIdNNTPNoOnNewGroupsList


EIdNNTPNoOnNewGroupsList Members

EIdNNTPNoOnNewGroupsList


EIdNNTPNoOnNewNewsList

Hierarchy	See Also	Unit: IdNNTP

Exception for retrieval of the new NNTP new message list.

EIdNNTPNoOnNewNewsList = class(EIdNNTPException)

Description

EIdNNTPNoOnNewNewsList is an EIdNNTPException descendant raised when TIdNNTP.GetNewNewsList is called and the TIdNNTP.OnNewNewsList event handler has not been assigned.


See Also

TIdNNTP.GetNewNewsList

TIdNNTP.OnNewNewsList


Class Hierarchy

Exception

|

EIdException

|

EIdNNTPException

|

EIdNNTPNoOnNewNewsList


EIdNNTPNoOnNewNewsList Fields

EIdNNTPNoOnNewNewsList


EIdNNTPNoOnNewNewsList Properties

EIdNNTPNoOnNewNewsList


EIdNNTPNoOnNewNewsList Events

EIdNNTPNoOnNewNewsList


EIdNNTPNoOnNewNewsList Methods

EIdNNTPNoOnNewNewsList


EIdNNTPNoOnNewNewsList Members

EIdNNTPNoOnNewNewsList


EIdNNTPNoOnNewsgroupList

Hierarchy	See Also	Unit: IdNNTP

Exception for NNTP newsgroup list retrieval.

EIdNNTPNoOnNewsgroupList = class(EIdNNTPException)

Description

EIdNNTPNoOnNewsgroupList is an EIdNNTPException exception descendant raised when TIdNNTP.GetNewsgroupList is called and a TIdNNTP.OnNewsgroupList event handler has not been assigned.


See Also

TIdNNTP.GetNewsgroupList

TIdNNTP.OnNewsgroupList


Class Hierarchy

Exception

|

EIdException

|

EIdNNTPException

|

EIdNNTPNoOnNewsgroupList


EIdNNTPNoOnNewsgroupList Fields

EIdNNTPNoOnNewsgroupList


EIdNNTPNoOnNewsgroupList Properties

EIdNNTPNoOnNewsgroupList


EIdNNTPNoOnNewsgroupList Events

EIdNNTPNoOnNewsgroupList


EIdNNTPNoOnNewsgroupList Methods

EIdNNTPNoOnNewsgroupList


EIdNNTPNoOnNewsgroupList Members

EIdNNTPNoOnNewsgroupList


EIdNNTPStringListNotInitialized

Hierarchy	See Also	Unit: IdNNTP

Exception for unsuccessful message retrieval.

EIdNNTPStringListNotInitialized = class(EIdNNTPException)

Description

EIdNNTPStringListNotInitialized is an EIdNNTPException exception descendant raised when TIdNNTP.SendCheck is called and the TStringList container for messages has not been initialized.


See Also

TIdNNTP.SendCheck


Class Hierarchy

Exception

|

EIdException

|

EIdNNTPException

|

EIdNNTPStringListNotInitialized


EIdNNTPStringListNotInitialized Fields

EIdNNTPStringListNotInitialized


EIdNNTPStringListNotInitialized Properties

EIdNNTPStringListNotInitialized


EIdNNTPStringListNotInitialized Events

EIdNNTPStringListNotInitialized


EIdNNTPStringListNotInitialized Methods

EIdNNTPStringListNotInitialized


EIdNNTPStringListNotInitialized Members

EIdNNTPStringListNotInitialized


EIdNoBindingsSpecified

Hierarchy	See Also	Unit: IdUDPServer

Exception raised creating the listener thread socket handle.

EIdNoBindingsSpecified = class(EIdUDPServerException)

Description

EIdNoBindingsSpecified is an EIdUDPServerException exception raised when a UDP server attempts to initialize the socket handle allocated for the server listener thread and the default port number has not been assigned.


See Also

EIdUDPServerException

TIdUDPServer.Bindings

TIdUDPServer.DefaultPort


Class Hierarchy

Exception

|

EIdException

|

EIdUDPException

|

EIdUDPServerException

|

EIdNoBindingsSpecified


EIdNoBindingsSpecified Fields

EIdNoBindingsSpecified


EIdNoBindingsSpecified Properties

EIdNoBindingsSpecified


EIdNoBindingsSpecified Events

EIdNoBindingsSpecified


EIdNoBindingsSpecified Methods

EIdNoBindingsSpecified


EIdNoBindingsSpecified Members

EIdNoBindingsSpecified


EIdNoDataToRead

Hierarchy	Unit: IdTCPConnection

Exception raised when writing an empty TStream with WriteStream.

EIdNoDataToRead = class(EIdTCPConnectionError)

Description

This exception is raised when you attempt to send a Stream through WriteStream that is empty (contains no data).


Class Hierarchy

Exception

|

EIdException

|

EIdTCPConnectionError

|

EIdNoDataToRead


EIdNoDataToRead Fields

EIdNoDataToRead


EIdNoDataToRead Properties

EIdNoDataToRead


EIdNoDataToRead Events

EIdNoDataToRead


EIdNoDataToRead Methods

EIdNoDataToRead


EIdNoDataToRead Members

EIdNoDataToRead


EIdNoExecuteSpecified

Hierarchy	See Also	Unit: IdTCPServer

Exception raised after unsuccessful peer thread execution.

EIdNoExecuteSpecified = class(EIdTCPServerError)

Description

EIdNoExecuteSpecified is an EIdTCPServerError descendant raised when TIdPeerThread executes in the server context for the connection, and returns False as a result of the method execution.


See Also

TIdPeerThread.Run


Class Hierarchy

Exception

|

EIdException

|

EIdTCPServerError

|

EIdNoExecuteSpecified


EIdNoExecuteSpecified Fields

EIdNoExecuteSpecified


EIdNoExecuteSpecified Properties

EIdNoExecuteSpecified


EIdNoExecuteSpecified Events

EIdNoExecuteSpecified


EIdNoExecuteSpecified Methods

EIdNoExecuteSpecified


EIdNoExecuteSpecified Members

EIdNoExecuteSpecified


EIdNoOnAuthentication

Hierarchy	See Also	Unit: IdTelnetServer

EIdNoOnAuthentication = class(EIdTelnetServerException)

Description

This exception class is raised if there is no OnAuthentication event in the TIdTelnetServer. To avoid this problem, please use the OnAuthentication event.

This exception is handled internally in the TIdTelnetServer.


See Also

TIdTelnetServer.OnAuthentication


Class Hierarchy

Exception

|

EIdException

|

EIdTelnetServerException

|

EIdNoOnAuthentication


EIdNoOnAuthentication Fields

EIdNoOnAuthentication


EIdNoOnAuthentication Properties

EIdNoOnAuthentication


EIdNoOnAuthentication Events

EIdNoOnAuthentication


EIdNoOnAuthentication Methods

EIdNoOnAuthentication


EIdNoOnAuthentication Members

EIdNoOnAuthentication


EIdNotAllBytesSent

Hierarchy	See Also	Unit: IdSocketHandle

Exception for an incomplete transmission.

EIdNotAllBytesSent = class(EIdSocketHandleError)

Description

EIdNotAllBytesSent is an EIdSocketHandleError exception descendant raised when TIdSocketHandle.SendTo is unable to send all bytes in a transmission to the peer connection.


See Also

TIdSocketHandle.SendTo


Class Hierarchy

Exception

|

EIdException

|

EIdSocketHandleError

|

EIdNotAllBytesSent


EIdNotAllBytesSent Fields

EIdNotAllBytesSent


EIdNotAllBytesSent Properties

EIdNotAllBytesSent


EIdNotAllBytesSent Events

EIdNotAllBytesSent


EIdNotAllBytesSent Methods

EIdNotAllBytesSent


EIdNotAllBytesSent Members

EIdNotAllBytesSent


EIdNotEnoughDataInBuffer

Hierarchy	Unit: IdTCPConnection

Exception raised when there are not enough bytes in TIdTCPConnection's internal buffer.

EIdNotEnoughDataInBuffer = class(EIdTCPConnectionError)

Description

This exception is raised when there are not enough bytes in the internal buffer for TIdTCPConnection for an operation such as ExtractXBytesFromBuffer and RemoveXBytes.


Class Hierarchy

Exception

|

EIdException

|

EIdTCPConnectionError

|

EIdNotEnoughDataInBuffer


EIdNotEnoughDataInBuffer Fields

EIdNotEnoughDataInBuffer


EIdNotEnoughDataInBuffer Properties

EIdNotEnoughDataInBuffer


EIdNotEnoughDataInBuffer Events

EIdNotEnoughDataInBuffer


EIdNotEnoughDataInBuffer Methods

EIdNotEnoughDataInBuffer


EIdNotEnoughDataInBuffer Members

EIdNotEnoughDataInBuffer


EIdObjectTypeNotSupported

Hierarchy	Unit: IdTCPConnection

Exception raised when Capture can not support an object as a Destination.

EIdObjectTypeNotSupported = class(EIdTCPConnectionError)

Description

This exception is raised when Capture is passed an object in the ADest parameter which Capture does not support. Capture only supports the following destination objects: TStream and TStrings.


Class Hierarchy

Exception

|

EIdException

|

EIdTCPConnectionError

|

EIdObjectTypeNotSupported


EIdObjectTypeNotSupported Fields

EIdObjectTypeNotSupported


EIdObjectTypeNotSupported Properties

EIdObjectTypeNotSupported


EIdObjectTypeNotSupported Events

EIdObjectTypeNotSupported


EIdObjectTypeNotSupported Methods

EIdObjectTypeNotSupported


EIdObjectTypeNotSupported Members

EIdObjectTypeNotSupported


EIdOpenSSLError

Hierarchy	See Also	Unit: IdSSLOpenSSL

Ancestor for Indy Open SSL error classes.

EIdOpenSSLError = class(EIdException)

Description

EIdOpenSSLError is an EIdException descendant that acts the ancestor for Indy Open SSL error classes.


See Also

EIdOpenSSLLoadError

EIdOSSLCouldNotLoadSSLLibrary

EIdOSSLModeNotSet

EIdOSSLGetMethodError

EIdOSSLCreatingContextError

EIdOSSLLoadingRootCertError

EIdOSSLLoadingCertError

EIdOSSLLoadingKeyError

EIdOSSLSettingCipherError

EIdOSSLDataBindingError

EIdOSSLAcceptError

EIdOSSLConnectError


Class Hierarchy

Exception

|

EIdException

|

EIdOpenSSLError


EIdOpenSSLError Fields

EIdOpenSSLError


EIdOpenSSLError Properties

EIdOpenSSLError


EIdOpenSSLError Events

EIdOpenSSLError


EIdOpenSSLError Methods

EIdOpenSSLError


EIdOpenSSLError Members

EIdOpenSSLError


EIdOpenSSLLoadError

Hierarchy	Unit: IdSSLOpenSSL

Ancestor class for error conditions related to loading the OpenSSL library.

EIdOpenSSLLoadError = class(EIdOpenSSLError)

Description

EIdOpenSSLLoadError is an EIdOpenSSLError descendant that acts as the ancestor class for error conditions related to loading the OpenSSL library.


Class Hierarchy

Exception

|

EIdException

|

EIdOpenSSLError

|

EIdOpenSSLLoadError


EIdOpenSSLLoadError Fields

EIdOpenSSLLoadError


EIdOpenSSLLoadError Properties

EIdOpenSSLLoadError


EIdOpenSSLLoadError Events

EIdOpenSSLLoadError


EIdOpenSSLLoadError Methods

EIdOpenSSLLoadError


EIdOpenSSLLoadError Members

EIdOpenSSLLoadError


EIdOSSLAcceptError

Hierarchy	Unit: IdSSLOpenSSL

Exception raised when a new SSL connection cannot be accepted.

EIdOSSLAcceptError = class(EIdOpenSSLError)

Description

EIdOSSLAcceptError is an EIdOpenSSLError descendant raised when an error occurs while attempting to accept an new Secure Socket Layer connection in TIdSSLSocket.Accept.


Class Hierarchy

Exception

|

EIdException

|

EIdOpenSSLError

|

EIdOSSLAcceptError


EIdOSSLAcceptError Fields

EIdOSSLAcceptError


EIdOSSLAcceptError Properties

EIdOSSLAcceptError


EIdOSSLAcceptError Events

EIdOSSLAcceptError


EIdOSSLAcceptError Methods

EIdOSSLAcceptError


EIdOSSLAcceptError Members

EIdOSSLAcceptError


EIdOSSLConnectError

Hierarchy	Unit: IdSSLOpenSSL

Exception raised for SSL connection errors.

EIdOSSLConnectError = class(EIdOpenSSLError)

Description

EIdOSSLConnectError is an EIdOpenSSLError descendant raised when an error occurs during connection for a Secure Socket Layer handle in TIdSSLSocket.Connect.


Class Hierarchy

Exception

|

EIdException

|

EIdOpenSSLError

|

EIdOSSLConnectError


EIdOSSLConnectError Fields

EIdOSSLConnectError


EIdOSSLConnectError Properties

EIdOSSLConnectError


EIdOSSLConnectError Events

EIdOSSLConnectError


EIdOSSLConnectError Methods

EIdOSSLConnectError


EIdOSSLConnectError Members

EIdOSSLConnectError


EIdOSSLCouldNotLoadSSLLibrary

Hierarchy	Unit: IdSSLOpenSSL

Error raised when the OpenSSL library cannot be loaded.

EIdOSSLCouldNotLoadSSLLibrary = class(EIdOpenSSLLoadError)

Description

EIdOSSLCouldNotLoadSSLLibrary is an EIdOpenSSLLoadError descendant that indicates when a error has occurred while loading the OpenSSL library. EIdOSSLCouldNotLoadSSLLibrary can be raised from the TIdSSLContext.Create method.


Class Hierarchy

Exception

|

EIdException

|

EIdOpenSSLError

|

EIdOpenSSLLoadError

|

EIdOSSLCouldNotLoadSSLLibrary


EIdOSSLCouldNotLoadSSLLibrary Fields

EIdOSSLCouldNotLoadSSLLibrary


EIdOSSLCouldNotLoadSSLLibrary Properties

EIdOSSLCouldNotLoadSSLLibrary


EIdOSSLCouldNotLoadSSLLibrary Events

EIdOSSLCouldNotLoadSSLLibrary


EIdOSSLCouldNotLoadSSLLibrary Methods

EIdOSSLCouldNotLoadSSLLibrary


EIdOSSLCouldNotLoadSSLLibrary Members

EIdOSSLCouldNotLoadSSLLibrary


EIdOSSLCreatingContextError

Hierarchy	Unit: IdSSLOpenSSL

Exception raised when recreating the SSL content after a change in mode.

EIdOSSLCreatingContextError = class(EIdOpenSSLError)

Description

EIdOSSLCreatingContextError is an EIdOpenSSLError descendant raised when an error occurs while recreating the SSL context after a change to TIdSSLContext.Mode.


Class Hierarchy

Exception

|

EIdException

|

EIdOpenSSLError

|

EIdOSSLCreatingContextError


EIdOSSLCreatingContextError Fields

EIdOSSLCreatingContextError


EIdOSSLCreatingContextError Properties

EIdOSSLCreatingContextError


EIdOSSLCreatingContextError Events

EIdOSSLCreatingContextError


EIdOSSLCreatingContextError Methods

EIdOSSLCreatingContextError


EIdOSSLCreatingContextError Members

EIdOSSLCreatingContextError


EIdOSSLDataBindingError

Hierarchy	Unit: IdSSLOpenSSL

Exception raised when an application cannot bind to the SSL socket.

EIdOSSLDataBindingError = class(EIdOpenSSLError)

Description

EIdOSSLDataBindingError is an EIdOpenSSLError descendant raised when an error occurs while attempting to bind to a SSL socket for the purpose of providing data to the application in TIdSSLSocket.Accept.


Class Hierarchy

Exception

|

EIdException

|

EIdOpenSSLError

|

EIdOSSLDataBindingError


EIdOSSLDataBindingError Fields

EIdOSSLDataBindingError


EIdOSSLDataBindingError Properties

EIdOSSLDataBindingError


EIdOSSLDataBindingError Events

EIdOSSLDataBindingError


EIdOSSLDataBindingError Methods

EIdOSSLDataBindingError


EIdOSSLDataBindingError Members

EIdOSSLDataBindingError


EIdOSSLGetMethodError

Hierarchy	Unit: IdSSLOpenSSL

Exception raised when a SSL context contains an invalid Mode.

EIdOSSLGetMethodError = class(EIdOpenSSLError)

Description

EIdOSSLGetMethodError is an EIdOpenSSLError raised when TIdSSLContext contains an invalid Mode value.


Class Hierarchy

Exception

|

EIdException

|

EIdOpenSSLError

|

EIdOSSLGetMethodError


EIdOSSLGetMethodError Fields

EIdOSSLGetMethodError


EIdOSSLGetMethodError Properties

EIdOSSLGetMethodError


EIdOSSLGetMethodError Events

EIdOSSLGetMethodError


EIdOSSLGetMethodError Methods

EIdOSSLGetMethodError


EIdOSSLGetMethodError Members

EIdOSSLGetMethodError


EIdOSSLLoadingCertError

Hierarchy	Unit: IdSSLOpenSSL

Exception raised when certificate file(s) cannot be loaded for an SSL context.

EIdOSSLLoadingCertError = class(EIdOpenSSLLoadError)

Description

EIdOSSLLoadingCertError is an EIdOpenSSLLoadError raised when an error occurs while loading a RootCertFile (Root certificate file) or CertFile (certificate file) after a change to the Mode property for TIdSSLContext.


Class Hierarchy

Exception

|

EIdException

|

EIdOpenSSLError

|

EIdOpenSSLLoadError

|

EIdOSSLLoadingCertError


EIdOSSLLoadingCertError Fields

EIdOSSLLoadingCertError


EIdOSSLLoadingCertError Properties

EIdOSSLLoadingCertError


EIdOSSLLoadingCertError Events

EIdOSSLLoadingCertError


EIdOSSLLoadingCertError Methods

EIdOSSLLoadingCertError


EIdOSSLLoadingCertError Members

EIdOSSLLoadingCertError


EIdOSSLLoadingKeyError

Hierarchy	Unit: IdSSLOpenSSL

Exception raised when the key file cannot be opened for an SSL context.

EIdOSSLLoadingKeyError = class(EIdOpenSSLLoadError)

Description

EIdOSSLLoadingKeyError is an EIdOpenSSLLoadError descendant raised when an error occurs while attempting to open KeyFile after a change to the Mode property in TIdSSLContext.


Class Hierarchy

Exception

|

EIdException

|

EIdOpenSSLError

|

EIdOpenSSLLoadError

|

EIdOSSLLoadingKeyError


EIdOSSLLoadingKeyError Fields

EIdOSSLLoadingKeyError


EIdOSSLLoadingKeyError Properties

EIdOSSLLoadingKeyError


EIdOSSLLoadingKeyError Events

EIdOSSLLoadingKeyError


EIdOSSLLoadingKeyError Methods

EIdOSSLLoadingKeyError


EIdOSSLLoadingKeyError Members

EIdOSSLLoadingKeyError


EIdOSSLLoadingRootCertError

Hierarchy	Unit: IdSSLOpenSSL

Exception raised when loading a root certificate file for an SSL context.

EIdOSSLLoadingRootCertError = class(EIdOpenSSLLoadError)

Description

EIdOSSLLoadingRootCertError is an EIdOpenSSLLoadError descendant raised when an error occurs while loading the RootCertFile (Root certificate file) for an SSL context after a change to the Mode property.


Class Hierarchy

Exception

|

EIdException

|

EIdOpenSSLError

|

EIdOpenSSLLoadError

|

EIdOSSLLoadingRootCertError


EIdOSSLLoadingRootCertError Fields

EIdOSSLLoadingRootCertError


EIdOSSLLoadingRootCertError Properties

EIdOSSLLoadingRootCertError


EIdOSSLLoadingRootCertError Events

EIdOSSLLoadingRootCertError


EIdOSSLLoadingRootCertError Methods

EIdOSSLLoadingRootCertError


EIdOSSLLoadingRootCertError Members

EIdOSSLLoadingRootCertError


EIdOSSLModeNotSet

Hierarchy	Unit: IdSSLOpenSSL

Exception raised for an unassigned SSL context mode.

EIdOSSLModeNotSet = class(EIdOpenSSLError)

Description

EIdOSSLModeNotSet is an EIdOpenSSLError descendant raised when the Mode for the SSL context is unassigned.


Class Hierarchy

Exception

|

EIdException

|

EIdOpenSSLError

|

EIdOSSLModeNotSet


EIdOSSLModeNotSet Fields

EIdOSSLModeNotSet


EIdOSSLModeNotSet Properties

EIdOSSLModeNotSet


EIdOSSLModeNotSet Events

EIdOSSLModeNotSet


EIdOSSLModeNotSet Methods

EIdOSSLModeNotSet


EIdOSSLModeNotSet Members

EIdOSSLModeNotSet


EIdOSSLSettingCipherError

Hierarchy	Unit: IdSSLOpenSSL

Exception raised after an error while setting the SSL context cipher schemes.

EIdOSSLSettingCipherError = class(EIdOpenSSLError)

Description

EIdOSSLSettingCipherError is an EIdOpenSSLError descendant raised when an error occurs while setting the list of Ciphers for SSL context after a change in Mode.


Class Hierarchy

Exception

|

EIdException

|

EIdOpenSSLError

|

EIdOSSLSettingCipherError


EIdOSSLSettingCipherError Fields

EIdOSSLSettingCipherError


EIdOSSLSettingCipherError Properties

EIdOSSLSettingCipherError


EIdOSSLSettingCipherError Events

EIdOSSLSettingCipherError


EIdOSSLSettingCipherError Methods

EIdOSSLSettingCipherError


EIdOSSLSettingCipherError Members

EIdOSSLSettingCipherError


EIdPackageSizeTooBig

Hierarchy	See Also	Unit: IdSocketHandle

Exception raised for an invalid datagram size.

EIdPackageSizeTooBig = class(EIdSocketHandleError)

Description

EIdPackageSizeTooBig is an EIdSocketHandleError exception descendant raised when TIdSocketHandle.SendTo receives the Id_WSAEMSGSIZE protocol stack error after transmission of a datagram.


See Also

TIdSocketHandle.SendTo


Class Hierarchy

Exception

|

EIdException

|

EIdSocketHandleError

|

EIdPackageSizeTooBig


EIdPackageSizeTooBig Fields

EIdPackageSizeTooBig


EIdPackageSizeTooBig Properties

EIdPackageSizeTooBig


EIdPackageSizeTooBig Events

EIdPackageSizeTooBig


EIdPackageSizeTooBig Methods

EIdPackageSizeTooBig


EIdPackageSizeTooBig Members

EIdPackageSizeTooBig


EIdProtocolReplyError

Hierarchy	Members	Properties	Methods	Unit: IdException

Exception type for protocol errors.

EIdProtocolReplyError = class(EIdException)

Description

EIdProtocolReplyError is an exception type raised for protocol errors, such as the HTTP 404 error.


Class Hierarchy

Exception

|

EIdException

|

EIdProtocolReplyError


EIdProtocolReplyError Fields

EIdProtocolReplyError


EIdProtocolReplyError Properties

EIdProtocolReplyError

EIdProtocolReplyError

 ReplyErrorCode


EIdProtocolReplyError Events

EIdProtocolReplyError


EIdProtocolReplyError Methods

EIdProtocolReplyError	Legend

EIdProtocolReplyError

 CreateError


Legend

 virtual


EIdProtocolReplyError Members

EIdProtocolReplyError	Legend

Properties

 ReplyErrorCode

Methods

 CreateError


Legend

 virtual


EIdProtocolReplyError.ReplyErrorCode

EIdProtocolReplyError

property ReplyErrorCode: Integer;

Description

ReplyErrorCode

This is the error code for the exception and can be used for testing selectively to certain errors in your program.

Because POP3 does not use numerical error number codes, we use the following constants:

wsOk - the operation succeeded

wsErr - the operation failed


EIdProtocolReplyError.CreateError

EIdProtocolReplyError

constructor CreateError(const anErrCode: Integer; const asReplyMessage: string); virtual;

Description

CreateError

This constructor creates a EIdProtocolReplyError exception which takes the following parameters; asReplyMessage is the text reply from a peer and anErrCode is the error code from the peer.


EIdResponseError

Hierarchy	Unit: IdException

Exception for errors in an expected response.

EIdResponseError = class(EIdException)

Description

EIdResponseError is a EIdException descendant that represents the exception raised when an expected response has not been received during a protocol operation.


Class Hierarchy

Exception

|

EIdException

|

EIdResponseError


EIdResponseError Fields

EIdResponseError


EIdResponseError Properties

EIdResponseError


EIdResponseError Events

EIdResponseError


EIdResponseError Methods

EIdResponseError


EIdResponseError Members

EIdResponseError


EIdSetSizeExceeded

Hierarchy	Unit: IdException

Represents an FD SET error.

EIdSetSizeExceeded = class(EIdException)

Description

EIdSetSizeExceeded is an EIdException descendant that is raised when the number of FD SET calls has exceeded the maximum allowed for the operating platform.


Class Hierarchy

Exception

|

EIdException

|

EIdSetSizeExceeded


EIdSetSizeExceeded Fields

EIdSetSizeExceeded


EIdSetSizeExceeded Properties

EIdSetSizeExceeded


EIdSetSizeExceeded Events

EIdSetSizeExceeded


EIdSetSizeExceeded Methods

EIdSetSizeExceeded


EIdSetSizeExceeded Members

EIdSetSizeExceeded


EIdSilentException

Hierarchy	Unit: IdException

Exceptions that behave like VCL EAbort.

EIdSilentException = class(EIdException)

Description

EIdSilentException is a exception class is for exceptions which should behave like the VCL EAbort exception. We recommend that you set your IDE to ignore those exceptions by clicking Tools|Debugger Options..|Language Exceptions|Add and entering "EIdSilentException".


Class Hierarchy

Exception

|

EIdException

|

EIdSilentException


EIdSilentException Fields

EIdSilentException


EIdSilentException Properties

EIdSilentException


EIdSilentException Events

EIdSilentException


EIdSilentException Methods

EIdSilentException


EIdSilentException Members

EIdSilentException


EIdSocketError

Hierarchy	Members	Properties	Methods	Unit: IdException

Exception for Socket errors.

EIdSocketError = class(EIdException)

Description

EIdSocketError is an exception class raised when a socket error occurs. Last Error is the number code for that error.


Class Hierarchy

Exception

|

EIdException

|

EIdSocketError


EIdSocketError Fields

EIdSocketError


EIdSocketError Properties

EIdSocketError

EIdSocketError

 LastError


EIdSocketError Events

EIdSocketError


EIdSocketError Methods

EIdSocketError	Legend

EIdSocketError

 CreateError


Legend

 virtual


EIdSocketError Members

EIdSocketError	Legend

Properties

 LastError

Methods

 CreateError


Legend

 virtual


EIdSocketError.LastError

EIdSocketError

Indicates the last error code.

property LastError: Integer;

Description

LastError is the last socket error code and is used to provide the developer with flexibility when dealing with specific socket errors. This is set with the CreateError constructor.


EIdSocketError.CreateError

EIdSocketError

Constructor for the exception class.

constructor CreateError(const anErr: Integer; const asMsg: string); virtual;

Description

CreateError is the constructor that creates an instance of EIdSocketError with an error code specified by anErr and with the message specified by asMsg. anErr is the LastError property value and asMsg is the exception's message property.


EIdSocketHandleError

Hierarchy	See Also	Unit: IdSocketHandle

Ancestor exception for Indy socket handle errors.

EIdSocketHandleError = class(EIdException)

Description

EIdSocketHandleError is an EIdException descendant that is the ancestor class for Indy TIdSocketHandle errors.


See Also

EIdPackageSizeTooBig

EIdNotAllBytesSent

EIdCouldNotBindSocket


Class Hierarchy

Exception

|

EIdException

|

EIdSocketHandleError


EIdSocketHandleError Fields

EIdSocketHandleError


EIdSocketHandleError Properties

EIdSocketHandleError


EIdSocketHandleError Events

EIdSocketHandleError


EIdSocketHandleError Methods

EIdSocketHandleError


EIdSocketHandleError Members

EIdSocketHandleError


EIdSocksAuthError

Hierarchy	See Also	Unit: IdTCPClient

This exception class is raised if the SOCKS proxy reports an authentication error.

EIdSocksAuthError = class(EIdSocksError)

Description

This exception class is raised if the SOCKS proxy reports an authentication error.


See Also

TIdTCPClient

TIdTCPClient.Connect

TSocksInfo

TSocksInfo.Authentication

TSocksInfo.Password

TSocksInfo.UserID

TSocksInfo.Version


Class Hierarchy

Exception

|

EIdException

|

EIdSocksError

|

EIdSocksAuthError


EIdSocksAuthError Fields

EIdSocksAuthError


EIdSocksAuthError Properties

EIdSocksAuthError


EIdSocksAuthError Events

EIdSocksAuthError


EIdSocksAuthError Methods

EIdSocksAuthError


EIdSocksAuthError Members

EIdSocksAuthError


EIdSocksAuthMethodError

Hierarchy	See Also	Unit: IdTCPClient

This exception class is raised if the SOCKS proxy reports an invalid or unsupported authentication method.

EIdSocksAuthMethodError = class(EIdSocksError)

Description

This exception class is raised if the SOCKS proxy reports an invalid or unsupported authentication method.


See Also

TIdTCPClient

TIdTCPClient.Connect

TSocksInfo

TSocksInfo.Authentication

TSocksInfo.Version


Class Hierarchy

Exception

|

EIdException

|

EIdSocksError

|

EIdSocksAuthMethodError


EIdSocksAuthMethodError Fields

EIdSocksAuthMethodError


EIdSocksAuthMethodError Properties

EIdSocksAuthMethodError


EIdSocksAuthMethodError Events

EIdSocksAuthMethodError


EIdSocksAuthMethodError Methods

EIdSocksAuthMethodError


EIdSocksAuthMethodError Members

EIdSocksAuthMethodError


EIdSocksError

Hierarchy	See Also	Unit: IdTCPClient

This exception class is the ancestor for exception classes that are raised due to SOCKS errors.

EIdSocksError = class(EIdException)

Description

This exception class is the ancestor for exception classes that are raised due to SOCKS errors that occur when using TIdTCPClient.Connect. Descendants include EIdSocksRequestFailed, EIdSocksRequestServerFailed, EIdSocksRequestIdentFailed, EIdSocksUnknownError, EIdSocksServerRespondError, EIdSocksAuthMethodError, EIdSocksAuthError, EIdSocksServerGeneralError, EIdSocksServerPermissionError, EIdSocksServerNetUnreachableError, EIdSocksServerHostUnreachableError, EIdSocksServerConnectionRefusedError, EIdSocksServerTTLExpiredError, EIdSocksServerCommandError, and EIdSocksServerAddressError.


See Also

EIdSocksRequestFailed

EIdSocksRequestServerFailed

EIdSocksRequestIdentFailed

EIdSocksUnknownError

EIdSocksServerRespondError

EIdSocksAuthMethodError

EIdSocksAuthError

EIdSocksServerGeneralError

EIdSocksServerPermissionError

EIdSocksServerNetUnreachableError

EIdSocksServerHostUnreachableError

EIdSocksServerConnectionRefusedError

EIdSocksServerTTLExpiredError

EIdSocksServerCommandError

EIdSocksServerAddressError

TIdTCPClient

TIdTCPClient.Connect

TSocksInfo


Class Hierarchy

Exception

|

EIdException

|

EIdSocksError


EIdSocksError Fields

EIdSocksError


EIdSocksError Properties

EIdSocksError


EIdSocksError Events

EIdSocksError


EIdSocksError Methods

EIdSocksError


EIdSocksError Members

EIdSocksError


EIdSocksRequestFailed

Hierarchy	See Also	Unit: IdTCPClient

This exception class is raised if the SOCKS proxy rejected or could not fulfill a request from TIdTCPClient.

EIdSocksRequestFailed = class(EIdSocksError)

Description

This exception class is raised if the SOCKS proxy rejected or could not fulfill a request from TIdTCPClient.


See Also

TIdTCPClient

TIdTCPClient.Connect

TSocksInfo


Class Hierarchy

Exception

|

EIdException

|

EIdSocksError

|

EIdSocksRequestFailed


EIdSocksRequestFailed Fields

EIdSocksRequestFailed


EIdSocksRequestFailed Properties

EIdSocksRequestFailed


EIdSocksRequestFailed Events

EIdSocksRequestFailed


EIdSocksRequestFailed Methods

EIdSocksRequestFailed


EIdSocksRequestFailed Members

EIdSocksRequestFailed


EIdSocksRequestIdentFailed

Hierarchy	See Also	Unit: IdTCPClient

This exception class is raised if the SOCKS proxy indicates that the User ID that the TIdTCPClient sent does not match the User ID provided by an Ident Daemon running on the user's computer.

EIdSocksRequestIdentFailed = class(EIdSocksError)

Description

This exception class is raised if the SOCKS proxy indicates that the User ID that the TIdTCPClient sent does not match the User ID provided by an Ident Daemon running on the user's computer. Ident (RFC 1413) is like a "caller ID" for the internet where a server will connect to a client computer and request the user ID for the current connection.


See Also

TIdTCPClient

TIdTCPClient.Connect

TSocksInfo


Class Hierarchy

Exception

|

EIdException

|

EIdSocksError

|

EIdSocksRequestIdentFailed


EIdSocksRequestIdentFailed Fields

EIdSocksRequestIdentFailed


EIdSocksRequestIdentFailed Properties

EIdSocksRequestIdentFailed


EIdSocksRequestIdentFailed Events

EIdSocksRequestIdentFailed


EIdSocksRequestIdentFailed Methods

EIdSocksRequestIdentFailed


EIdSocksRequestIdentFailed Members

EIdSocksRequestIdentFailed


EIdSocksRequestServerFailed

Hierarchy	See Also	Unit: IdTCPClient

This exception class is raised if the SOCKS proxy could not make connection requested by the TIdTCPClient.

EIdSocksRequestServerFailed = class(EIdSocksError)

Description

>This exception class is raised if the SOCKS proxy could not make connection requested by the TIdTCPClient.


See Also

TIdTCPClient

TIdTCPClient.Connect

TSocksInfo


Class Hierarchy

Exception

|

EIdException

|

EIdSocksError

|

EIdSocksRequestServerFailed


EIdSocksRequestServerFailed Fields

EIdSocksRequestServerFailed


EIdSocksRequestServerFailed Properties

EIdSocksRequestServerFailed


EIdSocksRequestServerFailed Events

EIdSocksRequestServerFailed


EIdSocksRequestServerFailed Methods

EIdSocksRequestServerFailed


EIdSocksRequestServerFailed Members

EIdSocksRequestServerFailed


EIdSocksServerAddressError

Hierarchy	See Also	Unit: IdTCPClient

This exception class is raised if the SOCKS proxy reports that it does not support the address type sent by TIdTCPClient.

EIdSocksServerAddressError = class(EIdSocksError)

Description

This exception class is raised if the SOCKS proxy reports that it does not support the address type sent by TIdTCPClient.


See Also

TIdTCPClient

TIdTCPClient.Connect

TIdTCPClient.Host

TSocksInfo


Class Hierarchy

Exception

|

EIdException

|

EIdSocksError

|

EIdSocksServerAddressError


EIdSocksServerAddressError Fields

EIdSocksServerAddressError


EIdSocksServerAddressError Properties

EIdSocksServerAddressError


EIdSocksServerAddressError Events

EIdSocksServerAddressError


EIdSocksServerAddressError Methods

EIdSocksServerAddressError


EIdSocksServerAddressError Members

EIdSocksServerAddressError


EIdSocksServerCommandError

Hierarchy	See Also	Unit: IdTCPClient

This exception class is raised if the SOCKS proxy reports that it does not support the command sent by TIdTCPClient.

EIdSocksServerCommandError = class(EIdSocksError)

Description

This exception class is raised if the SOCKS proxy reports that it does not support the command sent by TIdTCPClient.


See Also

TIdTCPClient

TIdTCPClient.Connect

TIdTCPClient.Host

TSocksInfo

TSocksInfo.Version


Class Hierarchy

Exception

|

EIdException

|

EIdSocksError

|

EIdSocksServerCommandError


EIdSocksServerCommandError Fields

EIdSocksServerCommandError


EIdSocksServerCommandError Properties

EIdSocksServerCommandError


EIdSocksServerCommandError Events

EIdSocksServerCommandError


EIdSocksServerCommandError Methods

EIdSocksServerCommandError


EIdSocksServerCommandError Members

EIdSocksServerCommandError


EIdSocksServerConnectionRefusedError

Hierarchy	See Also	Unit: IdTCPClient

This exception class is raised if the SOCKS proxy reports that the host specified by TIdTCPClient refused the connection request sent by the SOCKS proxy.

EIdSocksServerConnectionRefusedError = class(EIdSocksError)

Description

This exception class is raised if the SOCKS proxy reports that the host specified by TIdTCPClient refused the connection request sent by the SOCKS proxy. This usually means that the host computer is not running a server that is listening on the port specified in TIdTCPClient.Port.


See Also

TIdTCPClient

TIdTCPClient.Connect

TIdTCPClient.Host

TIdTCPClient.Port

TSocksInfo


Class Hierarchy

Exception

|

EIdException

|

EIdSocksError

|

EIdSocksServerConnectionRefusedError


EIdSocksServerConnectionRefusedError Fields

EIdSocksServerConnectionRefusedError


EIdSocksServerConnectionRefusedError Properties

EIdSocksServerConnectionRefusedError


EIdSocksServerConnectionRefusedError Events

EIdSocksServerConnectionRefusedError


EIdSocksServerConnectionRefusedError Methods

EIdSocksServerConnectionRefusedError


EIdSocksServerConnectionRefusedError Members

EIdSocksServerConnectionRefusedError


EIdSocksServerGeneralError

Hierarchy	See Also	Unit: IdTCPClient

This exception class is raised if the SOCKS proxy reports a general failure.

EIdSocksServerGeneralError = class(EIdSocksError)

Description

This exception class is raised if the SOCKS proxy reports a general failure.


See Also

TIdTCPClient

TIdTCPClient.Connect

TSocksInfo


Class Hierarchy

Exception

|

EIdException

|

EIdSocksError

|

EIdSocksServerGeneralError


EIdSocksServerGeneralError Fields

EIdSocksServerGeneralError


EIdSocksServerGeneralError Properties

EIdSocksServerGeneralError


EIdSocksServerGeneralError Events

EIdSocksServerGeneralError


EIdSocksServerGeneralError Methods

EIdSocksServerGeneralError


EIdSocksServerGeneralError Members

EIdSocksServerGeneralError


EIdSocksServerHostUnreachableError

Hierarchy	See Also	Unit: IdTCPClient

This exception class is raised if the SOCKS proxy reports that the host specified by TIdTCPClient is unreachable.

EIdSocksServerHostUnreachableError = class(EIdSocksError)

Description

This exception class is raised if the SOCKS proxy reports that the host specified by TIdTCPClient is unreachable from the network. This can be due to network conditions between the SOCKS proxy and server being requested by TIdTCPClient.


See Also

TIdTCPClient

TIdTCPClient.Connect

TIdTCPClient.Host

TSocksInfo


Class Hierarchy

Exception

|

EIdException

|

EIdSocksError

|

EIdSocksServerHostUnreachableError


EIdSocksServerHostUnreachableError Fields

EIdSocksServerHostUnreachableError


EIdSocksServerHostUnreachableError Properties

EIdSocksServerHostUnreachableError


EIdSocksServerHostUnreachableError Events

EIdSocksServerHostUnreachableError


EIdSocksServerHostUnreachableError Methods

EIdSocksServerHostUnreachableError


EIdSocksServerHostUnreachableError Members

EIdSocksServerHostUnreachableError


EIdSocksServerNetUnreachableError

Hierarchy	See Also	Unit: IdTCPClient

This exception class is raised if the SOCKS proxy reports that the network is unreachable.

EIdSocksServerNetUnreachableError = class(EIdSocksError)

Description

This exception class is raised if the SOCKS proxy reports that the network is unreachable.


See Also

TIdTCPClient

TIdTCPClient.Connect

TSocksInfo


Class Hierarchy

Exception

|

EIdException

|

EIdSocksError

|

EIdSocksServerNetUnreachableError


EIdSocksServerNetUnreachableError Fields

EIdSocksServerNetUnreachableError


EIdSocksServerNetUnreachableError Properties

EIdSocksServerNetUnreachableError


EIdSocksServerNetUnreachableError Events

EIdSocksServerNetUnreachableError


EIdSocksServerNetUnreachableError Methods

EIdSocksServerNetUnreachableError


EIdSocksServerNetUnreachableError Members

EIdSocksServerNetUnreachableError


EIdSocksServerPermissionError

Hierarchy	See Also	Unit: IdTCPClient

This exception class is raised if the SOCKS proxy reports that a connection is not allowed by the ruleset.

EIdSocksServerPermissionError = class(EIdSocksError)

Description

This exception class is raised if the SOCKS proxy reports that a connection is not allowed by the ruleset.


See Also

TIdTCPClient

TIdTCPClient.Connect

TSocksInfo


Class Hierarchy

Exception

|

EIdException

|

EIdSocksError

|

EIdSocksServerPermissionError


EIdSocksServerPermissionError Fields

EIdSocksServerPermissionError


EIdSocksServerPermissionError Properties

EIdSocksServerPermissionError


EIdSocksServerPermissionError Events

EIdSocksServerPermissionError


EIdSocksServerPermissionError Methods

EIdSocksServerPermissionError


EIdSocksServerPermissionError Members

EIdSocksServerPermissionError


EIdSocksServerRespondError

Hierarchy	See Also	Unit: IdTCPClient

This exception class is raised if the SOCKS proxy did not send a reply to the request sent by TIdTCPClient.

EIdSocksServerRespondError = class(EIdSocksError)

Description

This exception class is raised if the SOCKS proxy did not send a reply to the request sent by TIdTCPClient.


See Also

TIdTCPClient

TIdTCPClient.Connect

TSocksInfo


Class Hierarchy

Exception

|

EIdException

|

EIdSocksError

|

EIdSocksServerRespondError


EIdSocksServerRespondError Fields

EIdSocksServerRespondError


EIdSocksServerRespondError Properties

EIdSocksServerRespondError


EIdSocksServerRespondError Events

EIdSocksServerRespondError


EIdSocksServerRespondError Methods

EIdSocksServerRespondError


EIdSocksServerRespondError Members

EIdSocksServerRespondError


EIdSocksServerTTLExpiredError

Hierarchy	See Also	Unit: IdTCPClient

This exception class is raised if the SOCKS proxy reports that the host specified by TIdTCPClient could not be reached because the TTL was exceeded.

EIdSocksServerTTLExpiredError = class(EIdSocksError)

Description

This exception class is raised if the SOCKS proxy reports that the host specified by TIdTCPClient could not be reached because the TTL (Time To Live) on the packet the SOCKS proxy sent to the Host had expired.


See Also

TIdTCPClient

TIdTCPClient.Connect

TIdTCPClient.Host

TSocksInfo


Class Hierarchy

Exception

|

EIdException

|

EIdSocksError

|

EIdSocksServerTTLExpiredError


EIdSocksServerTTLExpiredError Fields

EIdSocksServerTTLExpiredError


EIdSocksServerTTLExpiredError Properties

EIdSocksServerTTLExpiredError


EIdSocksServerTTLExpiredError Events

EIdSocksServerTTLExpiredError


EIdSocksServerTTLExpiredError Methods

EIdSocksServerTTLExpiredError


EIdSocksServerTTLExpiredError Members

EIdSocksServerTTLExpiredError


EIdSocksUnknownError

Hierarchy	See Also	Unit: IdTCPClient

This exception class is raised if the SOCKS proxy replies to a request with an value that is not known to Internet Direct.

EIdSocksUnknownError = class(EIdSocksError)

Description

This exception class is raised if the current code does not know how to process a reply code from the SOCKS proxy. The code in Internet Direct does assume that the value means a SOCKS error.


See Also

TIdTCPClient

TIdTCPClient.Connect

TSocksInfo


Class Hierarchy

Exception

|

EIdException

|

EIdSocksError

|

EIdSocksUnknownError


EIdSocksUnknownError Fields

EIdSocksUnknownError


EIdSocksUnknownError Properties

EIdSocksUnknownError


EIdSocksUnknownError Events

EIdSocksUnknownError


EIdSocksUnknownError Methods

EIdSocksUnknownError


EIdSocksUnknownError Members

EIdSocksUnknownError


EIdStackCanNotLoadWinsock

Hierarchy	Unit: IdWinsock

EIdStackCanNotLoadWinsock = class(EIdException)

Description

The text for this class has been generated automatically. This means that it is not documented.


Class Hierarchy

Exception

|

EIdException

|

EIdStackCanNotLoadWinsock


EIdStackCanNotLoadWinsock Fields

EIdStackCanNotLoadWinsock


EIdStackCanNotLoadWinsock Properties

EIdStackCanNotLoadWinsock


EIdStackCanNotLoadWinsock Events

EIdStackCanNotLoadWinsock


EIdStackCanNotLoadWinsock Methods

EIdStackCanNotLoadWinsock


EIdStackCanNotLoadWinsock Members

EIdStackCanNotLoadWinsock


EIdStackError

Hierarchy	See Also	Unit: IdStack

Ancestor class for Indy protocol stack errors.

EIdStackError = class(EIdException)

Description

EIdStackError is an EIdException exception descendant that is the ancestor for Indy protocol stack errors.


See Also

EIdStackInitializationFailed

EIdStackSetSizeExceeded


Class Hierarchy

Exception

|

EIdException

|

EIdStackError


EIdStackError Fields

EIdStackError


EIdStackError Properties

EIdStackError


EIdStackError Events

EIdStackError


EIdStackError Methods

EIdStackError


EIdStackError Members

EIdStackError


EIdStackInitializationFailed

Hierarchy	Unit: IdStack

Exception for protocol stack initialization failure.

EIdStackInitializationFailed = class(EIdStackError)

Description

EIdStackInitializationFailed is an EIdStackError exception descendant raised when Indy is unable to initialize the protocol stack.


Class Hierarchy

Exception

|

EIdException

|

EIdStackError

|

EIdStackInitializationFailed


EIdStackInitializationFailed Fields

EIdStackInitializationFailed


EIdStackInitializationFailed Properties

EIdStackInitializationFailed


EIdStackInitializationFailed Events

EIdStackInitializationFailed


EIdStackInitializationFailed Methods

EIdStackInitializationFailed


EIdStackInitializationFailed Members

EIdStackInitializationFailed


EIdStackSetSizeExceeded

Hierarchy	Unit: IdStack

Exception raised when the maximum number of socket descriptors is exceeded.

EIdStackSetSizeExceeded = class(EIdStackError)

Description

EIdStackSetSizeExceeded is an EIdStackError exception descendant raised when the protocol stack attempts to allocate a socket descriptor and the maximum number of socket descriptors has been exceeded.


Class Hierarchy

Exception

|

EIdException

|

EIdStackError

|

EIdStackSetSizeExceeded


EIdStackSetSizeExceeded Fields

EIdStackSetSizeExceeded


EIdStackSetSizeExceeded Properties

EIdStackSetSizeExceeded


EIdStackSetSizeExceeded Events

EIdStackSetSizeExceeded


EIdStackSetSizeExceeded Methods

EIdStackSetSizeExceeded


EIdStackSetSizeExceeded Members

EIdStackSetSizeExceeded


EIdTableNotFound

Hierarchy	Unit: IdCoder3To4

Error for an invalid character conversion using the coder table.

EIdTableNotFound = class(EIdException)

Description

EIdTableNotFound is an EIdException descendant that represents the exception raised when a coder requests lookup for a character that does not appear in the CodingTable for the coder.


Class Hierarchy

Exception

|

EIdException

|

EIdTableNotFound


EIdTableNotFound Fields

EIdTableNotFound


EIdTableNotFound Properties

EIdTableNotFound


EIdTableNotFound Events

EIdTableNotFound


EIdTableNotFound Methods

EIdTableNotFound


EIdTableNotFound Members

EIdTableNotFound


EIdTCPConnectionError

Hierarchy	See Also	Unit: IdTCPConnection

Ancestor for TIdTCPConnection exception classes.

EIdTCPConnectionError = class(EIdException)

Description

This exception class is the ancestor for exceptions that occur in TIdTCPConnection such as EIdObjectTypeNotSupported, EIdNotEnoughDataInBuffer, EIdInterceptPropIsNil, EIdInterceptPropInvalid, and EIdNoDataToRead.


See Also

EIdObjectTypeNotSupported

EIdNotEnoughDataInBuffer

EIdInterceptPropIsNil

EIdInterceptPropInvalid

EIdNoDataToRead


Class Hierarchy

Exception

|

EIdException

|

EIdTCPConnectionError


EIdTCPConnectionError Fields

EIdTCPConnectionError


EIdTCPConnectionError Properties

EIdTCPConnectionError


EIdTCPConnectionError Events

EIdTCPConnectionError


EIdTCPConnectionError Methods

EIdTCPConnectionError


EIdTCPConnectionError Members

EIdTCPConnectionError


EIdTCPServerError

Hierarchy	See Also	Unit: IdTCPServer

Ancestor for TCP server errors.

EIdTCPServerError = class(EIdException)

Description

EIdTCPServerError is an EIdException exception descendant that is the ancestor for Indy TCP server errors.


See Also

EIdAcceptWaitCannotBeModifiedWhileServerIsActive

EIdNoExecuteSpecified


Class Hierarchy

Exception

|

EIdException

|

EIdTCPServerError


EIdTCPServerError Fields

EIdTCPServerError


EIdTCPServerError Properties

EIdTCPServerError


EIdTCPServerError Events

EIdTCPServerError


EIdTCPServerError Methods

EIdTCPServerError


EIdTCPServerError Members

EIdTCPServerError


EIdTelnetClientConnectError

Hierarchy	See Also	Unit: IdTelnet

Exception for Telnet connection errors.

EIdTelnetClientConnectError = class(EIdTelnetError)

Description

EIdTelnetClientConnectError is an EIdTelnetError exception raised when an error occurs in TIdTelnet.Connect.


See Also

TIdTelnet.Connect


Class Hierarchy

Exception

|

EIdException

|

EIdTelnetError

|

EIdTelnetClientConnectError


EIdTelnetClientConnectError Fields

EIdTelnetClientConnectError


EIdTelnetClientConnectError Properties

EIdTelnetClientConnectError


EIdTelnetClientConnectError Events

EIdTelnetClientConnectError


EIdTelnetClientConnectError Methods

EIdTelnetClientConnectError


EIdTelnetClientConnectError Members

EIdTelnetClientConnectError


EIdTelnetError

Hierarchy	See Also	Unit: IdTelnet

Ancestor for Indy Telnet exceptions.

EIdTelnetError = class(EIdException)

Description

EIdTelnetError is an EIdException descendant that is the ancestor class for Indy Telnet exceptions.


See Also

EIdTelnetClientConnectError

EIdTelnetServerOnDataAvailableIsNil


Class Hierarchy

Exception

|

EIdException

|

EIdTelnetError


EIdTelnetError Fields

EIdTelnetError


EIdTelnetError Properties

EIdTelnetError


EIdTelnetError Events

EIdTelnetError


EIdTelnetError Methods

EIdTelnetError


EIdTelnetError Members

EIdTelnetError


EIdTelnetServerException

Hierarchy	See Also	Unit: IdTelnetServer

EIdTelnetServerException = class(EIdException)

Description

This exception class is the ancestor for exception classes that are raised in the TIdTelnetServer.


See Also

TIdTelnetServer


Class Hierarchy

Exception

|

EIdException

|

EIdTelnetServerException


EIdTelnetServerException Fields

EIdTelnetServerException


EIdTelnetServerException Properties

EIdTelnetServerException


EIdTelnetServerException Events

EIdTelnetServerException


EIdTelnetServerException Methods

EIdTelnetServerException


EIdTelnetServerException Members

EIdTelnetServerException


EIdTelnetServerOnDataAvailableIsNil

Hierarchy	Unit: IdTelnet

Exception for Telnet OnDataAvailable event notification.

EIdTelnetServerOnDataAvailableIsNil = class(EIdTelnetError)

Description

EIdTelnetServerOnDataAvailableIsNil is an EIdTelnetError exception descendant raised when TIdTelnet.DoOnDataAvailable is executed and no event handler has been assigned for the notification.


Class Hierarchy

Exception

|

EIdException

|

EIdTelnetError

|

EIdTelnetServerOnDataAvailableIsNil


EIdTelnetServerOnDataAvailableIsNil Fields

EIdTelnetServerOnDataAvailableIsNil


EIdTelnetServerOnDataAvailableIsNil Properties

EIdTelnetServerOnDataAvailableIsNil


EIdTelnetServerOnDataAvailableIsNil Events

EIdTelnetServerOnDataAvailableIsNil


EIdTelnetServerOnDataAvailableIsNil Methods

EIdTelnetServerOnDataAvailableIsNil


EIdTelnetServerOnDataAvailableIsNil Members

EIdTelnetServerOnDataAvailableIsNil


EIdTextInvalidCount

Hierarchy	See Also	Unit: IdMessage

Indicates an error creating text message parts.

EIdTextInvalidCount = class(EIdMessageException)

Description

EIdTextInvalidCount is a EIdMessageException exception descendant that identifies when a error has occurred while creating TIdText portions of TIdMessage during message transmission.


See Also

TIdSMTP.Send


Class Hierarchy

Exception

|

EIdException

|

EIdMessageException

|

EIdTextInvalidCount


EIdTextInvalidCount Fields

EIdTextInvalidCount


EIdTextInvalidCount Properties

EIdTextInvalidCount


EIdTextInvalidCount Events

EIdTextInvalidCount


EIdTextInvalidCount Methods

EIdTextInvalidCount


EIdTextInvalidCount Members

EIdTextInvalidCount


EIdTFTPAccessViolation

Hierarchy	Unit: IdException

FTP access violation exception.

EIdTFTPAccessViolation = class(EIdTFTPException)

Description

EIdTFTPAccessViolation is an exception type raised for FTP access violations.


Class Hierarchy

Exception

|

EIdException

|

EIdTFTPException

|

EIdTFTPAccessViolation


EIdTFTPAccessViolation Fields

EIdTFTPAccessViolation


EIdTFTPAccessViolation Properties

EIdTFTPAccessViolation


EIdTFTPAccessViolation Events

EIdTFTPAccessViolation


EIdTFTPAccessViolation Methods

EIdTFTPAccessViolation


EIdTFTPAccessViolation Members

EIdTFTPAccessViolation


EIdTFTPAllocationExceeded

Hierarchy	Unit: IdException

FTP Allocation exceeded exception.

EIdTFTPAllocationExceeded = class(EIdTFTPException)

Description

EIdTFTPAllocationExceeded is an exception type raised when FTP allocation is exceeded.


Class Hierarchy

Exception

|

EIdException

|

EIdTFTPException

|

EIdTFTPAllocationExceeded


EIdTFTPAllocationExceeded Fields

EIdTFTPAllocationExceeded


EIdTFTPAllocationExceeded Properties

EIdTFTPAllocationExceeded


EIdTFTPAllocationExceeded Events

EIdTFTPAllocationExceeded


EIdTFTPAllocationExceeded Methods

EIdTFTPAllocationExceeded


EIdTFTPAllocationExceeded Members

EIdTFTPAllocationExceeded


EIdTFTPException

Hierarchy	Unit: IdException

Trivial FTP Exception type.

EIdTFTPException = class(EIdException)

Description

EIdTFTPException is an exception type raised by the Trivial FTP Components when an error occurs.


Class Hierarchy

Exception

|

EIdException

|

EIdTFTPException


EIdTFTPException Fields

EIdTFTPException


EIdTFTPException Properties

EIdTFTPException


EIdTFTPException Events

EIdTFTPException


EIdTFTPException Methods

EIdTFTPException


EIdTFTPException Members

EIdTFTPException


EIdTFTPFileAlreadyExists

Hierarchy	Unit: IdException

FTP exception raised when creating a file that already exists.

EIdTFTPFileAlreadyExists = class(EIdTFTPException)

Description

EIdTFTPFileAlreadyExists is an exception type raised when creating a file that already exists.


Class Hierarchy

Exception

|

EIdException

|

EIdTFTPException

|

EIdTFTPFileAlreadyExists


EIdTFTPFileAlreadyExists Fields

EIdTFTPFileAlreadyExists


EIdTFTPFileAlreadyExists Properties

EIdTFTPFileAlreadyExists


EIdTFTPFileAlreadyExists Events

EIdTFTPFileAlreadyExists


EIdTFTPFileAlreadyExists Methods

EIdTFTPFileAlreadyExists


EIdTFTPFileAlreadyExists Members

EIdTFTPFileAlreadyExists


EIdTFTPFileNotFound

Hierarchy	Unit: IdException

EIdTFTPFileNotFound = class(EIdTFTPException)

Description

The text for this class has been generated automatically. This means that it is not documented.


Class Hierarchy

Exception

|

EIdException

|

EIdTFTPException

|

EIdTFTPFileNotFound


EIdTFTPFileNotFound Fields

EIdTFTPFileNotFound


EIdTFTPFileNotFound Properties

EIdTFTPFileNotFound


EIdTFTPFileNotFound Events

EIdTFTPFileNotFound


EIdTFTPFileNotFound Methods

EIdTFTPFileNotFound


EIdTFTPFileNotFound Members

EIdTFTPFileNotFound


EIdTFTPIllegalOperation

Hierarchy	Unit: IdException

Exception for illegal FTP operations.

EIdTFTPIllegalOperation = class(EIdTFTPException)

Description

EIdTFTPIllegalOperation is an exception type raised when an illegal FTP operation is performed.


Class Hierarchy

Exception

|

EIdException

|

EIdTFTPException

|

EIdTFTPIllegalOperation


EIdTFTPIllegalOperation Fields

EIdTFTPIllegalOperation


EIdTFTPIllegalOperation Properties

EIdTFTPIllegalOperation


EIdTFTPIllegalOperation Events

EIdTFTPIllegalOperation


EIdTFTPIllegalOperation Methods

EIdTFTPIllegalOperation


EIdTFTPIllegalOperation Members

EIdTFTPIllegalOperation


EIdTFTPNoSuchUser

Hierarchy	Unit: IdException

Represents an FTP User Authentication error.

EIdTFTPNoSuchUser = class(EIdTFTPException)

Description

EIdTFTPNoSuchUser is an EIdException descendant that represents the exception raised when an FTP USer Authentication error has occurred.


Class Hierarchy

Exception

|

EIdException

|

EIdTFTPException

|

EIdTFTPNoSuchUser


EIdTFTPNoSuchUser Fields

EIdTFTPNoSuchUser


EIdTFTPNoSuchUser Properties

EIdTFTPNoSuchUser


EIdTFTPNoSuchUser Events

EIdTFTPNoSuchUser


EIdTFTPNoSuchUser Methods

EIdTFTPNoSuchUser


EIdTFTPNoSuchUser Members

EIdTFTPNoSuchUser


EIdTFTPOptionNegotiationFailed

Hierarchy	Unit: IdException

Represent s the error for an invalid FTP Option Negotiation response.

EIdTFTPOptionNegotiationFailed = class(EIdTFTPException)

Description

EIdTFTPOptionNegotiationFailed is an EIdException raised when an invalid response is detected during FTP Option Negotiation. This generally occurs when TIdFTP.BlockSize has been changed to a non-default value.


Class Hierarchy

Exception

|

EIdException

|

EIdTFTPException

|

EIdTFTPOptionNegotiationFailed


EIdTFTPOptionNegotiationFailed Fields

EIdTFTPOptionNegotiationFailed


EIdTFTPOptionNegotiationFailed Properties

EIdTFTPOptionNegotiationFailed


EIdTFTPOptionNegotiationFailed Events

EIdTFTPOptionNegotiationFailed


EIdTFTPOptionNegotiationFailed Methods

EIdTFTPOptionNegotiationFailed


EIdTFTPOptionNegotiationFailed Members

EIdTFTPOptionNegotiationFailed


EIdTFTPUnknownTransferID

Hierarchy	Unit: IdException

FTP Exception raised for an Unknown Transfer ID.

EIdTFTPUnknownTransferID = class(EIdTFTPException)

Description

EIdTFTPUnknownTransferID is an EIdException descendant that represents the exception raised when an unknown FTP Transfer ID has been detected.


Class Hierarchy

Exception

|

EIdException

|

EIdTFTPException

|

EIdTFTPUnknownTransferID


EIdTFTPUnknownTransferID Fields

EIdTFTPUnknownTransferID


EIdTFTPUnknownTransferID Properties

EIdTFTPUnknownTransferID


EIdTFTPUnknownTransferID Events

EIdTFTPUnknownTransferID


EIdTFTPUnknownTransferID Methods

EIdTFTPUnknownTransferID


EIdTFTPUnknownTransferID Members

EIdTFTPUnknownTransferID


EIdThreadClassNotSpecified

Hierarchy	See Also	Unit: IdThreadMgr

Exception raised when creating a thread without a class type.

EIdThreadClassNotSpecified = class(EIdThreadMgrError)

Description

EIdThreadClassNotSpecified is an EIdThreadMgrError descendant raised when TIdThreadMgr.CreateNewThread is called an no ThreadClass is assigned for the thread manager.


See Also

TIdThreadMgr.CreateNewThread


Class Hierarchy

Exception

|

EIdException

|

EIdThreadMgrError

|

EIdThreadClassNotSpecified


EIdThreadClassNotSpecified Fields

EIdThreadClassNotSpecified


EIdThreadClassNotSpecified Properties

EIdThreadClassNotSpecified


EIdThreadClassNotSpecified Events

EIdThreadClassNotSpecified


EIdThreadClassNotSpecified Methods

EIdThreadClassNotSpecified


EIdThreadClassNotSpecified Members

EIdThreadClassNotSpecified


EIdThreadMgrError

Hierarchy	See Also	Unit: IdThreadMgr

Ancestor for Indy Thread Manager exceptions.

EIdThreadMgrError = class(EIdException)

Description

EIdThreadMgrError is an EIdException exception descendant that acts as the ancestor class for Indy Thread Manager exceptions.


See Also

EIdThreadClassNotSpecified


Class Hierarchy

Exception

|

EIdException

|

EIdThreadMgrError


EIdThreadMgrError Fields

EIdThreadMgrError


EIdThreadMgrError Properties

EIdThreadMgrError


EIdThreadMgrError Events

EIdThreadMgrError


EIdThreadMgrError Methods

EIdThreadMgrError


EIdThreadMgrError Members

EIdThreadMgrError


EIdTunnelConnectToMasterFailed

Hierarchy	Unit: IdTunnelCommon

Error for a failed connection from a Tunnel Slave to the Tunnel Master.

EIdTunnelConnectToMasterFailed = class(EIdTunnelException)

Description

EIdTunnelConnectToMasterFailed is an EIdTunnelException raised when a TIdTunnelSlave is unable to establish a connection to the host and port number for the TIdTunnelMaster server.


Class Hierarchy

Exception

|

EIdException

|

EIdTunnelException

|

EIdTunnelConnectToMasterFailed


EIdTunnelConnectToMasterFailed Fields

EIdTunnelConnectToMasterFailed


EIdTunnelConnectToMasterFailed Properties

EIdTunnelConnectToMasterFailed


EIdTunnelConnectToMasterFailed Events

EIdTunnelConnectToMasterFailed


EIdTunnelConnectToMasterFailed Methods

EIdTunnelConnectToMasterFailed


EIdTunnelConnectToMasterFailed Members

EIdTunnelConnectToMasterFailed


EIdTunnelCRCFailed

Hierarchy	Unit: IdTunnelCommon

Error raised when a CRC calculation fails.

EIdTunnelCRCFailed = class(EIdTunnelException)

Description

EIdTunnelCRCFailed is an EIdTunnelException raised when the CRC calculation for a packet received by TSlaveThread does not match the CRC value in the data packet.


Class Hierarchy

Exception

|

EIdException

|

EIdTunnelException

|

EIdTunnelCRCFailed


EIdTunnelCRCFailed Fields

EIdTunnelCRCFailed


EIdTunnelCRCFailed Properties

EIdTunnelCRCFailed


EIdTunnelCRCFailed Events

EIdTunnelCRCFailed


EIdTunnelCRCFailed Methods

EIdTunnelCRCFailed


EIdTunnelCRCFailed Members

EIdTunnelCRCFailed


EIdTunnelCustomMessageInterpretationFailure

Hierarchy	Unit: IdTunnelCommon

Error raised when a Slave thread receives an unknown message type.

EIdTunnelCustomMessageInterpretationFailure = class(EIdTunnelException)

Description

EIdTunnelCustomMessageInterpretationFailure is an EIdTunnelException descendant raised when an unknown message type is received for a TSlaveThread.


Class Hierarchy

Exception

|

EIdException

|

EIdTunnelException

|

EIdTunnelCustomMessageInterpretationFailure


EIdTunnelCustomMessageInterpretationFailure Fields

EIdTunnelCustomMessageInterpretationFailure


EIdTunnelCustomMessageInterpretationFailure Properties

EIdTunnelCustomMessageInterpretationFailure


EIdTunnelCustomMessageInterpretationFailure Events

EIdTunnelCustomMessageInterpretationFailure


EIdTunnelCustomMessageInterpretationFailure Methods

EIdTunnelCustomMessageInterpretationFailure


EIdTunnelCustomMessageInterpretationFailure Members

EIdTunnelCustomMessageInterpretationFailure


EIdTunnelDontAllowConnections

Hierarchy	Unit: IdTunnelCommon

Tunnel Slave cannot accept connections for Service threads.

EIdTunnelDontAllowConnections = class(EIdTunnelException)

Description

EIdTunnelDontAllowConnections is an EIdTunnelException descendant raised when a TIdTunnelSlave is unable to accept connections and service client threads.


Class Hierarchy

Exception

|

EIdException

|

EIdTunnelException

|

EIdTunnelDontAllowConnections


EIdTunnelDontAllowConnections Fields

EIdTunnelDontAllowConnections


EIdTunnelDontAllowConnections Properties

EIdTunnelDontAllowConnections


EIdTunnelDontAllowConnections Events

EIdTunnelDontAllowConnections


EIdTunnelDontAllowConnections Methods

EIdTunnelDontAllowConnections


EIdTunnelDontAllowConnections Members

EIdTunnelDontAllowConnections


EIdTunnelException

Hierarchy	See Also	Unit: IdTunnelCommon

Ancestor of all Indy Tunnel exceptions.

EIdTunnelException = class(EIdException)

Description

EIdTunnelException is an EIdException descendant that is the ancestor of all Indy Tunnel exceptions.


See Also

EIdTunnelTransformErrorBeforeSend

EIdTunnelTransformError

EIdTunnelConnectToMasterFailed

EIdTunnelDontAllowConnections

EIdTunnelCRCFailed

EIdTunnelMessageTypeRecognitionError

EIdTunnelMessageHandlingFailed

EIdTunnelInterpretationOfMessageFailed

EIdTunnelCustomMessageInterpretationFailure

EIdEIdTunnelConnectToMasterFailed


Class Hierarchy

Exception

|

EIdException

|

EIdTunnelException


EIdTunnelException Fields

EIdTunnelException


EIdTunnelException Properties

EIdTunnelException


EIdTunnelException Events

EIdTunnelException


EIdTunnelException Methods

EIdTunnelException


EIdTunnelException Members

EIdTunnelException


EIdTunnelInterpretationOfMessageFailed

Hierarchy	Unit: IdTunnelCommon

Error for an invalid session TSlaveThread session message.

EIdTunnelInterpretationOfMessageFailed = class(EIdTunnelException)

Description

EIdTunnelInterpretationOfMessageFailed is an EIdTunnelException descendant raised when an error occurs while interpreting a session message for TSlaveThread.


Class Hierarchy

Exception

|

EIdException

|

EIdTunnelException

|

EIdTunnelInterpretationOfMessageFailed


EIdTunnelInterpretationOfMessageFailed Fields

EIdTunnelInterpretationOfMessageFailed


EIdTunnelInterpretationOfMessageFailed Properties

EIdTunnelInterpretationOfMessageFailed


EIdTunnelInterpretationOfMessageFailed Events

EIdTunnelInterpretationOfMessageFailed


EIdTunnelInterpretationOfMessageFailed Methods

EIdTunnelInterpretationOfMessageFailed


EIdTunnelInterpretationOfMessageFailed Members

EIdTunnelInterpretationOfMessageFailed


EIdTunnelMessageHandlingFailed

Hierarchy	Unit: IdTunnelCommon

Error raised when an invalid data message is received in TSlaveThread.

EIdTunnelMessageHandlingFailed = class(EIdTunnelException)

Description

EIdTunnelMessageHandlingFailed is an EIdTunnelException descendant raised when TSlaveThread receives a data message type that cannot be handled in a ClientOperation for the thread.


Class Hierarchy

Exception

|

EIdException

|

EIdTunnelException

|

EIdTunnelMessageHandlingFailed


EIdTunnelMessageHandlingFailed Fields

EIdTunnelMessageHandlingFailed


EIdTunnelMessageHandlingFailed Properties

EIdTunnelMessageHandlingFailed


EIdTunnelMessageHandlingFailed Events

EIdTunnelMessageHandlingFailed


EIdTunnelMessageHandlingFailed Methods

EIdTunnelMessageHandlingFailed


EIdTunnelMessageHandlingFailed Members

EIdTunnelMessageHandlingFailed


EIdTunnelMessageTypeRecognitionError

Hierarchy	Unit: IdTunnelCommon

Error for an unknown TSlaveThread message type.

EIdTunnelMessageTypeRecognitionError = class(EIdTunnelException)

Description

EIdTunnelMessageTypeRecognitionError is an EIdTunnelException descendant raised when an unknown message type is received in a TSlaveThread message.


Class Hierarchy

Exception

|

EIdException

|

EIdTunnelException

|

EIdTunnelMessageTypeRecognitionError


EIdTunnelMessageTypeRecognitionError Fields

EIdTunnelMessageTypeRecognitionError


EIdTunnelMessageTypeRecognitionError Properties

EIdTunnelMessageTypeRecognitionError


EIdTunnelMessageTypeRecognitionError Events

EIdTunnelMessageTypeRecognitionError


EIdTunnelMessageTypeRecognitionError Methods

EIdTunnelMessageTypeRecognitionError


EIdTunnelMessageTypeRecognitionError Members

EIdTunnelMessageTypeRecognitionError


EIdTunnelTransformError

Hierarchy	Unit: IdTunnelCommon

Represents Transform errors on a Tunnel connection.

EIdTunnelTransformError = class(EIdTunnelException)

Description

EIdTunnelTransformError is an EIdTunnelException descendant that represents errors occurring when a Tunnel performs data transformation and transmission, or the return message from a tunnel connection includes the tmError message type.


Class Hierarchy

Exception

|

EIdException

|

EIdTunnelException

|

EIdTunnelTransformError


EIdTunnelTransformError Fields

EIdTunnelTransformError


EIdTunnelTransformError Properties

EIdTunnelTransformError


EIdTunnelTransformError Events

EIdTunnelTransformError


EIdTunnelTransformError Methods

EIdTunnelTransformError


EIdTunnelTransformError Members

EIdTunnelTransformError


EIdTunnelTransformErrorBeforeSend

Hierarchy	Unit: IdTunnelCommon

Represents Transform errors prior to transmission on a Tunnel connection.

EIdTunnelTransformErrorBeforeSend = class(EIdTunnelException)

Description

EIdTunnelTransformErrorBeforeSend is an EIdTunnelException descendant that represents errors occurring prior to Tunnel data transformation and transmission.


Class Hierarchy

Exception

|

EIdException

|

EIdTunnelException

|

EIdTunnelTransformErrorBeforeSend


EIdTunnelTransformErrorBeforeSend Fields

EIdTunnelTransformErrorBeforeSend


EIdTunnelTransformErrorBeforeSend Properties

EIdTunnelTransformErrorBeforeSend


EIdTunnelTransformErrorBeforeSend Events

EIdTunnelTransformErrorBeforeSend


EIdTunnelTransformErrorBeforeSend Methods

EIdTunnelTransformErrorBeforeSend


EIdTunnelTransformErrorBeforeSend Members

EIdTunnelTransformErrorBeforeSend


EIdUDPException

Hierarchy	See Also	Unit: IdUDPBase

Ancestor class for Indy UDP exceptions.

EIdUDPException = class(EIdException)

Description

EIdUDPException is an EIdException descendant that is the ancestor class for Indy UDP exceptions.


See Also

EIdUDPReceiveErrorZeroBytes


Class Hierarchy

Exception

|

EIdException

|

EIdUDPException


EIdUDPException Fields

EIdUDPException


EIdUDPException Properties

EIdUDPException


EIdUDPException Events

EIdUDPException


EIdUDPException Methods

EIdUDPException


EIdUDPException Members

EIdUDPException


EIdUDPReceiveErrorZeroBytes

Hierarchy	See Also	Unit: IdUDPBase

Exception raised when no data was read from the connection.

EIdUDPReceiveErrorZeroBytes = class(EIdUDPException)

Description

EIdUDPReceiveErrorZeroBytes is an EIdUDPException exception descendant raised when TIdUDPBase.ReceiveBuffer is called and no data is read from the connection.


See Also

TIdUDPBase.ReceiveBuffer


Class Hierarchy

Exception

|

EIdException

|

EIdUDPException

|

EIdUDPReceiveErrorZeroBytes


EIdUDPReceiveErrorZeroBytes Fields

EIdUDPReceiveErrorZeroBytes


EIdUDPReceiveErrorZeroBytes Properties

EIdUDPReceiveErrorZeroBytes


EIdUDPReceiveErrorZeroBytes Events

EIdUDPReceiveErrorZeroBytes


EIdUDPReceiveErrorZeroBytes Methods

EIdUDPReceiveErrorZeroBytes


EIdUDPReceiveErrorZeroBytes Members

EIdUDPReceiveErrorZeroBytes


EIdUDPServerException

Hierarchy	See Also	Unit: IdUDPServer

Ancestor class for Indy UDP server exceptions.

EIdUDPServerException = class(EIdUDPException)

Description

EIdUDPServerException is an EIdUDPException descendant that is the ancestor class for Indy UDP server exceptions.


See Also

EIdNoBindingsSpecified


Class Hierarchy

Exception

|

EIdException

|

EIdUDPException

|

EIdUDPServerException


EIdUDPServerException Fields

EIdUDPServerException


EIdUDPServerException Properties

EIdUDPServerException


EIdUDPServerException Events

EIdUDPServerException


EIdUDPServerException Methods

EIdUDPServerException


EIdUDPServerException Members

EIdUDPServerException


MClientThread

Hierarchy	Members	Fields	Methods	Unit: IdTunnelMaster

Performs communication with service threads.

MClientThread = class(TThread)

Description

MClientThread is a TThread descendant that encapsulates the TIdTunnelMaster connection from the client to the service threads for the tunnel master.

MClientThread is used to store references to the TCP client connection to the tunnel server, and the master thread used by the tunnel server to handle client requests.

MClientThread communicates with the tunnel server by reading messages from the outbound TCP client, and constructs headers that encapsulate the message for the tunnel server. When the TCP client is no longer readable, the MClientThread will terminate.

MClientThread notifies the tunnel server when a service thread is disconnected, and allows the tunnel server to maintain the number of connected services.


Class Hierarchy

TThread

|

MClientThread


MClientThread Fields

MClientThread

MClientThread

 DisconnectedOnRequest

 Locker

 MasterParent

 MasterThread

 OutboundClient

 SelfDisconnected

 UserId


MClientThread Properties

MClientThread


MClientThread Events

MClientThread


MClientThread Methods

MClientThread	Legend

MClientThread

 Create

 Destroy

 Execute


Legend

 virtual


MClientThread Members

MClientThread	Legend

Fields

 DisconnectedOnRequest

 Locker

 MasterParent

 MasterThread

 OutboundClient

 SelfDisconnected

 UserId

Methods

 Create

 Destroy

 Execute


Legend

 virtual


MClientThread.DisconnectedOnRequest

MClientThread

Indicates that the service thread should disconnect at the server's request.

DisconnectedOnRequest: Boolean;

Description

DisconnectedOnRequest is a Boolean property that indicates that a service thread for the connection has received a disconnect request from the tunnel server.

DisconnectedOnRequest is updated by TIdTunnelMaster.DisconnectAllSubThreads, or as a result of receiving a client operation that is a disconnect notification.


MClientThread.Locker

MClientThread

Protects thread resources in a multi-threaded application.

Locker: TCriticalSection;

Description

Locker is a TCriticalSection instance used to protect MClientThread thread resources from simultaneous access by multiple threads on the tunnel server.

Locker is used by TIdTunnelMaster.ClientOperation when responding to disconnection notifications, or when writing messages from the tunnel server to the OutboundClient.

Locker is used in Execute to prevent thread access while updating the SelfDisconnected property.


MClientThread.MasterParent

MClientThread

Represents the Tunnel server context for the thread instance.

MasterParent: TIdTunnelMaster;

Description

MasterParent is a TIdTunnelMaster instances that represents the Tunnel server context for the thread instance. MasterParent is the owner of the MClientThread instance as indicated in Create, and allows access to the properties and methods of the Tunnel server from the thread.

MasterParent is used in Execute to forward client messages from the tunnel connection to the tunnel server using TIdTunnelMaster.SendMsg.


MClientThread.MasterThread

MClientThread

Represents the tunnel server thread for the connection.

MasterThread: TIdPeerThread;

Description

MasterThread is a TIdPeerThread that represents the server thread created for the connection to the tunnel server. MasterThread provides the server thread context for calls to TIdTunnelMaster.SendMsg in Execute.


MClientThread.OutboundClient

MClientThread

Represents the client connection for the tunnel.

OutboundClient: TIdTCPClient;

Description

OutboundClient is a TIdTCPClient instance that represents the TCP client connection for the tunnel, and provides access to the properties and methods of the client context for the tunnel connection.

OutboundClient is used in TIdTunnelMaster.ClientOperation and Execute when messages or disconnect notifications are read from or written to the TCP client connection.


MClientThread.SelfDisconnected

MClientThread

Indicates that the thread has disconnected after termination.

SelfDisconnected: Boolean;

Description

SelfDisconnected is a Boolean property that indicates that the thread has disconnected after termination. SelfDisconnected is used in TIdTunnelMaster.ClientOperation and Execute when messages are read from or written to the server or client connection, or when disconnect notifications are received.

SelfDisconnected can be set to True if a client requests disconnection from the tunnel, or when a server is notified that a service thread for the tunnel connection is closing.


MClientThread.UserId

MClientThread

Represents the user identification number for the thread instance.

UserId: Integer;

Description

UserId is an Integer member that represents the arbitrary user identification number assigned to a client connection on the tunnel server. UserId is used to identify a particular MClientThread association desired in TIdTunnelMaster.GetClientThread. UserId is also used in the construction of the TIdHeader encapsulation headers for the tunnel connection in Execute.


MClientThread.Create

MClientThread

Constructor for the thread instance.

constructor Create(master: TIdTunnelMaster);

Parameters

master: TIdTunnelMaster

Tunnel server context for the instance.

Description

Create is the constructor for the thread instance. Create initializes thread properties tot heir default values, including:

MasterParent - Server context in the Master parameter

FreeOnTerminate - True

DisconnectedOnRequest - False

SelfDisconnected - False

Locker - Constructed

Create adds the thread instance to MasterParent.Clients, and increments the TIdTunnelMaster number of services.

Create calls the inherited Create method to finalize construction of the thread instance.


MClientThread.Destroy

MClientThread

Frees the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance, and is responsible for notifications to the MasterParent tunnel server that the thread will be freed. Destroy instructs the MasterParent to decrease the number of service threads for the tunnel server, and removes the connection from the client list.

When DisconnectedOnRequest is False, MClientThread will also generate and send a Tunnel Disconnect message to the tunnel server.

If the TCP client is still connected, the OutboundClient is disconnected and freed.

Destroy also calls the inherited Destroy method to finalize destruction of the object instance.


MClientThread.Execute

MClientThread

Implements the processing loop for the thread.

procedure Execute; override;

Description

Execute is a procedure used by MClientThread to implement the processing logic that allows the thread to communicate with service threads for the tunnel connection. Execute will listen for OutboundClient messages until the client requests disconnect, or until the thread is Terminated by either the server or the service thread.

Execute constructs the IdHeader.MsgType and the IdHeader.UserID for the OutboundClient message, and calls MasterParent.SendMsg to write the message to the tunnel connection.

When the thread is Terminated, Execute will set SelfDisconnected to True prior to exiting the method.


TARecord

Hierarchy	Members	Properties	Unit: IdDNSResolver

Represents an Address Resource Record.

TARecord = class(TIdDNSResourceItem)

Description

TARecord is a TIdDNSResourceItem descendant that represents an Address Resource Record.


Class Hierarchy

TCollectionITem

|

TIdDNSResourceItem

|

TARecord


TARecord Fields

TARecord

TIdDNSResourceItem

 AClass

 AType

 Name

 RData

 RDLength

 StarData

 TTL


TARecord Properties

TARecord

TARecord

 DomainName


TARecord Events

TARecord


TARecord Methods

TARecord


TARecord Members

TARecord

Properties

 DomainName


TARecord.DomainName

TARecord

This is the IP address for a computer which was retrieved with an A query as a string.

property DomainName: string;

Description

This is the IP address for a computer which was retrieved with an A query as a string.


TClientData

Hierarchy	Members	Fields	Methods	See Also	Unit: IdTunnelSlave

Represents data about a client connection to TIdTunnelSlave.

TClientData = class

Description

TClientData is a class used to represent data about a client connection tot he TIdTunnelSlave. TClientData instances are stored in the TIdPeerThread.Data property when the peer thread connects to the TIdTunnelSlave. TClientData provides the client context for operations in Connect and Execute on the TIdTunnelSlave server.


See Also

TIdTunnelSlave

TIdPeerThread

Technical Support


Class Hierarchy

TObject

|

TClientData


TClientData Fields

TClientData

TClientData

 ClientAuthorised

 DisconnectedOnRequest

 Id

 IpAddr

 Locker

 Port

 SelfDisconnected

 TimeOfConnection


TClientData Properties

TClientData


TClientData Events

TClientData


TClientData Methods

TClientData	Legend

TClientData

 Create

 Destroy


Legend

 virtual


TClientData Members

TClientData	Legend

Fields

 ClientAuthorised

 DisconnectedOnRequest

 Id

 IpAddr

 Locker

 Port

 SelfDisconnected

 TimeOfConnection

Methods

 Create

 Destroy


Legend

 virtual


TClientData.ClientAuthorised

TClientData

Indicates the client has been authorized by the tunnel slave server.

ClientAuthorised: Boolean;

Description

ClientAuthorised is a Boolean member that indicates if the client connection has been authorized by the tunnel slave server.


TClientData.DisconnectedOnRequest

TClientData

Indicates the connection has closed at the server's request.

DisconnectedOnRequest: Boolean;

Description

DisconnectedOnRequest is a Boolean member that indicates if the connection to the tunnel server has been disconnected as a result of a request from the tunnel server.


TClientData.Id

TClientData

Represents the client connection identifier.

Id: Integer;

Description

Id is an Integer member that represents the user identifier for a peer thread connection to TIdTunnelServer. Id is used when selecting peer threads that are the target of message types handled by the server.


TClientData.IpAddr

TClientData

Represents the structured IP address for the client connection.

IpAddr: TIdInAddr;

Description

IpAddr is a TIdInAddr member that represents the structured IP address for the client connection to a TIdTunnelServer.


TClientData.Locker

TClientData

Provides resource protection in multithreaded applications.

Locker: TCriticalSection;

Description

Locker is a TCriticalSection member that provides resource protection for access properties and methods from multithreaded server applications.


TClientData.Port

TClientData

Port number for the client connection.

Port: Word;

Description

Port is a Word member that identifies the port number used for the client connection to the TIdTunnelServer.


TClientData.SelfDisconnected

TClientData

indicates the connection has been closed by the client.

SelfDisconnected: Boolean;

Description

SelfDisconnected is a Boolean member that indicates the connection to the tunnel server has been closed at the client's request.


TClientData.TimeOfConnection

TClientData

Date and Time a client connection was established.

TimeOfConnection: TDateTime;

Description

TimeOfConnection is a TDateTime member that represents the date and time that the client connection to the tunnel server was established.


TClientData.Create

TClientData

Constructor for the object instance.

constructor Create;

Description

Create is the constructor for the object instance. Create initializes Locker used for resource protection.


TClientData.Destroy

TClientData

Frees an object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance. Destroy frees Locker prior to calling the inherited Destroy method.


THInfoRecord

Hierarchy	Members	Properties	Unit: IdDNSResolver

Represents a Host resource record.

THInfoRecord = class(TIdDNSResourceItem)

Description

THInfo is a TIdDNSResourceItem descendant that represents a Host resource record from a DNS query response.


Class Hierarchy

TCollectionITem

|

TIdDNSResourceItem

|

THInfoRecord


THInfoRecord Fields

THInfoRecord

TIdDNSResourceItem

 AClass

 AType

 Name

 RData

 RDLength

 StarData

 TTL


THInfoRecord Properties

THInfoRecord

THInfoRecord

 CPUStr

 OsStr


THInfoRecord Events

THInfoRecord


THInfoRecord Methods

THInfoRecord


THInfoRecord Members

THInfoRecord

Properties

 CPUStr

 OsStr


THInfoRecord.CPUStr

THInfoRecord

This specifies the CPU identifier for the host.

property CPUStr: string;

Description

This specifies the CPU identifier for the host.


THInfoRecord.OsStr

THInfoRecord

Specifies the host's Operating System.

property OsStr: string;

Description

OsStr specifies the host's Operating System.


TId3To4Coder

Hierarchy	Members	Methods	See Also	Unit: IdCoder3To4

Ancestor for coders that perform conversion to/from binary and ASCII formats.

TId3To4Coder = class(TIdASCIICoder)

Description

TId3To4Coder is a TIdASCIICoder descendant that is also the ancestor for coders which perform encoding or decoding that requires conversion from binary format to ASCII format, or ASCII format to binary format. Descendants of IdCoder3To4 include TIdBase64Decoder, TIdBase64Encoder, TIdUUDecoder, TIdUUEncoder, TIdXXDecoder, and TIdXXEncoder, and represent implementations that use specific coding tables and algorithms.

TId3To4Coder provides private method implementations that perform the encoding or decoding operations, and include methods like Code3To4, Code4To3, CodeLine3To4, CompleteLine3To4, and CodeLine4To3.


See Also

Technical Support

TIdBase64Decoder

TIdBase64Encoder

TIdUUDecoder

TIdUUEncoder

TIdXXDecoder

TIdXXEncoder


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdCoder

|

TIdASCIICoder

|

TId3To4Coder


TId3To4Coder Fields

TId3To4Coder


TId3To4Coder Properties

TId3To4Coder

TIdASCIICoder

 CodingTable

TIdCoder

 AddCRLF

 AutoCompleteInput

 BufferSize

 ByteCount

 BytesIn

 BytesOut

 FileName

 IgnoreCodedData

 IgnoreNotification

 Key

 OnCodedData

 Priority

 TakesFileName

 TakesKey

 UseEvent

TIdBaseComponent

 Version


TId3To4Coder Events

TId3To4Coder

TIdCoder

 OnNotification


TId3To4Coder Methods

TId3To4Coder	Legend

TId3To4Coder

 Create

 Destroy

TIdASCIICoder

 Create

TIdCoder

 CodeString

 CodeStringFromCoder

 CompletedInput

 Create

 Destroy

 GetCodedData

 GetNotification

 Reset

 SetBufferSize

 SetKey

TIdBaseComponent

 GetVersion


Legend

 virtual


TId3To4Coder Members

TId3To4Coder	Legend

Methods

 Create

 Destroy


Legend

 virtual


TId3To4Coder.Create

TId3To4Coder

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance. Create initializes the length of CodingTable to the constant value CTL3To4 prior to calling the inherited Create method.


TId3To4Coder.Destroy

TId3To4Coder

Frees the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance, and relies on the inherited Destroy method.


TIdAntiFreeze

Hierarchy	Members	Methods	See Also	Unit: IdAntiFreeze

Prevents an application UI from freezing.

TIdAntiFreeze = class(TIdAntiFreezeBase)

Description

Indy works on the blocking model. That is when calls are made to Indy the do not return until they are complete. If calls are made in the main thread this will cause the Application User Interface to "freeze" during Indy calls. TIdAntiFreeze counter acts this effect. TIdAntiFreeze allows Indy subsystem to make Application.ProcessMessage calls so that Windows messages continue to be executed while Indy calls are in process.

Only one TIdAntiFreeze can be active in an application. If another instance already exists, an exception is raised. TIdAntiFreezeBase uses the global variable GAntiFreeze, declared in the TIdAntiFreezeBase unit, to determine if another instance has already been created.

Note: GAntiFreeze is not assigned if an instance is added in the form designer (during design time).

Note: The TIdAntiFreeze.pas unit must NOT appear in the uses clause of any Indy or descendant unit. This unit is linked in an application when the component is placed on a Form. This is done to preserve isolation from the FORMS.PAS and QForms.pas units.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdAntiFreezeBase

|

TIdAntiFreeze


TIdAntiFreeze Fields

TIdAntiFreeze


TIdAntiFreeze Properties

TIdAntiFreeze	Legend

TIdAntiFreezeBase

 Active

 ApplicationHasPriority

 IdleTimeOut

 OnlyWhenIdle

TIdBaseComponent

 Version


Legend

 published


TIdAntiFreeze Events

TIdAntiFreeze


TIdAntiFreeze Methods

TIdAntiFreeze	Legend

TIdAntiFreeze

 Process

TIdAntiFreezeBase

 Create

 Destroy

 DoProcess

 Process

TIdBaseComponent

 GetVersion


Legend

 abstract

 virtual


TIdAntiFreeze Members

TIdAntiFreeze	Legend

Methods

 Process


Legend

 abstract

 virtual

 published


TIdAntiFreeze.Process

TIdAntiFreeze	See Also

Implements TIdAntifreeze functionality.

procedure Process; override;

Description

Process is the overridden implementation of the abstract virtual TIdAntiFreezeBase.Process method. Process inspects the ApplicationHasPriority property to determine if Application.ProcessMessages is called. If False, the pending Windows message is dispatched to Application.HandleMessage.

Note: Due to the differences in message dispatching on the Linux platform, Process does not use or inspect ApplicationHasPriority; Process simply calls Application.ProcessMessages.

Note: The TIdAntiFreeze.pas unit must NOT appear in the uses clause of any Indy or descendant unit. This unit is linked in an application when the component is placed on a Form. This is done to preserve isolation from the FORMS.PAS and QForms.pas units.


See Also

TIdAntiFreezeBase.DoProcess


TIdAntiFreezeBase

Hierarchy	Members	Properties	Methods	See Also	Unit: IdAntiFreezeBase

TIdAntiFreezeBase = class(TIdBaseComponent)

Description

Do not create instances of TIdAntiFreezeBase. Applications should use the TIdAntiFreeze component.


See Also

TIdAntiFreezeBase

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdAntiFreezeBase


TIdAntiFreezeBase Fields

TIdAntiFreezeBase


TIdAntiFreezeBase Properties

TIdAntiFreezeBase	Legend

TIdAntiFreezeBase

 Active

 ApplicationHasPriority

 IdleTimeOut

 OnlyWhenIdle

TIdBaseComponent

 Version


Legend

 published


TIdAntiFreezeBase Events

TIdAntiFreezeBase


TIdAntiFreezeBase Methods

TIdAntiFreezeBase	Legend

TIdAntiFreezeBase

 Create

 Destroy

 DoProcess

 Process

TIdBaseComponent

 GetVersion


Legend

 abstract

 virtual


TIdAntiFreezeBase Members

TIdAntiFreezeBase	Legend

Properties

 Active

 ApplicationHasPriority

 IdleTimeOut

 OnlyWhenIdle

Methods

 Create

 Destroy

 DoProcess

 Process


Legend

 abstract

 virtual

 published


TIdAntiFreezeBase.Active

TIdAntiFreezeBase

Indicates that the component is active.

property Active: boolean;

Description

Active is a Boolean property that can be used to enable or disable a TIdAntiFreezeBase component.


TIdAntiFreezeBase.ApplicationHasPriority

TIdAntiFreezeBase	See Also

Specifies that application messages have priority.

property ApplicationHasPriority: Boolean;

Description

ApplicationHasPriority is a Boolean property indicating that an Application should process any Application messages prior to other messages from other threads of execution in the Process method.


See Also

TIdAntiFreezeBase.Process


TIdAntiFreezeBase.IdleTimeOut

TIdAntiFreezeBase

Identifies the idle time-out value.

property IdleTimeOut: integer;

Description

IdleTimeOut is an Integer property whose default value is 250. IdleTimeOut represents the number of milliseconds that can elapse in the Readable method of Indy components before the component is reactivated.


TIdAntiFreezeBase.OnlyWhenIdle

TIdAntiFreezeBase	See Also

Specifies the component should yield when idle.

property OnlyWhenIdle: Boolean;

Description

OnlyWhenIdle is a Boolean property that indicates TIdAntiFreezeBase should yield only when the Application is idle.


See Also

TIdAntiFreezeBase.DoProcess

TIdAntiFreezeBase.Process


TIdAntiFreezeBase.Create

TIdAntiFreezeBase

Constructs and initializes an instance of TIdAntiFreezeBase.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

It is not necessary to explicitly create an instance of the component added in the form designer. These components are created automatically when the application is run, and they are destroyed when the application is closed.

Only one instance of TIdAntiFreezeBase is allowed per application. If another instance already exists, an exception is raised.

During Create, the following properties are initialized to their default values:

Active - True

ApplicationHasPriority - True

IdleTimeOut - 250

TIdAntiFreezeBase uses the global variable GAntiFreeze, declared in the TIdAntiFreezeBase unit, to determine if another instance has already been created.

Note: GAntiFreeze is not assigned if an instance is added in the form designer.

Note: Do not create instances of TIdAntiFreezeBase. Applications should use the TIdAntiFreeze component.


TIdAntiFreezeBase.Destroy

TIdAntiFreezeBase

Disposes of a TIdAntiFreezeBase object instance.

destructor Destroy; override;

Description

Destroy sets the unit global variable GAntiFreeze to the value nil, and calls the inherited Destroy method.

It is not recommended to call Destroy directly. Call Free instead. Free checks to ensure that the object reference is not nil before calling Destroy.


TIdAntiFreezeBase.DoProcess

TIdAntiFreezeBase	See Also

Implements Process functionality.

class procedure DoProcess(const AIdle: boolean; const AOverride: boolean);

Parameters

const AIdle: boolean = true

True forces an Idle state. Default is True.

const AOverride: boolean = false

True overrides both Idle and OnlyWhenIdle properties. Default is False.

Description

DoProcess is a class procedure that implements the default behavior for the abstract virtual method Process.

DoProcess allows the component to force an Idle state or override the current setting of Idle and OnlyWhenIdle.

Note: TIdAntiFreezeBase can only perform DoProcess when the calling client is the main application thread and Active is True.


See Also

TIdAntiFreezeBase.Process


TIdAntiFreezeBase.Process

TIdAntiFreezeBase	See Also

Implements process functionality.

procedure Process; virtual; abstract;

Description

Process is a virtual abstract procedure in TIdAntiFreezeBase. Descendant classes must implement Process to define the specific functionality performed.


See Also

TIdAntiFreeze.Process


TIdASCIICoder

Hierarchy	Members	Properties	Methods	See Also	Unit: IdCoder3To4

Ancestor for coders that use a table for encoding and decoding.

TIdASCIICoder = class(TIdCoder)

Description

TIdASCIICoder is a TIdCoder descendant that is the ancestor class for coders that use a table for encoding and decoding. Note: Do not create or use instance of TIdASCIICoder, use one the descendant classes like TId3To4Coder.


See Also

TIdCoder

TId3To4Coder

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdCoder

|

TIdASCIICoder


TIdASCIICoder Fields

TIdASCIICoder


TIdASCIICoder Properties

TIdASCIICoder

TIdASCIICoder

 CodingTable

TIdCoder

 AddCRLF

 AutoCompleteInput

 BufferSize

 ByteCount

 BytesIn

 BytesOut

 FileName

 IgnoreCodedData

 IgnoreNotification

 Key

 OnCodedData

 Priority

 TakesFileName

 TakesKey

 UseEvent

TIdBaseComponent

 Version


TIdASCIICoder Events

TIdASCIICoder

TIdCoder

 OnNotification


TIdASCIICoder Methods

TIdASCIICoder	Legend

TIdASCIICoder

 Create

TIdCoder

 CodeString

 CodeStringFromCoder

 CompletedInput

 Create

 Destroy

 GetCodedData

 GetNotification

 Reset

 SetBufferSize

 SetKey

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdASCIICoder Members

TIdASCIICoder	Legend

Properties

 CodingTable

Methods

 Create


Legend

 virtual


TIdASCIICoder.CodingTable

TIdASCIICoder

Represents characters used to perform encoding and decoding.

property CodingTable: string;

Description

CodingTable is a String property that represents the characters used by the coder to perform encoding or decoding of characters in the input buffer. CodingTable is used as a lookup table in the private GetTableIndex method.


TIdASCIICoder.Create

TIdASCIICoder

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance, and relies on the inherited Create method. Create also updates CodingTable to the length needed to represent all characters used by the coder. Create also sets TakesFileName to True.


TIdAttachment

Hierarchy	Members	Properties	Methods	See Also	Unit: IdMessage

Encapsulates a MIME-encoded attachment or inline graphic.

TIdAttachment = class(TIdMessagePart)

Description

TIdAttachment is a TIdMessagePart descendant that encapsulates a MIME-encoded attachment or inline graphic. TIdAttachment and TIdText are used as collection items in a TIdMessageParts collection.

TIdAttachment provides methods and properties relevant to Internet Message attachments including ContentDisposition, FileName, and SaveToFile. TIdAttachment also reintroduces the Create constructor to specify the owner Collection and the file used to store the attachment.


See Also

TIdMessagePart

TIdText

Technical Support


Class Hierarchy

TCollectionItem

|

TIdMessagePart

|

TIdAttachment


TIdAttachment Fields

TIdAttachment


TIdAttachment Properties

TIdAttachment	Legend

TIdAttachment

 ContentDisposition

 FileName

TIdMessagePart

 Boundary

 BoundaryBegin

 BoundaryEnd

 ContentTransfer

 ContentType

 ExtraHeaders

 Headers

 IsEncoded

 StoredPathName


Legend

 published


TIdAttachment Events

TIdAttachment

TIdMessagePart

 OnGetMessagePartStream


TIdAttachment Methods

TIdAttachment	Legend

TIdAttachment

 Assign

 Create

 SaveToFile

TIdMessagePart

 Assign

 Create

 Destroy


Legend

 virtual


TIdAttachment Members

TIdAttachment	Legend

Properties

 ContentDisposition

 FileName

Methods

 Assign

 Create

 SaveToFile


Legend

 virtual

 published


TIdAttachment.ContentDisposition

TIdAttachment

Indicates presentation and storage parameters for the message part.

property ContentDisposition: string;

Description

ContentDisposition is a String property that represents the value for the Internet Message header "Content-Disposition" as described in RFC 2183. ContentDisposition indicates presentation information for the message part and can contain values and optional parameters.

ContentDisposition can contain the value "inline" for an Internet Message where the body part should be display immediately, and in the order in which it occurs.

ContentDisposition can contain the value "attachment" followed by additional parameters to indicate that the message part is separate from the main body of the message. The parameter "filename" can be used to suggest a filename where the message part is detached and stored in a separate file. Other parameters can include "creation-date", "modification-date", "read-date", and "size".

When ContentDisposition contains "attachment", the FileName property reflects the file where the message part is stored.


TIdAttachment.FileName

TIdAttachment	See Also

File name for the attachment.

property FileName: TFileName;

Description

FileName is a String property that represents the suggested file name where the message part is stored. FileName contains the parameter value from the Internet Message header "Content-Dispositon: attachment; filename=".


See Also

TIdAttachment.ContentDisposition


TIdAttachment.Assign

TIdAttachment

Copy the property values from an object to the current instance.

procedure Assign(Source: TPersistent); override;

Parameters

Source: TPersistent

Persistent class that contains values to be copied.

Description

Assign is a procedure used to store the properties values from the object instance specified by Source in the current object instance. If source is an instance of the same ClassType as the current object, Assign will copy the value of the following properties:

ContentTransfer

ContentType

ExtraHeaders

ContentDisposition

FileName

When Source is not the same ClassType as the current object instance, Assign calls the inherited Assign method.


TIdAttachment.Create

TIdAttachment

Constructor for the collection item.

constructor Create(Collection: TIdMessageParts; const AFileName: TFileName);

Parameters

Collection: TIdMessageParts

Collection that owns the collection item.

const AFileName: TFileName = ''

File name for the attachment. Default values is ''.

Description

Create is the constructor for the collection item, and is used to create a new TIdAttachment object and adds it to the TIdMessageParts collection specified by the Collection parameter.

AFileName is an optional parameter that specifies the initial name of the file to be attached with the TIdAttachment.

Create calls the inherited Create method to initialize the object instance, and assigns AFileName to the FileName property.


TIdAttachment.SaveToFile

TIdAttachment

Stores a message part to a disk file.

function SaveToFile(const FileName: TFileName): Boolean;

Parameters

const FileName: TFileName

File name where the message part will be stored.

Returns

Boolean - True when the message parts is stored.

Description

SaveToFile is a Boolean function used to store the attachment that represents the message part to the file specified in Filename.


TIdBase64Decoder

Hierarchy	Members	Methods	See Also	Unit: IdCoder3To4

Implements a decoder for the Base64 MIME encoding scheme.

TIdBase64Decoder = class(TId3To4Coder)

Description

TIdBase64Decoder is a TIdCoder3To4 descendant that decodes Base64-encoded ASCII data into a it's binary format. TIdBase64Decoder utilizes the Base64 encoding scheme as described in the Internet Standards document:

RFC 2045, Multipurpose Internet Mail Extensions (MIME), Part One: Format of Internet Message Bodies, Section 6.8 Base64 Content-Transfer-Encoding

The Base64 encoding mechanism is designed to represent arbitrary sequences of byte data in a form that need not be humanly readable. Base64 encoding is almost identical to the mechanism used in Privacy Enhanced Mail (PEM) applications, as defined in RFC 1421 .

Base64 encoding uses a 64-character subset of US-ASCII, enabling 6 bits to be represented per printable character. An extra character ("=") has special significance in Base64 encoding. Base64 encoding can represent all version of ISO 646, including US-ASCII, and all characters in the subset are also represented identically in EBCDIC.

Base64 encoding represents 24-bit groups of input as output strings of 4 encoded characters. TIdBase64Decoder is designed to reverse the Base64 encoding operation to derive the original binary data.

Any characters outside of the Base64 alphabet are to be ignored in Base64-encoded data.

Base64 encoding is commonly used in E-Mail MIME messages and Usenet messages.


See Also

TIdBase64Encoder

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdCoder

|

TIdASCIICoder

|

TId3To4Coder

|

TIdBase64Decoder


TIdBase64Decoder Fields

TIdBase64Decoder


TIdBase64Decoder Properties

TIdBase64Decoder

TIdASCIICoder

 CodingTable

TIdCoder

 AddCRLF

 AutoCompleteInput

 BufferSize

 ByteCount

 BytesIn

 BytesOut

 FileName

 IgnoreCodedData

 IgnoreNotification

 Key

 OnCodedData

 Priority

 TakesFileName

 TakesKey

 UseEvent

TIdBaseComponent

 Version


TIdBase64Decoder Events

TIdBase64Decoder

TIdCoder

 OnNotification


TIdBase64Decoder Methods

TIdBase64Decoder	Legend

TIdBase64Decoder

 Create

 Destroy

TId3To4Coder

 Create

 Destroy

TIdASCIICoder

 Create

TIdCoder

 CodeString

 CodeStringFromCoder

 CompletedInput

 Create

 Destroy

 GetCodedData

 GetNotification

 Reset

 SetBufferSize

 SetKey

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdBase64Decoder Members

TIdBase64Decoder	Legend

Methods

 Create

 Destroy


Legend

 virtual


TIdBase64Decoder.Create

TIdBase64Decoder

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance, and relies on the inherited Create method. Create also initializes CodingTable to the Base64 alphabet as represented by Base64CodeTable.


TIdBase64Decoder.Destroy

TIdBase64Decoder

Frees the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance.


TIdBase64Encoder

Hierarchy	Members	Methods	See Also	Unit: IdCoder3To4

Implements an encoder for the Base64 MIME encoding scheme.

TIdBase64Encoder = class(TId3To4Coder)

Description

TIdBase64Encoder is a TIdCoder3To4 descendant that encodes binary data into a 7-bit textual representation, called Base64, as described in the Internet Standards document:

RFC 2045, Multipurpose Internet Mail Extensions (MIME), Part One: Format of Internet Message Bodies, Section 6.8 Base64 Content-Transfer-Encoding

The Base64 encoding mechanism is designed to represent arbitrary sequences of byte data in a form that need not be humanly readable. Base64 encoding is almost identical to the mechanism used in Privacy Enhanced Mail (PEM) applications, as defined in RFC 1421 .

Base64 encoding uses a 64-character subset of US-ASCII, enabling 6 bits to be represented per printable character. An extra character ("=") has special significance in Base64 encoding. Base64 encoding can represent all version of ISO 646, including US-ASCII, and all characters in the subset are also represented identically in EBCDIC.

Base64 encoding represents 24-bit groups of input as output strings of 4 encoded characters. Proceeding from left to right, a 24-bit input group is formed by concatenating 3 8bit input groups. These 24 bits are then treated as 4 concatenated 6-bit groups, each of which is translated into a single digit in the base64 alphabet. When encoding a bit stream using Base64 encoding, the stream must be presumed to be ordered with the most-significant-bit first. That is, the first bit in the stream will be the high-order bit in the first 8bit byte, and the eighth bit will be the low-order bit in the first 8bit byte, etc.

Each 6-bit group is used as an index into an array of 64 printable characters. The character referenced by the index is placed in the output string. These characters are selected to be universally representable, and the set excludes characters with particular significance to SMTP (".", CR, LF) and to the multipart boundary delimiters defined in RFC 2046 ("-"). The following table identifies characters and encodings for the Base64 Alphabet:

  Value Encoding  Value Encoding

   0    A         34    i

   1    B         35    j

   2    C         36    k

   3    D         37    l

   4    E         38    m

   5    F         39    n

   6    G         40    o

   7    H         41    p

   8    I         42    q

   9    J         43    r

  10    K         44    s

  11    L         45    t

  12    M         46    u

  13    N         47    v

  14    O         48    w

  15    P         49    x

  16    Q         50    y

  17    R         51    z

  18    S         52    0

  19    T         53    1

  20    U         54    2

  21    V         55    3

  22    W         56    4

  23    X         57    5

  24    Y         58    6

  25    Z         59    7

  26    a         60    8

  27    b         61    9

  28    c         62    +

  29    d         63    /

  30    e         (pad) =

  31    f

  32    g

  33    h

Base64-encoded output must be represented in lines of no more than 76 characters each. All line breaks or other characters not found in the Base64 alphabet must be ignored by decoding software.

Special processing is performed if fewer than 24 bits are available at the end of the data being encoded. A full encoding quantum is always completed at the end of a body. When fewer than 24 input bits are available in an input group, zero bits are added (on the right) to form an integral number of 6-bit groups. Padding at the end of the data is performed using the "=" character. Since all Base64 input is an integral number of octets, only the following cases can arise:

The final quantum of encoding input is an integral multiple of 24 bits; here, the final unit of encoded output will be an integral multiple of 4 characters with no "=" padding.

The final quantum of encoding input is exactly 8 bits; here, the final unit of encoded output will be two characters followed by two "=" padding characters.

The final quantum of encoding input is exactly 16 bits; here, the final unit of encoded output will be three characters followed by one "=" padding character.

Because it is used only for padding at the end of the data, the occurrence of any "=" characters may be taken as evidence that the end of the data has been reached (without truncation in transit). No such assurance is possible, however, when the number of octets transmitted was a multiple of three and no "=" characters are present.

Any characters outside of the Base64 alphabet are to be ignored in Base64-encoded data.

Base64 encoding is commonly used in E-Mail MIME messages and Usenet messages.


See Also

TIdBase64Decoder

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdCoder

|

TIdASCIICoder

|

TId3To4Coder

|

TIdBase64Encoder


TIdBase64Encoder Fields

TIdBase64Encoder


TIdBase64Encoder Properties

TIdBase64Encoder

TIdASCIICoder

 CodingTable

TIdCoder

 AddCRLF

 AutoCompleteInput

 BufferSize

 ByteCount

 BytesIn

 BytesOut

 FileName

 IgnoreCodedData

 IgnoreNotification

 Key

 OnCodedData

 Priority

 TakesFileName

 TakesKey

 UseEvent

TIdBaseComponent

 Version


TIdBase64Encoder Events

TIdBase64Encoder

TIdCoder

 OnNotification


TIdBase64Encoder Methods

TIdBase64Encoder	Legend

TIdBase64Encoder

 Create

 Destroy

TId3To4Coder

 Create

 Destroy

TIdASCIICoder

 Create

TIdCoder

 CodeString

 CodeStringFromCoder

 CompletedInput

 Create

 Destroy

 GetCodedData

 GetNotification

 Reset

 SetBufferSize

 SetKey

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdBase64Encoder Members

TIdBase64Encoder	Legend

Methods

 Create

 Destroy


Legend

 virtual


TIdBase64Encoder.Create

TIdBase64Encoder

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance, and relies on the inherited Create method. Create also initializes CodingTable to the Base64 alphabet as represented by Base64CodeTable.


TIdBase64Encoder.Destroy

TIdBase64Encoder

Frees the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance.


TIdBaseComponent

Hierarchy	Members	Properties	Methods	See Also	Unit: IdBaseComponent

Ancestor class for all Indy components.

TIdBaseComponent = class(TComponent)

Description

TIdBaseComponent is the base class that is the ancestor for all Indy components.


See Also

TIdComponent

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent


TIdBaseComponent Fields

TIdBaseComponent


TIdBaseComponent Properties

TIdBaseComponent

TIdBaseComponent

 Version


TIdBaseComponent Events

TIdBaseComponent


TIdBaseComponent Methods

TIdBaseComponent

TIdBaseComponent

 GetVersion


TIdBaseComponent Members

TIdBaseComponent

Properties

 Version

Methods

 GetVersion


TIdBaseComponent.Version

TIdBaseComponent

Identifies the Indy version number.

property Version: string;

Description

Version is a String property that identifies the Internet Direct (Indy) version number of the components installed on your computer.


TIdBaseComponent.GetVersion

TIdBaseComponent

function GetVersion: string;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdBuffer

Hierarchy	Members	Methods	See Also	Unit: IdTCPConnection

Buffer used in Indy read and write operations.

TIdBuffer = class(TMemoryStream)

Description

TIdBuffer is a TMemoryStream descendant used in read and write buffering operations for Indy components. TIdBuffer includes all the inherited stream functionality of TMemoryStream, and extends the class with the RemoveXBytes method to manage dynamic memory buffer usage in Indy.

TIdBuffer is used as a generic buffer in operations that read data from the TCP/IP protocol stack, and in communications classes that perform write buffering like TIdTCPConnection.


See Also

TIdTCPConnection

Technical Support


Class Hierarchy

TMemoryStream

|

TIdBuffer


TIdBuffer Fields

TIdBuffer


TIdBuffer Properties

TIdBuffer


TIdBuffer Events

TIdBuffer


TIdBuffer Methods

TIdBuffer

TIdBuffer

 RemoveXBytes


TIdBuffer Members

TIdBuffer

Methods

 RemoveXBytes


TIdBuffer.RemoveXBytes

TIdBuffer	See Also

Removes bytes of data from the dynamic memory buffer.

procedure RemoveXBytes(const AByteCount: integer);

Parameters

const AByteCount: integer

Number of bytes to be removed.

Description

RemoveXBytes is a procedure that instructs TIdBuffer to remove the number of bytes in AByteCount from the dynamic memory buffer.

RemoveXBytes shifts the contents of Memory so that only data bytes AByteCount through the Size of the buffer are available for further processing. When AByteCount and Size are the same, the memory buffer in Memory is reset using Clear.

RemoveXBytes will raise an EIdException when ABytes is larger than the Size of the TIdBuffer.

Note: Data in Memory should be handled in the manner appropriate to the application prior to calling RemoveXBytes.


See Also

EIdException


TIdCardAddressItem

Hierarchy	Members	Properties	Methods	Unit: IdVCard

Encapsulates a complete VCard address.

TIdCardAddressItem = class(TCollectionItem)

Description

The TIdCardAddressItem object encapsulates a VCard address in the TIdVCard component.


Class Hierarchy

TCollectionItem

|

TIdCardAddressItem


TIdCardAddressItem Fields

TIdCardAddressItem


TIdCardAddressItem Properties

TIdCardAddressItem	Legend

TIdCardAddressItem

 AddressAttributes

 ExtendedAddress

 Locality

 Nation

 POBox

 PostalCode

 Region

 StreetAddress


Legend

 published


TIdCardAddressItem Events

TIdCardAddressItem


TIdCardAddressItem Methods

TIdCardAddressItem	Legend

TIdCardAddressItem

 Assign


Legend

 virtual


TIdCardAddressItem Members

TIdCardAddressItem	Legend

Properties

 AddressAttributes

 ExtendedAddress

 Locality

 Nation

 POBox

 PostalCode

 Region

 StreetAddress

Methods

 Assign


Legend

 virtual

 published


TIdCardAddressItem.AddressAttributes

TIdCardAddressItem

Represents type information for a VCard address item.

property AddressAttributes: TIdCardAddressAttributes;

Description

AddressAttributes represents type information for a VCard address item. AddressAttributes can include the following:

tatHome - home delivery address

tatDomestic - a domestic address

tatInternational - an international address

tatPostal - a postal delivery address

tatParcel - a parcel delivery address

tatWork - a work delivery address

tatPreferred - preferred address


TIdCardAddressItem.ExtendedAddress

TIdCardAddressItem

Represents additional VCard address information.

property ExtendedAddress: String;

Description

ExtendedAddress represents additional VCard address information. ExtendedAddress can contain information such as an Office identifier for a building or an apartment number.


TIdCardAddressItem.Locality

TIdCardAddressItem

Represents a VCard locality.

property Locality: String;

Description

Locality represents a VCard a city or town (e.g. Chicago, New York City, Montreal) in a VCard address.


TIdCardAddressItem.Nation

TIdCardAddressItem

Represents the country or nation for a VCard adress item.

property Nation: String;

Description

Nation represents the country or nation for a VCard adress item, and can contain data such as Canada, U.S.A., Mexico, Russia, etc.


TIdCardAddressItem.POBox

TIdCardAddressItem

Represents a Post Office Box for a VCard address.

property POBox: String;

Description

POBox represents a Post Office Box for a VCard address.


TIdCardAddressItem.PostalCode

TIdCardAddressItem

Represents a VCard postal code for the locality.

property PostalCode: String;

Description

PostalCode represents the postal code for the locality such as a ZIP Code in the US.


TIdCardAddressItem.Region

TIdCardAddressItem

Represents a VCard state, province, or county.

property Region: String;

Description

Region represents a VCard political subdivision of a nation such as a Providence in Canada such as "Quebec", a State in US such as "West Virginia", or a county in England such as "Kent".


TIdCardAddressItem.StreetAddress

TIdCardAddressItem

Represents a VCard street address.

property StreetAddress: String;

Description

StreetAddress represents a VCard street address such as "101 Sample Avenue".


TIdCardAddressItem.Assign

TIdCardAddressItem

Copy the property values of an object.

procedure Assign(Source: TPersistent); override;

Parameters

Source: TPersistent

Object containing values to be copied.

Description

Assign is a procedure used to copy the properties of the persistent object in Source to the current object instance. When the current object and the object in Source are the same ClassType, Assign will copy the following property values:

Addr

AddressAttributes

POBox

ExtendedAddress

StreetAddress

Locality

Region

PostalCode

Nation

When the current object and Source do not sahre the same ClassType, Assign calls the inherited Assign method.


TIdCardPhoneNumber

Hierarchy	Members	Properties	Methods	Unit: IdVCard

Encapsulates a VCard telphone number.

TIdCardPhoneNumber = class(TCollectionItem)

Description

TIdCardPhoneNumber encapsulates a VCard telephone number in the TIdVCard component.


Class Hierarchy

TCollectionItem

|

TIdCardPhoneNumber


TIdCardPhoneNumber Fields

TIdCardPhoneNumber


TIdCardPhoneNumber Properties

TIdCardPhoneNumber	Legend

TIdCardPhoneNumber

 Number

 PhoneAttributes


Legend

 published


TIdCardPhoneNumber Events

TIdCardPhoneNumber


TIdCardPhoneNumber Methods

TIdCardPhoneNumber	Legend

TIdCardPhoneNumber

 Assign


Legend

 virtual


TIdCardPhoneNumber Members

TIdCardPhoneNumber	Legend

Properties

 Number

 PhoneAttributes

Methods

 Assign


Legend

 virtual

 published


TIdCardPhoneNumber.Number

TIdCardPhoneNumber

Respresents the contents for the VCard telephone number.

property Number: String;

Description

Number respresents the contents for the VCard telephone number.


TIdCardPhoneNumber.PhoneAttributes

TIdCardPhoneNumber

Describes a VCard telephone number.

property PhoneAttributes: TIdPhoneAttributes;

Description

PhoneAttributes describes a VCard telephone number and can include the following values:

tpaHome - home telephone number

tpaVoiceMessaging - voice messaging is available

tpaWork - work telephone number

tpaPreferred - preferred telephone number

tpaVoice - voice telephone number

tpaFax - facsimile telephone number

tpaCellular - cellular telephone number

tpaVideo - video-phone number

tpaBBS - Bulletin Board System

tpaModem - Modem telephone number

tpaCar - Car telephone

tpaISDN - ISDN telephone number

tpaPCS - personal communication services telephone number

tpaPager - pager telephone number


TIdCardPhoneNumber.Assign

TIdCardPhoneNumber

Copy the property values of an object.

procedure Assign(Source: TPersistent); override;

Parameters

Source: TPersistent

Object containing values to be copied.

Description

Assign is a procedure used to copy the properties of the persistent object in Source to the current object instance. When the current object and the object in Source are the same ClassType, Assign will copy the following property values:

Phone

PhoneAttributes

Number

When the current object and Source do not sahre the same ClassType, Assign calls the inherited Assign method.


TIdChargenServer

Hierarchy	Members	Properties	Methods	See Also	Unit: IdChargenServer

Defines a Character Generator server.

TIdChargenServer = class(TIdTCPServer)

Description

TIdChargenServer defines a Chargen server as defined in the Internet Standards document: RFC 864. Chargen or Character Generator Protocol is used for stress-testing a connection.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPServer

|

TIdChargenServer


TIdChargenServer Fields

TIdChargenServer


TIdChargenServer Properties

TIdChargenServer	Legend

TIdChargenServer

 DefaultPort

TIdTCPServer

 AcceptWait

 Active

 Bindings

 DefaultPort

 ImplicitThreadMgrCreated

 Intercept

 TerminateWaitTime

 ThreadClass

 ThreadMgr

 Threads

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdChargenServer Events

TIdChargenServer	Legend

TIdTCPServer

 OnConnect

 OnDisconnect

 OnExecute

TIdComponent

 OnStatus


Legend

 published


TIdChargenServer Methods

TIdChargenServer	Legend

TIdChargenServer

 Create

TIdTCPServer

 Create

 Destroy

 Loaded

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdChargenServer Members

TIdChargenServer	Legend

Properties

 DefaultPort

Methods

 Create


Legend

 virtual

 published


TIdChargenServer.DefaultPort

TIdChargenServer

Default port number for the server.

property DefaultPort;

Description

DefaultPort is a published property in TIdChargenServer that contains the default port number used by the server, as described in the Character Generator Protocol specification. The default value for DefaultPort is IdPORT_CHARGEN.


TIdChargenServer.Create

TIdChargenServer

Creates a new object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance, and initializes a new TIdChargenServer component and sets the default port to the standard port number used for Chargen (IdPORT_CHARGEN).


TIdCoder

Hierarchy	Members	Properties	Methods	Events	See Also	Unit: IdCoder

TIdCoder = class(TIdBaseComponent)

Description

TIdCoder is a base class that identifies common properties and method needed to implement encryption, decryption, encoding, and decoding of string variables or file content. TIdCoder is the ancestor of the various coders and decoders included with Indy.

Note: Do not create instances of TIdCoder. Use one of the descendant classes that implements specific Coder functionality, including:

TIdBase64Encoder

TIdBase64Decoder

TIdUUEncoder

TIdUUDecoder

TIdIMFDecoder

TIdCoderMD2

TIdCoderMD4

TIdCoderMD5

TIdQuotedPrintableEncoder


See Also

TIdBase64Encoder

TIdBase64Decoder

TIdUUEncoder

TIdUUDecoder

TIdIMFDecoder

TIdCoderMD2

TIdCoderMD4

TIdCoderMD5

TIdQuotedPrintableEncoder

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdCoder


TIdCoder Fields

TIdCoder


TIdCoder Properties

TIdCoder

TIdCoder

 AddCRLF

 AutoCompleteInput

 BufferSize

 ByteCount

 BytesIn

 BytesOut

 FileName

 IgnoreCodedData

 IgnoreNotification

 Key

 OnCodedData

 Priority

 TakesFileName

 TakesKey

 UseEvent

TIdBaseComponent

 Version


TIdCoder Events

TIdCoder

TIdCoder

 OnNotification


TIdCoder Methods

TIdCoder	Legend

TIdCoder

 CodeString

 CodeStringFromCoder

 CompletedInput

 Create

 Destroy

 GetCodedData

 GetNotification

 Reset

 SetBufferSize

 SetKey

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdCoder Members

TIdCoder	Legend

Properties

 AddCRLF

 AutoCompleteInput

 BufferSize

 ByteCount

 BytesIn

 BytesOut

 FileName

 IgnoreCodedData

 IgnoreNotification

 Key

 OnCodedData

 Priority

 TakesFileName

 TakesKey

 UseEvent

Events

 OnNotification

Methods

 CodeString

 CodeStringFromCoder

 CompletedInput

 Create

 Destroy

 GetCodedData

 GetNotification

 Reset

 SetBufferSize

 SetKey


Legend

 virtual


TIdCoder.AddCRLF

TIdCoder

Indicates that EOL characters are added to the coder output.

property AddCRLF: Boolean;

Description

AddCRLF is a Boolean property that indicates the coder will append Carriage Return and Line Feed characters to the end of the value prepared by the coder. When AddCRLF is True, the EOL character sequence is appended to the value.

The default value for AddCRLF is False as assigned in the Create method.


TIdCoder.AutoCompleteInput

TIdCoder	See Also

Indicates if input is completed on assignment on in an event handler.

property AutoCompleteInput: Boolean;

Description

AutoCompleteInput is a Boolean property that indicates how the coder will handle the uncoded input supplied to the CodeString method.

When AutoCompleteInput is True, the CodeString method calls CompletedInput to handle the return value from the coder. When AutoCompleteInput is False, the CodeString method calls GetNotification to allow event notification of a return value for the coder.

The default value for AutoCompleteInput is False as assigned in the Create method.


See Also

TIdCoder.CodeString

TIdCoder.CompletedInput

TIdCoder.GetNotification


TIdCoder.BufferSize

TIdCoder

Indicates the size of the internal buffer for the coder.

property BufferSize: LongWord;

Description

BufferSize is a LongWord property that indicates the size of the internal buffer allocated for processing input to the coder.

Note: Changing the value of BufferSize results in the internal buffer being cleared and re-allocated. Existing content in the internal buffer is discarded and the internal buffer length is set to zero (0).

The default value for BufferSize is 4096 bytes, as assigned in the Create method.


TIdCoder.ByteCount

TIdCoder	See Also

Represents the number of bytes processed by the coder.

property ByteCount: TQWord;

Description

ByteCount is a read-only TQWord property that represents the number of bytes processed by the coder. ByteCount is updated when a coder completes an encoding or decoding operation and makes the output available.


See Also

TQWord


TIdCoder.BytesIn

TIdCoder	See Also

Number of bytes provided as input to the coder.

property BytesIn: TQWord;

Description

BytesIn is a read-only TQWord property that represents the number of bytes provided as input to the coder using the CodeString method. BytesIn can be used with BytesOut to determine the efficiency or accuracy of the coder operation.


See Also

TIdCoder.CodeString

TIdCoder.BytesOut


TIdCoder.BytesOut

TIdCoder	See Also

Number of bytes provided as output from the coder operation.

property BytesOut: TQWord;

Description

BytesOut is a read-only TQWord property that represents the number of bytes provided as output from the coder operation. BytesOut can be used with BytesIn to determine the efficiency or accuracy of the coder operation.


See Also

TIdCoder.BytesIn


TIdCoder.FileName

TIdCoder

Identifies a file used by the coder.

property FileName: String;

Description

FileName is a String property that identifies the file name on the local file system for coders that use or require a file name as a parameter.


TIdCoder.IgnoreCodedData

TIdCoder	See Also

Indicates if coder output buffers are signalled.

property IgnoreCodedData: Boolean;

Description

IgnoreCodedData is a Boolean property that indicates if the coder should trigger event notifications when output buffers are available. When IgnoreCodedData is True, the OnCodedData event handler is not signalled when output buffers are added or retrieved. IgnoreCodedData is used in conjunction with IgnoreNotifications and UseEvent to determine the correct way to produce coder output values.

Note: When both IgnoreCodedData and IgnoreNotification are True, the coder will clear the output buffer and return an empty string ('') as the result of the transformation.


See Also

TIdCoder.UseEvent

TIdCoder.OnCodedData


TIdCoder.IgnoreNotification

TIdCoder	See Also

Indicates if coder transformations are signalled.

property IgnoreNotification: Boolean;

Description

IgnoreNotification is a Boolean property that indicates if the coder should trigger event notifications when input buffers are transformed. When IgnoreNotification is True, the OnNotification handler is not signalled when coder buffers are transformed. IgnoreNotification is used in conjunction with IgnoreCodedData and UseEvent to determine the correct way to process output values.

Note: When both IgnoreCodedData and IgnoreNotification are True, the coder will clear the output buffer and return an empty string ('') as the result of the transformation.


See Also

TIdCoder.IgnoreCodedData

TIdCoder.UseEvent

TIdCoder.OnNotification


TIdCoder.Key

TIdCoder	See Also

Represents a unique key value for cryptography coders.

property Key: String;

Description

Key is a String property that represents the unique value often used or required by coders that perform cryptographic transformations. Key is a required value when TakesKey contains True.

Note: TIdCoder descendants should override the SetKey write access specifier for the Key property to perform function relevant to a change in the Key value for the coder.


See Also

TIdCoder.SetKey


TIdCoder.OnCodedData

TIdCoder	See Also

Signals completed coder output buffers.

property OnCodedData: TStringEvent;

Description

OnCodedData is a TStringEvent event handler that allows TIdCoder to respond to notifications that a coder buffer has been transformed. OnCodedData is called when UseEvent indicates that event signals are desired, and a procedure has been assigned to the event handler.

Note: OnCodedData will not be called when both IgnoreNotification and IgnoreCodedData contain True, regardless of the value in UseEvent.

AOut contains the transformed data from the coder. OnCodedData may be called multiple times when several buffers are needed to accommodate the CodeString input value.


See Also

TStringEvent

TIdCoder.CodeString

TIdCoder.IgnoreNotification

TIdCoder.IgnoreCodedData

TIdCoder.UseEvent


TIdCoder.Priority

TIdCoder	See Also

Coder priority in a coder collection.

property Priority: Byte;

Description

Priority is a read-only Byte property that represents the priority of a coder. Priority is the value supplied in TIdCoderItem.CoderPriority to represent the CT_REALISATION priority level of the coder collection item

The default value for Priority in TIdCoder is CP_FALLBACK.


See Also

TIdCoderItem.CoderPriority

CP_FALLBACK


TIdCoder.TakesFileName

TIdCoder	See Also

Indicates that the coder requires a file name.

property TakesFileName: Boolean;

Description

TakesFileName is a read-only Boolean property that indicates if the FileName property is required for the correct operation of the coder.


See Also

TIdCoder.FileName


TIdCoder.TakesKey

TIdCoder	See Also

Indicates that the coder requires a key.

property TakesKey: Boolean;

Description

TakesKey is a read-only Boolean property that indicates if the coder requires a value for the Key property.


See Also

TIdCoder.Key


TIdCoder.UseEvent

TIdCoder	See Also

Indicates that coder output is signal using an event handler.

property UseEvent: Boolean;

Description

UseEvent is a Boolean property that indicates if the coder can return transformed output values and notifications using TIdCoder event handlers.

When UseEvent is True, notification of completed output buffers will be sent to the OnCodedData and OnNotification event handlers. When UseEvent is False, coder output will be made available to CompletedInput when BufferSize is exceeded, or the coder has transform the entire input buffer from CodeString.


See Also

TIdCoder.AutoCompleteInput

TIdCoder.BufferSize

TIdCoder.CodeString

TIdCoder.OnCodedData

TIdCoder.OnNotification

TIdCoder.CompletedInput


TIdCoder.CodeString

TIdCoder	See Also

Provides input for the coder.

function CodeString(AStr: String): String;

Parameters

AStr: String

Input for the coder.

Returns

String - Initial coded output buffer for the coder.

Description

CodeString is a String function that provides a mechanism for inputting (or "feeding") data to a coder. The return value for CodeString contains the following elements:

String-encoded numeric

Semi-colon

String (proper)

To separate the string into its parts, perform the following:

uses

  ...

  IdGlobal,

  ...

procedure ...;

var

  ReturnedString : String;

  ReturnedInteger : Integer;

begin

  ...

  ReturnedString := IdCoder.CodeString(SomeData);

  ReturnedInteger := StrToInt(Fetch(ReturnedString, ';'));

  ...

end;


See Also

TIdCoder.GetNotification


TIdCoder.CodeStringFromCoder

TIdCoder

Provides an alternate way to input values in to the coder.

procedure CodeStringFromCoder(Sender: TComponent; const sOut: string);

Parameters

Sender: TComponent

Component generating the input values.

const sOut: string

Pre-formatted input values.

Description

CodeStringFromCoder is a procedure that provides an alternate method for inputting values into the coder. TIdCoder descendant classes should override the CodeStringFromCoder method to provide an implementation that performs the operation specific to the coder.

Sender is the component generating the input value in sOut.


TIdCoder.CompletedInput

TIdCoder

COnstruct s the output for the coder operation.

function CompletedInput: String; virtual;

Returns

String - contents of the coder operation.

Description

CompletedInput is a String function that constructs the output values for the coder, and signals that the coder operation is complete. TIdCoder descendant classes may require additional processing before the output from the coder is valid, so CompletedInput is a virtual function. The default operation in TIdCoder is to provide the return value determined by GetNotification.

CompletedInput sets an internal flag to indicate that CompletedInput has been invoked.


TIdCoder.Create

TIdCoder

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance and relies on the inherited Create method to initialize the object instance. Create also initializes the following object properties:

BufferSize - 4096

AddCRLF - False

AutoCompleteInput - False

ByteCount - 0

BytesIn - 0

BytesOut - 0

Priority - CP_FALLBACK

IgnoreCodedData - False

IgnoreNotification - False

FileName - '' (empty string)

TakesFileName - False

Key - '' (empty string)

TakesKey - False

UseEvent - False

Create initializes the input buffer to the length specified in BufferSize, and the output buffer to an empty value.


TIdCoder.Destroy

TIdCoder

Frees the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance. Destroy clears the internal output buffer for the coder prior to calling the inherited Destroy method.


TIdCoder.GetCodedData

TIdCoder

Retrieves coder output values from the output buffer.

function GetCodedData: String; virtual;

Description

GetCodedData is a virtual String function that retrieves the coder output from the output buffer. When the output buffer is empty, GetCodedData will return an empty string ('').

When the output buffer starts with the character '0', the return value for GetCodedData contains the string after the numeric result code. The line is removed from the output buffer. Any value other than '0' at the beginning of the output buffer indicates that the output line will be skipped when IgnoreNotification is True, and the line is removed from the output buffer.

Note: When both IgnoreNotification and IgnoreCodedData are True, GetCodedData will return an empty string ('').


TIdCoder.GetNotification

TIdCoder	See Also

Retrieve code notification messages from the coder output buffer.

function GetNotification: String; virtual;

Returns

String - Coded data or notification.

Description

GetNotification is a virtual String function that examines the coder output buffer for notifications messages about state or content changes. When both IgnoreNotification and IgnoreCodedData are True, GetNotification will clear the contents of the output buffer and return an empty string ('').

When the output buffer contains a coder notification other than CN_CODED_DATA, the value is extracted from the output buffer and returned as a String value. These notifications can include the constant values:

CN_CODED_DATA

CN_DATA_START_FOUND

CN_DATA_END_FOUND

CN_CODING_STARTED

CN_CODING_ENDED

CN_NEW_FILENAME

When the output buffer contains one or more CN_CODED_DATA coder notifications, GetNotification will accumulate all coded data for the messages until the output buffer is empty or a non=data notification is encountered. All CN_CODED_DATA messages handled in GetNotification are removed from the output buffer. Accumulated coded data valued are returned in the function result.

GetNotification is called from CodeString when AutoCompleteInput is False, or from CompletedInput when coder transformations have been completed.


See Also

CN_CODED_DATA

CN_DATA_START_FOUND

CN_DATA_END_FOUND

CN_CODING_STARTED

CN_CODING_ENDED

CN_NEW_FILENAME

TIdCoder.IgnoreNotification

TIdCoder.IgnoreCodedData

TIdCoder.CodeString

TIdCoder.AutoCompleteInput

TIdCoder.CompletedInput


TIdCoder.Reset

TIdCoder

Clears the coder input and output buffers, and resets the coder state.

procedure Reset; virtual;

Description

Reset is a virtual procedure used to clear the contents of the input and output buffers for the coder, and any properties altered during input. This procedure should not alter any other output options.


TIdCoder.SetBufferSize

TIdCoder	See Also

Alters the coder input buffer size.

procedure SetBufferSize(ASize: LongWord); virtual;

Parameters

ASize: LongWord

Number of bytes to use for the input buffer.

Description

SetBufferSize is a virtual procedure that acts as the write access specifier for the BufferSize property. SetBufferSize is used to alter the number of bytes allocated to the input buffer for the coder. TIdCoder descendants should override SetBufferSize for any coder that requires strict conformance to buffer size limits for the coder.


See Also

TIdCoder.BufferSize


TIdCoder.SetKey

TIdCoder

Alters the Key property value.

procedure SetKey(const key: String); virtual;

Parameters

const key: String

Value for the property.

Description

SetKey is a virtual procedure that acts as the write access specifier for the Key property. SetKey updates the Key property value in TIdCoder, but can be overridden in descendants classes that require special processing when the Key value is changed.


TIdCoder.OnNotification

TIdCoder	See Also

Specifies an event handler for data or messages from the coder.

property OnNotification: TIntStringEvent;

Description

OnNotification is an TIntStringEvent event handler that allows the coder to respond to notifications that a output buffer or message has become available for the coder.

An application must assign a procedure to the event handler and set UseEvent to True to enable use of the mechanism, or output buffers are stored for use in CompletedInput.

AVal contains the generic coder messages for the notification and may contain one of the following values:

CN_CODED_DATA

CN_DATA_START_FOUND

CN_DATA_END_FOUND

CN_CODING_STARTED

CN_CODING_ENDED

CN_NEW_FILENAME

AOut contains the transformed data from the coder, or an empty string ('') when AVal represents a coder state message.


See Also

CN_CODED_DATA

CN_DATA_START_FOUND

CN_DATA_END_FOUND

CN_CODING_STARTED

CN_CODING_ENDED

CN_NEW_FILENAME

TIntStringEvent

TIdCoder.CompletedInput


TIdCoderCollection

Hierarchy	Members	Properties	Methods	See Also	Unit: IdCoder

Collection of registered coder classes.

TIdCoderCollection = class(TCollection)

Description

TIdCoderCollection is a collection that stores registration information about a coder which was registered in your program using the RegisterCoderClass procedure. This collection stores items as TIdCoderItem objects. You do not create this class or free it at all but use the CoderCollective global variable.


See Also

Technical Support


Class Hierarchy

TCollection

|

TIdCoderCollection


TIdCoderCollection Fields

TIdCoderCollection


TIdCoderCollection Properties

TIdCoderCollection

TIdCoderCollection

 ItemCount

 Items


TIdCoderCollection Events

TIdCoderCollection


TIdCoderCollection Methods

TIdCoderCollection

TIdCoderCollection

 AddCoder

 Create

 GetCoderType

 GetExactCoderType


TIdCoderCollection Members

TIdCoderCollection

Properties

 ItemCount

 Items

Methods

 AddCoder

 Create

 GetCoderType

 GetExactCoderType


TIdCoderCollection.ItemCount

TIdCoderCollection

Number of coders in the collection.

property ItemCount: LongWord;

Description

ItemCount is a read-only LongWord property that indicates the current number of TIdCoderItem entries available in the collection.


TIdCoderCollection.Items

TIdCoderCollection

Provides indexed access to coders in the collection.

property Items [Index : LongWord]: TIdCoderItem;

Description

Items is an indexed read-only TIdCoderItem property that provides access to the individual TIdCoderItem entries in the collection. Index is a LongWord value that identifies the desired position in the collection, and ranges from 0 to ItemCount-1.


TIdCoderCollection.AddCoder

TIdCoderCollection

Retrieves a new coder instance.

function AddCoder: TIdCoderItem;

Returns

TIdCoderItem - Coder added to the collection.

Description

AddCoder is a TIdCoderItem function used to create and return a new TIdCoderItem entry.


TIdCoderCollection.Create

TIdCoderCollection

Constructor for the object instance.

constructor Create(ItemClass: TCollectionItemClass);

Parameters

ItemClass: TCollectionItemClass

Collection that owns the object instance.

Description

Create is the constructor for the object instance, and instantiates the TIdCoderCollection with the specified ItemClass.


TIdCoderCollection.GetCoderType

TIdCoderCollection

Retrieves the registered coder that most closely matches the request type.

function GetCoderType(ContentType: String; ContentTransferEncoding: String; CoderType: Byte): TIdCoderItem;

Parameters

ContentType: String

Content type needed.

ContentTransferEncoding: String

Content transfer encoding needed.

CoderType: Byte

Coder type needed.

Returns

TIdCoderItem - Registered coder that closely matches the request parameters.

Description

GetCoderType is a TIdCoderItem function that attempts to locate the coder that is the nearest match for the supplied parameters: ContentType, ContentTransferEncoding and CoderType.

GetCoderType returns Nil if a coder is not found. If the return value is not Nil, the returned coder is guaranteed to match the supplied CoderType parameter. The ContentType and ContentTransferEncoding are not guaranteed to match. The ContentTransferEncoding parameter is given higher priority than the ContentType when locating for the match.


TIdCoderCollection.GetExactCoderType

TIdCoderCollection

Retrieves a coder of the specified type.

function GetExactCoderType(ContentType: String; ContentTransferEncoding: String; CoderType: Byte): TIdCoderItem;

Parameters

ContentType: String

Content type needed for the coder.

ContentTransferEncoding: String

Transfer encoding needed for the coder.

CoderType: Byte

Coder type needed.

Returns

TIdCoderItem - Registered coder that matches the requested type.

Description

GetExactCoderType is a TIdCoderItem function that attempts to locate an exact match for the supplied parameters: ContentType, ContentTransferEncoding and CoderType.

GetExactCoderType returns Nil if a coder is not found, or the coder if it is found.


TIdCoderCRC16

Hierarchy	Members	Properties	Methods	See Also	Unit: IdTunnelCommon

Implements a CRC calculation encoder for Tunnel communication classes.

TIdCoderCRC16 = class(TIdCoder)

Description

TIdCoderCRC16 is a TIdCoder descendant that provides CRC calculation for encoded message values. TIdCoderCRC16 is used by Tunnel classes like TReceiver and TSender to construct CRC values for encapsulated tunnel message headers.


See Also

TReceiver

TSender


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdCoder

|

TIdCoderCRC16


TIdCoderCRC16 Fields

TIdCoderCRC16


TIdCoderCRC16 Properties

TIdCoderCRC16

TIdCoderCRC16

 AsString

 Bytes

 Name

 Size

 Sum

TIdCoder

 AddCRLF

 AutoCompleteInput

 BufferSize

 ByteCount

 BytesIn

 BytesOut

 FileName

 IgnoreCodedData

 IgnoreNotification

 Key

 OnCodedData

 Priority

 TakesFileName

 TakesKey

 UseEvent

TIdBaseComponent

 Version


TIdCoderCRC16 Events

TIdCoderCRC16

TIdCoder

 OnNotification


TIdCoderCRC16 Methods

TIdCoderCRC16	Legend

TIdCoderCRC16

 CalcCRC16

 Create

 Process

 Reset

TIdCoder

 CodeString

 CodeStringFromCoder

 CompletedInput

 Create

 Destroy

 GetCodedData

 GetNotification

 Reset

 SetBufferSize

 SetKey

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdCoderCRC16 Members

TIdCoderCRC16	Legend

Properties

 AsString

 Bytes

 Name

 Size

 Sum

Methods

 CalcCRC16

 Create

 Process

 Reset


Legend

 virtual


TIdCoderCRC16.AsString

TIdCoderCRC16

Provides the CRC value in Hexadecimal.

property AsString: string;

Description

AsString is a read-only String property that returns a string of Size bytes containing the hexadecimal representation of the CRC value for the coder.


TIdCoderCRC16.Bytes

TIdCoderCRC16

Provides access to the Byte values for the CRC checksum.

property Bytes [Index: Integer]: Byte;

Description

Bytes is a read-only Integer-indexed Byte property that provides access to the individual byte values for the calculated CRC checksum value. Index represents the Byte value and ranges from 0 to Size-1.


TIdCoderCRC16.Name

TIdCoderCRC16

Identifier for the CRC coder.

property Name: string;

Description

Name is a read-only String property that provides an identifier for the CRC coder.


TIdCoderCRC16.Size

TIdCoderCRC16

Number of bytes in the checksum value.

property Size: Integer;

Description

Size is a read-only Integer property that represents the number of bytes needed to store the CRC16 checksum value in Sum. Size also represents the upper limited for indexed access to the Byte property.


TIdCoderCRC16.Sum

TIdCoderCRC16

Calculated CRC16 checksum value.

property Sum: Word;

Description

Sum is a read-only Word value that represents the calculated CRC16 checksum value.


TIdCoderCRC16.CalcCRC16

TIdCoderCRC16

Calculates a CRC16 checksum value.

function CalcCRC16(var Buffer; Length: LongInt): Word;

Parameters

var Buffer

Value to be used for the calculation.

Length: LongInt

Number of Buffer bytes to used in the CRC calculation.

Returns

Word - CRC Checksum value.

Description

CalcCRC16 is a Word function that encodes the CRC16 value for the data specified in Buffer up to the number of bytes specified in Length.


TIdCoderCRC16.Create

TIdCoderCRC16

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance.


TIdCoderCRC16.Process

TIdCoderCRC16

Implements the CRC16 calculation process.

procedure Process(const Data; Size: Integer);

Parameters

const Data

Values used for the CRC checksum calculation.

Size: Integer

Number of bytes used for the CRC16 checksum calculation.

Description

Process is a procedure used to implement the CalcCRC16 calculation process using the number of bytes and data values specified in Size and Data. Process stores the calculated CheckSum value in Sum.


TIdCoderCRC16.Reset

TIdCoderCRC16

Clears the CRC16 checksum value.

procedure Reset; override;

Description

Reset is a procedure used to clear the calculated checksum value stored in Sum.


TIdCoderItem

Hierarchy	Members	Properties	See Also	Unit: IdCoder

Represent a registered coder.

TIdCoderItem = class(TCollectionItem)

Description

TIdCoderItem is a collection item that stores registration information about a coder which was registered in your program using the RegisterCoderClass procedure.


See Also

Technical Support


Class Hierarchy

TCollectionItem

|

TIdCoderItem


TIdCoderItem Fields

TIdCoderItem


TIdCoderItem Properties

TIdCoderItem

TIdCoderItem

 CoderPriority

 CoderType

 ContentTransferEncoding

 ContentType

 IdCoderClass


TIdCoderItem Events

TIdCoderItem


TIdCoderItem Methods

TIdCoderItem


TIdCoderItem Members

TIdCoderItem

Properties

 CoderPriority

 CoderType

 ContentTransferEncoding

 ContentType

 IdCoderClass


TIdCoderItem.CoderPriority

TIdCoderItem

Priority for the coder.

property CoderPriority: Byte;

Description

CoderPriority is a read-only Byte property that represents the coder priority assigned for the coder. CoderPriority may contain one of the constant values for coder priority that includes:

CP_FALLBACK

CP_IMF

CP_STANDARD


TIdCoderItem.CoderType

TIdCoderItem

Coder type constant value.

property CoderType: Byte;

Description

CoderType is a read-only Byte property that identifies the coder type for the registered coder using a constant value.


TIdCoderItem.ContentTransferEncoding

TIdCoderItem

Represents the content transfer encoding header.

property ContentTransferEncoding: String;

Description

ContentTransferEncoding is a read-only String property that represents the equivalent of the Content-Transfer-Encoding header assigned for the coder.


TIdCoderItem.ContentType

TIdCoderItem

Content type header for the coder.

property ContentType: String;

Description

ContentType is a read-only String property that identifies the equivalent of the Content-Type header that has been assigned for this coder.


TIdCoderItem.IdCoderClass

TIdCoderItem

Represents the class type for the object instance.

property IdCoderClass: CIdCoder;

Description

IdCoderClass is a CIdCoder property that represents the class type for the object instance. IdCoderClass may be used to create a new coder as per normal object instantiation.


TIdCoderMD2

Hierarchy	Members	Methods	See Also	Unit: IdCoderMessageDigest

TIdCoderMD2 = class(TIdCoder)

Description

TIdCoderMD2 is a TIdCoder descendant that implements the RSA-MD2 encryption algorithm as described in the Internet Standards documents:

RFC 1115, Privacy Enhancement for Internet Electronic Mail: Part III - Algorithms, Modes, and Identifiers

RFC 1319, The MD2 Message-Digest Algorithm

TIdCoderMD2 can be used in various cryptography implementations that require the RSA-MD2 algorithm, such as:

RFC 1423, Privacy Enhancement for Internet Electronic Mail, Part III: Algorithms, Modes, and Identifiers

RFC 1507, Distributed Authentication Security Service (DASS)

RFC 1750, Randomness Recommendations for Security

RFC 2313, PKCS #1: RSA Encryption Version 1.5

RFC 2315, PKCS #7: Cryptographic Message Syntax Version 1.5

RFC 2440, OpenPGP Message Format

RFC 2459, Internet X.509 Public Key Infrastructure Certificate and CRL Profile

RFC 2660, The Secure HyperText Transfer Protocol


See Also

TIdCoder

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdCoder

|

TIdCoderMD2


TIdCoderMD2 Fields

TIdCoderMD2


TIdCoderMD2 Properties

TIdCoderMD2

TIdCoder

 AddCRLF

 AutoCompleteInput

 BufferSize

 ByteCount

 BytesIn

 BytesOut

 FileName

 IgnoreCodedData

 IgnoreNotification

 Key

 OnCodedData

 Priority

 TakesFileName

 TakesKey

 UseEvent

TIdBaseComponent

 Version


TIdCoderMD2 Events

TIdCoderMD2

TIdCoder

 OnNotification


TIdCoderMD2 Methods

TIdCoderMD2	Legend

TIdCoderMD2

 Create

 FillSamples

 Reset

 SetBufferSize

TIdCoder

 CodeString

 CodeStringFromCoder

 CompletedInput

 Create

 Destroy

 GetCodedData

 GetNotification

 Reset

 SetBufferSize

 SetKey

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdCoderMD2 Members

TIdCoderMD2	Legend

Methods

 Create

 FillSamples

 Reset

 SetBufferSize


Legend

 virtual


TIdCoderMD2.Create

TIdCoderMD2	See Also

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance, and calls the inherited Create method. Create also sets BufferSize to 16 as required by the MD2 algorithm. AddCRLF is set to False, and the internal State and Checksum values for the 16-byte output buffer are set to zero (0) values.


See Also

TIdCoder.AddCRLF


TIdCoderMD2.FillSamples

TIdCoderMD2

Creates sample output for the MD2 algorithm.

procedure FillSamples(AStringList: TStrings); virtual;

Parameters

AStringList: TStrings

Destination for the sample output from the coder.

Description

FillSamples is a convenience procedure that prepares a sample of input values and the corresponding output using the MD2 algorithm, and stores the values in the AStringList parameter.


TIdCoderMD2.Reset

TIdCoderMD2

Clears the state of the coder internals.

procedure Reset; override;

Description

Reset is an overridden procedure that clears the internal State and Checksum values for the 16-byte coder output buffer as required by the MD2 algorithm.

Reset also sets InCompletion to False to signify that the coder is not in use.


TIdCoderMD2.SetBufferSize

TIdCoderMD2	See Also

Updates the buffer size for the coder.

procedure SetBufferSize(ASize: LongWord); override;

Description

SetBufferSize is a procedure that overrides the inherited SetBufferSize in TIdCoder. SetBufferSize acts as the write access specifier for the BufferSize property, and is overridden to prevent changes to the buffer size in the MD2 coder. MD2 requires a 16-byte buffer.


See Also

TIdCoder.SetBufferSize


TIdCoderMD4

Hierarchy	Members	Methods	See Also	Unit: IdCoderMessageDigest

Implements the MD4 encryption algorithm.

TIdCoderMD4 = class(TIdCoder)

Description

TIdCoderMD4 is a TIdCoder descendant that implements the RSA-MD4 encryption algorithm as described in the Internet Standards document:

RFC 1186, MD4 Message Digest Algorithm

TIdCoderMD4 can be used in various cryptography implementations that require the RSA-MD4 algorithm. The RSA-MD4 algorithm takes an input message of an arbitrary length and produces a 64-byte "fingerprint" or "message digest" of the input.

The MD4 algorithm is used for digital signature applications, where a large file must be "compressed" in a secure manner before being signed with the RSA public-key cryptosystem.

The MD4 algorithm has been placed in the public domain.


See Also

TIdCoder

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdCoder

|

TIdCoderMD4


TIdCoderMD4 Fields

TIdCoderMD4


TIdCoderMD4 Properties

TIdCoderMD4

TIdCoder

 AddCRLF

 AutoCompleteInput

 BufferSize

 ByteCount

 BytesIn

 BytesOut

 FileName

 IgnoreCodedData

 IgnoreNotification

 Key

 OnCodedData

 Priority

 TakesFileName

 TakesKey

 UseEvent

TIdBaseComponent

 Version


TIdCoderMD4 Events

TIdCoderMD4

TIdCoder

 OnNotification


TIdCoderMD4 Methods

TIdCoderMD4	Legend

TIdCoderMD4

 Create

 FillSamples

 Reset

 SetBufferSize

TIdCoder

 CodeString

 CodeStringFromCoder

 CompletedInput

 Create

 Destroy

 GetCodedData

 GetNotification

 Reset

 SetBufferSize

 SetKey

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdCoderMD4 Members

TIdCoderMD4	Legend

Methods

 Create

 FillSamples

 Reset

 SetBufferSize


Legend

 virtual


TIdCoderMD4.Create

TIdCoderMD4

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance, and calls the inherited Create method. Create also set BufferSize to 64 bytes and initializes the internal output buffer to the T4x4LongWordRecord MD4 seed value as required by the MD4 algorithm. Create also sets AddCRLF to False.


TIdCoderMD4.FillSamples

TIdCoderMD4

Creates sample output for the MD4 algorithm.

procedure FillSamples(AStringList: TStrings); virtual;

Parameters

AStringList: TStrings

Destination for the sample output from the coder.

Description

FillSamples is a convenience procedure that prepares a sample of input values and the corresponding output using the MD4 algorithm, and stores the values in the AStringList parameter.


TIdCoderMD4.Reset

TIdCoderMD4

Clears the state of the coder internals.

procedure Reset; override;

Description

Reset is an overridden procedure that clears the internal output buffer to the T4x4LongWordRecord MD4 seed value as required by the MD4 algorithm.

Reset also sets InCompletion to False to signify that the coder is not in use.


TIdCoderMD4.SetBufferSize

TIdCoderMD4	See Also

Updates the buffer size for the coder.

procedure SetBufferSize(ASize: LongWord); override;

Description

SetBufferSize is a procedure that overrides the inherited SetBufferSize in TIdCoder. SetBufferSize acts as the write access specifier for the BufferSize property, and is overridden to prevent changes to the buffer size in the MD2 coder. MD2 requires a 64-bit buffer.


See Also

TIdCoder.SetBufferSize


TIdCoderMD5

Hierarchy	Members	Methods	See Also	Unit: IdCoderMessageDigest

Implements the MD5 encryption algorithm.

TIdCoderMD5 = class(TIdCoderMD4)

Description

TIdCoderMD5 is a TIdCoderMD4 descendant that implements the RSA-MD5 encryption algorithm as described in the Internet Standards document:

RFC 1321, The MD5 Message-Digest Algorithm

TIdCoderMD5 implements the MD5 algorithm used for digital signature applications, where a large file must be "compressed" in a secure manner before being encrypted with a private (secret) key under a public-key cryptosystem such as RSA. The RSA-MD5 algorithm takes an input message of an arbitrary length and produces a 16-byte "fingerprint" or "message digest" of the input.

The MD5 algorithm is an extension of the MD4 message-digest algorithm. MD5 is slightly slower than MD4, but is more "conservative" in design. MD5 exists to compensate for potential security holes that exist in MD4.

TIdCoderMD5 differs from TIdCoderMD4 in the following ways:

A fourth round operation is added to the algorithm.

Each step now has a unique additive constant.

Rounding in second step of the algorithm has been made less symmetrical than it's MD4 predecessor.

Each step accumulates the result of the previous step promoting an "avalanche effect".

The input word order in rounds 2 and 3 is changed to make these patterns less predictable and repetitive.

The shift amounts in each round have been approximately optimized, to yield a faster "avalanche effect." The shifts in each of the rounds is distinct.

TIdCoderMD5 can be used in various cryptography implementations that require the RSA-MD5 algorithm. Some MD5 implementations are described in the following documents:

RFC 1828, IP Authentication using Keyed MD5

RFC 1864, The Content-MD5 Header Field

RFC 2082, RIP-2 MD5 Authentication

RFC 2085, HMAC-MD5 IP Authentication with Replay Prevention

RFC 2385, Protection of BGP Sessions via the TCP MD5 Signature Option

RFC 2537, RSA/MD5 KEYs and SIGs in the Domain Name System (DNS)

The MD5 algorithm has been placed in the public domain.


See Also

Technical Support

TIdCoder

TIdCoderMD4


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdCoder

|

TIdCoderMD4

|

TIdCoderMD5


TIdCoderMD5 Fields

TIdCoderMD5


TIdCoderMD5 Properties

TIdCoderMD5

TIdCoder

 AddCRLF

 AutoCompleteInput

 BufferSize

 ByteCount

 BytesIn

 BytesOut

 FileName

 IgnoreCodedData

 IgnoreNotification

 Key

 OnCodedData

 Priority

 TakesFileName

 TakesKey

 UseEvent

TIdBaseComponent

 Version


TIdCoderMD5 Events

TIdCoderMD5

TIdCoder

 OnNotification


TIdCoderMD5 Methods

TIdCoderMD5	Legend

TIdCoderMD5

 Create

 FillSamples

TIdCoderMD4

 Create

 FillSamples

 Reset

 SetBufferSize

TIdCoder

 CodeString

 CodeStringFromCoder

 CompletedInput

 Create

 Destroy

 GetCodedData

 GetNotification

 Reset

 SetBufferSize

 SetKey

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdCoderMD5 Members

TIdCoderMD5	Legend

Methods

 Create

 FillSamples


Legend

 virtual


TIdCoderMD5.Create

TIdCoderMD5

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create

Create is the constructor for the object instance, and calls the inherited Create method. Create also set BufferSize to 64 bytes.


TIdCoderMD5.FillSamples

TIdCoderMD5

Creates sample output for the MD5 algorithm.

procedure FillSamples(AStringList: TStrings); override;

Parameters

AStringList: TStrings

Destination for the sample output from the coder.

Description

FillSamples is a convenience procedure that prepares a sample of input values and the corresponding output using the MD5 algorithm, and stores the values in the AStringList parameter.


TIdComponent

Hierarchy	Members	Properties	Methods	Events	See Also	Unit: IdComponent

Ancestor of all Indy client and server components.

TIdComponent = class(TIdBaseComponent)

Description

TIdComponent is the ancestor of all Indy components which implement client or server functionality.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent


TIdComponent Fields

TIdComponent


TIdComponent Properties

TIdComponent

TIdComponent

 LocalName

TIdBaseComponent

 Version


TIdComponent Events

TIdComponent	Legend

TIdComponent

 OnStatus


Legend

 published


TIdComponent Methods

TIdComponent	Legend

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdComponent Members

TIdComponent	Legend

Properties

 LocalName

Events

 OnStatus

Methods

 BeginWork

 Create

 Destroy

 DoWork

 EndWork


Legend

 virtual

 published


TIdComponent.LocalName

TIdComponent	See Also	Example 1

Name of the local computer.

property LocalName: string;

Description

LocalName is a read-only String property that contains the host name of the user's computer system.

LocalName uses the TIdStack instance variable GStack to access the WSHetHostName method in retrieving the LocalName value.


See Also

TIdStack


TIdComponent.LocalName, Example 1
Example 1

TIdComponent.LocalName

  AHostEdit.Text := AClient.LocalName;


TIdComponent.BeginWork

TIdComponent

Used to trigger the OnBeginWork event.

procedure BeginWork(AWorkMode: TWorkMode; const ASize: Integer); virtual;

Parameters

AWorkMode: TWorkMode

Work mode for the peer connection.

const ASize: Integer = 0

Number of bytes to be read or written.

Description

BeginWork is a procedure used to trigger the OnBeginWork event. BeginWork maintains the number of reads and writes pending, and size information for the initial read and write operation.

AWorkMode is a TWorkMode enumerated type, and can contain the values:

wmRead - The component is reading data from the peer.

wmWrite - The component is sending data to the peer.

ASize is the optional value indicating the number of bytes expected by to be received or sent by the connection.

Calls to the BeginWork procedure can be nested, but the OnBeginWork event handler will be invoked only for the initial call to BeginWork.

Applications must assign a procedure to the OnBeginWork event handler in order to respond to the event notification.


TIdComponent.Create

TIdComponent	See Also

Constructor for the object instance.

constructor Create(axOwner: TComponent); override;

Parameters

axOwner: TComponent

Component that owns the object instance.

Description

Create is the constructor of the object instance, and relies on the inherited Create constructor.

Create updates the variable GStack by creating a TIdStack instance, if one has not already been assigned, and increments gnInstanceCount prior to completion of the constructor.


See Also

TIdStack

GStack


TIdComponent.Destroy

TIdComponent

Destructor for the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance.

Destroy is responsible for decrementing the value of gnInstanceCount prior to completion of the destructor. When gnInstanceCount reaches 0, the TIdStack instance in GStack is Freed and set to Nil.

Applications should not call the Destroy method, but use Free instead.


TIdComponent.DoWork

TIdComponent

Triggers the OnWork event handler.

procedure DoWork(AWorkMode: TWorkMode; const ACount: Integer); virtual;

Parameters

AWorkMode: TWorkMode

Work mode for the peer connection.

const ACount: Integer

Number of bytes to be handled.

Description

DoWork is a procedure used to trigger the OnWork event handler. DoWork is used to signal that the indicated work mode will be used to handle the specified number of bytes.

AWorkMode is a TWorkMode enumerated type, and can contain the values:

wmRead - The component is reading data from the peer.

wmWrite - The component is sending data to the peer.

ACount is the number of bytes to be affected by the AWorkMode operation.

DoWork allows the application to respond to calls to the BeginWork method, and maintains the number of bytes available to be process in the OnWork event handler. DoWork will not have any effect unless BeginWork is called prior to calling DoWork.

The Application must assign a procedure to the OnWork event handler in order to respond to the event notification.


TIdComponent.EndWork

TIdComponent

Triggers the OnEndWork event handler.

procedure EndWork(AWorkMode: TWorkMode); virtual;

Parameters

AWorkMode: TWorkMode

Work mode for the peer connection.

Description

EndWork is a procedure used to trigger the OnEndWork eventhandler. EndWork maintains the number of reads and writes pending, and size information for the initial read and write operations.

AWorkMode is a TWorkMode enumerated type, and can contain the values:

wmRead - The component is reading data from the peer.

wmWrite - The component is sending data to the peer.

Calls to the EndWork procedure can be nested, but the OnEndWork event handler will be invoked only for the initial call to EndWork.

Applications must assign a procedure to the OnEndWork event handler in order to respond to the event notification.


TIdComponent.OnStatus

TIdComponent

Represents the current connection status event handler.

property OnStatus: TIdStatusEvent;

Description

OnStatus is the TIdStatusEvent event handler triggered when the current connection state is changed. OnStatus is triggered by the DoStatus method, which provides the parameters used by the event handler.

axStatus is the TIdStatus value for the current connection.

aaArgs is the optional arguments for the Format function, that will be used to construct the text message that represents the current connection state.


TIdConnectionIntercept

Hierarchy	Members	Properties	Methods	See Also	Unit: IdIntercept

Ancestor for Indy Secure Socket Layer connection intercept classes.

TIdConnectionIntercept = class(TIdBaseComponent)

Description

The TIdSSLConnectionIntercept class is ancestor for Secure Sockets Layer connection intercept classes such as TIdConnectionInterceptOpenSSL. You do not create instances of this object.

Indy does not give you any legal rights to use SSL. Some nations including the U.S. regulate or prohibit the export of strong-encryption such as SSL. In addition, using SSL in some nations may be illegal. It is up to you to determine the legal situation in your nation.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdConnectionIntercept


TIdConnectionIntercept Fields

TIdConnectionIntercept


TIdConnectionIntercept Properties

TIdConnectionIntercept	Legend

TIdConnectionIntercept

 Binding

 IsClient

 OnConnect

 RecvHandling

 SendHandling

TIdBaseComponent

 Version


Legend

 published


TIdConnectionIntercept Events

TIdConnectionIntercept


TIdConnectionIntercept Methods

TIdConnectionIntercept	Legend

TIdConnectionIntercept

 Connect

 DataReceived

 DataSent

 Disconnect

 Recv

 Send

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdConnectionIntercept Members

TIdConnectionIntercept	Legend

Properties

 Binding

 IsClient

 OnConnect

 RecvHandling

 SendHandling

Methods

 Connect

 DataReceived

 DataSent

 Disconnect

 Recv

 Send


Legend

 virtual

 published


TIdConnectionIntercept.Binding

TIdConnectionIntercept	See Also

Represents the socket handle used by the socket handler.

property Binding: TIdSocketHandle;

Description

Binding is a read-only TIdSocketHandle property that represents the socket handle for the connection that will be using TIdConnectionIntercept socket handling services.

Binding is a reference to the socket handle received in the Connect method. Binding is set to Nil in Disconnect.


See Also

TIdSocketHandle


TIdConnectionIntercept.IsClient

TIdConnectionIntercept

Indicates that the socket handler is for a client connection.

property IsClient: Boolean;

Description

IsClient is a Boolean property that indicates that the socket handler is for a client connection.


TIdConnectionIntercept.OnConnect

TIdConnectionIntercept	See Also

Specifies the event handler for connection notifications.

property OnConnect: TNotifyEvent;

Description

OnConnect is a TNotifyEvent property that is the event handler for connection notifications received by the TIdConnectionIntercept socket handler.

ABinding is the TIdSocketHandle socket handle for the peer connection, and is stored in Binding for use during read and write operations.

Assign a procedure to OnConnect to perform special processing when a connection notification is received in the Connect method. Applications must assign an OnConnect event handler in order to respond to connection notifications.


See Also

TIdSocketHandle


TIdConnectionIntercept.RecvHandling

TIdConnectionIntercept	See Also	Example 1

Indicates that the socket handler should perform read operations.

property RecvHandling: boolean;

Description

RecvHandling is read-only Boolean property that indicates Recv should be used to read data from the protocol stack. TIdTCPConnection descendants are TIdConnectionIntercept-aware, and use the RecvHandling property to determine which Recv method is used.


See Also

TIdTCPConnection


TIdConnectionIntercept.RecvHandling, Example 1
Example 1

TIdConnectionIntercept.RecvHandling

  if Intercept.RecvHandling then

  begin

    nByteCount := Intercept.Recv(ADestStream.Memory^, ADestStream.Size);

  end

  else

  begin

    DefaultRecv;

  end;


TIdConnectionIntercept.SendHandling

TIdConnectionIntercept	See Also	Example 1

Indicates that the socket handler should perform write operations.

property SendHandling: boolean;

Description

SendHandling is read-only Boolean property that indicates Send should be used to write data to the protocol stack. TIdTCPConnection descendants are TIdConnectionIntercept-aware, and use the SendHandling property to determine which Send method is used.


See Also

TIdTCPConnection


TIdConnectionIntercept.SendHandling, Example 1
Example 1

TIdConnectionIntercept.SendHandling

  if Intercept.SendHandling then

  begin

    nByteCount := Intercept.Send(ABuffer^, StrLen(ABuffer));

  end

  else

  begin

    DefaultSend;

  end;


TIdConnectionIntercept.Connect

TIdConnectionIntercept	See Also

Responds to connection notifications.

procedure Connect(ABinding: TIdSocketHandle); virtual;

Parameters

ABinding: TIdSocketHandle

Socket handle for the connection.

Description

Connect is procedure used to inform the TIdConnectionIntercept that the socket has successfully completed a connection. ABinding is the TIdSocketHandle socket descriptor that generates the connection notification, and is stored in Binding.

Connect generates a TNotifyEvent event when the OnConnect event handler has been assigned to respond to the connection event.

Connect is a virtual method in TIdConnectionIntercept, and can be re-implemented in descendant classes to provide additional connection handling appropriate to the socket handler.


See Also

TIdSocketHandle


TIdConnectionIntercept.DataReceived

TIdConnectionIntercept	Example 1

Performs transformation or processing of received data.

procedure DataReceived(var ABuffer; const AByteCount: integer); virtual;

Parameters

var ABuffer

Pointer to the memory buffer containing received data. AByteCount - Size of the data in the memory buffer.

const AByteCount: integer

Description

DataReceived is procedure that allows TIdConnectionIntercept to perform transformation of data received in the memory buffer AData. For example, use DataReceived to decrypt or decompress data in the message.

DataReceived is a pure virtual method in TIdConnectionIntercept, and must be implemented in descendant classes to perform the operations appropriate to the socket handler.

Recv is used to store data in the memory buffer ABuffer. AByteCount is the size of the data stored in the memory buffer using Recv. RecvHandling is used to indicate that DataReceived should be used on the contents of the data in ABuffer.


TIdConnectionIntercept.DataReceived, Example 1
Example 1

TIdConnectionIntercept.DataReceived

  nByteCount := AIntercept.Recv(ADestStream.Memory^, ADestStream.Size);

  AIntercept.DataReceived(ADestStream.Memory^, nByteCount);


TIdConnectionIntercept.DataSent

TIdConnectionIntercept	See Also	Example 1

Performs processing of data after transmission.

procedure DataSent(var ABuffer; const AByteCount: integer); virtual;

Parameters

var ABuffer

Pointer to the memory buffer containing the data.

const AByteCount: integer

Size of the data in the memory buffer.

Description

DataSent is procedure that allows TIdConnectionIntercept to perform transformation and processing for data in the memory buffer ABuffer after the data has been sent on the socket connection.

DataSent is a pure virtual method in TIdConnectionIntercept, and must be implemented in descendant classes to perform the operations appropriate to the socket handler.

For example, the descendant class TIdLogBase uses DataSent to record a log entry containing the data in the memory buffer.

Sent is used to write the data in ABuffer to the socket handle. SendHandling is used to indicate that DataSent should be used for the contents of the data in ABuffer.


See Also

TIdLogBase


TIdConnectionIntercept.DataSent, Example 1
Example 1

TIdConnectionIntercept.DataSent

  if InterceptEnabled then

  begin

    if Intercept.SendHandling then

    begin

      nByteCount := Intercept.Send(ABuffer^, StrLen(ABuffer));

      Intercept.DataSent(ABuffer^, nByteCount);

    end;

  end;


TIdConnectionIntercept.Disconnect

TIdConnectionIntercept

Responds to socket disconnection notifications.

procedure Disconnect; virtual;

Description

Disconnect is a procedure that allows TIdConnectionIntercept to respond to notification the socket connection is Binding is closing.

Disconnect is a virtual method that sets the value of Binding, assigned in the Connect method, to Nil. Clearing the reference in Binding will prevent further socket notifications to the socket handler.

TIdConnectionIntercept descendants should implement Disconnect to perform the operations appropriate to the socket handler.


TIdConnectionIntercept.Recv

TIdConnectionIntercept	Example 1

Performs read operations for the socket handler.

function Recv(var ABuf; ALen: Integer): Integer; virtual;

Parameters

var ABuf

Pointer to the buffer for received data.

ALen: Integer

Number of bytes to read, or size of the memory buffer.

Returns

Integer - Number of bytes received. Default Value is 0.

Description

Recv is an Integer function that performs read operations for the Binding that represents the socket connection. When the TIdConnectionIntercept component is enabled and RecvHandling is indicated, Recv is the method used to perform all read operations instead of the Recv method for the Binding.

Recv is used in conjunction with DataReceived to allow the TIdConnectionIntercept to perform transformations for any data read from the protocol stack.

Note: Recv is a virtual method in TIdConnectionIntercept and always returns 0 as the result value. Descendant classes should implement Recv to perform socket read operations appropriate for the socket handler.


TIdConnectionIntercept.Recv, Example 1
Example 1

TIdConnectionIntercept.Recv

  nByteCount := AIntercept.Recv(ADestStream.Memory^, ADestStream.Size);

  AIntercept.DataReceived(ADestStream.Memory^, nByteCount);


TIdConnectionIntercept.Send

TIdConnectionIntercept	Example 1

Performs send operations for the socket handler.

function Send(var ABuf; ALen: Integer): Integer; virtual;

Parameters

var ABuf

Pointer to the buffer for data to send.

ALen: Integer

Number of bytes to send, or size of the memory buffer.

Return Values:

Integer - Number of bytes sent. Default Value is 0.

Description

Send is an Integer function that performs write operations for the Binding that represents the socket connection. When the TIdConnectionIntercept component is enabled and SendHandling is indicated, Send is the method used to perform all write operations instead of the Send method for the Binding.

Send is used in conjunction with DataSent to allow the TIdConnectionIntercept to perform transformations for any data written to the protocol stack.

Note: Send is a virtual method in TIdConnectionIntercept and always returns 0 as the result value. Descendant classes should implement Send to perform socket write operations appropriate for the socket handler.


TIdConnectionIntercept.Send, Example 1
Example 1

TIdConnectionIntercept.Send

  if Intercept.SendHandling then

  begin

    nByteCount := Intercept.Send(ABuffer^, StrLen(ABuffer));

  end

  else

  begin

    DefaultSend;

  end;


TIdConnectionInterceptOpenSSL

Hierarchy	Members	Properties	Methods	Events	See Also	Unit: IdSSLOpenSSL

Implements Secure Socket Layer support for Indy Connection Intercept components.

TIdConnectionInterceptOpenSSL = class(TIdSSLConnectionIntercept)

Description

The TIdConnectionInterceptOpenSSL intercept class implements the Open SSL implementation of Secure Sockets Layer through support .DLL's available at http://www.intelicom.si/. You have to deploy these support .DLL's in order to use this component's functionality in your application. To do this, we recommend that you install the .DLL's in the user's system directory.

Indy does not give you any legal rights to use SSL. Some nations including the U.S. regulate or prohibit the export of strong-encryption such as SSL. In addition, using SSL in some nations may be illegal. It is up to you to determine the legal situation in your nation.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdConnectionIntercept

|

TIdSSLConnectionIntercept

|

TIdConnectionInterceptOpenSSL


TIdConnectionInterceptOpenSSL Fields

TIdConnectionInterceptOpenSSL


TIdConnectionInterceptOpenSSL Properties

TIdConnectionInterceptOpenSSL	Legend

TIdConnectionInterceptOpenSSL

 PeerCert

 SSLOptions

TIdConnectionIntercept

 Binding

 IsClient

 OnConnect

 RecvHandling

 SendHandling

TIdBaseComponent

 Version


Legend

 published


TIdConnectionInterceptOpenSSL Events

TIdConnectionInterceptOpenSSL	Legend

TIdConnectionInterceptOpenSSL

 OnGetPassword

 OnStatusInfo

 OnVerifyPeer


Legend

 published


TIdConnectionInterceptOpenSSL Methods

TIdConnectionInterceptOpenSSL	Legend

TIdConnectionInterceptOpenSSL

 Connect

 Create

 Destroy

 Disconnect

 Recv

 Send

TIdSSLConnectionIntercept

 Create

TIdConnectionIntercept

 Connect

 DataReceived

 DataSent

 Disconnect

 Recv

 Send

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdConnectionInterceptOpenSSL Members

TIdConnectionInterceptOpenSSL	Legend

Properties

 PeerCert

 SSLOptions

Events

 OnGetPassword

 OnStatusInfo

 OnVerifyPeer

Methods

 Connect

 Create

 Destroy

 Disconnect

 Recv

 Send


Legend

 virtual

 published


TIdConnectionInterceptOpenSSL.PeerCert

TIdConnectionInterceptOpenSSL

X.509 certificate for the peer.

property PeerCert: TIdX509;

Description

PeerCert is a TIdX509 structure (certificate) that embeds the values of peer's certificate. You can read certificate time restrictions, issuer name, subject name.


TIdConnectionInterceptOpenSSL.SSLOptions

TIdConnectionInterceptOpenSSL

SSL options for the connection intercept.

property SSLOptions: TIdSSLOptions;

Description

SSLOptions is a TIdSSLOptions property that contains the SSL options for the SSL socket connection.


TIdConnectionInterceptOpenSSL.Connect

TIdConnectionInterceptOpenSSL

Opens an SSL connection for the client.

procedure Connect(ABinding: TIdSocketHandle); override;

Description

Connect is an internal function that connects the client using the SSL protocol. Do not call Connect directly.


TIdConnectionInterceptOpenSSL.Create

TIdConnectionInterceptOpenSSL

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance.


TIdConnectionInterceptOpenSSL.Destroy

TIdConnectionInterceptOpenSSL

Frees an object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance.


TIdConnectionInterceptOpenSSL.Disconnect

TIdConnectionInterceptOpenSSL

Closes the SSL socket connection.

procedure Disconnect; override;

Description

Disconnect is a procedure that closes the SSL socket connection for the client, and frees the optional SSL context for peer connections.


TIdConnectionInterceptOpenSSL.Recv

TIdConnectionInterceptOpenSSL

Reads data from an SSL socket.

function Recv(var ABuf; ALen: Integer): Integer; override;

Parameters

var ABuf

Buffer for data read from the SSL socket.

ALen: Integer

Buffer length.

Returns

Integer - Bytes read from the SSL socket.

Description

Recv is an Integer function that reads information from an SSL socket in to the buffer specified by ABuf.


TIdConnectionInterceptOpenSSL.Send

TIdConnectionInterceptOpenSSL

Sends data on the SSL socket.

function Send(var ABuf; ALen: Integer): Integer; override;

Parameters

var ABuf

Data to be sent on the socket connection.

ALen: Integer

Buffer length.

Returns

Integer - Bytes written on the SSL socket.

Description

Send is an Integer function that transmits data specified in the buffer ABuf using the SSL socket connection.


TIdConnectionInterceptOpenSSL.OnGetPassword

TIdConnectionInterceptOpenSSL

Event type for password retrieval.

property OnGetPassword: TPasswordEvent;

Description

OnGetPassword is an event that requests the password for unlocking the private key stored in a file. You can simply set the Password variable with the proper password or you can add some dialog box that prompts user for the password.

  procedure TForm1.IdConnectionInterceptOpenSSL1GetPassword(var Password: String);

  begin

     Password := 'aaaa';

  end;


TIdConnectionInterceptOpenSSL.OnStatusInfo

TIdConnectionInterceptOpenSSL

Provides status information for an SSL connection.

property OnStatusInfo: TCallbackEvent;

Description

OnStatusInfo is an event that can be used for debugging the connection establishment. It sends a message (Msg) with current status.

  procedure TForm1.IdConnectionInterceptOpenSSL1StatusInfo(Msg: String);

  begin

    ShowMessage(Msg);

  end;


TIdConnectionInterceptOpenSSL.OnVerifyPeer

TIdConnectionInterceptOpenSSL

Event type for peer X.509 certificate verification.

property OnVerifyPeer: TVerifyPeerEvent;

Description

OnVerifyPeer is an event that can be used for peer checking. The events passes the TIdX509 structure (certificate ) that embeds the values of peer's certificate. You can read certificate time restrictions, issuer name, subject name.

The result value signals if you are pleased with peer's info. If you return false then the connection will be dropped, elsewhere you will keep the connection.

  function TForm1.IdConnectionInterceptOpenSSL1VerifyPeer(

    Certificate: TIdX509): Boolean;

  begin

    ShowMessage(DateTimeToStr(Certificate.notBefore));

    ShowMessage(Certificate.Issuer.OneLine);

    ShowMessage(Certificate.Subject.OneLine);

    Result := True;

  end;


TIdCookie

Hierarchy	Members	Properties	Methods	See Also	Unit: IdHTTPServer

Implements the HTTP session state mechanism, or "Cookie".

TIdCookie = class(TCollectionItem)

Description

TIdCookie implements the session state management mechanism for HTTP requests and responses, or "Cookie", as described in the Internet Standards document:

HTTP State Management Mechanism, RFC 2109

"Cookies" are used to carry state information between participating HTTP servers and user agents (clients). The information stored on the user agent is returned back to the web server in subsequent HTTP requests.

TIdCookie is a TCollectionItem descendant and can be stored in a TIdCookieCollection. TIdHTTPRequestInfo and TIdHTTPResponseInfo are cookie collections used to perform the exchange of session state "Cookies" for a corresponding HTTP request or response.


See Also

TIdHTTPRequestInfo

TIdHTTPResponseInfo

TIdCookieCollection

Technical Support


Class Hierarchy

TCollectionItem

|

TIdCookie


TIdCookie Fields

TIdCookie


TIdCookie Properties

TIdCookie	Legend

TIdCookie

 Comment

 CookieText

 Domain

 MaxAge

 Name

 Path

 Secure

 Value


Legend

 published


TIdCookie Events

TIdCookie


TIdCookie Methods

TIdCookie	Legend

TIdCookie

 AddAttribute

 Assign

 Create


Legend

 virtual


TIdCookie Members

TIdCookie	Legend

Properties

 Comment

 CookieText

 Domain

 MaxAge

 Name

 Path

 Secure

 Value

Methods

 AddAttribute

 Assign

 Create


Legend

 virtual

 published


TIdCookie.Comment

TIdCookie

Documents the intended "Cookie" usage.

property Comment: String;

Description

Comment is a String property that allows an origin server to document the intended use of the "Cookie". An HTTP client can examine the "Cookie" information to decide whether to initiate or continue a session with this cookie.


TIdCookie.CookieText

TIdCookie

Contents for the cookie in server form.

property CookieText: String;

Description

CookieText is a read-only String property that contains the cookie content in the form used by the web server. CookieText is used to retrieve a representation of the non-blank TIdCookie properties as they are used in an HTTP request or response.


TIdCookie.Domain

TIdCookie

Specifies the domain where the cookie is valid.

property Domain: string;

Description

Domain is a String property that identifies the where the cookie is valid. An explicit domain specification must always begin with "." (period). The default value for Domain is the fully-qualified host name and absolute path from the URL for a HTTP request.


TIdCookie.MaxAge

TIdCookie

Specifies the "Cookie" life expectancy.

property MaxAge: Integer;

Description

MaxAge is an Integer property used to specify the life expectancy of a "Cookie" expressed in seconds. When the number of seconds in MaxAge has elapsed, an HTTP client should discard the "Cookie". When MaxAge is zero (0), the cookie should be discarded immediately.

The default value for MaxAge is -1 and indicates that no value has been assigned to MaxAge.


TIdCookie.Name

TIdCookie

Specifies the name of the state information.

property Name: String;

Description

Name is a String property that specifies the name of the state information of "cookie". A Cookie with a Name that begin with $ is reserved for other uses and must not be used by applications.


TIdCookie.Path

TIdCookie

Specifies the URLs where the cookie is valid.

property Path: String;

Description

Path is a String property that specifies the subset of URLs where the cookie is valid.


TIdCookie.Secure

TIdCookie

Specifies that the connection must be secure.

property Secure: Boolean;

Description

Secure is a String property that specifies that the user agent must use an unspecified secure means to connect to the server where the cookie originates.

The user agent (possibly under the user's control) may determine what level of security it considers appropriate for "secure" cookies. The Secure property should be considered security advice from the server to the user agent, indicating that it is in the session's interest to protect the cookie contents.


TIdCookie.Value

TIdCookie

Represents the current value of a cookie.

property Value: string;

Description

Value is aString property that represents the current value a the named "Cookie".

Update the Value property to modify the contents of the "Cookie".


TIdCookie.AddAttribute

TIdCookie

Specifies extended cookie headers for a "Cookie".

procedure AddAttribute(const Attribute: String; const Value: String);

Parameters

const Attribute: String

Extended Cookie Header attribute name.

const Value: String

Extended Cookie Header attribute value.

Description

AddAttribute is a procedure used to specify attribute name and value for an adjacent cookie. AddAttribute provides support for the Extended Cookie Header syntax.

Attribute is the name of the Extended Cookie Header to be associated with the Cookie, and begins with the "$" prefix. AddAtribute recognizes the following case-insensitive Attribute names:

$Domain

$Path

$Version

Value is the string representation of the value for the Extended Cookie Header in Attribute.

AddAtrribute is used in TIdCookieCollection.AddSrcCookie.


TIdCookie.Assign

TIdCookie

Copies the contents of an object to another object.

procedure Assign(Source: TPersistent); override;

Parameters

Source: TPersistent

Object to received the copied values.

Description

Assign is a procedure used to copy the contents an object instance to another object instance. The Assign method copies the following properties to the Destination object:

Name

Value

Domain

Path

Expires

Secure


TIdCookie.Create

TIdCookie

Constructor for the object instance.

constructor Create(Collection: TCollection); override;

Parameters

Collection: TCollection

Container collection that owns the cookie.

Description

Create is the constructor for an object instance, and relies on the inherited Create method to prepare and initialize object properties. Create also sets MaxAge to the default value -1.


TIdCookieCollection

Hierarchy	Members	Properties	Methods	See Also	Unit: IdHTTPServer

TIdCookieCollection is a container for TIdCookie objects.

TIdCookieCollection = class(TCollection)

Description

TIdCookieCollection is a container for TIdCookie objects. TIdCookieCollection provides the indexed Items property to access a TIdCookie object by it's numeric position in the collection. TIdCookieCollection provides the indexed Cookie property to access a TIdCookie object in the collection by Name.

Use GetCookieIndex to locate the index position of a cookie with a specified Name. Use AddSrcCookie to create a new TIdCookie in the collection using the source code form.


See Also

TIdHTTPRequestInfo

TIdHTTPResponseInfo

TIdCookie

Technical Support


Class Hierarchy

TCollection

|

TIdCookieCollection


TIdCookieCollection Fields

TIdCookieCollection


TIdCookieCollection Properties

TIdCookieCollection

TIdCookieCollection

 Cookie

 Items


TIdCookieCollection Events

TIdCookieCollection


TIdCookieCollection Methods

TIdCookieCollection	Legend

TIdCookieCollection

 Add

 AddSrcCookie

 Create

 GetCookieIndex


Legend

 virtual


TIdCookieCollection Members

TIdCookieCollection	Legend

Properties

 Cookie

 Items

Methods

 Add

 AddSrcCookie

 Create

 GetCookieIndex


Legend

 virtual


TIdCookieCollection.Cookie

TIdCookieCollection

Access Cookie objects by name.

property Cookie [const name: string]: TIdCookie;

Description

Cookie is an indexed read-only TIdCookie property used to access Items in the collection by the value specified in name.

Name is the cookie Name to locate in the collection, and use case-insensitive comparison during cookie retrieval.

The return value will be Nil if a cookie is not found with the specified Name.


TIdCookieCollection.Items

TIdCookieCollection

Access cookie objects by position in the collection.

property Items [Index: Integer]: TIdCookie;

Description

Items is an indexed TIdCookie property used to access cookie objects by their position in the collection. The lowest index position in Items is 0. The highest index position in Items is Count-1.


TIdCookieCollection.Add

TIdCookieCollection

Adds a new cookie to the collection.

function Add: TIdCookie;

Description

Add is a TIdCookie function that creates a new cookie instance, and adds the object reference to the TIdCookieCollection collection. Add calls the inherited Add method.


TIdCookieCollection.AddSrcCookie

TIdCookieCollection

Add a cookie to the collection in NAME=VALUE form.

procedure AddSrcCookie(const sCookie: string);

Parameters

const sCookie: string

The Name and Value pair to add to the collection.

Description

AddSrcCookie is a procedure used to add a new TIdCookie to the collection using the name and value specified in sCookie.

sCookie is a string containing a name and value pair in NAME=VALUE form.


TIdCookieCollection.Create

TIdCookieCollection

Constructor for the object instance.

constructor Create;

Description

Create is the constructor for the object instance. Create calls the inherited Create method using a TIdCookie class reference as the class type for the collection.


TIdCookieCollection.GetCookieIndex

TIdCookieCollection

Retrieve the index position of the named cookie.

function GetCookieIndex(FirstIndex: integer; const Name: string): Integer; virtual;

Parameters

FirstIndex: integer

The initial index position for the search.

const Name: string

The cookie name to be located.

Returns

Integer - The index position of the named cookie, or -1.

Description

GetCookieIndex is an Integer function used to retrieve the index position of the cookie with the name specified in the Name parameter.

FirstIndex is the initial index position to be searched in the collection Items. 0 is the first index position in Items. Count - 1 is the highest index position in Items.

Name is the cookie name to be located in Items. GetCookieIndex uses case-insensitive comparison when locating the cookie Name.

GetCookieIndex will return -1 if a cookie does not exist in the collection with the specified name.


TIdDateTimeStamp

Hierarchy	Members	Properties	Methods	See Also	Unit: IdDateTimeStamp

Provides Date and Time handling for Internet Protocols. Description:

TIdDateTimeStamp is a TIdBaseComponent descendant that processes date and time values using the various formats required by some Internet Protocols.

TIdDateTimeStamp methods performs operations based on units of Milliseconds, Seconds, Days, and Years with smaller time units affecting larger time units where necessary. All other common time units are converted to these base units before processing.

TIdDateTimeStamp = class(TIdBaseComponent)


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdDateTimeStamp


TIdDateTimeStamp Fields

TIdDateTimeStamp


TIdDateTimeStamp Properties

TIdDateTimeStamp

TIdDateTimeStamp

 AsISO8601Calendar

 AsISO8601Ordinal

 AsISO8601Week

 AsRFC822

 AsTDateTime

 AsTimeOFDay

 AsTTimeStamp

 BeatOFDay

 Day

 DayOfMonth

 DayOfWeek

 DayOfWeekName

 DayOfWeekShortName

 DaysInYear

 HourOf12Day

 HourOf24Day

 IsLeapYear

 IsMorning

 Millisecond

 MinuteOFDay

 MinuteOfHour

 MonthName

 MonthOFYear

 MonthShortName

 Second

 SecondOfMinute

 SecondsInYear

 TimeZone

 WeekOFYear

 Year

TIdBaseComponent

 Version


TIdDateTimeStamp Events

TIdDateTimeStamp


TIdDateTimeStamp Methods

TIdDateTimeStamp	Legend

TIdDateTimeStamp

 AddDays

 AddHours

 AddMilliseconds

 AddMinutes

 AddMonths

 AddSeconds

 AddTDateTime

 AddTIdDateTimeStamp

 AddTTimeStamp

 AddWeeks

 AddYears

 Create

 Destroy

 GetAsISO8601Calendar

 GetAsISO8601Ordinal

 GetAsISO8601Week

 GetAsRFC882

 GetAsTDateTime

 GetAsTimeOFDay

 GetAsTTimeStamp

 GetBeatOFDay

 GetDayOfMonth

 GetDayOfWeek

 GetDayOfWeekName

 GetDayOfWeekShortName

 GetDaysInYear

 GetHourOf12Day

 GetHourOf24Day

 GetIsMorning

 GetMinuteOFDay

 GetMinuteOfHour

 GetMonthName

 GetMonthOFYear

 GetMonthShortName

 GetSecondOfMinute

 GetSecondsInYear

 GetWeekOFYear

 SetDay

 SetFromTDateTime

 SetFromTTimeStamp

 SetMillisecond

 SetSecond

 SetYear

 SubtractDays

 SubtractHours

 SubtractMilliseconds

 SubtractMinutes

 SubtractMonths

 SubtractSeconds

 SubtractTDateTime

 SubtractTIdDateTimeStamp

 SubtractTTimeStamp

 SubtractWeeks

 SubtractYears

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdDateTimeStamp Members

TIdDateTimeStamp	Legend

Properties

 AsISO8601Calendar

 AsISO8601Ordinal

 AsISO8601Week

 AsRFC822

 AsTDateTime

 AsTimeOFDay

 AsTTimeStamp

 BeatOFDay

 Day

 DayOfMonth

 DayOfWeek

 DayOfWeekName

 DayOfWeekShortName

 DaysInYear

 HourOf12Day

 HourOf24Day

 IsLeapYear

 IsMorning

 Millisecond

 MinuteOFDay

 MinuteOfHour

 MonthName

 MonthOFYear

 MonthShortName

 Second

 SecondOfMinute

 SecondsInYear

 TimeZone

 WeekOFYear

 Year

Methods

 AddDays

 AddHours

 AddMilliseconds

 AddMinutes

 AddMonths

 AddSeconds

 AddTDateTime

 AddTIdDateTimeStamp

 AddTTimeStamp

 AddWeeks

 AddYears

 Create

 Destroy

 GetAsISO8601Calendar

 GetAsISO8601Ordinal

 GetAsISO8601Week

 GetAsRFC882

 GetAsTDateTime

 GetAsTimeOFDay

 GetAsTTimeStamp

 GetBeatOFDay

 GetDayOfMonth

 GetDayOfWeek

 GetDayOfWeekName

 GetDayOfWeekShortName

 GetDaysInYear

 GetHourOf12Day

 GetHourOf24Day

 GetIsMorning

 GetMinuteOFDay

 GetMinuteOfHour

 GetMonthName

 GetMonthOFYear

 GetMonthShortName

 GetSecondOfMinute

 GetSecondsInYear

 GetWeekOFYear

 SetDay

 SetFromTDateTime

 SetFromTTimeStamp

 SetMillisecond

 SetSecond

 SetYear

 SubtractDays

 SubtractHours

 SubtractMilliseconds

 SubtractMinutes

 SubtractMonths

 SubtractSeconds

 SubtractTDateTime

 SubtractTIdDateTimeStamp

 SubtractTTimeStamp

 SubtractWeeks

 SubtractYears


Legend

 virtual


TIdDateTimeStamp.AsISO8601Calendar

TIdDateTimeStamp

The Indy timestamp as an ISO 8601 Calendar Date string.

property AsISO8601Calendar: String;

Description

AsISO8601Calendar is a read-only String property that returns the date/time in ISO 8601 Calendar Date format. For example:

  2001-01-01T00:00:01   // New Year's Day 2001

  2001-04-01T00:00:01   // April Fool's Day 2001


TIdDateTimeStamp.AsISO8601Ordinal

TIdDateTimeStamp

The Indy timestamp as an ISO 8601 Ordinal Date string.

property AsISO8601Ordinal: String;

Description

AsISO8601Ordinal is a read-only String property that returns the date/time as an ISO 8601 Ordinal Date string. For example:

  2001-1T00:00:01        // New Year's Day 2001

  2001-365T23:59:59      // New Year's Eve 2001


TIdDateTimeStamp.AsISO8601Week

TIdDateTimeStamp

The Indy timestamp as an ISO 8601 Week Date string.

property AsISO8601Week: String;

Description

AsISO8601Week is a read-only String property that returns the date/time as an ISO 8601 Week Date string. For example:

  2001-W1-2T00:00:01      // New Year's Day 2001

  2001-W52-2T23:59:59     // New Year's Eve 2001


TIdDateTimeStamp.AsRFC822

TIdDateTimeStamp

The Indy timestamp as an RFC 822 Date string,

property AsRFC822: String;

Description

AsRFC822 is a read-only String property that returns the date/time in the date format specified in RFC 822. For example:

  // New Year's Day 2001 US Eastern

  Mon, 1 Jan 2001 00:00:01 -0500

  // New Year's Eve 2001 US Eastern

  Mon, 31 Dec 2001 23:59:59 -0500


TIdDateTimeStamp.AsTDateTime

TIdDateTimeStamp

The Indy timestamp as a native Delphi TDateTime value.

property AsTDateTime: TDateTime;

Description

AsTDateTime is a read-only TDateTime property that returns the Indy timestamp as a native Delphi TDateTime value.


TIdDateTimeStamp.AsTimeOFDay

TIdDateTimeStamp

The Time of Day in 24-hour format.

property AsTimeOFDay: String;

Description

AsTimeOFDay is a read-only String property that returns the time portion of the Indy timestamp in the 24-hour format HH:MM:SS.


TIdDateTimeStamp.AsTTimeStamp

TIdDateTimeStamp

The Indy timestamp as a TTimeStamp value.

property AsTTimeStamp: TTimeStamp;

Description

AsTTimeStamp is a read-only TTimestamp property that returns the date and time as a TTimeStamp value.


TIdDateTimeStamp.BeatOFDay

TIdDateTimeStamp

The Indy timestamp as a Swatch "Beat" time value.

property BeatOFDay: Integer;

Description

BeatOFDay is a read-only Integer property that returns the Indy timestamp as a Beat time value. Beat time is defined by Swatch at (http://www.swatch.com/)  and called 'Internet Time'.


TIdDateTimeStamp.Day

TIdDateTimeStamp

The Day of Year for the Indy timestamp.

property Day: Integer;

Description

Day is an Integer property that contains the day of the year for the Indy timestamp.


TIdDateTimeStamp.DayOfMonth

TIdDateTimeStamp

Day of Month for the Indy timestamp.

property DayOfMonth: Integer;

Description

DayOfMonth is a read-only Integer property that contains the Day of the Month for the Indy timestamp.


TIdDateTimeStamp.DayOfWeek

TIdDateTimeStamp	See Also

The Day of Week for the Indy timestamp.

property DayOfWeek: Integer;

Description

DayOfWeek is a read-only Integer property that contains the Day of the Week for the Indy timestamp. DayOfWeek will contain a value in the range 1..7.


See Also

TIdDateTimeStamp.DayOfWeekName

TIdDateTimeStamp.DayOfWeekShortName


TIdDateTimeStamp.DayOfWeekName

TIdDateTimeStamp	See Also

The Day of Week Name for the Indy timestamp.

property DayOfWeekName: String;

Description

DayOfWeekName is a read-only String property that contains the long name for the day of the week represented by the Indy timestamp. DayOfWeekName relies on the DayOfWeek property to access the correct Day name. DayOfWeekName can return one of the following values:

Sunday

Monday

Tuesday

Wednesday

Thursday

Friday

Saturday


See Also

TIdDateTimeStamp.DayOfWeek

TIdDateTimeStamp.DayOfWeekShortName


TIdDateTimeStamp.DayOfWeekShortName

TIdDateTimeStamp

The Short Day of Week Name for the Indy timestamp.

property DayOfWeekShortName: String;

Description

DayOfWeekShortName is a read-only String property that contains the first three characters of DayOfWeekname for the Indy timestamp. DayOfWeekShortName relies on the DayOfWeek property to access the correct Day name.

DayOfWeekShortName can return one of the following values:

Sun

Mon

Tue

Wed

Thu

Fri

Sat


TIdDateTimeStamp.DaysInYear

TIdDateTimeStamp

Number of days in the year for the Indy timestamp.

property DaysInYear: Integer;

Description

DaysInYear is a read-only Integer property that contains the number of days in the year represented by the Indy timestamp. DaysInYear is calculated and accounts for Leap Day in its operation.


TIdDateTimeStamp.HourOf12Day

TIdDateTimeStamp	See Also

Indicates the numeric hour of day in 12-hour format.

property HourOf12Day: Integer;

Description

HourOf12Day is a read-only Integer property that indicates the hour of the day in 12-hour format for the Indy timestamp. Only the hour in numeric format is presented. For example, the HourOf12Day value for 1:00 AM and 1:00 PM are both 1.


See Also

TIdDateTimeStamp.HourOf24Day


TIdDateTimeStamp.HourOf24Day

TIdDateTimeStamp	See Also

Indicates the numeric hour of day in 24-hour format.

property HourOf24Day: Integer;

Description

HourOf24Day is a read-only Integer property that indicates the hour of the day in 24-hour format for the Indy timestamp. Only the hour in numeric format is presented. For example, the HourOf24Day value for 1:00 AM is 1, and the HourOf24Day value for 1:00 PM is 13.


See Also

TIdDateTimeStamp.HourOf12Day


TIdDateTimeStamp.IsLeapYear

TIdDateTimeStamp

Indicates that the year for the Indy timestamp is a Leap year.

property IsLeapYear: Boolean;

Description

IsLeapYear is a read-only Boolean property that indicates the year for the Indy timestamp is a Leap year.


TIdDateTimeStamp.IsMorning

TIdDateTimeStamp

Indicates that the time portion of the Indy timestamp is before noon.

property IsMorning: Boolean;

Description

IsMorning is a read-only Boolean property that indicates the time portion of the Indy timestamp is before noon. IsMorning is False if the time is after noon. Noon is considered to be morning, and Midnight is considered to be afternoon.


TIdDateTimeStamp.Millisecond

TIdDateTimeStamp

Number of milliseconds elapsed for the current second of the Indy timestamp.

property Millisecond: Integer;

Description

Millisecond is an Integer property that contains the number of milliseconds elapsed for the current second of the Indy timestamp.


TIdDateTimeStamp.MinuteOFDay

TIdDateTimeStamp

Number of minutes elapsed in the day of the Indy timestamp.

property MinuteOFDay: Integer;

Description

MinuteOfDay is a read-only integer property that indicates the number of minutes elapsed in the day of the Indy timestamp.


TIdDateTimeStamp.MinuteOfHour

TIdDateTimeStamp

Number of minutes elapsed in the hour of the Indy timestamp.

property MinuteOfHour: Integer;

Description

MinuteOfHour is a read-only Integer property that indicates the number of minutes elapsed in the current hour of the Indy timestamp.


TIdDateTimeStamp.MonthName

TIdDateTimeStamp

The long name for the month in the Indy timestamp.

property MonthName: String;

Description

MonthName is a read-only String property that represents the long name for the current month in the Indy timestamp. MonthName will contain one of the values defined in IdMonthNames.


TIdDateTimeStamp.MonthOFYear

TIdDateTimeStamp

Numeric month number for the Indy timestamp.

property MonthOFYear: Integer;

Description

MonthOfYear is a read-only Integer property that represents the numeric month number for the Indy timestamp.


TIdDateTimeStamp.MonthShortName

TIdDateTimeStamp	See Also

The short name for the month in the Indy timestamp.

property MonthShortName: String;

Description

MonthShortName is a read-only String property that represents the short name for the month in the Indy timestamp. MonthShortName returns the first three characters of the month name represented in the Indy timestamp.


See Also

TIdDateTimeStamp.MonthName


TIdDateTimeStamp.Second

TIdDateTimeStamp

Second of the day.

property Second: Integer;

Description

Second is an Integer property that indicates the current second of the day for the object. Second should always contain a value in the range 0..TIdSecondsInDay.


TIdDateTimeStamp.SecondOfMinute

TIdDateTimeStamp

Numeric seconds elapsed in the current minute of the Indy timestamp.

property SecondOfMinute: Integer;

Description

SecondOfMinute is a read-only Integer property that represents the numeric seconds elapsed in the current minute of the Indy timestamp.


TIdDateTimeStamp.SecondsInYear

TIdDateTimeStamp

Total number of seconds in the year for the Indy timestamp.

property SecondsInYear: Integer;

Description

SecondsInYear is a read-only Integer property that represents the total number of seconds in the year for the Indy timestamp. If the current year is a Leap year, SecondsInYear will contain the value from IdSecondsInLeapYear. Otherwise, SecondsInYear will contain the value from IdSecondsInYear.


TIdDateTimeStamp.TimeZone

TIdDateTimeStamp

Identifies the Time Zone for the Indy timestamp.

property TimeZone: Integer;

Description

TimeZone is an Integer property that Identifies the Time Zone for the Indy timestamp. TimeZone contains a value that reflects the number of hours offset from GMT or UTC. TimeZone is not used when the Indy timestamp is updated, and is generally used in construction of the AsRFC822 timestamp format.


TIdDateTimeStamp.WeekOFYear

TIdDateTimeStamp

Identifies the week number for the Indy timestamp.

property WeekOFYear: Integer;

Description

WeekOFYear is a read-only Integer property that Indicates the week number for the current year of the Indy timestamp. A week is considered to begin with Sunday and may overlap a Year boundary. It is possible to have 53 weeks in a Year, with the 53rd week of a given year also being the 1st week of the following year.


TIdDateTimeStamp.Year

TIdDateTimeStamp

Numeric year for the Indy timestamp.

property Year: Integer;

Description

Year is an Integer property that contains the numeric year number for the Indy timestamp.


TIdDateTimeStamp.AddDays

TIdDateTimeStamp

Adds a number of days to the timestamp.

procedure AddDays(ANumber: Cardinal);

Parameters

ANumber: Cardinal

Number of days to be added.

Description

AddDays is a procedure that adds the number of days specified in ANumber to the current date/time. Year will be adjusted accordingly.


TIdDateTimeStamp.AddHours

TIdDateTimeStamp

Adds a number of hours to the timestamp.

procedure AddHours(ANumber: Cardinal);

Parameters

ANumber: Cardinal

Number of hours to add.

Description

AddHours is a procedure that adds the number of hours in ANumber to the date / time. Seconds, Day and Year will be adjusted accordingly.


TIdDateTimeStamp.AddMilliseconds

TIdDateTimeStamp

Adds a number of milliseconds to the timestamp.

procedure AddMilliseconds(ANumber: Cardinal);

Parameters

ANumber: Cardinal

Number of milliseconds to be added.

Description

AddMilliseconds is a procedure that adds the number of milliseconds to the date / time. Seconds, Day and Year will be adjusted accordingly.


TIdDateTimeStamp.AddMinutes

TIdDateTimeStamp

Adds a number of minutes to the timestamp.

procedure AddMinutes(ANumber: Cardinal);

Parameters

ANumber: Cardinal

Number of minutes to add.

Description

AddMinutes is a procedure that adds the number of minutes in ANumber to the date / time. Seconds, Day and Year will be adjusted accordingly.


TIdDateTimeStamp.AddMonths

TIdDateTimeStamp

Adds a number of months to the timestamp.

procedure AddMonths(ANumber: Cardinal);

Parameters

ANumber: Cardinal

Number of months to be added.

Description

AddMonths is a procedure that adds the number of months in ANumber to the date / time. Day and Year will be adjusted accordingly.


TIdDateTimeStamp.AddSeconds

TIdDateTimeStamp

Adds a number of seconds to the timestamp.

procedure AddSeconds(ANumber: Cardinal);

Parameters

ANumber: Cardinal

Number of seconds to be added.

Description

AddSeconds is a procedure that adds the number of seconds in ANumber to the date / time. Seconds, Day and Year will be adjusted accordingly.


TIdDateTimeStamp.AddTDateTime

TIdDateTimeStamp

Adds a native Delphi date/time to the timestamp.

procedure AddTDateTime(ADateTime: TDateTime);

Parameters

ADateTime: TDateTime

Number of days, hours, and seconds to be added in native Delphi format.

Description

AddTDateTime is a procedure that adds the date/time pair specified in ADateTime to the timestamp. ADateTime is converted to a TTimeStamp and it's component parts are added. Milliseconds, Seconds, Day and Year are adjusted accordingly.


TIdDateTimeStamp.AddTIdDateTimeStamp

TIdDateTimeStamp

Adds an Indy timestamp to the object instance.

procedure AddTIdDateTimeStamp(AIdDateTime: TIdDateTimeStamp);

Parameters

AIdDateTime: TIdDateTimeStamp

Timestamp to be added to the object instance.

Description

AddTIdDateTimeStamp is a procedure that adds the date and time in ATIdDateTimeStamp to the current date/time for the object instance. Milliseconds, Seconds, Day and Year are adjusted accordingly.


TIdDateTimeStamp.AddTTimeStamp

TIdDateTimeStamp

Adds a TTimestamp value to the Indy timestamp.

procedure AddTTimeStamp(ATimeStamp: TTimeStamp);

Parameters

ATimeStamp: TTimeStamp

The TTimestamp to be added to the object instance.

Description

AddTTimeStamp is a procedure that adds the value of ATimestamp to the date/time for the object instance. Components of the TTimestamp are added to the date/time individually. Milliseconds, Seconds, Day and Year are adjusted accordingly.


TIdDateTimeStamp.AddWeeks

TIdDateTimeStamp

Adds a number of weeks to the timestamp.

procedure AddWeeks(ANumber: Cardinal);

Parameters

ANumber: Cardinal

Number of weeks to be added.

Description

AddWeeks is a procedure that adds the number of weeks in ANumber to the date / time. Day and Year are adjusted accordingly.


TIdDateTimeStamp.AddYears

TIdDateTimeStamp

Adds a number of years to the timestamp.

procedure AddYears(ANumber: Cardinal);

Parameters

ANumber: Cardinal

Number of years to be added.

Description

AddYears is a procedure that adds the number of years specified in ANumber to the date/time. After adding the specified number of years, IsLeapYear will be updated for the new Year value.


TIdDateTimeStamp.Create

TIdDateTimeStamp

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance, and relies on the inherited Create method. Create initializes the internal variables for the object instance to contain values that indicate the date:

  1st January 1 AD, 00:00:01.001

TimeZone is initially set to the value 0 (zero).


TIdDateTimeStamp.Destroy

TIdDateTimeStamp

Frees an object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance, and relies on the inherited Destroy method.


TIdDateTimeStamp.GetAsISO8601Calendar

TIdDateTimeStamp	See Also

Provides access to the Indy timestamp in ISO 8601 Calendar format.

function GetAsISO8601Calendar: String;

Description

GetAsISO8601Calendar is a String function that acts as the read access specifier for the AsISO8601Calendar property.


See Also

TIdDateTimeStamp.AsISO8601Calendar

TIdDateTimeStamp.AsISO8601Week

TIdDateTimeStamp.AsISO8601Ordinal


TIdDateTimeStamp.GetAsISO8601Ordinal

TIdDateTimeStamp	See Also

Provides access to the Indy timestamp in ISO 8601 Ordinal format.

function GetAsISO8601Ordinal: String;

Description

GetAsISO8601Ordinal is a String function that acts as the read access specifier for the AsISO8601Ordinal property.


See Also

TIdDateTimeStamp.AsISO8601Calendar

TIdDateTimeStamp.AsISO8601Ordinal

TIdDateTimeStamp.AsISO8601Week


TIdDateTimeStamp.GetAsISO8601Week

TIdDateTimeStamp	See Also

Provides access to the Indy timestamp in ISO 8601 Week format.

function GetAsISO8601Week: String;

Description

GetAsISO8601Week is a String function that acts as the read access specifier for the AsISO8601Week property.


See Also

TIdDateTimeStamp.AsISO8601Week

TIdDateTimeStamp.AsISO8601Calendar

TIdDateTimeStamp.AsISO8601Ordinal


TIdDateTimeStamp.GetAsRFC882

TIdDateTimeStamp	See Also

Provides access to the Indy timestamp in RFC 822 format.

function GetAsRFC882: String;

Description

GetAsRFC882 is a String function that acts as the read access specifier for the AsRFC822 property.


See Also

TIdDateTimeStamp.AsRFC822


TIdDateTimeStamp.GetAsTDateTime

TIdDateTimeStamp	See Also

Provides access to the Indy timestamp as a TDateTime value.

function GetAsTDateTime: TDateTime;

Description

GetAsTDateTime is a TDateTime function that acts as the read access specifier for the AsTDateTime property.


See Also

TIdDateTimeStamp.AsTDateTime


TIdDateTimeStamp.GetAsTimeOFDay

TIdDateTimeStamp	See Also

Provides access to the Indy timestamp as a 24-hour time string.

function GetAsTimeOFDay: String;

Description

GetAsTimeOFDay is a String function that acts as the read access specifier for the AsTimeOfDay property.


See Also

TIdDateTimeStamp.AsTimeOFDay


TIdDateTimeStamp.GetAsTTimeStamp

TIdDateTimeStamp	See Also

Provides access to the Indy timestamp as a TTimeStamp value.

function GetAsTTimeStamp: TTimeStamp;

Description

GetAsTTimeStamp is a TTimeStamp function that acts as the read access specifier for the AsTTimeStamp property.


See Also

TIdDateTimeStamp.AsTTimeStamp

TIdDateTimeStamp.AsTDateTime


TIdDateTimeStamp.GetBeatOFDay

TIdDateTimeStamp	See Also

Provides access to the Indy timestamp as a Swatch "Beat Time" value.

function GetBeatOFDay: Integer;

Description

GetBeatOFDay is an Integer function that acts as the read access specifier for the BeatOfDay property.


See Also

TIdDateTimeStamp.BeatOFDay


TIdDateTimeStamp.GetDayOfMonth

TIdDateTimeStamp	See Also

Provides access to the Day of Month for the Indy timestamp.

function GetDayOfMonth: Integer;

Description

GetDayOfMonth is an Integer function that acts as the read access specifier for the DayOfMonth property.


See Also

TIdDateTimeStamp.DayOfMonth


TIdDateTimeStamp.GetDayOfWeek

TIdDateTimeStamp	See Also

Provides access to the Day of Week for the Indy timestamp.

function GetDayOfWeek: Integer;

Description

GetDayOfWeek is an Integer function that acts as the read access specifier for the DayOfWeek property.


See Also

TIdDateTimeStamp.DayOfWeek


TIdDateTimeStamp.GetDayOfWeekName

TIdDateTimeStamp	See Also

Provides access to the long Day of Week name for the Indy timestamp.

function GetDayOfWeekName: String;

Description

GetDayOfWeekName is a String function that acts as the read access specifier for the DayOfWeekName property.


See Also

TIdDateTimeStamp.DayOfWeekName


TIdDateTimeStamp.GetDayOfWeekShortName

TIdDateTimeStamp	See Also

Provides access to the short Day of Week name for the Indy timestamp.

function GetDayOfWeekShortName: String;

Description

GetDayOfWeekShortName is a String function that acts as the read access specifier for the DayOfWeekShortName property.


See Also

TIdDateTimeStamp.DayOfWeekShortName


TIdDateTimeStamp.GetDaysInYear

TIdDateTimeStamp	See Also

Provides access to the number of days in the year of the Indy timestamp.

function GetDaysInYear: Integer;

Description

GetDaysInYear is an Integer function to acts as the read access specifier for the DaysInYear property.


See Also

TIdDateTimeStamp.DaysInYear


TIdDateTimeStamp.GetHourOf12Day

TIdDateTimeStamp	See Also

Provides access to the AM/PM hour of Day for the Indy timestamp.

function GetHourOf12Day: Integer;

Description

GetHourOf12Day is an Integer function that acts as the read access specifier for the HourOf12Day property.


See Also

TIdDateTimeStamp.HourOf12Day


TIdDateTimeStamp.GetHourOf24Day

TIdDateTimeStamp	See Also

Provides access to the Military hour of Day for the Indy timestamp.

function GetHourOf24Day: Integer;

Description

GetHourOf24Day is an Integer function that acts as the read access specifier for the HourOf24Day property.


See Also

TIdDateTimeStamp.HourOf24Day


TIdDateTimeStamp.GetIsMorning

TIdDateTimeStamp	See Also

Indicates that the Indy timestamp contains a morning time.

function GetIsMorning: Boolean;

Description

GetIsMorning is a Boolean function that acts as the read access specifier for the IsMorning property.


See Also

TIdDateTimeStamp.IsMorning


TIdDateTimeStamp.GetMinuteOFDay

TIdDateTimeStamp

Provides access to the minute of the Day for the Indy timestamp.

function GetMinuteOFDay: Integer;

Description

GetMinuteOfDay is an Integer function that acts as the read access specifier for the MinuteOfDay property.


TIdDateTimeStamp.GetMinuteOfHour

TIdDateTimeStamp	See Also

Provides access to the minute of the hour for the Indy timestamp.

function GetMinuteOfHour: Integer;

Description

GetMinuteOfHour is an Integer function that acts as the read access specifier for the MinuteOfHour property.


See Also

TIdDateTimeStamp.MinuteOfHour


TIdDateTimeStamp.GetMonthName

TIdDateTimeStamp	See Also

Provides access to the long month name for the Indy timestamp.

function GetMonthName: String;

Description

GetMonthName is a String function that acts as the read access specifier for the MonthName property.


See Also

TIdDateTimeStamp.MonthName


TIdDateTimeStamp.GetMonthOFYear

TIdDateTimeStamp	See Also

Provides access to the numeric month of year for the Indy timestamp.

function GetMonthOFYear: Integer;

Description

GetMonthOfYear is an Integer function that acts as the read access specifier for the MonthOfYear property.


See Also

TIdDateTimeStamp.MonthOFYear


TIdDateTimeStamp.GetMonthShortName

TIdDateTimeStamp	See Also

Provides access to the short month name for the Indy timestamp.

function GetMonthShortName: String;

Description

GetMonthShortName is a String function that acts as the read access specifier for the MonthShortName property.


See Also

TIdDateTimeStamp.MonthShortName


TIdDateTimeStamp.GetSecondOfMinute

TIdDateTimeStamp	See Also

Provides access to the seconds of the current minute for the Indy timestamp.

function GetSecondOfMinute: Integer;

Description

GetSecondOfMinute is an Integer function that acts as the read access specifier for the SecondOfMinute property.


See Also

TIdDateTimeStamp.SecondOfMinute


TIdDateTimeStamp.GetSecondsInYear

TIdDateTimeStamp	See Also

Indicates the total number of seconds in the Indy timestamp year.

function GetSecondsInYear: Integer;

Description

GetSecondsInYear is an Integer function that acts as the read access specifier for the SecondsInYear property.


See Also

TIdDateTimeStamp.SecondsInYear


TIdDateTimeStamp.GetWeekOFYear

TIdDateTimeStamp	See Also

Provides access to the week number for the Indy timestamp year.

function GetWeekOFYear: Integer;

Description

GetWeekOfYear is an Integer function that acts as the read access specifier for the WeekOfYear property.


See Also

TIdDateTimeStamp.WeekOFYear


TIdDateTimeStamp.SetDay

TIdDateTimeStamp	See Also

Updates the Day of Year for the Indy timestamp.

procedure SetDay(ANumber: Integer);

Parameters

ANumber: Integer

Day number to assign to the Indy timestamp.

Description

SetDay is a procedure used to update the Day property for the Indy timestamp. ANumber is the day of year to be assigned to the Indy timestamp. SetDay changes the Day property to 0 (zero) and calls AddDays using the value in ANumber to adjust the Indy timestamp.


See Also

TIdDateTimeStamp.AddDays


TIdDateTimeStamp.SetFromTDateTime

TIdDateTimeStamp	See Also

Initializes the Indy timestamp from a TDateTime value.

procedure SetFromTDateTime(ADateTime: TDateTime);

Parameters

ADateTime: TDateTime

Native date/time to assign to the Indy timestamp.

Description

SetFromTDateTime is a procedure that allows assignment of the native date/time in ADateTime to the Indy timestamp. SetFromTDateTime calls SetFromTTimeStamp to implement updates to the Indy timestamp.


See Also

TIdDateTimeStamp.SetFromTTimeStamp


TIdDateTimeStamp.SetFromTTimeStamp

TIdDateTimeStamp	See Also

Initializes the Indy timestamp from a TTimeStamp value.

procedure SetFromTTimeStamp(ATimeStamp: TTimeStamp);

Parameters

ATimeStamp: TTimeStamp

Native timestamp value to assign the Indy timestamp.

Description

SetFromTTimeStamp is a procedure used to assign the native TTimeStamp value in ATimeStamp to the Indy timestamp. SetFromTTimeStamp calls SetYear, SetDay, and SetSecond to initialize the Indy timestamp to a value that corresponds to the date and time value 1/1/1 00:00:00. SetFromTTimeStamp then calls SetMillisecond using the time portion of ATimeStamp, and SetDay using the date portion of ATimeStamp.


See Also

TIdDateTimeStamp.SetFromTDateTime


TIdDateTimeStamp.SetMillisecond

TIdDateTimeStamp	See Also

Initializes an Indy timestamp using milliseconds.

procedure SetMillisecond(ANumber: Integer);

Parameters

ANumber: Integer

Number of milliseconds since the base date.

Description

SetMillisecond is a procedure used to initialize an Indy timestamp using the number of milliseconds in ANumber since the base date. SetMillisecond clears the Millisecond property to 0 (zero) and calls AddMilliseconds using Anumber to initialize the Indy timestamp.


See Also

TIdDateTimeStamp.AddMilliseconds


TIdDateTimeStamp.SetSecond

TIdDateTimeStamp	See Also

Increments an Indy timestamp using Seconds.

procedure SetSecond(ANumber: Integer);

Parameters

ANumber: Integer

Number of seconds to be added to the Indy timestamp.

Description

SetSecond is a procedure used to increment an Indy timestamp using the number of Seconds in ANumber. SetSecond clears the Second property to 0 (zero) and calls AddSeconds using the value in ANumber.


See Also

TIdDateTimeStamp.AddSeconds


TIdDateTimeStamp.SetYear

TIdDateTimeStamp

Updates an Indy timestamp to reflect the specified year.

procedure SetYear(ANumber: Integer);

Parameters

ANumber: Integer

Year number to be assigned to the Indy timestamp.

Description

SetYear is a procedure used to assign the year number in ANumber to the Indy timestamp. When ANumber is 0 (zero), this is considered to be an invalid year number and no update is performed. SetYear will adjust the Indy timestamp using the CheckLeapYear method for the year specified in ANumber.


TIdDateTimeStamp.SubtractDays

TIdDateTimeStamp

Subtracts the specified number of days from the Indy timestamp.

procedure SubtractDays(ANumber: Cardinal);

Parameters

ANumber: Cardinal

Number of days to be subtracted from the Indy timestamp.

Description

SubtractDays is a procedure used to subtract the number of days specified in ANumber from the Indy timestamp. SubtractDays will adjust the Indy timestamp to reflect any change in Day or Year related to the operation.


TIdDateTimeStamp.SubtractHours

TIdDateTimeStamp

Subtracts the specified number of hours from the Indy timestamp.

procedure SubtractHours(ANumber: Cardinal);

Parameters

ANumber: Cardinal

Number of hours to be subtracted from the Indy timestamp.

Description

SubtractHours is a procedure used to subtract the number of hours specified in ANumber from the Indy timestamp. SubtractHours will adjust Seconds, Day, and Year accordingly.


TIdDateTimeStamp.SubtractMilliseconds

TIdDateTimeStamp

Subtracts the specified number of Milliseconds from the Indy timestamp.

procedure SubtractMilliseconds(ANumber: Cardinal);

Parameters

ANumber: Cardinal

Number of milliseconds to be subtracted from the Indy timestamp.

Description

SubtractMilliseconds is a procedure used to subtract the number of milliseconds specified in ANumber from the Indy timestamp. SubtractMilliseconds will adjust Milliseconds, Seconds, Day, and Year accordingly.


TIdDateTimeStamp.SubtractMinutes

TIdDateTimeStamp

Subtracts the specified number of minutes from the Indy timestamp.

procedure SubtractMinutes(ANumber: Cardinal);

Parameters

ANumber: Cardinal

Number of minutes to subtract from the Indy timestamp.

Description

SubtractMinutes is a procedure used to subtract the number of minutes specified in ANumber from the Indy timestamp. SubtractMinutes will adjust Seconds, Day, and Year accordingly.


TIdDateTimeStamp.SubtractMonths

TIdDateTimeStamp

Subtracts the specified number of months from the Indy timestamp.

procedure SubtractMonths(ANumber: Cardinal);

Parameters

ANumber: Cardinal

Number of months to subtract from the Indy timestamp.

Description

SubtractMonths is a procedure used to subtract the number of months specified in ANumber from the Indy timestamp. SubtractMonths will adjust Year accordingly.


TIdDateTimeStamp.SubtractSeconds

TIdDateTimeStamp

Subtracts the specified number of seconds from the Indy timestamp.

procedure SubtractSeconds(ANumber: Cardinal);

Parameters

ANumber: Cardinal

Number of seconds to subtract from the Indy timestamp.

Description

SubtractSeconds is a procedure used to subtract the number of seconds specified in ANumber from the Indy timestamp. SubtractSeconds will adjust Seconds, Day, and Year accordingly.


TIdDateTimeStamp.SubtractTDateTime

TIdDateTimeStamp

Subtracts a TDateTime value from the Indy timestamp.

procedure SubtractTDateTime(ADateTime: TDateTime);

Parameters

ADateTime: TDateTime

The date and time value to be subtracted from the Indy timestamp.

Description

SubtractTDateTime is a procedure used to subtract the TDateTime value specified in ADateTime from the Indy timestamp. SubtractTDateTime will adjust Milliseconds, Seconds, Day, and Year accordingly. SubtractTDateTime calls SubtractTTimeStamp to implement its operation.


TIdDateTimeStamp.SubtractTIdDateTimeStamp

TIdDateTimeStamp

Subtracts an Indy timestamp value from the current Indy timestamp.

procedure SubtractTIdDateTimeStamp(AIdDateTime: TIdDateTimeStamp);

Parameters

AIdDateTime: TIdDateTimeStamp

The Indy timestamp value to subtract from the current Indy timestamp.

Description

SubtractTIdDateTimeStamp is a procedure used to subtract the Indy timestamp specified in AIdDateTime from the current Indy timestamp. SubtractTIdDateTimeStamp will adjust Milliseconds, Seconds, Day, and Year accordingly.


TIdDateTimeStamp.SubtractTTimeStamp

TIdDateTimeStamp

Subtracts the specified TTimeStamp from the Indy timestamp.

procedure SubtractTTimeStamp(ATimeStamp: TTimeStamp);

Parameters

ATimeStamp: TTimeStamp

The TTimeStamp to be subtracted from the Indy timestamp.

Description

SubtractTTimeStamp is a procedure used to subtract the TTimeStamp value specified in ATimeStamp from the Indy timestamp. SubtractTTimeStamp will adjust Milliseconds, Seconds, Day, and Year accordingly.


TIdDateTimeStamp.SubtractWeeks

TIdDateTimeStamp

Subtracts the specified number of weeks from the Indy timestamp.

procedure SubtractWeeks(ANumber: Cardinal);

Parameters

ANumber: Cardinal

Number of weeks to subtract from the Indy timestamp.

Description

SubtractWeeks is a procedure used to subtract the number of weeks specified in ANumber from the Indy timestamp. SubtractWeeks will adjust Day and Year accordingly.


TIdDateTimeStamp.SubtractYears

TIdDateTimeStamp

Subtracts the specified number of years from the Indy timestamp.

procedure SubtractYears(ANumber: Cardinal);

Parameters

ANumber: Cardinal

Number of years to subtract from the Indy timestamp.

Description

SubtractYears is a procedure used to subtract the number of years specified in ANumber from the Indy timestamp. SubtractYears will adjust Year accordingly.


TIdDayTime

Hierarchy	Members	Properties	Methods	See Also	Unit: IdDayTime

Implements a DayTime protocol client.

TIdDayTime = class(TIdTCPClient)

Description

TIdDayTime implements the DayTime protocol (RFC 867) as a client. This protocol is simply where a DayTime server sends the current day and time in a human readable format and is sometimes used for debugging.

If you need a time-synchronization solution, we recommend that you use the Time protocol encapsulated by TIdTime and TIdTimeServer.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPConnection

|

TIdTCPClient

|

TIdDayTime


TIdDayTime Fields

TIdDayTime


TIdDayTime Properties

TIdDayTime	Legend

TIdDayTime

 DayTimeStr

 Port

TIdTCPClient

 BoundIP

 Host

 OnConnected

 Port

 SocksInfo

 UseNagle

TIdTCPConnection

 ASCIIFilter

 Binding

 ClosedGracefully

 CmdResult

 CmdResultDetails

 Intercept

 InterceptEnabled

 OnDisconnected

 OnWork

 OnWorkBegin

 OnWorkEnd

 ReadLnTimedOut

 RecvBufferSize

 ResultNo

 SendBufferSize

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdDayTime Events

TIdDayTime	Legend

TIdComponent

 OnStatus


Legend

 published


TIdDayTime Methods

TIdDayTime	Legend

TIdDayTime

 Create

TIdTCPClient

 Connect

 ConnectAndGetAll

 Create

 Destroy

TIdTCPConnection

 AllData

 CancelWriteBuffer

 Capture

 CheckForDisconnect

 CheckForGracefulDisconnect

 CheckResponse

 ClearWriteBuffer

 CloseWriteBuffer

 Connected

 Create

 CurrentReadBuffer

 CurrentReadBufferSize

 Destroy

 Disconnect

 DisconnectSocket

 ExtractXBytesFromBuffer

 FlushWriteBuffer

 GetResponse

 InputLn

 OpenWriteBuffer

 procedure RaiseExceptionForCmdResult; virtual; overload;

 procedure RaiseExceptionForCmdResult(axException: TClassIdException); virtual; overload;

 ReadBuffer

 ReadCardinal

 ReadFromStack

 ReadInteger

 ReadLn

 ReadLnWait

 ReadSmallInt

 ReadStream

 ReadString

 RemoveXBytesFromBuffer

 function SendCmd(const AOut: string; const AResponse: SmallInt): SmallInt; overload;

 function SendCmd(const AOut: string; const AResponse: Array of SmallInt): SmallInt; virtual; overload;

 WaitFor

 Write

 WriteBuffer

 WriteCardinal

 WriteFile

 WriteHeader

 WriteInteger

 WriteLn

 WriteSmallInt

 WriteStream

 WriteStrings

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdDayTime Members

TIdDayTime	Legend

Properties

 DayTimeStr

 Port

Methods

 Create


Legend

 virtual

 published


TIdDayTime.DayTimeStr

TIdDayTime

Retrieves the Date and Time from a server.

property DayTimeStr: String;

Description

DayTimeStr is a String property that cause the component to connect to the Host server and retrieve the date and time. Since this can be returned in a free-form format, this is not converted to a TDateTime and there is no time synchronization performed.

You must set the Host property to the DayTime server before using this property.


TIdDayTime.Port

TIdDayTime

Port number used for the connection.

property Port;

Description

Port is an Integer property that identifies the server port number server used for the client connection. By convention, some internet protocols reserve port number including:

21 - FTP

25 - SMTP

80 - HTTP

119 - NNTP

A client application may define it's own port to connect to a server running the same port.


TIdDayTime.Create

TIdDayTime	See Also

Instantiates a TIdDayTime instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create constructs a properly initialized instance of TIdDayTime using the inherited Create constructor, and initializes Port to the constant value IdPORT_DAYTIME (Decimal 13) as required by the DayTime Protocol.


See Also

IdPORT_DAYTIME


TIdDayTimeServer

Hierarchy	Members	Properties	Methods	See Also	Unit: IdDayTimeServer

Implements a DayTime protocol server.

TIdDayTimeServer = class(TIdTCPServer)

Description

TIdDayTimeServer implements the DayTime protocol (RFC 867) as a server. This protocol is simply where a DayTime server sends the current day and time in a human readable format and is sometimes used for debugging.

If you need a time-synchronization solution, we recommend that you use the Time protocol encapsulated by TIdTime and TIdTimeServer.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPServer

|

TIdDayTimeServer


TIdDayTimeServer Fields

TIdDayTimeServer


TIdDayTimeServer Properties

TIdDayTimeServer	Legend

TIdDayTimeServer

 DefaultPort

 TimeZone

TIdTCPServer

 AcceptWait

 Active

 Bindings

 DefaultPort

 ImplicitThreadMgrCreated

 Intercept

 TerminateWaitTime

 ThreadClass

 ThreadMgr

 Threads

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdDayTimeServer Events

TIdDayTimeServer	Legend

TIdTCPServer

 OnConnect

 OnDisconnect

 OnExecute

TIdComponent

 OnStatus


Legend

 published


TIdDayTimeServer Methods

TIdDayTimeServer	Legend

TIdDayTimeServer

 Create

TIdTCPServer

 Create

 Destroy

 Loaded

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdDayTimeServer Members

TIdDayTimeServer	Legend

Properties

 DefaultPort

 TimeZone

Methods

 Create


Legend

 virtual

 published


TIdDayTimeServer.DefaultPort

TIdDayTimeServer

Default port number for the server.

property DefaultPort;

Description

DefaultPort is a published property in TIdDayTimeServer that identifies the default port number used by the server, as described in the DayTime protocol specification. The default value for DefaultPort is IdPORT_DAYTIME.


TIdDayTimeServer.TimeZone

TIdDayTimeServer

Identifies the Time Zone for the server.

property TimeZone: String;

Description

This is an indicator of the Time Zone the server is in and this value is appended to the string representation of the time. By default, this is "EST" (Eastern Standard Time).


TIdDayTimeServer.Create

TIdDayTimeServer

Constructs a new object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance, and creates a new TIdDayTimeServer component. Create sets the default port to the standard port number used for DayTime protocol (IdPORT_DAYTIME), and sets the TimeZone property to "EST" (Eastern Standard Time).


TIdDICTServer

Hierarchy	Members	Properties	Methods	Events	See Also	Unit: IdDICTServer

Implements a Dictionary Protocol server for dictionary databases.

TIdDICTServer = class(TIdTCPServer)

Description

TIdDICTServer is a server implementation of the Dictionary Server Protocol as described in the Internet Standards document A Dictionary Server Protocol, RFC 2229, by R. Faith, October 1997.

The Dictionary Server Protocol (DICT) is a TCP transaction based query/response protocol that allows a client to access dictionary definitions from a set of natural language dictionary databases.

TIdDICTServer uses an event-based architecture that provides event handlers for the following DICT protocol commands:

AUTH - OnCommandAuth

CLIENT - OnCommandClient

DEFINE - OnCommandDefine

HELP - OnCommandHelp

MATCH - OnCommandMatch

OPTION - OnCommandOption

QUIT - OnCommandQuit

SASLAUTH - OnCommandSASLAuth

SHOW - OnCommandShow

STATUS - OnCommandStatus

TIdDICTServer also provides the OnCommandOther event handler to respond to unknown DICT commands, or DICT protocol extensions.

TIdDICTServer does not provide an implementation of the event handlers. The application should assign procedures to the event handlers to respond to event notifications, or the result code 500 with the error message RSCMDNotRecognized will be generated.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPServer

|

TIdDICTServer


TIdDICTServer Fields

TIdDICTServer


TIdDICTServer Properties

TIdDICTServer	Legend

TIdDICTServer

 DefaultPort

TIdTCPServer

 AcceptWait

 Active

 Bindings

 DefaultPort

 ImplicitThreadMgrCreated

 Intercept

 TerminateWaitTime

 ThreadClass

 ThreadMgr

 Threads

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdDICTServer Events

TIdDICTServer	Legend

TIdDICTServer

 OnCommandAuth

 OnCommandClient

 OnCommandDefine

 OnCommandHelp

 OnCommandMatch

 OnCommandOption

 OnCommandOther

 OnCommandQuit

 OnCommandSASLAuth

 OnCommandShow

 OnCommandStatus

TIdTCPServer

 OnConnect

 OnDisconnect

 OnExecute

TIdComponent

 OnStatus


Legend

 published


TIdDICTServer Methods

TIdDICTServer	Legend

TIdDICTServer

 Create

TIdTCPServer

 Create

 Destroy

 Loaded

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdDICTServer Members

TIdDICTServer	Legend

Properties

 DefaultPort

Events

 OnCommandAuth

 OnCommandClient

 OnCommandDefine

 OnCommandHelp

 OnCommandMatch

 OnCommandOption

 OnCommandOther

 OnCommandQuit

 OnCommandSASLAuth

 OnCommandShow

 OnCommandStatus

Methods

 Create


Legend

 virtual

 published


TIdDICTServer.DefaultPort

TIdDICTServer

Default port number for the server.

property DefaultPort;

Description

DefaultPort is a published property in TIdDICTServer that identifies the default port number for the server, as described in the Dictionary Server Protocol specification. The default value for DefaultPort is IdPORT_DICT.


TIdDICTServer.Create

TIdDICTServer

Creates the new object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the new TIdDictServer instance. Create relies on the inherited Create constructor, and sets DefaultPort to the standard port number used by the DICT protocol (IdPORT_DICT).


TIdDICTServer.OnCommandAuth

TIdDICTServer

Specifies the DICT AUTH command event handler.

property OnCommandAuth: TIdDICTAuthEvent;

Description

OnCommandAuth specifies the TIdDICTAuthEvent event handler used to respond to the DICT AUTH command, as described in RFC 2229.

The DICT AUTH command allows a client to be authenticated using a user name and an APOP-style MD5 Checksum as described in RFC 1939.

Authentication is an optional server capability. The AUTH command may be implemented by a DICT server.

Applications should assign a procedure to the event handler in order to respond to the DICT command, or the server will return the default message:

  500 command not recognized


TIdDICTServer.OnCommandClient

TIdDICTServer

Specifies the DICT CLIENT command event handler.

property OnCommandClient: TIdDICTShowEvent;

Description

OnCommandClient specifies the TIdDICTShowEvent event handler used to respond to the DICT CLIENT command, as described in RFC 2229.

The CLIENT command allows the client to provide information about itself for possible logging and statistical purposes. All clients should send this command after connecting to the server. All DICT servers must implement this command, though, the server doesn't have to do anything with the information provided by the client.

Applications should assign a procedure to the event handler in order to respond to the DICT command, or the server will return the default message:

  500 command not recognized


TIdDICTServer.OnCommandDefine

TIdDICTServer

Specifies the DICT DEFINE command event handler.

property OnCommandDefine: TIdDICTDefineEvent;

Description

OnCommandDefine specifies the TIdDICTDefineEvent event handler used to respond to the DICT DEFINE command, as described in RFC 2229.

The DICT DEFINE command is used to perform a search for the specified word in the indicated database(s).

Applications should assign a procedure to the event handler in order to respond to the DICT command, or the server will return the default message:

  500 command not recognized


TIdDICTServer.OnCommandHelp

TIdDICTServer

Specified the DICT HELP command event handler.

property OnCommandHelp: TIdDICTGetEvent;

Description

OnCommandHelp specified the TIdDICTGetEvent event handler used to respond to the DICT HELP command, as described in RFC 2229.

The DICT HELP command provides a short summary of commands that are understood by this implementation of the DICT server. All DICT servers must implement the HELP command.

Applications should assign a procedure to the event handler in order to respond to the DICT command, or the server will return the default message:

  500 command not recognized


TIdDICTServer.OnCommandMatch

TIdDICTServer

Specifies the DICT MATCH command event handler.

property OnCommandMatch: TIdDICTMatchEvent;

Description

OnCommandMatch specifies the TIdDICTMatchEvent event handler used to respond to the DICT MATCH command, as described in RFC 2229.

The DICT MATCH command is used to search the dictionary index and report the words found using a particular strategy. All DICT servers must implement the MATCH command, and must support the "exact" and "prefix" strategies.

The "exact" strategy performs a case-insensitive comparison. The "prefix" strategy is similar to "exact", except that it only compares the first part of the word. These strategies are easily implemented and are generally the most useful. Other strategies are server dependent.

Other strategies that might be considered are matches based on substring, suffix, regular expressions, soundex [KNUTH73], and Levenshtein [PZ85] algorithms. These last two are especially useful for correcting spelling errors. Other useful strategies perform some sort of "reverse" lookup (i.e., by searching definitions to find the word that the query suggests).

Strategy may also contain the special character ".", which indicates that the server should use the default strategy for that server. This is usually a derivative of the Levenshtein algorithm [PZ85].

Database contains the name of the database to be searched, in a form returned by SHOW DB, or one the following wildcard characters:

"!" - Search all databases until a match is found.

"*" - Search for all matches in the current database.

Applications should assign a procedure to the event handler in order to respond to the DICT command, or the server will return the default message:

  500 command not recognized


TIdDICTServer.OnCommandOption

TIdDICTServer

Specifies the event handler for the DICT OPTION command.

property OnCommandOption: TIdDICTOtherEvent;

Description

TIdDICTServer uses the OnCommandOption event handler to respond to the DICT OPTION command, which informs the server that the client wishes to utilize one of the defined protocol options.

At the current time, OPTION MIME is the only recognized option. In the future, standard extensions to this protocol should be proposed which allow the client to request certain content types or encodings.

OPTION MIME requests that all text responses be prefaced by a MIME header, as described in RFC2045, and followed by a single blank line (CRLF). If a client requests this option, then the client MUST be able to parse Content-Type and Content-transfer-encoding headers, and MUST be able to ignore textual responses which have an unsupported content or encoding. A client MUST support the UTF-8 encoding described in RFC2044.

OPTION MIME is a REQUIRED server capability, and all DICT servers MUST implement this command.


TIdDICTServer.OnCommandOther

TIdDICTServer

Specifies the command event handler for unknown DICT commands.

property OnCommandOther: TIdDICTOtherEvent;

Description

OnCommandOther specifies the event type for unrecognized DICT commands, and allows the server to respond to DICT extensions or provide default error handling by using the event handler mechanism.


TIdDICTServer.OnCommandQuit

TIdDICTServer

Specifies the event handler for the DICT QUIT command.

property OnCommandQuit: TIdDICTGetEvent;

Description

TIdDICTServer uses the OnCommandQuit event handler to respond to the DICT QUIT command, which informs the server that the client wishes to close the connection to the DICT server.

The DICT server must implement the QUIT command.


TIdDICTServer.OnCommandSASLAuth

TIdDICTServer

Specifies the event handler for the DICT SASLAUTH command.

property OnCommandSASLAuth: TIdDICTAuthEvent;

Description

TIdDICTAuthEvent specifies the event type for the DICT SASLAUTH command, and is used by the TIdDICTServer OnCommandSASLAuth event handler to perform user authentication.

OnCommandSASLAuth must provide, as parameters, the name of the user to be authenticated, and the BASE64-encoded initial SASL response as described in RFC 2045. All responses to the SASLAUTH server challenge should use the SASLRESP command and a BASE64-encoded parameter.

Authentication is an optional server capability. The SASLAUTH command may be implemented by a DICT server.


TIdDICTServer.OnCommandShow

TIdDICTServer

Specifies the event handler for the DICT SHOW command.

property OnCommandShow: TIdDICTShowEvent;

Description

OnCommandShow specifies the event handler for the DICT SHOW command, and is used by the TIdDICTServer to implement the DICT command.

OnCommandShow must provide parameters that indicate the thread of execution performing the command, and the SHOW command parameters to be included in the command execution. The command options include:

SHOW DB - Displays the list of currently accessible databases.

SHOW DATABASES - Displays the list of currently accessible databases.

SHOW STRAT - Displays the list of currently supported search strategies.

SHOW STRATEGIES - Displays the list of currently supported search strategies.

SHOW INFO database - Displays the source, copyright, and licensing information about the specified database.

SHOW SERVER - Displays local server herald banner.


TIdDICTServer.OnCommandStatus

TIdDICTServer

Specifies the event handler for the DICT STATUS command.

property OnCommandStatus: TIdDICTGetEvent;

Description

OnCommandStatus specifies the event handler for the DICT STATUS command, and is used by the TIdDICTServer to implement the DICT command.

The STATUS command returns server-specific timing or debugging information. This information may be useful in debugging or tuning a DICT server. All DICT servers MUST implement this command, although the text part of the response is not specified and may be omitted.


TIdDISCARDServer

Hierarchy	Members	Methods	See Also	Unit: IdDiscardServer

Implements a Discard Protocol server.

TIdDISCARDServer = class(TIdTCPServer)

Description

TIdDISCARDServer implements the Discard Protocol (RFC 863) as a server. This is a useful debugging and measurement protocol where the data sent to the server is simply discarded.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPServer

|

TIdDISCARDServer


TIdDISCARDServer Fields

TIdDISCARDServer


TIdDISCARDServer Properties

TIdDISCARDServer	Legend

TIdTCPServer

 AcceptWait

 Active

 Bindings

 DefaultPort

 ImplicitThreadMgrCreated

 Intercept

 TerminateWaitTime

 ThreadClass

 ThreadMgr

 Threads

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdDISCARDServer Events

TIdDISCARDServer	Legend

TIdTCPServer

 OnConnect

 OnDisconnect

 OnExecute

TIdComponent

 OnStatus


Legend

 published


TIdDISCARDServer Methods

TIdDISCARDServer	Legend

TIdDISCARDServer

 Create

TIdTCPServer

 Create

 Destroy

 Loaded

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdDISCARDServer Members

TIdDISCARDServer	Legend

Methods

 Create


Legend

 virtual

 published


TIdDISCARDServer.Create

TIdDISCARDServer

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the new object instance, and creates a new TIdDiscardServer component and sets the default port to the standard port number used for Discard (IdPORT_DISCARD).


TIdDNSHeader

Hierarchy	Members	Properties	Methods	Unit: IdDNSResolver

Represents the DNS Header.

TIdDNSHeader = class(TObject)

Description

TIdDNSHeader is a class that provides access to the DNS header for a DNS query or response. TIdDNSResolver uses a TIdDNSHeader instance to prepare a DNS query for transmission to the DNS server, and capture return values from the DNS response. TIdDNSHeader exposes all fields in the DNS header to allow construction of a DNS server.


Class Hierarchy

TObject

|

TIdDNSHeader


TIdDNSHeader Fields

TIdDNSHeader


TIdDNSHeader Properties

TIdDNSHeader

TIdDNSHeader

 AA

 ANCount

 ARCount

 ID

 NSCount

 Opcode

 QDCount

 Qr

 RA

 RCode

 RD

 TC


TIdDNSHeader Events

TIdDNSHeader


TIdDNSHeader Methods

TIdDNSHeader	Legend

TIdDNSHeader

 Create

 InitVars


Legend

 virtual


TIdDNSHeader Members

TIdDNSHeader	Legend

Properties

 AA

 ANCount

 ARCount

 ID

 NSCount

 Opcode

 QDCount

 Qr

 RA

 RCode

 RD

 TC

Methods

 Create

 InitVars


Legend

 virtual


TIdDNSHeader.AA

TIdDNSHeader

Indicates that the response came from an DNS Authority for the request.

property AA: boolean;

Description

AA is a Boolean property that represents the Authoritative Answer bit from the DNS header, and indicates the response contains a result from complete data in DNS server domain tree. In other words, it is not a DNS referral.


TIdDNSHeader.ANCount

TIdDNSHeader

represents the number of Resource Records in a DNS response.

property ANCount: Word;

Description

ANCount is a Word property that represents the number of Resource Records returned in the Answer to a DNS query. ANCount is updated when the DNS response packet is decoded.


TIdDNSHeader.ARCount

TIdDNSHeader

Represents the number of Additional Resource Records in the DNS response.

property ARCount: Word;

Description

ARCount is a Word property that represents the number of Resource Records returned in the Additional Records section of a DNS query response. ARCount will normally match the number of items in TIdDNSResolver.DNSARList. In general, AR resource records contain additional host names or IP address for the domain requested.


TIdDNSHeader.ID

TIdDNSHeader

Represents the DNS request identifier.

property ID: Word;

Description

ID is a Word property that represents the 16-bit identifier assigned by TIdDNSResolver. ID is used to identify the corresponding DNS response for an outstanding DNS request. ID is assigned a random value in the TIdDNSResolver implementation.


TIdDNSHeader.NSCount

TIdDNSHeader

Represents the number of Name Server resource records in a DNS response.

property NSCount: Word;

Description

NSCount is a Word property that represents the number of AUthoritative Name Server Resource Records returned in a DNS query response. NSCount normally corresponds to the number of items in the TIdDNSResolver.DNSNSList collection.


TIdDNSHeader.Opcode

TIdDNSHeader

Indicates the DNS Query type.

property Opcode: Word;

Description

Opcode is a Word property that indicates the DNS query type for the DNS header. Opcode is set in the DNS query request to one of the constant values:

cResQuery - standard DNS query.

cResIQuery - Inverse DNS Query.

cResStatus - DNS server status request.

cOpCodeStrs is a Array that contains the textual representation of Opcode.


TIdDNSHeader.QDCount

TIdDNSHeader

Represents the number of questions in the DNS request.

property QDCount: Word;

Description

QDCount is a Word property that represents the number of Question entries in the Question section of a request to a DNS server. QDCount is normally set to 1, and corresponds to the number of entries in the TIdDNSResolver.DNSQDList collection.


TIdDNSHeader.Qr

TIdDNSHeader

Indicates that the DNS packet contains a Question Response.

property Qr: Boolean;

Description

Qr is a Boolean property that represents the Question Response bit flag in the DNS header. Qr is set to False for a DNS query request packet. Qr should contain True when a DNS Query response packet is decoded.


TIdDNSHeader.RA

TIdDNSHeader

Represents the Recursive Search Available bit in the DNS header.

property RA: Boolean;

Description

RA is a Boolean property that represents the Recursive Search Available bit in the DNS header. RA indicates that TIdDNSResolver can use the RD Recursive Search Requested capabilities of the DNS server to resolve all DNS referrals. RA will contain False when Recursive Search is not available on the selected DNS server.


TIdDNSHeader.RCode

TIdDNSHeader

Result Code for the DNS query.

property RCode: Word;

Description

RCode is a Word property that represents the Return Code from a DNS query. RCode may contain one of the DNS server response code constant values including:

cRCodeNoError

cRCodeFormatErr

cRCodeServerErr

cRCodeNameErr

cRCodeNotImplemented

cRCodeRefused

RCode will contain the value cRCodeNoError when a DNS query has been successfully completed. cRCodeStrs can be used to access the string representation of an RCode value.


TIdDNSHeader.RD

TIdDNSHeader

Indicates when Recursive Search is Requested.

property RD: Boolean;

Description

RD is a Boolean property that represents the Recursive Search Requested bit in the DNS header. RD indicates that TIdDNSResolver will allow the DNS server to resolve all DNS referrals, and expects only an error result code or a DNS answer. RD has no effect when RA contains False indicating that Recusrive Search is not available to the requester.


TIdDNSHeader.TC

TIdDNSHeader

Represents the Truncated Characters bit from the DNS header.

property TC: Boolean;

Description

TC is a Boolean property that represents the Truncation bit from the DNS header, and indicates when the DNS message has been truncated for length.


TIdDNSHeader.Create

TIdDNSHeader

Constructor for the object instance.

constructor Create;

Description

Create is the constructor for the object instance. Create calls the inherited Create method, and initializes ID to a random value.


TIdDNSHeader.InitVars

TIdDNSHeader

Resets counters and bit flags used in the DNS header.

procedure InitVars; virtual;

Description

InitVars is a procedure that resets the values of counters and bit flags in the DNS header. InitVars sets all of the following properties to 0 (zero):

BitCode

QdCount

AnCount

NsCount

ArCount

InitVars is called as the initial step in decoding a DNS response packet.


TIdDNSQuestionList

Hierarchy	Members	Properties	Methods	Unit: IdDNSResolver

Contains header, question, and response objects for a DNS Message.

TIdDNSQuestionList = class(TCollection)

Description

TIdDNSQuestionList is a TCollection descendant used to hold Header, question, and response objects that make up the DNS Message object. TIdDNSQuestionList is used to hold both the sent and received queries in easy to handle pascal data structure.

A Question Consists of a Name, aType and aClass. Name can be a domain name or an IP address depending on the type of question.


Class Hierarchy

TCollection

|

TIdDNSQuestionList


TIdDNSQuestionList Fields

TIdDNSQuestionList


TIdDNSQuestionList Properties

TIdDNSQuestionList

TIdDNSQuestionList

 Items


TIdDNSQuestionList Events

TIdDNSQuestionList


TIdDNSQuestionList Methods

TIdDNSQuestionList

TIdDNSQuestionList

 Add

 Create


TIdDNSQuestionList Members

TIdDNSQuestionList

Properties

 Items

Methods

 Add

 Create


TIdDNSQuestionList.Items

TIdDNSQuestionList

This property permits you to access individual TQuestionItem objects in the TIdDNSQuestionList collection.

property Items [Index: Integer]: TQuestionItem;

Description

This property permits you to access individual TQuestionItem objects in the TIdDNSQuestionList collection.


TIdDNSQuestionList.Add

TIdDNSQuestionList

This method creates a new TQuestionItem, add's it to the TIdDNSQuestionList collection, and returns it.

function Add: TQuestionItem;

Returns

TQuestionItem - the TQuestionItem that was created and added to the TIdDNSQuestionList collection.

Description

This method creates a new TQuestionItem, add's it to the TIdDNSQuestionList collection, and returns it. This method is used when you wish to make several queries to the DNS Server simultaneously.


TIdDNSQuestionList.Create

TIdDNSQuestionList

This constructor creates a new TIdDNSQuestionList collection.

constructor Create;

Description

This constructor creates a new TIdDNSQuestionList collection. This is created internally by TIdDNSResolver.


TIdDNSResolver

Hierarchy	Members	Properties	Methods	See Also	Unit: IdDNSResolver

Implements a UDP-based resolver for DNS protocol queries.

TIdDNSResolver = class(TIdUDPClient)

Description

TIdDNSResolver is a TIdUDPClient descendant that provides a stateless UDP-based implementation of a resolver for DNS (Domain Name Server) queries using the DNS protocol. DNS is described in the Internet Standards documents:

RFC 1034 Domain Names - Concepts and Facilities

RFC 1035 Domain Names - Implementation and Specification

RFC 1591 Domain Name System Structure and Delegation

RFC 1183 New DNS RR Definitions.

RFC 2181 Clarifications to the DNS Specification.

TIdDNSResolver provides facilities for accessing the Domain Name Space and Resource Records retrieved from a DNS Server as a result of queries for specified domain names, resource types, and resource classes.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdUDPBase

|

TIdUDPClient

|

TIdDNSResolver


TIdDNSResolver Fields

TIdDNSResolver


TIdDNSResolver Properties

TIdDNSResolver	Legend

TIdDNSResolver

 Answers

 DNSAnList

 DNSARList

 DNSHeader

 DNSNSList

 DNSQDList

 Port

 QPacket

 ReceiveTimeout

 RequestedRecords

 RPacket

TIdUDPClient

 Host

 Port

 ReceiveTimeout

TIdUDPBase

 Active

 Binding

 BroadcastEnabled

 BufferSize

 ReceiveTimeout

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdDNSResolver Events

TIdDNSResolver	Legend

TIdComponent

 OnStatus


Legend

 published


TIdDNSResolver Methods

TIdDNSResolver	Legend

TIdDNSResolver

 ClearVars

 Create

 Destroy

 ResolveDNS

 ResolveDomain

TIdUDPClient

 Send

 SendBuffer

TIdUDPBase

 Broadcast

 Create

 Destroy

 function ReceiveBuffer(var ABuffer; const ABufferSize: Integer; const AMSec: Integer): integer; overload;

 function ReceiveBuffer(var ABuffer; const ABufferSize: Integer; var VPeerIP: string; var VPeerPort: integer; AMSec: Integer): integer; overload;

 function ReceiveString(const AMSec: Integer): string; overload;

 function ReceiveString(var VPeerIP: string; var VPeerPort: integer; const AMSec: Integer): string; overload;

 Send

 SendBuffer

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdDNSResolver Members

TIdDNSResolver	Legend

Properties

 Answers

 DNSAnList

 DNSARList

 DNSHeader

 DNSNSList

 DNSQDList

 Port

 QPacket

 ReceiveTimeout

 RequestedRecords

 RPacket

Methods

 ClearVars

 Create

 Destroy

 ResolveDNS

 ResolveDomain


Legend

 virtual

 published


TIdDNSResolver.Answers

TIdDNSResolver

Resource Records received for a DNS query.

property Answers: TIdDNSResourceList;

Description

Answers is a read-only TIdDNSResourceList property that represents the container for received resource records that match the RequestedRecords for the DNS query.


TIdDNSResolver.DNSAnList

TIdDNSResolver

DNS resource records for a DNS query response.

property DNSAnList: TIdDNSResourceList;

Description

DNSAnList is a TIdDNSResourceList property that acts as a container for the TIdDNSResourceItem instances received in a response to a DNS query. DNSAnList entries correspond to the resource records received in a DNS query response.


TIdDNSResolver.DNSARList

TIdDNSResolver

Additional DNS resource records for a DNS query response.

property DNSARList: TIdDNSResourceList;

Description

DNSARList is a TIdDNSResourceList property that acts as a container for the TIdDNSResourceItem instances received in a response to a DNS query. DNSARList entries represent additional resource records that the Name Server believed to be useful to the client issuing the DNS query. The most common resource records found in DNSARList are those that represent the Name Servers listed in the Authority for the DNS query.


TIdDNSResolver.DNSHeader

TIdDNSResolver

Header for the DNS query or response.

property DNSHeader: TIdDNSHeader;

Description

DNSHeader is a TIdDNSHeader property that represents the header constructed for a DNS query, and/or returned in the DNS query response.


TIdDNSResolver.DNSNSList

TIdDNSResolver

Name Server resource records for a DNS query response.

property DNSNSList: TIdDNSResourceList;

Description

DNSNSList is a TIdDNSResourceList property that acts as a container for the TIdDNSResourceItem instances received in a response to a DNS query. DNSNSList entries correspond to the Name Server resource records received in a DNS query response.


TIdDNSResolver.DNSQDList

TIdDNSResolver

DNS questions used in a DNS query.

property DNSQDList: TIdDNSQuestionList;

Description

DNSQDList is a TIdDNSQuestionList property that acts as a container for TQuestionItem instances used in a DNS query.


TIdDNSResolver.Port

TIdDNSResolver

Identifies the port number on the remote system.

property Port;

Description

Port is an Integer property used to identify the port number on the remote computer system in Host. Host and Port are used to build the UDP datagram packet, and identify the endpoint for the transmission.

Some UDP-based protocols, such as SNTP (Simple Network Time Protocol) and DNS, used pre-defined port numbers. Port numbers below 1024 are reserved, but using a number above 1024 does not guarantee there will be no conflict.


TIdDNSResolver.QPacket

TIdDNSResolver

Contents of the DNS query sent to the DNS server.

property QPacket: string;

Description

QPacket is a String property that represents the DNS query packet constructed using the header and questions for the Requested records in the DNS query. QPacket is the contents of the message sent to the DNS server using the UDP socket connection. QPacket is constructed when a calls to ResolveDNS is issued.


TIdDNSResolver.ReceiveTimeout

TIdDNSResolver

Published time to wait for a readable socket binding.

property ReceiveTimeout;

Description

ReceiveTimeout is an Integer property that is published in TIdUDPClient. ReceiveTimeout is used like the TIdUDPBase.ReceiveTimeout property to specify the number of milliseconds to wait for a socket binding to become readable.


TIdDNSResolver.RequestedRecords

TIdDNSResolver

Requested record types for the DNS query.

property RequestedRecords: TRequestedRecords;

Description

RequestedRecords is a TRequestedRecords property that represents the set of TRequestedRecord records types requested in the DNS query. RequestedRecords is updated in ResolveDomain, but can be updated manually prior to calling ResolveDNS.


TIdDNSResolver.RPacket

TIdDNSResolver

Contents of the DNS query response from the DNS server.

property RPacket: string;

Description

RPacket is a String property that represents the DNS query packet received from a DNS Server as a response to a DNS query. RPacket is the contents of the message received from the DNS server using the UDP socket connection. RPacket is used in decoding the DNS query response into the proper response data structures.


TIdDNSResolver.ClearVars

TIdDNSResolver

Removes resource records from a prior DNS query response.

procedure ClearVars; virtual;

Description

ClearVars is procedure used to remove resource records from a prior DNS query response stored in the DnsQdList, DnsAnList, DnsNsList, and DnsArList containers. ClearVars calls DNSHeader.InitVars to reset counters in the DNS header.


TIdDNSResolver.Create

TIdDNSResolver	See Also

Instantiates a TIdDNSResolver instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create constructs a properly initialized instance of TIdDNSResolver using the inherited Create constructor, and initializes Port to the constant value IdPORT_DOMAIN (Decimal 53) as required by the DNS Protocol.


See Also

IdPORT_DOMAIN


TIdDNSResolver.Destroy

TIdDNSResolver

Frees the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance. Destroy frees the DNSHeader, DnsQdList, DnsAnList, DnsNsList, DnsArList, and Answers containers prior to calling the inherited Destroy method.


TIdDNSResolver.ResolveDNS

TIdDNSResolver

Performs a DNS query and decodes the DNS query response.

procedure ResolveDNS;

Description

ResolveDNS is a procedure used to construct the DNS query message in QPacket, send the query packet to the DNS server, and retrieve and decode the query response in RPacket.

ResolveDNS assumes that DNSHeader, and RequestedRecords have been initialized with values that represent the DNS query to be performed. Use ResolveDomain to provide access to DNS query resolution using a single method call.


TIdDNSResolver.ResolveDomain

TIdDNSResolver

Resolves a domain name using a DNS query.

procedure ResolveDomain(const ADomain: string);

Parameters

const ADomain: string

Domain name to resolve using a DNS query.

Description

ResolveDomain is a procedure used to perform a DNS query to resolve the domain name specified in ADomain. ResolveDomain initializes and updates the DNSHeader to reflect a recursive DNS resource search for all record types in RequestedRecords. DNSQDList is updated to include a question for each domain name, record type, and resource class represented in RequestedRecords.

ResolveDomain calls ResolveDNS to perform the DNS query, and decode the query response. The results of the query response are examined, and the response data for the TIdDNSResourceItem entries in DNSAnList are updated with appropriate values for the resource type.


TIdDNSResourceItem

Hierarchy	Members	Fields	Unit: IdDNSResolver

Contains data returned in a DNS server response.

TIdDNSResourceItem = class(TCollectionITem)

Description

TIdDNSResourceItem is a TCollectionITem descendant that represents The Data returned by a DNS server in a response to a DNS query. TIdDNSResourceItem the ancestor class for class instances that represent Resource Records from the DNS response, such as:

TMXRecord

TARecord

TNameRecord

TPTRRecord

THInfoRecord

TMInfoRecord

TMRecord

TSOARecord

TWKSRecord


Class Hierarchy

TCollectionITem

|

TIdDNSResourceItem


TIdDNSResourceItem Fields

TIdDNSResourceItem

TIdDNSResourceItem

 AClass

 AType

 Name

 RData

 RDLength

 StarData

 TTL


TIdDNSResourceItem Properties

TIdDNSResourceItem


TIdDNSResourceItem Events

TIdDNSResourceItem


TIdDNSResourceItem Methods

TIdDNSResourceItem


TIdDNSResourceItem Members

TIdDNSResourceItem

Fields

 AClass

 AType

 Name

 RData

 RDLength

 StarData

 TTL


TIdDNSResourceItem.AClass

TIdDNSResourceItem

Represents the Resource Class requested in the DNS query.

AClass: Word;

Description

AClass is a Word member that represents the Resource Class requested in the DNS query.


TIdDNSResourceItem.AType

TIdDNSResourceItem

Represents the Resource Type requested in the DNS query.

AType: Word;

Description

AType is a Word member that represents the Resource Type requested in the DNS query.


TIdDNSResourceItem.Name

TIdDNSResourceItem

Represents the parent or owner of the Resource Record.

Name: String;

Description

Name is a String member that identifies the owner of the Resource Record. Name is often implicit, rather than forming an integral part of the Resource Record, and may refer to an internally constructed values from labels in the name space.


TIdDNSResourceItem.RData

TIdDNSResourceItem

Represents the Response Data from a DNS response packet.

RData: TRData;

Description

RData is TRData member that represents the resource class- and/or type-dependent Response Data from a DNS response packet.


TIdDNSResourceItem.RDLength

TIdDNSResourceItem

Represents the length of Response Data from a DNS response packet.

RDLength: Word;

Description

RDLength is a Word member that represents the length of Response Data in the DNS response packet as stored in RData.


TIdDNSResourceItem.StarData

TIdDNSResourceItem

Represents data from a DNS response for all resource record types.

StarData: string;

Description

StarData is a String member that represent data of indefinite length that results from a DNS Query using cStar resource record requests.


TIdDNSResourceItem.TTL

TIdDNSResourceItem

Represents the Time-To-Live for cached Resource Records.

TTL: Cardinal;

Description

TTL is a Cardinal member that represents the Time-To-Live for Resource Records returned in s DNS Query response. TTL is a 32-bit value specified in seconds, and is primarily used by resolvers when they cache Resource Records. The TTL describes how long a RR can be cached before it should be discarded.


TIdDNSResourceList

Hierarchy	Members	Properties	Methods	Unit: IdDNSResolver

Container collection for DNS responses from a DNS query.

TIdDNSResourceList = class(TCollection)

Description

TIdDNSResourceList is a TCollection descendant that acts as a container for TIdDNSResourceItem instances returned from a DNS Query.


Class Hierarchy

TCollection

|

TIdDNSResourceList


TIdDNSResourceList Fields

TIdDNSResourceList


TIdDNSResourceList Properties

TIdDNSResourceList

TIdDNSResourceList

 Items


TIdDNSResourceList Events

TIdDNSResourceList


TIdDNSResourceList Methods

TIdDNSResourceList	Legend

TIdDNSResourceList

 Add

 Create

 GetDNSMxExchangeNameEx

 GetDNSRDataDomainName


Legend

 published


TIdDNSResourceList Members

TIdDNSResourceList	Legend

Properties

 Items

Methods

 Add

 Create

 GetDNSMxExchangeNameEx

 GetDNSRDataDomainName


Legend

 published


TIdDNSResourceList.Items

TIdDNSResourceList

Provides indexed access to the collection items.

property Items [Index: Integer]: TIdDNSResourceItem;

Description

Items is an indexed TIdDNSResourceItem property that provides access to the response received from the DNS query. Index is the Integer position in the collection, and can range from 0 to ItemCount-1.


TIdDNSResourceList.Add

TIdDNSResourceList

Adds a new item to the collection.

function Add: TIdDNSResourceItem;

Description

Add is a TIdDNSResourceItem function to creates and adds a new object instance to the collection. Add calls the inherited Add method, and casts the return value to a TIdDNSResourceItem object instance.


TIdDNSResourceList.Create

TIdDNSResourceList

Constructor for the object instance.

constructor Create;

Description

Create is the constructor for the object instance. Create calls the inherited Create method using TIdDNSResourceItem as the class type for the collection.


TIdDNSResourceList.GetDNSMxExchangeNameEx

TIdDNSResourceList

Gets the priority and names assigned to an MX resource record.

function GetDNSMxExchangeNameEx(Idx: Integer): string;

Parameters

Idx: Integer

position in the collection.

Returns

String - Up to 5 instances of MX record priority and names.

Description

GetDNSMxExchangeNameEx is a String function that retrieves the priority and name assigned to a host in a MailExchange resource record.


TIdDNSResourceList.GetDNSRDataDomainName

TIdDNSResourceList

Retrieves the Domain Name assigned to a resource record in the collection.

function GetDNSRDataDomainName(Idx: Integer): string;

Parameters

Idx: Integer

position in the collection.

Returns

String - Domian Name assigned to the resource record.

Description

GetDNSRDataDomainName is a String function that retrieves the Domain Name assigned to a resource record in the collection. The return value will be "" (empty string) when Idx is not a valid collection item position.


TIdEcho

Hierarchy	Members	Properties	Methods	See Also	Unit: IdEcho

Implements an Echo client.

TIdEcho = class(TIdTCPClient)

Description

TIdEcho implements the TCP-based variant of the Echo Protocol as described in the Internet Standards document Echo Protocol, RFC 862 , by Jon Postel.

TIdEcho is a TIdTCPClient descendant that is a useful debugging and measurement protocol where the data sent to the server is simply sent back to the originating client. TIdEcho is provided as a measure of the time it takes to send and receive data from an Echo Server (TIdECHOServer).

The TCP-based implementation of the Echo Protocol is a connection based application. An Echo Server listens for TCP connections on TCP Port 7. When a connection is established, any received data is returned to the originating client. The connection continues until the client application closes the connection.

To use TIdEcho, perform the following actions in your application:

Call Connect to connect to the Echo Server.

Call Echo to send data to the server and receive the server response.

Use EchoTime to retrieve the number of milliseconds needed to send and receive data from the server.

Call Disconnect to close the connection to the server.


See Also

TIdTCPClient

TIdECHOServer

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPConnection

|

TIdTCPClient

|

TIdEcho


TIdEcho Fields

TIdEcho


TIdEcho Properties

TIdEcho	Legend

TIdEcho

 EchoTime

 Port

TIdTCPClient

 BoundIP

 Host

 OnConnected

 Port

 SocksInfo

 UseNagle

TIdTCPConnection

 ASCIIFilter

 Binding

 ClosedGracefully

 CmdResult

 CmdResultDetails

 Intercept

 InterceptEnabled

 OnDisconnected

 OnWork

 OnWorkBegin

 OnWorkEnd

 ReadLnTimedOut

 RecvBufferSize

 ResultNo

 SendBufferSize

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdEcho Events

TIdEcho	Legend

TIdComponent

 OnStatus


Legend

 published


TIdEcho Methods

TIdEcho	Legend

TIdEcho

 Create

 Echo

TIdTCPClient

 Connect

 ConnectAndGetAll

 Create

 Destroy

TIdTCPConnection

 AllData

 CancelWriteBuffer

 Capture

 CheckForDisconnect

 CheckForGracefulDisconnect

 CheckResponse

 ClearWriteBuffer

 CloseWriteBuffer

 Connected

 Create

 CurrentReadBuffer

 CurrentReadBufferSize

 Destroy

 Disconnect

 DisconnectSocket

 ExtractXBytesFromBuffer

 FlushWriteBuffer

 GetResponse

 InputLn

 OpenWriteBuffer

 procedure RaiseExceptionForCmdResult; virtual; overload;

 procedure RaiseExceptionForCmdResult(axException: TClassIdException); virtual; overload;

 ReadBuffer

 ReadCardinal

 ReadFromStack

 ReadInteger

 ReadLn

 ReadLnWait

 ReadSmallInt

 ReadStream

 ReadString

 RemoveXBytesFromBuffer

 function SendCmd(const AOut: string; const AResponse: SmallInt): SmallInt; overload;

 function SendCmd(const AOut: string; const AResponse: Array of SmallInt): SmallInt; virtual; overload;

 WaitFor

 Write

 WriteBuffer

 WriteCardinal

 WriteFile

 WriteHeader

 WriteInteger

 WriteLn

 WriteSmallInt

 WriteStream

 WriteStrings

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdEcho Members

TIdEcho	Legend

Properties

 EchoTime

 Port

Methods

 Create

 Echo


Legend

 virtual

 published


TIdEcho.EchoTime

TIdEcho	See Also

Indicates the elapsed time needed to send and receive echo data.

property EchoTime: Cardinal;

Description

EchoTime is a Cardinal property that indicates the number of milliseconds required to send and receive data using the Echo method. Use EchoTime to determine when there may problems with the connection.

EchoTime is calculated using GetTickCount, from IdGlobal.pas, and represents the elapsed milliseconds from the start of the echo request until completion of the echo response. EchoTime is adjusted to reflect situations where GetTickCount reverts to a 0 (zero) value after the Echo transmission has been started.


See Also

GetTickCount


TIdEcho.Port

TIdEcho

Port number used for the connection.

property Port;

Description

Port is an Integer property that identifies the server port number server used for the client connection. By convention, some internet protocols reserve port number including:

21 - FTP

25 - SMTP

80 - HTTP

119 - NNTP

A client application may define it's own port to connect to a server running the same port.


TIdEcho.Create

TIdEcho	See Also

Creates a TIdEcho instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create constructs a properly initialized instance of TIdEcho using the inherited Create constructor, and initializes Port to the constant value IdPORT_ECHO (Decimal 7) as required by the Echo Protocol.

An application must initialize Host and call Connect prior to sending data using the Echo method. Call Disconnect prior to freeing the object instance.


See Also

IdPORT_ECHO


TIdEcho.Echo

TIdEcho	See Also

Sends and receives echo data.

function Echo(AText: String): String;

Parameters

AText: String

Data to send to the echo server.

Returns

String - Data received from the echo server.

Description

Echo is a String function that sends the text in AText to the echo server, and returns the text received from the echo server. If the returned value is not the same as the text in AText, there may be a problem with the server or the TCP connection.

Echo monitors the time needed to send the echo request and receive the echo response, and stores the elapsed time in EchoTime. Echo uses GetTickCount, from IdGlobal.pas, to retrieve both the starting and ending milliseconds measurements used to determine EchoTime. Echo can account for TickCount reverting to a 0 (zero) value after starting the Echo transmission.


See Also

GetTickCount


TIdECHOServer

Hierarchy	Members	Properties	Methods	See Also	Unit: IdEchoServer

Implements an Echo Protocol server.

TIdECHOServer = class(TIdTCPServer)

Description

TIdECHOServer implements the Echo Protocol (RFC 862) as a server. This is a useful debugging and measurement protocol where the data sent to the server is simply sent back to the client.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPServer

|

TIdECHOServer


TIdECHOServer Fields

TIdECHOServer


TIdECHOServer Properties

TIdECHOServer	Legend

TIdECHOServer

 DefaultPort

TIdTCPServer

 AcceptWait

 Active

 Bindings

 DefaultPort

 ImplicitThreadMgrCreated

 Intercept

 TerminateWaitTime

 ThreadClass

 ThreadMgr

 Threads

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdECHOServer Events

TIdECHOServer	Legend

TIdTCPServer

 OnConnect

 OnDisconnect

 OnExecute

TIdComponent

 OnStatus


Legend

 published


TIdECHOServer Methods

TIdECHOServer	Legend

TIdECHOServer

 Create

TIdTCPServer

 Create

 Destroy

 Loaded

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdECHOServer Members

TIdECHOServer	Legend

Properties

 DefaultPort

Methods

 Create


Legend

 virtual

 published


TIdECHOServer.DefaultPort

TIdECHOServer

Default port number for the server.

property DefaultPort;

Description

DefaultPort is a published property in TIdECHOServer that identifies the default port number for the server, as described in the Echo Protocol specification. The default value for DefaultPort is IdPORT_ECHO.


TIdECHOServer.Create

TIdECHOServer

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance, and initializes the new TIdEchoServer component and sets the default port to the standard port number used for Echo (IdPORT_ECHO).


TIdEMailAddressItem

Hierarchy	Members	Properties	Methods	See Also	Unit: IdEMailAddress

Represents the name an email address in RFC 822 form.

TIdEMailAddressItem = class(TCollectionItem)

Description

The TIdEMailAddressItem object structures a person's name and E-Mail address into a RFC 822-compliant form and can parse a RFC 822 compliant E-Mail address into the person's name and E-Mail address. In addition, encoding and decoding required for some languages is also built in.


See Also

Technical Support


Class Hierarchy

TCollectionItem

|

TIdEMailAddressItem


TIdEMailAddressItem Fields

TIdEMailAddressItem


TIdEMailAddressItem Properties

TIdEMailAddressItem	Legend

TIdEMailAddressItem

 Address

 Name

 Text


Legend

 published


TIdEMailAddressItem Events

TIdEMailAddressItem


TIdEMailAddressItem Methods

TIdEMailAddressItem	Legend

TIdEMailAddressItem

 Assign


Legend

 virtual


TIdEMailAddressItem Members

TIdEMailAddressItem	Legend

Properties

 Address

 Name

 Text

Methods

 Assign


Legend

 virtual

 published


TIdEMailAddressItem.Address

TIdEMailAddressItem

Represents the person's Email address.

property Address: string;

Description

Address is a String property that represents the person's Email address in RFC 822-compliant form. Updating Name or Address causes Text to be updated to reflect the new email address. For example:

  AEmail.Text := '"John Doe" <jdoe@some.net>';

  // AEmail.Name contains '"John Doe"'

  // AEmail.Address contains 'jdoe@some.net'

  AEmail.Name := 'Jane Doe';

  AEmail.Address := 'janed@another.net';

  // AEmail.Text contains 'Jane Doe <janed@another.net>'


TIdEMailAddressItem.Name

TIdEMailAddressItem

Represents the person's name.

property Name: string;

Description

Name is a String property that represents the person's name in the Email address. Updating Name or Address causes Text to be updated to reflect the new email address. For example:

  AEmail.Text := '"John Doe" <jdoe@some.net>';

  // AEmail.Name contains '"John Doe"'

  // AEmail.Address contains 'jdoe@some.net'

  AEmail.Name := 'Jane Doe';

  AEmail.Address := 'janed@another.net';

  // AEmail.Text contains 'Jane Doe <janed@another.net>'


TIdEMailAddressItem.Text

TIdEMailAddressItem

Represents the person's name and email address.

property Text: String;

Description

Text is a String property that represents the person's name and email address in RFC 822-compliant form. Text can be used to set both the Name and Address for the TIdEMailAddressItem by providing an RFC 822-compliant string. For example:

  AEmail.Text := '"John Doe" <jdoe@some.net>';

  // AEmail.Name contains '"John Doe"'

  // AEmail.Address contains 'jdoe@some.net'

  AEmail.Name := 'Jane Doe';

  AEmail.Address := 'janed@another.net';

  // AEmail.Text contains 'Jane Doe <janed@another.net>'


TIdEMailAddressItem.Assign

TIdEMailAddressItem

Copies the properties of an Email Address item.

procedure Assign(Source: TPersistent); override;

Parameters

Source: TPersistent

Persistent class to be assigned to the current object instance.

Description

Assign is an overloaded procedure that allows the persistent TIdEmailAddressItem to assign the values in another instance to the current instance.

Assign copies the values of the Name and Address members when ASource is another TIdEmailAddessItem instance. Otherwise, Assign relies on the inherited Assign method.


TIdEMailAddressList

Hierarchy	Members	Properties	Methods	See Also	Unit: IdEMailAddress

Represents a collection of email addresses.

TIdEMailAddressList = class(TOwnedCollection)

Description

TIdEMailAddressList is a collection that contains a list of E-Mail addresses, TIdEMailAddressItem objects, which can be imported and exported in comma delimited form which is used in many E-Mail messages.


See Also

Technical Support


Class Hierarchy

TOwnedCollection

|

TIdEMailAddressList


TIdEMailAddressList Fields

TIdEMailAddressList


TIdEMailAddressList Properties

TIdEMailAddressList

TIdEMailAddressList

 EMailAddresses

 Items


TIdEMailAddressList Events

TIdEMailAddressList


TIdEMailAddressList Methods

TIdEMailAddressList

TIdEMailAddressList

 Add

 Create

 FillTStrings


TIdEMailAddressList Members

TIdEMailAddressList

Properties

 EMailAddresses

 Items

Methods

 Add

 Create

 FillTStrings


TIdEMailAddressList.EMailAddresses

TIdEMailAddressList

Comma-delimited list of email address.

property EMailAddresses: String;

Description

EMailAddresses is a comma separated list of formatted addresses including the names from the collection.


TIdEMailAddressList.Items

TIdEMailAddressList

Allows access to email addresses in the collection.

property Items [ Index: Integer ]: TIdEMailAddressItem;

Description

This property allows you to access individual TIdEMailAddressItems in the collection.


TIdEMailAddressList.Add

TIdEMailAddressList

Returns a new Email Address item.

function Add: TIdEMailAddressItem;

Description

Add is a function that returns a new TIdEMailAddressItem which is added to the TIdEMailAddressList collection.


TIdEMailAddressList.Create

TIdEMailAddressList

Constructor for the object instance.

constructor Create(AOwner: TPersistent);

Parameters

AOwner: TPersistent

Owner of the object instance.

Description

Create is the constructor for the object instance, reintroduced to allow assigning the owner of the list and the item added to the collection.


TIdEMailAddressList.FillTStrings

TIdEMailAddressList

Fills a string list with email address.

procedure FillTStrings(AStrings: TStrings);

Description

FillTStrings is a procedure used to fill a TStrings, specified by AStrings, with the formatted E-Mail addresses and names from the collection.


TIdFinger

Hierarchy	Members	Properties	Methods	See Also	Unit: IdFinger

Implements a Finger protocol client.

TIdFinger = class(TIdTCPClient)

Description

The TIdFinger implements the Finger User Information Protocol or Finger (RFC 1288) as a client. The finger protocol is an interface for a database of information about users on a remote system and could include information such as if they were logged in to the system, when they last read their E-Mail or sometimes information the user wishes to make available publicly (.plan file).


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPConnection

|

TIdTCPClient

|

TIdFinger


TIdFinger Fields

TIdFinger


TIdFinger Properties

TIdFinger	Legend

TIdFinger

 CompleteQuery

 Port

 Query

 VerboseOutput

TIdTCPClient

 BoundIP

 Host

 OnConnected

 Port

 SocksInfo

 UseNagle

TIdTCPConnection

 ASCIIFilter

 Binding

 ClosedGracefully

 CmdResult

 CmdResultDetails

 Intercept

 InterceptEnabled

 OnDisconnected

 OnWork

 OnWorkBegin

 OnWorkEnd

 ReadLnTimedOut

 RecvBufferSize

 ResultNo

 SendBufferSize

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdFinger Events

TIdFinger	Legend

TIdComponent

 OnStatus


Legend

 published


TIdFinger Methods

TIdFinger	Legend

TIdFinger

 Create

 Finger

TIdTCPClient

 Connect

 ConnectAndGetAll

 Create

 Destroy

TIdTCPConnection

 AllData

 CancelWriteBuffer

 Capture

 CheckForDisconnect

 CheckForGracefulDisconnect

 CheckResponse

 ClearWriteBuffer

 CloseWriteBuffer

 Connected

 Create

 CurrentReadBuffer

 CurrentReadBufferSize

 Destroy

 Disconnect

 DisconnectSocket

 ExtractXBytesFromBuffer

 FlushWriteBuffer

 GetResponse

 InputLn

 OpenWriteBuffer

 procedure RaiseExceptionForCmdResult; virtual; overload;

 procedure RaiseExceptionForCmdResult(axException: TClassIdException); virtual; overload;

 ReadBuffer

 ReadCardinal

 ReadFromStack

 ReadInteger

 ReadLn

 ReadLnWait

 ReadSmallInt

 ReadStream

 ReadString

 RemoveXBytesFromBuffer

 function SendCmd(const AOut: string; const AResponse: SmallInt): SmallInt; overload;

 function SendCmd(const AOut: string; const AResponse: Array of SmallInt): SmallInt; virtual; overload;

 WaitFor

 Write

 WriteBuffer

 WriteCardinal

 WriteFile

 WriteHeader

 WriteInteger

 WriteLn

 WriteSmallInt

 WriteStream

 WriteStrings

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdFinger Members

TIdFinger	Legend

Properties

 CompleteQuery

 Port

 Query

 VerboseOutput

Methods

 Create

 Finger


Legend

 virtual

 published


TIdFinger.CompleteQuery

TIdFinger

Identifies a complete query for the protocol.

property CompleteQuery: String;

Description

CompleteQuery is the complete Finger query such as "user@host". This property is a convenience for programs which prompt for a query in this form.


TIdFinger.Port

TIdFinger

Port number used for the connection.

property Port;

Description

Port is an Integer property that identifies the server port number server used for the client connection. By convention, some internet protocols reserve port number including:

21 - FTP

25 - SMTP

80 - HTTP

119 - NNTP

A client application may define it's own port to connect to a server running the same port.


TIdFinger.Query

TIdFinger

Specifies the query for the Finger method.

property Query: String;

Description

Query is the textual query sent to the server when you use the Finger method.


TIdFinger.VerboseOutput

TIdFinger

Instructs the server to provide detailed output.

property VerboseOutput: Boolean;

Description

VerboseOutput indicates to the server that it should give more detailed information than with a regular finger query. However, this will probably not work on many systems so it is set to False by default.


TIdFinger.Create

TIdFinger	See Also

Instantiates a TIdFinger instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create constructs a properly initialized instance of TIdFinger using the inherited Create constructor, and initializes Port to the constant value IdPORT_FINGER (Decimal 79) as required by the Finger Protocol.


See Also

IdPORT_FINGER


TIdFinger.Finger

TIdFinger

Perfoms a Finger query and retrieves the results.

function Finger: String;

Description

Finger connects to a finger server, does the finger query specified in the Query property, and returns the results of the query. Be sure that the Host property is set appropriately before using this method.


TIdFingerServer

Hierarchy	Members	Properties	Methods	Events	See Also	Unit: IdFingerServer

Specifies a FInger protocol server.

TIdFingerServer = class(TIdTCPServer)

Description

The TIdFingerServer helps to implement the Finger User Information Protocol or Finger (RFC 1288) as a server. The finger protocol is an interface for a database of information about users on a remote system and could include information such as if they were logged in to the system, when they last read their E-Mail or sometimes information the user wishes to make available publicly (.plan file).


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPServer

|

TIdFingerServer


TIdFingerServer Fields

TIdFingerServer


TIdFingerServer Properties

TIdFingerServer	Legend

TIdFingerServer

 DefaultPort

TIdTCPServer

 AcceptWait

 Active

 Bindings

 DefaultPort

 ImplicitThreadMgrCreated

 Intercept

 TerminateWaitTime

 ThreadClass

 ThreadMgr

 Threads

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdFingerServer Events

TIdFingerServer	Legend

TIdFingerServer

 OnCommandFinger

 OnCommandVerboseFinger

TIdTCPServer

 OnConnect

 OnDisconnect

 OnExecute

TIdComponent

 OnStatus


Legend

 published


TIdFingerServer Methods

TIdFingerServer	Legend

TIdFingerServer

 Create

TIdTCPServer

 Create

 Destroy

 Loaded

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdFingerServer Members

TIdFingerServer	Legend

Properties

 DefaultPort

Events

 OnCommandFinger

 OnCommandVerboseFinger

Methods

 Create


Legend

 virtual

 published


TIdFingerServer.DefaultPort

TIdFingerServer

Default port number for the server.

property DefaultPort;

Description

DefaultPort is a published property for TIdFingerServer that identifies the default port number for the server, as described in the Finger User Information Protocol specification. The default value for DefaultPort is IdPORT_FINGER.


TIdFingerServer.Create

TIdFingerServer

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Description

Create is the constructor for the object instance and creates a new TIdFingerServer component and sets the default port to the standard port number used for Finger (IdPORT_FINGER).


TIdFingerServer.OnCommandFinger

TIdFingerServer

Specifies an event handler for Finger requests.

property OnCommandFinger: TIdFingerGetEvent;

Description

OnCommandFinger is an event triggered whenever a user makes a finger request. AUserName is the query the client is making.

This event does not occur in the main program thread but in a worker thread (AThread).


TIdFingerServer.OnCommandVerboseFinger

TIdFingerServer

Specifies an event handler for verbose finger requests.

property OnCommandVerboseFinger: TIdFingerGetEvent;

Description

OnCommandVerboseFinger is an event triggered whenever a user makes a verbose finger request. AUserName is the query the client is making. This event does not occur in the main program thread but in a worker thread (AThread:)

If this event is not set, the verbose finger request triggers the OnCommandFinger.


TIdFTP

Hierarchy	Members	Properties	Methods	See Also	Unit: IdFTP

Implements a File Transfer Protocol (FTP) client.

TIdFTP = class(TIdTCPClient)

Description

TIdFtp implements a File Transfer Protocol (FTP) client as described in the Internet Standards document:

File Transfer Protocol (FTP), RFC 959, by J. Postel and J. Reynolds, October 1985.

FTP is a basic file-sharing system for uploading and downloading files, as well as managing files and directories. The FTP protocol is commonly used for software distribution, uploading files to a web-server, and providing archives for various purposes.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPConnection

|

TIdTCPClient

|

TIdFTP


TIdFTP Fields

TIdFTP


TIdFTP Properties

TIdFTP	Legend

TIdFTP

 Passive

 Password

 Port

 SystemDesc

 TransferType

 User

TIdTCPClient

 BoundIP

 Host

 OnConnected

 Port

 SocksInfo

 UseNagle

TIdTCPConnection

 ASCIIFilter

 Binding

 ClosedGracefully

 CmdResult

 CmdResultDetails

 Intercept

 InterceptEnabled

 OnDisconnected

 OnWork

 OnWorkBegin

 OnWorkEnd

 ReadLnTimedOut

 RecvBufferSize

 ResultNo

 SendBufferSize

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdFTP Events

TIdFTP	Legend

TIdComponent

 OnStatus


Legend

 published


TIdFTP Methods

TIdFTP	Legend

TIdFTP

 Abort

 ChangeDir

 ChangeDirUp

 Connect

 Create

 Delete

 procedure Get(const ASourceFile: string; ADest: TStream); overload;

 procedure Get(const ASourceFile: string; const ADestFile: string; const ACanOverwrite: boolean); overload;

 KillDataChannel

 List

 MakeDir

 Noop

 procedure Put(const ASource: TStream; const ADestFile: string; const AAppend: boolean); overload;

 procedure Put(const ASourceFile: string; const ADestFile: string; const AAppend: boolean); overload;

 Quit

 RemoveDir

 Rename

 RetrieveCurrentDir

 Site

 Size

TIdTCPClient

 Connect

 ConnectAndGetAll

 Create

 Destroy

TIdTCPConnection

 AllData

 CancelWriteBuffer

 Capture

 CheckForDisconnect

 CheckForGracefulDisconnect

 CheckResponse

 ClearWriteBuffer

 CloseWriteBuffer

 Connected

 Create

 CurrentReadBuffer

 CurrentReadBufferSize

 Destroy

 Disconnect

 DisconnectSocket

 ExtractXBytesFromBuffer

 FlushWriteBuffer

 GetResponse

 InputLn

 OpenWriteBuffer

 procedure RaiseExceptionForCmdResult; virtual; overload;

 procedure RaiseExceptionForCmdResult(axException: TClassIdException); virtual; overload;

 ReadBuffer

 ReadCardinal

 ReadFromStack

 ReadInteger

 ReadLn

 ReadLnWait

 ReadSmallInt

 ReadStream

 ReadString

 RemoveXBytesFromBuffer

 function SendCmd(const AOut: string; const AResponse: SmallInt): SmallInt; overload;

 function SendCmd(const AOut: string; const AResponse: Array of SmallInt): SmallInt; virtual; overload;

 WaitFor

 Write

 WriteBuffer

 WriteCardinal

 WriteFile

 WriteHeader

 WriteInteger

 WriteLn

 WriteSmallInt

 WriteStream

 WriteStrings

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdFTP Members

TIdFTP	Legend

Properties

 Passive

 Password

 Port

 SystemDesc

 TransferType

 User

Methods

 Abort

 ChangeDir

 ChangeDirUp

 Connect

 Create

 Delete

 procedure Get(const ASourceFile: string; ADest: TStream); overload;

 procedure Get(const ASourceFile: string; const ADestFile: string; const ACanOverwrite: boolean); overload;

 KillDataChannel

 List

 MakeDir

 Noop

 procedure Put(const ASource: TStream; const ADestFile: string; const AAppend: boolean); overload;

 procedure Put(const ASourceFile: string; const ADestFile: string; const AAppend: boolean); overload;

 Quit

 RemoveDir

 Rename

 RetrieveCurrentDir

 Site

 Size


Legend

 virtual

 published


TIdFTP.Passive

TIdFTP

Determines the FTP data connection method.

property Passive: boolean;

Description

Passive is a Boolean property that determines how a File Transfer Protocol Data connection is made.

If Passive is set to False, the PORT method is used. In this method, TIdFTP uses the TIdSimpleServer to listen for a data connection which is established by the server and the PORT command tells the server where to connect to TIdFTP.

If Passive is set to True, the PASV method is used. In this method, TIdFTP issues the PASV command and the server tells TIdFTP where to establish the data connection. TIdFTP than connects to the server where the server indicated using TIdTCPClient. This method is sometimes used with some proxy configurations. However, some proxy configurations require PORT transfers and some FTP servers do not support PASV transfers.


TIdFTP.Password

TIdFTP	See Also

Password for FTP Login.

property Password: string;

Description

Password is a String property used, in conjunction with User, during Login to the FTP server. Anonymous FTP, by convention, requires the user's EMail address in the Password property.


See Also

TIdFTP.User


TIdFTP.Port

TIdFTP

Port number used for the connection.

property Port;

Description

Port is an Integer property that identifies the server port number server used for the client connection. By convention, some internet protocols reserve port number including:

21 - FTP

25 - SMTP

80 - HTTP

119 - NNTP

A client application may define it's own port to connect to a server running the same port.


TIdFTP.SystemDesc

TIdFTP

Description of the FTP server.

property SystemDesc: string;

Description

SystemDesc is a String property that contians a description of the FTP server. SystemDesc normally contains the name of the operating system for the FTP server, but the value of SystemDesc can be server-specififc.


TIdFTP.TransferType

TIdFTP

Indicates the file transfer type.

property TransferType: TIdFTPTransferType;

Description

TransferType is a TIdFTPTransferType property that indicates the file transfer type currently in use for the FTP client, and can contain one of the following values:

ftBinary - Binary (8 bit) file transfers

ftASCII - ASCII (7 bit) file transfers

An application should use the ftBinary transfer type for transferring executables, compressed files, graphics, and multimedia files. Use the ftASCII transfer type for 7bit ASCII files, such as text or Hyper Text Markup Language.


TIdFTP.User

TIdFTP

User name for login to the FTP server.

property User: string;

Description

User is a String property that indicates the name of the user used to login to the FTP server. For anonymous file-transfers, User will contain the text "anonymous".


TIdFTP.Abort

TIdFTP

Stops an FTP service operation.

procedure Abort; virtual;

Description

Abort is a procedure that instructs the FTP server to interrupt the previous FTP service command, and any associated transfer of data. Abort does not affect the control connection for the FTP client, but forces the data connection to be closed.


TIdFTP.ChangeDir

TIdFTP

Changes the current directory on the FTP server.

procedure ChangeDir(const ADirName: string);

Description

This changes the current directory to a subdirectory (specified by the ADirName parameter) on the FTP server. If you need to move up a directory on the server's file-system, use the ChangeDirUp method.


TIdFTP.ChangeDirUp

TIdFTP

Changes to the parent directory on the FTP server.

procedure ChangeDirUp;

Description

This changes the current directory up a directory on the server's file-system. If you wish to move to a subdirectory, use the ChangeDir method.


TIdFTP.Connect

TIdFTP

Opens a connection to the FTP server.

procedure Connect(AutoLogin: Boolean);

Parameters

AutoLogin: Boolean = true

Login the user when connected. Default value is True.

Description

Connect is a procedure that opens the connection to an FTP server identified in the Host property. Connect relies on the inherited Connect method to open the socket handle. Connect can raise an Exception when the server connection cannot be established.

When AutoLogin is True, the Connect method will send the authentication information in the User and Password properties to the FTP server. This action also triggers the FTP SYST command to identify the host FTP server, and stores the return value in SystemDesc.


TIdFTP.Create

TIdFTP	See Also

Instantiates a TIdFTP instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create constructs a properly initialized instance of TIdFTP using the inherited Create constructor, and initializes Port to the constant value IdPORT_FTP (Decimal 21) as required by the File Transfer Protocol.


See Also

IdPORT_FTP


TIdFTP.Delete

TIdFTP

Remove a file on the FTP server.

procedure Delete(const AFilename: string);

Description

Delete is a procedure that removes the file specified by AFilename. Some servers may not give the user permission to delete files.


TIdFTP.Get

TIdFTP

Retrieves a file using the FTP protocol.

procedure Get(const ASourceFile: string; ADest: TStream); overload;
procedure Get(const ASourceFile: string; const ADestFile: string; const ACanOverwrite: boolean); overload;

Parameters

const ASourceFile: string

File name on the FTP server.

ADest: TStream

File name and optional path on the local machine.

Description

This command downloads a file to the FTP server with the name ASourceFile. Setting the AAppend to True causes the TIdFTP to append the file being downloaded to one which exists on the local machine. The file being downloaded could be either a stream (ADest) or a file name (ADestFile) which TIdFTP can create.


TIdFTP.Get

TIdFTP

Retrieves a file using the FTP protocol.

procedure Get(const ASourceFile: string; ADest: TStream); overload;
procedure Get(const ASourceFile: string; const ADestFile: string; const ACanOverwrite: boolean); overload;

Parameters

const ASourceFile: string

File name on the FTP server.

const ADestFile: string

File name and optional path on the local machine.

const ACanOverwrite: boolean = false

File can overwrite an existing file of the same name. Default value is False.

Description

This command downloads a file to the FTP server with the name ASourceFile. Setting the AAppend to True causes the TIdFTP to append the file being downloaded to one which exists on the local machine. The file being downloaded could be either a stream (ADest) or a file name (ADestFile) which TIdFTP can create.


TIdFTP.KillDataChannel

TIdFTP	See Also

Closes the FTP data channel.

procedure KillDataChannel; virtual;

Description

KillDataChannel is a procedure used to force the FTP data channel to be closed. Files are sent or received using the data channel. KillDataChannel closes the socket handle used for the connection.

KillDataChannel is used by the Abort method.


See Also

TIdFTP.Abort


TIdFTP.List

TIdFTP	Example 1

Gets a list of files and directories on the FTP server.

procedure List(ADest: TStrings; const ASpecifier: string; const ADetails: boolean);

Parameters

ADest: TStrings

List for files and directories in the current directory.

const ASpecifier: string = ''

File mask for the listing. Default value is ''.

const ADetails: boolean = true

Include file details. Default value is True.

Description

List is a procedure used to request a list of files or directories in the current directory on the FTP server.

ADest is the TStringList used to store the information requested.

ASpecifier is a String that contains a mask indicating the files and/or directories to be included in the listing. ASpecifier can contain common wildcard characters like '*' and '?'. Some useful masks include:

*.* - All files in the current directory.

* - All directory entries in the current directory.

*. - All files regardless of extension in the current directory.

A??.txt - All text files that have a 3-character name starting with 'A'.

ADetails is a Boolean that indicates if the list should contain details about the files and directories that match the mask in ASpecifier.

When ADetails is False, only the file or directory name is returned in the ADest string list.

When ADetails is True, List can return FTP server-dependent details including the file size, date modified, and file permissions for the Owner, Group, and User.

An application must be able to parse the detailed list format based on the FTP server type identified in SystemDesc.


TIdFTP.List, Example 1
Example 1

TIdFTP.List

    AFiles := TStringList.Create;

    AFtp.List(AFiles, '*.zip', True);


TIdFTP.MakeDir

TIdFTP	Example 1

Create a directory on the FTP server.

procedure MakeDir(const ADirName: string);

Parameters

const ADirName: string

Directory to create.

Description

MakeDir is a procedure that requests creation of a directory on the FTP server. Some FTP servers may not allow the user to create new directories.

ADirName is a String that identifies the directory to be created on the FTP server. ADirName must conform to the file naming conventions for the FTP server, or an FTP error response code and message will be returned.


TIdFTP.MakeDir, Example 1
Example 1

TIdFTP.MakeDir

    AFtp.MakeDir('MyFiles');


TIdFTP.Noop

TIdFTP

Send a Keep-Alive signal to the FTP server.

procedure Noop;

Description

Noop is a method that sends a keep-alive signal to the FTP server. Noop is sometimes use to prevent the FTP server from closing a connection which is idle for a long period.


TIdFTP.Put

TIdFTP

Uploads a file to an FTP server.

procedure Put(const ASource: TStream; const ADestFile: string; const AAppend: boolean); overload;
procedure Put(const ASourceFile: string; const ADestFile: string; const AAppend: boolean); overload;

Parameters

const ASource: TStream

File containing data to be uploaded.

const ADestFile: string = ''

Destination file name on the remote FTP server.

const AAppend: boolean = false

Default value is False.

Description

Put is an overloaded procedure that uploads data to a file with the name specified in ADestFile on the FTP server. The uploaded data can be either a stream (ASource) or a name of a file which exists on the user's computer (ASourceFile).

Setting AAppend to True causes the server to append the file being uploaded to one which already exists on the FTP server.


TIdFTP.Put

TIdFTP

Uploads a file to an FTP server.

procedure Put(const ASource: TStream; const ADestFile: string; const AAppend: boolean); overload;
procedure Put(const ASourceFile: string; const ADestFile: string; const AAppend: boolean); overload;

Parameters

const ASourceFile: string

File containing data to be uploaded.

const ADestFile: string = ''

Destination file name on the remote FTP server.

const AAppend: boolean = false

Default value is False.

Description

Put is an overloaded procedure that uploads data to a file with the name specified in ADestFile on the FTP server. The uploaded data can be either a stream (ASource) or a name of a file which exists on the user's computer (ASourceFile).

Setting AAppend to True causes the server to append the file being uploaded to one which already exists on the FTP server.


TIdFTP.Quit

TIdFTP	See Also

Closes the FTP client connection.

procedure Quit;

Description

Quit is a procedure used to close a user connection to the FTP server when a file transfer operation is not in progress. Quit closes the control channel for the FTP client. An application should call Abort, when a file transfer is in progress, prior to calling the Quit method.


See Also

TIdFTP.Abort


TIdFTP.RemoveDir

TIdFTP	Example 1

Remove a directory on the FTP server.

procedure RemoveDir(const ADirName: string);

Parameters

const ADirName: string

Directory to be removed.

Description

RemoveDir is a procedure used to request that the directory in ADirName be removed from the FTP server. Some FTP servers do not allow users to remove directory entries.


TIdFTP.RemoveDir, Example 1
Example 1

TIdFTP.RemoveDir

    AFtp.ChangeDir('myfiles');

    AFtp.RemoveDir('oldfiles');

    AFtp.ChangeDirUp;


TIdFTP.Rename

TIdFTP

Change the name of a file on the FTP server.

procedure Rename(const ASourceFile: string; const ADestFile: string);

Parameters

const ASourceFile: string

Original file name.

const ADestFile: string

New file name.

Description

Rename is a method used to request that the FTP server rename a file from ASourceFile to ADestFile.


TIdFTP.RetrieveCurrentDir

TIdFTP	Example 1

Gets the current directory name on the FTP server.

function RetrieveCurrentDir: string;

Returns

String - Current directory name.

Description

RetrieveCurrentDir is a String function that returns the name of the present working directory, or current directory, on the FTP server.

The return value for RetrieveCurrentDir will contain the current directory name with leading and trailing quote (") characters removed.

Use ChangeDir or ChangeDirUp to select the current directory by path or relative position in the directory hierarchy.


TIdFTP.RetrieveCurrentDir, Example 1
Example 1

TIdFTP.RetrieveCurrentDir

    AFtp.ChangeDirUp;

    CurDirEdit.Text := AFtp.RetrieveCurrentDir;


TIdFTP.Site

TIdFTP

Sends an FTP server site command.

procedure Site(const ACommand: string);

Parameters

const ACommand: string

Server site command to perform.

Description

Site is a procedure used to send a site-specific FTP command directly to the FTP server. Site is used by an FTP server to provide services specific to the host system that are essential to file transfer, but not sufficiently universal to be included as commands in the FTP protocol.

Use the FTP HELP SITE command to discover the commands and syntax requirements for the specific FTP server.


TIdFTP.Size

TIdFTP	Example 1

Gets file size information from the FTP server.

function Size(const AFileName: String): Integer;

Parameters

const AFileName: String

The file name.

Returns

Integer - Size of the file or -1 when unknown.

Description

Size is an Integer function used to retrieve file size information for the file specified in AFilename from the FTP server.


TIdFTP.Size, Example 1
Example 1

TIdFTP.Size

  iSize := AFtp.Size('image.jpg');

  if (iSize <> -1) and (iSize < GetDiskSpace('D:')) then

    AFtp.Get('image.jpg', 'd:tempimage.jpg', True);


TIdGopher

Hierarchy	Members	Properties	Methods	Events	See Also	Unit: IdGopher

Implements a Gopher client.

TIdGopher = class(TIdTCPClient)

Description

The TIdGopher is a client implementation of the Internet Gopher protocol (RFC 1436) as described in the Internet Standards document:

The Internet Gopher Protocol, RFC 1436, by F. Anklesaria, M. McCahill, P. Lindner, D. Johnson, D. Torrey and B. Alberti, March 1993

TIdGopher also implements partial support for the Gopher+ protocol as described in the document:

Gopher+, Upward-Compatible Enhancements to the Internet Gopher protocol, by Farhad Anklesaria, Paul Lindner, Mark P. McCahill, Daniel Torrey, David Johnson, and Bob Alberti, July 1993 )

Gopher is a distributed document system developed at the University of Minnesota as an attempt to make locating information resources intuitive for users through a series of structured menus leading to documents or pointers to other protocols such as Telnet and TN3270. While this has been succeeded by the World Wide Web, this is still useful for accessing legacy systems and has a low overhead due to its simplicity and structure.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPConnection

|

TIdTCPClient

|

TIdGopher


TIdGopher Fields

TIdGopher


TIdGopher Properties

TIdGopher	Legend

TIdGopher

 Port

TIdTCPClient

 BoundIP

 Host

 OnConnected

 Port

 SocksInfo

 UseNagle

TIdTCPConnection

 ASCIIFilter

 Binding

 ClosedGracefully

 CmdResult

 CmdResultDetails

 Intercept

 InterceptEnabled

 OnDisconnected

 OnWork

 OnWorkBegin

 OnWorkEnd

 ReadLnTimedOut

 RecvBufferSize

 ResultNo

 SendBufferSize

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdGopher Events

TIdGopher	Legend

TIdGopher

 OnMenuItem

TIdComponent

 OnStatus


Legend

 published


TIdGopher Methods

TIdGopher	Legend

TIdGopher

 Create

 GetExtendedMenu

 GetFile

 GetMenu

 GetTextFile

 Search

TIdTCPClient

 Connect

 ConnectAndGetAll

 Create

 Destroy

TIdTCPConnection

 AllData

 CancelWriteBuffer

 Capture

 CheckForDisconnect

 CheckForGracefulDisconnect

 CheckResponse

 ClearWriteBuffer

 CloseWriteBuffer

 Connected

 Create

 CurrentReadBuffer

 CurrentReadBufferSize

 Destroy

 Disconnect

 DisconnectSocket

 ExtractXBytesFromBuffer

 FlushWriteBuffer

 GetResponse

 InputLn

 OpenWriteBuffer

 procedure RaiseExceptionForCmdResult; virtual; overload;

 procedure RaiseExceptionForCmdResult(axException: TClassIdException); virtual; overload;

 ReadBuffer

 ReadCardinal

 ReadFromStack

 ReadInteger

 ReadLn

 ReadLnWait

 ReadSmallInt

 ReadStream

 ReadString

 RemoveXBytesFromBuffer

 function SendCmd(const AOut: string; const AResponse: SmallInt): SmallInt; overload;

 function SendCmd(const AOut: string; const AResponse: Array of SmallInt): SmallInt; virtual; overload;

 WaitFor

 Write

 WriteBuffer

 WriteCardinal

 WriteFile

 WriteHeader

 WriteInteger

 WriteLn

 WriteSmallInt

 WriteStream

 WriteStrings

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdGopher Members

TIdGopher	Legend

Properties

 Port

Events

 OnMenuItem

Methods

 Create

 GetExtendedMenu

 GetFile

 GetMenu

 GetTextFile

 Search


Legend

 virtual

 published


TIdGopher.Port

TIdGopher

Port number for the connection to the Gopher server.

property Port;

Description

Port is an Integer property that identifies the port number for connecting to a Gopher server. The default value for Port is IdPORT_GOPHER, as described in the Gopher protocol specification.


TIdGopher.Create

TIdGopher	See Also

Instantiates a TIdGopher instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create constructs a properly initialized instance of TIdGopher using the inherited Create constructor, and initializes Port to the constant value IdPORT_GOPHER (Decimal 70) as required by the Gopher Protocol.


See Also

IdPORT_GOPHER


TIdGopher.GetExtendedMenu

TIdGopher

Gets the Gopher+ extended menu.

function GetExtendedMenu(ASelector: String; AView: String): TIdGopherMenu;

Parameters

ASelector: String

the selector used to retrieve the gopher menu AView - alternative views listed for the item you are retrieving for a Gopher + server.

AView: String = ''

Returns

TIdGopherMenu - Gopher+ extended menu or standard menu.

Description

GetExtendedMenu is a TIdGopherMenu function that gets an extended Gopher+ menu including additional Gopher+ information. GetExtendedMenu will also retrieve the standard Gopher menu if the server does not support Gopher+.

We do not recommend that you use this procedure unless you are sure the server supports Gopher+ because a constant used in the Gopher+ Protocol greeting will conflict with the menu item type constant IdGopherItem_Redundant which could appear in the menu as a first item. To determine if a Gopher Server supports Gopher+, use the TIdGopherMenuItem.GopherPlusItem property from the gopher menu which is referring to the item you want.

The application is responsible for freeing the TIdGopherMenu returned by this function.


TIdGopher.GetFile

TIdGopher	See Also

Retrieve a Gopher Binary File.

procedure GetFile(ASelector: String; ADestStream: TStream; IsGopherPlus: Boolean; AView: String);

Parameters

ASelector: String

the selector used to retrieve the file.

ADestStream: TStream

DEstination for the retrieved file.

IsGopherPlus: Boolean = False

Server supports Gopher+. Default value is False.

AView: String = ''

Alternate view listed. Default value is ''.

Description

GetFile is a procedure used to retrieve a binary Gopher File and store its content in ADestStream. ISGopherPlus should be set to True for Gopher+ servers, or False for non-Gopher+ servers where a file name can start with "+". AView is an alternative view listed for the file you are retrieving with Gopher+.

If you are retrieving a text file, use the GetTextFile method because GetFile will include the "." end of text file marker.


See Also

TIdGopher.GetTextFile


TIdGopher.GetMenu

TIdGopher

Retrieves the Gopher menu.

function GetMenu(ASelector: String; IsGopherPlus: Boolean; AView: String): TIdGopherMenu;

Parameters

ASelector: String

the selector for the Gopher item or an empty string to get the root item. IsGopherPlus - Server supports Gopher+. Default value is False.

IsGopherPlus: Boolean = False

Alternative view listed. Default value is ''.

AView: String = ''

Returns

TIdGopherMenu - The standard Gopher menu.

Description

GetMenu is a TIdGopherMenu function used to retrieve a Gopher Menu. ISGopherPlus should be set to true for Gopher+ servers or false for non-gopher plus servers in case a menu starts with a "+". AView is an alternative view listed for the menu you are retrieving with Gopher+.

The application is responsible for freeing the TIdGopherMenu returned by this function.


TIdGopher.GetTextFile

TIdGopher	See Also

Retrieve a Gopher text File.

procedure GetTextFile(ASelector: String; ADestStream: TStream; IsGopherPlus: Boolean; AView: String);

Parameters

ASelector: String

the selector used to retrieve the file.

ADestStream: TStream

DEstination for the retrieved file.

IsGopherPlus: Boolean = False

Server supports Gopher+. Default value is False.

AView: String = ''

Alternate view listed. Default value is ''.

Description

GetTextFile is a procedure used to retrieve a Gopher Text File and store its content in ADestStream. ISGopherPlus should be set to True for Gopher+ servers, or False for non-Gopher+ servers where a file name can start with "+". AView is an alternative view listed for the file you are retrieving with Gopher+.

If you are retrieving a text file, use the GetFile method because GetTextFile will stop reading if it encounters the "." end of text file marker.


See Also

TIdGopher.GetFile


TIdGopher.Search

TIdGopher

Perform a Gopher search using a query.

function Search(ASelector: String; AQuery: String): TIdGopherMenu;

Parameters

ASelector: String

the selector for the gopher item AQuery - the Gopher query string.

AQuery: String

Returns

TIdGopherMenu - The Gopher menu returned for the query.

Description

Search is a TIdGopherMenu function used to perform a Gopher search with the query specified by AQuery, and returns a Gopher Menu resulting from the search. Gopher+ syntax is not supported in AQuery.

The application is responsible for freeing the TIdGopherMenu returned by this function.


TIdGopher.OnMenuItem

TIdGopher

Event handler for retrieved Gopher menu items.

property OnMenuItem: TIdGopherMenuEvent;

Description

OnMenuItem is a TIdGopherMenuEvent event handler that is triggered for each menu item retrieved with the GetMenu, Search, and GetExtendedMenu methods. OnMenuItem is used to display gopher menu items while the complete menu is downloaded.

An application must assign a procedure to the event handler in order to respond to the event notification.


TIdGopherMenu

Hierarchy	Members	Properties	Methods	See Also	Unit: IdGopher

Collection of Gopher menu items.

TIdGopherMenu = class(TCollection)

Description

TIdGopherMenu is a collection of TIdGopherMenuItem instances, and encapsulates a Gopher menu or a Gopher + Extended Menu. TIdGopherMenu is returned by the following:

TIdGopher.GetExtendedMenu

TIdGopher.GetMenu

TIdGopher.Search


See Also

Technical Support

TIdGopher.GetExtendedMenu

TIdGopher.GetMenu

TIdGopher.Search


Class Hierarchy

TCollection

|

TIdGopherMenu


TIdGopherMenu Fields

TIdGopherMenu


TIdGopherMenu Properties

TIdGopherMenu

TIdGopherMenu

 Items


TIdGopherMenu Events

TIdGopherMenu


TIdGopherMenu Methods

TIdGopherMenu

TIdGopherMenu

 Add

 Create


TIdGopherMenu Members

TIdGopherMenu

Properties

 Items

Methods

 Add

 Create


TIdGopherMenu.Items

TIdGopherMenu

Gopher menu items in the collection.

property Items [ Index: Integer ]: TIdGopherMenuItem;

Description

Items is an indexed TIdGopherMenuItem property that provides access to the individual Gopher menu items in the collection. Index values can range from 0 to Count-1. Items is the default property for TIdGopherMenu.


TIdGopherMenu.Add

TIdGopherMenu

Add a new Gopher menu item.

function Add: TIdGopherMenuItem;

Returns

TIdGopherMenuItem - Gopher menu item added to the collection.

Description

Add is a TIdGopherMenuItem function that returns a new TIdGopherMenuItem and adds it to the TIdGopherMenu collection. It is primarily for Internal use in the TIdGopher component.


TIdGopherMenu.Create

TIdGopherMenu

Constructor for the object instance

constructor Create;

Description

Create is the constructor for the object instance, and is used by TIdGopher.GetMenu and TIdGopher.GetExtendedMenu to create the menu for the Gopher selector.


TIdGopherMenuItem

Hierarchy	Members	Properties	Methods	See Also	Unit: IdGopher

Implements a Gopher menu item.

TIdGopherMenuItem = class(TCollectionItem)

Description

TIdGopherMenuItem implements an Internet Gopher menu item as described in the Internet Standards document:

The Internet Gopher Protocol, RFC 1436, by F. Anklesaria, M. McCahill, P. Lindner, D. Johnson, D. Torrey and B. Alberti, March 1993

TIdGopherMenuItem also implements support for the Gopher+ item block as described in the document:

Gopher+, Upward-Compatible Enhancements to the Internet Gopher protocol, by Farhad Anklesaria, Paul Lindner, Mark P. McCahill, Daniel Torrey, David Johnson, and Bob Alberti, July 1993 )


See Also

Technical Support


Class Hierarchy

TCollectionItem

|

TIdGopherMenuItem


TIdGopherMenuItem Fields

TIdGopherMenuItem


TIdGopherMenuItem Properties

TIdGopherMenuItem

TIdGopherMenuItem

 AAbstract

 AdminEMail

 Ask

 Geog

 GopherBlock

 GopherPlusItem

 ItemType

 LastModified

 Location

 Organization

 Port

 Selector

 Server

 Title

 URL

 Views


TIdGopherMenuItem Events

TIdGopherMenuItem


TIdGopherMenuItem Methods

TIdGopherMenuItem	Legend

TIdGopherMenuItem

 Create

 Destroy

 DoneSettingInfoBlock


Legend

 virtual


TIdGopherMenuItem Members

TIdGopherMenuItem	Legend

Properties

 AAbstract

 AdminEMail

 Ask

 Geog

 GopherBlock

 GopherPlusItem

 ItemType

 LastModified

 Location

 Organization

 Port

 Selector

 Server

 Title

 URL

 Views

Methods

 Create

 Destroy

 DoneSettingInfoBlock


Legend

 virtual


TIdGopherMenuItem.AAbstract

TIdGopherMenuItem

Summary for the Gopher item.

property AAbstract: TStringList;

Description

AAbstract is a read-only TStringList property that contains a summary for the Gopher item; e.g. "Read about our great products". AAbstract is available if you use the GetExtendedMenu method and the Gopher Server supports the Gopher+ protocol.

We had to name this property AAbstract because Abstract is a reserved word.


TIdGopherMenuItem.AdminEMail

TIdGopherMenuItem

E-Mail address of the item maintainer.

property AdminEMail: TIdEMailAddressItem;

Description

AdminEMail is a read-only String property that identifies the E-Mail address of the person responsible for maintaining the gopher item. AdminEMail is available only when you use the GetExtendedMenu method and the Gopher Server supports the Gopher+ protocol.


TIdGopherMenuItem.Ask

TIdGopherMenuItem

Values used to prompt the user for specific actions.

property Ask: TIdHeaderList;

Description

Ask is a read-only TIdHeaderList property that contains Gopher+ information used to prompt users for query values. TIdGopher does not support ASK block usage. Ask is available if you use the GetExtendedMenu method and the Gopher Server supports the Gopher+ protocol.


TIdGopherMenuItem.Geog

TIdGopherMenuItem

Geographic coordinates for the Gopher server.

property Geog: String;

Description

Geog is a read-only String property used to identify the latitude and longitude of the Gopher server and is normally found on the Root item. Geog is available if you use the GetExtendedMenu method and the Gopher Server supports the Gopher+ protocol.


TIdGopherMenuItem.GopherBlock

TIdGopherMenuItem

The Gopher+ information block.

property GopherBlock: TIdHeaderList;

Description

GopherBlock is a read-only TIdHeaderList property that contains complete extended Gopher+ information block. This is only available if you use the GetExtendedMenu method and the Gopher Server supports the Gopher+ protocol.


TIdGopherMenuItem.GopherPlusItem

TIdGopherMenuItem

Indicates the item is on a Gopher+ server.

property GopherPlusItem: Boolean;

Description

GopherPlusItem is a Boolean property that indicates if the item is on a Gopher+ server. When GopherPlusItem is True, use GetExtendedMenus to access the Gopher menus.


TIdGopherMenuItem.ItemType

TIdGopherMenuItem

Indicates the Gopher menu type.

property ItemType: Char;

Description

ItemType is a Char property that indicates the Gopher menu item type. The menu item types are defined in the IdGopherConsts unit are usually the following:

IdGopherItem_Document - Item is a file

IdGopherItem_Directory - Item is a directory

IdGopherItem_CSO - Item is a CSO phone-book server

IdGopherItem_Error - Error

IdGopherItem_BinHex - Item is a BinHexed Macintosh file.

IdGopherItem_BinDOS - Item is DOS binary archive of some sort.

IdGopherItem_UUE - Item is a UNIX UUEncoded file.

IdGopherItem_Search - Item is an Index-Search server.

IdGopherItem_Telnet - Item points to a text-based telnet session.

IdGopherItem_Binary - Item is a binary file.

IdGopherItem_Redundant - Item is a redundant server

IdGopherItem_TN3270 - Item points to a text-based tn3270 session.

IdGopherItem_GIF - Item is a GIF format graphics file.

IdGopherItem_Image - Item is some kind of image file.

IdGopherItem_Image2 - Item is some kind of image file

IdGopherItem_Sound - An audio file

IdGopherItem_Sound2 - An audio file

IdGopherItem_Movie - A movie file

IdGopherItem_Movie2 - A movie file

IdGopherItem_HTML - Item is a link to the web-site

IdGopherItem_MIME - Item is a Base64 encoded file or occasionally, a movie

IdGopherItem_Information - Item is just some information


TIdGopherMenuItem.LastModified

TIdGopherMenuItem

Date the Gopher item was last modified.

property LastModified: String;

Description

LastModified is a read-only String property that indicates the date that the Gopher item was last modified. LastModified is available if you use the GetExtendedMenu method and the Gopher Server supports the Gopher+ protocol.


TIdGopherMenuItem.Location

TIdGopherMenuItem

Location of the Gopher item.

property Location: String;

Description

Location is a read-only String property that identifies the location of the Gopher item, and is normally found in the Root item. Location is only available if you use the GetExtendedMenu method and the Gopher Server supports the Gopher+ protocol.


TIdGopherMenuItem.Organization

TIdGopherMenuItem

Organization hosting the Gopher item.

property Organization: String;

Description

Organization is a read-only String property that indicates the organization running the Gopher server for the Gopher item. Organization is normally found in the Root item. Organization is only available if you use the GetExtendedMenu method and the Gopher Server supports the Gopher+ protocol.


TIdGopherMenuItem.Port

TIdGopherMenuItem

Port number for the Gopher item.

property Port: Integer;

Description

Port is an Integer property that indicates the port number to use when requesting the Gopher item. Set the TIdGopher.Port property to this value to retrieve the item.


TIdGopherMenuItem.Selector

TIdGopherMenuItem

Value used to select the Gopher item.

property Selector: String;

Description

Selector is a String property that indicates the Gopher query to use when retrieving the Gopher item. Set the TIdGopher.Selector property to this value to retrieve the Gopher item.

For telnet (IdGopherItem_Telnet) and Telnet 3270 (IdGopherItem_TN3270) menu items, this is text which should be displayed to the user because it can provide information for logging into those systems such as a User ID and Password.


TIdGopherMenuItem.Server

TIdGopherMenuItem

Server hosting the Gopher item.

property Server: String;

Description

Server is a String property that identifies the Gopher server that is hosting the Gopher item. Set the TIdGopher.Host property to this value when retrieving the Gopher item.


TIdGopherMenuItem.Title

TIdGopherMenuItem

Gopher item title.

property Title: String;

Description

Title is a String property that represents the title for the Gopher item, and is used to display Gopher item information to the user.


TIdGopherMenuItem.URL

TIdGopherMenuItem

HTTP resource location.

property URL: String;

Description

URL is a String property that represents the HTTP URL provided in the Gopher+ information block. URL is available if you use the GetExtendedMenu method and the Gopher Server supports the Gopher+ protocol.


TIdGopherMenuItem.Views

TIdGopherMenuItem

Alternate representations of the GOpher item.

property Views: TStringList;

Description

Views is a read-only TStringList property that contains the Gopher views available for the Gopher item. Gopher Views are alternative forms of a document for different languages or in different formats. Views can be used when requesting the Gopher item with GetFile or GetMenu.

Views are available if you use the GetExtendedMenu method and the Gopher Server supports the Gopher+ protocol.


TIdGopherMenuItem.Create

TIdGopherMenuItem

Constructor for the object instance.

constructor Create(ACollection: TCollection); override;

Parameters

ACollection: TCollection

Owner of the collection item.

Description

Create is the constructor for the object instance, and adds the new TIdGopherMenuItem instance to the collection specified by the ACollection parameter. Create is used internally in TIdGopher.GetMenu and TIdGopher.GetExtendedMenu methods.


TIdGopherMenuItem.Destroy

TIdGopherMenuItem

Frees the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance. Destroy is responsible for freeing and releasing properties of the Gopher menu item including AdminEmail, Ask, Abstract, GopherBlock, and Views. Destroy calls the inherited Destroy method to complete destruction of the object instance.


TIdGopherMenuItem.DoneSettingInfoBlock

TIdGopherMenuItem

Updates the Gopher menu item after adding information blocks.

procedure DoneSettingInfoBlock; virtual;

Description

DoneSettingInfoBlock is a procedure used to update internal TIdGopherMenuItem variables dealing with Gopher+ Information blocks. These Gopher+ blocks supported are '+VIEWS', '+ABSTRACT', and '+ASK'.

DoneSettingInfoBlock should be called only when all data has been added. This is an internal method used by TIdGopher and should not be used outside of that component.


TIdGopherServer

Hierarchy	Members	Properties	Methods	Events	See Also	Unit: IdGopherServer

Implements a Gopher server.

TIdGopherServer = class(TIdTCPServer)

Description

The TIdGopherServer is a server implementation of the Internet Gopher protocol (RFC 1436) as described in the Internet Standards document:

The Internet Gopher Protocol, RFC 1436, by F. Anklesaria, M. McCahill, P. Lindner, D. Johnson, D. Torrey and B. Alberti, March 1993

TIdGopherServer also implements partial support for the Gopher+ protocol as described in the document:

Gopher+, Upward-Compatible Enhancements to the Internet Gopher protocol, by Farhad Anklesaria, Paul Lindner, Mark P. McCahill, Daniel Torrey, David Johnson, and Bob Alberti, July 1993 )

Gopher is a distributed document system developed at the University of Minnesota as an attempt to make locating information resources intuitive for users through a series of structured menus leading to documents or pointers to other protocols such as Telnet and TN3270. While this has been succeeded by the World Wide Web, this is still useful for accessing legacy systems and has a low overhead due to its simplicity and structure.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPServer

|

TIdGopherServer


TIdGopherServer Fields

TIdGopherServer


TIdGopherServer Properties

TIdGopherServer	Legend

TIdGopherServer

 AdminEmail

 DefaultPort

 TruncateLength

 TruncateUserFriendlyName

TIdTCPServer

 AcceptWait

 Active

 Bindings

 DefaultPort

 ImplicitThreadMgrCreated

 Intercept

 TerminateWaitTime

 ThreadClass

 ThreadMgr

 Threads

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdGopherServer Events

TIdGopherServer	Legend

TIdGopherServer

 OnPlusRequest

 OnRequest

TIdTCPServer

 OnConnect

 OnDisconnect

 OnExecute

TIdComponent

 OnStatus


Legend

 published


TIdGopherServer Methods

TIdGopherServer	Legend

TIdGopherServer

 Create

 ReturnGopherItem

 SendDirectoryEntry

 SetTruncateLength

 SetTruncateUserFriendlyName

TIdTCPServer

 Create

 Destroy

 Loaded

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdGopherServer Members

TIdGopherServer	Legend

Properties

 AdminEmail

 DefaultPort

 TruncateLength

 TruncateUserFriendlyName

Events

 OnPlusRequest

 OnRequest

Methods

 Create

 ReturnGopherItem

 SendDirectoryEntry

 SetTruncateLength

 SetTruncateUserFriendlyName


Legend

 virtual

 published


TIdGopherServer.AdminEmail

TIdGopherServer

E-Mail address of the Gopher server maintainer.

property AdminEmail: String;

Description

AdminEmail is a String property that identifies the maintainer of the Gopher server, such as:

<admin@mygopher.com>

Admin <admin@mygopher.com>


TIdGopherServer.DefaultPort

TIdGopherServer

Default port number for the server.

property DefaultPort;

Description

DefaultPort is a published property in TIdGopherServer that identifies the port number for the server, as described in the Internet Gopher protocol specification. The value for DefaultPort is IdPORT_GOPHER.


TIdGopherServer.TruncateLength

TIdGopherServer

Maximum length of a Gopher menu item.

property TruncateLength: Integer;

Description

TruncateLength is an Integer property that identifies the maximum length of the display text for a Gopher menu item.


TIdGopherServer.TruncateUserFriendlyName

TIdGopherServer

Indicates that display text can be truncated.

property TruncateUserFriendlyName: Boolean;

Description

TruncateUserFriendlyName is a Boolean property that indicates if the display text for a Gopher menu item can be truncated to the length in TruncateLength.


TIdGopherServer.Create

TIdGopherServer

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance. Create relies on the inherited Create method, and sets DefaultPort to the standard Gopher port (IdPORT_GOPHER).

The application must set the AdminEmail property to a valid e-mail address for the administrator of the server.


TIdGopherServer.ReturnGopherItem

TIdGopherServer

Formats a Gopher menu item for display.

function ReturnGopherItem(ItemType: Char; UserFriendlyName: String; RealResourceName: String; HostServer: String; HostPort: Integer): String;

Parameters

ItemType: Char

GOpher item type.

UserFriendlyName: String

Display name for the menu item.

RealResourceName: String

Item selector or TN3270 hint.

HostServer: String

The server hosting the Gopher menu item.

HostPort: Integer

The port number for the Gopher server.

Returns

String - Display values for the Gopher menu item.

Description

ReturnGopherItem is a String function that returns a properly formatted Gopher menu item provided with the information from the parameters.

ItemType should be one of the following constants defined in GopherConsts.

IdGopherItem_Document - Item is a file

IdGopherItem_Directory - Item is a directory

IdGopherItem_CSO - Item is a CSO phone-book server

IdGopherItem_Error - Error

IdGopherItem_BinHex - Item is a BinHexed Macintosh file.

IdGopherItem_BinDOS - Item is DOS binary archive of some sort. Client must read until the TCP connection closes. Beware.

IdGopherItem_UUE - Item is a UNIX uuencoded file.

IdGopherItem_Search - Item is an Index-Search server.

IdGopherItem_Telnet - Item points to a text-based telnet session.

IdGopherItem_Binary - Item is a binary file. Client must read until the TCP connection closes. Beware.

IdGopherItem_Redundant - Item is a redundant server

IdGopherItem_TN3270 - Item points to a text-based tn3270 session.

IdGopherItem_GIF - Item is a GIF format graphics file.

IdGopherItem_Image - Item is some kind of image file. Client decides how to display

IdGopherItem_HTML - Website

IdGopherItem_MIME - Mime encoded file

IdGopherItem_Information - Not a file, just information


TIdGopherServer.SendDirectoryEntry

TIdGopherServer

Send a Gopher menu item to the client.

procedure SendDirectoryEntry(Thread: TIdPeerThread; ItemType: Char; UserFriendlyName: String; RealResourceName: String; HostServer: String; HostPort: Integer);

Parameters

Thread: TIdPeerThread

The client connection to receive the Gopher item.

ItemType: Char

The Gopher item type constant.

UserFriendlyName: String

Name to display on client menus.

RealResourceName: String

Item selector or a hint for logging into a Telnet or TN3270 service.

HostServer: String

Gopher Server hosting the item.

HostPort: Integer

Port number for the host.

Description

SendDirectoryEntry is a procedure used to send a Gopher menu item to the client connection specified in AThread.

ItemType contains a constant that identifies the item type, as defined in GopherConsts.pas, and normally contains of the following values:

IdGopherItem_Document - Item is a file

IdGopherItem_Directory - Item is a directory

IdGopherItem_CSO - Item is a CSO phone-book server

IdGopherItem_Error - Error

IdGopherItem_BinHex - Item is a BinHexed Macintosh file.

IdGopherItem_BinDOS - Item is DOS binary archive of some sort. Client must read until the TCP connection closes. Beware.

IdGopherItem_UUE - Item is a UNIX uuencoded file.

IdGopherItem_Search - Item is an Index-Search server.

IdGopherItem_Telnet - Item points to a text-based telnet session.

IdGopherItem_Binary - Item is a binary file. Client must read until the TCP connection closes. Beware.

IdGopherItem_Redundant - Item is a redundant server

IdGopherItem_TN3270 - Item points to a text-based tn3270 session.

IdGopherItem_GIF - Item is a GIF format graphics file.

IdGopherItem_Image - Item is some kind of image file. Client decides how to display

IdGopherItem_HTML - Website

IdGopherItem_MIME - 'Mime encoded file

IdGopherItem_Information - Not a file, just information


TIdGopherServer.SetTruncateLength

TIdGopherServer

TruncateLength property's write method

procedure SetTruncateLength(length: Integer);

Description

SetTruncateLength is a procedure that updates the TruncateLength property, and represents the maximum length of a Gopher menu item line.


TIdGopherServer.SetTruncateUserFriendlyName

TIdGopherServer

UserFriendlyName property write method.

procedure SetTruncateUserFriendlyName(truncate: Boolean);

Description

SetTruncateUserFriendlyName is a procedure that updates the value of the TruncateUserFriendlyName property.


TIdGopherServer.OnPlusRequest

TIdGopherServer

Server event handler for a Gopher+ request.

property OnPlusRequest: TPlusRequestEvent;

Description

OnPlusRequest is a TPlusRequestEvent event handler that allows the server application to respond to Gopher+ requests.

APlusData can includes the Gopher+ command in the first byte and additional information such as a requested View for an item and sometimes ASK block data sent from the client.

The command byte in APlusData can be one of the following:

IdGopherPlusIndicator - Get the item with a Gopher+ reply code

IdGopherPlusInformation - Get the information about the Gopher+ item

IdGopherPlusDirectoryInformation - Get the extended directory for an Gopher+ item.


TIdGopherServer.OnRequest

TIdGopherServer

Server event handler for Gopher requests.

property OnRequest: TRequestEvent;

Description

OnRequest is a TRequestEvent event handler that allows the server application to respond to Gopher requests from the client connection in AThread.

ARequest is the selector read from the client connection.


TIdHeaderInfo

Hierarchy	Members	Properties	Methods	See Also	Unit: IdHTTP

Encapsulates HTTP header information for HTTP requests and responses.

TIdHeaderInfo = class(TPersistent)

Description

TIdHeaderInfo is a TPersistent descendant used to encapsulate HTTP header information for HTTP requests and responses.


See Also

Technical Support


Class Hierarchy

TPersistent

|

TIdHeaderInfo


TIdHeaderInfo Fields

TIdHeaderInfo


TIdHeaderInfo Properties

TIdHeaderInfo	Legend

TIdHeaderInfo

 Accept

 AcceptCharSet

 AcceptEncoding

 AcceptLanguage

 Connection

 ContentEncoding

 ContentLanguage

 ContentLength

 ContentRangeEnd

 ContentRangeStart

 ContentType

 ContentVersion

 Date

 Expires

 ExtraHeaders

 From

 LastModified

 Location

 Password

 ProxyAuthenticate

 ProxyPassword

 ProxyPort

 ProxyServer

 ProxyUsername

 Referer

 Server

 UserAgent

 Username

 WWWAuthenticate


Legend

 published


TIdHeaderInfo Events

TIdHeaderInfo


TIdHeaderInfo Methods

TIdHeaderInfo	Legend

TIdHeaderInfo

 Clear

 Create

 Destroy


Legend

 virtual


TIdHeaderInfo Members

TIdHeaderInfo	Legend

Properties

 Accept

 AcceptCharSet

 AcceptEncoding

 AcceptLanguage

 Connection

 ContentEncoding

 ContentLanguage

 ContentLength

 ContentRangeEnd

 ContentRangeStart

 ContentType

 ContentVersion

 Date

 Expires

 ExtraHeaders

 From

 LastModified

 Location

 Password

 ProxyAuthenticate

 ProxyPassword

 ProxyPort

 ProxyServer

 ProxyUsername

 Referer

 Server

 UserAgent

 Username

 WWWAuthenticate

Methods

 Clear

 Create

 Destroy


Legend

 virtual

 published


TIdHeaderInfo.Accept

TIdHeaderInfo

Specifies acceptable media types.

property Accept: string;

Description

Accept is a String property used to specify the media types acceptable for a HTTP request. Accept contains the value for the HTTP header "Accept:".

Accept is constructed using a notation that includes the media type family, media subtype, and optional parameters, extensions, or wildcard characters. If Accept is blank, it is assumed that the client accepts all media types. Accept can contain values formatted like the following examples:

text/plain

text/html

text/xml

audio/*

*/*


TIdHeaderInfo.AcceptCharSet

TIdHeaderInfo

Identifies acceptable character sets.

property AcceptCharSet: string;

Description

AcceptCharSet is a String property that specifies one or more character sets which are acceptable to the HTTP program. AcceptCharSet contains the value for the HTTP header "Accept-Charset:".


TIdHeaderInfo.AcceptEncoding

TIdHeaderInfo

Identifies the acceptable response encoding.

property AcceptEncoding: string;

Description

AcceptEncoding is a String property that identifies the acceptable response encoding for the HTTP program. AcceptEncoding contains the value for the HTTP header "Accept-Encoding:".


TIdHeaderInfo.AcceptLanguage

TIdHeaderInfo

Specifies the preferred language.

property AcceptLanguage: string;

Description

AcceptLanguage is a String property that specifies the preferred language for the HTTP response. AcceptLanguage contains the value for the HTTP header "Accept-Language:".


TIdHeaderInfo.Connection

TIdHeaderInfo

Specifies the connection type.

property Connection: string;

Description

Connection is a String property used to specify the connection type for the HTTP session.

Connection contains the value for the HTTP header "Connection:". Connection typically contains either the value "keep-alive" for persistent connections or "close" for non-persistent connections.


TIdHeaderInfo.ContentEncoding

TIdHeaderInfo

Specifies the encoding for a server response.

property ContentEncoding: string;

Description

ContentEncoding is a String property that specifies the content encoding for a response received from a HTTP server. ContentEncoding contains the value for the HTTP header "Content-Encoding:".

ContentEncoding normally contains a value like, but not limited to, one of the following values:

gzip

x-gzip

compress

x-compress

deflate


TIdHeaderInfo.ContentLanguage

TIdHeaderInfo

Specifies the language for a server response.

property ContentLanguage: string;

Description

ContentLanguage is a String property that specifies the language used for a response from an HTTP server. ContentLanguage contains the value for the HTTP header "Content-Language:".


TIdHeaderInfo.ContentLength

TIdHeaderInfo

Specifies the length of a server response.

property ContentLength: Integer;

Description

ContentLength is an Integer property that specifies the number of bytes in a response received from a HTTP server. ContentLength contains the value for the HTTP header "Content-Length:" expressed as a numeric value.

ContentLength is often used to update a progress indicator in a GUI application.


TIdHeaderInfo.ContentRangeEnd

TIdHeaderInfo	See Also

Identifies the end of a partial response.

property ContentRangeEnd: Cardinal;

Description

ContentRangeEnd is a Cardinal property that represents the end of a partial HTTP response. ContentRangeEnd contains the final numeric portion of the HTTP header "Content-Range:" from the HTTP response expressed as a Cardinal value.

ContentRangeEnd can be used with ContentRangeStart to determine the length of a partial HTTP response, or used to update a progress indicator in a GUI application.


See Also

TIdHeaderInfo.ContentRangeStart

TIdHeaderInfo.ContentLength


TIdHeaderInfo.ContentRangeStart

TIdHeaderInfo	See Also

Identifies the start of a partial response.

property ContentRangeStart: Cardinal;

Description

ContentRangeStart is a Cardinal property that represents the beginning of a partial HTTP response. ContentRangeStart contains the initial portion of the HTTP header "Content-Range:" from the HTTP response expressed as a Cardinal value.

ContentRangeStart can be used with ContentRangeEnd to determine the length of a partial HTTP response, or used to update a progress indicator in a GUI application.


See Also

TIdHeaderInfo.ContentRangeEnd

TIdHeaderInfo.ContentLength


TIdHeaderInfo.ContentType

TIdHeaderInfo

Specifies the content type for a server response.

property ContentType: string;

Description

ContentType contains the value for the HTTP header "Content-Type:". ContentType is a String property that specifies the content type for requests to and responses from an HTTP server. For forms Request.Content Type specifies the type of data being set with the form. Response.ContentType specifies the type of data the server will return.

ContentType refers to the media type or MIME type used for HTTP responses and requests. They are generally supplied in HTTP headers in the following forms:

text/html; charset=ISO-8859-4

text/plain

text/xml

application/x-www-form-urlencoded

multipart/form-data

For forms, the ContentType is normally "application/x-www-form-urlencoded". However the content type "application/x-www-form-urlencoded" is inefficient for sending large quantities of binary data or text containing non-ASCII characters. The content type "multipart/form-data" should be used for submitting forms that contain files, non-ASCII data, and binary data.


TIdHeaderInfo.ContentVersion

TIdHeaderInfo

Specifies the content version of a server response.

property ContentVersion: string;

Description

ContentVersion is a String property that specifies the content version for information in a HTTP server response. ContentVersion contains the value for the HTTP header "Content-Version:".

Note:  Content-Version is not defined in the HTTP/1.1 protocol specification.


TIdHeaderInfo.Date

TIdHeaderInfo

Specifies the date of the HTTP request or response.

property Date: TDateTime;

Description

Date is TDateTime property that specifies the date for the HTTP request or response. Date contains the value for the HTTP header "Date:" expressed a native date time value adjusted to reflect the local timezone.


TIdHeaderInfo.Expires

TIdHeaderInfo

Specifies the date for removal from the web browser cache.

property Expires: TDateTime;

Description

Expires is a TDateTime property that specifies the date a HTTP response should be removed from the web browser cache. Expires contains the value for the HTTP header "Expires:" expressed as a native date time value adjusted to reflect the local timezone.


TIdHeaderInfo.ExtraHeaders

TIdHeaderInfo

Represents optional headers for the request or response.

property ExtraHeaders: TIdHeaderList;

Description

ExtraHeaders is a TIdHeaderList property used to represent optional headers that may be used in a HTTP request or response. ExtraHeaders provides access to both the name and value of optional headers.

Please refer to the Internet Standards document RFC 2616  for a detailed discussion of optional header names and acceptable values.


TIdHeaderInfo.From

TIdHeaderInfo

Specifies the user's E-Mail address.

property From: string;

Description

From is a String property use to specifies the user's E-Mail address. From can be omitted if the mail client is concerned about privacy or security issues.


TIdHeaderInfo.LastModified

TIdHeaderInfo

Specifies when the document was last modified.

property LastModified: TDateTime;

Description

LastModified is a TDateTime property that specifies the last date and time that the document was modified. LastModified contains the value for the HTTP header "Last-Modified:" expressed as a native date time value adjusted to reflect the local timezone.


TIdHeaderInfo.Location

TIdHeaderInfo

Specifies the URL for the resource.

property Location: string;

Description

Location is a String property that specifies the URL-encoded location of a resource. Location contains the value for the HTTP header "Location:".

Location is used for HTTP redirects to identify the new location of the document.


TIdHeaderInfo.Password

TIdHeaderInfo

Specifies the password for HTTP authentication.

property Password: string;

Description

Password is a String property used to provide the user's password for HTTP authentication. Password is used along with Username to construct the HTTP header "Authorization: Basic".


TIdHeaderInfo.ProxyAuthenticate

TIdHeaderInfo

Indicates that the client must use Proxy Authentication.

property ProxyAuthenticate: string;

Description

ProxyAuthenticate is a String property that indicates that the HTTP client must use Proxy Authentication. ProxyAuthenticate contains the value for the HTTP header "Proxy-Authenticate:".


TIdHeaderInfo.ProxyPassword

TIdHeaderInfo

Specifies the password for HTTP Proxy authentication.

property ProxyPassword: string;

Description

ProxyPassword is a String property used to provide the user's password for HTTP Proxy authentication. ProxyPassword is used along with ProxyUsername to construct the HTTP header "Proxy-Authorization: Basic". ProxyPassword is not needed if the proxy does not require authentication.


TIdHeaderInfo.ProxyPort

TIdHeaderInfo

Specifies the port number for the HTTP Proxy.

property ProxyPort: Integer;

Description

ProxyPort is an Integer property that specifies the port number for the HTTP Proxy.


TIdHeaderInfo.ProxyServer

TIdHeaderInfo

Specifies the host name for the HTTP Proxy.

property ProxyServer: string;

Description

ProxyServer is a String property that specifies the host name for the HTTP Proxy server. ProxyServer is used with ProxyUsername and ProxyPassword to determine when Proxy authorization is required for the HTTP client.


TIdHeaderInfo.ProxyUsername

TIdHeaderInfo

Specifies the Username for the HTTP Proxy.

property ProxyUsername: string;

Description

ProxyUsername is a String property that specifies the Username used to perform HTTP Proxy authentication when required.


TIdHeaderInfo.Referer

TIdHeaderInfo

Specifies the URL for a referring document.

property Referer: string;

Description

Referer is a String property that specifies the original URL-encoded location for a redirected document. Referer contains the value for the HTTP header "Referer:".

Referer will be empty if the URL is manually entered by a user or user agent. Referer is normally assigned a value when a URL is assigned using a link in a document.


TIdHeaderInfo.Server

TIdHeaderInfo

Specifies the host name for a HTTP server.

property Server: string;

Description

Server is a String property that specifies the host name for the HTTP server generating the HTTP response. Server contains the value for the HTTP header "Server:".


TIdHeaderInfo.UserAgent

TIdHeaderInfo

Specifies the name of the program making a HTTP request.

property UserAgent: string;

Description

UserAgent is a String property that specifies the name of the program making a HTTP request. UserAgent contains the value of the HTTP header "User-Agent:".

UserAgent should contain a string that identifies both the browser compatibility family and the unique name for your program.

It is highly recommended that UserAgent begin with the token "Mozilla". This practice will allow interaction with HTTP servers where user agent support is limited to the Mozilla product family, and maintain compatibility with the original Netscape "Set-Cookie" and "Cookie" implementation. Other commercial web browsers, like Internet Explorer and Opera, employ this technique.

An example UserAgent value might be:

  'Mozilla/3.0 (compatible; My Program Name)'


TIdHeaderInfo.Username

TIdHeaderInfo

Specifies the user name for HTTP authentication.

property Username: string;

Description

Username is a String property that specifies the user name used for HTTP authentication. Username is used with Password to create the HTTP header "Authorization: Basic".


TIdHeaderInfo.WWWAuthenticate

TIdHeaderInfo

Indicates HTTP Authentication is required for a client request.

property WWWAuthenticate: string;

Description

WWWAuthenticate is a String property that indicates that authentication is required for the client HTTP request. WWWAuthenticate contains the value for the HTTP header "WWWAuthenticate:".

The WWWauthenticate response header indicates that a client request could not be handled, and resulted in the 401 (Unauthorized) response message.


TIdHeaderInfo.Clear

TIdHeaderInfo

Discards previous header values.

procedure Clear;

Description

Clear is a procedure used to reinitialize the THeaderInfo when the server returns headers and between HTTP requests.


TIdHeaderInfo.Create

TIdHeaderInfo	See Also

Constructor for the object instance.

constructor Create(Component: TComponent); virtual;

Parameters

Component: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance. Create relies on the inherited constructor, and initializes the ExtraHeaders property. Create also calls Clear to initialize the object instance to its default values.


See Also

TIdHeaderInfo.Clear

TIdHeaderInfo.ExtraHeaders

TIdHeaderInfo.Destroy


TIdHeaderInfo.Destroy

TIdHeaderInfo	See Also

Destructor for the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance. Destroy is responsible for freeing the ExtraHeaders property prior to calling the inherited Destroy method.


See Also

TIdHeaderInfo.Create

TIdHeaderInfo.ExtraHeaders


TIdHeaderList

Hierarchy	Members	Properties	Methods	See Also	Unit: IdHeaderList

Implements a collection of header names and values.

TIdHeaderList = class(TStringList)

Description

TIdHeaderList is a TStringList descendant that implements a collection of header names and values, and facilitates the processing of headers used in many protocols such as Gopher+, HTTP, NNTP, POP3, and SMTP.

Features include the use of a ":" instead of a comma for separating field names from values (this can be changed with the NameValueSeparator property), and optional header folding and unfolding.


See Also

Technical Support


Class Hierarchy

TStringList

|

TIdHeaderList


TIdHeaderList Fields

TIdHeaderList


TIdHeaderList Properties

TIdHeaderList

TIdHeaderList

 CaseSensitive

 FoldLength

 FoldLines

 Names

 NameValueSeparator

 UnfoldLines

 Values


TIdHeaderList Events

TIdHeaderList


TIdHeaderList Methods

TIdHeaderList

TIdHeaderList

 Create

 Extract

 IndexOfName


TIdHeaderList Members

TIdHeaderList

Properties

 CaseSensitive

 FoldLength

 FoldLines

 Names

 NameValueSeparator

 UnfoldLines

 Values

Methods

 Create

 Extract

 IndexOfName


TIdHeaderList.CaseSensitive

TIdHeaderList	Example 1

Indicates if header name comparisons are case sensitive.

property CaseSensitive: Boolean;

Description

CaseSensitive is a Boolean property that indicates if header name comparisons are case sensitive. Name, Values, and IndexOf will consider case to be significant when CaseSensitive is True.


TIdHeaderList.CaseSensitive, Example 1
Example 1

TIdHeaderList.CaseSensitive

  AHeaders.CaseSensitive := True;

  AHeaders.Value['Test'] := 'Test';

  AHeaders.CaseSensitive := False;

  AHeaders.Value['TEST'] // returns 'Test'


TIdHeaderList.FoldLength

TIdHeaderList

Maximum length of a header line.

property FoldLength: Integer;

Description

FoldLength is an Integer property used to indicate the maximum length of a header line. When FoldLines is True, FoldLength is used to perform wrapping of text in the header line.


TIdHeaderList.FoldLines

TIdHeaderList

Indicates that header lines can be folded when the maximum length is exceeded.

property FoldLines: Boolean;

Description

FoldLines is a Boolean property that indicates the string contents of Values can be wrapped when the length exceeds FoldLength. Set FoldLines to True to allow line wrapping.


TIdHeaderList.Names

TIdHeaderList

Access header names by position.

property Names [Index: Integer]: string;

Description

Names is a read-only String property that provides indexed access to header names for the header list. Names works like Borland's TStrings.Names except that it uses the delimiter in NameValueSeparator and respects the case sensitivity flag in CaseSensitive.


TIdHeaderList.NameValueSeparator

TIdHeaderList

Delimiter for header name and header value.

property NameValueSeparator: String;

Description

NameValueSeparator is a String property that represents the characters used as a delimiter between the header value and the header name in a header list.


TIdHeaderList.UnfoldLines

TIdHeaderList

Indicates that header lines should be unfolded.

property UnfoldLines: Boolean;

Description

UnfoldLines is a Boolean property that indicates if Values should be interpreted with line unfolding. Setting UnfoldLines to False will cause Values to not unfold lines. Setting UnfoldLines to True causes header lines with continuation characters to be returned with the preceding header line.


TIdHeaderList.Values

TIdHeaderList

Allows access to header values by name.

property Values [const Name: string]: string;

Description

Values is an Indexed String property that works like Borland's TStrings.Values except it uses the delimiter defined in NameValueSeparator as the seperator between header name and value.

Case sensitivity is set with the CaseSensitive property, and if UnfoldLines is True, lines will be unfolded.

Thus if UnfoldLines is set to true, the value in following Example for Values['Subject'] would be "This is a line which is folded. This is on another line." If UnfoldLines is set to False, the Value['Subject'] would equal = "This is a line which is folded."

Subject:  This is a line which is folded.

 This is on another line.


TIdHeaderList.Create

TIdHeaderList

Constructor for the object instance.

constructor Create;

Description

Create is the constructor for the object instance, and relies on the inherited Create method to initialize the object. Create also sets the default values for properties including:

NameValueSeparator - ': '

CaseSensitive - False

UnfoldLines - True

FoldLines - True

FoldLength - 78


TIdHeaderList.Extract

TIdHeaderList

Finds and stores all values for the given header name.

procedure Extract(const AName: string; ADest: TStrings);

Parameters

const AName: string

Header name to be located and stored.

ADest: TStrings

TStrings to store all located header values.

Description

Extract is a procedure that is used to search the header list for all occurrences of the header in AName. When the header in AName is located, the value of the header is added to ADest. ADest can, as a result, contain multiple values for the named header, with one value per line.

Note: ADest is not cleared prior to use in Extract. Any existing values in ADest are unaffected.


TIdHeaderList.IndexOfName

TIdHeaderList

Returns the index position of the header with the given name.

function IndexOfName(const Name: string): Integer;

Parameters

const Name: string

Header name to locate.

Returns

Integer - Index position, or -1 when not found.

Description

IndexOfName is an Integer function that returns the index position of the header with the given name. IndexOfName work like Borland's TStrings.IndexOfName except it uses the delimiters defined in NameValueSeparator, and respects the case sensitivity flag in the CaseSensitive property.

IndexOfName can return -1 when the header in Name does not exist in the header list.


TIdHostNameServer

Hierarchy	Members	Methods	Events	See Also	Unit: IdHostnameServer

Implements a HostName server.

TIdHostNameServer = class(TIdTCPServer)

Description

TIdHostNameServer is a TIdTCPServer descendant that provides a server implementation of the Hostname Server as described in the Internet Standards document:

HOSTNAME Server, RFC 953, by K. Harrenstien, M. Stahl, and E. Feinler, October 1985

HostName Server provides machine-readable name and/or address information describing networks, gateways, hosts, and eventually domains, within the internet environment.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPServer

|

TIdHostNameServer


TIdHostNameServer Fields

TIdHostNameServer


TIdHostNameServer Properties

TIdHostNameServer	Legend

TIdTCPServer

 AcceptWait

 Active

 Bindings

 DefaultPort

 ImplicitThreadMgrCreated

 Intercept

 TerminateWaitTime

 ThreadClass

 ThreadMgr

 Threads

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdHostNameServer Events

TIdHostNameServer	Legend

TIdHostNameServer

 OnCommandALL

 OnCommandALLDOM

 OnCommandALLINGWAY

 OnCommandALLOLD

 OnCommandDOMAINS

 OnCommandHADDR

 OnCommandHELP

 OnCommandHNAME

 OnCommandVERSION

TIdTCPServer

 OnConnect

 OnDisconnect

 OnExecute

TIdComponent

 OnStatus


Legend

 published


TIdHostNameServer Methods

TIdHostNameServer	Legend

TIdHostNameServer

 Create

TIdTCPServer

 Create

 Destroy

 Loaded

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdHostNameServer Members

TIdHostNameServer	Legend

Events

 OnCommandALL

 OnCommandALLDOM

 OnCommandALLINGWAY

 OnCommandALLOLD

 OnCommandDOMAINS

 OnCommandHADDR

 OnCommandHELP

 OnCommandHNAME

 OnCommandVERSION

Methods

 Create


Legend

 virtual

 published


TIdHostNameServer.Create

TIdHostNameServer

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance. Create initializes the TIdHostNameServer component and set's it's default port to the standard Host Name protocol port (IdPORT_HOSTNAME).


TIdHostNameServer.OnCommandALL

TIdHostNameServer

Event handler for the HOSTNAME ALL command.

property OnCommandALL: THostNameGetEvent;

Description

OnCommandALL is an event handler for the HOSTNAME ALL command. Applications must assign a procedure to the event handler to allow the server to respond to the command.


TIdHostNameServer.OnCommandALLDOM

TIdHostNameServer

Event handler for the HOSTNAME ALLDOM command.

property OnCommandALLDOM: THostNameGetEvent;

Description

OnCommandALLDOM is an event handler for the HOSTNAME ALLDOM command. Applications must assign a procedure to the event handler to allow the server to respond to the command.


TIdHostNameServer.OnCommandALLINGWAY

TIdHostNameServer

Event handler for the HOSTNAME ALLINGWAY command.

property OnCommandALLINGWAY: THostNameGetEvent;

Description

OnCommandALLINGWAY is an event handler for the HOSTNAME ALLINGWAY command. Applications must assign a procedure to the event handler to allow the server to respond to the command.


TIdHostNameServer.OnCommandALLOLD

TIdHostNameServer

Event handler for the HOSTNAME ALLOLD command.

property OnCommandALLOLD: THostNameGetEvent;

Description

OnCommandALLOLD is an event handler for the HOSTNAME ALLOLD command. Applications must assign a procedure to the event handler to allow the server to respond to the command.


TIdHostNameServer.OnCommandDOMAINS

TIdHostNameServer

Event handler for the HOSTNAME DOMAINS command.

property OnCommandDOMAINS: THostNameGetEvent;

Description

OnCommandDOMAINS is an event handler for the HOSTNAME DOMAINS command. Applications must assign a procedure to the event handler to allow the server to respond to the command.


TIdHostNameServer.OnCommandHADDR

TIdHostNameServer

Event handler for the HOSTNAME HADDR command.

property OnCommandHADDR: THostNameOneParmEvent;

Description

OnCommandHADDR is an event handler for the HOSTNAME HADDR command. Applications must assign a procedure to the event handler to allow the server to respond to the command.


TIdHostNameServer.OnCommandHELP

TIdHostNameServer

Event handler for the HOSTNAME Help command.

property OnCommandHELP: THostNameGetEvent;

Description

OnCommandHELP is an event handler for the HOSTNAME Help command. Applications must assign a procedure to the event handler to allow the server to respond to the command.


TIdHostNameServer.OnCommandHNAME

TIdHostNameServer

Event handler for the HOSTNAME HNAME command.

property OnCommandHNAME: THostNameOneParmEvent;

Description

OnCommandHNAME ia an event handler for the HOSTNAME HNAME command. Applications must assign a procedure to the event handler to allow the server to respond to the command.


TIdHostNameServer.OnCommandVERSION

TIdHostNameServer

Event handler for the HOSTNAME VERSION command.

property OnCommandVERSION: THostNameGetEvent;

Description

OnCommandVERSION is an event handler for the HOSTNAME VERSION command. Applications must assign a procedure to the event handler to allow the server to respond to the command.


TIdHTTP

Hierarchy	Members	Fields	Properties	Methods	Events	See Also	Unit: IdHTTP

HTTP client implementation.

TIdHTTP = class(TIdTCPClient)

Description

TIdHTTP is a TIdTCPClient descendant that is a client implementation of the Hypertext Transfer Protocol (HTTP) as described in the Internet Standards documents:

Hypertext Transfer Protocol version 1.0 (HTTP/1.0), RFC 1945

Hypertext Transfer Protocol version 1.1 (HTTP/1.1), RFC 2616

TIdHTTP supports HTTP 1.0 and HTTP 1.1 protocols for use as a web-browser or web-robot.

TIdHTTP also supports the Secure Hypertext Transport protocol (HTTPS) as described in the Internet Standards document:

The Secure HyperText Transfer Protocol, RFC 2660

Assign an instance of TIdConnectionInterceptOpenSSL to the Intercept property to allow use of the HTTPS protocol. For the Windows platform, you must install the Indy OpenSSL support .DLL's available at http://www.intelicom.si  to enable Secure Socket Layer support.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPConnection

|

TIdTCPClient

|

TIdHTTP


TIdHTTP Fields

TIdHTTP

TIdHTTP

 HostHeader

 ProtoHeader


TIdHTTP Properties

TIdHTTP	Legend

TIdHTTP

 HandleRedirects

 Port

 ProtocolVersion

 RedirectMaximum

 Request

 Response

 ResponseCode

 ResponseText

TIdTCPClient

 BoundIP

 Host

 OnConnected

 Port

 SocksInfo

 UseNagle

TIdTCPConnection

 ASCIIFilter

 Binding

 ClosedGracefully

 CmdResult

 CmdResultDetails

 Intercept

 InterceptEnabled

 OnDisconnected

 OnWork

 OnWorkBegin

 OnWorkEnd

 ReadLnTimedOut

 RecvBufferSize

 ResultNo

 SendBufferSize

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdHTTP Events

TIdHTTP	Legend

TIdHTTP

 OnRedirect

TIdComponent

 OnStatus


Legend

 published


TIdHTTP Methods

TIdHTTP	Legend

TIdHTTP

 Create

 Destroy

 DoRequest

 procedure Get(AURL: string; const AResponseContent: TStream); overload;

 function Get(AURL: string): string; overload;

 Head

 procedure Post(URL: string; const Source: TStrings; const AResponseContent: TStream); overload;

 procedure Post(URL: string; const Source: TStream; const AResponseContent: TStream); overload;

TIdTCPClient

 Connect

 ConnectAndGetAll

 Create

 Destroy

TIdTCPConnection

 AllData

 CancelWriteBuffer

 Capture

 CheckForDisconnect

 CheckForGracefulDisconnect

 CheckResponse

 ClearWriteBuffer

 CloseWriteBuffer

 Connected

 Create

 CurrentReadBuffer

 CurrentReadBufferSize

 Destroy

 Disconnect

 DisconnectSocket

 ExtractXBytesFromBuffer

 FlushWriteBuffer

 GetResponse

 InputLn

 OpenWriteBuffer

 procedure RaiseExceptionForCmdResult; virtual; overload;

 procedure RaiseExceptionForCmdResult(axException: TClassIdException); virtual; overload;

 ReadBuffer

 ReadCardinal

 ReadFromStack

 ReadInteger

 ReadLn

 ReadLnWait

 ReadSmallInt

 ReadStream

 ReadString

 RemoveXBytesFromBuffer

 function SendCmd(const AOut: string; const AResponse: SmallInt): SmallInt; overload;

 function SendCmd(const AOut: string; const AResponse: Array of SmallInt): SmallInt; virtual; overload;

 WaitFor

 Write

 WriteBuffer

 WriteCardinal

 WriteFile

 WriteHeader

 WriteInteger

 WriteLn

 WriteSmallInt

 WriteStream

 WriteStrings

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdHTTP Members

TIdHTTP	Legend

Fields

 HostHeader

 ProtoHeader

Properties

 HandleRedirects

 Port

 ProtocolVersion

 RedirectMaximum

 Request

 Response

 ResponseCode

 ResponseText

Events

 OnRedirect

Methods

 Create

 Destroy

 DoRequest

 procedure Get(AURL: string; const AResponseContent: TStream); overload;

 function Get(AURL: string): string; overload;

 Head

 procedure Post(URL: string; const Source: TStrings; const AResponseContent: TStream); overload;

 procedure Post(URL: string; const Source: TStream; const AResponseContent: TStream); overload;


Legend

 virtual

 published


TIdHTTP.HostHeader

TIdHTTP	See Also

Contains the host name from the last request.

HostHeader: string;

Description

HostHeader is used internally by TIdHttp component.


See Also

TIdHTTP.ProtoHeader


TIdHTTP.ProtoHeader

TIdHTTP	See Also

Contains the protocol name from the last request.

ProtoHeader: string;

Description

ProtoHeader is used internally by TIdHttp component.


See Also

TIdHTTP.HostHeader


TIdHTTP.HandleRedirects

TIdHTTP

Indicates that the client should handle redirects.

property HandleRedirects: Boolean;

Description

HandleRedirects is a Boolean property that indicates that the HTTP client should handle redirects in a response from the HTTP server.

When HandleRedirects is False, a redirect in a HTTP response will raise an exception.


TIdHTTP.Port

TIdHTTP

Port number used for the connection.

property Port;

Description

Port is an Integer property that identifies the server port number server used for the client connection. By convention, some internet protocols reserve port number including:

21 - FTP

25 - SMTP

80 - HTTP

119 - NNTP

A client application may define it's own port to connect to a server running the same port.


TIdHTTP.ProtocolVersion

TIdHTTP	See Also

Specifies the HTTP version.

property ProtocolVersion: TIdHTTPProtocolVersion;

Description

ProtocolVersion is a TIdHTTPProtocolVersion property that specifies the HTTP version used for Get, Head, and Post methods for the HTTP client. ProtocolVersion allows the following values:

pv1_0 - HTTP 1.0

pv1_1 - HTTP 1.1

The default value for ProtocolVersion is pv1_1.


See Also

TIdHTTP.Create

TIdHTTP.Get

TIdHTTP.Head

TIdHTTP.Post


TIdHTTP.RedirectMaximum

TIdHTTP	See Also

Specifies the maximum number of redirects for the HTTP client.

property RedirectMaximum: Integer;

Description

RedirectMaximum is an Integer property that specifies the maximum number of redirects that should be handled by the HTTP client. The default value for RedirectMaximum is 15.

RedirectMaximum is provided to limit the effect of web-sites that perform numerous redirects, and to prevent stack overflow due to recursion. RedirectMaximum is used when HandleRedirects is True, otherwise it has no effect.

RedirectMaximum is used with the internally maintained redirect count to determine when redirect handling is deferred to the application. When the redirect count exceeds the value of RedirectMaximum, DoRequest will signal the OnRedirect event handler to allow the application to respond to the redirect request. If the redirect is not handled by the application, an EIdProtocolReplyError exception will be raised.


See Also

TIdHTTP.HandleRedirects

TIdHTTP.DoRequest

EIdProtocolReplyError


TIdHTTP.Request

TIdHTTP	See Also

Specifies the header values to send to the HTTP server.

property Request: TIdHeaderInfo;

Description

Request is a TIdHeaderInfo property used to specify the header values and data to send to the HTTP server.

Request is used in DoRequest to perform the HTTP transfer.

Use Response to examine header values received in a response from the HTTP server.


See Also

TIdHTTP.Response

TIdHeaderInfo.ContentType

TIdHTTP.DoRequest


TIdHTTP.Response

TIdHTTP	See Also

Specifies the header values received from he HTTP server.

property Response: TIdHeaderInfo;

Description

Response is a TIdHeaderInfo property used to specify the header values received from the HTTP server.

Response is used in DoRequest to perform the HTTP transfer.

Use Request to examine header values to be sent in a request to the HTTP server.


See Also

TIdHTTP.Request

TIdHTTP.DoRequest


TIdHTTP.ResponseCode

TIdHTTP	See Also

Specifies the response code received from a HTTP server.

property ResponseCode: Integer;

Description

ResponseCode is a read-only Integer property that specifies the numeric response code received from a HTTP server. ResponseCode normally contains one of the following values:

200 - OK

201 - Created

202 - Accepted

203 - Non-authoritative Information

204 - No Content

205 - Reset Content

206 - Partial Content

301 - Moved Permanently

302 - Moved Temporarily

303 - See Other

304 - Not Modified

305 - Use Proxy

400 - Bad Request

401 - Unauthorized

403 - Forbidden

404 - Not Found

405 - Method not allowed

406 - Not Acceptable

407 - Proxy Authentication Required

408 - Request Timeout

409 - Conflict

410 - Gone

411 - Length Required

412 - Precondition Failed

413 - Request Entity To Long

414 - Request-URI Too Long. 256 Chars max

415 - Unsupported Media Type

500 - Internal Server Error

501 - Not Implemented

502 - Bad Gateway

503 - Service Unavailable

504 - Gateway timeout

505 - HTTP version not supported

ResponseCode is updated in the DoRequest method when a HTTP server response is retrieved. Use ResponseText to access the textual description of the numeric response code.


See Also

TIdHTTP.ResponseText

TIdHTTP.DoRequest


TIdHTTP.ResponseText

TIdHTTP	See Also

Specifies the text for a response received from a HTTP server.

property ResponseText: string;

Description

ResponseText is a read-only String property that specifies the textual message for a response received from a HTTP server. ResponseText normally contains one of the following values messages for the associated ResponseCode:

200 - OK

201 - Created

202 - Accepted

203 - Non-authoritative Information

204 - No Content

205 - Reset Content

206 - Partial Content

301 - Moved Permanently

302 - Moved Temporarily

303 - See Other

304 - Not Modified

305 - Use Proxy

400 - Bad Request

401 - Unauthorized

403 - Forbidden

404 - Not Found

405 - Method not allowed

406 - Not Acceptable

407 - Proxy Authentication Required

408 - Request Timeout

409 - Conflict

410 - Gone

411 - Length Required

412 - Precondition Failed

413 - Request Entity To Long

414 - Request-URI Too Long. 256 Chars max

415 - Unsupported Media Type

500 - Internal Server Error

501 - Not Implemented

502 - Bad Gateway

503 - Service Unavailable

504 - Gateway timeout

505 - HTTP version not supported

ResponseText is updated in the DoRequest method when a HTTP server response is retrieved. Use ResponseCode to access the numeric value for the HTTP server response.


See Also

TIdHTTP.ResponseCode

TIdHTTP.DoRequest


TIdHTTP.Create

TIdHTTP	See Also

Instantiates the TIdHTTP instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create constructs a properly initialized instance of TIdHTTP using the inherited Create constructor, and initializes Port to the constant value IdPORT_HTTP (Decimal 80) as required by the Hyper Text Transfer Protocol.


See Also

IdPORT_HTTP


TIdHTTP.Destroy

TIdHTTP

Frees the object instance.

destructor Destroy; override;

Description

Destroy is a procedure that is the Destructor for the object instance. Destroy is responsible for freeing the TIdHeaderInfo instances used for the Request and Response properties prior to calling the inherited Destroy method.


TIdHTTP.DoRequest

TIdHTTP	See Also

Performs a HTTP request and retrieves the HTTP response.

procedure DoRequest(const AMethod: TIdHTTPMethod; AURL: string; const ASource: TObject; const AResponseContent: TStream); virtual;

Parameters

const AMethod: TIdHTTPMethod

The HTTP method to perform.

AURL: string

The location of the resource.

const ASource: TObject

Object that contains the request data.

const AResponseContent: TStream

Destination for the response content.

Description

DoRequest is a procedure used to implement and execute a HTTP request and retrieve the HTTP response.

AMethod is the TIdHTTPMethod value that identifies the request to be performed.

AURL is the URL-encode location of the resource to be affected by the HTTP request.

ASource is a TObject descendant containing the data for the HTTP request. ASource must be either a TStrings or a TStream descendant or an EIdObjectTypeNotSupported exception will be raised.

DORequest can raise an EIdInterceptPropInvalid error when the protocol in AURL is HTTPS but Intercept does not contain a TIdSSLConnectionIntercept descendant.

AResponseContent is a TStream where the content for the HTTP response will be stored.

DoRequest is used by the Get, Head, and Post methods to perform the HTTP transfer.


See Also

TIdHTTP.Get

TIdHTTP.Head

TIdHTTP.Post


TIdHTTP.Get

TIdHTTP	See Also

Retrieves a HTTP resource.

procedure Get(AURL: string; const AResponseContent: TStream); overload;
function Get(AURL: string): string; overload;

Parameters

AURL: string

The resource to be retrieved.

const AResponseContent: TStream

Destination for the data retrieved.

Description

Get is an overloaded method used to retrieve the file or data for the resource specified in AURL.

AURL is the complete, fully-qualified location of the resource.

AResponseContent is the TStream that is the destination for data retrieved using the specified URL .

Use Get(AUrl) to retrieve the data from AURL and return the contents as the String result of the function.

Use Get(AUrl, AResponseContent) to retrieve data from the URL and write the return values to the TStream specified by AResponseContent.

Get relies on the DoRequest method to perform the HTTP transfer.


See Also

TIdHTTP.DoRequest


TIdHTTP.Get

TIdHTTP	See Also

Retrieves a HTTP resource.

procedure Get(AURL: string; const AResponseContent: TStream); overload;
function Get(AURL: string): string; overload;

Parameters

AURL: string

The resource to be retrieved.

Returns

String - Contents of the retrieve resource. (Optional)

Description

Get is an overloaded method used to retrieve the file or data for the resource specified in AURL.

AURL is the complete, fully-qualified location of the resource.

AResponseContent is the TStream that is the destination for data retrieved using the specified URL .

Use Get(AUrl) to retrieve the data from AURL and return the contents as the String result of the function.

Use Get(AUrl, AResponseContent) to retrieve data from the URL and write the return values to the TStream specified by AResponseContent.

Get relies on the DoRequest method to perform the HTTP transfer.


See Also

TIdHTTP.DoRequest


TIdHTTP.Head

TIdHTTP	See Also

Requests header values for a resource.

procedure Head(URL: string);

Parameters

URL: string

Location of the resource.

Description

Head is a procedure used to request the header values for the URL-encoded resource specified in URL.

Head calls the DoRequest method to perform the HTTP transfer. The returned header values can be found in Response.


See Also

TIdHTTP.DoRequest

TIdHTTP.Response


TIdHTTP.Post

TIdHTTP	See Also

Send HTTP data to a web server or CGI program.

procedure Post(URL: string; const Source: TStrings; const AResponseContent: TStream); overload;
procedure Post(URL: string; const Source: TStream; const AResponseContent: TStream); overload;

Parameters

URL: string

Location of the host or CGI application.

const Source: TStrings

Object containing the request data.

const AResponseContent: TStream

Destination for response data.

Description

Post is a procedure used to send the data in a HTTP request to a web server or CGI program.

Post calls the DoRequest method to perform the HTTP transfer.

Indy currently reverts the HTTP version to 1.0 in a call to the Post method. This occurs because some HTTP servers do not respect the RFC for HTTP 1.1 to the full extent of the specification. In particular, most servers do not send or expect to receive the 100-Continue HTTP header. Until an optimum solution that does NOT break the RFC is discovered, Indy will restrict all POSTS to version HTTP 1.0 compliance.


See Also

TIdHTTP.DoRequest


TIdHTTP.Post

TIdHTTP	See Also

Send HTTP data to a web server or CGI program.

procedure Post(URL: string; const Source: TStrings; const AResponseContent: TStream); overload;
procedure Post(URL: string; const Source: TStream; const AResponseContent: TStream); overload;

Parameters

URL: string

Location of the host or CGI application.

const Source: TStream

Object containing the request data.

const AResponseContent: TStream

Destination for response data.

Description

Post is a procedure used to send the data in a HTTP request to a web server or CGI program.

Post calls the DoRequest method to perform the HTTP transfer.

Indy currently reverts the HTTP version to 1.0 in a call to the Post method. This occurs because some HTTP servers do not respect the RFC for HTTP 1.1 to the full extent of the specification. In particular, most servers do not send or expect to receive the 100-Continue HTTP header. Until an optimum solution that does NOT break the RFC is discovered, Indy will restrict all POSTS to version HTTP 1.0 compliance.


See Also

TIdHTTP.DoRequest


TIdHTTP.OnRedirect

TIdHTTP

Specifies the event handler for redirect requests.

property OnRedirect: TIdHTTPOnRedirectEvent;

Description

OnRedirect is the TIdHTTPOnRedirectEvent event handler used to respond to redirection requests from an HTTP client.

An Application must assign a procedure to the event handler in order to respond to the event notification.


TIdHTTPRequestInfo

Hierarchy	Members	Properties	Methods	See Also	Unit: IdHTTPServer

Implements a HTTP Request object.

TIdHTTPRequestInfo = class(TObject)

Description

TIdHTTPRequestInfo is a TObject descendant that encapsulates access to information for a HTTP request.

TIdHTTPRequestInfo publishes properties that provide access to various information for a HTTP request. The properties include the HTTP session, authentication parameters, the remote computer addresses, HTTP headers, cookies, the HTTP command and version, and the document URL for the request.

TIdHTTPRequestInfo is used by TIdHTTPServer to capture HTTP headers, and to store a reference to the persistent HTTP session in the session list.


See Also

TIdHTTPServer

TIdHTTPSession

TIdHTTPSessionList

Technical Support


Class Hierarchy

TObject

|

TIdHTTPRequestInfo


TIdHTTPRequestInfo Fields

TIdHTTPRequestInfo


TIdHTTPRequestInfo Properties

TIdHTTPRequestInfo

TIdHTTPRequestInfo

 AuthExists

 AuthPassword

 AuthUsername

 Command

 Cookies

 Document

 Headers

 Host

 Params

 RemoteIP

 Session

 UnparsedParams

 Version


TIdHTTPRequestInfo Events

TIdHTTPRequestInfo


TIdHTTPRequestInfo Methods

TIdHTTPRequestInfo	Legend

TIdHTTPRequestInfo

 Create

 Destroy


Legend

 virtual


TIdHTTPRequestInfo Members

TIdHTTPRequestInfo	Legend

Properties

 AuthExists

 AuthPassword

 AuthUsername

 Command

 Cookies

 Document

 Headers

 Host

 Params

 RemoteIP

 Session

 UnparsedParams

 Version

Methods

 Create

 Destroy


Legend

 virtual


TIdHTTPRequestInfo.AuthExists

TIdHTTPRequestInfo

Indicates that authorization is used for the HTTP request.

property AuthExists: Boolean;

Description

AuthExists is a Boolean property that indicates authorization is used for the HTTP request. AuthExists is True when the AuthUsername and AuthPassword properties have non-empty values.


TIdHTTPRequestInfo.AuthPassword

TIdHTTPRequestInfo	See Also

Specifies the authorization password for a HTTP request.

property AuthPassword: string;

Description

AuthPassword is a String property that specifies the authorization password from the HTTP header "Authorization:" in the HTTP request.

AuthPassword is used with AuthUsername to determine the full content of the basic authorization header value.

AuthExists indicates that the AuthUsername and AuthPassword properties are used in the HTTP request.


See Also

TIdHTTPRequestInfo.AuthUsername

TIdHTTPRequestInfo.AuthExists


TIdHTTPRequestInfo.AuthUsername

TIdHTTPRequestInfo	See Also

Specifies the authorization user name for the HTTP request.

property AuthUsername: string;

Description

AuthUsername is a String property that specifies the authorization user name from the HTTP header "Authorization:" in the HTTP request.

AuthUsername is used with AuthPassword to determine the full content of the basic authorization header value.

AuthExists indicates that the AuthUsername and AuthPassword properties are used in the HTTP request.


See Also

TIdHTTPRequestInfo.AuthPassword

TIdHTTPRequestInfo.AuthExists


TIdHTTPRequestInfo.Command

TIdHTTPRequestInfo

Specifies the HTTP command in the request.

property Command: string;

Description

Command is a String property that specifies the HTTP GET, POST, or HEAD command received in the HTTP request.


TIdHTTPRequestInfo.Cookies

TIdHTTPRequestInfo	See Also

Represents cookies for the request.

property Cookies: TIdCookieCollection;

Description

Cookies is a TIdCookieColloection property use to store cookie names and values used in the HTTP request.

Cookies is updated by TIdHTTPServer when a peer thread receives a HTTP request containing header values with the HTTP header "Cookie:".


See Also

TIdHTTPServer


TIdHTTPRequestInfo.Document

TIdHTTPRequestInfo	See Also

Specifies the path and document name for a HTTP request.

property Document: string;

Description

Document is a String property that specifies the path and document name as parsed from the URL for a HTTP request.

Document is updated by TIdHTTPServer when a peer thread receives a HTTP request.


See Also

TIdHTTPServer


TIdHTTPRequestInfo.Headers

TIdHTTPRequestInfo	See Also

Represents the HTTP headers for a HTTP request.

property Headers: TIdHeaderList;

Description

Headers is a TStrings property used to store the HTTP headers received in a HTTP request.

Headers is updated by TIdHTTPServer when a peer thread generates a HTTP request.


See Also

TIdHTTPServer


TIdHTTPRequestInfo.Host

TIdHTTPRequestInfo

Identifies the host header value in a HTTP request.

property Host: string;

Description

Host is a read-only String property used to identify the value for the HTTP header "Host:" received in a HTTP request.


TIdHTTPRequestInfo.Params

TIdHTTPRequestInfo	See Also

Represents the HTTP header values as ASCII characters.

property Params: TStrings;

Description

Params is a TString property used to store the parsed values for HTTP headers in the HTTP request. Params contains the header values after URLDecode has been used to convert the headers to their ASCII representation.

Use UnparsedParams to view the HTTP headers in their raw form.

Params is updated by TIdHTTPServer when a peer thread generates a new HTTP request.


See Also

TIdHTTPServer

TIdHTTPRequestInfo.UnparsedParams


TIdHTTPRequestInfo.RemoteIP

TIdHTTPRequestInfo	See Also

Identifies the remote computer for the HTTP request.

property RemoteIP: String;

Description

RemoteIP is a read-only String property used to identify the remote computer system that is the endpoint for the session used by the HTTP request.

RemoteIP is updated by TIdHTTPServer when a peer thread generates a new HTTP request.


See Also

TIdHTTPServer


TIdHTTPRequestInfo.Session

TIdHTTPRequestInfo	See Also

Represents the HTTP session for the request.

property Session: TIdHTTPSession;

Description

Session is a read-only TIdHTTPSession property used to represent the HTTP session that acts as the transport for the HTTP request.

Session is updated by TIdHTTPServer when a peer thread generates a HTTP request.


See Also

TIdHTTPSession

TIdHTTPServer


TIdHTTPRequestInfo.UnparsedParams

TIdHTTPRequestInfo	See Also

Represents the HTTP header as URL-encoded values.

property UnparsedParams: string;

Description

UnparsedParams is a TStrings property used to store the values for HTTP headers in their URL-encoded form. UnparsedParams contains the header values in the form they were received in the HTTP request.

Use Params to view the HTTP headers in their ASCII form.

UnparsedParams is updated by TIdHTTPServer when a peer thread generates a new HTTP request.


See Also

TIdHTTPServer

TIdHTTPRequestInfo.Params


TIdHTTPRequestInfo.Version

TIdHTTPRequestInfo	See Also

Specifies the HTTP version for the request.

property Version: string;

Description

Version is a read-only String property that represents the HTTP version for the HTTP request.

Version is update by TIdHTTPServer when a peer thread generates a new HTTP request.


See Also

TIdHTTPServer


TIdHTTPRequestInfo.Create

TIdHTTPRequestInfo	See Also

Constructor for the object instance.

constructor Create;

Description

Create is the constructor for the object instance, and relies on the inherited Create constructor. Create also initializes the Headers, Params, and Cookies property instances before exiting the constructor.


See Also

TIdHTTPRequestInfo.Destroy

TIdHTTPRequestInfo.Headers

TIdHTTPRequestInfo.Params

TIdHTTPRequestInfo.Cookies


TIdHTTPRequestInfo.Destroy

TIdHTTPRequestInfo	See Also

Frees the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance. Destroy is responsible for freeing the object instances use by the Headers, Params, and Cookies properties. Destroy calls the inherited Destroy method to complete destruction of the object instance.


See Also

TIdHTTPRequestInfo.Create

TIdHTTPRequestInfo.Headers

TIdHTTPRequestInfo.Params

TIdHTTPRequestInfo.Cookies


TIdHTTPResponseInfo

Hierarchy	Members	Properties	Methods	See Also	Unit: IdHTTPServer

Implements a HTTP response object.

TIdHTTPResponseInfo = class(TObject)

Description

TIdHTTPResponseInfo is a TObject descendant that encapsulates access to information for a HTTP response.

TIdHTTPResponseInfo publishes properties that provide access to various information for a HTTP response.

These properties include the HTTP session, the authentication realm, Cookies, Headers, and the response content, length, and type.

TIdHTTPResponseInfo is used by TIdHTTPServer to prepare a HTTP response for a peer thread request.


See Also

TIdHTTPServer

Technical Support


Class Hierarchy

TObject

|

TIdHTTPResponseInfo


TIdHTTPResponseInfo Fields

TIdHTTPResponseInfo


TIdHTTPResponseInfo Properties

TIdHTTPResponseInfo

TIdHTTPResponseInfo

 AuthRealm

 ContentLength

 ContentStream

 ContentText

 ContentType

 Cookies

 HeaderHasBeenWritten

 Headers

 ResponseNo

 ResponseText

 ServerSoftware

 Session


TIdHTTPResponseInfo Events

TIdHTTPResponseInfo


TIdHTTPResponseInfo Methods

TIdHTTPResponseInfo	Legend

TIdHTTPResponseInfo

 Create

 Destroy

 Redirect

 WriteContent

 WriteHeader


Legend

 virtual


TIdHTTPResponseInfo Members

TIdHTTPResponseInfo	Legend

Properties

 AuthRealm

 ContentLength

 ContentStream

 ContentText

 ContentType

 Cookies

 HeaderHasBeenWritten

 Headers

 ResponseNo

 ResponseText

 ServerSoftware

 Session

Methods

 Create

 Destroy

 Redirect

 WriteContent

 WriteHeader


Legend

 virtual


TIdHTTPResponseInfo.AuthRealm

TIdHTTPResponseInfo

Identifies the authentication and encryption for the HTTP response.

property AuthRealm: string;

Description

AuthRealm is a String property that identifies the authentication and encryption scheme used for the HTTP response.


TIdHTTPResponseInfo.ContentLength

TIdHTTPResponseInfo	See Also

Length of the HTTP response.

property ContentLength: integer;

Description

ContentLength is an Integer property that indicates the number of bytes in ContentText for the HTTP response.

ContentLength will be -1 if no content has ever been assigned to the HTTP response. ContentLength will be 0 if the response has values in Headers, but no data has been assigned to ContentText.

ContentLength is updated by TIdHTTPServer when the HTTP response is generated for a peer thread.


See Also

TIdHTTPServer

TIdHTTPResponseInfo.Headers

TIdHTTPResponseInfo.ContentText


TIdHTTPResponseInfo.ContentStream

TIdHTTPResponseInfo	See Also

Specifies the stream that contains the content data.

property ContentStream: TStream;

Description

ContentStream is a TStream property that specifies the stream containing the content data for the HTTP response.

WriteContent uses ContentStream, when assigned, to generate HTTP response content instead of ContentText.


See Also

TIdHTTPResponseInfo.ContentText

TIdHTTPResponseInfo.WriteContent


TIdHTTPResponseInfo.ContentText

TIdHTTPResponseInfo	See Also

Specifies the content for the HTTP response.

property ContentText: string;

Description

ContentText is a String property that specifies the data used for the content of the HTTP response.

WriteContent uses ContentStream, when assigned, to generate HTTP response content instead of ContentText.


See Also

TIdHTTPResponseInfo.ContentStream

TIdHTTPResponseInfo.WriteContent


TIdHTTPResponseInfo.ContentType

TIdHTTPResponseInfo

Specifies the MIME type for the HTTP response.

property ContentType: string;

Description

ContentType is a String property that identifies the MIME type for the HTTP response. ContentType adheres to the specification described in the Internet Standards document:

Internet Message Bodies, RFC 2045


TIdHTTPResponseInfo.Cookies

TIdHTTPResponseInfo

Identifies cookies for the HTTP response.

property Cookies: TIdCookieCollection;

Description

Cookies is a TStringList property used as a container for cookies values to be included in the HTTP response.


TIdHTTPResponseInfo.HeaderHasBeenWritten

TIdHTTPResponseInfo

Indicates that headers have been written in the HTTP response.

property HeaderHasBeenWritten: boolean;

Description

HeaderHasBeenWritten ia Boolean property that indicates headers have already been written in the HTTP response.


TIdHTTPResponseInfo.Headers

TIdHTTPResponseInfo

Represents the headers for the HTTP response.

property Headers: TIdHeaderList;

Description

Headers is a TStringList property used as a container for the header values to be written in the HTTP response.


TIdHTTPResponseInfo.ResponseNo

TIdHTTPResponseInfo

Numeric response code for the HTTP response.

property ResponseNo: Integer;

Description

ResponseNo is an Integer property that indicates the numeric response code for the HTTP response.

ResponseNo is normally on the of the following numeric values:

200 - OK

201 - Created

202 - Accepted

203 - Non-authoritative Information

204 - No Content

205 - Reset Content -

206 - Partial Content

301 - Moved Permanently

302 - Moved Temporarily

303 - See Other

304 - Not Modified

305 - Use Proxy

400 - Bad Request

401 - Unauthorized

403 - Forbidden

404 - Not Found

405 - Method not allowed

406 - Not Acceptable

407 - Proxy Authentication Required

408 - Request Timeout

409 - Conflict

410 - Gone

411 - Length Required

412 - Precondition Failed

413 - Request Entity To Long

414 - Request-URI Too Long. 256 Chars max

415 - Unsupported Media Type

500 - Internal Server Error

501 - Not Implemented

502 - Bad Gateway

503 - Service Unavailable

504 - Gateway timeout

505 - HTTP version not supported


TIdHTTPResponseInfo.ResponseText

TIdHTTPResponseInfo

Represents the text for the response message.

property ResponseText: String;

Description

ResponseText is a String property used to represent the text portion of the HTTP response message.

ResponseText normally contains on the of the following messages:

200 - OK

201 - Created

202 - Accepted

203 - Non-authoritative Information

204 - No Content

205 - Reset Content

206 - Partial Content

301 - Moved Permanently

302 - Moved Temporarily

303 - See Other

304 - Not Modified

305 - Use Proxy

400 - Bad Request

401 - Unauthorized

403 - Forbidden

404 - Not Found

405 - Method not allowed

406 - Not Acceptable

407 - Proxy Authentication Required

408 - Request Timeout

409 - Conflict

410 - Gone

411 - Length Required

412 - Precondition Failed

413 - Request Entity To Long

414 - Request-URI Too Long. 256 Chars max

415 - Unsupported Media Type

500 - Internal Server Error

501 - Not Implemented

502 - Bad Gateway

503 - Service Unavailable

504 - Gateway timeout

505 - HTTP version not supported


TIdHTTPResponseInfo.ServerSoftware

TIdHTTPResponseInfo

Identifies the server software used to generate the HTTP response.

property ServerSoftware: string;

Description

ServerSoftware is a String property that identifies the server software used to generate the HTTP response.

The default value for ServerSoftware is a string containing the values for gsIdProductName and gsIdVersion separated by a slash ('/') character.


TIdHTTPResponseInfo.Session

TIdHTTPResponseInfo

Represents the session for the HTTP response.

property Session: TIdHTTPSession;

Description

Session is a read-only TIdHTTPSession property that represents the HTTP session used for the HTTP response.


TIdHTTPResponseInfo.Create

TIdHTTPResponseInfo

Constructor for the object instance.

constructor Create(AConnection: TIdTCPServerConnection);

Parameters

AConnection: TIdTCPServerConnection

The server connection for the HTTP response.

Description

Create is the constructor for the TIdHTTPResponseInfo object. Create is responsible for initializing the default values for properties in the instance.

Create will initialize the TStringList properties Headers and Cookies.

ServerSoftware is initialized to a string containing the values for gsIdProductName and gsIdVersion separated by a slash ('/') character.

ContentType is set to the default value 'text/html'.

ContentLength is set to -1.

Connection is set to the object reference in AConnection.

ResponseNo is set to 200.


TIdHTTPResponseInfo.Destroy

TIdHTTPResponseInfo

Frees the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance. Destroy is responsible for releasing the object properties for the instance, including Headers, Cookies, and ContentStream when a value has been assigned.


TIdHTTPResponseInfo.Redirect

TIdHTTPResponseInfo

Updates the location for an HTTP response.

procedure Redirect(const AURL: string);

Parameters

const AURL: string

Location of the redirected resource.

Description

Redirect is a procedure that allows TIdHTTPResponseInfo to redirect the HTTP client to specific URL. Redirect sets ResponseNo to 302, the HTTP response code that indicates a temporary redirection has been performed. To indicate that a resource has been permanently moved, set ResponseNo to 301.

Redirect also updates the "Location" Header for the HTTP response to contain the value specified in AURL.


TIdHTTPResponseInfo.WriteContent

TIdHTTPResponseInfo	See Also

Generates the HTTP response content.

procedure WriteContent;

Description

WriteContent is a procedure used to generate the content for the HTTP response.

WriteContent generates the content using either ContentText, or ContentStream when assigned, for ResponseNo values in the range 200 - 499 inclusive. If ResponseNo is not in this range, only the ResponseNo and ResponseText is included in the content of the HTTP response.

WriteContent uses Connection to transfer the content of the HTTP response to the HTTP client.

Use WriteHeader to generate header values prior to calling WriteContent.


See Also

TIdHTTPResponseInfo.ContentText

TIdHTTPResponseInfo.ContentStream

TIdHTTPResponseInfo.ResponseNo

TIdHTTPResponseInfo.ResponseText


TIdHTTPResponseInfo.WriteHeader

TIdHTTPResponseInfo	See Also

Generates headers for the HTTP response.

procedure WriteHeader;

Description

WriteHeader is a procedure used to generate HTTP headers for the HTTP response. WriteHeader will raise an EIdHTTPHeaderAlreadyWritten exception if HeaderHasBeenWritten indicates that HTTP headers have already been generated.

WriteHeader generates the following HTTP header values:

Server

Content-Type

Content-Length

WWW-Authenticate

Set-Cookie

WWW-Authenticate is generated when AuthRealm contains a non-empty value. ResponseNo is set to 401 when AuthRealm is used.

Set-Cookie is generated for each value in Cookies.

Dest is an optional TStream used as a local buffer for header values. When Dest is not Nil, headers are written to Dest and not to Connection.

Use WriteContent to generate the content for the HTTP response.


See Also

TIdHTTPResponseInfo.WriteContent

TIdHTTPResponseInfo.HeaderHasBeenWritten

TIdHTTPResponseInfo.AuthRealm

TIdHTTPResponseInfo.ResponseNo

EIdHTTPHeaderAlreadyWritten


TIdHTTPServer

Hierarchy	Members	Properties	Methods	Events	See Also	Unit: IdHTTPServer

HTTP Server Implementation.

TIdHTTPServer = class(TIdTCPServer)

Description

TIdHTTPServer is a TIdTCPServer descendant that is a server implementation of the Hypertext Transfer Protocol (HTTP) as described in the Internet Standards document:

Hypertext Transfer Protocol version 1.0 (HTTP), RFC 1945

TIdHTTPServer supports the HTTP 1.0 protocol for use as a web server.

TIdHTTPServer also supports the Secure Hypertext Transport protocol (HTTPS) as described in the Internet Standards document:

The Secure HyperText Transfer Protocol, RFC 2660

Assign an instance of TIdServerInterceptOpenSSL to the Intercept property to allow use of the HTTPS protocol. For the Windows platform, you must install the Indy OpenSSL support .DLL's available at http://www.intelicom.si  to enable Secure Socket Layer support.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPServer

|

TIdHTTPServer


TIdHTTPServer Fields

TIdHTTPServer


TIdHTTPServer Properties

TIdHTTPServer	Legend

TIdHTTPServer

 AutoStartSession

 DefaultPort

 MIMETable

 ParseParams

 ServerSoftware

 SessionList

 SessionState

 SessionTimeOut

TIdTCPServer

 AcceptWait

 Active

 Bindings

 DefaultPort

 ImplicitThreadMgrCreated

 Intercept

 TerminateWaitTime

 ThreadClass

 ThreadMgr

 Threads

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdHTTPServer Events

TIdHTTPServer	Legend

TIdHTTPServer

 OnCommandGet

 OnCommandOther

 OnSessionEnd

 OnSessionStart

TIdTCPServer

 OnConnect

 OnDisconnect

 OnExecute

TIdComponent

 OnStatus


Legend

 published


TIdHTTPServer Methods

TIdHTTPServer	Legend

TIdHTTPServer

 Create

 CreateSession

 Destroy

 DoExecute

 EndSession

 ServeFile

TIdTCPServer

 Create

 Destroy

 Loaded

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdHTTPServer Members

TIdHTTPServer	Legend

Properties

 AutoStartSession

 DefaultPort

 MIMETable

 ParseParams

 ServerSoftware

 SessionList

 SessionState

 SessionTimeOut

Events

 OnCommandGet

 OnCommandOther

 OnSessionEnd

 OnSessionStart

Methods

 Create

 CreateSession

 Destroy

 DoExecute

 EndSession

 ServeFile


Legend

 virtual

 published


TIdHTTPServer.AutoStartSession

TIdHTTPServer

Requests a new session when an existing session is not found.

property AutoStartSession: boolean;

Description

AutoStartSession is a Boolean property that indicates a new HTTP session should be created when a persistent HTTP session does not exist in the session list.


TIdHTTPServer.DefaultPort

TIdHTTPServer

Default port number for the server.

property DefaultPort;

Description

DefaultPort is a published property in TIdHTTPServer that identifies the port number for the server, as described in the Hypertext Transfer Protocol specification. The default value for DefaultPort is IdPORT_HTTP.


TIdHTTPServer.MIMETable

TIdHTTPServer

Represents the MIME type table for the HTTP server.

property MIMETable: TIdMimeTable;

Description

MIMETable is a read-only TIdMimeTable property that is used to retrieve the registered MIME type for a file requested in the ServeFile method.


TIdHTTPServer.ParseParams

TIdHTTPServer

Requests parsing of query parameters in client requests.

property ParseParams: boolean;

Description

ParseParams is a Boolean property that indicates the string list should be populated with the query values from the client request query string (GET method) or form values (POST method).

For a client request in the form:

   http://www.mydomain.com/test.htm?color=blue&size=10&style=44

The Params property would contain:

   color=blue

   size=10

   style=44

The developer has easy access to the value of named parameters using the RequestInfo.Params.Values property:

   Color := RequestInfo.Params.Values['Color'];

To parse non-standard request query or form data, the ParseParams property should be set to false, and the developer will need to build a parser to extract the parameters from the UnparsedParams property.


TIdHTTPServer.ServerSoftware

TIdHTTPServer

Indicates the server software used to generate the HTTP response.

property ServerSoftware: string;

Description

ServerSoftware is a String property that identifies the server software used to generate the HTTP response.


TIdHTTPServer.SessionList

TIdHTTPServer

Container for HTTP sessions for the server.

property SessionList: TIdHTTPSessionList;

Description

SessionList is a read-only TIdHTTPSessionList property used as a container for TIdHTTPSession instance created for the HTTP server. SessionList is maintained in CreateSession and EndSession, as well by TIdHTTPSessionList.PurgeStaleSessions.


TIdHTTPServer.SessionState

TIdHTTPServer

Indicates that the server uses persistent HTTP sessions.

property SessionState: Boolean;

Description

SessionState is a Boolean property that indicates persistent sessions are used by the HTTP server to service requests from peer threads.

SessionState is used by CreateSession to determine if a new persistent session is created and added to the session list.

SessionState is used by GetSessionFromCookie to determine if a persistent session matching the 'IDHTTPSESSIONID' cookie and Remote IP address should be retrieved from the session list.


TIdHTTPServer.SessionTimeOut

TIdHTTPServer

specifies the default time-to-live for persistent HTTP sessions.

property SessionTimeOut: Integer;

Description

SessionTimeOut is an Integer property that specifies the default time-to-live for persistent HTTP sessions created by the HTTP server. SessionTimeOut is assigned as the default SessionTimeOut for the server session list when the HTTP server becomes active.

SessionTimeOut is used determine when a persistent HTTP session has expired, or become stale. Stale persistent sessions are removed from the HTTP session list.


TIdHTTPServer.Create

TIdHTTPServer

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the TIdHTTPServer instance. Create relies on the inherited Create method, and initializes the following server properties:

DefaultPort - port number IdPORT_HTTP.

ParseParams - requests parsing of query parameters.

SessionList - creates the list for persistent HTTP sessions.

MIMETable - creates the cached MIME table.


TIdHTTPServer.CreateSession

TIdHTTPServer

Creates a new HTTP session.

function CreateSession(HTTPResponse: TIdHTTPResponseInfo; HTTPRequest: TIdHTTPRequestInfo): TIdHTTPSession;

Parameters

HTTPResponse: TIdHTTPResponseInfo

The response to use for the session.

HTTPRequest: TIdHTTPRequestInfo

The request to use for the session.

Returns

TIdHTTPSession - The session created for the HTTP request and response.

Description

CreateSession is a TIdHTTPSession function used to retrieve a new persistent HTTP session.

CreateSession initializes a new HTTP session with a unique SessionID and the IP address specified in the HTTPRequest parameter. SessionID is added as the cookie 'IDHTTPSESSIONID' to the HTTPResponse parameter. The new session is also added to the session list for the server.

If SessionState is False, CreateSession will perform no action and return the value Nil.


TIdHTTPServer.Destroy

TIdHTTPServer

Frees the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance.

Destroy is responsible for freeing and releasing the MIMETable and SessionList properties. Destroy calls the inherited method to complete destruction of the object instance.


TIdHTTPServer.DoExecute

TIdHTTPServer

Implements the Execute behavior for the HTTP server.

function DoExecute(AThread: TIdPeerThread): boolean; override;

Parameters

AThread: TIdPeerThread

The peer thread to be executed.

Returns

Boolean - DoExecute always returns True.

Description

DoExecute is a Boolean function that implements the Execute behavior for HTTP server peer threads. DoExecute reads the request from the peer thread Connection and constructs the TIdHTTPRequestInfo and TIdHTTPResponseInfo instances used to service the client connection.

DoExecute responds to the HTTP GET, POST, and HEAD commands when a OnGetCommand event handler is assigned. Otherwise, DoExecute will attempt to call the OnCommandOther event handler and exit the method. If the HTTP request read from the client is malformed, an EIdHTTPErrorParsingCommand exception will be raised.

DoExecute also parses HTTP headers and cookies. Parameters are loaded into an the UnparsedParams for the TIdHTTPRequestInfo that represents the request. When ParseParams is True, parameters are parsed and stored in the TIdHTTPRequestInfo instance. Cookies are also constructed from headers in the HTTP request. When Cookies for the request contain a malformed "Authorization" header, an EIdHTTPUnsupportedAuthorisationScheme exception can be raised.

DoExecute parses the request URL to determine the Protocol, Host, Path, Document, Port, and Bookmark for the URL. DOExecute creates a TIdHTTPResponseInfo that represents the response for the HTTP request, and examines the persistent session list to locate an existing session with the ID specified in the "IDHTTPSESSIONID" cookie or using the remote IP address from the peer thread connection.

DoExecute uses the OnCommandGet event handler to allow processing using the request and response object references. If an exception occurs during execution of the event handler, the HTTP ResponseNo is set to 500 and the message for the exception is stored in the ContentText for the HTTP response.

DoExecute will automatically write headers for the HTTP response, if they have not been written in the OnCommandGet event handler, and write the content of the HTTP response to the peer thread connection.

DoExecute will disconnect the peer thread connection after completion of the method.


TIdHTTPServer.EndSession

TIdHTTPServer

Frees the named HTTP session.

function EndSession(const SessionName: string): boolean;

Parameters

const SessionName: string

Identifier of the session to be freed.

Returns

Boolean - True when the named session is found and freed.

Description

EndSession is a Boolean function that allows the HTTP server to locate a TIdHTTPSession with the SessionID specified in SessionName, and free the session instance.

EndSession uses SessionList.GetSession to find the named session. If a valid session reference is retrieved, the session is freed.


TIdHTTPServer.ServeFile

TIdHTTPServer

Requests a file transfer to the HTTP client.

function ServeFile(AThread: TIdPeerThread; ResponseInfo: TIdHTTPResponseInfo; aFile: TFileName): cardinal; virtual;

Parameters

AThread: TIdPeerThread

The peer thread requesting the file.

ResponseInfo: TIdHTTPResponseInfo

The response object used to write headers for the HTTP response.

aFile: TFileName

The file name requested.

Returns

Cardinal - Number of bytes written to the peer thread connection.

Description

ServeFile is a Cardinal function used to send the contents of a file on the HTTP server to the HTTP client represented by the peer thread connection.

ServeFile uses MIMETable to determine the content type for the requested file.

ServeFile uses AResponseInfo to write the HTTP response headers, and writes the content of the file in AFile to the peer thread Connection.


TIdHTTPServer.OnCommandGet

TIdHTTPServer

Represents the event handler for HTTP server GET, POST, and HEAD commands.

property OnCommandGet: TIdHTTPGetEvent;

Description

OnCommandGet is the TIdHTTPGetEvent event handler used to respond to events generated for the HTTP server GET, POST, and HEAD commands.

The application must assign a procedure to the OnCommandGet event handler to allow the server to respond to the HTTP commands.

OnCommandGet can be used to manipulate properties and methods of the RequestInfo and ResponseInfo parameters prior to allowing the server to send the response to the HTTP client.


TIdHTTPServer.OnCommandOther

TIdHTTPServer

Represents the event handler for unknown HTTP commands.

property OnCommandOther: TIdHTTPOtherEvent;

Description

OnCommandOther is the TIdHTTPOtherEvent event handler used to respond to unknown HTTP commands.

The application must assign a procedure to the OnCommandOther event handler to allow the server to respond to the unknown HTTP command.

Use OnCommandOther to generate custom Response or Error messages, or perform processing specific to the HTTP server implementation when an error occurs.


TIdHTTPServer.OnSessionEnd

TIdHTTPServer	See Also

Specifies the event handler for terminating HTTP sessions.

property OnSessionEnd: TOnSessionEndEvent;

Description

OnSessionEnd is the TOnSessionEndEvent event handler used to respond to the event notification for termination of a HTTP session.

OnSessionEnd is assigned to the OnSessionEnd event handler for the HTTP session list used by server. The event handler is assigned when the server becomes active.


See Also

TOnSessionEndEvent

TIdHTTPSessionList

TIdHTTPSession

TIdHTTPServer.OnSessionStart


TIdHTTPServer.OnSessionStart

TIdHTTPServer	See Also

Specifies the event handler for creating a new HTTP session.

property OnSessionStart: TOnSessionStartEvent;

Description

OnSessionStart is the TOnSessionStartEvent event handler used to respond to the event notification for creation of a new HTTP session.

OnSessionStart is assigned to the OnSessionStart event handler for the HTTP session list used by server. The event handler is assigned when the server becomes active.


See Also

TOnSessionStartEvent

TIdHTTPSessionList

TIdHTTPSession

TIdHTTPServer.OnSessionEnd


TIdHTTPSession

Hierarchy	Members	Properties	Methods	See Also	Unit: IdHTTPServer

Implements a persistent HTTP Session.

TIdHTTPSession = class(TObject)

Description

TIdHTTPSession is a TObject descendant that implements a HTTP Session.

TIdHTTPSession also provides support for maintaining a persistent HTTP session and state for TIdHTTPServer. TIdHTTPSession is used with TIdHTTPSessionList to provide persistent HTTP session management using the SessionID property and the "IDSESSIONID" Cookie.

SessionID is the unique identifier for the HTTP session.

LastTimestamp is the date and time that the HTTP session was last modified.

RemoteHost is the address of the remote computer using the HTTP session.

Content is a storage area for string values that can be used to form HTTP request and/or response messages.


See Also

TIdHTTPSessionList

TIdHTTPServer

TIdCookie

Technical Support


Class Hierarchy

TObject

|

TIdHTTPSession


TIdHTTPSession Fields

TIdHTTPSession


TIdHTTPSession Properties

TIdHTTPSession

TIdHTTPSession

 Content

 LastTimeStamp

 RemoteHost

 SessionID


TIdHTTPSession Events

TIdHTTPSession


TIdHTTPSession Methods

TIdHTTPSession	Legend

TIdHTTPSession

 Create

 CreateInitialized

 Destroy

 Lock

 Unlock


Legend

 virtual


TIdHTTPSession Members

TIdHTTPSession	Legend

Properties

 Content

 LastTimeStamp

 RemoteHost

 SessionID

Methods

 Create

 CreateInitialized

 Destroy

 Lock

 Unlock


Legend

 virtual


TIdHTTPSession.Content

TIdHTTPSession

Provides storage for HTTP message contents.

property Content: TStrings;

Description

Content is a TStringList property used to provide storage for string values that can be used to form HTTP request and/or response messages.


TIdHTTPSession.LastTimeStamp

TIdHTTPSession	See Also

Specifies the date and time a session was last modified.

property LastTimeStamp: TDateTime;

Description

LastTimeStamp is a read-only TDateTime property that identifies the date and time that a HTTP session was last modified. LastTimeStamp is used with the SessionTimeOut value from TIdHTTPSessionList to determine when a persistent HTTP session has expired.

LastTimeStamp is updated when a HTTP session is created or accessed for use with a HTTP request or response by TIdHTTPServer.


See Also

TIdHTTPSessionList

TIdHTTPServer


TIdHTTPSession.RemoteHost

TIdHTTPSession

Represents the remote computer address for the session.

property RemoteHost: string;

Description

RemoteHost is a read-only String property that represents the IP address for the remote computer systems which is the endpoint for the HTTP session.


TIdHTTPSession.SessionID

TIdHTTPSession

Represents the unique session identifier.

property SessionID: String;

Description

SessionID is a String property that represents the unique identifier for the HTTP session. SessionID is the "IDSESSIONID" Cookie value used to implement HTTP session persistence.


TIdHTTPSession.Create

TIdHTTPSession	See Also

Constructor for the object instance.

constructor Create(AOwner: TIdHTTPSessionList); virtual;

Parameters

AOwner: TIdHTTPSessionList

Owner of the object instance.

Description

Create is the constructor for the object instance, and is responsible for initializing properties specific to the TIdHTTPSession. Create does not call the inherited Create constructor.

AOwner is the owner of the object instance, and when assigned, should reflect the TIdHTTPSessionList that owns the session object instance. AOwner is used to trigger the OnSessionStart event handler to perform session maintenance specific to the server implementation.


See Also

TIdHTTPSessionList

TOnSessionStartEvent


TIdHTTPSession.CreateInitialized

TIdHTTPSession

Constructor for the object instance.

constructor CreateInitialized(AOwner: TIdHTTPSessionList; const SessionID: string; const RemoteIP: string); virtual;

Parameters

AOwner: TIdHTTPSessionList

Session list that owns the object instance.

const SessionID: string

Session identifier for the object instance.

const RemoteIP: string

IP address for the remote host for the session.

Description

CreateInitialized is the constructor for the object instance, and initializes properties for the HTTP session including SessionID, RemoteHost, Content, Owner, OnSessionStart, and LastTimestamp to their default values.

The session identifier is set to the value specified in SessionID. RemoteHost is set to the value specified in RemoteIP. LastTimeStamp is set the current date and time on the HTTP server. Owner is set to the TIdHTTPSessionList specified in AOwner that owns the object instance.

The Content property is created, and the OnSessionStart event handler is assigned the value from the session list that owns the object instance.

CreateInitialized is called from TIdHTTPSessionList.CreateSession, where a new session is created and added to the session list for the server.


TIdHTTPSession.Destroy

TIdHTTPSession

Frees the object instance.

destructor Destroy; override;

Description

Destroy is a procedure that acts as the destructor for the object instance, and is responsible for handling persistent session clean-up and freeing object properties for the session.

Destroy calls DoSessionEnd to trigger the OnSessionEnd event handler, and signals the Owner session list that the session should be removed.

Destroy clears the Content property, and frees the property instance.

Destroy frees the private and protected member variables used by the object instance.


TIdHTTPSession.Lock

TIdHTTPSession

Prevents access to the session from another thread.

procedure Lock;

Description

Lock is a procedure used protect access to the properties and methods of the HTTP session in a multi-threaded application. Lock enters a TCriticalSection for the current thread to prevent modification of the HTTP session from another thread.


TIdHTTPSession.Unlock

TIdHTTPSession

Enables access to the session from another thread.

procedure Unlock;

Description

Unlock is a procedure used to re-enabled access to the HTTP session after a call to Lock. Unlock exits the TCriticalSection used to prevent multi-threaded access to the object instance properties and methods.


TIdHTTPSessionList

Hierarchy	Members	Properties	Methods	Events	See Also	Unit: IdHTTPServer

Implements a container for HTTP sessions.

TIdHTTPSessionList = class(TObject)

Description

TIdHTTPSessionList is a TObject instance that implements a container for HTTP session objects.

TIdHTTPSessionList also provides support for maintaining persistent HTTP sessions and state for TIdHTTPServer.

Use Clear to signal HTTP session completion and remove all sessions from the session list.

Use CreateSession to initialize a new persistent HTTP session and add it to the session list.

Use GetSession to retrieve a persistent HTTP session or add a new session to the session list.

Use SessionTimeOut to specify how long persistent sessions will remain in the session list.

Use PurgeStaleSessions to incrementally allow HTTP sessions where the SessionTimeOut period has expired to be removed from the session list.

Use the OnSessionStart and OnSessionEnd event handlers to signal the application when a persistent HTTP session is added or removed from the session list.


See Also

TIdHTTPSession

TIdHTTPServer

Technical Support


Class Hierarchy

TObject

|

TIdHTTPSessionList


TIdHTTPSessionList Fields

TIdHTTPSessionList


TIdHTTPSessionList Properties

TIdHTTPSessionList

TIdHTTPSessionList

 SessionTimeout


TIdHTTPSessionList Events

TIdHTTPSessionList

TIdHTTPSessionList

 OnSessionEnd

 OnSessionStart


TIdHTTPSessionList Methods

TIdHTTPSessionList	Legend

TIdHTTPSessionList

 Clear

 Create

 CreateSession

 destroy

 GetSession

 PurgeStaleSessions


Legend

 virtual


TIdHTTPSessionList Members

TIdHTTPSessionList	Legend

Properties

 SessionTimeout

Events

 OnSessionEnd

 OnSessionStart

Methods

 Clear

 Create

 CreateSession

 destroy

 GetSession

 PurgeStaleSessions


Legend

 virtual


TIdHTTPSessionList.SessionTimeout

TIdHTTPSessionList

Specifies the time-to-live for a HTTP session.

property SessionTimeout: cardinal;

Description

SessionTimeout is a Cardinal property that specifies the time-to-live for a persistent HTTP session expressed in milliseconds.

SessionTimeout is used to determine when a TIdHTTPSession is stale (the LastTimeStamp indicates that the SessionTimeOut has expired).


TIdHTTPSessionList.Clear

TIdHTTPSessionList

Removes HTTP sessions from the session list.

procedure Clear; virtual;

Description

Clear is a procedure used to remove all TIdHTTPSession objects in the session list. Clear will perform the DoSessionEnd method for each session, clear the Owner property for the session, and free the session object instance.


TIdHTTPSessionList.Create

TIdHTTPSessionList

Constructor for the object instance.

constructor Create; virtual;

Description

Create is the constructor for the object instance, and is responsible for creating the protected SessionList used to store the TIdHTTPSession instances.


TIdHTTPSessionList.CreateSession

TIdHTTPSessionList

Add a new HTTP session.

function CreateSession(const RemoteIP: String; const SessionID: String): TIdHTTPSession;

Parameters

const RemoteIP: String

The peer IP address for the session.

const SessionID: String

The identifier for the session.

Returns

TIdHTTPSession - The session object reference.

Description

CreateSession is a TIdHTTPSession function used to create a new HTTP session, and add the new session to the session list.

RemoteIP is the IP address of the remote computer system that is the endpoint for the HTTP session.

SessionID is the identifier for the new HTTP session.

CreateSession will set the LastTimestamp to the timestamp value for the current date and time.

CreateSession is used by TIdHTTPServer to retrieve a new HTTP session when a new connection is established.


TIdHTTPSessionList.destroy

TIdHTTPSessionList

Destructor for the object instance.

destructor destroy; override;

Description

Destroy is the destructor for the session list. Destroy is responsible for clearing and freeing the sessions in the session list prior to calling the inherited Destroy method.


TIdHTTPSessionList.GetSession

TIdHTTPSessionList

Retrieves a HTTP session from the session list.

function GetSession(const SessionID: string; const RemoteIP: string): TIdHTTPSession;

Parameters

const SessionID: string

The identifier for the session.

const RemoteIP: string

The remote IP address for the session.

Returns

TIdHTTPSession - The session object reference, or Nil.

Description

GetSession is a TIdHTTPSessionList function used to retrieve an existing HTTP session from the session list using values specified in SessionID and RemoteIP.

GetSession will free and remove any HTTP session where LastTimestamp and SessionTimeOut indicates that the session has expired.

If a session is located having the same SessionID and RemoteIP, the session is reused.

When no session is found matching SessionID and RemoteIP, GetSession will return Nil.


TIdHTTPSessionList.PurgeStaleSessions

TIdHTTPSessionList

Removes expired sessions from the session list.

procedure PurgeStaleSessions(PurgeAll: Boolean);

Description

PurgeStaleSessions is a procedure used to incrementally remove HTTP session where the LastTimestamp and SessionTimeout properties indicate that the session has expired.

PurgreStaleSessions will remove expired sessions in 10 session blocks to avoid excessive CPU usage.

PurgreStaleSessions will perform the DoSessionEnd method for each expired session, clear the Owner property for the session, and free the session object instance.


TIdHTTPSessionList.OnSessionEnd

TIdHTTPSessionList

Specifies the event handler for a terminating HTTP session.

property OnSessionEnd: TOnSessionEndEvent;

Description

OnSessionEnd is the TOnSessionEndEvent event handler used respond to the notification that a HTTP session will be terminated.

Assign a procedure to the event handler to respond to the event notification.


TIdHTTPSessionList.OnSessionStart

TIdHTTPSessionList

Specifies the event handler for creation of a new HTTP session.

property OnSessionStart: TOnSessionStartEvent;

Description

OnSessionStart is the TOnSessionStartEvent event handler used respond to the notification that a HTTP session will be created.

Assign a procedure to the event handler to respond to the event notification.


TIdIcmpClient

Hierarchy	Members	Properties	Methods	Events	See Also	Unit: IdIcmpClient

TIdIcmpClient = class(TIdRawClient)

Description

TIdIcmpClient is a Internet Protocol client implementation based on the Internet standards document, RFC 792 - INTERNET CONTROL MESSAGE PROTOCOL ,  by Jon Postel.

TIdIcmpClient is used to send an Internet Control Message Protocol (ICMP) packet to another computer. ICMP packets are used for ping and TraceRoute capability to help diagnose problems with connectivity.

TIdIcmpClient is a descendant of the abstract class TIdRawClient, and uses the Protocol value Id_IPPROTO_ICMP (Decimal 1). TIdIcmpClient uses the message formats and algorithms as defined in RFC 792.

Use TIdIcmpClient to diagnose a communications links by using Ping. Host identifies the IP address or computer name for the echo request. Use ReplyStatus and OnReply to access information received as a result of the echo request datagram. Set ReceiveTimeout to control the time to wait for a response to the echo request datagram.

Use the TTL property to set the packet's Time To Live value: the maximum number of hops the packet will travel before being bounced.

For Traceroute application, send ping echo requests with increased TTL values. Each reply will hold the IP address of the hop where the TTL expired, allowing the program to build the packet's route. .


See Also

TIdRawClient

Id_IPPROTO_ICMP

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdRawBase

|

TIdRawClient

|

TIdIcmpClient


TIdIcmpClient Fields

TIdIcmpClient


TIdIcmpClient Properties

TIdIcmpClient	Legend

TIdIcmpClient

 Host

 Port

 Protocol

 ReceiveTimeout

 ReplyStatus

TIdRawClient

 Host

 Port

 Protocol

 ReceiveTimeout

TIdRawBase

 Binding

 BufferSize

 Host

 Port

 Protocol

 ReceiveTimeout

 TTL

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdIcmpClient Events

TIdIcmpClient	Legend

TIdIcmpClient

 OnReply

TIdComponent

 OnStatus


Legend

 published


TIdIcmpClient Methods

TIdIcmpClient	Legend

TIdIcmpClient

 Create

 Ping

 Receive

TIdRawBase

 Create

 Destroy

 ReceiveBuffer

 procedure Send(AData: string); overload;

 procedure Send(AHost: string; const APort: Integer; AData: string); overload;

 procedure Send(AHost: string; const APort: integer; var ABuffer; const ABufferSize: integer); overload;

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdIcmpClient Members

TIdIcmpClient	Legend

Properties

 Host

 Port

 Protocol

 ReceiveTimeout

 ReplyStatus

Events

 OnReply

Methods

 Create

 Ping

 Receive


Legend

 virtual

 published


TIdIcmpClient.Host

TIdIcmpClient

Specifies the address used to connect to a computer.

property Host;

Description

Host identifies the address used to connect to a computer. The address can be a computer name such as "wvnvm.wvnet.edu" or an IP address such as "129.71.2.4".

To connect to a server on your machine, use IP address "127.0.0.1" aka [localhost].


TIdIcmpClient.Port

TIdIcmpClient	See Also

Specifies the port number used by the local connection.

property Port;

Description

Port is an Integer property that identifies the port number on the local system where data is sent and received.

Note: Many port numbers are associated, by convention, with a particular service such as ftp or http as described in IdPorts. Some protocols use pre-defined port numbers. Port numbers below 1024 are reserved, but using a number above 1024 does not guarantee there will be no conflict.


See Also

IdPorts


TIdIcmpClient.Protocol

TIdIcmpClient	See Also

Specifies the ICMP Internet Protocol for the socket connection.

property Protocol;

Description

Protocol identifies the Internet Protocol used by the socket connection. TIdIcmpClient uses the value Id_IPPROTO_ICMP as defined in IdStackConst.pas. The default value of Protocol is assigned in the Create constructor. Do not change the value of Protocol, or the communications link may not function properly.


See Also

TIdIcmpClient.Create


TIdIcmpClient.ReceiveTimeout

TIdIcmpClient	See Also

Specifies the time limit to wait for echo responses.

property ReceiveTimeout;

Description

ReceiveTimeout is an Integer property that identifies the maximum time that a socket connection should wait for a response to an echo request. ReceiveTimeout is specified in milliseconds.

ReceiveTimeout is used when capturing an echo request in Ping.


See Also

TIdIcmpClient.Ping


TIdIcmpClient.ReplyStatus

TIdIcmpClient	See Also

Specifies the structure used to store a response to an echo request.

property ReplyStatus: TReplyStatus;

Description

ReplyStatus is a TReplyStatus property used to store a response to an echo request.

ReplyStatus is updated when a receiving a response to an echo request in Ping. When the response to an echo request contains a non-zero length, ReplyStatus is updated with the contents of the echo response datagram.

When the response to an echo request contains 0 bytes, ReplyStatus is updated with values to indicate the error condition, including:

BytesReceived - 0

FromIpAddress - '0.0.0.0'

MsgType - 0

SequenceId - Internal sequence number from TIdIcmpClient

TimeToLive - 0

ReplyStatusType - rsTimeOut


See Also

TReplyStatus

TIdIcmpClient.Ping


TIdIcmpClient.Create

TIdIcmpClient	See Also

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Description

Create is the constructor for the object instance. Create relies on the inherited Create constructor to initialize the object instance. In the constructor, Protocol is set to the value Id_IPPROTO_ICMP defined in IdStackConst.pas, and the internal packet sequence number is set to 0.


See Also

TIdIcmpClient.Protocol

Id_IPPROTO_ICMP


TIdIcmpClient.Ping

TIdIcmpClient	See Also

Sends an echo request and receives an echo response.

procedure Ping;

Description

Ping is used to prepare and send and echo request, and to receive the echo response. Ping sends the echo request to the computer identified in Host, and gets the response to the echo request datagram.

Set ReceiveTimeout to indicate the time to wait for a response to the echo request datagram.

Use ReplyStatus to access the TReplyStatus received as a response to the echo request datagram.

Assign an OnReply event handler to perform additional processing when a TOnReplyEvent is detected.

TIdIcmpClient closes the socket handle allocated on completion of the Ping method.


See Also

TIdIcmpClient.Host

TIdIcmpClient.ReceiveTimeout

TIdIcmpClient.ReplyStatus

TIdIcmpClient.OnReply

TOnReplyEvent


TIdIcmpClient.Receive

TIdIcmpClient

Reads data from the protocol stack.

function Receive(ATimeOut: Integer): TReplyStatus;

Parameters

ATimeOut: Integer

Timeout value in milliseconds.

Returns

TReplyStatus - Response type for the operation.

Description

Receive is a TReplyStatus function that reads data from the receive buffer for the ICMP broadcast.


TIdIcmpClient.OnReply

TIdIcmpClient	See Also

Specifies an event handler for TOnReplyEvent events.

property OnReply: TOnReplyEvent;

Description

OnReply is a TOnReplyEvent handler triggered when a echo response is received. OnReply is generally used to update progress indicators or other GUI components as a result of receiving the echo response found in ReplyStatus. Assign an event handler to perform additional processing when the TOnReplyEvent is triggered by Ping.


See Also

TOnReplyEvent


TIdIMAP4Server

Hierarchy	Members	Properties	Methods	Events	See Also	Unit: IdIMAP4Server

Implements an IMAP4 server.

TIdIMAP4Server = class(TIdTCPServer)

Description

TIdIMAP4Server helps developers implement a Internet Message Access Protocol, Version 4rev1 or IMAP4 server (RFC 2060).

The IMAP4 protocol permits manipulation of remote message folders, called "mailboxes", in a way that is functionally equivalent to local mailboxes.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPServer

|

TIdIMAP4Server


TIdIMAP4Server Fields

TIdIMAP4Server


TIdIMAP4Server Properties

TIdIMAP4Server	Legend

TIdIMAP4Server

 DefaultPort

TIdTCPServer

 AcceptWait

 Active

 Bindings

 DefaultPort

 ImplicitThreadMgrCreated

 Intercept

 TerminateWaitTime

 ThreadClass

 ThreadMgr

 Threads

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdIMAP4Server Events

TIdIMAP4Server	Legend

TIdIMAP4Server

 OnCommandAPPEND

 ONCommandAUTHENTICATE

 ONCommandCAPABILITY

 ONCommandCHECK

 OnCommandCLOSE

 OnCommandCOPY

 ONCommandCREATE

 ONCommandDELETE

 OnCommandError

 OnCommandEXAMINE

 ONCommandEXPUNGE

 ONCommandFETCH

 ONCommandLIST

 ONCommandLOGIN

 ONCommandLOGOUT

 OnCommandLSUB

 ONCommandNOOP

 OnCommandRENAME

 OnCommandSEARCH

 ONCommandSELECT

 ONCommandSTATUS

 OnCommandSTORE

 ONCommandSUBSCRIBE

 ONCommandUID

 ONCommandUNSUBSCRIBE

 OnCommandX

TIdTCPServer

 OnConnect

 OnDisconnect

 OnExecute

TIdComponent

 OnStatus


Legend

 published


TIdIMAP4Server Methods

TIdIMAP4Server	Legend

TIdIMAP4Server

 Create

TIdTCPServer

 Create

 Destroy

 Loaded

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdIMAP4Server Members

TIdIMAP4Server	Legend

Properties

 DefaultPort

Events

 OnCommandAPPEND

 ONCommandAUTHENTICATE

 ONCommandCAPABILITY

 ONCommandCHECK

 OnCommandCLOSE

 OnCommandCOPY

 ONCommandCREATE

 ONCommandDELETE

 OnCommandError

 OnCommandEXAMINE

 ONCommandEXPUNGE

 ONCommandFETCH

 ONCommandLIST

 ONCommandLOGIN

 ONCommandLOGOUT

 OnCommandLSUB

 ONCommandNOOP

 OnCommandRENAME

 OnCommandSEARCH

 ONCommandSELECT

 ONCommandSTATUS

 OnCommandSTORE

 ONCommandSUBSCRIBE

 ONCommandUID

 ONCommandUNSUBSCRIBE

 OnCommandX

Methods

 Create


Legend

 virtual

 published


TIdIMAP4Server.DefaultPort

TIdIMAP4Server

Default port number for the server.

property DefaultPort;

Description

DefaultPort is a published property in TIdIMAP4Server that identifies the default port number for the server, as described in the Internet Message Access Protocol specification. The default value for DefaultPort is IdPORT_IMAP4.


TIdIMAP4Server.Create

TIdIMAP4Server

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Description

Create is the constructor for the object instance, and creates a TIdMAPI4Server component and sets the default port to the port used by most IMAP4 servers (IdPORT_IMAP4).


TIdIMAP4Server.OnCommandAPPEND

TIdIMAP4Server

Event type for the IMAP4 APPEND command.

property OnCommandAPPEND: TCommandEvent;

Description

OnCommandAPPEND is the event triggered when the IMAP4 client issues an APPEND command.


TIdIMAP4Server.ONCommandAUTHENTICATE

TIdIMAP4Server

Event type for the IMAP4 AUTHENTICATE command.

property ONCommandAUTHENTICATE: TCommandEvent;

Description

ONCommandAUTHENTICATE is the event triggered when a client issues the IMAP4 AUTHENTICATE command.


TIdIMAP4Server.ONCommandCAPABILITY

TIdIMAP4Server

Event type for the IMAP4 CAPABILITY command.

property ONCommandCAPABILITY: TCommandEvent;

Description

ONCommandCAPABILITY is the event triggered when the IMAP4 client issues the CAPABILITY command.


TIdIMAP4Server.ONCommandCHECK

TIdIMAP4Server

Event type for the IMAP4 CHECK command.

property ONCommandCHECK: TCommandEvent;

Description

ONCommandCHECK is the event triggered when the IMAP4 client issues the CHECK command.


TIdIMAP4Server.OnCommandCLOSE

TIdIMAP4Server

Event type for the IMAP4 client issues the CLOSE command.

property OnCommandCLOSE: TCommandEvent;

Description

OnCommandCLOSE is the event triggered when the IMAP4 client issues the CLOSE command.


TIdIMAP4Server.OnCommandCOPY

TIdIMAP4Server

Event type for the IMAP4 COPY command.

property OnCommandCOPY: TCommandEvent;

Description

OnCommandCOPY is the event triggered when the IMAP4 client issues the COPY command.


TIdIMAP4Server.ONCommandCREATE

TIdIMAP4Server

Event type for the IMAP4 CREATE command.

property ONCommandCREATE: TCommandEvent;

Description

ONCommandCREATE is the event triggered when the IMAP4 client issues the CREATE command.


TIdIMAP4Server.ONCommandDELETE

TIdIMAP4Server

Event type for the IMAP4 DELETE command.

property ONCommandDELETE: TCommandEvent;

Description

ONCommandDELETE This event is triggered when the IMAP4 client issues the DELETE command.


TIdIMAP4Server.OnCommandError

TIdIMAP4Server

Event type an unknown IMAP4 command.

property OnCommandError: TCommandEvent;

Description

OnCommandError is the event triggered when the IMAP4 client issues a command which is not recognized by the TIdIMAP4Server.


TIdIMAP4Server.OnCommandEXAMINE

TIdIMAP4Server

Event type for the IMAP4 EXAMINE command.

property OnCommandEXAMINE: TCommandEvent;

Description

OnCommandEXAMINE is the event triggered when the IMAP4 client issues the EXAMINE command.


TIdIMAP4Server.ONCommandEXPUNGE

TIdIMAP4Server

Event type for the IMAP4 EXPUNGE command.

property ONCommandEXPUNGE: TCommandEvent;

Description

ONCommandEXPUNGE is the event triggered when the IMAP4 client issues the EXPUNGE command.


TIdIMAP4Server.ONCommandFETCH

TIdIMAP4Server

Event type for the IMAP4 FETCH command.

property ONCommandFETCH: TCommandEvent;

Description

ONCommandFETCH is the event triggered when the IMAP4 client issues the FETCH command.


TIdIMAP4Server.ONCommandLIST

TIdIMAP4Server

Event type for the IMAP4 LIST command.

property ONCommandLIST: TCommandEvent;

Description

ONCommandLIST is the event triggered when the IMAP4 client issues the LIST command.


TIdIMAP4Server.ONCommandLOGIN

TIdIMAP4Server

Event type for the IMAP4 LOGIN command.

property ONCommandLOGIN: TCommandEvent;

Description

ONCommandLOGIN is the event triggered when a IMAP4 client issues the LOGIN command.


TIdIMAP4Server.ONCommandLOGOUT

TIdIMAP4Server

Event type for the IMAP4 LOGOUT command.

property ONCommandLOGOUT: TCommandEvent;

Description

ONCommandLOGOUT is the event triggered when the IMAP4 client issues the LOGOUT command.


TIdIMAP4Server.OnCommandLSUB

TIdIMAP4Server

Event type for the IMAP4 LSUB command.

property OnCommandLSUB: TCommandEvent;

Description

OnCommandLSUB is the event triggered when the IMAP4 client issues the LSUB command.


TIdIMAP4Server.ONCommandNOOP

TIdIMAP4Server

Event type for the IMAP4 NOOP command.

property ONCommandNOOP: TCommandEvent;

Description

ONCommandNOOP is the event triggered when the IMAP4 client issues the NOOP command.


TIdIMAP4Server.OnCommandRENAME

TIdIMAP4Server

Event type for the IMAP4 RENAME command.

property OnCommandRENAME: TCommandEvent;

Description

OnCommandRENAME is the event triggered when the IMAP4 client issues the RENAME command.


TIdIMAP4Server.OnCommandSEARCH

TIdIMAP4Server

Event type for the IMAP4 SEARCH command.

property OnCommandSEARCH: TCommandEvent;

Description

OnCommandSEARCH is the event triggered when the IMAP4 client issues the SEARCH command.


TIdIMAP4Server.ONCommandSELECT

TIdIMAP4Server

Event type for the IMAP4 SELECT command.

property ONCommandSELECT: TCommandEvent;

Description

ONCommandSELECT is the event triggered when the IMAP4 client issues the SELECT command.


TIdIMAP4Server.ONCommandSTATUS

TIdIMAP4Server

Event type for the IMAP4 STATUS command.

property ONCommandSTATUS: TCommandEvent;

Description

ONCommandSTATUS is the event triggered when the IMAP4 client issues the STATUS command.


TIdIMAP4Server.OnCommandSTORE

TIdIMAP4Server

Event type for the IMAP4 STORE command.

property OnCommandSTORE: TCommandEvent;

Description

OnCommandSTORE is the event triggered when the IMAP4 client issues the STORE command.


TIdIMAP4Server.ONCommandSUBSCRIBE

TIdIMAP4Server

Event type for the IMAP4 SUBSCRIBE command.

property ONCommandSUBSCRIBE: TCommandEvent;

Description

ONCommandSUBSCRIBE is the event triggered when the IMAP4 client issues the SUBSCRIBE command.


TIdIMAP4Server.ONCommandUID

TIdIMAP4Server

Event type for the IMAP4 UID command.

property ONCommandUID: TCommandEvent;

Description

ONCommandUID is the event triggered when the IMAP4 client issues the UID command.


TIdIMAP4Server.ONCommandUNSUBSCRIBE

TIdIMAP4Server

Event type for the IMAP4 UNSUBSCRIBE command.

property ONCommandUNSUBSCRIBE: TCommandEvent;

Description

ONCommandUNSUBSCRIBE is the event triggered when the IMAP4 client issues the UNSUBSCRIBE command.


TIdIMAP4Server.OnCommandX

TIdIMAP4Server

Event type for an IMAP4 extended command.

property OnCommandX: TCommandEvent;

Description

OnCommandX is the event triggered when the IMAP4 client issues an extended command (X*).


TIdIMFDecoder

Hierarchy	Members	Methods	See Also	Unit: IdCoderIMF

Implements a decoder for Internet Message Format-compliant messages.

TIdIMFDecoder = class(TIdCoder)

Description

TIdIMFDecoder is a TIdCoder descendant that implements a decoder for Internet Message Format-compliant messages, as described in the Internet Standards documents:

Standard for the Format of ARPA Internet Text Messages, RFC 822, Revised by David H. Crocker, August 1982

Standard for Interchange of USENET Messages, RFC 1036, by M. Horton, December 1987

TIdIMFDecoder extends TIdCoder to include the capability to detect RFC-822 headers for Content-Type, Content-Transfer-Encoding, and MIME boundaries.

TIdIMFDecoder is used to decode raw message content when it is received using TIdMessageClient.


See Also

TIdMessage

TIdHeaderList

TIdMessageClient


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdCoder

|

TIdIMFDecoder


TIdIMFDecoder Fields

TIdIMFDecoder


TIdIMFDecoder Properties

TIdIMFDecoder

TIdCoder

 AddCRLF

 AutoCompleteInput

 BufferSize

 ByteCount

 BytesIn

 BytesOut

 FileName

 IgnoreCodedData

 IgnoreNotification

 Key

 OnCodedData

 Priority

 TakesFileName

 TakesKey

 UseEvent

TIdBaseComponent

 Version


TIdIMFDecoder Events

TIdIMFDecoder

TIdCoder

 OnNotification


TIdIMFDecoder Methods

TIdIMFDecoder	Legend

TIdIMFDecoder

 Create

 Destroy

 Reset

TIdCoder

 CodeString

 CodeStringFromCoder

 CompletedInput

 Create

 Destroy

 GetCodedData

 GetNotification

 Reset

 SetBufferSize

 SetKey

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdIMFDecoder Members

TIdIMFDecoder	Legend

Methods

 Create

 Destroy

 Reset


Legend

 virtual


TIdIMFDecoder.Create

TIdIMFDecoder

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Description

Create is the constructor for the object instance. Create initializes storage for MIME boundaries used in implementation of the message decoder, and calls the inherited Create method. Create also sets the default content encoding to "8-bit" and sets AddCRLF to False.

Create also assigns a private procedure as the OnCodedData event handler, and sets the UseEvent property to True to allow the event handler to receive notifications of completed decoding operations.


TIdIMFDecoder.Destroy

TIdIMFDecoder

Frees an object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance, and clears the MIME boundaries used in the implementation of TIdIMFDecoder.


TIdIMFDecoder.Reset

TIdIMFDecoder

Clears the state of the message decoder.

procedure Reset; override;

Description

Reset is an overridden procedure that allows the message decoder to clear internal state settings. Reset calls the inherited Reset method, and sets the decoder state to the constant value ConstIMFStart.


TIdIMFUUDecoder

Hierarchy	Members	Methods	See Also	Unit: IdCoderIMF

TIdIMFUUDecoder is not currently implemented...

TIdIMFUUDecoder = class(TIdIMFDecoder)

Description

TIdIMFUUDecoder is not currently implemented...


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdCoder

|

TIdIMFDecoder

|

TIdIMFUUDecoder


TIdIMFUUDecoder Fields

TIdIMFUUDecoder


TIdIMFUUDecoder Properties

TIdIMFUUDecoder

TIdCoder

 AddCRLF

 AutoCompleteInput

 BufferSize

 ByteCount

 BytesIn

 BytesOut

 FileName

 IgnoreCodedData

 IgnoreNotification

 Key

 OnCodedData

 Priority

 TakesFileName

 TakesKey

 UseEvent

TIdBaseComponent

 Version


TIdIMFUUDecoder Events

TIdIMFUUDecoder

TIdCoder

 OnNotification


TIdIMFUUDecoder Methods

TIdIMFUUDecoder	Legend

TIdIMFUUDecoder

 Create

 Destroy

TIdIMFDecoder

 Create

 Destroy

 Reset

TIdCoder

 CodeString

 CodeStringFromCoder

 CompletedInput

 Create

 Destroy

 GetCodedData

 GetNotification

 Reset

 SetBufferSize

 SetKey

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdIMFUUDecoder Members

TIdIMFUUDecoder	Legend

Methods

 Create

 Destroy


Legend

 virtual


TIdIMFUUDecoder.Create

TIdIMFUUDecoder

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Description

Create is the constructor for the object instance.


TIdIMFUUDecoder.Destroy

TIdIMFUUDecoder

Frees an object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance, and clears the MIME boundaries used in the implementation of TIdIMFDecoder.


TIdIPWatch

Hierarchy	Members	Properties	Methods	See Also	Unit: IdIPWatch

Determines the online status and IP addresses for a computer.

TIdIPWatch = class(TIdComponent)

Description

TIdIPWatch determines Online status, returns current IP address, and (optionally) keeps history of IP addresses issued to the computer using the class instance.

TIdIPWatch uses CurrentIP to determine online status, and will not establish a new connection using RAS or DUN.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdIPWatch


TIdIPWatch Fields

TIdIPWatch


TIdIPWatch Properties

TIdIPWatch	Legend

TIdIPWatch

 Active

 CurrentIP

 HistoryEnabled

 HistoryFilename

 IPHistoryList

 IsOnline

 MaxHistoryEntries

 OnStatusChanged

 PreviousIP

 WatchInterval

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdIPWatch Events

TIdIPWatch	Legend

TIdComponent

 OnStatus


Legend

 published


TIdIPWatch Methods

TIdIPWatch	Legend

TIdIPWatch

 Create

 Destroy

 ForceCheck

 LoadHistory

 LocalIP

 SaveHistory

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdIPWatch Members

TIdIPWatch	Legend

Properties

 Active

 CurrentIP

 HistoryEnabled

 HistoryFilename

 IPHistoryList

 IsOnline

 MaxHistoryEntries

 OnStatusChanged

 PreviousIP

 WatchInterval

Methods

 Create

 Destroy

 ForceCheck

 LoadHistory

 LocalIP

 SaveHistory


Legend

 virtual

 published


TIdIPWatch.Active

TIdIPWatch

Indicates that IP history collection is active.

property Active: Boolean;

Description

Active is a Boolean property used to indicate that the class instance is ready to detect new IP addresses. For TIdIPWatch, changing the value of Active also updates the state of the internal TIdIPWatchThread used by the object instance. The default value for Active is IP_WATCH_ACTIVE.


TIdIPWatch.CurrentIP

TIdIPWatch	See Also

Specifies the most recent IP used by the host.

property CurrentIP: string;

Description

CurrentIP is a read-only String property used to identify the most recent IP address returned by the LocalIP function. CurrentIP is updated as a result of TIdIPWatchThread event notifications when WatchInterval milliseconds has elapsed, or by a call to ForceCheck.


See Also

TIdIPWatchThread


TIdIPWatch.HistoryEnabled

TIdIPWatch

Indicates that the IP history is stored to the history file.

property HistoryEnabled: Boolean;

Description

HistoryEnabled is a Boolean property used to indicate if the IPHistoryList should be saved in SaveHistory or restored in LoadHistory. The default value for HistoryEnabled is IP_WATCH_HIST_ENABLED, as assigned in the Create constructor.


TIdIPWatch.HistoryFilename

TIdIPWatch	See Also

Identifies the IP history storage file.

property HistoryFilename: string;

Description

HistoryFilename is a String property used to identify the file name for saving and restoring IP addresses in IPHistoryList. The default value for HistoryFilename is defined in the constant IP_WATCH_HIST_FILENAME.


See Also

IP_WATCH_HIST_FILENAME


TIdIPWatch.IPHistoryList

TIdIPWatch	See Also

IPHistoryList is a list of IP addresses detected on the local computer.

property IPHistoryList: TStringList;

Description

IPHistoryList is a read-only TStringList property used as a container for IP addresses detected by the TIdIPWatch class instance. IPHistoryList does not record an empty IP address ('') or the local IP address 127.0.0.1. IPHistoryList does not record an IP address when the most recent IP address in the history list matches the current IP address.

IPHistoryList is updated in the methods CheckStatus and Destroy.

The IPHistoryList can contain a maximum number of entries identified in the MaxHistoryEntries property. When the the number of entries exceeds MaxHistoryEntries, the oldest IP address in the history list will be deleted.


See Also

TIdIPWatch.MaxHistoryEntries


TIdIPWatch.IsOnline

TIdIPWatch

Identifies if the local host is online.

property IsOnline: Boolean;

Description

IsOnline is a read-only Boolean property used to identify the current online status. IsOnline is updated in the CheckStatus method, and is set to True when the current IP address is not empty ('') or the default local host value 127.0.0.1.

The default value for IsOnline is False.


TIdIPWatch.MaxHistoryEntries

TIdIPWatch

The maximum number of IP addesses allowed in IPHistoryList.

property MaxHistoryEntries: Integer;

Description

MaxHistoryEntries is an Integer property used to determine the maximum number of IP address to be maintain in IPHistoryList. When the number of entries in IPHistoryList exceeds MaxHistoryEntries, the oldest IP address will be deleted from IPHistoryList.


TIdIPWatch.OnStatusChanged

TIdIPWatch

OnStatusChanged event handler.

property OnStatusChanged: TNotifyEvent;

Description

OnStatusChanged is a TNotifyEvent event handler triggered when the value of IsOnline is changed. The OnStatusChanged event handler is not called when the value of ComponentState is csDesigning. The OnStatusChanged event handler is generally used to update progress indicators or GUI components.


TIdIPWatch.PreviousIP

TIdIPWatch

Previous IP address detected on the local computer.

property PreviousIP: string;

Description

PreviousIP is a protected String property, used internally by TIdIPWatch, to track the most recently detected IP address. PreviousIP is used in conjunction with CurrentIP to determine when a new IP address needs to be added to the IPHistoryList.


TIdIPWatch.WatchInterval

TIdIPWatch

Specifies the interval between checks for an IP address change.

property WatchInterval: Cardinal;

Description

WatchInterval is a Cardinal property used to determine the time, in milliseconds, between firing of the timer used by TIdIPWatch. The default value for WatchInterval is IP_WATCH_INTERVAL.

When WatchInterval is changed, the Interval property for the internal TIdIPWatchThread instance is updated to contain the same value.


TIdIPWatch.Create

TIdIPWatch

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Description

Create is the constructor for the object instance, and performs the following operations:

Initializes the IPHistoryList.

Sets the IsOnline property to False.

Sets the Enabled property to IP_WATCH_ACTIVE.

Sets the WatchInterval to IP_WATCH_INTERVAL.

Clears the previous IP address.

Creates the TIdIPWatchThread used by the instance.

Sets the HistoryEnabled property to IP_WATCH_HIST_ENABLED.

Sets IP_WATCH_HIST_FILENAME as the default value for HistoryFilename.

Sets IP_WATCH_HIST_MAX as the default value for MaxHistoryEntries.


TIdIPWatch.Destroy

TIdIPWatch	See Also

Frees the class instance.

destructor Destroy; override;

Description

Destroy is the destructor for the class instance. Prior to calling the SaveHistory inherited Destroy method, TIdIPWatch performs the following operations:

Ensures that CurrentIP is in the IPHistoryList.

Disables the TIdIPWatch instance.

Saves the history list in IPHistoryList to the file identified by HistoryFilename.

Frees the IPHistoryList.


See Also

TIdIPWatch.SaveHistory


TIdIPWatch.ForceCheck

TIdIPWatch

Forces collection of the current IP address.

function ForceCheck: Boolean;

Description

ForceCheck is a Boolean function that returns a value indicating the online status. ForceCheck does not wait for the internal TIdIPWatchThread to generate an event notification.


TIdIPWatch.LoadHistory

TIdIPWatch	See Also

Loads the history of local IP addresses from a file.

procedure LoadHistory;

Description

LoadHistory is a procedure used to restore the IPHistoryList from the file identified in HistoryFilename. LoadHistory assigns the most recent IP address from IPHistoryList to the private variable used to maintain the PreviousIP address.

Note:  LoadHistory does not restore the history list in the IDE, or any time the component state is csDesigning.


See Also

TIdIPWatch.MaxHistoryEntries


TIdIPWatch.LocalIP

TIdIPWatch

Current IP address assigned to the local host.

function LocalIP: string;

Description

LocalIP is a public function that returns a String containing the IP address from the TCP/IP stack. LocalIP is used to determine the value of CurrentIP.


TIdIPWatch.SaveHistory

TIdIPWatch

Save IP addresses in IPHistoryList to a file.

procedure SaveHistory;

Description

The SaveHistory procedure is used to write the contents of the IPHistoryList to the file identified by HistoryFilename when the HistoryEnabled property is True. SaveHistory has no effect when the ComponentState is csDesigning.


TIdIPWatchThread

Hierarchy	See Also	Unit: IdIPWatch

Provides a Timer-like thread for TIdIPWatch.

TIdIPWatchThread = class(TIdThread)

Description

TIdIPWatchThread is a TIdThread descendant that provides the ability to monitor the local PC for new IP addresses at a defined interval. By default, TIdIPWatchThread awakens every Interval milliseconds and calls the TimerEvent until Terminated.


See Also

Technical Support


Class Hierarchy

TThread

|

TIdThread

|

TIdIPWatchThread


TIdIPWatchThread Fields

TIdIPWatchThread


TIdIPWatchThread Properties

TIdIPWatchThread

TIdThread

 Data

 StopMode

 Stopped

 Terminated

 TerminatingException


TIdIPWatchThread Events

TIdIPWatchThread

TIdThread

 OnException


TIdIPWatchThread Methods

TIdIPWatchThread	Legend

TIdThread

 Create

 Destroy

 Start

 Stop

 Synchronize

 TerminateAndWaitFor


Legend

 virtual


TIdIPWatchThread Members

TIdIPWatchThread	Legend


Legend

 virtual


TIdIRCServer

Hierarchy	Members	Methods	Events	See Also	Unit: IdIrcServer

Specifies an Internet Relay Chat Protocol server.

TIdIRCServer = class(TIdTCPServer)

Description

TIdIRCServer is a TIdTCPServer descendant that provides a server implementation of the Internet Relay Chat (IRC) Protocol as described in the Internet Standards document:

Internet Relay Chat Protocol (IRC), RFC 1459, by J. Oikarinen and D. Reed, May 1993

The IRC protocol provides users with a way to chat among themselves in "chat rooms". The IRC protocol is a text-based conferencing protocol that uses TCP/IP as the network transport.

A typical IRC environment involves a single process (the server) that forms a central point for client (or other server) connections, performing the required message delivery/multiplexing and other functions. IRC allows various forms of message delivery including user-to-user, user-to-list, user-to-group, user-to-server, and server-to-server communication modes.

The only network configuration allowed for IRC servers is that of a spanning tree where each server acts as a central node for the rest of the network visible to the server.

An IRC client can be any socket-enable application capable of connecting to an IRC server that is not already an IRC server.

TIdIRCServer uses the standard port number IdPORT_IRC reserved for the IRC protocol to listen for client connections. TIdIRCServer, like TIdTCPServer, is a multithreaded application where new connections are respresented by a TIdPeerThread that is serviced by the TIdIRCServer.

TIdIRCServer recognizes the following IRC commands as defined in the RFC specification:

ADMIN

AWAY

CONNECT

ERROR

INFO

INVITE

ISON

JOIN

KICK

KILL

LINKS

LIST

MODE

NAMES

NICK

NOTICE

OPER

PART

PASS

PING

PONG

PRIVMSG

QUIT

REHASH

RESTART

SERVER

SQUIT

STATS

SUMMON

TIME

TOPIC

TRACE

USER

USERHOST

USERS

VERSION

WALLOPS

WHO

WHOIS

WHOWAS

TIdIRCServer provides an event handler architecture for all IRC commands that allow the IRC server application to determine the appropriate mechanism used to respond to an IRC command. TIdIRCServer does not provide an implementation for the event handlers.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPServer

|

TIdIRCServer


TIdIRCServer Fields

TIdIRCServer


TIdIRCServer Properties

TIdIRCServer	Legend

TIdTCPServer

 AcceptWait

 Active

 Bindings

 DefaultPort

 ImplicitThreadMgrCreated

 Intercept

 TerminateWaitTime

 ThreadClass

 ThreadMgr

 Threads

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdIRCServer Events

TIdIRCServer	Legend

TIdIRCServer

 OnCommandAdmin

 OnCommandAway

 OnCommandConnect

 OnCommandError

 OnCommandInfo

 OnCommandInvite

 OnCommandIsOn

 OnCommandJoin

 OnCommandKick

 OnCommandKill

 OnCommandLinks

 OnCommandList

 OnCommandMode

 OnCommandNames

 OnCommandNick

 OnCommandNotice

 OnCommandOper

 OnCommandOther

 OnCommandPart

 OnCommandPass

 OnCommandPing

 OnCommandPong

 OnCommandPrivMsg

 OnCommandQuit

 OnCommandRehash

 OnCommandRestart

 OnCommandServer

 OnCommandSQuit

 OnCommandStats

 OnCommandSummon

 OnCommandTime

 OnCommandTopic

 OnCommandTrace

 OnCommandUser

 OnCommandUserHost

 OnCommandUsers

 OnCommandVersion

 OnCommandWallops

 OnCommandWho

 OnCommandWhoIs

 OnCommandWhoWas

TIdTCPServer

 OnConnect

 OnDisconnect

 OnExecute

TIdComponent

 OnStatus


Legend

 published


TIdIRCServer Methods

TIdIRCServer	Legend

TIdIRCServer

 Create

TIdTCPServer

 Create

 Destroy

 Loaded

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdIRCServer Members

TIdIRCServer	Legend

Events

 OnCommandAdmin

 OnCommandAway

 OnCommandConnect

 OnCommandError

 OnCommandInfo

 OnCommandInvite

 OnCommandIsOn

 OnCommandJoin

 OnCommandKick

 OnCommandKill

 OnCommandLinks

 OnCommandList

 OnCommandMode

 OnCommandNames

 OnCommandNick

 OnCommandNotice

 OnCommandOper

 OnCommandOther

 OnCommandPart

 OnCommandPass

 OnCommandPing

 OnCommandPong

 OnCommandPrivMsg

 OnCommandQuit

 OnCommandRehash

 OnCommandRestart

 OnCommandServer

 OnCommandSQuit

 OnCommandStats

 OnCommandSummon

 OnCommandTime

 OnCommandTopic

 OnCommandTrace

 OnCommandUser

 OnCommandUserHost

 OnCommandUsers

 OnCommandVersion

 OnCommandWallops

 OnCommandWho

 OnCommandWhoIs

 OnCommandWhoWas

Methods

 Create


Legend

 virtual

 published


TIdIRCServer.Create

TIdIRCServer

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance. Create initializes the DefaultPort property to the standard port number used for Internet Relay Chat (IdPORT_IRC).


TIdIRCServer.OnCommandAdmin

TIdIRCServer

Event handler for the IRC ADMIN command.

property OnCommandAdmin: TIdIrcOneParmEvent;

Description

OnCommandAdmin is a TIdIrcOneParmEvent event handler that allows the server to respond to the IRC ADMIN command. ADMIN is used to retrieve the name of the administrator for the server specified in Parm. An IRC server must be able to forward an ADMIN message to other servers.

Parm can contain wildcard characters to indicate that the first server matching the host name mask. For example:

irc.wvnet.edu - request a specific server.

*.edu - request the first server found in the edu domain.


TIdIRCServer.OnCommandAway

TIdIRCServer

Event handler for the IRC AWAY command.

property OnCommandAway: TIdIrcOneParmEvent;

Description

OnCommandAway is a TIdIrcOneParmEvent event handler that allows the server to respond to the IRC AWAY command. AWAY is used to designate the automatic response message for a PRIVMSG message received for a client that is not connected, and to toggle the user's presence status.

When Parm contains text, the user is not available to receive additional messages and the text in Parm should be sent by the server to any clients sending messages to the user. When Parm is an empty string, the user is on-line and can resume receipt of IRC messages. For example:

"Gone to Lunch. Back in 30 minutes." - The Away message is active.

"" - Away message inactive. User receives messages.


TIdIRCServer.OnCommandConnect

TIdIRCServer

Event handler for IRC CONNECT commands.

property OnCommandConnect: TIdIrcThreeParmEvent;

Description

OnCommandConnect is a TIdIrcThreeParmEvent event handler that allows the server to respond to the IRC CONNECT command. CONNECT is a privileged IRC command available to IRC Operators, and is used to open a connection to another server. CONNECT is used to build the spanning tree that represents the IRC network.

Parm1 is the target server will be the endpoint for the connection.

Parm2 is an optional port number to use for the connection.

Parm3 is an optional server that represents the origin point for the new connection. When Parm3 is an empty string, the origin is the current server.


TIdIRCServer.OnCommandError

TIdIRCServer

Event handler for the IRC ERROR command.

property OnCommandError: TIdIrcOneParmEvent;

Description

OnCommandError is a TIdIrcOneParmEventevent handler that allows the server to respond to the IRC ERROR command. ERROR is used to report a serious or fatal server error to IRC Operators. ERROR may also send the error message from one server to another server, but must not be accepted from an unknown client.

An ERROR message is used to report errors which occur on the server-to-server link only. An ERROR message is sent to a server at the connection endpoint and all operators currently connected. It is not to be passed onto any other servers by a server if it is received from a server. When a server sends a received ERROR message to operators, the message should be encapsulated in a NOTICE message, indicating that the client was not responsible for the error.


TIdIRCServer.OnCommandInfo

TIdIRCServer

Event handler for the IRC INFO command.

property OnCommandInfo: TIdIrcOneParmEvent;

Description

OnCommandInfo is a TIdIrcOneParmEventevent handler that allows the server to respond to the IRC INFO command. INFO is used to retrieve information which describes the server in Parm, including the version number, patch level, date started, and miscellaneous data relevant to server identification.

Parm can contain a server name, a host name mask with wildcard characters, or a user nickname that identifies the target of the INFO request. For example:

csd.bu.edu - request information for a specific server.

*.edu - request information from the first available server.

MyNick - request information from the server where MyNick is connected.


TIdIRCServer.OnCommandInvite

TIdIRCServer

Event handler for the IRC INVITE command.

property OnCommandInvite: TIdIrcTwoParmEvent;

Description

OnCommandInvite is a TIdIrcTwoParmEvent event handler that allows the server to respond the IRC INVITE command. INVITE is used to invite the user specified in Parm1 to the channel specified in Parm2.

Parm1 contains the Nickname of the user to be invited to a channel.

Parm2 contains the Channel name where the user is to be invited. There is no requirement that Parm2 identifying an existing or valid channel.

To invite a user to a channel which is by invitation only, the client sending the invite must be recognized as being a channel operator on the given channel.


TIdIRCServer.OnCommandIsOn

TIdIRCServer

Event handler for the IRC ISON command.

property OnCommandIsOn: TIdIrcOneParmEvent;

Description

OnCommandIsOn is a TIdIrcOneParmEvent event handler that allows the server to respond to the IRC ISON command. ISON is used to determine if a user, or list of users, is/are currently connected to the IRC server.

Parm is a user nickname or space-delimited list of user nicknames. For each nickname in the list, the server adds that to its reply string when the user is connected. The list returned may be empty, the same as the original list, or a subset of the original list in Parm. Parm cannot exceed 512 characters.

ISON may only be processed by the server for the client sending the command, and cannot be passed to other servers for further processing.


TIdIRCServer.OnCommandJoin

TIdIRCServer

Event handler for the IRC JOIN command.

property OnCommandJoin: TIdIrcTwoParmEvent;

Description

OnCommandJoin is a TIdIrcTwoParmEvent event handler that allows the server to respond to the IRC JOIN command. JOIN is used to signal that a client wishes to listen for IRC messages on the channels specified in Parm1.

Permissions to join a channel are determined by the server that hosts the client connection. All other servers should add the user to the channel when it is received from the origin server. The local server can add a user under the following circumstances:

The user must be invited if the channel is by invitation only.

The user's nick/username/hostname must not match any active bans.

The correct key (password) must be given if it is set.

When a user has joined a channel, they will receive notice about all commands for their server that affect the channel.

Parm1 contains a channel name, or a list of comma-delimited channel names, where the client should listen for IRC messages.

Parm2 contains a key (password), or a list of comma-delimited keys, for all channels where keys are required.


TIdIRCServer.OnCommandKick

TIdIRCServer

Event handler for the IRC KICK command.

property OnCommandKick: TIdIrcThreeParmEvent;

Description

OnCommandKick is a TIdIrcThreeParmEvent event handler that allows the server to respond to the IRC KICK command. KICK is used to forcibly remove the user in Parm2 for the channel in Parm1. Parm3 is the comment or reason message sent to the client. Only a channel operator may use the KICK command.

Each server that receives a KICK message checks that the user is a valid channel operator before removing the victim in Parm2 from the channel.

Note:  The IRC protocol allows extension of the KICK command parameters to allow Parm1 to contain a comma-delimited list of channel names, and Parm2 to contain a comma-delimited list of user Nicknames.


TIdIRCServer.OnCommandKill

TIdIRCServer

Event handler for the IRC KILL command.

property OnCommandKill: TIdIrcTwoParmEvent;

Description

OnCommandKill is a TIdIrcTwoParmEvent event handler that allows the server to respond to the IRC KILL command. KILL is used to cause the server connection to the client to be closed on the server that hosts the client connection. KILL is generally used by servers to close connection for duplicates entries in the list of valid NickNames. KILL is also available to channel operators.

Parm1 is the user NickName for the connection to be closed.

Parm2 is a comment that reflects the reason that the connection is closed. The name of the user generating the message and all servers in the IRC network path is prepended to Parm2.

Note:  It is recommended that only channel operators be allowed to KILL user connections.


TIdIRCServer.OnCommandLinks

TIdIRCServer

Event handler for the IRC LINKS command.

property OnCommandLinks: TIdIrcTwoParmEvent;

Description

OnCommandLinks is a TIdIrcTwoParmEvent event handler that allows the server to respond to the IRC LINKS command. LINKS is used to retrieve a list of servers matching the mask in Parm1 known to the server answering the query.

Remote server can be a server name, or a server name mask that identifies the server where the command is forwarded for processing. For example:

LINKS *.au - lists all servers with a name that matches *.au

LINKS *.bu.edu *.edu - lists all servers with a name that matches *.bu.edu on the first server matching *.edu


TIdIRCServer.OnCommandList

TIdIRCServer

Event handler for the IRC LIST command.

property OnCommandList: TIdIrcTwoParmEvent;

Description

OnCommandList is a TIdIrcTwoParmEvent event handler that allows the server to respond to the IRC LIST command. LIST is used to retrieve a list of channels and topics for the specified server.

Parm1 is an optional parameter that identifies a comma-delimited list of channel names where status and topic information should be retrieved.

Parm2 is the server where the list command should be performed.


TIdIRCServer.OnCommandMode

TIdIRCServer

Event handler for the IRC MODE command.

property OnCommandMode: TIdIrcFiveParmEvent;

Description

OnCommandMode is a TIdIrcFiveParmEvent event handler that allows the server to respond to the IRC MODE command. MODE is a dual-purpose command in IRC that is used to change both username and channel mode information.

Channel mode is provided to allow channel operators to change the characteristics of the channel. In channel mode, Parm2 indicates channel options that include a "+" or "-" character, indicating the action, and one or more of the following channel option characters:

o - Give/take channel operator privileges.

p - Private channel flag.

s - Secret channel flag.

i - Invite-only channel flag.

t - Topic settable by channel operator only flag.

n - No messages to channel from clients on the outside.

m - Moderated channel.

l - Set the user limit to channel.

b - Set a ban mask to keep users out.

v - Give/take the ability to speak on a moderated channel.

k - Set a channel key (password).

When using the 'o' and 'b' options, a restriction on a total of three per mode command has been imposed.

User mode is provided to allow changes that affect how the user is seen by others, and what extra messages are seen by the client. In User mode, Parm2 indicates user options that include a "+" or "-" character, indicating the action, and one or more of the following user option characters:

i - Marks a users as invisible.

s - Marks a user for receipt of server notices.

w - User receives wallops.

o - Operator flag.

If a user attempts to make themselves an operator using the "+o" flag, the attempt should be ignored. There is no restriction, however, on a user removing their operator option flag.


TIdIRCServer.OnCommandNames

TIdIRCServer

Event handler for the IRC NAMES command.

property OnCommandNames: TIdIrcOneParmEvent;

Description

OnCommandNames is a TIdIrcOneParmEvent event handler that allows the server to respond to the IRC NAMES command. NAMES is used to retrieve a list of user Nicknames available on the channels in Parm.

Parm should not contain private or secret channels. When Parm is blank, a list of all users on any channel on the server is returned. Users on not on the server, or a visible channel on the server, are placed at the end of the list on channel "*".


TIdIRCServer.OnCommandNick

TIdIRCServer

Event handler for the IRC NICK command.

property OnCommandNick: TIdIrcTwoParmEvent;

Description

OnCommandNick is a TIdIrcTwoParmEvent event handler that allows the server to respond to the IRC NICK command. Nick is used to assign the Nickname in Parm1 to the current user. If the user already has a Nickname, the Nickname is changed to Parm1.

Parm2 is an optional parameter that contains the number of hops from the home server for the user. A local connection has a hop count of 0. If Parm2 is supplied by a client, it is ignored.

The server cannot allow two users to have an identical Nickname. If a Nickname collision occurs, both connection with the Nickname are closed and the entries are removed from the server database.


TIdIRCServer.OnCommandNotice

TIdIRCServer

Event handler for the IRC NOTICE command.

property OnCommandNotice: TIdIrcTwoParmEvent;

Description

OnCommandNotice is a TIdIrcTwoParmEvent event handler that allows the server to respond to the IRC NOTICE command. NOTICE is used to send the message in Parm2 to the user nickname in Parm1. NOTICE does not generate automatic replies or error messages.


TIdIRCServer.OnCommandOper

TIdIRCServer

Event handler for the IRC OPER command.

property OnCommandOper: TIdIrcTwoParmEvent;

Description

OnCommandOper is a TIdIrcTwoParmEvent event handler that allows the server to respond to the IRC OPER command. OPER is used to obtain operator privileges.

Param1 contains the user requesting operator privileges.

Param2 contains the password for the user requesting operator privileges.

If the user and password are valid, the server will inform the remainder of the IRC network using the "MODE +o" command for the client nickname.


TIdIRCServer.OnCommandOther

TIdIRCServer

Event handler for unknown IRC commands.

property OnCommandOther: TIdIrcOtherEvent;

Description

OnCommandOther is a TIdIrcOtherEvent event handler that allows the server to respond to unknown IRC commands. OnCommandOther is called when the server encounters a command that is not recognized as an IRC protocol command.


TIdIRCServer.OnCommandPart

TIdIRCServer

Event handler for the IRC PART command.

property OnCommandPart: TIdIrcOneParmEvent;

Description

OnCommandPart is a TIdIrcOneParmEvent event handler that allows the server to respond to the IRC PART command. PART is used to signal that the client should be removed from the list of active users for all channels in Parm. Parm can contain a comma-delimited list of channel names, or a single channel name.


TIdIRCServer.OnCommandPass

TIdIRCServer

Event handler for the IRC PASS command.

property OnCommandPass: TIdIrcOneParmEvent;

Description

OnCommandPass is a TIdIrcOneParmEvent event handler that allows the server to respond to the IRC PASS command. PASS is used to set the password to be used for a connection.


TIdIRCServer.OnCommandPing

TIdIRCServer

Event handler for the IRC PING command.

property OnCommandPing: TIdIrcTwoParmEvent;

Description

OnCommandPing is a TIdIrcTwoParmEvent event handler that allows the server to respond to the IRC PING command. PING is used to test for the presence of an active client at the other end of the connection. A PING message is sent at regular intervals if no other activity detected coming from a connection. If a connection fails to respond to a PING command within a set amount of time, that connection is closed.

Parm1 is the name of the server where a client PONG response must be sent, and normally represents the server that issued the PING request.

Parm2 is an optional parameter that contains the name of a server where a client PONG response should be forwarded.


TIdIRCServer.OnCommandPong

TIdIRCServer

Event handler for the IRC PONG command.

property OnCommandPong: TIdIrcTwoParmEvent;

Description

OnCommandPong is a TIdIrcTwoParmEvent event handler that allows the server to respond to the IRC PONG command. PONG is used to reply to a PING message.


TIdIRCServer.OnCommandPrivMsg

TIdIRCServer

Event handler for the IRC PRIVMSG command.

property OnCommandPrivMsg: TIdIrcTwoParmEvent;

Description

OnCommandPrivMsg is a TIdIrcTwoParmEvent event handler that allows the server to response to the IRC PRIVMSG command. PRIVMSG is used to send private messages between users.

Parm1 contains a nickname, a comma-delimited list of nicknames or channels, or a host/server mask that identifies the destination for the message in Parm2.


TIdIRCServer.OnCommandQuit

TIdIRCServer

Event handler for the IRC QUIT command.

property OnCommandQuit: TIdIrcOneParmEvent;

Description

OnCommandQuit is a TIdIrcOneParmEvent event handler that allows the server to respond to the IRC QUIT command. QUIT is used to end a client session with an optional text message. The server must close the connection to a client which sends a QUIT message.

If Parm is not specified, the NickName is sent as the test for the message. When two server connections are involved, the text for the message is the space-delimited names of the servers.


TIdIRCServer.OnCommandRehash

TIdIRCServer

Event handler for the IRC REHASH command.

property OnCommandRehash: TIdIrcGetEvent;

Description

OnCommandRehash is a TIdIrcGetEvent event handler that allows the server to respond to the IRC REHASH command. REHASH is used by the operator to force the server to re-read and process its configuration file.


TIdIRCServer.OnCommandRestart

TIdIRCServer

Event handler for the IRC RESTART command.

property OnCommandRestart: TIdIrcGetEvent;

Description

OnCommandRestart is a TIdIrcGetEvent event handler that allows the server to respond to the IRC RESTART command. RESTART is used to force a server to restart.

RESTART is optional since it may be viewed as a risk to allow arbitrary people to connect to a server as an operator and execute this command, causing (at least) a disruption to service.

The RESTART command must always be fully processed by the server to which the sending client is connected and not be passed onto other connected servers.


TIdIRCServer.OnCommandServer

TIdIRCServer

Event handler for the IRC SERVER command.

property OnCommandServer: TIdIrcServerEvent;

Description

OnCommandServer is a TIdIrcServerEvent event handler that allows the server to respond to the IRC SERVER command. SERVER is used to tell a server that the other end of a new connection is a server. This message is also used to pass server data over whole net. When a new server is connected to net, information about it be broadcast to the whole network.

HopCount is used to give all servers some internal information on how far away all servers are. With a full server list, it would be possible to construct a map of the entire server tree, but hostmasks prevent this from being done.

If a SERVER message is parsed and attempts to introduce a server which is already known to the receiving server, the connection from which that message must be closed (following the correct procedures), since a duplicate route to a server has formed and the acyclic nature of the IRC tree broken.


TIdIRCServer.OnCommandSQuit

TIdIRCServer

Event handler for the IRC SQUIT command.

property OnCommandSQuit: TIdIrcTwoParmEvent;

Description

OnCommandSQuit is a TIdIrcTwoParmEvent event handler that allows the server to respond to the IRC SQUIT command. SQUIT is used to send a notification that a server is stopping or has ceased to function. If a server wishes to break the connection to another server it must send a SQUIT message to the other server, using the name of the other server as the server parameter, which then closes its connection to the quitting server.

This command is also available operators to help keep a network of IRC servers connected in an orderly fashion. Operators may also issue an SQUIT message for a remote server connection. In this case, the SQUIT must be parsed by each server in between the operator and the remote server, updating the view of the network held by each server as explained below.

Parm2 should be supplied by all operators who execute a SQUIT for a remote server (that is not connected to the server they are currently on) so that other operators are aware for the reason of this action. Parm2 is also filled in by servers which may place an error or similar message here.

Both of the servers which are on either side of the connection being closed are required to send out a SQUIT message (to all its other server connections) for all other servers which are considered to be behind that link.

Similarly, a QUIT message must be sent to the other connected servers rest of the network on behalf of all clients behind that link. In addition to this, all channel members of a channel which lost a member due to the split must be sent a QUIT message.

If a server connection is terminated prematurely (e.g. the server on the other end of the link died), the server which detects this disconnection is required to inform the rest of the network that the connection has closed and fill in the comment field with something appropriate.


TIdIRCServer.OnCommandStats

TIdIRCServer

Event handler for the IRC STATS command.

property OnCommandStats: TIdIrcTwoParmEvent;

Description

OnCommandStats is a TIdIrcTwoParmEvent event handler that allows the server to respond to the IRC STATS command. STATS is used to query statistics for the server specified in Parm1 using the query in Parm1.

If Parm2 is omitted, only the end of stats reply is sent back. The implementation of this command is highly dependent on the server which replies, although the server must be able to supply information as described by the queries below (or similar).

A query may be given by any single letter which is only checked by the destination server (if given as the Parm2 parameter) and is otherwise passed on by intermediate servers, ignored and unaltered.

The following queries are those found in the current IRC implementation and provide a large portion of the setup information for that server. Although these may not be supported in the same way by other versions, all servers should be able to supply a valid reply to a STATS query which is consistent with the reply formats currently used and the purpose of the query.

The currently supported queries are:

c - returns a list of servers which the server may connect to or allow connections from.

h - returns a list of servers which are either forced to be treated as leaves or allowed to act as hubs.

i - returns a list of hosts which the server allows a client to connect from.

k - returns a list of banned username/hostname combinations for that server.

l - returns a list of the server's connections, showing how long each connection has been established and the traffic over that connection in bytes and messages for each direction.

m - returns a list of commands supported by the server and the usage count for each if the usage count is non zero.

o - returns a list of hosts from which normal clients may become operators.

y - show Y (Class) lines from server's configuration file.

u - returns a string showing how long the server has been up.


TIdIRCServer.OnCommandSummon

TIdIRCServer

Event handler for the IRC SUMMON command.

property OnCommandSummon: TIdIrcTwoParmEvent;

Description

OnCommandSummon is a TIdIrcTwoParmEvent event handler that allows the server to respond to the IRC SUMMON command. SUMMON is used to ask a user on a host running an IRC server to join an IRC network. The SUMMON message is only sent if the target server has SUMMON enabled, the user is logged in and the server process can write to the user session.

If Parm2 is given, this is the target server for the message. If summon is not enabled in a server, it must return the ERR_SUMMONDISABLED numeric and pass the summon message to other IRC servers.


TIdIRCServer.OnCommandTime

TIdIRCServer

Event handler for the IRC TIME command.

property OnCommandTime: TIdIrcOneParmEvent;

Description

OnCommandTime is a TIdIrcOneParmEvent event handler that allows the server to respond to the IRC TIME command. TIME is used to query the time for the server specified in Parm. If Parm is not given, the server handling the command must reply to the query.


TIdIRCServer.OnCommandTopic

TIdIRCServer

Event handler for the IRC TOPIC command.

property OnCommandTopic: TIdIrcTwoParmEvent;

Description

OnCommandTopic is a TIdIrcTwoParmEvent event handler that allows the server to respond to the IRC TOPIC command. TOPIC is used to change or view the topic for a channel.

Parm1 is the channel to be affected by the message.

Parm2 is the topic for the specified channel.

If Parm2 is not specified, the current topic for Parm1 will be retrieved.


TIdIRCServer.OnCommandTrace

TIdIRCServer

Event handler for the IRC TRACE command.

property OnCommandTrace: TIdIrcOneParmEvent;

Description

OnCommandTrace is a TIdIrcOneParmEvent event handler that allows the server to respond to the IRC TRACE command. TRACE is used to find the route to the server specified in Parm.

Each server that processes this message must tell the sender about it by sending a reply indicating it is a pass-through link, forming a chain of replies similar to that gained from using "traceroute". After sending this reply back, it must then send the TRACE message to the next server until given server is reached. If Parm is omitted, it is recommended that TRACE command send a message to the sender telling which servers the current server has direct connection to.


TIdIRCServer.OnCommandUser

TIdIRCServer

Event handler for the IRC USER command.

property OnCommandUser: TIdIrcUserEvent;

Description

OnCommandUser is a TIdIrcUserEvent event handler that allows the server to respond to the IRC USER command. USER is used to specify the username, hostname, servername and realname of a new user. It is also used in communication between servers to indicate new user arriving on IRC, since only after both USER and NICK have been received from a client does a user become registered.

USER messages between IRC servers must to be prefixed with client's NICKname. Note that hostname and servername are normally ignored by the IRC server when the USER command comes from a directly connected client (for security reasons), but they are used in server to server communication. This means that a NICK must always be sent to a remote server when a new user is being introduced to the rest of the network before the accompanying USER is sent.

It must be noted that realname parameter must be the last parameter, because it may contain space characters and must be prefixed with a colon (':') to make sure this is recognized as such.

Since it is easy for a client to lie about its username by relying solely on the USER message, the use of an "Identity Server" is recommended. If the host which a user connects from has such a server enabled the username is set to that as in the reply from the "Identity Server".


TIdIRCServer.OnCommandUserHost

TIdIRCServer

Event handler for the IRC USERHOST command.

property OnCommandUserHost: TIdIrcOneParmEvent;

Description

OnCommandUserHost is a TIdIrcOneParmEvent event handler that allows the server to respond to the IRC USERHOST command. USERHOST is used to retrieve a list of information about each nickname that it found. The returned list has each reply separated by a space.


TIdIRCServer.OnCommandUsers

TIdIRCServer

Event handler for the IRC USERS command.

property OnCommandUsers: TIdIrcOneParmEvent;

Description

OnCommandUsers is a TIdIrcOneParmEvent event handler that allows the server to respond to the IRC USERS command. USERS is used to return a list of users logged into the server in a similar format to who(1), rusers(1) and finger(1). Some people may disable this command on their server for security related reasons. If disabled, the correct numeric response must be returned to indicate this condition.


TIdIRCServer.OnCommandVersion

TIdIRCServer

Event handler for the IRC VERSION command.

property OnCommandVersion: TIdIrcOneParmEvent;

Description

OnCommandVersion is a TIdIrcOneParmEvent event handler that allows the server to respond to the IRC VERSION command. VERSION is used to query the version of the server program. The optional parameter Parm is used to query the version of the server program which a client is not directly connected to.


TIdIRCServer.OnCommandWallops

TIdIRCServer

Event handler for the IRC WALLOPS command.

property OnCommandWallops: TIdIrcOneParmEvent;

Description

OnCommandWallops is a TIdIrcOneParmEvent event handler that allows the server to respond to the IRC WALLOPS command. WALLOPS is used to send a message to all operators currently online. After implementing WALLOPS as a user command it was found that it was often and commonly abused as a means of sending a message to a lot of people (much similar to WALL). Due to this it is recommended that the current implementation of WALLOPS be used as an example by allowing and recognizing only servers as the senders of WALLOPS.


TIdIRCServer.OnCommandWho

TIdIRCServer

Event handler for the IRC WHO command.

property OnCommandWho: TIdIrcTwoParmEvent;

Description

OnCommandWho is a TIdIrcTwoParmEvent event handler that allows the server to respond to the IRC WHO command. WHO is used to return a list of information which 'matches' the Parm1 parameter.

In the absence of the Parm1 parameter, all visible (users who aren't invisible (user mode +i) and who don't have a common channel with the requesting client) are listed. The same result can be achieved by using a Parm1 of "0" or any wildcard which will end up matching every entry possible.

The Parm1 passed to WHO is matched against users' host, server, real name and nickname if the channel Parm1 cannot be found.

If the "o" parameter is passed only operators are returned according to the name mask supplied.


TIdIRCServer.OnCommandWhoIs

TIdIRCServer

Event handler for the IRC WHOIS command.

property OnCommandWhoIs: TIdIrcTwoParmEvent;

Description

OnCommandWhoIs is a TIdIrcTwoParmEvent event handler that allows the server to respond to the IRC WHOIS command. WHOIS is used to query information about users. The server will answer this message with several numeric messages indicating different statuses of each user which matches the nickmask (if you are entitled to see them). If no wildcard is present in the Parm2 any information about that nick which you are allowed to see is presented. A comma (',') separated list of nicknames may be given.

The latter version sends the query to a specific server. It is useful if you want to know how long the user in question has been idle as only local server (ie. the server the user is directly connected to) knows that information, while everything else is globally known.


TIdIRCServer.OnCommandWhoWas

TIdIRCServer

Event handler for the IRC WHOWAS command.

property OnCommandWhoWas: TIdIrcThreeParmEvent;

Description

OnCommandWhoWas is a TIdIrcThreeParmEvent event handler that allows the server to respond to the IRC WHOWAS command. WHOWAS is used to retrieve information about a nickname which no longer exists. This may either be due to a nickname change or the user leaving IRC.

In response to this query, the server searches through its nickname history, looking for any nicks which are lexically the same (no wild card matching here). The history is searched backward, returning the most recent entry first. If there are multiple entries, up to Parm2 replies will be returned (or all of them if no Parm2 parameter is given). If a non-positive number is passed as being Parm2, then a full search is done.


TIdListenerThread

Hierarchy	Members	Properties	Methods	See Also	Unit: IdTCPServer

Listener thread for TCP Servers.

TIdListenerThread = class(TIdThread)

Description

TIdListenerThread is a thread, based on TIdThread, that listens for client connections. A TIdListenerThread is used by TIdTCPServer, and descendants, to detect new client connection requests and to spawn new TIdPeerThreads for each successful connection to the server.

TIdListenerThread maintains a reference to the server that owns the listening thread, and a list of socket handles that have been accepted by the server. TIdListenerThread also provides a general mechanism to encapsulate the time that the listening thread should wait to accept new socket connection requests.

TIdListenerThread differs from a typical TThread by extending the Execute method to allow access to BeforeRun, Run, and AfterRun methods. In addition, Start and Stop methods are provide allow finer control of thread initialization, resumption, and immediate termination.


See Also

TIdTCPServer

TIdThread

Technical Support


Class Hierarchy

TThread

|

TIdThread

|

TIdListenerThread


TIdListenerThread Fields

TIdListenerThread


TIdListenerThread Properties

TIdListenerThread

TIdListenerThread

 AcceptWait

 Server

TIdThread

 Data

 StopMode

 Stopped

 Terminated

 TerminatingException


TIdListenerThread Events

TIdListenerThread

TIdThread

 OnException


TIdListenerThread Methods

TIdListenerThread	Legend

TIdListenerThread

 AfterRun

 Create

 Destroy

 Run

TIdThread

 Create

 Destroy

 Start

 Stop

 Synchronize

 TerminateAndWaitFor


Legend

 virtual


TIdListenerThread Members

TIdListenerThread	Legend

Properties

 AcceptWait

 Server

Methods

 AfterRun

 Create

 Destroy

 Run


Legend

 virtual


TIdListenerThread.AcceptWait

TIdListenerThread	See Also

Specifies the timeout for accepting new client connections.

property AcceptWait: integer;

Description

AcceptWait is an Integer property that specifies the number of milliseconds that the ListenerThread should wait to accept a new client connection. AcceptWait is initialized by TIdHTTPServer when the server becomes active and creates it's listener thread.


See Also

TIdHTTPServer


TIdListenerThread.Server

TIdListenerThread	See Also

Server context for the listener thread.

property Server: TIdTCPServer;

Description

Server is a read-only TIdTCPServer property that provides the server context for the TIdListenerThread. Server is the server context provided for any TIdTCPServerConnection or TIdPeerThread spawned by the TIdListenerThread.


See Also

TIdTCPServer

TIdTCPServerConnection

TIdPeerThread


TIdListenerThread.AfterRun

TIdListenerThread	See Also

Controls the thread after execution is complete.

procedure AfterRun; override;

Description

The AfterRun method is a procedure used by TIdThread, and descendants, to provide control over the sequence of events in the Execute method. AfterRun overrides the AfterRun method from TIdThread to provide the following functionality:

Triggers the DoDisconnect event for the server connection.

Calls the ReleaseThread method in the thread manager.

Remove the class instance from the thread list.


See Also

TIdThread

TIdThreadMgr

Technical Support


TIdListenerThread.Create

TIdListenerThread	See Also

Constructor for the Listener thread.

constructor Create(axServer: TIdTCPServer);

Parameters

axServer: TIdTCPServer

TIdTCPServer Server that owns the listener thread.

Description

Create is the constructor for TIdListenerThread and intializes the class instance.

Create initializes the TList used to store socket handles allocated by the server. Create also sets the Server property to the oner of the listener thread as identified by the parameter axServer.


See Also

TIdTCPServer


TIdListenerThread.Destroy

TIdListenerThread

Frees the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance. Destroy will insure that Active is set to False and call TerminateAllThreads. Destroy also clears and releases the Bindings and Threads properties.


TIdListenerThread.Run

TIdListenerThread	See Also

The Run method provides the main thread of execution for the TIdListenerThread.

procedure Run; override;

Description

Run maintains the list of socket handles allocated by the server and the associated socket handles allocated for client connections.

Run creates a TIdTCPServerConnection, which encapulates the server connection to the client, for each socket handle allocated on the server.

Run also requests a TIdPeerThread from the thread manager. The TIdPeerThread represents the thread of execution for each client connection to the server. The peer thread can be a newly created thread or an existing thread from a thread pool. It is the responsibility of the thread manager to determine the appropriate method to handle new thread requests.

Run adds the TIdPeerThread to the list of threads for the server, and calls the Start method of the TIdPeerThread.


See Also

TIdTCPServerConnection

TIdPeerThread

TIdThreadMgr

Technical Support


TIdLogBase

Hierarchy	Members	Properties	Methods	See Also	Unit: IdLogBase

Defines a component logging Framework.

TIdLogBase = class(TIdConnectionIntercept)

Description

TIdLogBase is an abstract class that defines a framework for logging information about Indy communication components.

TIdLogBase is a descendant of TIdConnectionIntercept. TIdLogBase implements inherited virtual methods to write text strings to a log when TIdSocketHandle operations are performed. These operations include connect, read, write, and disconnect.

Messages written to the log will transform all EOL characters, (Carriage Return + Line Feed) by default, to the token '<EOL>'. A log message can optionally generate the date and time it was written to the log.

Note: TIdLogBase does not specify the destination for log messages. TIdLogBase descendants must implement the virtual method Log to resolve where log messages are stored, or written.

TIdLogBase is the ancestor class for the TIdLogDebug component. TIdLogDebug demonstrates an implementation that can store messages in a file stream or write messages to the standard Debugger Output.


See Also

TIdConnectionIntercept

TIdLogDebug

TIdSocketHandle

EOL

DebugOutput

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdConnectionIntercept

|

TIdLogBase


TIdLogBase Fields

TIdLogBase


TIdLogBase Properties

TIdLogBase	Legend

TIdLogBase

 Active

 LogTime

TIdConnectionIntercept

 Binding

 IsClient

 OnConnect

 RecvHandling

 SendHandling

TIdBaseComponent

 Version


Legend

 published


TIdLogBase Events

TIdLogBase


TIdLogBase Methods

TIdLogBase	Legend

TIdLogBase

 Connect

 Create

 DataReceived

 DataSent

 Disconnect

 DoLog

TIdConnectionIntercept

 Connect

 DataReceived

 DataSent

 Disconnect

 Recv

 Send

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdLogBase Members

TIdLogBase	Legend

Properties

 Active

 LogTime

Methods

 Connect

 Create

 DataReceived

 DataSent

 Disconnect

 DoLog


Legend

 virtual

 published


TIdLogBase.Active

TIdLogBase

Start or stop logging of messages.

property Active: Boolean;

Description

Active is used to start or stop logging of messages from operations performed using the Binding socket handle. Set Active to True to begin message logging. Set Active to False to stop message logging.

Messages are generated by Connect, DataReceived, DataSent, and Disconnect in response to socket handle operations. Messages are written to log using DoLog.


TIdLogBase.LogTime

TIdLogBase

Specifies if log messages are date- and time-stamped.

property LogTime: Boolean;

Description

LogTime is a Boolean property that indicates if the log message should automatically include the current date and time when the message is created. The default value for LogTime is True.

If LogTime is True, a message will have the current date and time prepended to the message contents. Date and time is formatted using the value given in the global ShortDateFormat variable.

LogTime is called from DoLog as a part of message formatting routines.


TIdLogBase.Connect

TIdLogBase	See Also

Writes a log message when a connection is established.

procedure Connect(ABinding: TIdSocketHandle); override;

Parameters

ABinding: TIdSocketHandle

The connected socket handle.

Description

Connect is a procedure used to write a log message when a connection is opened for the socket handle in ABinding. The log message will contain an optional date, and the operation name. For example:

   01/01/20000 13:03:42: Connected.

Set LogTime to True to include date and time information in the log message. Connect relies on DoLog to perform formatting and output of messages to the log.

Connect calls the inherited Connect method to set Binding to the reference in ABinding.


See Also

TIdSocketHandle


TIdLogBase.Create

TIdLogBase	See Also

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance. Create relies on the inherited Create constructor, and sets the default value of LogTime to True.

Note: Applications should not create instances of TIdLogBase. Create a TIdLogBase descendant, like TIdLogDebug, that implements the abstract method Log and stores log messages to the desired destination.


See Also

TIdLogDebug


TIdLogBase.DataReceived

TIdLogBase

Writes a log message when data is received.

procedure DataReceived(var ABuffer; const AByteCount: integer); override;

Parameters

var ABuffer

Buffer containing data sent.

const AByteCount: integer

Number of bytes sent.

Description

DataReceived is a procedure used to write a log message when data has been received over the socket handle in Binding. The log message will contain an optional date, the operation name, and the contents of ABuffer as character data. For example:

   01/01/20000 13:03:42: Recv: 200-OK<EOL>

Set LogTime to True to include date and time information in the log message.

DataReceived relies on DoLog to perform formatting and output of messages to the log.


TIdLogBase.DataSent

TIdLogBase

Writes a log message when data is sent.

procedure DataSent(var ABuffer; const AByteCount: integer); override;

Parameters

var ABuffer

Buffer containing data sent.

const AByteCount: integer

Number of bytes sent.

Description

DataSent is a procedure used to write a log message when data has been sent over the socket handle in Binding. The log message will contain an optional date, the operation name, and the contents of ABuffer as character data. For example:

   01/01/20000 13:03:42: Sent: QUIT<EOL>

Set LogTime to True to include date and time information in the log message.

DataSent relies on DoLog to perform formatting and output of messages to the log.


TIdLogBase.Disconnect

TIdLogBase	See Also

Writes a log message when a connection is closed.

procedure Disconnect; override;

Description

Disconnect is a procedure used to write a log message when a connection is closed for the socket handle in Binding. The log message will contain an optional date, and the operation name. For example:

   01/01/20000 13:03:42: Disconnected.

Set LogTime to True to include date and time information in the log message. Connect relies on DoLog to perform formatting and output of messages to the log.

Disconnect calls the inherited Disconnect method to clear the TIdSocketHandle reference in Binding.


See Also

TIdSocketHandle


TIdLogBase.DoLog

TIdLogBase	See Also

Performs formatting and output of a log message.

procedure DoLog(AText: string); virtual;

Parameters

AText: string

Message to format and output.

Description

DoLog is a procedure that performs formatting for the message in AText, and outputs the formatted message to the log. Active must be set to True before a message can be sent to the log.

If LogTime is True, the message AText will have the current date and time prepended to the message contents. Date and time is formatted using the value given in the ShortDateFormat global variable.

DoLog will transform all EOL characters in AText, ( Carriage Return + Line Feed) by default, to the token  '<EOL>'.

DoLog relies on the abstract virtual method Log to write the contents of the formatted message to the log. Note: TIdLogBase does not specify the destination for log messages. TIdLogBase descendants must implement the virtual method Log to resolve where log messages are stored, or written.


See Also

TIdLogDebug


TIdLogDebug

Hierarchy	Members	Properties	Methods	Events	See Also	Unit: IdLogDebug

TIdLogDebug = class(TIdLogBase)

Description

TIdLogDebug is an implementation of the ancestor class TIdLogBase, and extends the framework for logging information about Indy communication components.

TIdLogDebug provides a flexible means of selecting the destination of log messages. Messages can be written to either a file or the WIN32 API Debug Output stream. TIdLogDebug can also trigger TIdLogItemEvent events as the primary logging mechanism, or as a supplement to the written log messages.

Like the ancestor class TIdLogBase, messages written to the log will transform all EOL characters, (Carriage Return + Line Feed ) by default, to the token '<EOL>'. A log message may optionally generate the date and time it was written to the log.

TIdLogDebug is very useful for capturing information about Indy communication components for debugging, trouble-shooting, and general feedback purposes.


See Also

TIdLogBase

TLogItemEvent

EOL

DebugOutput

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdConnectionIntercept

|

TIdLogBase

|

TIdLogDebug


TIdLogDebug Fields

TIdLogDebug


TIdLogDebug Properties

TIdLogDebug	Legend

TIdLogDebug

 Filename

 Target

TIdLogBase

 Active

 LogTime

TIdConnectionIntercept

 Binding

 IsClient

 OnConnect

 RecvHandling

 SendHandling

TIdBaseComponent

 Version


Legend

 published


TIdLogDebug Events

TIdLogDebug	Legend

TIdLogDebug

 OnLogItem


Legend

 published


TIdLogDebug Methods

TIdLogDebug	Legend

TIdLogDebug

 Create

 Destroy

TIdLogBase

 Connect

 Create

 DataReceived

 DataSent

 Disconnect

 DoLog

TIdConnectionIntercept

 Connect

 DataReceived

 DataSent

 Disconnect

 Recv

 Send

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdLogDebug Members

TIdLogDebug	Legend

Properties

 Filename

 Target

Events

 OnLogItem

Methods

 Create

 Destroy


Legend

 virtual

 published


TIdLogDebug.Filename

TIdLogDebug	See Also

Specifies a file that stores the log messages.

property Filename: string;

Description

Filename is a String property the identifies a file where log messages will be stored. Filename can include a fully qualified path, file name and extension. The file defaults to the current directory is no path information is specified.

Filename is significant when Target contains the value ltFile, otherwise Filename is ignored.

Filename is used to create a protected TFilestream when Active is set to True.


See Also

TIdLogDebugTarget


TIdLogDebug.Target

TIdLogDebug	See Also

Specifies the destination for log messages.

property Target: TIdLogDebugTarget;

Description

Target is a TIdLogDebugTarget property that identifies the destination for log messages.

When Target has the value ltFile, log messages will be written to the file specified in Filename. The file will be created if it is not already present in the path. The file will be opened for Read and Write operations, and positioned to the end of the file, if it does exist.

When Target has the value ltDebugOutput, log messages will be written to WIN32 API Debug Output stream.

When Target has the value ltEvent, both file and debug output will be disabled. Only the event handler in OnLogItem will receive log messages.

Changing the value of Target will raise an Exception when the ComponentState is csLoading or csDesigning, and the component is Active.


See Also

TIdLogDebugTarget

DebugOutput


TIdLogDebug.Create

TIdLogDebug	See Also

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance. Create relies on the inherited Create constructor, and sets the default value of LogTime to True.

Note: Applications should not create instances of TIdLogBase. Create a TIdLogBase descendant, like TIdLogDebug, that implements the abstract method Log and stores log messages to the desired destination.


See Also

TIdLogDebug


TIdLogDebug.Destroy

TIdLogDebug

Disposes of the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance. Destroy sets Active to False prior to calling the inherited destructor.


TIdLogDebug.OnLogItem

TIdLogDebug	See Also

Occurs when a message is written to the log.

property OnLogItem: TLogItemEvent;

Description

OnLogItem is an event handler for TTLogItemEvent events that occurs when a message is written to the log. Note: An event handler must be assigned to OnLogItem to respond to the event.

OnLogItem is called in Log prior to writing the message to the destination specified in Target.

OnLogItem is generally used to update GUI applications when a message is written to the log.


See Also

TLogItemEvent


TIdMappedPortTCP

Hierarchy	Members	Properties	Methods	Events	See Also	Unit: IdMappedPortTCP

Implements a proxy for TCP connections to a remote computer.

TIdMappedPortTCP = class(TIdTCPServer)

Description

TIdMappedPortTCP is a TIdTCPServer descendant that implements a proxy for connections to a remote computer system. TIdMappedPortTCP listens for connections on a designated port number and makes a connection to another server using a specified port number. This is useful for certain types of proxy programs.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPServer

|

TIdMappedPortTCP


TIdMappedPortTCP Fields

TIdMappedPortTCP


TIdMappedPortTCP Properties

TIdMappedPortTCP	Legend

TIdMappedPortTCP

 MappedHost

 MappedPort

TIdTCPServer

 AcceptWait

 Active

 Bindings

 DefaultPort

 ImplicitThreadMgrCreated

 Intercept

 TerminateWaitTime

 ThreadClass

 ThreadMgr

 Threads

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdMappedPortTCP Events

TIdMappedPortTCP	Legend

TIdMappedPortTCP

 OnBeforeClientConnect

TIdTCPServer

 OnConnect

 OnDisconnect

 OnExecute

TIdComponent

 OnStatus


Legend

 published


TIdMappedPortTCP Methods

TIdMappedPortTCP	Legend

TIdMappedPortTCP

 Create

TIdTCPServer

 Create

 Destroy

 Loaded

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdMappedPortTCP Members

TIdMappedPortTCP	Legend

Properties

 MappedHost

 MappedPort

Events

 OnBeforeClientConnect

Methods

 Create


Legend

 virtual

 published


TIdMappedPortTCP.MappedHost

TIdMappedPortTCP

Host address for mapped port connections.

property MappedHost: string;

Description

MappedHost is a String property that represents the address of the host computer that is the endpoint for TIdMappedPortTCP client connections. MappedHost is assigned to the Host property for the TCP client created by TIdMappedPortTCP.


TIdMappedPortTCP.MappedPort

TIdMappedPortTCP

Port number for mapped connections to the host.

property MappedPort: integer;

Description

MappedPort is an Integer property that represents the port number used by TIdMappedPortTCP to establish a connection with the remote host computer. MappedPort is assigned to the port number for the TCP client created by TIdMappedPortTCP.


TIdMappedPortTCP.Create

TIdMappedPortTCP

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance. Create calls the inherited Create method to initialize the object instance, and sets MappedPort to the constant value ID_MAPPED_PORT_TCP_PORT.


TIdMappedPortTCP.OnBeforeClientConnect

TIdMappedPortTCP

Signals a client connection to a host.

property OnBeforeClientConnect: TBeforeClientConnectEvent;

Description

OnBeforeClientConnect is a TBeforeClientConnectEvent event handler used to respond to event notifications generated when an outbound client is about to connect to a remote host.

AThread is the TIdPeerThread for the client opening the connection.

AClient is the TIdTCPClient created for the local connection the host computer.

Applications must assign a procedure to the event handler to allow response to the event notification.


TIdMappedPortTCPData

Hierarchy	Members	Fields	Methods	See Also	Unit: IdMappedPortTCP

Encapsulates the outbound connection for a mapped port.

TIdMappedPortTCPData = class

Description

TIdMappedPortTCPData is an object that represents the outbound connection and all client connections for TIdMappedPortTCP.


See Also

Technical Support


Class Hierarchy

TObject

|

TIdMappedPortTCPData


TIdMappedPortTCPData Fields

TIdMappedPortTCPData

TIdMappedPortTCPData

 OutboundClient

 ReadList


TIdMappedPortTCPData Properties

TIdMappedPortTCPData


TIdMappedPortTCPData Events

TIdMappedPortTCPData


TIdMappedPortTCPData Methods

TIdMappedPortTCPData	Legend

TIdMappedPortTCPData

 Create

 Destroy


Legend

 virtual


TIdMappedPortTCPData Members

TIdMappedPortTCPData	Legend

Fields

 OutboundClient

 ReadList

Methods

 Create

 Destroy


Legend

 virtual


TIdMappedPortTCPData.OutboundClient

TIdMappedPortTCPData

Represents the remote connection for the mapped port.

OutboundClient: TIdTCPClient;

Description

OutboundClient is a TIdTCPClient property that represents the remote connection for the mapped port.


TIdMappedPortTCPData.ReadList

TIdMappedPortTCPData

List of socket bindings for the mapped port.

ReadList: TList;

Description

ReadList is a TList that contains socket bindings for the mapped port. Readlist is used when a outbound client must write to connections for the mapped port.


TIdMappedPortTCPData.Create

TIdMappedPortTCPData

Constructor for the object instance.

constructor Create;

Description

Create is the constructor for the object instance. Create is responsible for creating the object properties in ReadList and OutboundClient.


TIdMappedPortTCPData.Destroy

TIdMappedPortTCPData

Destructor for the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance. Destroy is responsible for freeing and releasing the object properties in ReadList and OutboundClient.


TIdMessage

Hierarchy	Members	Properties	Methods	See Also	Unit: IdMessage

Encapsulates an Internet Message.

TIdMessage = class(TIdBaseComponent)

Description

TIdMessage encapsulates a complete Internet Message as described in the Internet Standards documents:

Standard for the Format of ARPA Internet Text Messages, RFC 822, Revised by David H. Crocker, August 1982

Standard for Interchange of USENET Messages, RFC 1036, by M. Horton, December 1987

TIdMessage is used with message-based protocols, such as POP3, SMTP, and NNTP. TIdMessage supports Multipurpose Internet Mail Extensions (MIME) as described in the Internet Standards documents:

Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies, RFC 2045, by N. Freed and N. Borenstein, November 1996

Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types, RFC 2046, by N. Freed and N. Borenstein, November 1996

Multipurpose Internet Mail Extensions (MIME) Part Three: Message Header Extensions for Non-ASCII Text, RFC 2047, by K. Moore, November 1996

Multipurpose Internet Mail Extensions (MIME) Part Four: Registration Procedures, RFC 2048, by N. Freed, J. Klensin and J. Postel, November 1996

Multipurpose Internet Mail Extensions (MIME) Part Five: Conformance Criteria and Examples, RFC 2049, by N. Freed and N. Borenstein, November 1996


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdMessage


TIdMessage Fields

TIdMessage


TIdMessage Properties

TIdMessage	Legend

TIdMessage

 BccList

 Body

 CCList

 CharSet

 ContentTransferEncoding

 ContentType

 Date

 ExtraHeaders

 From

 Headers

 IsEncoded

 MessageParts

 MsgId

 NewsGroups

 NoDecode

 Organization

 Priority

 ReceiptRecipient

 Recipients

 References

 ReplyTo

 Sender

 Subject

 UseNowForDate

TIdBaseComponent

 Version


Legend

 published


TIdMessage Events

TIdMessage


TIdMessage Methods

TIdMessage	Legend

TIdMessage

 AddHeader

 Clear

 ClearBody

 ClearHeader

 Create

 Destroy

 GenerateHeader

 GetHeader

 GetUseNowForDate

 SetBody

 SetExtraHeaders

 SetNewsGroups

 SetUseNowForDate

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdMessage Members

TIdMessage	Legend

Properties

 BccList

 Body

 CCList

 CharSet

 ContentTransferEncoding

 ContentType

 Date

 ExtraHeaders

 From

 Headers

 IsEncoded

 MessageParts

 MsgId

 NewsGroups

 NoDecode

 Organization

 Priority

 ReceiptRecipient

 Recipients

 References

 ReplyTo

 Sender

 Subject

 UseNowForDate

Methods

 AddHeader

 Clear

 ClearBody

 ClearHeader

 Create

 Destroy

 GenerateHeader

 GetHeader

 GetUseNowForDate

 SetBody

 SetExtraHeaders

 SetNewsGroups

 SetUseNowForDate


Legend

 virtual

 published


TIdMessage.BccList

TIdMessage

Indicates blind carbon copy recipients for the message.

property BccList: TIdEmailAddressList;

Description

BccList is a TIdEmailAddressList property used to store email address of recipients that will receive a carbon copy of the message, but do not appear in the "To:" headers for the message.

BccList is often used for mailing list applications, where members of the mailing list should receive a copy of a message addressed to the list.


TIdMessage.Body

TIdMessage

Represents the body of the message.

property Body: TStrings;

Description

Body is a TStrings property that contains the textual values that make up the body of the message.

When IsEncoded is True, Body contains values that are encoded using the encoding scheme identified in ContentTransferEncoding. When IsEncoded is False, Body contains ASCII text that represents the contents of the message.


TIdMessage.CCList

TIdMessage

Indicates carbon copy recipients for the message.

property CCList: TIdEmailAddressList;

Description

CCList is a TIdEmailAddressList property used to store the email address of recipients that will receive a carbon copy of the message.


TIdMessage.CharSet

TIdMessage

Indicates the character set used for the message.

property CharSet: string;

Description

CharSet is a String property that indicates the character set used for the message. Some common CharSet values include:

US-ASCII

ISO-8859-1


TIdMessage.ContentTransferEncoding

TIdMessage

Specifies the MIME encoding for the message.

property ContentTransferEncoding: string;

Description

ContentTransferEncoding is a String property that specifies the MIME encoding used for the message. Use ContentType to specify the media type for message.


TIdMessage.ContentType

TIdMessage

Identifies the MIME media type for the message.

property ContentType: string;

Description

ContentType is a String property that specifies the MIME media type for the message. Use ContentTransferEncoding to identify the encoding scheme for the message.


TIdMessage.Date

TIdMessage

The date a message was sent.

property Date: TDateTime;

Description

Date is a TDateTime property that represents the native date and time, expressed in the local timezone, when the message was sent. Date contains the value read from and written to the message header "Date:"


TIdMessage.ExtraHeaders

TIdMessage

Additional headers from the message.

property ExtraHeaders: TIdHeaderList;

Description

ExtraHeaders is a TIdHeaderList property that contains additional headers for the message. ExtraHeaders is used to store header values from the message that are not properties of TIdMessage.


TIdMessage.From

TIdMessage

Identifies the original author of the message.

property From: TIdEmailAddressItem;

Description

From is a TIdEmailAddressItem property that identifies the original author of the message.


TIdMessage.Headers

TIdMessage

Header values for the message.

property Headers: TIdHeaderList;

Description

Headers is a read-only TIdHeaderList property used to store the header values for the message in raw form.


TIdMessage.IsEncoded

TIdMessage

Indicates when the message body is MIME-encoded.

property IsEncoded: Boolean;

Description

IsEncoded is a Boolean property used to indicate that the message body is encoded with the scheme specified in ContentTransferEncoding.

When IsEncoded is True, use MessageParts to access the text of the message body. When IsEncoded is False, the message body contains ASCII text and can be updated using Body.


TIdMessage.MessageParts

TIdMessage

List of message parts for the message.

property MessageParts: TIdMessageParts;

Description

MessageParts is a TIdMessagePartsList used to store the TIdMessagePart components that make up the message. MessageParts can contain two TIdMessagePart descendants: TIdText and TIdAttachment.

MessageParts is used when IsEncoded is set to True (on sending), or NoDecode is set to false for receiving.


TIdMessage.MsgId

TIdMessage

Message identifier assigned to the message.

property MsgId: string;

Description

MsgID is a String property that represents the unique message identifier for the message. MsgID contains the value from the RFC message header 'Message-Id:'. MsgID is normally assigned by the server that receives the message.


TIdMessage.NewsGroups

TIdMessage

Identifies newsgroup to receive the message.

property NewsGroups: TStrings;

Description

NewsGroups is a TStrings property that is used to store the Newsgroup names where the message should be posted. Newsgroups is used to construct the value for the RFC message header 'Newsgroups:'. Newsgroups is significant when the message is retrieved or posted using a NNTP client.


TIdMessage.NoDecode

TIdMessage

Requests a message in raw form.

property NoDecode: Boolean;

Description

NoDecode is a Boolean property used to indicate that the message should be retrieved without decoding the contents of the message. The default value of NoDecode is False.

When NoDecode is True, the message will be retrieved and added to MessageParts as MIME-encoded attachments. There will be one MessagePart (TIdText type) added for the message Body, and additional MessagePart items (TIdAttachment type) for each message attachment. Body will be empty.

To read a message for a POP3 client, you can use the following code:

  Msg.NoDecode := false;

  APOP.Retrieve(1, Msg);

  for i := 0 to Pred(Msg.MessageParts.Count) do

  begin

    //general attachments

    if (Msg.MessageParts.Items[i] is TIdAttachment) then

    begin

        lstAttachments.Add(TIdAttachment(Msg.MessageParts.Items[i]).Filename);

    end

    //body text

    else

    begin

      if Msg.MessageParts.Items[intIndex] is TIdText then

        begin

          Memo1.Lines.AddStrings(TIdText(Msg.MessageParts.Items[i]).Body);

        end

    end;

  end;

When NoDecode is False, the message will be retreived and the message body is stored in Body in its MIME-encoded form.


TIdMessage.Organization

TIdMessage

Identifies the organizational affiliation of the message author.

property Organization: string;

Description

Organization is a String property that identifies the organizational affiliation of the message author. Organization is the value from the RFC message header 'Organization:'.


TIdMessage.Priority

TIdMessage

Identifies the message priority.

property Priority: TIdMessagePriority;

Description

Priority is a TIdMessagePriority property that describes the message priority. Priority can contain one of the following values:

mpHighest - The message should be given the highest priority

mpHigh - This message should be given a high priority

mpNormal - This message should be given the normal priority. This is the default value.

mpLow - This message should be given a low priority

mpLowest - This message should be given the lowest priority


TIdMessage.ReceiptRecipient

TIdMessage

Return receipt email address.

property ReceiptRecipient: TIdEmailAddressItem;

Description

ReceiptRecipient is a TIdEmailAddressItem property used to identify the address where a return receipt for the message should be delivered. Assign a blank value to ReceiptRecipient when a return receipt is not desired.


TIdMessage.Recipients

TIdMessage

Identifies the recipients of a message.

property Recipients: TIdEmailAddressList;

Description

Recipients is a TIdEmailAddressList property used to store TIdEmailAddressItem values that identify the recipients of the message.


TIdMessage.References

TIdMessage

Identifies the reply-to messages.

property References: string;

Description

References is a String property that contains a list of message identifiers for which the message is a reply. References contains the value for the RFC message header 'References:'.

References is used by NNTP newsreader applications to create a threaded article display.


TIdMessage.ReplyTo

TIdMessage

Identifies the delivery address for message replies.

property ReplyTo: TIdEmailAddressList;

Description

ReplyTo is a TIdEmailAddressItem property that specifies the email address where replies to this message should be delivered. ReplyTo is used when the delivery address is different that From. ReplyTo contains the value from the RFC message header 'Reply-To'.


TIdMessage.Sender

TIdMessage

Identifies the sender of the message.

property Sender: TIdEmailAddressItem;

Description

Sender is a TIdEmailAddressItem property used to indicate the person sending the message, if the person is not the message author. Sender contains the value from the RFC message header 'Sender:'.


TIdMessage.Subject

TIdMessage

Identifies the subject for the message.

property Subject: string;

Description

Subject is a String property that identifies the subject for the message. Subject contains the value from the RFC message header 'Subject:'.


TIdMessage.UseNowForDate

TIdMessage

Indicates that the message uses the current date and time when sent.

property UseNowForDate: Boolean;

Description

UseNowForDate is a Boolean property that indicates the message should use the current date and time when sent to the message server.


TIdMessage.AddHeader

TIdMessage

Add a header and value to the message.

procedure AddHeader(const Value: string);

Parameters

const Value: string

header name and value in NAME=VALUE form.

Description

AddHeader is a procedure used to add a header name and value to the Header for the message. Value is the header to be added in NAME=VALUE form. AddHeader does not perform line folding.


TIdMessage.Clear

TIdMessage

Clears the header and body for the message.

procedure Clear; virtual;

Description

Clear is a procedure used to clear the values stored in the Header and Body of the message.

Clear calls ClearHeader to remove the contents of the message header. Clear calls ClearBody to remove the contents of the message body.


TIdMessage.ClearBody

TIdMessage

Clear the contents of the message body.

procedure ClearBody;

Description

ClearBody is a procedure used to clear the contents of the message Body.

Use ClearHeader to remove the contents the message Header, or Clear to remove both the Header and the Body of the message.


TIdMessage.ClearHeader

TIdMessage

Clear the contents of the message header.

procedure ClearHeader;

Description

ClearHeader is a procedure used to clear the contents of the message Header.

Use ClearBody to remove the contents the message Body, or Clear to remove both the Header and the Body of the message.


TIdMessage.Create

TIdMessage

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance. Create calls the inherited Create method to initialize the object instance. Create initializes object properties for the instance, including:

Body

Recipients

BccList

CcList

MessageParts

NewsGroups

Headers

From

ReplyTo

Sender

ExtraHeaders

Create also calls Clear to set object properties to their default values.


TIdMessage.Destroy

TIdMessage

Frees the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance. Destroy is responsible for freeing the object references used for properties, including:

Body

Recipients

BccList

CcList

MessageParts

NewsGroups

Headers

From

ReplyTo

Sender

ExtraHeaders

Destroy calls the inherited Destroy method to complete destruction of the object instance.


TIdMessage.GenerateHeader

TIdMessage

Create a list of headers for the message.

function GenerateHeader: TIdHeaderList;

Returns

TIdHeaderList - Headers generated for the message.

Description

GenerateHeader is a TIdHeaderList function used to create and populate a MIME-encoded list of message headers. The message headers returned by GenerateHeader includes:

From

Subject

To

Cc

Newsgroups

Content-Type

MIME-Version

Content-Transfer-Encoding

Sender

Reply-To

Organization

Disposition-Notification-To

References

Date

X-Priority

X-Library

GenerateHeader appends all values in ExtraHeaders to the TIdHeaderList return value. The application must free the TIdHeaderList returned by GenerateHeader.


TIdMessage.GetHeader

TIdMessage

Converts message headers to object properties.

procedure GetHeader;

Description

GetHeader is a procedure used to extract Header values for a message, and store the header value in TIdMessage properties. GetHeader updates the following properties from their associated message header:

ContentType

ContentTransferEncoding

Subject

From

MsgId

Newsgroups

Recipients

CCList

Organization

ReceiptRecipient

References

ReplyTo

Date

Sender

Priority


TIdMessage.GetUseNowForDate

TIdMessage

Reads the Boolean value for UseDateForNow.

function GetUseNowForDate: Boolean;

Description

GetUseNowForDate reads the Boolean value for UseDateForNow.


TIdMessage.SetBody

TIdMessage

procedure SetBody(const Value: TStrings);

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdMessage.SetExtraHeaders

TIdMessage

procedure SetExtraHeaders(const Value: TIdHeaderList);

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdMessage.SetNewsGroups

TIdMessage

procedure SetNewsGroups(const Value: TStrings);

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdMessage.SetUseNowForDate

TIdMessage

Updates the Boolean value for UseDateForNow.

procedure SetUseNowForDate(const Value: Boolean);

Description

SetUseNowForDate updates the Boolean value for UseDateForNow.


TIdMessageClient

Hierarchy	Members	Properties	Methods	See Also	Unit: IdMessageClient

Implements a message client.

TIdMessageClient = class(TIdTCPClient)

Description

TIdMessageClient is a TIdTCPClient descendant that implements a generic message client. TIdMessageClient can read and write Internet messages compliant with the RFC 822 message specification.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPConnection

|

TIdTCPClient

|

TIdMessageClient


TIdMessageClient Fields

TIdMessageClient


TIdMessageClient Properties

TIdMessageClient	Legend

TIdMessageClient

 MsgLineFold

 MsgLineLength

TIdTCPClient

 BoundIP

 Host

 OnConnected

 Port

 SocksInfo

 UseNagle

TIdTCPConnection

 ASCIIFilter

 Binding

 ClosedGracefully

 CmdResult

 CmdResultDetails

 Intercept

 InterceptEnabled

 OnDisconnected

 OnWork

 OnWorkBegin

 OnWorkEnd

 ReadLnTimedOut

 RecvBufferSize

 ResultNo

 SendBufferSize

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdMessageClient Events

TIdMessageClient	Legend

TIdComponent

 OnStatus


Legend

 published


TIdMessageClient Methods

TIdMessageClient	Legend

TIdMessageClient

 Create

TIdTCPClient

 Connect

 ConnectAndGetAll

 Create

 Destroy

TIdTCPConnection

 AllData

 CancelWriteBuffer

 Capture

 CheckForDisconnect

 CheckForGracefulDisconnect

 CheckResponse

 ClearWriteBuffer

 CloseWriteBuffer

 Connected

 Create

 CurrentReadBuffer

 CurrentReadBufferSize

 Destroy

 Disconnect

 DisconnectSocket

 ExtractXBytesFromBuffer

 FlushWriteBuffer

 GetResponse

 InputLn

 OpenWriteBuffer

 procedure RaiseExceptionForCmdResult; virtual; overload;

 procedure RaiseExceptionForCmdResult(axException: TClassIdException); virtual; overload;

 ReadBuffer

 ReadCardinal

 ReadFromStack

 ReadInteger

 ReadLn

 ReadLnWait

 ReadSmallInt

 ReadStream

 ReadString

 RemoveXBytesFromBuffer

 function SendCmd(const AOut: string; const AResponse: SmallInt): SmallInt; overload;

 function SendCmd(const AOut: string; const AResponse: Array of SmallInt): SmallInt; virtual; overload;

 WaitFor

 Write

 WriteBuffer

 WriteCardinal

 WriteFile

 WriteHeader

 WriteInteger

 WriteLn

 WriteSmallInt

 WriteStream

 WriteStrings

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdMessageClient Members

TIdMessageClient	Legend

Properties

 MsgLineFold

 MsgLineLength

Methods

 Create


Legend

 virtual

 published


TIdMessageClient.MsgLineFold

TIdMessageClient

Identifies the line fold character sequence.

property MsgLineFold: String;

Description

MsgLineFold is a String property that identifies the line fold character sequence inserted at the beginning of a folded line.


TIdMessageClient.MsgLineLength

TIdMessageClient

Maximum line length.

property MsgLineLength: Word;

Description

MsgLineLength is an Integer property that specifies the maximum length of a header line. If the length is exceeded, the header is folded.


TIdMessageClient.Create

TIdMessageClient

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance. Create relies on the inherited create constructor, and initializes the following property values:

MsgLineLength - 79

MsgLineFold = TAB character (Decimal 9)


TIdMessagePart

Hierarchy	Members	Properties	Methods	Events	See Also	Unit: IdMessage

Implements the base class for MIME message parts.

TIdMessagePart = class(TCollectionItem)

Description

TIdMessagePart is a TCollectionItem descendant that encapsulates a MIME message part. TIdMessagePart is the ancestor class for common MIME message parts like TIdText and TIdAttachment. TIdMessagePart is also the collection item added to the TIdMessageParts collection.

TIdMessagePart provides methods and properties common to all MIME message parts, including properties that represent values from Internet Message headers.


See Also

Technical Support


Class Hierarchy

TCollectionItem

|

TIdMessagePart


TIdMessagePart Fields

TIdMessagePart


TIdMessagePart Properties

TIdMessagePart	Legend

TIdMessagePart

 Boundary

 BoundaryBegin

 BoundaryEnd

 ContentTransfer

 ContentType

 ExtraHeaders

 Headers

 IsEncoded

 StoredPathName


Legend

 published


TIdMessagePart Events

TIdMessagePart

TIdMessagePart

 OnGetMessagePartStream


TIdMessagePart Methods

TIdMessagePart	Legend

TIdMessagePart

 Assign

 Create

 Destroy


Legend

 virtual


TIdMessagePart Members

TIdMessagePart	Legend

Properties

 Boundary

 BoundaryBegin

 BoundaryEnd

 ContentTransfer

 ContentType

 ExtraHeaders

 Headers

 IsEncoded

 StoredPathName

Events

 OnGetMessagePartStream

Methods

 Assign

 Create

 Destroy


Legend

 virtual

 published


TIdMessagePart.Boundary

TIdMessagePart

Character sequence that delimits the message part.

property Boundary: String;

Description

Boundary is a String property that contains the character sequence that delimits the message part in an Internet Message. Boundary applies to message parts where the ContentType is "multipart".

Boundary marks the beginning of each message part in the file, and also follows the final message part in the message. Boundary contains the character sequence that follows the mandatory boundary marker prefix "--".


TIdMessagePart.BoundaryBegin

TIdMessagePart

Indicates that a boundary marker appears at the beginning of the message part.

property BoundaryBegin: Boolean;

Description

BoundaryBegin is a Boolean property that indicates that a boundary marker appears at the beginning of the message part. BoundaryBegin is used and updated when the message part is received by a message client.


TIdMessagePart.BoundaryEnd

TIdMessagePart

Indicates that a boundary marker appears at the end of the message part.

property BoundaryEnd: Boolean;

Description

BoundaryEnd is a Boolean property that indicates that a boundary marker appears at the end of the message part. BoundaryEnd is used and updated when the message part is received by a message client.


TIdMessagePart.ContentTransfer

TIdMessagePart

Identifies the encoding scheme for the message part.

property ContentTransfer: string;

Description

ContentTransfer is a String property that identifies the encoding scheme for the message part. ContentTransfer contains the value from the Internet Message header "Content-Transfer-Encoding:".

ContentTransfer contains a token that identifies the encoding transformations performed for the message part or the domain for the result. ContentTransfer normally contains one of the following values:

"7bit"

"8bit"

"binary"

"quoted-printable"

"base64"

The Content-Transfer-Encoding values "7bit", "8bit", and "binary" all indicate that NO encoding transformation has been performed. The quoted-printable and base64 encodings transform their input into values using "7bit" representation.

Note: The five values defined for the ContentTransfer imply nothing about the ContentType other than the algorithm by which it was encoded or the transport system requirements when UU-encoded.

Note: ContentTransfer is not case sensitive -- "Base64", "BASE64" and "bAsE64" are all equivalent.


TIdMessagePart.ContentType

TIdMessagePart

Identifies the MIME media type for the message.

property ContentType: string;

Description

ContentType is a String property that specifies the MIME media type for the message. Use ContentTransferEncoding to identify the encoding scheme for the message.


TIdMessagePart.ExtraHeaders

TIdMessagePart

Represents message header without property storage.

property ExtraHeaders: TIdHeaderList;

Description

ExtraHeaders is a TIdHeaderList property that represents headers from the Internet Message that do not have corresponding properties to represent their values.


TIdMessagePart.Headers

TIdMessagePart

Represents message headers in native form.

property Headers: TIdHeaderList;

Description

Headers is a read-only TIdHeaderList property used to represent the headers for the Internet Message in NAME=VALUE form.


TIdMessagePart.IsEncoded

TIdMessagePart

Indicates that the body for the message part is MIME-encoded.

property IsEncoded: Boolean;

Description

IsEncoded is a read-only Boolean property that indicates the body of the message part is stored in MIME-encoded form. IsEncoded normally reflects that the body contains a graphic image or BASE64 or QUOTED-PRINTABLE encoded value.


TIdMessagePart.StoredPathName

TIdMessagePart

Identifies the temporary storage file for the message part.

property StoredPathName: TFileName;

Description

StoredPathName is a TFilename property that represents the file used to store the message part. StoredPathName can contain a temporary path and file name if the message part represents an attachment without a ContentDisposition header specifying a suggested file name.


TIdMessagePart.Assign

TIdMessagePart

Copy the property values from another object.

procedure Assign(Source: TPersistent); override;

Parameters

Source: TPersistent

Object instance containing values to be copied.

Description

Assign is a procedure used to copy the property values from the object specified in Source to the current collection item instance. When the ClassType for Source is the same as the current object, Assign will copy the following property values:

ContentTransfer

ContentType

ExtraHeaders

When the ClassType for Source is not the same as the current object, Assign calls the inherited Assign method.


TIdMessagePart.Create

TIdMessagePart

Constructor for the collection item.

constructor Create(Collection: TCollection); override;

Parameters

Collection: TCollection

Owner of the collection item.

Description

Create is the constructor for the collection item, and simply raises an exception saying that a TIdMessagePart instance cannot be created and added to the collection. Use a TIdMessagePart descendant to override this constructor with parameters to add items to a TIdMessageParts collection.


TIdMessagePart.Destroy

TIdMessagePart

Frees the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance, and is responsible for freeing and releasing the object instance.


TIdMessagePart.OnGetMessagePartStream

TIdMessagePart

Event handler for retrieving a message part from a stream.

property OnGetMessagePartStream: TOnGetMessagePartStream;

Description

OnGetMessagePartStream is a TOnGetMessagePartStream event handler used to respond to the notification that a message part is available to be read from AStream.

An application must assign a procedure to OnGetMessagePartStream to allow a response to the event notification.


TIdMessageParts

Hierarchy	Members	Properties	Methods	See Also	Unit: IdMessage

Collection for individual message parts in the message.

TIdMessageParts = class(TOwnedCollection)

Description

TIdMessageParts is a collection which contains the individual message parts for a MIME message, and contains ancestors of TIdMessagePart such as TIdText and TIdAttachment.


See Also

Technical Support


Class Hierarchy

TOwnedCollection

|

TIdMessageParts


TIdMessageParts Fields

TIdMessageParts


TIdMessageParts Properties

TIdMessageParts

TIdMessageParts

 Items


TIdMessageParts Events

TIdMessageParts


TIdMessageParts Methods

TIdMessageParts

TIdMessageParts

 Add

 Create


TIdMessageParts Members

TIdMessageParts

Properties

 Items

Methods

 Add

 Create


TIdMessageParts.Items

TIdMessageParts

Represents the message parts in the collection.

property Items [Index: Integer]: TIdMessagePart;

Description

Items is an indexed TIdMessagePart property used to access the individual message parts in the collection. Index values must be in the range 0..Count-1.


TIdMessageParts.Add

TIdMessageParts

Adds a message part to the collection.

function Add: TIdMessagePart;

Returns

TIdMessagePart - Message part added to the collection.

Description

Add is a TIdMessagePart function that is disabled for the collection. Add always returns Nil as the return value. Add is disabled to prevent adding the ancestor class TIdMessagePart to the collection. Use TIdText.Create and TIdAttachment.Create to add the new collection item to the collection identified by the Collection parameter.


TIdMessageParts.Create

TIdMessageParts

Constructor for the object instance.

constructor Create(AOwner: TPersistent);

Parameters

AOwner: TPersistent

Owner of object instance.

Description

Create is the constructor for the object instance. Create calls the inherited Create using AOwner and TIdMessagePart as the owner and class instance for the collection.


TIdMimeTable

Hierarchy	Members	Methods	Unit: IdGlobal

Provides access to MIME types for the local computer.

TIdMimeTable = class(TObject)

Description

TIdMimeTable is a class used by Indy to provide access to the MIME types known from settings on the local computer system. TIdMimeTable provides both cached and dynamic access to the MIME types registered on the local computer,

Use Create to instantiates the class instance.

Use Free to release the class instance.

Use BuildCache to load MIME type from system settings on the local computer.

Use GetFileMIMEType to retrieve the MIME type for a specific file name.

Use GetDefaultFileExt to retrieve the file extension associated with the specific MIME type.


Class Hierarchy

TObject

|

TIdMimeTable


TIdMimeTable Fields

TIdMimeTable


TIdMimeTable Properties

TIdMimeTable


TIdMimeTable Events

TIdMimeTable


TIdMimeTable Methods

TIdMimeTable	Legend

TIdMimeTable

 BuildCache

 Create

 Destroy

 getDefaultFileExt

 GetFileMIMEType


Legend

 virtual


TIdMimeTable Members

TIdMimeTable	Legend

Methods

 BuildCache

 Create

 Destroy

 getDefaultFileExt

 GetFileMIMEType


Legend

 virtual


TIdMimeTable.BuildCache

TIdMimeTable

Populates MIME types and file extensions.

procedure BuildCache; virtual;

Description

BuildCache is a procedure used to populate the MIME type and File extensions from system settings on the local computer. Note: BuildCache is not implemented on the Linux platform.


TIdMimeTable.Create

TIdMimeTable	See Also

Constructor for the object instance.

constructor Create(Autofill: boolean); virtual;

Parameters

Autofill: boolean = true

Automatically load MIME types and file extensions.

Description

Create is the constructor for the object instance, and initializes the TStringlists used to store MIME types and File extensions.

When Autofill is True, Create calls the BuildCache method to populate the MIME type entries from system settings on the local computer.


See Also

TIdMimeTable.BuildCache

TIdMimeTable.Destroy


TIdMimeTable.Destroy

TIdMimeTable

Destructor for the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance, and is responsible for clearing and releasing the lists used to store File Extensions and MIME types used by the class.


TIdMimeTable.getDefaultFileExt

TIdMimeTable

Returns the file extension for the specified MIME type.

function getDefaultFileExt(Const MIMEType: string): String;

Parameters

Const MIMEType: string

The MIME type to examine.

Returns

String - The file extension for the MIME type.

Description

GetDefaultFileExt is a function used to retrieve the file extension for the registered MIME type specified in MIMEType.


TIdMimeTable.GetFileMIMEType

TIdMimeTable

Returns the MIME type for a file name.

function GetFileMIMEType(const fileName: String): String;

Parameters

const fileName: String

The file name to be examined.

Returns

String - The registered MIME type for the file name.

Description

GetFileMIMEType is a String function used to retrieve the registered MIME type for the file name specified in Filename. GetFileMIMEType examines the currently cached MIME types, but calls BuildCache is no registered MIME type exists in the cache for the specified file. If no MIME type is found after reloading the cache, the value "application/octet-stream" is used as the MIME type for the file.


TIdNetworkCalculator

Hierarchy	Members	Properties	Methods	See Also	Unit: IdNetworkCalculator

Implements an IP address calculator.

TIdNetworkCalculator = class(TIdBaseComponent)

Description

TIdNetworkCalculator is a component that can be used to calculate the validity of a network address, or calculate a list of valid network addresses.

The 32-bit IP address used by TIdNetworkCalculator is based on the network address scheme described in the Internet Standards document An IP Address Extension Proposal, RFC 1365, by K. Siyan.

Assign values to the properties NetworkClass, NetworkAddress, and NetworkMask to allow the component to validate the IP address desired. You can also use IsAddressInNetwork to determine if a specific network address is valid based on the NetworkMask settings. Use ListIP to view a list of IP addresses accessible over a network having the given network address and network mask.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdNetworkCalculator


TIdNetworkCalculator Fields

TIdNetworkCalculator


TIdNetworkCalculator Properties

TIdNetworkCalculator	Legend

TIdNetworkCalculator

 ListIP

 NetworkAddress

 NetworkClass

 NetworkMask

 NetworkMaskLength

 OnChange

 OnGenIPList

TIdBaseComponent

 Version


Legend

 published


TIdNetworkCalculator Events

TIdNetworkCalculator


TIdNetworkCalculator Methods

TIdNetworkCalculator	Legend

TIdNetworkCalculator

 Create

 Destroy

 EndIP

 FillIPList

 IsAddressInNetwork

 NumIP

 StartIP

TIdBaseComponent

 GetVersion


Legend

 virtual

 published


TIdNetworkCalculator Members

TIdNetworkCalculator	Legend

Properties

 ListIP

 NetworkAddress

 NetworkClass

 NetworkMask

 NetworkMaskLength

 OnChange

 OnGenIPList

Methods

 Create

 Destroy

 EndIP

 FillIPList

 IsAddressInNetwork

 NumIP

 StartIP


Legend

 virtual

 published


TIdNetworkCalculator.ListIP

TIdNetworkCalculator

Represents the list of valid IP addresses for the network.

property ListIP: TStrings;

Description

ListIP is a read-only TStrings property that represents the list of valid IP addresses for the current network settings. IP addresses in the list are in "dotted-decimal" form, like 129.71.2.4.

ListIP is automatically populated when values are read from the property and the list does not contain any entries, or by the OnNetAddressChange and OnNetMaskChange event handlers. FillIPLIst is used to populate the strings in ListIP.

Note: ListIP will not contain IP addresses in the IDE, or when the component state is csDesigning, if the length of the list from NumIP will exceed 1024 entries. This is done to prevent a long loop where the IDE would appear to be locked.


TIdNetworkCalculator.NetworkAddress

TIdNetworkCalculator	See Also

Specifies a local address on a network.

property NetworkAddress: TIpProperty;

Description

NetworkAddress is a TIPProperty property that identifies the local address for a computer on the network. NetworkAddress allows the local address to be retrieved and assigned using a variety of representations of the 32-bit IP address, as permitted by TIPProperty.

NetworkAddress is used in conjunction with NetworkMask to determine the NetworkClass for the complete network address. The OnNetAddressChange event handler is triggered when the value in NetworkAddress is modified.


See Also

TIpProperty


TIdNetworkCalculator.NetworkClass

TIdNetworkCalculator	See Also

Specifies the network class for the current network address.

property NetworkClass: TNetworkClass;

Description

NetworkClass is a read-only TNetworkClass property that identifies the network class for the settings in NetworkAddress and NetworkMask. NetworkClass is automatically updated in the OnNetAddressChange event handler when the value of NetworkAddress is updated.

Values for NetworkClass correspond to the enumerated values in TNetworkClass, and include the following:

ID_NET_CLASS_A - Class A

ID_NET_CLASS_B - Class B

ID_NET_CLASS_C - Class C

ID_NET_CLASS_D - Class D

ID_NET_CLASS_E - Class E


See Also

TNetworkClass


TIdNetworkCalculator.NetworkMask

TIdNetworkCalculator	See Also

Specifies the network address mask for the current network settings.

property NetworkMask: TIpProperty;

Description

NetworkMask is a TIpProperty that identifies the network address mask for computers on the network. NetworkMask is used in determining valid IP address for local computers on the network and the network number used for routing and gateway applications.

NetworkMask is used in conjunction with NetworkAddress to determine the NetworkClass for the complete network address. NetworkMaskLength identifies the number of available network address based on NetworkMask.

The OnNetMaskChange event handler is triggered when the value in NetworkMask is modified.


See Also

TIpProperty


TIdNetworkCalculator.NetworkMaskLength

TIdNetworkCalculator

Specifies the number of available network addresses for the current network.

property NetworkMaskLength: cardinal;

Description

NetworkMaskLength is a Cardinal property that identifies the number of available network addresses for the network based on the value of NetworkMask. The default value for NetworkMaskLength is ID_NC_MASK_LENGTH, as assigned in Create.

NetworkMaskLength is automatically recalculated in the OnNetMaskChange event handler following a change in the value of NetworkMask.


TIdNetworkCalculator.OnChange

TIdNetworkCalculator

Specifies the event handler for changes to network address properties.

property OnChange: TNotifyEvent;

Description

OnChange is a TNotifyEvent property that specifies the event handler for changes to network address properties. OnChange is triggered from both the OnNetAddressChange and OnNetMaskChange event handlers following a change to the values of either property.

Use OnChange to notify the application of changes in the TIdNetworkCalculator network address properties. Assign an OnChange event handler to respond to the event notification.


TIdNetworkCalculator.OnGenIPList

TIdNetworkCalculator

Specifies the event handler for updates to ListIP.

property OnGenIPList: TNotifyEvent;

Description

OnGenIPList is a TNotifyEvent property that specifies the event handler for changes to IP address in ListIP.

Todo

OnGenIPList is triggered when...

Use OnGenIPList to notify the application that IP addresses in ListIP have been regenerated after a change to network address settings. Assign an OnGenIPList event handler to respond to the event notification.


TIdNetworkCalculator.Create

TIdNetworkCalculator

Creates and initializes the class instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the class instance, and is responsible for properly initializing properties and private variables.

Create relies on the inherited Create constructor, and also performs the following:

Creates the NetworkAddress instance.

Creates the NetworkMask instance.

Assigns the OnNetAddressChange event handler to the OnChange event of NetworkAddress.

Assigns the OnNetMaskChange event handler to the OnChange event of NetworkMask.

Creates the ListIP instance.

Assigns the default value of NetworkMaskLength (ID_NC_MASK_LENGTH).


TIdNetworkCalculator.Destroy

TIdNetworkCalculator

Frees the class instance.

destructor Destroy; override;

Description

Destroy is the destructor for the class instance.

Destroy will free the NetworkAdress and NetworkMask TIPProperty instances, as well as clear and free the ListIP instance. Destroy calls the inherited Destroy method.


TIdNetworkCalculator.EndIP

TIdNetworkCalculator	Example 1

Determines the last available IP address for the network.

function EndIP: String;

Returns

String - IP address in "dotted-decimal" format, like 129.71.2.4.

Description

EndIP is a String function used to determine the last available IP address for the network. EndIP uses the values in NetworkAddress and NetworkMask to perform calculations for available network addresses. The binary length of NetworkMask is used to determine the maximum number of IP addresses on the network in NumIP.


TIdNetworkCalculator.EndIP, Example 1
Example 1

TIdNetworkCalculator.EndIP

  AIPAddr := ANetCalc.EndIP;


TIdNetworkCalculator.FillIPList

TIdNetworkCalculator

Generates a list of valid IP address for the network.

procedure FillIPList;

Description

FillIPList is a procedure used to generate a list of valid IP addresses for the network. The list of valid addresses is stored in ListIP. IP addresses are create in "dotted-decimal" form, like 129.71.2.4.

FillIPList is used when reading values from the ListIP property. FillIPList populates the address list when it does not contain any entries, or in the OnNetAddressChange and OnNetMaskChange event handlers.

FillIPList uses the values in NetworkAddress and NetworkMask to perform calculations for available network addresses. The binary length of NetworkMask is used to determine the maximum number of IP addresses on the network in NumIP.

Note: FillIPList will not create a list of IP addresses in the IDE, or when the component state is csDesigning, if the length of the list from NumIP will exceed 1024 entries. This is done to prevent a long loop where the IDE would appear to be locked.


TIdNetworkCalculator.IsAddressInNetwork

TIdNetworkCalculator	Example 1

Indicates if an IP address is valid for the network settings.

function IsAddressInNetwork(Address: String): Boolean;

Parameters

Address: String

IP address to be checked in "dotted-decimal" form, like 129.71.2.4.

Returns

Boolean - True when valid.

Description

IsAddressInNetwork is a Boolean function used to determine if a specific IP address is valid, based on the current network settings. NetworkAddress and NetworkMask are used to determine the current network visibility.


TIdNetworkCalculator.IsAddressInNetwork, Example 1
Example 1

TIdNetworkCalculator.IsAddressInNetwork

  bSeen := ANetCalc.IsAddressInNetwork('129.71.2.212');


TIdNetworkCalculator.NumIP

TIdNetworkCalculator

Identifies the number of IP addresses available on the network.

function NumIP: integer;

Returns

Integer - Number of IP addresses available.

Description

NumIP is an Integer function that identifies the number of IP addresses available on the network, based on the current NetworkMask. NumIP uses NetworkMaskLength to calculate the number of IP addresses available.

NumIP is used by FillIPList to determine the number of list entries, and by EndIP to determine the last available IP address on the network.


TIdNetworkCalculator.StartIP

TIdNetworkCalculator	Example 1

Determines the first available IP address for the network.

function StartIP: String;

Returns

String - IP address in "dotted-decimal" format, like 129.71.2.4.

Description

StartIP is a String function used to determine the first available IP address for the network. StartIP uses the values in NetworkAddress and NetworkMask to perform calculations for available network addresses.


TIdNetworkCalculator.StartIP, Example 1
Example 1

TIdNetworkCalculator.StartIP

  AIPAddr := ANetCalc.StartIP;


TIdNNTP

Hierarchy	Members	Properties	Methods	Events	See Also	Unit: IdNNTP

Implements an NNTP client.

TIdNNTP = class(TIdMessageClient)

Description

TIdNNTP implements a client or newsreader based on the Network News Transfer Protocol (NNTP) as described in the Internet Standards documents:

Network News Transfer Protocol, RFC 977, by Brian Kantor and Phil Lapsley, February 1986 .

Common NNTP Extensions, RFC 2980, by S. Barber, October 2000 .

NNTP is used for distributing messages publicly to central locations on a network.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPConnection

|

TIdTCPClient

|

TIdMessageClient

|

TIdNNTP


TIdNNTP Fields

TIdNNTP


TIdNNTP Properties

TIdNNTP	Legend

TIdNNTP

 GreetingResult

 Mode

 ModeResult

 MsgCount

 MsgHigh

 MsgID

 MsgLow

 MsgNo

 NewsAgent

 OnNewGroupsList

 Password

 Port

 SetMode

 UserId

TIdMessageClient

 MsgLineFold

 MsgLineLength

TIdTCPClient

 BoundIP

 Host

 OnConnected

 Port

 SocksInfo

 UseNagle

TIdTCPConnection

 ASCIIFilter

 Binding

 ClosedGracefully

 CmdResult

 CmdResultDetails

 Intercept

 InterceptEnabled

 OnDisconnected

 OnWork

 OnWorkBegin

 OnWorkEnd

 ReadLnTimedOut

 RecvBufferSize

 ResultNo

 SendBufferSize

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdNNTP Events

TIdNNTP	Legend

TIdNNTP

 OnNewNewsList

 OnNewsgroupList

 OnSendCheck

 OnSendIHAVE

 OnSendTakeThis

TIdComponent

 OnStatus


Legend

 published


TIdNNTP Methods

TIdNNTP	Legend

TIdNNTP

 Connect

 Create

 Disconnect

 GetArticle

 GetBody

 GetHeader

 procedure GetNewGroupsList(const ADate: TDateTime; const AGMT: boolean; const ADistributions: string); overload;

 procedure GetNewGroupsList(const ADate: TDateTime; const AGMT: boolean; const ADistributions: string; AList: TStrings); overload;

 procedure GetNewNewsList(const ANewsgroups: string; const ADate: TDateTime; const AGMT: boolean; ADistributions: string); overload;

 procedure GetNewNewsList(const ANewsgroups: string; const ADate: TDateTime; const AGMT: boolean; ADistributions: string; AList: TStrings); overload;

 procedure GetNewsgroupList; overload;

 procedure GetNewsgroupList(AList: TStrings); overload;

 GetOverviewFMT

 Next

 Previous

 SelectArticle

 SelectGroup

 Send

 SendCheck

 SendCmd

 SendIHAVE

 SendTakeThis

 SendXHDR

 SendXOVER

TIdMessageClient

 Create

TIdTCPClient

 Connect

 ConnectAndGetAll

 Create

 Destroy

TIdTCPConnection

 AllData

 CancelWriteBuffer

 Capture

 CheckForDisconnect

 CheckForGracefulDisconnect

 CheckResponse

 ClearWriteBuffer

 CloseWriteBuffer

 Connected

 Create

 CurrentReadBuffer

 CurrentReadBufferSize

 Destroy

 Disconnect

 DisconnectSocket

 ExtractXBytesFromBuffer

 FlushWriteBuffer

 GetResponse

 InputLn

 OpenWriteBuffer

 procedure RaiseExceptionForCmdResult; virtual; overload;

 procedure RaiseExceptionForCmdResult(axException: TClassIdException); virtual; overload;

 ReadBuffer

 ReadCardinal

 ReadFromStack

 ReadInteger

 ReadLn

 ReadLnWait

 ReadSmallInt

 ReadStream

 ReadString

 RemoveXBytesFromBuffer

 function SendCmd(const AOut: string; const AResponse: SmallInt): SmallInt; overload;

 function SendCmd(const AOut: string; const AResponse: Array of SmallInt): SmallInt; virtual; overload;

 WaitFor

 Write

 WriteBuffer

 WriteCardinal

 WriteFile

 WriteHeader

 WriteInteger

 WriteLn

 WriteSmallInt

 WriteStream

 WriteStrings

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdNNTP Members

TIdNNTP	Legend

Properties

 GreetingResult

 Mode

 ModeResult

 MsgCount

 MsgHigh

 MsgID

 MsgLow

 MsgNo

 NewsAgent

 OnNewGroupsList

 Password

 Port

 SetMode

 UserId

Events

 OnNewNewsList

 OnNewsgroupList

 OnSendCheck

 OnSendIHAVE

 OnSendTakeThis

Methods

 Connect

 Create

 Disconnect

 GetArticle

 GetBody

 GetHeader

 procedure GetNewGroupsList(const ADate: TDateTime; const AGMT: boolean; const ADistributions: string); overload;

 procedure GetNewGroupsList(const ADate: TDateTime; const AGMT: boolean; const ADistributions: string; AList: TStrings); overload;

 procedure GetNewNewsList(const ANewsgroups: string; const ADate: TDateTime; const AGMT: boolean; ADistributions: string); overload;

 procedure GetNewNewsList(const ANewsgroups: string; const ADate: TDateTime; const AGMT: boolean; ADistributions: string; AList: TStrings); overload;

 procedure GetNewsgroupList; overload;

 procedure GetNewsgroupList(AList: TStrings); overload;

 GetOverviewFMT

 Next

 Previous

 SelectArticle

 SelectGroup

 Send

 SendCheck

 SendCmd

 SendIHAVE

 SendTakeThis

 SendXHDR

 SendXOVER


Legend

 virtual

 published


TIdNNTP.GreetingResult

TIdNNTP

Greeting code from the news server.

property GreetingResult: TConnectionResult;

Description

GreetingResult is returned when you connect to the NNTP server. GreetingResult is a greeting code value, and indicates the following:

crCanPost - you are permitted to post

crNoPost - you only have read-only access. No posting is permitted

crAuthRequired - authentication is required

crTempUnavailable - the news service is temporarily unavailable

crRefused - the connection was refused


TIdNNTP.Mode

TIdNNTP	See Also

NNTP mode for the connection.

property Mode: TModeType;

Description

Mode indicates the desired NNTP connection mode. mtReader is the default value for TIdNNTP.Mode.

Mode is used in the Connect method to determine both the NNTP mode and to establish valid response codes for the ModeResult property.


See Also

TModeType

TIdNNTP.ModeResult


TIdNNTP.ModeResult

TIdNNTP	See Also

Result from the NNTP MODE command.

property ModeResult: TModeSetResult;

Description

ModeResult is the enumeration that respresents the result of an NNTP mode command.

ModeResult is updated in the Connect method to show if the connection request, for the given Mode, was successful.


See Also

TModeSetResult


TIdNNTP.MsgCount

TIdNNTP

Estimated number of articles in the newsgroup.

property MsgCount: Cardinal;

Description

MsgCount is an Integer property that contains the estimated number of articles in the newsgroup selected with SelectGroup.


TIdNNTP.MsgHigh

TIdNNTP

Indicates the highest available article in a newsgroup.

property MsgHigh: Cardinal;

Description

MsgHigh is an Integer property that indicates the highest available article index in the newsgroup you selected with SelectGroup.


TIdNNTP.MsgID

TIdNNTP	See Also

Uniquely Identifies a news article.

property MsgID: string;

Description

MsgID is the message identification string, or current article pointer, for an NNTP article.

MsgID is unique for any given NNTP article and can be used by a news reader to skip duplicate articles that have been posted more than once, or to more than one newsgroup.

NNTP messages are normally selected using the SetArticle method.


See Also

TIdNNTP.SelectArticle


TIdNNTP.MsgLow

TIdNNTP

Indicates the lowest available article number in a newsgroup.

property MsgLow: Cardinal;

Description

MsgLow is an Integer property that indicates the lowest available article index in the newsgroup you selected with SelectGroup.


TIdNNTP.MsgNo

TIdNNTP	See Also

Identifies the current article number.

property MsgNo: Cardinal;

Description

MsgNo is the numeric article number, or current article pointer, for a message in the current newsgroup. MsgNo must be in the range of articles provided when a newsgroup is selected. If MsgNo is omitted, the current article for the newsgroup is assumed.

Note: MsgNo is a relative message number within a newsgroup, and cannot be used to uniquely identify a message that may has been posted to more than one newsgroup. MsgID is the message identification string for an article. MsgID is unique for any given NNTP article and can be used by a news reader to skip duplicate articles that have been posted more than once, or to more than one newsgroup.


See Also

TIdNNTP.MsgID


TIdNNTP.NewsAgent

TIdNNTP

Identifies the newsreader that posts an article.

property NewsAgent: string;

Description

NewsAgent is a String property that specifies the program name creating the news article, and is placed in the "X-Newsreader" header.


TIdNNTP.OnNewGroupsList

TIdNNTP

Indicates receipt of a list of new newsgroup names.

property OnNewGroupsList: TEventNewsGroupList;

Description

OnNewGroupsList is the event handler triggered when a newsgroup is retrieved using the GetNewNewsList method without the AList parameter.

Setting ACanContinue to False stops the newsgroup retrieval.

AType usually is one of these values:

y - Posting permitted

n - Read-Only (no posting permitted)

m - Moderated

Note: If ALow is greater than AHigh, no articles are available in this newsgroup.


TIdNNTP.Password

TIdNNTP

Indicates the password for connecting to the new server.

property Password: string;

Description

Password is a String property that identifies the user's Password for logging into the news server. Some servers require this and others do not require it.


TIdNNTP.Port

TIdNNTP

Port number used for the connection.

property Port;

Description

Port is an Integer property that identifies the server port number server used for the client connection. By convention, some internet protocols reserve port number including:

21 - FTP

25 - SMTP

80 - HTTP

119 - NNTP

A client application may define it's own port to connect to a server running the same port.


TIdNNTP.SetMode

TIdNNTP

property SetMode: Boolean;

Description

The text for this property has been generated automatically. This means that it is not documented.


TIdNNTP.UserId

TIdNNTP

Identifies the user ID for the server connection.

property UserId: string;

Description

UserId is a String property that is the user's ID for logging into the news server. Some servers require this and others do not require it.


TIdNNTP.Connect

TIdNNTP	See Also

Opens a connection to the news server.

procedure Connect; override;

Description

Connect attempts to open a connection to an NNTP server using the Host and Port properties. Connect will update the GreetingResult property to show the state of the connection request. Applications should use GreetingResult to determine if further action is warranted.

An EIdNNTPConnectionRefused exception can be raised, under some conditions, when a connection request is explicitly refused by the NNTP server.

Note: If an Exception is encountered, Connect will call the Disconnect method and re-raise the Exception.

Connect will also establish the NNTP mode as indicated by TIdNNTP.Mode for mode types mtStream and mtReader.


See Also

EIdNNTPConnectionRefused

RSNNTPConnectionRefused

TIdNNTP.GreetingResult

TIdNNTP.Mode

TModeType


TIdNNTP.Create

TIdNNTP	See Also

Constructor for the class instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of this object instance.

Description

Create is the constructor for the TIdNNTP class instance, and initializes the following properties to their default values:

Mode - mtReader

Port - IdPORT_NNTP (Decimal 119)

SetMode - True

IdPORT_NNTP (Decimal 119) is the default port number used for NNTP Clients and Servers.


See Also

TIdNNTP.SetMode

TIdNNTP.Mode

TIdNNTP.ModeResult


TIdNNTP.Disconnect

TIdNNTP	See Also

Informs a server that the client wishes to close the connection.

procedure Disconnect; override;

Description

Disconnect is a procedure used to inform a NNTP server that the client will be closing the connection. Disconnect transmits the NNTP QUIT command, and calls the inherited Disconnect method.


See Also

Connect


TIdNNTP.GetArticle

TIdNNTP

Retrieves an NNTP article.

function GetArticle(const AMsgNo: Cardinal; const AMsgID: string; AMsg: TIdMessage): Boolean;

Parameters

const AMsgNo: Cardinal

Article index number or 0 if you use a Message ID.

const AMsgID: string

Message Id for the article you wish to retrieve.

AMsg: TIdMessage

TIdMessage where the complete article should be stored.

Description

GetArticle is a procedure that retrieves the complete article including the headers and body.

You have to use SelectGroup to select the newsgroup before using this method.


TIdNNTP.GetBody

TIdNNTP

Retrieves the body of an NNTP article.

function GetBody(const AMsgNo: Cardinal; const AMsgID: string; AMsg: TIdMessage): Boolean;

Parameters

const AMsgNo: Cardinal

Article index number or 0 if you use a Message ID.

const AMsgID: string

Message Id for the article you wish to retrieve.

AMsg: TIdMessage

TIdMessage where the complete article should be stored.

Description

GetBody is a procedure that retrieves the message body for a news article.

You have to use SelectGroup to select the newsgroup before using this method.


TIdNNTP.GetHeader

TIdNNTP

Retrieves the headers for an NNTP article.

function GetHeader(const AMsgNo: Cardinal; const AMsgID: string; AMsg: TIdMessage): Boolean;

Parameters

const AMsgNo: Cardinal

Article index number or 0 if you use a Message ID.

const AMsgID: string

Message Id for the article you wish to retrieve.

AMsg: TIdMessage

TIdMessage where the complete article should be stored.

Description

GetHeader is a procedure that retrieves the complete headers for a news article.

If you are retrieving headers for listing in a news-reader or where you only need information displayed by a news-reader, use the SendXOVER method as it is more efficient than this method.

You have to use SelectGroup to select the newsgroup before using this method.


TIdNNTP.GetNewGroupsList

TIdNNTP

Retrieves new newsgroups from an NNTP server.

procedure GetNewGroupsList(const ADate: TDateTime; const AGMT: boolean; const ADistributions: string); overload;
procedure GetNewGroupsList(const ADate: TDateTime; const AGMT: boolean; const ADistributions: string; AList: TStrings); overload;

Description

GetNewGroupsList is a procedure that requests a list of newsgroups from a news-server which were added after a specific date and time (ADate), and is usually used to update a list newsgroup list in a newsreader.

Set AGMT to True to indicate that the time is based on Greenwich Mean Time or Universal Time (0 meridian) or false for the local time-zone.

ADistributions is an optional list of distributions such as "nj", "dc".

There are two ways to get newsgroups with this procedure. First, call GetNewGroups with no parameters and use the OnNewGroupsList event. Secondly, call the GetNewGroups with the AList parameter.

AList will then contain the newsgroup data which you can parse with the ParseNewsGroup procedure in the IdNNTP.pas unit.


TIdNNTP.GetNewGroupsList

TIdNNTP

Retrieves new newsgroups from an NNTP server.

procedure GetNewGroupsList(const ADate: TDateTime; const AGMT: boolean; const ADistributions: string); overload;
procedure GetNewGroupsList(const ADate: TDateTime; const AGMT: boolean; const ADistributions: string; AList: TStrings); overload;

Description

GetNewGroupsList is a procedure that requests a list of newsgroups from a news-server which were added after a specific date and time (ADate), and is usually used to update a list newsgroup list in a newsreader.

Set AGMT to True to indicate that the time is based on Greenwich Mean Time or Universal Time (0 meridian) or false for the local time-zone.

ADistributions is an optional list of distributions such as "nj", "dc".

There are two ways to get newsgroups with this procedure. First, call GetNewGroups with no parameters and use the OnNewGroupsList event. Secondly, call the GetNewGroups with the AList parameter.

AList will then contain the newsgroup data which you can parse with the ParseNewsGroup procedure in the IdNNTP.pas unit.


TIdNNTP.GetNewNewsList

TIdNNTP

Retrieves a list of new article message IDs.

procedure GetNewNewsList(const ANewsgroups: string; const ADate: TDateTime; const AGMT: boolean; ADistributions: string); overload;
procedure GetNewNewsList(const ANewsgroups: string; const ADate: TDateTime; const AGMT: boolean; ADistributions: string; AList: TStrings); overload;

Description

GetNewNewsList is a method that retrieves a list of article message-ID's for messages since a date and time (ADate).

Set AGMT to True to indicate that the time is based on Greenwich Mean Time or Universal Time (0 meridian) or false for the local time-zone.

ANewsgroups is a list of newsgroups. ADistributions is an optional list of distributions such as "nj", "dc".

There are two ways to retrieve the list of newsgroups. First, call GetNewNewsList without the AList parameter and use the OnNewNewsList. As an alternative, call the GetNewNewsList with the AList parameter and AList will contain the results.


TIdNNTP.GetNewNewsList

TIdNNTP

Retrieves a list of new article message IDs.

procedure GetNewNewsList(const ANewsgroups: string; const ADate: TDateTime; const AGMT: boolean; ADistributions: string); overload;
procedure GetNewNewsList(const ANewsgroups: string; const ADate: TDateTime; const AGMT: boolean; ADistributions: string; AList: TStrings); overload;

Description

GetNewNewsList is a method that retrieves a list of article message-ID's for messages since a date and time (ADate).

Set AGMT to True to indicate that the time is based on Greenwich Mean Time or Universal Time (0 meridian) or false for the local time-zone.

ANewsgroups is a list of newsgroups. ADistributions is an optional list of distributions such as "nj", "dc".

There are two ways to retrieve the list of newsgroups. First, call GetNewNewsList without the AList parameter and use the OnNewNewsList. As an alternative, call the GetNewNewsList with the AList parameter and AList will contain the results.


TIdNNTP.GetNewsgroupList

TIdNNTP

Requests a list of newsgroups on a server.

procedure GetNewsgroupList; overload;

Description

GetNewsgroupList is a procedure that requests a list of newsgroups from a news-server. There are two ways to get newsgroups with this procedure. Call GetNewGroups with no parameters and use the OnNewsgroupList event, or call the GetNewGroups with the AList parameter. AList will then contain the newsgroup data which you can parse with the ParseNewsGroup procedure in the IdNNTP.pas unit.


TIdNNTP.GetNewsgroupList

TIdNNTP

Requests a list of newsgroups on a server.

procedure GetNewsgroupList(AList: TStrings); overload;

Description

GetNewsgroupList is a procedure that requests a list of newsgroups from a news-server. There are two ways to get newsgroups with this procedure. Call GetNewGroups with no parameters and use the OnNewsgroupList event, or call the GetNewGroups with the AList parameter. AList will then contain the newsgroup data which you can parse with the ParseNewsGroup procedure in the IdNNTP.pas unit.


TIdNNTP.GetOverviewFMT

TIdNNTP

Retrieves the overview format from the server.

procedure GetOverviewFMT(var AResponse: TStringList);

Parameters

var AResponse: TStringList

Overview database format.

Description

GetOverviewFMT is a method that retrieves a description of the overview database format used by the server. You often use this information to process additional information retrieved from the SendXOVER method.

AResponse will contain a list containing the fields in the order they are received.

Note: Some servers may not support the overview command.


TIdNNTP.Next

TIdNNTP

Selects the next article in a newsgroup.

function Next: Boolean;

Description

Next is a method that moves an article pointer to the Next article in a newsgroup.

You have to use SelectGroup to select the newsgroup before using this method.


TIdNNTP.Previous

TIdNNTP

Moves to the previous article in a newsgroup.

function Previous: Boolean;

Description

Previous is a method that moves the article pointer to the previous article in a newsgroup.

You have to use SelectGroup to select the newsgroup before using this method.


TIdNNTP.SelectArticle

TIdNNTP

Sets the article pointer in the newsgroup.

function SelectArticle(const AMsgNo: Cardinal): Boolean;

Description

SelectArticle is a method that sets the article pointer to the article Index of AMsgNo.

You have to use SelectGroup to select the newsgroup before using this method.


TIdNNTP.SelectGroup

TIdNNTP

Selects the active newsgroup.

procedure SelectGroup(const AGroup: string);

Parameters

const AGroup: string

Group to make the active newsgroup.

Description

SelectGroup is a method that selects the newsgroup specified in AGroup before retrieving articles or article information.


TIdNNTP.Send

TIdNNTP

Posts a message to the news server.

procedure Send(AMsg: TidMessage);

Parameters

AMsg: TidMessage

Message to send.

Description

Send is a procedure that posts the TIdMessage in AMsg to the specified newsgroups.


TIdNNTP.SendCheck

TIdNNTP	See Also

Performs processing prior to news article transmission.

procedure SendCheck(AMsgID: TStringList; var AResponses: TStringList);

Parameters

AMsgID: TStringList

List of message IDs to verify.

var AResponses: TStringList

List of responses from the server.

Description

SendCheck performs the NNTP check command which verifies that an NNTP server will/can accept the message ids contained in AMsgIDs.

AMsgIDs should contain one message id per line for each message to be checked.

AResponses will contain the responses received for the message ids in AMsgIDs. Use AResponses to determine which messages should be sent to the server. An EIdException is raised if an error occurs while adding SendCheck responses to AResponses.

Use the OnSendCheck event to perform custom verification or additional processing. Note: It is not required to use SendCheck prior to sending a message using SendTakeThis.


See Also

RSNNTPStringListNotInitialized

IdException.pas

TIdNNTP.SendTakeThis

TIdNNTP.OnSendCheck


TIdNNTP.SendCmd

TIdNNTP

Performs NNTP commands.

function SendCmd(const AOut: string; const AResponse: Array of SmallInt): SmallInt; override;

Parameters

const AOut: string

NNTP command to be executed.

const AResponse: Array of SmallInt

Array of anticipated numeric response codes. An empty array ([]) indicates that no response code is expected.

Returns

SmallInt - Response code returned from either the NNTP send command.

Description

SendCmd is based on the functionality in the inherited method TIdTCPConnection.SendCmd and is overridden in TIdNNTP to provide additional capabilities.

SendCmd will perform User and Password authentication when the response code returned by TIdTCPConnection.SendCmd is either 450 or 480. Refer to Common NNTP Extensions  for more information on NNTP response codes.

SendCmd performs default error handling by calling CheckResponse. An EIDResponseError exception will be raised when a valid response is expected and the result, from either the inherited SendCmd or from the authentication of User and Password information, does not match the expected response code(s).


TIdNNTP.SendIHAVE

TIdNNTP

Sends message using the IHAVE command.

procedure SendIHAVE(AMsg: TStringList);

Parameters

AMsg: TStringList

Messages to send.

Description

SendIHAVE is a method that will send messages in the AMsg TStringList using the IHave Command. This is used only when two servers are exchanging articles, and is not for use by Newsreaders. Using IHAVE commands often sets internal news server flags which indicate that the article is from another news server. The article messages must be completely valid.


TIdNNTP.SendTakeThis

TIdNNTP	See Also

Performs non-negotiated article transmissions.

function SendTakeThis(AMsg: TStringList): String;

Parameters

AMsg: TStringList

ASCII contents of the message(s) to send.

Returns

String - Textual response from the NNTP server.

Description

SendTakeThis is used to support streaming NNTP or non-negotiated NNTP article transmissions. SendTakeThis is similar to SendIHave, except that no response is sent from the server after each article. Responses can be examined to determine how many articles were accepted by the NNTP host.

AMsg should contain the ASCII text that represents the contents of the NNTP message, including NNTP headers. Use the OnSendTakeThis event to perform custom verification or processing of the NNTP message prior to transmission.


See Also

TIdNNTP.OnSendTakeThis


TIdNNTP.SendXHDR

TIdNNTP	Example 1

NNTP extension to retrieve article headers using selection criteria.

procedure SendXHDR(const AHeader: string; const AParam: String; var AResponse: TStringList);

Parameters

const AHeader: string

Header to be searched.

const AParam: String

Range of articles to search.

var AResponse: TStringList

Server response.

Description

SendXHDR is a method that retrieves a single article header specified by AHeader from an article index or a range of articles.

AHeader can be any of the following values:

From

Date

Newsgroups

Subject

Message-ID

Path

SendXHDR is an extension to the NNTP protocol. The above headers are guaranteed to work as long as the server is RFC 1036-compliant.

The following headers may or may not work depending on the server configuration. Also, it should be noted that servers can and many do have local header definitions. If you know what these header designations are you can of course pass them in the AHeader argument.

Reply-To

Sender

Followup-To

Expires

References

Control

Distribution

Organization

Keywords

Summary

Approved

Lines

Xref

The range of articles to be searched is specifies by the AParm argument. AParm must be in the following forms:

an article number

an article number followed by a dash to indicate all following

an article number followed by a dash followed by another article number

For example, if the following values of AParm would result in the corresponding action:

23 would retrieve article number 23.

1-23 would retrieve all available articles number in the range 1 through 23.

23- would retrieve all articles numbered 23 and higher.

Note: Article numbers are transitory. This means that you may specify a range of article numbers, such as 1-5, and you may receive only articles 1,3 and 4. This does not mean you have done anything wrong. The missing articles may have been expired (removed from the server), or for some other reason not under your control have become unavailable.

The response(s) from the server are stored in AResponse. Note: You must have previously executed the SelectGroup command in order for this command to return a meaningful response.


TIdNNTP.SendXHDR, Example 1
Example 1

TIdNNTP.SendXHDR

  procedure TForm1.TestSendXHDR;

  var

    Client   : TIdNNTP;     // our NNTP client

    Response : TStringList; // Store our results here

  begin

    Response := TStringList.Create;

    Client := TIdNNTP.Create(NIL);

    with Client do

    begin

      Host := 'foo.newsfoo.com'; // This is not a real server change this line

      Port := 119; // This is the default

      try

        Connect; // connect to the server

        if connected then

        begin

          if SelectGroup('some.group.name') then  // This is not a real group

            // essentially gets all articles in the group

            SendXHDR('From','1-',Response);

            SendCmd('quit');

        end;

      finally

        if Connected then

          Disconnect;

        Client.Free;

        // Do something with response

        Response.Clear;

        Response.Free.

      end;

    end;

  end;


TIdNNTP.SendXOVER

TIdNNTP

Retrieve information from an article overview database.

procedure SendXOVER(const AParm: String; var AResponse: TStringList);

Parameters

const AParm: String

Article(s) to send.

var AResponse: TStringList

Textual responses for each article.

Description

SendXOVER is a procedure that retrieves information from an article overview database maintained on most news-servers and places the results in AResponse.

AParm can be an article index such as "1", an article index followed by a dash to indicate the index and all articles following it such as "1-", or a range of articles such as "1-10".

You can parse the results using the ParseXOVER procedure in the IdNNTP unit. You sometimes can parse for additional information by getting the format of the overview database with the GetOverviewFMT method.

You have to use SelectGroup to select the newsgroup before using this method.


TIdNNTP.OnNewNewsList

TIdNNTP

Indicates receipt of new article from a newsgroup.

property OnNewNewsList: TEventNewNewsList;

Description

OnNewNewsList is an event triggered when a Message-Id has been received with the GetNewNews method without the AList parameter.

Setting ACanContinue to false will stop the request.


TIdNNTP.OnNewsgroupList

TIdNNTP

Indicates receipt of a newsgroup list.

property OnNewsgroupList: TEventNewsgroupList;

Description

OnNewsgroupList is an event triggered when a newsgroup is retrieved using the GetNewsgroupList method without the AList parameter.

AType usually is one of these values:

y - Posting permitted

n - Read-Only (no posting permitted)

m - Moderated

Setting ACanContinue to False stops the newsgroup retrieval.

Note: If ALow is greater than AHigh, no articles are available in this newsgroup.


TIdNNTP.OnSendCheck

TIdNNTP	See Also

Performs response checking during article transmission.

property OnSendCheck: TNewsTransportEvent;

Description

OnSendCheck is the event handler, of type TNewsTransportEvent, triggered from the TIdNNTP.SendCheck method. SendCheck is used to accumulate the responses received when validating multiple message ids. OnSendCheck can be used to override the default behavior of the SendCheck method.

AMsg contains a list message ids, one message id per line, to be checked on the NNTP host.

Note: If a procedure is assigned as the OnSendCheck event handler, it is responsible for all aspects of the SendCheck transaction including accumulation of responses for multiple message IDs.


See Also

TIdNNTP.SendCheck


TIdNNTP.OnSendIHAVE

TIdNNTP	See Also

Performs article negotiation for server-to-server transport.

property OnSendIHAVE: TNewsTransportEvent;

Description

OnSendIHave is the event handler, of type TNewsTransportEvent, triggered from the TIdNNTP.SendIHAVE method.

OnSendIHAVE can be used by NNTP servers that support negotiated transport of NNTP articles. TIdNNTP.SendIHAVE and TIdNNTP.OnSendIHAVE are not used by normal NNTP clients or readers since they are generally denied permission to execute the NNTP IHAVE command.

AMsg contains the ASCII representation of an NNTP message, with headers, to be exchanged with another NNTP host. If an NNTP host indicates that it wants the NNTP message, AMsg should be sent to the host in it's entirety.

Note: If a procedure is assigned as the OnSendIHAVE event handler, it is responsible for all aspects of the SendIHAVE transaction.


See Also

TIdNNTP.SendIHAVE


TIdNNTP.OnSendTakeThis

TIdNNTP	See Also

Forwards previously posted news articles.

property OnSendTakeThis: TNewsTransportEvent;

Description

OnSendTake is the event handler, of type TNewsTransportEvent, triggered from the SendTakeThis method.

OnSendTakeThis is used to forward previously posted articles to servers that support streaming of NNTP articles. SendTakeThis works like SendIHAVE, except that it is not necessary to wait for a response from the server after sending each article.

AMsg contains the ASCII representation of an NNTP message, with headers, to be exchanged with another NNTP host. If an NNTP host indicates that it wants the NNTP message, AMsg should be sent to the host in it's entirety.

Note: If a procedure is assigned as the OnSendTakeThis event handler, it is responsible for all aspects of the SendTakeThis transaction including accumulation of responses for multiple message IDs.


See Also

TIdNNTP.SendTakeThis

TIdNNTP.SendIHAVE


TIdNNTPServer

Hierarchy	Members	Properties	Methods	Events	See Also	Unit: IdNNTPServer

TIdNNTPServer = class(TIdTCPServer)

Description

TIdNNTPServer provides the developer with a framework for implementing a server based on the Network News Transfer Protocol (NNTP) as described in the Internet Standards documents:

Network News Transfer Protocol, RFC 977, by Brian Kantor and Phil Lapsley, February 1986.

Common NNTP Extensions, RFC 2980, by S. Barber, October 2000.

NNTP is used for distributing messages publicly to central locations on a network.

TIdNNTPServer provides OnCommandXXX event handlers to respond to the following NNTP commands and extensions as described in RFCs 977 and 2980:

ARTICLE

BODY

HEAD

STAT

GROUP

LIST

HELP

IHAVE

LAST

NEWGROUPS

NEWNEWS

NEXT

POST

QUIT

SLAVE

AUTHINFO

XOVER

XHDR

DATE

LISTGROUP

MODE

TAKETHIS

CHECK

XTHREAD

XGTITLE

XPAT

TIdNNTPServer does NOT provide an implementation of the event handler methods. This allows the developer to determine the storage mechanism used for NNTP groups, articles, and overview databases.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPServer

|

TIdNNTPServer


TIdNNTPServer Fields

TIdNNTPServer


TIdNNTPServer Properties

TIdNNTPServer	Legend

TIdNNTPServer

 DefaultPort

TIdTCPServer

 AcceptWait

 Active

 Bindings

 DefaultPort

 ImplicitThreadMgrCreated

 Intercept

 TerminateWaitTime

 ThreadClass

 ThreadMgr

 Threads

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdNNTPServer Events

TIdNNTPServer	Legend

TIdNNTPServer

 OnCommandArticleID

 OnCommandArticleNo

 OnCommandAuthInfo

 OnCommandBodyID

 OnCommandBodyNo

 OnCommandCheck

 OnCommandDate

 OnCommandGroup

 OnCommandHeadID

 OnCommandHeadNo

 OnCommandHelp

 OnCommandIHave

 OnCommandLast

 OnCommandList

 OnCommandListgroup

 OnCommandMode

 OnCommandNewGroups

 OnCommandNewNews

 OnCommandNext

 OnCommandOther

 OnCommandPost

 OnCommandQuit

 OnCommandSlave

 OnCommandStatID

 OnCommandStatNo

 OnCommandTakeThis

 OnCommandXGTitle

 OnCommandXHDR

 OnCommandXOver

 OnCommandXPat

 OnCommandXThread

TIdTCPServer

 OnConnect

 OnDisconnect

 OnExecute

TIdComponent

 OnStatus


Legend

 published


TIdNNTPServer Methods

TIdNNTPServer	Legend

TIdNNTPServer

 Create

TIdTCPServer

 Create

 Destroy

 Loaded

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdNNTPServer Members

TIdNNTPServer	Legend

Properties

 DefaultPort

Events

 OnCommandArticleID

 OnCommandArticleNo

 OnCommandAuthInfo

 OnCommandBodyID

 OnCommandBodyNo

 OnCommandCheck

 OnCommandDate

 OnCommandGroup

 OnCommandHeadID

 OnCommandHeadNo

 OnCommandHelp

 OnCommandIHave

 OnCommandLast

 OnCommandList

 OnCommandListgroup

 OnCommandMode

 OnCommandNewGroups

 OnCommandNewNews

 OnCommandNext

 OnCommandOther

 OnCommandPost

 OnCommandQuit

 OnCommandSlave

 OnCommandStatID

 OnCommandStatNo

 OnCommandTakeThis

 OnCommandXGTitle

 OnCommandXHDR

 OnCommandXOver

 OnCommandXPat

 OnCommandXThread

Methods

 Create


Legend

 virtual

 published


TIdNNTPServer.DefaultPort

TIdNNTPServer

Default port number for the server.

property DefaultPort;

Description

DefaultPort is a published property in TIdNNTPServer that identifies the default port number for the server, as described in the Network News Transfer Protocol specification. The default value for DefaultPort is IdPORT_NNTP.


TIdNNTPServer.Create

TIdNNTPServer	See Also

Creates a new TIdNNTPServer instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the instance.

Description

Create is the constructor for the TIdNNTPServer instance. Create relies on the inherited constructor to initialize the object instance, and sets the value of DefaultPort to IdPORT_NTTP (Decimal 119).


See Also

IdPORT_NNTP

IdGlobal.pas


TIdNNTPServer.OnCommandArticleID

TIdNNTPServer	See Also

Specifies the NNTP ARTICLE <message-id> command event handler.

property OnCommandArticleID: TDoByIDEvent;

Description

OnCommandArticleID identifies the TDoByIDEvent event handler used to respond to the NNTP ARTICLE command, as described in RFC 977.

ARTICLE is used to retrieve the textual content of the news article with the specified message identifier.

Applications should assign a procedure to the event handler in order to respond to the NNTP command, or the server will return the default message:

  500 command not recognized


See Also

TIdNNTPServer.OnCommandArticleNo


TIdNNTPServer.OnCommandArticleNo

TIdNNTPServer	See Also

Specifies the NNTP ARTICLE [nnn] command event handler.

property OnCommandArticleNo: TDoByNoEvent;

Description

OnCommandArticleNo identifies the TDoByNoEvent event handler used to respond to the NNTP ARTICLE command, as described in RFC 977.

ARTICLE is used to retrieve the textual content of the news article with the specified relative message number.

Applications should assign a procedure to the event handler in order to respond to the NNTP command, or the server will return the default message:

  500 command not recognized


See Also

TIdNNTPServer.OnCommandArticleID


TIdNNTPServer.OnCommandAuthInfo

TIdNNTPServer

Specifies the NNTP AUTHINFO command event handler.

property OnCommandAuthInfo: TOtherEvent;

Description

OnCommandAuthInfo identifies the TOtherEvent event handler used to respond to the NNTP AUTHINFO command.

AUTHINFO is a Common NNTP Extension as described in RFC 2980. AUTHINFO is used to inform a server about the identity of a user using one of the three acceptable forms of the command. NNTP Servers are not required to accept authentication information that is volunteered by the client.

Applications should assign a procedure to the event handler in order to respond to the NNTP command, or the server will return the default message:

  500 command not recognized


TIdNNTPServer.OnCommandBodyID

TIdNNTPServer	See Also

Specifies the NNTP BODY <message-id> command event handler.

property OnCommandBodyID: TDoByIDEvent;

Description

OnCommandBodyID identifies the TDoByIDEvent event handler used to respond to the NNTP BODY command, as described in RFC 977.

BODY is used to retrieve the textual content that makes up the body of the news article with the specified message identifier.

Applications should assign a procedure to the event handler in order to respond to the NNTP command, or the server will return the default message:

  500 command not recognized


See Also

TIdNNTPServer.OnCommandBodyNo


TIdNNTPServer.OnCommandBodyNo

TIdNNTPServer	See Also

Specifies the NNTP BODY [nnn] command event handler.

property OnCommandBodyNo: TDoByNoEvent;

Description

OnCommandBodyNo identifies the TDoByNoEvent event handler used to respond to the NNTP BODY command, as described in RFC 977.

BODY is used to retrieve the textual content of the news article with the specified relative message number.

Applications should assign a procedure to the event handler in order to respond to the NNTP command, or the server will return the default message:

  500 command not recognized


See Also

TIdNNTPServer.OnCommandBodyID


TIdNNTPServer.OnCommandCheck

TIdNNTPServer	See Also

Specifies the NNTP CHECK command event handler.

property OnCommandCheck: TDoByIDEvent;

Description

OnCommandCheck identifies the TDoByIDEvent event handler used to respond to the NNTP CHECK command.

CHECK is a Common NNTP Extension as described in RFC 2980. CHECK is used by a peer to discover if the article with the specified message-id should be sent to the server using the TAKETHIS command.

Applications should assign a procedure to the event handler in order to respond to the NNTP command, or the server will return the default message:

  500 command not recognized


See Also

TIdNNTPServer.OnCommandTakeThis


TIdNNTPServer.OnCommandDate

TIdNNTPServer

Specifies the NNTP DATE command event handler.

property OnCommandDate: TGetEvent;

Description

OnCommandDate identifies the TGetEvent event handler used to respond to the NNTP DATE command.

DATE is a Common NNTP Extension as described in RFC 2980. DATE is used to retrieve a one-line response from the server containing the response code followed by the GMT date and time on the server in the form YYYYMMDDhhmmss. The following example is the response for the DATE command on a server where the date and time is January 1, 2000 01:15:01pm GMT.

  111 20000101131501

Applications should assign a procedure to the event handler in order to respond to the NNTP command, or the server will return the default message:

  500 command not recognized


TIdNNTPServer.OnCommandGroup

TIdNNTPServer	See Also

Specifies the NNTP GROUP command event handler.

property OnCommandGroup: TGroupEvent;

Description

OnCommandGroup identifies the TGroupEvent event handler used to respond to the NNTP GROUP command, as described in RFC 977.

GROUP is used to retrieve the article numbers of the first and last articles in the named group, and an estimate of the number of articles on file in the group. It is not necessary that the estimate be correct, but it must be equal to or greater than the actual number of articles on file.

When a valid group is selected by using the GROUP command, the internally maintained "current article pointer" is set to the first article in the group. If an invalid group is specified, the previously selected group and article remain selected. If an empty newsgroup is selected, the "current article pointer" is in an indeterminate state and should not be used.

Applications should assign a procedure to the event handler in order to respond to the NNTP command, or the server will return the default message:

  500 command not recognized


See Also

TIdNNTPServer.OnCommandList

TIdNNTPServer.OnCommandListgroup


TIdNNTPServer.OnCommandHeadID

TIdNNTPServer	See Also

Specifies the NNTP HEAD <message-id> command event handler.

property OnCommandHeadID: TDoByIDEvent;

Description

OnCommandHeadID identifies the TDoByIDEvent event handler used to respond to the NNTP HEAD command, as described in RFC 977.

HEAD is used to retrieve the textual content of the headers for a news article with the specified message identifier.

Applications should assign a procedure to the event handler in order to respond to the NNTP command, or the server will return the default message:

  500 command not recognized


See Also

TIdNNTPServer.OnCommandHeadNo


TIdNNTPServer.OnCommandHeadNo

TIdNNTPServer	See Also

Specifies the NNTP HEAD [nnn] command event handler.

property OnCommandHeadNo: TDoByNoEvent;

Description

OnCommandHeadNo identifies the TDoByNoEvent event handler used to respond to the NNTP HEAD command, as described in RFC 977.

HEAD is used to retrieve the textual content of the headers for the news article with the specified relative message number.

Applications should assign a procedure to the event handler in order to respond to the NNTP command, or the server will return the default message:

  500 command not recognized


See Also

TIdNNTPServer.OnCommandHeadID


TIdNNTPServer.OnCommandHelp

TIdNNTPServer

Specifies the NNTP HELP command event handler.

property OnCommandHelp: TGetEvent;

Description

OnCommandHelp identifies the TGetEvent event handler used to respond to the NNTP HELP command, as described in RFC 977.

HELP is used to retrieve a brief summary of commands that are understood by this implementation of a NNTP server. Help text will be presented as a textual response, terminated by a single period on a line by itself.

Applications should assign a procedure to the event handler in order to respond to the NNTP command, or the server will return the default message:

  500 command not recognized


TIdNNTPServer.OnCommandIHave

TIdNNTPServer	See Also

Specifies the NNTP IHAVE <message-id> command event handler.

property OnCommandIHave: TDoByIDEvent;

Description

OnCommandIHave identifies the TDoByIDEvent event handler used to respond to the NNTP IHAVE command, as described in RFC 977.

IHAVE is used to inform the server that the client has an article with the specified message-id.

If the server desires a copy of that article, it will return a response instructing the client to send the entire article including headers and body. If the server does not want the article (if, for example, the server already has a copy of it), a response indicating that the article is not wanted should be returned.

Because the server may not be able to decide immediately that an article is inappropriate for posting or forwarding, it is acceptable to acknowledge the successful transfer of the article and to later silently discard it.

IHAVE differs from the POST command in that it is intended for use in transferring already-posted articles between hosts.

Applications should assign a procedure to the event handler in order to respond to the NNTP command, or the server will return the default message:

  500 command not recognized


See Also

TIdNNTPServer.OnCommandPost


TIdNNTPServer.OnCommandLast

TIdNNTPServer	See Also

Specifies the NNTP LAST command event handler.

property OnCommandLast: TGetEvent;

Description

OnCommandLast identifies the TGetEvent event handler used to respond to the NNTP LAST command, as described in RFC 977.

LAST is used to position the internally maintained "current article pointer" to the previous article in the current newsgroup. If already positioned at the first article of the newsgroup, an error message is returned and the current article remains selected.

Applications should assign a procedure to the event handler in order to respond to the NNTP command, or the server will return the default message:

  500 command not recognized


See Also

TIdNNTPServer.OnCommandNext


TIdNNTPServer.OnCommandList

TIdNNTPServer	See Also

Specifies the NNTP LIST command event handler.

property OnCommandList: TNewsEvent;

Description

OnCommandList identifies the TNewsEvent event handler used to respond to the NNTP LIST command, as described in RFC 977.

LIST is used to retrieve a list of valid newsgroups and associated information. Each newsgroup is sent as a line of text containing the group name, last message number, first message number, and a flag to indicate if posting to the newsgroup is allowed ('y') or prohibited ('n').

Note: Posting may still be prohibited to a client even though the LIST command indicates that posting is permitted to a particular newsgroup. The posting flag exists for each newsgroup because some newsgroups are moderated or are digests, and therefore cannot allow posting.

Applications should assign a procedure to the event handler in order to respond to the NNTP command, or the server will return the default message:

  500 command not recognized


See Also

TIdNNTPServer.OnCommandListgroup

TIdNNTPServer.OnCommandGroup


TIdNNTPServer.OnCommandListgroup

TIdNNTPServer

Specifies the NNTP LISTGROUP command event handler.

property OnCommandListgroup: TNewsEvent;

Description

OnCommandListgroup identifies the TNewsEvent event handler used to respond to the NNTP LISTGROUP command.

LISTGROUP is a Common NNTP Extension as described in RFC 2980. LISTGROUP is used to retrieve a listing of all article numbers in a newsgroup. If no group is specified, the current group is used as the default argument. A list of valid news groups may be obtained from the LIST command.

Applications should assign a procedure to the event handler in order to respond to the NNTP command, or the server will return the default message:

  500 command not recognized


TIdNNTPServer.OnCommandMode

TIdNNTPServer	See Also

Specifies the NNTP MODE command event handler.

property OnCommandMode: TNewsEvent;

Description

OnCommandMode identifies the TNewsEvent event handler used to respond to the NNTP MODE command.

MODE is a Common NNTP extension as described in RFC 2980. MODE is used to notify the server that the client is either a news reader or a streaming host. When the event handler parameter is 'READER', the client is a news reader and can be contrasted with the NNTP SLAVE command. When the event handler parameter is 'STREAM', the client wishes to avoid the conversational nature of NNTP by sending commands in a stream.

Applications should assign a procedure to the event handler in order to respond to the NNTP command, or the server will return the default message:

  500 command not recognized


See Also

TIdNNTPServer.OnCommandTakeThis

TIdNNTPServer.OnCommandCheck


TIdNNTPServer.OnCommandNewGroups

TIdNNTPServer	See Also

Specifies the NNTP NEWSGROUPS command event handler.

property OnCommandNewGroups: TNewsEvent;

Description

OnCommandNewGroups identifies the TNewsEvent event handler used to respond to the NNTP NEWSGROUPS command, as described in RFC 977.

NEWGROUPS requests a list of newsgroups created since the date and time specified in the event handler parameter. Date is a 6-digit string in the format YYMMDD. Time must also be specified in 6-digit 24-hour format HHMMSS. Time is assumed to be in the server timezone unless the token "GMT" appears in the time string.

The event handler parameter string may also include an optional distribution groups list.

NEWSGROUPS will return a list in the same format as the LIST command.

Applications should assign a procedure to the event handler in order to respond to the NNTP command, or the server will return the default message:

  500 command not recognized


See Also

TIdNNTPServer.OnCommandGroup

TIdNNTPServer.OnCommandList


TIdNNTPServer.OnCommandNewNews

TIdNNTPServer	See Also

Specifies the NNTP NEWNEWS command event handler.

property OnCommandNewNews: TNewsEvent;

Description

OnCommandNewNews identifies the TNewsEvent event handler used to respond to the NNTP NEWNEWS command, as described in RFC 977.

NEWNEWS provides a list of message-ids for articles posted to or received in the specified newsgroup since the specified date and time. Date is a 6-digit string in the format YYMMDD. Time must also be specified in 6-digit 24-hour format HHMMSS. Time is assumed to be in the server timezone unless the token "GMT" appears in the time string.

The optional parameter "distributions" is a list of distribution groups.

The format of the NEWNEWS listing will be one message-id per line, and terminated by a single line containing a period followed by CRLF.

NEWNEWS is used in conjunction with IHAVE, and NEWGROUPS commands to distribute news articles.

Applications should assign a procedure to the event handler in order to respond to the NNTP command, or the server will return the default message:

  500 command not recognized


See Also

TIdNNTPServer.OnCommandIHave

TIdNNTPServer.OnCommandNewGroups


TIdNNTPServer.OnCommandNext

TIdNNTPServer	See Also

Specifies the NNTP NEXT command event handler.

property OnCommandNext: TGetEvent;

Description

OnCommandNext identifies the TGetEvent event handler used to respond to the NNTP NEXT command, as described in RFC 977.

NEXT is used to move the internally maintained "current article pointer" to the next article in the current newsgroup. If no more articles remain in the current group, an error message is returned and the current article remains selected. A response indicating the current article number, and the message-id string will be returned.

Applications should assign a procedure to the event handler in order to respond to the NNTP command, or the server will return the default message:

  500 command not recognized


See Also

TIdNNTPServer.OnCommandLast

TIdNNTPServer.OnCommandGroup


TIdNNTPServer.OnCommandOther

TIdNNTPServer

Specifies the NNTP miscellaneous command event handler.

property OnCommandOther: TOtherEvent;

Description

OnCommandOther identifies the TOtherEvent event handler used to respond to an unrecognized NNTP command.

OnCommandOther provides a general event handler that allows the thread of execution to receive the command and optional parameters, and to indicate that the command was handled by the event handler.

Applications can indicate that the command was recognized and handled in the event handler by setting WasHandled to True.

Applications should assign a procedure to the event handler in order to respond to the NNTP command, or the server will return the default message:

  500 command not recognized


TIdNNTPServer.OnCommandPost

TIdNNTPServer

Specifies the NNTP POST command event handler.

property OnCommandPost: TGetEvent;

Description

OnCommandPost identifies the TGetEvent event handler used to respond to the NNTP POST command, as described in RFC 977.

POST is used to inform the server that a news article will be presented in the format identified by RFC 850. The server must return a response code that indicates posting is allowed, or prohibited for installation-dependent reasons.

When posting is permitted, the server must be prepared to accept the text forming the header and body of the message from the client. No attempt should be made to filter characters, fold or limit lines, or otherwise process incoming text. The server should pass the incoming message to be posted to the server installation's news posting software, which is separate from this specification. See RFC850 for more details.

Applications should assign a procedure to the event handler in order to respond to the NNTP command, or the server will return the default message:

  500 command not recognized


TIdNNTPServer.OnCommandQuit

TIdNNTPServer

Specifies the NNTP QUIT command event handler.

property OnCommandQuit: TGetEvent;

Description

OnCommandQuit identifies the TGetEvent event handler used to respond to the NNTP QUIT command, as described in RFC 977.

QUIT is used to inform the server that the client connection should be closed. The server process should acknowledges the QUIT command, and then close the connection to the client. This is the preferred method for a client to indicate that it has finished all its transactions with the NNTP server.

If a client simply disconnects (or the connection times out, or some other fault occurs), the server should gracefully cease its attempts to service the client.

Applications should assign a procedure to the event handler in order to respond to the NNTP command, or the server will return the default message:

  500 command not recognized


TIdNNTPServer.OnCommandSlave

TIdNNTPServer

Specifies the NNTP SLAVE command event handler.

property OnCommandSlave: TGetEvent;

Description

OnCommandSlave identifies the TGetEvent event handler used to respond to the NNTP SLAVE command, as described in RFC 977.

SLAVE informs the server that this client connection is to a slave server, rather than a user. SLAVE is intended for use in separating connections to single users from those to subsidiary ("slave") servers. It may be used to indicate that priority should therefore be given to requests from this client, as it is presumably serving more than one person. SLAVE might also be used to determine which connections to close when system load levels are exceeded, perhaps giving preference to slave servers.

The actual use of this command is entirely implementation dependent, and may vary from one host to another. In NNTP servers which do not give priority to slave servers, this command must nonetheless be recognized and acknowledged.

Applications should assign a procedure to the event handler in order to respond to the NNTP command, or the server will return the default message:

  500 command not recognized


TIdNNTPServer.OnCommandStatID

TIdNNTPServer	See Also

Specifies the NNTP STAT <message-id> command event handler.

property OnCommandStatID: TDoByIDEvent;

Description

OnCommandStatID identifies the TDoByIDEvent event handler used to respond to the NNTP STAT command, as described in RFC 977.

The NNTP STAT command is similar to the ARTICLE command except that no text for the article header or body is returned. STAT is used to retrieve the acknowledgement response that contains the message number and message-id for the news article.

Using the STAT command to select by message-id is valid but of questionable value, since a selection by message-id does NOT alter the "current article pointer".

Applications should assign a procedure to the event handler in order to respond to the NNTP command, or the server will return the default message:

  500 command not recognized


See Also

TIdNNTPServer.OnCommandStatNo


TIdNNTPServer.OnCommandStatNo

TIdNNTPServer	See Also

Specifies the NNTP STAT [nnn] command event handler.

property OnCommandStatNo: TDoByNoEvent;

Description

OnCommandStatNo identifies the TDoByNoEvent event handler used to respond to the NNTP STAT command, as described in RFC 977.

The NNTP STAT command is similar to the ARTICLE command except that no text for the article header or body is returned. STAT is used to retrieve the acknowledgement response that contains the message number and message-id for the news article.

Using STAT [nnn] sets the "current article pointer" to the article identified by the message number.

Applications should assign a procedure to the event handler in order to respond to the NNTP command, or the server will return the default message:

  500 command not recognized


See Also

TIdNNTPServer.OnCommandStatID

TIdNNTPServer.OnCommandArticleID

TIdNNTPServer.OnCommandArticleNo


TIdNNTPServer.OnCommandTakeThis

TIdNNTPServer	See Also

Specifies the NNTP TAKETHIS command event handler.

property OnCommandTakeThis: TDoByIDEvent;

Description

OnCommandTakeThis identifies the TDoByIDEvent event handler used to respond to the NNTP TAKETHIS command.

TAKETHIS is a Common NNTP Extension as described in RFC 2980, and is used to send articles to a server when in streaming mode. The entire article (header and body) is sent immediately after the peer sends the TAKETHIS command. The peer does not have to wait for a response from the server before sending the next command and the associated article.

During transmission of the article, the peer should send the entire article, including header and body, in the manner specified for text transmission from the server. See RFC 977 for details.

Applications should assign a procedure to the event handler in order to respond to the NNTP command, or the server will return the default message:

  500 command not recognized


See Also

TIdNNTPServer.OnCommandCheck

TIdNNTPServer.OnCommandMode


TIdNNTPServer.OnCommandXGTitle

TIdNNTPServer	See Also

Specifies the NNTP XGTITLE command event handler.

property OnCommandXGTitle: TNewsEvent;

Description

OnCommandXGTitle identifies the TNewsEvent event handler used to respond to the NNTP XGTITLE command.

XGTITLE is a Common NNTP Extension as described in RFC 2980, and is used to retrieve news group descriptions for specific news groups. This extension first appeared in ANU-NEWS, an NNTP implementation for DEC's VMS. The optional parameter is a pattern in wildmat format.

When executed, a 282 response is given followed by lines that have two fields, the news group name (which matches the pattern in the argument) and a short explanation of the purpose of the news group. When no argument is specified, the default argument is the current group name. When display is completed, the server sends a period on a line by itself.

Applications should assign a procedure to the event handler in order to respond to the NNTP command, or the server will return the default message:

  500 command not recognized

Note:  The XGTITLE command and the LIST NEWSGROUP command provide the same functionality with different response codes. Since this command provides the same functionality as LIST NEWSGROUP it is suggested that this extension be deprecated and no longer be used in newsreading clients.

Note:  There is a conflict in one of the response codes from XGTITLE and some of the authentication extensions.


See Also

TIdNNTPServer.OnCommandList


TIdNNTPServer.OnCommandXHDR

TIdNNTPServer

Specifies the NNTP XHDR command event handler.

property OnCommandXHDR: TNewsEvent;

Description

OnCommandXHDR identifies the TNewsEvent event handler used to respond to the NNTP XHDR command.

XHDR is a Common NNTP Extension as described in RFC 2980, and is used to retrieve specific headers from specific articles. XHDR requires a valid header name, as described in RFC 1036, and an optional range or message-id.

The optional range argument can consist of a single article number, a starting article number, or a starting and ending article number. For example:

XHDR Subject 10

XHDR Subject 10-

XHDR Subject 10-99

The optional message-id argument indicates a specific article. The range and message-id arguments are mutually exclusive. If no argument is specified, then information from the current article is displayed.

Successful responses include the matched headers from all matched messages. Each line containing matched headers returned by the server has an article number (or message ID, if a message ID was specified in the command), then one or more spaces, and the value of the requested header. Responses are terminated with a line containing a single period "." character.

Some implementations will return "(none)" followed by a period on a line by itself if no headers match in any of the articles searched.

Applications should assign a procedure to the event handler in order to respond to the NNTP command, or the server will return the default message:

  500 command not recognized


TIdNNTPServer.OnCommandXOver

TIdNNTPServer	See Also

Specifies the NNTP XOVER command event handler.

property OnCommandXOver: TNewsEvent;

Description

OnCommandXOver identifies the TNewsEvent event handler used to respond to the NNTP XOVER command.

XOVER is a Common NNTP Extension as described in RFC 2980, and is used to retrieve information from the overview database for the specified articles.

The optional range argument can consist of a single article number, a starting article number, or a starting and ending article number. For example:

XOVER 10

XOVER 10-

XOVER 10-99

Successful responses include the overview information for all matched messages. Once the output is complete, a period is sent on a line by itself. If no argument is specified, the information for the current article is returned.

Each line of output will be formatted with the article number, followed by each of the headers in the overview database or the article itself (when the data is not available in the overview database) for that article separated by a tab character. The sequence of fields must be in this order:

subject

author

date

message-id

references

byte count

line count

optional fields

Other optional fields may follow line count. These fields are specified by examining the response to the LIST OVERVIEW.FMT command. Where no data exists, a null field must be provided (i.e. the output will have two tab characters adjacent to each other). Servers should not output fields for articles that have been removed since the XOVER database was created.

The LIST OVERVIEW.FMT command should be implemented if XOVER is implemented. A client can use LIST OVERVIEW.FMT to determine what optional fields and in which order all fields will be supplied by the XOVER command.

Applications should assign a procedure to the event handler in order to respond to the NNTP command, or the server will return the default message:

  500 command not recognized

Note: TAB and EOL characters in any header data that is returned shall be converted to a space character.


See Also

TIdNNTPServer.OnCommandList


TIdNNTPServer.OnCommandXPat

TIdNNTPServer

Specifies the NNTP XPAT command event handler.

property OnCommandXPat: TNewsEvent;

Description

OnCommandXPat identifies the TNewsEvent event handler used to respond to the NNTP XPAT command.

XPAT is a Common NNTP Extension as described in RFC 2980, and is used to retrieve specific headers from specific articles, based on pattern matching on the contents of the header.

The required header parameter is the name of a header line in a news group article, as described in RFC 1036.

The required range argument can consist of a single article number, a starting article number, or a starting and ending article number. For example:

XPAT 10

XPAT 10-

XPAT 10-99

The required message-id argument indicates a specific article. The range and message-id arguments are mutually exclusive.

At least one pattern in wildmat must be specified as well. If there are additional arguments the are joined together separated by a single space to form one complete pattern.

Successful responses include the headers from all messages in which the pattern matched the contents of the specified header line. This includes an empty list. Once the output is complete, a period is sent on a line by itself.

Applications should assign a procedure to the event handler in order to respond to the NNTP command, or the server will return the default message:

  500 command not recognized


TIdNNTPServer.OnCommandXThread

TIdNNTPServer

Specifies the NNTP XTHREAD command event handler.

property OnCommandXThread: TNewsEvent;

Description

OnCommandXThread identifies the TNewsEvent event handler used to respond to the NNTP XTHREAD command.

XTHREAD is a Common NNTP Extension as described in RFC 2980, and is used to retrieve threading information in the format originally created for use by the TRN news reader.

The command XTHREAD DBINIT may be issued prior to entering any groups to see if a thread database exists. If it does, the database's byte order and version number are returned as binary data.

The command XTHREAD THREAD may be used for the currently selected newsgroup. If no parameter is given, XTHREAD THREAD is assumed.

The format of the TRN-style thread format is discussed in the documentation for the TRN newsreader.

Applications should assign a procedure to the event handler in order to respond to the NNTP command, or the server will return the default message:

  500 command not recognized

Note: Since more recent versions of TRN support the news overview (NOV) format, it is recommended that this extension become historic and no longer be used in current servers or future implementations.


TIdPeerThread

Hierarchy	Members	Properties	Methods	See Also	Unit: IdTCPServer

Thread used for client connections.

TIdPeerThread = class(TIdThread)

Description

TIdPeerThread is a thread that is created for every connection made to the TIdTCPServer. Every client connection runs in it's own thread on the TIdTCPServer.

Requests for TIdPeerThreads are created by a TIdListenerThread, and are delegated to the TIdThreadMgr for the TCP server.


See Also

TIdTCPServer

TIdThreadMgr

TIdListenerThread

Technical Support


Class Hierarchy

TThread

|

TIdThread

|

TIdPeerThread


TIdPeerThread Fields

TIdPeerThread


TIdPeerThread Properties

TIdPeerThread

TIdPeerThread

 Connection

TIdThread

 Data

 StopMode

 Stopped

 Terminated

 TerminatingException


TIdPeerThread Events

TIdPeerThread

TIdThread

 OnException


TIdPeerThread Methods

TIdPeerThread	Legend

TIdPeerThread

 Run

TIdThread

 Create

 Destroy

 Start

 Stop

 Synchronize

 TerminateAndWaitFor


Legend

 virtual


TIdPeerThread Members

TIdPeerThread	Legend

Properties

 Connection

Methods

 Run


Legend

 virtual


TIdPeerThread.Connection

TIdPeerThread	See Also	Example 1

Encapsulates server access within a thread.

property Connection: TIdTCPServerConnection;

Description

Connection is a read-only TIdTCPServerConnection property used to encapsulate access to the TCP server from within a thread. When the thread is executed, Connection provides the server context for the thread.

Requests for TIdPeerThreads are created by a TIdListenerThread, and are delegated to the TIdThreadMgr for the TCP server.

In TIdPeerThread, Connection is owned by the Connection.Server that is the end-point of the connection.

Connection can be used to access properties, methods, and events of the server, and to allow data transmission in a manner similar to a client connection. For example:


See Also

TIdTCPServer

TIdThreadMgr

TIdListenerThread


TIdPeerThread.Connection, Example 1
Example 1

TIdPeerThread.Connection

  AThread.Connection.WriteLn('500 Syntax Error')


TIdPeerThread.Run

TIdPeerThread	See Also

Starts thread execution using the server context.

procedure Run; override;

Description

Run is a procedure found in TIdThread, and descendant classes, that performs the functionality of the thread.

For TIdPeerThread, Run will verify that the thread is executing using the Server context. An EIdSocketError exception is raised if the thread cannot be executed, and the connection is closed. An EIdClosedSocket exception occurs if data is written to a socket that is not connected.

If the connection is closed or aborted, the thread is stopped.


See Also

EIdSocketError

EIdClosedSocket

TIdThread.Stop


TIdPOP3

Hierarchy	Members	Properties	Methods	See Also	Unit: IdPOP3

Implements a POP3 client.

TIdPOP3 = class(TIdMessageClient)

Description

TIdPOP3 is a TIdMessageClient descendant that provides a client implementation of the Post Office Protocol version 3 (POP3) as described in the Internet Standards document:

Post Office Protocol Version 3, RFC 1939, by J. Myers, May 1996

POP3 is used to retrieve E-Mail messages on a mail server and return the messages to the user's computer. POP3 is not intended to provide extensive manipulation operations of mail on the server; normally, mail is downloaded and then deleted. See IMAP for a more advanced (and complex) protocol.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPConnection

|

TIdTCPClient

|

TIdMessageClient

|

TIdPOP3


TIdPOP3 Fields

TIdPOP3


TIdPOP3 Properties

TIdPOP3	Legend

TIdPOP3

 Password

 Port

 UserId

TIdMessageClient

 MsgLineFold

 MsgLineLength

TIdTCPClient

 BoundIP

 Host

 OnConnected

 Port

 SocksInfo

 UseNagle

TIdTCPConnection

 ASCIIFilter

 Binding

 ClosedGracefully

 CmdResult

 CmdResultDetails

 Intercept

 InterceptEnabled

 OnDisconnected

 OnWork

 OnWorkBegin

 OnWorkEnd

 ReadLnTimedOut

 RecvBufferSize

 ResultNo

 SendBufferSize

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdPOP3 Events

TIdPOP3	Legend

TIdComponent

 OnStatus


Legend

 published


TIdPOP3 Methods

TIdPOP3	Legend

TIdPOP3

 CheckMessages

 Connect

 Create

 Delete

 Disconnect

 KeepAlive

 Reset

 Retrieve

 RetrieveHeader

 RetrieveMailBoxSize

 RetrieveMsgSize

 RetrieveRaw

TIdMessageClient

 Create

TIdTCPClient

 Connect

 ConnectAndGetAll

 Create

 Destroy

TIdTCPConnection

 AllData

 CancelWriteBuffer

 Capture

 CheckForDisconnect

 CheckForGracefulDisconnect

 CheckResponse

 ClearWriteBuffer

 CloseWriteBuffer

 Connected

 Create

 CurrentReadBuffer

 CurrentReadBufferSize

 Destroy

 Disconnect

 DisconnectSocket

 ExtractXBytesFromBuffer

 FlushWriteBuffer

 GetResponse

 InputLn

 OpenWriteBuffer

 procedure RaiseExceptionForCmdResult; virtual; overload;

 procedure RaiseExceptionForCmdResult(axException: TClassIdException); virtual; overload;

 ReadBuffer

 ReadCardinal

 ReadFromStack

 ReadInteger

 ReadLn

 ReadLnWait

 ReadSmallInt

 ReadStream

 ReadString

 RemoveXBytesFromBuffer

 function SendCmd(const AOut: string; const AResponse: SmallInt): SmallInt; overload;

 function SendCmd(const AOut: string; const AResponse: Array of SmallInt): SmallInt; virtual; overload;

 WaitFor

 Write

 WriteBuffer

 WriteCardinal

 WriteFile

 WriteHeader

 WriteInteger

 WriteLn

 WriteSmallInt

 WriteStream

 WriteStrings

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdPOP3 Members

TIdPOP3	Legend

Properties

 Password

 Port

 UserId

Methods

 CheckMessages

 Connect

 Create

 Delete

 Disconnect

 KeepAlive

 Reset

 Retrieve

 RetrieveHeader

 RetrieveMailBoxSize

 RetrieveMsgSize

 RetrieveRaw


Legend

 virtual

 published


TIdPOP3.Password

TIdPOP3

Password for the POP3 account.

property Password: string;

Description

Password is a String property that represents the password used for the POP3 account. UserID and Password are used in Connect to provide user authentication on the POP3 server.


TIdPOP3.Port

TIdPOP3

Port number used for the connection.

property Port;

Description

Port is an Integer property that identifies the server port number server used for the client connection. By convention, some internet protocols reserve port number including:

21 - FTP

25 - SMTP

80 - HTTP

119 - NNTP

A client application may define it's own port to connect to a server running the same port.


TIdPOP3.UserId

TIdPOP3

Identifies the POP3 user account.

property UserId: string;

Description

UserId is a String property that identifies the POP3 user account. UserID and Password are used in Connect to perform account authentication on the POP3 server.


TIdPOP3.CheckMessages

TIdPOP3

Gets the number of messages on the POP3 server.

function CheckMessages: longint;

Returns

LongInt - Number of messages currently on the POP3 server.

Description

CheckMessages is a LongInt function that returns the total number of messages currently on the POP server as indicated by the POP3 STAT command.

CheckMessages will return 0 (zero) if an exception is raised during the method.


TIdPOP3.Connect

TIdPOP3

Opens the POP3 connection.

procedure Connect; override;

Description

Connect is a procedure used to establish a connection to the POP3 server using the default port 110. UserId, Password and Host must be supplied prior to calling the Connect method.

If an exception occurs during authentication using UserID and Password, the socket connection will Disconnect and the exception will be re-raised.


TIdPOP3.Create

TIdPOP3

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance. Create also initializes Port to the default POP3 port number IdPORT_POP3.


TIdPOP3.Delete

TIdPOP3

Marks a message for deletion.

function Delete(const MsgNum: Integer): Boolean;

Parameters

const MsgNum: Integer

Message number to be removed.

Returns

Boolean - True if ResultNo is wsOK.

Description

Delete is a Boolean function that marks for deletion the message number specified in MsgNum. If a non-existent message number is indicated, an exception is raised. Messages marked for deletion will be removed when Disconnect is called.


TIdPOP3.Disconnect

TIdPOP3

Closes the socket connection to the POP3 server.

procedure Disconnect; override;

Description

Disconnect is a procedure that closes the socket connection to the POP3 server. All messages marked for deletion will be physically removed from the server mailbox.


TIdPOP3.KeepAlive

TIdPOP3

Prevents a connection timeout.

procedure KeepAlive;

Description

KeepAlive is a procedure used to insure that the POP3 connection remains open and valid. KeepAlive sends the POP3 NOOP command to avoid a timeout on the connection.


TIdPOP3.Reset

TIdPOP3

Reset messages marked for deletion. Returns:

Boolean - True on success, False on error.

function Reset: Boolean;

Description

Reset is a Boolean function that resets messages that have been marked for deletion. Note that some POP3 servers do not support the POP3 RSET command.


TIdPOP3.Retrieve

TIdPOP3

Retrieves a message by number.

function Retrieve(const MsgNum: Integer; AMsg: TIdMessage): Boolean;

Parameters

const MsgNum: Integer

Message number to retrieve from the server.

AMsg: TIdMessage

Message instance where the values will be stored.

Returns

Boolean - True on success.

Description

Retrieve is a Boolean function that retrieves the message number passed as the argument and stores the result in a IdMessage component, with MIME decoding. An IdText object is created for any text parts the message has and an IdAttachment for the attachments.

Retrieve calls ReceiveHeader and ReceiveBody to load the message contents into AMsg.


TIdPOP3.RetrieveHeader

TIdPOP3

Retrieves headers for a message.

function RetrieveHeader(const MsgNum: Integer; AMsg: TIdMessage): Boolean;

Parameters

const MsgNum: Integer

Message number to be retrieved.

AMsg: TIdMessage

Message instance where headers will be stored.

Returns

Boolean - True on success.

Description

RetrieveHeader is a Boolean function that retrieves the headers of the message number specified in MsgNum and stores the values in the AMsg instance.


TIdPOP3.RetrieveMailBoxSize

TIdPOP3

Gets the mailbox size on the POP3 server.

function RetrieveMailBoxSize: integer;

Returns

Integer - Mailbox size in bytes, or -1 on error.

Description

RetrieveMailBoxSize is an Integer function that retrieves the total size of the mailbox on the POP server. The value is returned in bytes. RetrieveMailBoxSize will return 0 when the mailbox is empty, or -1 when an exception is raised.

RetrieveMailBoxSize uses the POP3 LIST command to accumulate the total mailbox size from the values returned for individual messages.


TIdPOP3.RetrieveMsgSize

TIdPOP3

Gets the size of a message.

function RetrieveMsgSize(const MsgNum: Integer): Integer;

Parameters

const MsgNum: Integer

Message number to access.

Returns

Integer - Number of bytes in the message.

Description

RetrieveMsgSize is an Integer function that retrieves the size of an individual message specified in MsgNum. The value returned is in bytes.


TIdPOP3.RetrieveRaw

TIdPOP3	See Also

Retrieves message headers and body without performing MIME decoding.

function RetrieveRaw(const MsgNum: Integer; const Dest: TStrings): boolean;

Parameters

const MsgNum: Integer

Message number to be retrieved.

const Dest: TStrings

Destination used to store the message in raw format.

Returns

Boolean - True when message retrieval is successful.

Description

RetrieveRaw is a Boolean function that retrieves POP3 message headers without performing MIME decoding for the header values. RetrieveRaw uses the POP3 RETR command to intitiate message retrieval. Header values are obtained using Capture.

Use RetrieveHeader to get the parsed message headers and store the result in a TIdMessage instance. Use Retrieve to get an entire message and store the result in a TIdMessage instance.


See Also

TIdPOP3.Retrieve

TIdPOP3.RetrieveHeader

TIdMessage


TIdQOTD

Hierarchy	Members	Properties	Methods	See Also	Unit: IdQotd

Implements a Quote of the Day Protocol client.

TIdQOTD = class(TIdTCPClient)

Description

TIdQOTD implements a Quote of the Day Protocol (QUOTD) client as described in the Internet Standards document:

RFC 865

QUOTD is a simple protocol for retrieving a short quote from a server.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPConnection

|

TIdTCPClient

|

TIdQOTD


TIdQOTD Fields

TIdQOTD


TIdQOTD Properties

TIdQOTD	Legend

TIdQOTD

 Port

 Quote

TIdTCPClient

 BoundIP

 Host

 OnConnected

 Port

 SocksInfo

 UseNagle

TIdTCPConnection

 ASCIIFilter

 Binding

 ClosedGracefully

 CmdResult

 CmdResultDetails

 Intercept

 InterceptEnabled

 OnDisconnected

 OnWork

 OnWorkBegin

 OnWorkEnd

 ReadLnTimedOut

 RecvBufferSize

 ResultNo

 SendBufferSize

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdQOTD Events

TIdQOTD	Legend

TIdComponent

 OnStatus


Legend

 published


TIdQOTD Methods

TIdQOTD	Legend

TIdQOTD

 Create

TIdTCPClient

 Connect

 ConnectAndGetAll

 Create

 Destroy

TIdTCPConnection

 AllData

 CancelWriteBuffer

 Capture

 CheckForDisconnect

 CheckForGracefulDisconnect

 CheckResponse

 ClearWriteBuffer

 CloseWriteBuffer

 Connected

 Create

 CurrentReadBuffer

 CurrentReadBufferSize

 Destroy

 Disconnect

 DisconnectSocket

 ExtractXBytesFromBuffer

 FlushWriteBuffer

 GetResponse

 InputLn

 OpenWriteBuffer

 procedure RaiseExceptionForCmdResult; virtual; overload;

 procedure RaiseExceptionForCmdResult(axException: TClassIdException); virtual; overload;

 ReadBuffer

 ReadCardinal

 ReadFromStack

 ReadInteger

 ReadLn

 ReadLnWait

 ReadSmallInt

 ReadStream

 ReadString

 RemoveXBytesFromBuffer

 function SendCmd(const AOut: string; const AResponse: SmallInt): SmallInt; overload;

 function SendCmd(const AOut: string; const AResponse: Array of SmallInt): SmallInt; virtual; overload;

 WaitFor

 Write

 WriteBuffer

 WriteCardinal

 WriteFile

 WriteHeader

 WriteInteger

 WriteLn

 WriteSmallInt

 WriteStream

 WriteStrings

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdQOTD Members

TIdQOTD	Legend

Properties

 Port

 Quote

Methods

 Create


Legend

 virtual

 published


TIdQOTD.Port

TIdQOTD

Port number used for the connection.

property Port;

Description

Port is an Integer property that identifies the server port number server used for the client connection. By convention, some internet protocols reserve port number including:

21 - FTP

25 - SMTP

80 - HTTP

119 - NNTP

A client application may define it's own port to connect to a server running the same port.


TIdQOTD.Quote

TIdQOTD

Connects and retrieves a quote from the QOTD server.

property Quote: String;

Description

Quote is a read-only String property that connects to the Quote of the Day server and retrieves a quote.

Be sure to set the Host property to the Quote of the Day server before you using Quote.


TIdQOTD.Create

TIdQOTD

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance that instantiates a new TIdQUOTD component and sets the default port to the standard port number used for the Quote of the Day protocol (IdPORT_QOTD).


TIdQOTDServer

Hierarchy	Members	Properties	Methods	Events	See Also	Unit: IdQotdServer

Defines an implementation framework for a Quote of the Day Protocol server.

TIdQOTDServer = class(TIdTCPServer)

Description

TIdQOTDServer defines an implementation framework for a Quote of the Day Protocol or QUOTD server as described in the Internet Standards document:

RFC 865

QUOTD is a simple protocol for retrieving a short quote from a server.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPServer

|

TIdQOTDServer


TIdQOTDServer Fields

TIdQOTDServer


TIdQOTDServer Properties

TIdQOTDServer	Legend

TIdQOTDServer

 DefaultPort

TIdTCPServer

 AcceptWait

 Active

 Bindings

 DefaultPort

 ImplicitThreadMgrCreated

 Intercept

 TerminateWaitTime

 ThreadClass

 ThreadMgr

 Threads

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdQOTDServer Events

TIdQOTDServer	Legend

TIdQOTDServer

 OnCommandQOTD

TIdTCPServer

 OnConnect

 OnDisconnect

 OnExecute

TIdComponent

 OnStatus


Legend

 published


TIdQOTDServer Methods

TIdQOTDServer	Legend

TIdQOTDServer

 Create

TIdTCPServer

 Create

 Destroy

 Loaded

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdQOTDServer Members

TIdQOTDServer	Legend

Properties

 DefaultPort

Events

 OnCommandQOTD

Methods

 Create


Legend

 virtual

 published


TIdQOTDServer.DefaultPort

TIdQOTDServer

Default port number for the server.

property DefaultPort;

Description

DefaultPort is a published property in TIdQOTDServer that identifies the default port number for the server, as described in the Quote of the Day Protocol specification. The default value for DefaultPort is IdPORT_QOTD.


TIdQOTDServer.Create

TIdQOTDServer

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance that creates a new TIdQuotdServer instance and sets the default port to the standard port number used by the Quote of the Day protocol (IdPORT_QOTD).


TIdQOTDServer.OnCommandQOTD

TIdQOTDServer

Specifies an event handler for QOTD commands.

property OnCommandQOTD: TIdQOTDGetEvent;

Description

OnCommandQOTD is a TIdQOTDGetEvent event handler that allows the QOTD server to respond to a request from a QOTD client connection.

Thread is the thread of execution for the client connection.


TIdQuotedPrintableDecoder

Hierarchy	Members	Methods	See Also	Unit: IdCoderText

Implements a MIME decoder for the Quoted-Printable encoding scheme.

TIdQuotedPrintableDecoder = class(TIdCoder)

Description

TIdQuotedPrintableDecoder is a TIdCoder descendant that implements a decoder for MIME-encoded content using the Quoted-Printable transfer encoding scheme. Quoted-Printable transfer encoding is described in the Internet Standards document:

RFC 2045, Multipurpose Internet Mail Extensions (MIME), Part One: Format of Internet Message Bodies, Section 6.7 Quoted-Printable Content Transfer Encoding

TIdQuotedPrintableDecoder is intended to transform data represented in the Quoted-Printable encoding scheme into the original representation of the encoded data.


See Also

TIdCoder

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdCoder

|

TIdQuotedPrintableDecoder


TIdQuotedPrintableDecoder Fields

TIdQuotedPrintableDecoder


TIdQuotedPrintableDecoder Properties

TIdQuotedPrintableDecoder

TIdCoder

 AddCRLF

 AutoCompleteInput

 BufferSize

 ByteCount

 BytesIn

 BytesOut

 FileName

 IgnoreCodedData

 IgnoreNotification

 Key

 OnCodedData

 Priority

 TakesFileName

 TakesKey

 UseEvent

TIdBaseComponent

 Version


TIdQuotedPrintableDecoder Events

TIdQuotedPrintableDecoder

TIdCoder

 OnNotification


TIdQuotedPrintableDecoder Methods

TIdQuotedPrintableDecoder	Legend

TIdQuotedPrintableDecoder

 Create

 Destroy

 Reset

TIdCoder

 CodeString

 CodeStringFromCoder

 CompletedInput

 Create

 Destroy

 GetCodedData

 GetNotification

 Reset

 SetBufferSize

 SetKey

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdQuotedPrintableDecoder Members

TIdQuotedPrintableDecoder	Legend

Methods

 Create

 Destroy

 Reset


Legend

 virtual


TIdQuotedPrintableDecoder.Create

TIdQuotedPrintableDecoder

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance, and relies on the inherited Create method to initialize the object instance. Create also sets AddCRLF to False.


TIdQuotedPrintableDecoder.Destroy

TIdQuotedPrintableDecoder

Frees the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance.


TIdQuotedPrintableDecoder.Reset

TIdQuotedPrintableDecoder

Clears the internal state of the coder.

procedure Reset; override;

Description

Reset is an overridden procedure used to clear the internal state settings for the coder. Reset also sets AddCRLF to False.


TIdQuotedPrintableEncoder

Hierarchy	Members	Methods	See Also	Unit: IdCoderText

Implements a MIME encoder for the Quoted-Printable encoding scheme.

TIdQuotedPrintableEncoder = class(TIdCoder)

Description

TIdQuotedPrintableEncoder is a TIdCoder descendant that implements an encoder for MIME-encoded content using the Quoted-Printable transfer encoding scheme. Quoted-Printable transfer encoding is described in the Internet Standards document:

RFC 2045, Multipurpose Internet Mail Extensions (MIME), Part One: Format of Internet Message Bodies, Section 6.7 Quoted-Printable Content Transfer Encoding

TIdQuotedPrintableEncoder is intended to represent data that largely consists of octets that correspond to printable characters in the US-ASCII character set. It encodes the data in a way that minimizes the chances of the message content being modified by a mail transport. The quoted-printable encodings transforms input into characters in the "7bit" range.

Using TIdQuotedPrintableEncoder, data is generally represented using the following rules:

Any byte except a CR or LF may be represented by an "=" followed by a two digit uppercase hexadecimal representation of the byte's value.

Byte's with the decimal values of 33 through 60 inclusive, and 62 through 126, inclusive, MAY be represented as the US-ASCII characters which correspond to those bytes. (

Byte's with values of 9 and 32 MAY be represented as US-ASCII TAB (HT) and SPACE characters, but MUST NOT appear at the end of an encoded line. Any whitespace characters muse be followed by a printable character. An "=" at the end of an encoded line, indicates a soft line break, and may follow one or more whitespace characters.

A CRLF sequence in a message must be represented by a CRLF sequence in the Quoted-Printable encoding. Sequences like "=0D", "=0A", "=0A=0D" and "=0D=0A" will routinely appear in non-text data represented in quoted- printable, but are not significant to the formatting of the message.

The Quoted-Printable encoding REQUIRES that encoded lines be no more than 76 characters long. If longer lines are to be encoded with the Quoted-Printable encoding, "soft" line breaks must be used. An equal sign as the last character on a encoded line indicates such a non-significant ("soft") line break in the encoded text.

To insure reliable message transport through EBCIDIC networks, TIdQuotedPrintableEncoder also encodes the following ASCII characters:

  !"#$@[]^`{|}~


See Also

TIdCoder

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdCoder

|

TIdQuotedPrintableEncoder


TIdQuotedPrintableEncoder Fields

TIdQuotedPrintableEncoder


TIdQuotedPrintableEncoder Properties

TIdQuotedPrintableEncoder

TIdCoder

 AddCRLF

 AutoCompleteInput

 BufferSize

 ByteCount

 BytesIn

 BytesOut

 FileName

 IgnoreCodedData

 IgnoreNotification

 Key

 OnCodedData

 Priority

 TakesFileName

 TakesKey

 UseEvent

TIdBaseComponent

 Version


TIdQuotedPrintableEncoder Events

TIdQuotedPrintableEncoder

TIdCoder

 OnNotification


TIdQuotedPrintableEncoder Methods

TIdQuotedPrintableEncoder	Legend

TIdQuotedPrintableEncoder

 Create

 Destroy

 Reset

TIdCoder

 CodeString

 CodeStringFromCoder

 CompletedInput

 Create

 Destroy

 GetCodedData

 GetNotification

 Reset

 SetBufferSize

 SetKey

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdQuotedPrintableEncoder Members

TIdQuotedPrintableEncoder	Legend

Methods

 Create

 Destroy

 Reset


Legend

 virtual


TIdQuotedPrintableEncoder.Create

TIdQuotedPrintableEncoder

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Description

Create is the constructor for the object instance, and relies on the inherited Create method. Create also sets AddCRLF to False, and clears the output buffer for the coder.


TIdQuotedPrintableEncoder.Destroy

TIdQuotedPrintableEncoder

Frees an object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance.


TIdQuotedPrintableEncoder.Reset

TIdQuotedPrintableEncoder

Clears the output buffer for the encoder.

procedure Reset; override;

Description

Reset is an overridden procedure that allows the message coder to clear the internal output buffer.


TIdRawBase

Hierarchy	Members	Properties	Methods	Unit: IdRawBase

Ancestor class for Raw socket clients.

TIdRawBase = class(TIdComponent)

Description

The TIdRawBase is an ancestor of components which use raw sockets. This allows the programmer to code for protocols that are not supported by the standard stack (ICMP, IGMP or any custom protocol).

Depending on the underlying operating system and on the security privilege of the user, it might also allow the programmer to build the IP header (currently, this is only supported by Windows 2000).


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdRawBase


TIdRawBase Fields

TIdRawBase


TIdRawBase Properties

TIdRawBase	Legend

TIdRawBase

 Binding

 BufferSize

 Host

 Port

 Protocol

 ReceiveTimeout

 TTL

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdRawBase Events

TIdRawBase	Legend

TIdComponent

 OnStatus


Legend

 published


TIdRawBase Methods

TIdRawBase	Legend

TIdRawBase

 Create

 Destroy

 ReceiveBuffer

 procedure Send(AData: string); overload;

 procedure Send(AHost: string; const APort: Integer; AData: string); overload;

 procedure Send(AHost: string; const APort: integer; var ABuffer; const ABufferSize: integer); overload;

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdRawBase Members

TIdRawBase	Legend

Properties

 Binding

 BufferSize

 Host

 Port

 Protocol

 ReceiveTimeout

 TTL

Methods

 Create

 Destroy

 ReceiveBuffer

 procedure Send(AData: string); overload;

 procedure Send(AHost: string; const APort: Integer; AData: string); overload;

 procedure Send(AHost: string; const APort: integer; var ABuffer; const ABufferSize: integer); overload;


Legend

 virtual

 published


TIdRawBase.Binding

TIdRawBase

Represents the socket handle for the connection.

property Binding: TIdSocketHandle;

Description

Binding is a read-only TIdSocketHandle property that represents the socket handle binding for the connection. When accessed, Binding.AllocateSocket is called to insure that the connection uses raw sockets for the Protocol selected. In addition, socket options for the Binding are updated to use Id_IPPROTO_IP protocol family with the specified TTL (Time-To-Live).


TIdRawBase.BufferSize

TIdRawBase

Size of the internal Indy buffer.

property BufferSize: Integer;

Description

BufferSize is an Integer property that indicates the size of the internal Indy buffer for the socket connection. Changing the value of BufferSize force the Indy buffer to be enlarged or contracted to the specified number of bytes.

The default value for BufferSize is Id_TIdRawBase_BufferSize.


TIdRawBase.Host

TIdRawBase

Specifies the endpoint for the socket connection.

property Host: string;

Description

Host is a String property that specifies the IP address or host name that is the endpoint for the socket connection.


TIdRawBase.Port

TIdRawBase

Identifies the port number for the socket connection.

property Port: Integer;

Description

Port is an Integer property that identifies the port number for the socket connection.


TIdRawBase.Protocol

TIdRawBase

Identifies the protocol option for the socket connection.

property Protocol: Integer;

Description

Protocol is an Integer property that identifies the protocol used for the socket connection. The default value for Protocol is Id_IPPROTO_RAW, as established in Create.

Binding.AllocateSocket uses the Protocol property to bind both the protocol family and protocol options for the socket handle.


TIdRawBase.ReceiveTimeout

TIdRawBase	See Also

Identifies the timeout for receive operations.

property ReceiveTimeout: integer;

Description

ReceiveTimeout is an Integer property that indicate the number of milliseconds that receive operations must wait for the socket to become readable.

The default value for ReceiveTimeout is GFReceiveTimeout, as established in Create. When ReceiveTimeout is 0, no timeout will occur while waiting for the socket to become readable.


See Also

TIdRawBase.ReceiveBuffer


TIdRawBase.TTL

TIdRawBase

Specifies the Time-To-Live for raw socket packets.

property TTL: Integer;

Description

TTL is an Integer property that identifies the Time-To-Live for routers and gateways that must handle the raw socket transmission. TTL is used to set the socket options for the Binding. Changing the value of TTL forces an update to the socket options for Binding.

The default value of TTL is GFTTL.


TIdRawBase.Create

TIdRawBase

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance. Create initializes object properties to their default values, including:

Binding

BufferSize - Id_TIdRawBase_BufferSize bytes

ReceiveTimeout - GReceiveTimeout

Protocol - Id_IPPROTO_RAW

TTL - GFTTL


TIdRawBase.Destroy

TIdRawBase

Frees the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance, and clears and releases the Binding for the socket connection and the internal Indy read buffer.


TIdRawBase.ReceiveBuffer

TIdRawBase

Reads and buffers data from the socket connection.

function ReceiveBuffer(var ABuffer; const AByteCount: Integer; ATimeOut: integer): integer;

Parameters

var ABuffer

Buffer for data read from the connection.

const AByteCount: Integer

Number of bytes to read in to the buffer.

ATimeOut: integer = -1

Timeout value. Default value is -1.

Returns

Integer - Number of bytes read from the connection.

Description

ReceiveBuffer is an Integer function used to receive and store data arriving on the socket connection.

ABuffer is the destination for data read from the connection. AByteCount indicates the number of bytes anticipated to be read from the socket connection. ATimeOut is the number of milliseconds to wait for the Binding to become readable.

When ATimeOut is less than 0, the value in ReceiveTimeout is used.

If the specified timeout period elapses, AByteCount is less than 1, or ABuffer is nil, then the return value for ReceiveBuffer is 0.


TIdRawBase.Send

TIdRawBase

Transmits data to remote computer system.

procedure Send(AData: string); overload;
procedure Send(AHost: string; const APort: Integer; AData: string); overload;
procedure Send(AHost: string; const APort: integer; var ABuffer; const ABufferSize: integer); overload;

Parameters

AData: string

Destination address for the send operation.

Description

Send is an overloaded procedure that allows the connection to transmit the specified data or buffer to the address identified in AHost and APort.

When the Send(AData) variant is called, the values from Host and Port are used for the destination.

Send resolves the address in AHost prior to transmitting data.


TIdRawBase.Send

TIdRawBase

Transmits data to remote computer system.

procedure Send(AData: string); overload;
procedure Send(AHost: string; const APort: Integer; AData: string); overload;
procedure Send(AHost: string; const APort: integer; var ABuffer; const ABufferSize: integer); overload;

Parameters

AHost: string

Destination address for the send operation.

const APort: Integer

Destination port number for the send operation.

AData: string

Buffer containing values to be sent over the connection.

Description

Send is an overloaded procedure that allows the connection to transmit the specified data or buffer to the address identified in AHost and APort.

When the Send(AData) variant is called, the values from Host and Port are used for the destination.

Send resolves the address in AHost prior to transmitting data.


TIdRawBase.Send

TIdRawBase

Transmits data to remote computer system.

procedure Send(AData: string); overload;
procedure Send(AHost: string; const APort: Integer; AData: string); overload;
procedure Send(AHost: string; const APort: integer; var ABuffer; const ABufferSize: integer); overload;

Parameters

AHost: string

Destination address for the send operation.

const APort: integer

Destination port number for the send operation.

var ABuffer

Buffer containing values to be sent over the connection.

const ABufferSize: integer

Size of the buffer to be sent.

Description

Send is an overloaded procedure that allows the connection to transmit the specified data or buffer to the address identified in AHost and APort.

When the Send(AData) variant is called, the values from Host and Port are used for the destination.

Send resolves the address in AHost prior to transmitting data.


TIdRawClient

Hierarchy	Members	Properties	See Also	Unit: IdRawClient

Specifies a client that uses Raw sockets.

TIdRawClient = class(TIdRawBase)

Description

TIdRawClient is a TIdRawBase descendant that specifies a client capable of using Raw socket connections. This allows the programmer to code for protocols that are not supported by the standard stack (ICMP, IGMP or any custom protocol).

TIdRawClient does not provide an implementation; implementation will be provided in descendant classes tailored to a specific protocol, like TIdIcmpClient.

Depending on the underlying operating system and on the security privilege of the user, it might also allow the programmer to build the IP header (currently, this is only supported by Windows 2000).


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdRawBase

|

TIdRawClient


TIdRawClient Fields

TIdRawClient


TIdRawClient Properties

TIdRawClient	Legend

TIdRawClient

 Host

 Port

 Protocol

 ReceiveTimeout

TIdRawBase

 Binding

 BufferSize

 Host

 Port

 Protocol

 ReceiveTimeout

 TTL

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdRawClient Events

TIdRawClient	Legend

TIdComponent

 OnStatus


Legend

 published


TIdRawClient Methods

TIdRawClient	Legend

TIdRawBase

 Create

 Destroy

 ReceiveBuffer

 procedure Send(AData: string); overload;

 procedure Send(AHost: string; const APort: Integer; AData: string); overload;

 procedure Send(AHost: string; const APort: integer; var ABuffer; const ABufferSize: integer); overload;

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdRawClient Members

TIdRawClient	Legend

Properties

 Host

 Port

 Protocol

 ReceiveTimeout


Legend

 virtual

 published


TIdRawClient.Host

TIdRawClient

Specifies the endpoint for the socket connection.

property Host;

Description

Host is a String property that specifies the IP address or host name that is the endpoint for the socket connection.


TIdRawClient.Port

TIdRawClient

Identifies the port number for the socket connection.

property Port;

Description

Port is an Integer property that identifies the port number for the socket connection.


TIdRawClient.Protocol

TIdRawClient

Identifies the protocol option for the socket connection.

property Protocol;

Description

Protocol is an Integer property that identifies the protocol used for the socket connection.


TIdRawClient.ReceiveTimeout

TIdRawClient

Identifies the timeout for receive operations.

property ReceiveTimeout;

Description

ReceiveTimeout is an Integer property that indicate the number of milliseconds that receive operations must wait for the socket to become readable.


TIdServerIntercept

Hierarchy	Members	Methods	See Also	Unit: IdIntercept

Specifies a socket handler for use with peer connections create by the listener thread in a TCP server.

TIdServerIntercept = class(TIdBaseComponent)

Description

TIdServerIntercept is an abstract class that creates instances of TIdConnectionIntercept socket handlers for peer connections created by the listener thread in a TCP Server.

TIdConnectionIntercept descendants will be used by peer connection to act as an intermediary between the socket binding for the connection and low-level operations that communicate with the protocol stack.

TIdServerIntercept provides virtual methods to initialize the server socket handler, and to provide new TIdConnectionIntercept handlers for peer connections when the connection is accepted.

Call Init to perform initialization tasks prior to using the TIdServerIntercept instance to accepting connections. Call Accept to create the TIdConnectionIntercept handler used by the peer connection.

Note: Do not create instances of TIdServerIntercept. Use descendant classes, like TIdServerInterceptOpenSSL, or create custom descendants that implement the virtual methods of TIdServerIntercept.


See Also

TIdConnectionIntercept

TIdServerInterceptOpenSSL

Accept

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdServerIntercept


TIdServerIntercept Fields

TIdServerIntercept


TIdServerIntercept Properties

TIdServerIntercept

TIdBaseComponent

 Version


TIdServerIntercept Events

TIdServerIntercept


TIdServerIntercept Methods

TIdServerIntercept	Legend

TIdServerIntercept

 Accept

 Init

TIdBaseComponent

 GetVersion


Legend

 abstract


TIdServerIntercept Members

TIdServerIntercept	Legend

Methods

 Accept

 Init


Legend

 abstract


TIdServerIntercept.Accept

TIdServerIntercept	See Also

Creates a socket handler for a peer connection.

function Accept(ABinding: TIdSocketHandle): TIdConnectionIntercept; virtual; abstract;

Parameters

ABinding: TIdSocketHandle

Socket handle for the peer connection.

Return Values:

Description

Accept is an abstract virtual TIdConnectionIntercept function that creates the socket handler to be used for a peer connection. Accept is used by TIdListenerThread descendants to create a socket handler for threads that must access a server using a socket handler.

ABinding is the socket handle used to communicate with the peer connection.

Descendant of TIdServerIntercept must implement the abstract Accept method to provide the TIdConnectionIntercept descendant that is appropriate for the TIdServerIntercept.


See Also

TIdConnectionIntercept


TIdServerIntercept.Init

TIdServerIntercept	See Also

Performs initialization tasks for the server socket handler.

procedure Init; virtual; abstract;

Description

Init is an abstract virtual procedure that allows the TIdServerIntercept instance to perform initialization tasks that are needed by the server socket handler. Descendant classes should implement Init to perform the actions appropriate to the server socket handler.

For example, TIdServerInterceptOpenSSL implements Init to load the SSL (Secure SOcket Layer) context needed to access the Root Certificate, the Certificate file, and the Key file needed to authorize SSL peer connections.


See Also

TIdServerInterceptOpenSSL


TIdServerInterceptOpenSSL

Hierarchy	Members	Properties	Methods	Events	See Also	Unit: IdSSLOpenSSL

Implements Secure Sockets Layer support for Indy Server Intercept components.

TIdServerInterceptOpenSSL = class(TIdSSLServerIntercept)

Description

The TIdServerInterceptOpenSSL server intercept class implements the Open SSL implementation of Secure Sockets Layer through support .DLL's available at http://www.intelicom.si/. You have to deploy these support .DLL's in order to use this component's functionality in your application. To do this, we recommend that you install the .DLL's in the user's system directory.

Indy does not give you any legal rights to use SSL. Some nations including the U.S. regulate or prohibit the export of strong-encryption such as SSL. In addition, using SSL in some nations may be illegal. It is up to you to determine the legal situation in your nation.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdServerIntercept

|

TIdSSLServerIntercept

|

TIdServerInterceptOpenSSL


TIdServerInterceptOpenSSL Fields

TIdServerInterceptOpenSSL


TIdServerInterceptOpenSSL Properties

TIdServerInterceptOpenSSL	Legend

TIdServerInterceptOpenSSL

 SSLOptions

TIdBaseComponent

 Version


Legend

 published


TIdServerInterceptOpenSSL Events

TIdServerInterceptOpenSSL	Legend

TIdServerInterceptOpenSSL

 OnGetPassword

 OnStatusInfo

 OnVerifyPeer


Legend

 published


TIdServerInterceptOpenSSL Methods

TIdServerInterceptOpenSSL	Legend

TIdServerInterceptOpenSSL

 Accept

 Create

 Destroy

 Init

TIdServerIntercept

 Accept

 Init

TIdBaseComponent

 GetVersion


Legend

 abstract

 virtual


TIdServerInterceptOpenSSL Members

TIdServerInterceptOpenSSL	Legend

Properties

 SSLOptions

Events

 OnGetPassword

 OnStatusInfo

 OnVerifyPeer

Methods

 Accept

 Create

 Destroy

 Init


Legend

 abstract

 virtual

 published


TIdServerInterceptOpenSSL.SSLOptions

TIdServerInterceptOpenSSL

SSL options for the connection intercept.

property SSLOptions: TIdSSLOptions;

Description

SSLOptions is a TIdSSLOptions property that contains the SSL options for the SSL socket connection.


TIdServerInterceptOpenSSL.Accept

TIdServerInterceptOpenSSL

Create and initializes a client SSL connection intercept for a server.

function Accept(ABinding: TIdSocketHandle): TIdConnectionIntercept; override;

Description

Accept is a TIdConnectionIntercept function that creates and initializes a TIdConnectionIntercept instance for a server binding.


TIdServerInterceptOpenSSL.Create

TIdServerInterceptOpenSSL

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance.


TIdServerInterceptOpenSSL.Destroy

TIdServerInterceptOpenSSL

Frees an object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance.


TIdServerInterceptOpenSSL.Init

TIdServerInterceptOpenSSL

Initializes a SSL server context for an SSL Server Intercept component.

procedure Init; override;

Description

Init is a procedure used to initialize an SSL server context for an SSL Server Intercept component.


TIdServerInterceptOpenSSL.OnGetPassword

TIdServerInterceptOpenSSL

Event type for password retrieval.

property OnGetPassword: TPasswordEvent;

Description

OnGetPassword is an event that requests the password for unlocking the private key stored in a file. You can simply set the Password variable with the proper password or you can add some dialog box that prompts user for the password.

  procedure TForm1.IdServerInterceptOpenSSL1GetPassword(var Password: String);

  begin

     Password := 'aaaa';

  end;


TIdServerInterceptOpenSSL.OnStatusInfo

TIdServerInterceptOpenSSL

Provides status information for an SSL connection.

property OnStatusInfo: TCallbackEvent;

Description

OnStatusInfo is an event that can be used for debugging the connection establishment. It sends a message (Msg) with current status.

  procedure TForm1.IdServerInterceptOpenSSL1StatusInfo(Msg: String);

  begin

    ShowMessage(Msg);

  end;


TIdServerInterceptOpenSSL.OnVerifyPeer

TIdServerInterceptOpenSSL

Event type for peer X.509 certificate verification.

property OnVerifyPeer: TVerifyPeerEvent;

Description

OnVerifyPeer is an event that can be used for peer checking. The events passes the TIdX509 structure (certificate ) that embeds the values of peer's certificate. You can read certificate time restrictions, issuer name, subject name.

The result value signals if you are pleased with peer's info. If you return False then the connection will be dropped, elsewhere you will keep the connection.

  function TForm1.IdServerInterceptOpenSSL1VerifyPeer(

    Certificate: TIdX509): Boolean;

  begin

    ShowMessage(DateTimeToStr(Certificate.notBefore));

    ShowMessage(Certificate.Issuer.OneLine);

    ShowMessage(Certificate.Subject.OneLine);

    Result := True;

  end;


TIdSimpleServer

Hierarchy	Members	Properties	Methods	See Also	Unit: IdSimpleServer

Implements a single-threaded TCP Server.

TIdSimpleServer = class(TIdTCPConnection)

Description

TIdSimpleServer is a TIdTCPConnection descendant that implements a single-threaded TCP (Transmission Control Protocol) server. TIdSimpleServer is essentially a TCP connection that gains the ability to listen for serial connection requests.

TIdSimpleServer can be used as a base class to create custom single-threaded TCP server descendants.


See Also

TIdTCPConnection

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPConnection

|

TIdSimpleServer


TIdSimpleServer Fields

TIdSimpleServer


TIdSimpleServer Properties

TIdSimpleServer	Legend

TIdSimpleServer

 AcceptWait

 BoundIP

 BoundPort

 ListenHandle

TIdTCPConnection

 ASCIIFilter

 Binding

 ClosedGracefully

 CmdResult

 CmdResultDetails

 Intercept

 InterceptEnabled

 OnDisconnected

 OnWork

 OnWorkBegin

 OnWorkEnd

 ReadLnTimedOut

 RecvBufferSize

 ResultNo

 SendBufferSize

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdSimpleServer Events

TIdSimpleServer	Legend

TIdComponent

 OnStatus


Legend

 published


TIdSimpleServer Methods

TIdSimpleServer	Legend

TIdSimpleServer

 Abort

 BeginListen

 Bind

 Create

 Listen

 ResetConnection

TIdTCPConnection

 AllData

 CancelWriteBuffer

 Capture

 CheckForDisconnect

 CheckForGracefulDisconnect

 CheckResponse

 ClearWriteBuffer

 CloseWriteBuffer

 Connected

 Create

 CurrentReadBuffer

 CurrentReadBufferSize

 Destroy

 Disconnect

 DisconnectSocket

 ExtractXBytesFromBuffer

 FlushWriteBuffer

 GetResponse

 InputLn

 OpenWriteBuffer

 procedure RaiseExceptionForCmdResult; virtual; overload;

 procedure RaiseExceptionForCmdResult(axException: TClassIdException); virtual; overload;

 ReadBuffer

 ReadCardinal

 ReadFromStack

 ReadInteger

 ReadLn

 ReadLnWait

 ReadSmallInt

 ReadStream

 ReadString

 RemoveXBytesFromBuffer

 function SendCmd(const AOut: string; const AResponse: SmallInt): SmallInt; overload;

 function SendCmd(const AOut: string; const AResponse: Array of SmallInt): SmallInt; virtual; overload;

 WaitFor

 Write

 WriteBuffer

 WriteCardinal

 WriteFile

 WriteHeader

 WriteInteger

 WriteLn

 WriteSmallInt

 WriteStream

 WriteStrings

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdSimpleServer Members

TIdSimpleServer	Legend

Properties

 AcceptWait

 BoundIP

 BoundPort

 ListenHandle

Methods

 Abort

 BeginListen

 Bind

 Create

 Listen

 ResetConnection


Legend

 virtual

 published


TIdSimpleServer.AcceptWait

TIdSimpleServer	See Also

Timeout for accepting a new connection.

property AcceptWait: integer;

Description

AcceptWait is an Integer property that defines the timeout for accepting a new connection on the TIdSocketHandle in Binding. AcceptWait is expressed in milliseconds.

AcceptWait is used in Listen to determine if the TIdSocketHandle allocated to Binding is readable.


See Also

TIdSocketHandle

TIdSocketHandle.Readable


TIdSimpleServer.BoundIP

TIdSimpleServer	See Also

IP address used by the server.

property BoundIP: string;

Description

BoundIP is a String property used to identify the IP address of the server. BoundIP and BoundPort are used when the socket handle for the server is allocated and bound in Listen.

BoundIP exists because Binding is not a published property (it is public) and cannot be streamed without the TIdSocketHandles collection that owns the Binding.


See Also

TIdSocketHandles

TIdSocketHandle


TIdSimpleServer.BoundPort

TIdSimpleServer	See Also

Port number used by the server.

property BoundPort: Integer;

Description

BoundPort is an Integer property used to identify the port number for the server. BoundIP and BoundPort are used when the socket handle for the server is allocated and bound in Listen.

BoundPort exists because Binding is not a published property, it is public, and cannot be streamed without the TIdSocketHandles collection that owns the Binding.


See Also

TIdSocketHandles

TIdSocketHandle


TIdSimpleServer.ListenHandle

TIdSimpleServer	See Also

Represents the socket handle for the listener thread.

property ListenHandle: TIdStackSocketHandle;

Description

ListenHandle is a read-only TIdStackSocketHandle property that represents the socket handle allocated for the server lister thread. ListenHandle contains Id_INVALID_SOCKET when no socket handle has been allocated for the listener thread.

ListenHandle is updated in Create, Bind, and Listen.


See Also

TIdSocketHandle


TIdSimpleServer.Abort

TIdSimpleServer	See Also

Instructs a server to stop listening.

procedure Abort; virtual;

Description

Abort is a procedure that instructs TIdSimpleServer to stop listening for connection requests. After calling Abort, the server will close the listening socket handle and force an exit from the Listen method.


See Also

TIdSocketHandle


TIdSimpleServer.BeginListen

TIdSimpleServer	See Also

Initializes the listener thread for the server.

procedure BeginListen; virtual;

Description

BeginListen is a procedure used initialize the connection state and insure that the ListenHandle has called Bind.

BeginListen calls ResetConnection to clear the internal flags used by the server. BeginListen calls the Listen method for Binding and sets the internal flag that indicates that the server is listening for client connections.

BeginListen is called from Listen prior to entering the control loop for the listener thread.


See Also

TIdStackSocketHandle

TIdSocketHandle


TIdSimpleServer.Bind

TIdSimpleServer	See Also

Allocates and binds the socket handle for the listener thread.

procedure Bind; virtual;

Description

Bind is a procedure used to allocate the socket handle for the listener thread, and bind the address specified in BoundIP and BoundPort.

ListenHandle will contain the handle for the Binding. If an exception occurs, ListenHandle is assigned the value Id_INVALID_SOCKET and the exception is raised.


See Also

TIdSocketHandle.AllocateSocket

TIdSocketHandle.Bind


TIdSimpleServer.Create

TIdSimpleServer

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Description

Create is the constructor for the object instance, and relies on the inherited Create method. Create sets the value of ListenHandle to Id_INVALID_SOCKET.


TIdSimpleServer.Listen

TIdSimpleServer	See Also

Allows a server to listen for a client connection.

function Listen: Boolean; virtual;

Returns

Boolean - True on success, False on error.

Description

Listen is a Boolean function that allows TIdSimpleServer to listen for serial connection requests. Listen returns True when a connection request is detected, accepted, and is readable. Listen returns False if the AcceptWait timeout period elapses while trying to select the socket handle, or the Abort procedure is called.

Listen call BeginListen to initialize the server socket handle and state prior to entering the listener thread of execution. Listen provides a control loop that uses both AbortRequested and the socket handle Binding to determine when the server should stop listening for a client connection.

While AbortRequested is False, Listen will insure that the Binding is readable using the AcceptWait timeout value. When a connection request is detected, Listen calls Accept using the Handle for Binding.

When AbortRequested is True or a new connection has handled with Accept, Listen will close and invalidate the socket handle in ListenHandle.


See Also

TIdStackWinsock

TIdSocketHandle

TIdStackSocketHandle


TIdSimpleServer.ResetConnection

TIdSimpleServer

Clears connection and state indicators for the server.

procedure ResetConnection; override;

Description

ResetConnection is a procedure used to clear the values in AbortedRequested and Listening prior to entering the control loop for the listener thread. ResetConnection calls the inherited ResetConnection method.


TIdSMTP

Hierarchy	Members	Properties	Methods	See Also	Unit: IdSMTP

Implements a Simple Mail Transfer Protocol client.

TIdSMTP = class(TIdMessageClient)

Description

TIdSMTP is a TIdMessageClient descendant that implements a Simple Mail Transfer Protocol or SMTP client, as described in the Internet Standards documents:

Simple Mail Transfer Protocol (SMTP), RFC 821

SMTP Service Extensions, RFC 1869

SMTP Service Extension for Authentication, RFC 2554

Use TIdPOP3 to retrieve E-Mail messages from a mail server to the user's computer.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPConnection

|

TIdTCPClient

|

TIdMessageClient

|

TIdSMTP


TIdSMTP Fields

TIdSMTP


TIdSMTP Properties

TIdSMTP	Legend

TIdSMTP

 AuthenticationType

 AuthSchemesSupported

 MailAgent

 Password

 Port

 UserId

TIdMessageClient

 MsgLineFold

 MsgLineLength

TIdTCPClient

 BoundIP

 Host

 OnConnected

 Port

 SocksInfo

 UseNagle

TIdTCPConnection

 ASCIIFilter

 Binding

 ClosedGracefully

 CmdResult

 CmdResultDetails

 Intercept

 InterceptEnabled

 OnDisconnected

 OnWork

 OnWorkBegin

 OnWorkEnd

 ReadLnTimedOut

 RecvBufferSize

 ResultNo

 SendBufferSize

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdSMTP Events

TIdSMTP	Legend

TIdComponent

 OnStatus


Legend

 published


TIdSMTP Methods

TIdSMTP	Legend

TIdSMTP

 Assign

 Authenticate

 Connect

 Create

 Destroy

 Disconnect

 QuickSend

 Send

TIdMessageClient

 Create

TIdTCPClient

 Connect

 ConnectAndGetAll

 Create

 Destroy

TIdTCPConnection

 AllData

 CancelWriteBuffer

 Capture

 CheckForDisconnect

 CheckForGracefulDisconnect

 CheckResponse

 ClearWriteBuffer

 CloseWriteBuffer

 Connected

 Create

 CurrentReadBuffer

 CurrentReadBufferSize

 Destroy

 Disconnect

 DisconnectSocket

 ExtractXBytesFromBuffer

 FlushWriteBuffer

 GetResponse

 InputLn

 OpenWriteBuffer

 procedure RaiseExceptionForCmdResult; virtual; overload;

 procedure RaiseExceptionForCmdResult(axException: TClassIdException); virtual; overload;

 ReadBuffer

 ReadCardinal

 ReadFromStack

 ReadInteger

 ReadLn

 ReadLnWait

 ReadSmallInt

 ReadStream

 ReadString

 RemoveXBytesFromBuffer

 function SendCmd(const AOut: string; const AResponse: SmallInt): SmallInt; overload;

 function SendCmd(const AOut: string; const AResponse: Array of SmallInt): SmallInt; virtual; overload;

 WaitFor

 Write

 WriteBuffer

 WriteCardinal

 WriteFile

 WriteHeader

 WriteInteger

 WriteLn

 WriteSmallInt

 WriteStream

 WriteStrings

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdSMTP Members

TIdSMTP	Legend

Properties

 AuthenticationType

 AuthSchemesSupported

 MailAgent

 Password

 Port

 UserId

Methods

 Assign

 Authenticate

 Connect

 Create

 Destroy

 Disconnect

 QuickSend

 Send


Legend

 virtual

 published


TIdSMTP.AuthenticationType

TIdSMTP

Authentication used by the SMTP host.

property AuthenticationType: TAuthenticationType;

Description

AuthenticationType is a TAuthenticationType property that specifies the authentication type used by an E-Mail server. Currently, this can be one of two values:

atNone - no authentication is required

atLogin - simple authentication is required (AUTH LOGIN)

The default value for AuthenticationType is ID_TIDSMTP_AUTH_TYPE.

You can find the authentication mechanisms supported on an E-Mail server by using AuthSchemesSupported.


TIdSMTP.AuthSchemesSupported

TIdSMTP

List the supported authentication method for the server.

property AuthSchemesSupported: TStringList;

Description

AuthSchemesSupported is a read-only TStringList property that contains the authentication methods supported by an E-Mail server. AuthSchemesSupported is valid only when you are connected to the server. You can then set the AuthenticationType appropriately.

Note: A given SMTP server can support authentication mechanisms which are not implemented in TIdSMTP.


TIdSMTP.MailAgent

TIdSMTP

Identifies the program that created a message.

property MailAgent: string;

Description

MailAgent is a String property that identifies the name of a program used created or transmit a message.

This specifies your program name, and is placed in the SMTP "X-Mailer" header by the Send method.


TIdSMTP.Password

TIdSMTP

Specifies the password for SMTP account authentication.

property Password: string;

Description

Password is a String property that specifies the password for SMTP account authentication. UserID and Password are used by Authenticate when AuthenticationType is atLogin.


TIdSMTP.Port

TIdSMTP

Port number used for the connection.

property Port;

Description

Port is an Integer property that identifies the server port number server used for the client connection. By convention, some internet protocols reserve port number including:

21 - FTP

25 - SMTP

80 - HTTP

119 - NNTP

A client application may define it's own port to connect to a server running the same port.


TIdSMTP.UserId

TIdSMTP

Specifies the user account for the SMTP server.

property UserId: string;

Description

UserID is a String property that specifies the user ID used to log into the SMTP Server. UserID and Password are used, in Authenticate, to perform account verification when AuthenticationType is atLogin.


TIdSMTP.Assign

TIdSMTP

Copies property values to the current instance.

procedure Assign(Source: TPersistent); override;

Parameters

Source: TPersistent

Object instance containing property values to be copied.

Description

Assign is a procedure that allows an persistent object instance to copy property values from another persistent object instance to the current instance.

For TIdSMTP, Assign will load the following property values:

AuthenticationType

Host

MailAgent

Password

Port

UserId


TIdSMTP.Authenticate

TIdSMTP

Performs account authentication on the SMTP server.

function Authenticate: Boolean; virtual;

Returns

Boolean - True on success.

Description

Authenticate is a Boolean function that performs account authentication on the SMTP server. Authenticate returns True when successful, or False if authentication failed.

You must specify the AuthenticationType before calling the Authenticate method. Authenticate should be called only once for a SMTP session.

Send will also call Authenticate before transmission of an E-Mail message, if the SMTP session has not been authenticated.

When AuthenticationType is atLogin, Authenticate sends the Base64-encoded values for UserID and Password to the server using the SMTP LOGIN command.


TIdSMTP.Connect

TIdSMTP

Opens a connection to the SMTP server.

procedure Connect; override;

Description

Connect is a procedure that opens a connection to the SMTP server using the Host and Port properties. An exception will be raised if the connection fails or returns an invalid SMTP response code.

After establishing the socket connection, Connect will clear AuthSchemesSupported and hail the server using the SMTP EHLO or HELO commands. AuthSchemesSupported will be loaded when authentication is available on the SMTP server.

If an exception is raised in Connect, the socket handle binding will Disconnect and the exception will be re-raised.


TIdSMTP.Create

TIdSMTP

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance. Create initializes AuthSchemesSupported to ignore duplicate entries, and sets Port to the default SMTP port number (IdPORT_SMTP).


TIdSMTP.Destroy

TIdSMTP

Frees the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance. Destroy clears and releases the AuthSchemesSupported property prior to calling the inherited Destroy method.


TIdSMTP.Disconnect

TIdSMTP

Closes the SMTP session and socket binding.

procedure Disconnect; override;

Description

Disconnect is a procedure that closes the SMTP session and the socket binding for the client connection.

When Connected is True, the SMTP QUIT command is used to inform the server that the session will be ended. Disconnect will also indicate that the SMTP session has not been previously authenticated.


TIdSMTP.QuickSend

TIdSMTP

Sends a message without an Indy message instance.

class procedure QuickSend(const AHost: String; const ASubject: String; const ATo: String; const AFrom: String; const AText: String);

Parameters

const AHost: String

SMTP server used to send the message.

const ASubject: String

Subject of the message.

const ATo: String

Recipient(s) of the message.

const AFrom: String

Person sending the message.

const AText: String

Body text for the message.

Description

QuickSend is a class procedure that allows the SMTP client to quickly send a message without the need for a TIdMessage instance. QuickSend cannot be used to send messages with attachments.

Parameters for the method are used to construct a TIdMessage instance, connect and send the message to the SMTP server, and to Disconnect from the SMTP server. The following is an example of using QuickSend with pre-defined application variables:

  try

    ASmtp.QuickSend(SMailhost, SSubject, SUserAccount,

      SContactAccount, ABody.Text);

  except on E:

    do DoReminderTransmitError(E);

  end;


TIdSMTP.Send

TIdSMTP

Sends an Indy message instance to the SMTP server.

procedure Send(AMsg: TIdMessage); virtual;

Parameters

AMsg: TIdMessage

Message instance to be transmitted.

Description

Send is a procedure that sends the TIdMessage specified in AMsg using the SMTP server specified in the Host property. Send will call Authenticate when the SMTP session has never been authenticated.

Send transmits RFC 822 message headers to the SMTP server, including all Recipients, Carbon-Copy recipients, and Blind Carbon-Copy recipients before sending any extra RFC 822 message headers and data for the message.


TIdSNTP

Hierarchy	Members	Properties	Methods	See Also	Unit: IdSNTP

Implements a Simple Network Time Protocol client.

TIdSNTP = class(TIdUDPClient)

Description

The TIdSNTP implements a client for the Simple Network Time Protocol (SNTP), as described in the Internet standards document:

Simple Network Time Protocol (SNTP) Version 4 for IPv4, IPv6 and OSI, RFC 2030

SNTP is an extremely reliable protocol for time-synchronization on the Internet with accuracy from 1 to 50 milliseconds, even over great distances.

SNTP Version 4 includes certain optional extensions to the basic Version 3 model. TIdSNTP does not implement the optional extensions for either Key Identifier or Message Digest portions of the NTP/SNTP message format.

TIdSNTP, a descendant of TIdUDPClient, utilizes SNTP in the unicast client mode.


See Also

TIdUDPClient

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdUDPBase

|

TIdUDPClient

|

TIdSNTP


TIdSNTP Fields

TIdSNTP


TIdSNTP Properties

TIdSNTP	Legend

TIdSNTP

 AdjustmentTime

 DateTime

 Port

 RoundTripDelay

TIdUDPClient

 Host

 Port

 ReceiveTimeout

TIdUDPBase

 Active

 Binding

 BroadcastEnabled

 BufferSize

 ReceiveTimeout

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdSNTP Events

TIdSNTP	Legend

TIdComponent

 OnStatus


Legend

 published


TIdSNTP Methods

TIdSNTP	Legend

TIdSNTP

 Create

 SyncTime

TIdUDPClient

 Send

 SendBuffer

TIdUDPBase

 Broadcast

 Create

 Destroy

 function ReceiveBuffer(var ABuffer; const ABufferSize: Integer; const AMSec: Integer): integer; overload;

 function ReceiveBuffer(var ABuffer; const ABufferSize: Integer; var VPeerIP: string; var VPeerPort: integer; AMSec: Integer): integer; overload;

 function ReceiveString(const AMSec: Integer): string; overload;

 function ReceiveString(var VPeerIP: string; var VPeerPort: integer; const AMSec: Integer): string; overload;

 Send

 SendBuffer

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdSNTP Members

TIdSNTP	Legend

Properties

 AdjustmentTime

 DateTime

 Port

 RoundTripDelay

Methods

 Create

 SyncTime


Legend

 virtual

 published


TIdSNTP.AdjustmentTime

TIdSNTP	See Also

Local clock offset

property AdjustmentTime: TDateTime;

Description

AdjustmentTime is a read-only TDateTime property that returns the local clock offset calculated when DateTime is retrieved from the SNTP server.

AdjustmentTime is calculated according to the algorithm in RFC 2030.


See Also

TIdSNTP.DateTime


TIdSNTP.DateTime

TIdSNTP	See Also

Date and time returned for the client

property DateTime: TDateTime;

Description

DateTime is a read-only TDateTime property used to store the date and time value retrieved using the SNTP client.

The value in DateTime is read using the protected function GetDateTime. GetDateTime creates an TNTPGram datagram , transmits the datagram as a string containing the unicast SNTP request using Send, and retrieves the response using ReceiveString. If the response is not an empty string, TIdSNTP properties are updated with values in the response.

The value of DateTime can be 0.0 when the NTP datagram response is either an empty string or ignored based on values in LeapIndicator, Stratum, or TransmitTimestamp fields of the response TNTPGram.

Reading the value of DateTime does not affect the clock on the local computer. SyncTime reads DateTime prior to updating the clock on the local computer.


See Also

TNTPGram

TIdSNTP.SyncTime


TIdSNTP.Port

TIdSNTP

Default port number for the SNTP connection.

property Port;

Description

Port is a published property in TIdSNTP that identifies the default port number used for connections to an Network Time Protocol server. The default value for Port is IdPORT_SNTP.


TIdSNTP.RoundTripDelay

TIdSNTP	See Also

Duration required to retrieve the date and time value.

property RoundTripDelay: TDateTime;

Description

RoundTripDelay is a read-only TDateTime property that returns the round trip delay duration calculated when DateTime is retrieved from the SNTP server.

RoundTripDelay is calculated according to the algorithm in RFC 2030.


See Also

TIdSNTP.DateTime


TIdSNTP.Create

TIdSNTP

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance. Create calls the inherited Create method to initialize the object instance, and sets Port to the default value IdPORT_SNTP.


TIdSNTP.SyncTime

TIdSNTP	See Also

Updates the clock on the local computer.

function SyncTime: Boolean;

Returns

Boolean - True on success.

Description

SyncTime is a Boolean function that updates the clock on the local computer, and returns True if the value of DateTime is not an invalid value or the TNTPGram response is not ignored.


See Also

TIdSNTP.DateTime

TNTPGram


TIdSocketHandle

Hierarchy	Members	Properties	Methods	See Also	Unit: IdSocketHandle

Represents a low-level socket binding.

TIdSocketHandle = class(TCollectionItem)

Description

TIdSocketHandle encapsulates the low-level socket binding and its associated functions. A socket binding is the handle used for sending and receiving data, making and closing a connection, or waiting for a connection (listening).

TIdSocketHandle is used by TIdTCPConnection descendants in Indy to encapsulate the low-level connection and methods used to access the protocol stack in Binding.


See Also

TIdTCPConnection

TIdTCPServer

TIdStack

Technical Support


Class Hierarchy

TCollectionItem

|

TIdSocketHandle


TIdSocketHandle Fields

TIdSocketHandle


TIdSocketHandle Properties

TIdSocketHandle	Legend

TIdSocketHandle

 Handle

 HandleAllocated

 IP

 PeerIP

 PeerPort

 Port


Legend

 published


TIdSocketHandle Events

TIdSocketHandle


TIdSocketHandle Methods

TIdSocketHandle	Legend

TIdSocketHandle

 Accept

 AllocateSocket

 Assign

 Bind

 CloseSocket

 Connect

 Create

 Destroy

 Listen

 Readable

 Recv

 RecvFrom

 Reset

 Send

 SendTo

 SetPeer

 SetSockOpt

 UpdateBindingLocal

 UpdateBindingPeer


Legend

 virtual


TIdSocketHandle Members

TIdSocketHandle	Legend

Properties

 Handle

 HandleAllocated

 IP

 PeerIP

 PeerPort

 Port

Methods

 Accept

 AllocateSocket

 Assign

 Bind

 CloseSocket

 Connect

 Create

 Destroy

 Listen

 Readable

 Recv

 RecvFrom

 Reset

 Send

 SendTo

 SetPeer

 SetSockOpt

 UpdateBindingLocal

 UpdateBindingPeer


Legend

 virtual

 published


TIdSocketHandle.Handle

TIdSocketHandle	See Also

Specifies the low-level socket handle for the binding.

property Handle: TIdStackSocketHandle;

Description

Handle is a read-only TIdStackSocketHandle property that encapsulate the low-level socket handle required to perform protocol stack API operations.

Handle is also referred to as the socket descriptor in UNIX parlance. Socket descriptors are not presumed to correspond to a regular file handle, and native file operations such as read(), write(), and close() cannot be assumed to work correctly when applied to socket descriptors.

Handle is assigned a valid value in Accept, and AllocateSocket. The value in Handle is Id_INVALID_SOCKET prior to calling one of these methods. Handle is release in CloseSocket.

HandleAllocated reflects the current state of Handle.


See Also

TIdStackSocketHandle

Accept

TIdSocketHandle.AllocateSocket

CloseSocket

Id_INVALID_SOCKET

TIdSocketHandle.HandleAllocated


TIdSocketHandle.HandleAllocated

TIdSocketHandle	See Also

Specifies the validity of the socket handle.

property HandleAllocated: Boolean;

Description

HandleAllocated is a read-only Boolean property that indicates if Handle is a valid socket descriptor.

HandleAlocated is True when a valid socket descriptor has been created in AllocateSocket or Accept. HandleAllocated is False when a socket descriptor has not been selected, or the value of Handle is Id_INVALID_SOCKET.

HandleAllocated is used to allow sockets, altered using SetSockOpt, to indicate that the socket handle is no longer available for send and receive operations.


See Also

TIdSocketHandle.Handle

Accept

TIdSocketHandle.AllocateSocket

CloseSocket

Id_INVALID_SOCKET

SetSockOpt


TIdSocketHandle.IP

TIdSocketHandle	See Also

Specifies the address of the local connection.

property IP: string;

Description

IP is a String property that identifies the address of the computer on the local connection. IP can be a computer name, such as "wvnvm.wvnet.edu", or an IP address in dotted-decimal format, such as "129.71.2.4".

IP is used in Bind and Connect to initialize or open a socket descriptor for the connection. IP is used in conjunction with Port to determine the local association used to identify the connection endpoint.


See Also

TIdSocketHandle.Port

Bind

Connect


TIdSocketHandle.PeerIP

TIdSocketHandle	See Also

Specifies the address of the remote connection.

property PeerIP: string;

Description

PeerIP is a read-only String property that identifies the address of the computer on the remote connection. PeerIP can be a computer name, such as "wvnvm.wvnet.edu", or an IP address in dotted-decimal format, such as "129.71.2.4".

PeerIP is used in conjunction with PeerPort to determine the association used to identify the remote connection endpoint.

PeerIP is updated in SetPeer, and as a result of Accept, SendTo, and RecvFrom operations.


See Also

TIdSocketHandle.PeerPort

Bind

Connect

Accept

SendTo

RecvFrom


TIdSocketHandle.PeerPort

TIdSocketHandle	See Also

Specifies the port number used by a peer connection.

property PeerPort: integer;

Description

PeerPort is a read-only Integer property that identifies the port number on the remote system where data is sent and received. PeerIP identifies the host name or dotted-decimal address of the remote system.

Note: Many port numbers are associated, by convention, with a particular service such as ftp or http as described in IdPorts. Some protocols use pre-defined port numbers. Port numbers below 1024 are reserved, but using a number above 1024 does not guarantee there will be no conflict.

PeerPort is updated using SetPeer, or when Accept is used to bind a connection to a remote system.


See Also

TIdSocketHandle.PeerIP

TIdSocketHandle.SetPeer

Accept

IdPorts


TIdSocketHandle.Port

TIdSocketHandle	See Also

Specifies the port number used by the local connection.

property Port: integer;

Description

Port is an Integer property that identifies the port number on the local system where data is sent and received. IP identifies the host name or dotted-decimal address of the local system.

Note: Many port numbers are associated, by convention, with a particular service such as ftp or http as described in IdPorts. Some protocols use pre-defined port numbers. Port numbers below 1024 are reserved, but using a number above 1024 does not guarantee there will be no conflict.

Port is used in conjunction with IP to determine the local association used to identify the connection endpoint from Bind and Connect.


See Also

IdPorts

TIdSocketHandle.IP

Bind

Connect


TIdSocketHandle.Accept

TIdSocketHandle	See Also

Accepts a connection on a listening socket.

procedure Accept(ASocket: TIdStackSocketHandle);

Parameters

ASocket: TIdStackSocketHandle

Socket descriptor with the connection request.

Description

Accept is a procedure that extracts a pending connection request for a socket descriptor, creates a new socket with the properties of the listening socket, an returns the socket handle of the new socket to Handle.

Accept is used by the listening thread of server applications that spawn new threads for each connection request, like TIdListenerThread and TIdUDPListenerThread.

Accept assigns the new socket descriptor to Handle and sets HandleAllocated to True.

Accept calls UpdateBindingLocal to insure that the protocol stack handler uses the correct protocol family, IP, and Port for servers that may listen on more than one local IP address.

Accept calls UpdateBindingPeer to insure that the protocol stack handler uses the correct protocol family, PeerIP, and PeerPort for the client connection.

If no pending connections are present on the socket descriptor, Accept will wait until a connection is present before exiting from the method.


See Also

TIdListenerThread

TIdUDPListenerThread


TIdSocketHandle.AllocateSocket

TIdSocketHandle	See Also

Creates a socket descriptor.

procedure AllocateSocket(const ASocketType: Integer; const AProtocol: Integer);

Parameters

const ASocketType: Integer = Id_SOCK_STREAM

Socket family. Default is Id_SOCK_STREAM.

const AProtocol: Integer = Id_IPPROTO_IP

Protocol family. Default is Id_IPPROTO_IP.

Description

AllocateSocket is a procedure that allocates a socket descriptor of the desired socket type and Internet protocol family as specified in the parameters.

ASocketType determines address family used for the connection, and indicates the valid protocol family options for the socket type. The following socket types are supported:

Id_SOCK_STREAM (Default)

Id_SOCK_DGRAM

Id_SOCK_RAW

AProtocol identifies the Internet protocol to be used for the given socket type. Only a single protocol exists to support a particular socket type using a given address format. The following protocol families are supported:

Id_IPPROTO_IP (Default)

Id_IPPROTO_ICMP

Id_IPPROTO_IGMP

Id_IPPROTO_TCP

Id_IPPROTO_UDP

Id_IPPROTO_RAW

AllocateSocket will call CloseSocket if the socket handle is already allocated.

AllocateSocket will set HandleAllocated to True to reflect the state of the socket handle.


See Also

Id_SOCK_STREAM

Id_SOCK_DGRAM

Id_SOCK_RAW

Id_IPPROTO_IP

Id_IPPROTO_ICMP

Id_IPPROTO_IGMP

Id_IPPROTO_TCP

Id_IPPROTO_UDP

Id_IPPROTO_RAW

CloseSocket

TIdSocketHandle.HandleAllocated


TIdSocketHandle.Assign

TIdSocketHandle

Copies the value of an object instance to the current instance.

procedure Assign(Source: TPersistent); override;

Parameters

Source: TPersistent

The object instance containing the values to copy.

Description

Assign is a procedure used to copy the value of properties in the TPersistent descendant Source to the current object instance. Assign updates the following property values:

IP

Port

PeerIP

PeerPort


TIdSocketHandle.Bind

TIdSocketHandle	See Also

Associates a local address with a socket.

procedure Bind;

Description

Bind is used on an unconnected socket to associate the IP and Port of the local host with Handle prior to Connect or Listen operations.

If the application does not care what address is assigned to it, it may use a blank IP (''). This allows the protocol stack to assign the Internet address Id_INADDR_ANY, and an any appropriate network interface will be used.

If the application does not care what port is assigned to it, it may use Port 0. This allows the protocol stack to assign a unique port to the application with a value between 1024 and 5000.

Use SetSockOpt to alter socket-level settings including broadcast, linger, buffering, and Nagle options.

Bind will raise an EIdException if the address in IP and Port is already in use.


See Also

TIdSocketHandle.IP

TIdSocketHandle.Port

Connect

Listen

Id_INADDR_ANY

SetSockOpt

EIdException


TIdSocketHandle.CloseSocket

TIdSocketHandle	See Also

Closes a socket.

procedure CloseSocket(const AResetLocal: boolean); virtual;

Parameters

const AResetLocal: boolean = True

Clears the local IP address and Port number when True.

Description

CloseSocket is a procedure to close a socket. CloseSocket allows the protocol stack to shutdown and release the socket handle for the descriptor. HandleAllocated is set to False to indicate to that the socket is no longer available to other threads of execution. CloseSocket has no effect if HandleAllocated is False.

AResetLocal indicates that rest should be called for the local connection.

CloseSocket is affected by options used in SetSockOpt for Id_SO_LINGER.


See Also

TIdSocketHandle.HandleAllocated

TIdSocketHandle.Reset

Id_SO_LINGER


TIdSocketHandle.Connect

TIdSocketHandle	See Also

Establish a connection to a peer.

function Connect(const AFamily: Integer): Integer; virtual;

Parameters

const AFamily: Integer = Id_PF_INET

Internet protocol family. Default is Id_PF_INET.

Returns

Integer - 0 on success.

Description

Connect is an Integer function that opens a connection to a remote system using the specified Internet protocol family.

Connect uses IP and Port, and the parameter AFamily, to call the Connect facilities of the protocol stack. When Connect has successfully completed, the socket will be ready to send and receive data using Send, SendTo, Recv, and RecvFrom.

Use Readable, any time following a successful Connect, to determine if the socket is in a valid input/output state.


See Also

TIdSocketHandle.IP

TIdSocketHandle.Port

Send

SendTo

Recv

RecvFrom

TIdSocketHandle.Readable


TIdSocketHandle.Create

TIdSocketHandle	See Also

Creates and initializes the binding instance.

constructor Create(ACollection: TCollection); override;

Parameters

ACollection: TCollection

Owner of the collection item instance.

Description

Create is the constructor for the collection item TIdSocketHandle, and relies on the inherited Create constructor to initialize the collection item.

The ACollection parameter is the TIdSocketHandles collection that owns the collection item instance. ACollection is used to retrieve the value in DefaultPort, and to assign that value to Port in the TIdSocketHandle instance.


See Also

TIdSocketHandle.Port

TIdSocketHandles

TIdSocketHandles.DefaultPort


TIdSocketHandle.Destroy

TIdSocketHandle

Disposes of the collection item instance.

destructor Destroy; override;

Description

Destroy is the destructor for the collection item. Destroy will call CloseSocket prior to invoking the inherited Destroy destructor.

Note: Do not call Destroy directly. Call Free instead.


TIdSocketHandle.Listen

TIdSocketHandle	See Also

Instructs a socket to listen for incoming connection.

procedure Listen(const anQueueCount: integer);

Parameters

const anQueueCount: integer = 5

Number of pending connection requests to allow. Default is 5.

Description

Listen is a procedure that allows a bound socket descriptor to wait for incoming connections. Listen is normally used in server applications that allow multiple simultaneous connections.

anQueueCount identifies the maximum number of pending connection requests to allow for the socket descriptor. Use care when specifying a larger value for anQueueCount; most protocol stacks limit the number of pending connections requests allowed per socket descriptor to a small value. Use Accept to service a pending connection request.

Handle identifies the socket descriptor used to listen for connections, and must not be connected prior to calling Listen.


See Also

Accept

TIdSocketHandle.Handle

Connect


TIdSocketHandle.Readable

TIdSocketHandle	See Also

Determines the read status of a socket.

function Readable(AMSec: Integer): boolean;

Parameters

AMSec: Integer = IdTimeoutDefault

Time-out value in milliseconds. Default is IdTimeoutDefault.

Returns

Boolean - True when the socket can be read.

Description

Readable is a Boolean function that is used to determine the status of the socket connection for read operations. Readable provides access to the Select API of the protocol stack.

Readable returns True when the socket descriptor is ready for read operations using Recv, RecvFrom, or Accept.

Readable will raise an EIdConnClosedGraceful exception if HandleAllocated contains False.

Readable detects the use of a TIdAntifreeze instance in an application. When present, Readable yields processing cycles during the lifetime of the method call to the TIdAntifreeze.DoProcess method.

When AMSec is IdTimeoutInfinite, Readable uses the IdleTimeout value in TIdAntifreeze as its time-out value. Readable will continue executing until the socket is ready to read.

When AMsec is larger than the IdleTimeout value in TIdAntifreeze, Readable is called using the difference between the two time-out values. If the socket is ready to read, no further processing is performed. If the socket is not ready to read, the time-out value is set to the IdleTimeout value in TIdAntifreeze and Readable is called again to determine the socket status. Readable yields processing cycles to the TIdAntifreeze.DoProcess method if the socket is still not ready to read.

Readable does not yield processing cycles when an instance of TIdAntifreeze has not been used in the application.


See Also

IdTimeoutDefault

IdTimeoutInfinite

Recv

RecvFrom

Accept

EIdConnClosedGracefully

TIdSocketHandle.HandleAllocated

TIdAntiFreezeBase.DoProcess


TIdSocketHandle.Recv

TIdSocketHandle	See Also

Receives data from a socket.

function Recv(var ABuf; ALen: Integer; AFlags: Integer): Integer;

Parameters

var ABuf

Buffer for the read operation.

ALen: Integer

Length of the read buffer.

AFlags: Integer

Flags to modify socket options.

Returns

Integer - Number of bytes read.

Description

Recv is an Integer function used to read incoming data from a connected socket descriptor.

Recv is used on streaming sockets, to read all available data up to the size of the read buffer. Recv can also retrieve Out-of-Band data on sockets configured using Id_SO_OOBINLINE in SetSockOpt. If no data is available on the socket, Recv waits for data to arrive.

AFlags can be used to alter the behavior of the Recv method beyond the options specified in SetSockOpt. The supported values of AFlags includes:

MSG_OOB - Process out-of-band data.

MSG_PEEK - Peek at the incoming data. The data is copied into the read buffer, but is not removed from the input queue.


See Also

SetSockOpt

Id_SO_OOBINLINE

MSG_OOB

MSG_PEEK

MSG_DONTROUTE


TIdSocketHandle.RecvFrom

TIdSocketHandle	See Also

Receive data from a socket and store the remote system address.

function RecvFrom(var ABuffer; const ALength: Integer; const AFlags: Integer; var VIP: string; var VPort: Integer): Integer; virtual;

Parameters

var ABuffer

Buffer for the read operation.

const ALength: Integer

Length of the read buffer.

const AFlags: Integer

Flags to modify socket options.

var VIP: string

IP Address of the remote connection.

var VPort: Integer

Port number of the remote connection.

Returns

Integer - Number of bytes read.

Description

RecvFrom is an Integer function used to read incoming data from a socket connection, and to store the address of the remote system in the variable parameters VIP and VPort.

RecvFrom is used on streaming sockets, to read all available data up to the size of the read buffer. RecvFrom can also retrieve Out-of-Band data on sockets configured using Id_SO_OOBINLINE in SetSockOpt. If no data is available on the socket, RecvFrom waits for data to arrive.

AFlags can be used to alter the behavior of the RecvFrom method beyond the options specified in SetSockOpt. The supported values of AFlags includes:

MSG_OOB - Process out-of-band data.

MSG_PEEK - Peek at the incoming data. The data is copied into the read buffer, but is not removed from the input queue.


See Also

SetSockOpt

Id_SO_OOBINLINE

MSG_OOB

MSG_PEEK

MSG_DONTROUTE


TIdSocketHandle.Reset

TIdSocketHandle

Restores the socket handle to an uninitialized state.

procedure Reset(const AResetLocal: boolean);

Parameters

const AResetLocal: boolean = True

Indicates that IP and Port are cleared for the connection.

Description

Reset is a procedure used to insure that TIdSocketHandle is in an uninitialized state. Reset clears the following properties to their uninitialized values:

HandleAllocated - False

Handle - Id_INVALID_SOCKET

PeerIP - '' (empty string)

PeerPort - 0

When aResetLocal is True, the IP and Port for the socket descriptor are reset to the following values:

IP = '' (empty string)

Port - 0

Reset is called from Create and CloseSocket.


TIdSocketHandle.Send

TIdSocketHandle	See Also

Sends data using a connected socket.

function Send(var Buf; len: Integer; flags: Integer): Integer;

Parameters

var Buf

Buffer to write to the socket.

len: Integer

Length of the write buffer.

flags: Integer

Flags to modify socket options.

Returns

Integer - Number of bytes read.

Description

Send is an Integer function used to write outgoing data to a connected socket. Send returns the total number of bytes sent over the socket connection.

Datagram sockets cannot write datagrams that are larger than the MAXUDPDG constant declared by the protocol stack. Streaming socket connections will attempt to write all data in the buffer up to the size specified.

AFlags can be used to alter the behavior of the Send method beyond the options specified in SetSockOpt. The supported values of Flags includes:

MSG_OOB - Send out-of-band data .

MSG_DONTROUTE - Do not route the data.


See Also

SetSockOpt

MSG_OOB

MSG_DONTROUTE


TIdSocketHandle.SendTo

TIdSocketHandle	See Also

Sends data to a specific address.

procedure SendTo(const AIP: string; const APort: Integer; var ABuffer; const ABufferSize: Integer);

Parameters

const AIP: string

IP address of the remote system.

const APort: Integer

Port number of the remote system.

var ABuffer

Buffer to send over the socket connection.

const ABufferSize: Integer

Size of the send buffer.

Description

SendTo is a procedure used to write outgoing data to a socket connected to the remote system specified in IP address and Port number.

SendTo will raise an EIdException exception if the number of bytes sent does not match the value in ABufferSize, or if the number of bytes sent is Id_SOCKET_ERROR.

SendTo is used on datagram or stream sockets. For datagram sockets, care must be taken not to exceed the maximum packet size of the protocol stack declared in MAXUDPDG. Streaming sockets will attempt to write all data in the buffer to the socket connection.

To send a broadcast datagram, the IP address parameter must contain Id_INADDR_ANY.


See Also

TIdSocketHandle.IP

TIdSocketHandle.Port

Id_SOCKET_ERROR

Id_INADDR_ANY


TIdSocketHandle.SetPeer

TIdSocketHandle	See Also

Updates the remote address of a socket connection.

procedure SetPeer(const asIP: string; anPort: integer);

Parameters

const asIP: string

IP address for the remote connection.

anPort: integer

Port number for the remote connection.

Description

SetPeer is a procedure used to update the PeerIP and PeerPort properties of the socket connection.

SetPeer is a convenience method provided for TIdTCPConnection descendants that may need to update the Binding property, like TIdTCPClient and TIdUDPBase.

SetPeer is also used by the listening thread of server applications that spawn new threads for each connection request, like TIdListenerThread and TIdUDPListenerThread.


See Also

TIdSocketHandle.PeerIP

TIdSocketHandle.PeerPort

TIdTCPConnection

TIdTCPClient

TIdUDPBase

TIdListenerThread

TIdUDPListenerThread


TIdSocketHandle.SetSockOpt

TIdSocketHandle

Sets socket options.

procedure SetSockOpt(level: Integer; optname: Integer; optval: PChar; optlen: Integer);

Parameters

level: Integer

Option level Id_SOL_SOCKET, Id_IPPROTO_TCP, or Id_IPPROTO_IP.

optname: Integer

Socket option to receive the option value.

optval: PChar

Value for the requested option.

optlen: Integer

Length of the option value buffer.

Description

SetSockOpt is a procedure used to set the value of socket-level options for a socket descriptor. Options can control socket operations such as receiving Out-Of-Band data, broadcasting datagram packets, and much more.

There are two types of socket options: Boolean and Data. Boolean options enable or disable a specific feature. Use a zero value in OptVal to disable a feature, and a non-zero value in OptVal to enable the feature.

Data options require the address used to store the value or structure in OptVal. OptNames use the contant values declared in IdStackConts.pas, including:

Id_SO_BROADCAST - Boolean

Allow transmission of broadcast messages on the socket.

Id_SO_DEBUG - Booean

Record debugging information.

Id_SO_DONTLINGER - Boolean

Don't block CloseSocket for unsent data.

Id_SO_DONTROUTE - Boolean

Don't route dsata, send it directly to the interface.

Id_SO_KEEPALIVE - Boolean

Send keepalive packets.

Id_SO_LINGER - Data Linger

Linger on close if unsent data is present.

Id_SO_OOBINLINE - Boolean

Receive out-of-band data in the normal data stream.

Id_SO_RCVBUF - Data Integer

Specify buffer size for receives.

Id_SO_REUSEADDR - Boolean

Allow the socket to be bound to an address which is already in use.

Id_SO_SNDBUF - Data Integer

Specify buffer size for sends.

Id_SO_RCVTIMEO - Data Integer

Receive timeout.

Id_SO_SNDTIMEO - Data Integer

Send timeout.

Id_IP_TTL - Data Integer

Set Time-To-Live in IP header fields.

Id_TCP_NODELAY - Boolean

Disables the Nagle algorithm for send coalascing.


TIdSocketHandle.UpdateBindingLocal

TIdSocketHandle	See Also

Updates the protocol family, and address for a socket handle.

procedure UpdateBindingLocal;

Description

UpdateBindingLocal is a procedure used to insure that the socket handle allocated for a connection uses the proper Protocol family, IP, and Port. UpdateBindingLocal is generally used for connections that can Listen on multiple IP addresses.


See Also

TIdSocketHandle.UpdateBindingPeer


TIdSocketHandle.UpdateBindingPeer

TIdSocketHandle	See Also

Updates the protocol family and remote address for a socket connection.

procedure UpdateBindingPeer;

Description

UpdateBindingPeer is a procedure used to update the Protocol family, PeerIP, and PeerPort for the peer connection on a socket handle. UpdateBindingPeer is generally used for connections that can accept client connections using multiple local IP addresses.


See Also

TIdSocketHandle.UpdateBindingLocal


TIdSocketHandles

Hierarchy	Members	Properties	Methods	See Also	Unit: IdSocketHandle

Collection of socket handles.

TIdSocketHandles = class(TOwnedCollection)

Description

The TIdSocketHandles collection contains TIdSocketHandle objects for the TIdTCPServer and TIdUDPServer components in their Bindings property. This permits a server to listen on more than one Port and IP address.

The bindings must meet the following criterion:

The binding must contain a port.

The bindings for a server must NEVER allow duplicates for port or IP/port assignments. (e.g. :30 - :30, 127.0.0.1:30, 127.0.0.1:30)

TIdSocketHandles is a TOwnedCollection descendant that maintains additional information about the ItemClass (TIdSocketHandle) for Items contained in the collection.

TIdSocketHandles contains the DefaultPort number to assign to new TIdSocketHandle instances added to the collection.


See Also

TIdTCPServer

TIdUDPServer

TIdSocketHandle

Technical Support


Class Hierarchy

TOwnedCollection

|

TIdSocketHandles


TIdSocketHandles Fields

TIdSocketHandles


TIdSocketHandles Properties

TIdSocketHandles

TIdSocketHandles

 DefaultPort

 Items


TIdSocketHandles Events

TIdSocketHandles


TIdSocketHandles Methods

TIdSocketHandles

TIdSocketHandles

 Add

 BindingByHandle

 Create


TIdSocketHandles Members

TIdSocketHandles

Properties

 DefaultPort

 Items

Methods

 Add

 BindingByHandle

 Create


TIdSocketHandles.DefaultPort

TIdSocketHandles	See Also

Specifies the default port number used to identify a socket connection.

property DefaultPort: integer;

Description

DefaultPort is an Integer property that identifies the default port number to assign to a new collection item. DefaultPort will be the value assigned to TIdSocketHandle.Port when the instance is added to the collection.

Note: Many values of DefaultPort are associated, by convention, with a particular service such as ftp or http.


See Also

TIdSocketHandle.Port


TIdSocketHandles.Items

TIdSocketHandles	See Also

Provides indexed access to the binding items in the collection.

property Items [Index: Integer]: TIdSocketHandle;

Description

Items is an indexed TIdSocketHandle property. Use Items to access an individual binding item in the collection. The value of the Index parameter corresponds to the Index property of the collection item.


See Also

TIdSocketHandle


TIdSocketHandles.Add

TIdSocketHandles	See Also

Creates a new collection item instance and adds it to Items.

function Add: TIdSocketHandle;

Returns

TIdSocketHandle - The binding added to the collection.

Description

Add is a function that creates a new instance of TIdSocketHandle, and adds the instance to the collection Items.

Add relies on the inherited Add method, and casts the new instance to the appropriate ItemClass (TIdSocketHandle) prior to exiting the method. Add assigns the value in DefaultPort to Port property of the new instance. Add returns the new collection item.


See Also

TIdSocketHandle

TIdSocketHandle.Port


TIdSocketHandles.BindingByHandle

TIdSocketHandles	See Also

Retrieve an Indy socket handle for the socket binding.

function BindingByHandle(const AHandle: TIdStackSocketHandle): TIdSocketHandle;

Parameters

const AHandle: TIdStackSocketHandle

The protocol stack socket handle binding to locate.

Returns

TIdSocketHandle - The Indy socket handle for the socket binding, or Nil.

Description

BindingByHandle is a TIdSocketHandle function used to retrieve an Indy socket from the socket handle collection. BindingByHandle examines Items starting with the most recently created item in the collection, and navigates towards the oldest of the collection Items.

The return value for BindingByHandle will be Nil if the socket binding specified by AHandle does not exist in the collection.


See Also

TIdSocketHandles.Items

TIdStackSocketHandle


TIdSocketHandles.Create

TIdSocketHandles

Constructs and initializes the collection before use.

constructor Create(AOwner: TComponent);

Description

Create constructs a properly initialized instance of the TIdSocketHandles collection. Create relies on the inherited Create constructor to assign both the Owner and the ItemClass (TIdSocketHandle) of the owned collection.

Note: If an exception is raised in the constructor, the Destroy destructor is called to clean up the failed instance.


TIdSSLConnectionIntercept

Hierarchy	Members	Methods	Unit: IdSSLIntercept

TIdSSLConnectionIntercept = class(TIdConnectionIntercept)

Description

The text for this class has been generated automatically. This means that it is not documented.


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdConnectionIntercept

|

TIdSSLConnectionIntercept


TIdSSLConnectionIntercept Fields

TIdSSLConnectionIntercept


TIdSSLConnectionIntercept Properties

TIdSSLConnectionIntercept	Legend

TIdConnectionIntercept

 Binding

 IsClient

 OnConnect

 RecvHandling

 SendHandling

TIdBaseComponent

 Version


Legend

 published


TIdSSLConnectionIntercept Events

TIdSSLConnectionIntercept


TIdSSLConnectionIntercept Methods

TIdSSLConnectionIntercept	Legend

TIdSSLConnectionIntercept

 Create

TIdConnectionIntercept

 Connect

 DataReceived

 DataSent

 Disconnect

 Recv

 Send

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdSSLConnectionIntercept Members

TIdSSLConnectionIntercept	Legend

Methods

 Create


Legend

 virtual

 published


TIdSSLConnectionIntercept.Create

TIdSSLConnectionIntercept

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Description

Create is the constructor and creates a new instance of the TIdSSLConnectionIntercept class and sets the RecvHandling and SendHandling properties to True.


TIdSSLContext

Hierarchy	Members	Fields	Properties	Methods	See Also	Unit: IdSSLOpenSSL

Implements a generic client or server SSL context.

TIdSSLContext = class(TObject)

Description

TIdSSLContext is a class that provides an implementation of a Secure Socket Layer Context. TIdSSLContext is used by TIdSSLConnectionIntercept descendants and TIdSSLSocket to allow a client or server SSL socket to connect using the desired SSL options and certificates.


See Also

Technical Support


Class Hierarchy

TObject

|

TIdSSLContext


TIdSSLContext Fields

TIdSSLContext

TIdSSLContext

 Parent


TIdSSLContext Properties

TIdSSLContext	Legend

TIdSSLContext

 CertFile

 KeyFile

 Method

 Mode

 RootCertFile

 StatusInfoOn

 VerifyDepth

 VerifyMode

 VerifyOn


Legend

 published


TIdSSLContext Events

TIdSSLContext


TIdSSLContext Methods

TIdSSLContext	Legend

TIdSSLContext

 Create

 Destroy

 LoadCert

 LoadKey

 LoadRootCert


Legend

 virtual


TIdSSLContext Members

TIdSSLContext	Legend

Fields

 Parent

Properties

 CertFile

 KeyFile

 Method

 Mode

 RootCertFile

 StatusInfoOn

 VerifyDepth

 VerifyMode

 VerifyOn

Methods

 Create

 Destroy

 LoadCert

 LoadKey

 LoadRootCert


Legend

 virtual

 published


TIdSSLContext.Parent

TIdSSLContext

Client or server that owns the SSL context.

Parent: TObject;

Description

Parent is a TObject property that represents the Indy client or server connection intercept that owns the SSL context.


TIdSSLContext.CertFile

TIdSSLContext

File containing the X.509 certificate.

property CertFile: String;

Description

CertFile is a String property that represents the file name that contains the content for the X.509 certificate.


TIdSSLContext.KeyFile

TIdSSLContext

File containing the Key for the X.509 certificate.

property KeyFile: String;

Description

KeyFile is a String property that represents the file name containing the contents for the X.509 certificate Key.


TIdSSLContext.Method

TIdSSLContext

SSL version and method for the X.509 certificate.

property Method: TIdSSLVersion;

Description

Method is a TIdSSLVersion property that identifies the SSL version number required, and the authentication method used for the X.509 certificate.


TIdSSLContext.Mode

TIdSSLContext

Authentication mode for the X.509 certificate.

property Mode: TIdSSLMode;

Description

Mode is a TIdSSLMode property that identifies the authentication mode for the X.509 certificate.


TIdSSLContext.RootCertFile

TIdSSLContext

File for the Root certificate for the X.509 certificate.

property RootCertFile: String;

Description

RootCertFile is a String property that identifies the file containing the content for the Root Certification Authority for the X.509 certificate.


TIdSSLContext.StatusInfoOn

TIdSSLContext

Indicates that the context can use status events.

property StatusInfoOn: Boolean;

Description

StatusInfoOn is a Boolean property that indicates when the SSL context can use the OnStatusInfo event handler for context status notifications.


TIdSSLContext.VerifyDepth

TIdSSLContext

Maximum number of links for the X.509 certificate.

property VerifyDepth: Integer;

Description

VerifyDepth is an Integer property that represents the maximum number of links permitted when verification is performed for the X.509 certificate.


TIdSSLContext.VerifyMode

TIdSSLContext

Verification options for the SSL content.

property VerifyMode: TIdSSLVerifyModeSet;

Description

VerifyMode is a TIdSSLVerifyModeSet property that represents the Verification options permitted for the SSL contents using the X.509 certificate


TIdSSLContext.VerifyOn

TIdSSLContext

Indicates that the context can use authentication events.

property VerifyOn: Boolean;

Description

VerifyOn is a Boolean property that indicates when the SSL context can use the OnVerifyPeer event handler for context authentication actions.


TIdSSLContext.Create

TIdSSLContext

Constructor for the object instance.

constructor Create;

Description

Create is the constructor for the object instance. On the Windows platform, Create will attempt to load the OpenSSL support .DLLs. If an error occurs while loading the support .DLLs, an EIdOSSLCouldNotLoadSSLLibrary exception will be raised.

Create sets Mode to sslmUnassigned.


TIdSSLContext.Destroy

TIdSSLContext

Frees the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance. Destroy frees the SSL context, and calls the inherited Destroy method.


TIdSSLContext.LoadCert

TIdSSLContext

Loads the certificate file for the SSL context.

function LoadCert: Boolean;

Returns

Boolean - True on success.

Description

LoadCert is a Boolean function that loads the certificate file in CertFile for the SSL context. LoadCert returns True if the certificate file is loaded, or False when the file does not exist or does not contain a valid PEM X.509 certificate.


TIdSSLContext.LoadKey

TIdSSLContext

Loads the key file for the SSL context.

function LoadKey: Boolean;

Returns

Boolean - True on success.

Description

LoadKey is a Boolean function that loads the X.509 certificate key file for the SSL context. LoadKey returns True if the Key file is loaded for the SSL context, and False if an error occurs while loading the key file or the file does not contain a valid X.509 PEM certificate key.


TIdSSLContext.LoadRootCert

TIdSSLContext

Loads the root certificate file for the SSL context.

function LoadRootCert: Boolean;

Returns

Boolean - True on success.

Description

LoadRootCert is a Boolean function that loads the root certificate file in RootCertFile for the SSL context. LoadRootCert returns True if the root certificate file is loaded, or False when the file does not exist or does not contain a valid PEM X.509 certificate.


TIdSSLOptions

Hierarchy	Members	Properties	See Also	Unit: IdSSLOpenSSL

Represents SSL certificate and usage options.

TIdSSLOptions = class(TPersistent)

Description

TIdSSLOptions is a TPersistent descendant that represents SSL options for Indy connection intercept classes. TIdSSLOptions implements properties that identify certificate files for the Root and User Certificates, User Key file, as well as SSL version number, method, and mode.

TIdSSLOptions is used in TIdConnectionInterceptOpenSSL and TIdServerInterceptOpenSSL implementations.


See Also

TIdConnectionInterceptOpenSSL

TIdServerInterceptOpenSSL

Technical Support


Class Hierarchy

TPersistent

|

TIdSSLOptions


TIdSSLOptions Fields

TIdSSLOptions


TIdSSLOptions Properties

TIdSSLOptions	Legend

TIdSSLOptions

 CertFile

 KeyFile

 Method

 Mode

 RootCertFile

 VerifyDepth

 VerifyMode


Legend

 published


TIdSSLOptions Events

TIdSSLOptions


TIdSSLOptions Methods

TIdSSLOptions


TIdSSLOptions Members

TIdSSLOptions	Legend

Properties

 CertFile

 KeyFile

 Method

 Mode

 RootCertFile

 VerifyDepth

 VerifyMode


Legend

 published


TIdSSLOptions.CertFile

TIdSSLOptions

File containing the X.509 certificate.

property CertFile: TFileName;

Description

CertFile is a TFileName property that represents the file name that contains the content for the X.509 certificate.


TIdSSLOptions.KeyFile

TIdSSLOptions

File containing the Key for the X.509 certificate.

property KeyFile: TFileName;

Description

KeyFile is a TFileName property that represents the file name containing the contents for the X.509 certificate Key.


TIdSSLOptions.Method

TIdSSLOptions

SSL version and method for the X.509 certificate.

property Method: TIdSSLVersion;

Description

Method is a TIdSSLVersion property that identifies the SSL version number required, and the authentication method used for the X.509 certificate.


TIdSSLOptions.Mode

TIdSSLOptions

Authentication mode for the X.509 certificate.

property Mode: TIdSSLMode;

Description

Mode is a TIdSSLMode property that identifies the authentication mode for the X.509 certificate.


TIdSSLOptions.RootCertFile

TIdSSLOptions

File for the Root certificate for the X.509 certificate.

property RootCertFile: TFileName;

Description

RootCertFile is a TFileName property that identifies the file containing the content for the Root Certification Authority for the X.509 certificate.


TIdSSLOptions.VerifyDepth

TIdSSLOptions

Maximum number of links for the X.509 certificate.

property VerifyDepth: Integer;

Description

VerifyDepth is an Integer property that represents the maximum number of links permitted when verification is performed for the X.509 certificate.


TIdSSLOptions.VerifyMode

TIdSSLOptions

Verification options for the SSL content.

property VerifyMode: TIdSSLVerifyModeSet;

Description

VerifyMode is a TIdSSLVerifyModeSet property that represents the Verification options permitted for the SSL contents using the X.509 certificate


TIdSSLServerIntercept

Hierarchy	See Also	Unit: IdSSLIntercept

Ancestor for Indy Secure Sockets Layer server intercept classes.

TIdSSLServerIntercept = class(TIdServerIntercept)

Description

The TIdSSLServerIntercept class is ancestor for Secure Sockets Layer server intercept classes such as TIdServerInterceptOpenSSL. You do not create instances of this object.

Indy does not give you any legal rights to use SSL. Some nations including the U.S. regulate or prohibit the export of strong-encryption such as SSL. In addition, using SSL in some nations may be illegal. It is up to you to determine the legal situation in your nation.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdServerIntercept

|

TIdSSLServerIntercept


TIdSSLServerIntercept Fields

TIdSSLServerIntercept


TIdSSLServerIntercept Properties

TIdSSLServerIntercept

TIdBaseComponent

 Version


TIdSSLServerIntercept Events

TIdSSLServerIntercept


TIdSSLServerIntercept Methods

TIdSSLServerIntercept	Legend

TIdServerIntercept

 Accept

 Init

TIdBaseComponent

 GetVersion


Legend

 abstract


TIdSSLServerIntercept Members

TIdSSLServerIntercept	Legend


Legend

 abstract


TIdSSLSocket

Hierarchy	Members	Fields	Properties	Methods	See Also	Unit: IdSSLOpenSSL

Implements a socket connection for the SSL transport protocol.

TIdSSLSocket = class(TObject)

Description

TIdSSLSocket is a class that provides a socket implementation that supports the Secure Socket Layer transport protocol. TIdSSLSocket allows both client and server SSL connections using an SSL context, as well as support for session identifiers and X.509 certificate files.


See Also

Technical Support


Class Hierarchy

TObject

|

TIdSSLSocket


TIdSSLSocket Fields

TIdSSLSocket

TIdSSLSocket

 fSSL


TIdSSLSocket Properties

TIdSSLSocket

TIdSSLSocket

 PeerCert


TIdSSLSocket Events

TIdSSLSocket


TIdSSLSocket Methods

TIdSSLSocket	Legend

TIdSSLSocket

 Accept

 Connect

 Create

 Destroy

 GetSessionID

 GetSessionIDAsString

 SetCipherList


Legend

 virtual


TIdSSLSocket Members

TIdSSLSocket	Legend

Fields

 fSSL

Properties

 PeerCert

Methods

 Accept

 Connect

 Create

 Destroy

 GetSessionID

 GetSessionIDAsString

 SetCipherList


Legend

 virtual


TIdSSLSocket.fSSL

TIdSSLSocket

Pointer to the SSL socket.

fSSL: PSSL;

Description

fSSL is a PSSL member variable that is a pointer to the SSL socket created for the SSL socket.


TIdSSLSocket.PeerCert

TIdSSLSocket

X.509 certificate for a peer on the SSL socket connection.

property PeerCert: TIdX509;

Description

PeerCert is a read-only TIdX509 property that represents the X.509 certificate for a peer connection on the SSL socket.


TIdSSLSocket.Accept

TIdSSLSocket

Creates and binds a new SSL socket.

procedure Accept(const pHandle: TIdStackSocketHandle; fSSLContext: TIdSSLContext);

Parameters

const pHandle: TIdStackSocketHandle

Socket handle binding used for the new SSL socket.

fSSLContext: TIdSSLContext

SSL context for the SSL socket.

Description

Accept is a procedure that initializes an SSL socket for the SSL context specified in fSSLContext, and binds the SSL socket using the socket handle in pHandle.


TIdSSLSocket.Connect

TIdSSLSocket

Creates and binds a new client SSL socket.

procedure Connect(const pHandle: TIdStackSocketHandle; fSSLContext: TIdSSLContext);

Parameters

const pHandle: TIdStackSocketHandle

Socket handle binding for the SSL socket.

fSSLContext: TIdSSLContext

SSL context for the SSL socket.

Description

Connect is a procedure that initializes an SSL socket for the client SSL context specified in fSSLContext, and binds the SSL socket using the socket handle in pHandle.


TIdSSLSocket.Create

TIdSSLSocket

Constructor for the object instance.

constructor Create(Parent: TObject);

Parameters

Parent: TObject

Owner of the object instance.

Description

Create is the constructor for the object instance. Create assigns the Parent for the SSL socket.


TIdSSLSocket.Destroy

TIdSSLSocket

Frees an object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance. Destroy will shutdown the SSL socket prior to freeing and releasing the object instance. Destroy calls the inherited Destroy method.


TIdSSLSocket.GetSessionID

TIdSSLSocket

SSL session identifier for the SSL socket.

function GetSessionID: TByteArray;

Description

GetSessionID is a TByteArray function that returns SSL session identifier for the SSL socket.


TIdSSLSocket.GetSessionIDAsString

TIdSSLSocket

SSL session identifier in hexadecimal form.

function GetSessionIDAsString: String;

Description

GetSessionIDAsString is a String function that returns a string containing the hexadecimal representation of the SSL session identifier for the SSL socket.


TIdSSLSocket.SetCipherList

TIdSSLSocket

SetCipherList is not currently implemented.

procedure SetCipherList(CipherList: String);

Description

SetCipherList is not currently implemented.


TIdStack

Hierarchy	Members	Properties	Methods	See Also	Unit: IdStack

Ancestor for platform-specific protocol stack interfaces.

TIdStack = class

Description

TIdStack is an ancestor class for platform-specific protocol stack interfaces. This class is created and destroyed as needed. This is mentioned only because there a few useful low-level properties and methods.


See Also

Technical Support


Class Hierarchy

TObject

|

TIdStack


TIdStack Fields

TIdStack


TIdStack Properties

TIdStack

TIdStack

 LocalAddress

 LocalAddresses

 StackVersion


TIdStack Events

TIdStack


TIdStack Methods

TIdStack	Legend

TIdStack

 function CheckForSocketError(const AResult: integer): boolean; overload;

 function CheckForSocketError(const AResult: integer; const AIgnore: array of integer): boolean; overload;

 Create

 CreateSocketHandle

 CreateStack

 Destroy

 IsIP

 RaiseSocketError

 ResolveHost

 StringToTInAddr

 TInAddrToString

 TranslateStringToTInAddr

 WSAccept

 WSBind

 WSCloseSocket

 WSConnect

 WSGetHostByAddr

 WSGetHostByName

 WSGetHostName

 WSGetLastError

 WSGetPeerName

 WSGetServByName

 WSGetServByPort

 WSGetSockName

 WSHToNL

 WSHToNs

 WSListen

 WSNToHL

 WSNToHs

 WSRecv

 WSRecvFrom

 WSSelect

 WSSend

 WSSendTo

 WSSetSockOpt

 WSShutdown

 WSSocket

 WSTranslateSocketErrorMsg


Legend

 abstract

 virtual


TIdStack Members

TIdStack	Legend

Properties

 LocalAddress

 LocalAddresses

 StackVersion

Methods

 function CheckForSocketError(const AResult: integer): boolean; overload;

 function CheckForSocketError(const AResult: integer; const AIgnore: array of integer): boolean; overload;

 Create

 CreateSocketHandle

 CreateStack

 Destroy

 IsIP

 RaiseSocketError

 ResolveHost

 StringToTInAddr

 TInAddrToString

 TranslateStringToTInAddr

 WSAccept

 WSBind

 WSCloseSocket

 WSConnect

 WSGetHostByAddr

 WSGetHostByName

 WSGetHostName

 WSGetLastError

 WSGetPeerName

 WSGetServByName

 WSGetServByPort

 WSGetSockName

 WSHToNL

 WSHToNs

 WSListen

 WSNToHL

 WSNToHs

 WSRecv

 WSRecvFrom

 WSSelect

 WSSend

 WSSendTo

 WSSetSockOpt

 WSShutdown

 WSSocket

 WSTranslateSocketErrorMsg


Legend

 abstract

 virtual


TIdStack.LocalAddress

TIdStack

Host name for the local computer.

property LocalAddress: string;

Description

LocalAddress is a read-only String property that contains the current host name. Use LocalAddresses to access all addresses assigned to the local computer.


TIdStack.LocalAddresses

TIdStack

List of host names for the local computer.

property LocalAddresses: TStrings;

Description

LocalAddresses is a read-only TStrings property that is a list of all host names for the local computer. Use LocalAddress to access the current host name for the local computer.


TIdStack.StackVersion

TIdStack

Protocol stack version for the local computer.

property StackVersion: TIdStackVersion;

Description

StackVersion is a read-only TIdStackVersion property that contains information about the protocol stack on the local computer. StackVersion properties can be extremely helpful for diagnosing problems on some computers.


TIdStack.CheckForSocketError

TIdStack

Performs a check for specific socket error numbers.

function CheckForSocketError(const AResult: integer): boolean; overload;
function CheckForSocketError(const AResult: integer; const AIgnore: array of integer): boolean; overload;

Parameters

const AResult: integer = Id_SOCKET_ERROR

Error number to ne checked. Default value is Id_SOCKET_ERROR.

Returns

Boolean - True when a the last error is ignored.

Description

CheckForSocketError is a Boolean function used to perform a check for specific socket error numbers. When AResult does not contain Id_SOCKET_ERROR or AIgnore is an empty array, all socket errors are detected.

If the last socket error is contained in AIgnore, the return value is True. Under all other conditions the return values is False. If a socket error si detected and not ignored, RaiseSocketError is called with the socket error number detected.


TIdStack.CheckForSocketError

TIdStack

Performs a check for specific socket error numbers.

function CheckForSocketError(const AResult: integer): boolean; overload;
function CheckForSocketError(const AResult: integer; const AIgnore: array of integer): boolean; overload;

Parameters

const AResult: integer

Error number to ne checked. Default value is Id_SOCKET_ERROR.

const AIgnore: array of integer

An array of inter socket error numbers to be ignored.

Returns

Boolean - True when a the last error is ignored.

Description

CheckForSocketError is a Boolean function used to perform a check for specific socket error numbers. When AResult does not contain Id_SOCKET_ERROR or AIgnore is an empty array, all socket errors are detected.

If the last socket error is contained in AIgnore, the return value is True. Under all other conditions the return values is False. If a socket error si detected and not ignored, RaiseSocketError is called with the socket error number detected.


TIdStack.Create

TIdStack

Constructor for the object instance.

constructor Create; virtual;

Description

Create is the abstract constructor for the object instance overridden in descendant classes to provide any initialization sequences before using stack functions.


TIdStack.CreateSocketHandle

TIdStack

Creates a new socket descriptor.

function CreateSocketHandle(const ASocketType: Integer; const AProtocol: Integer): TIdStackSocketHandle;

Parameters

const ASocketType: Integer

Socket type for the descriptor.

const AProtocol: Integer = Id_IPPROTO_IP

Protocol family for the descriptor. Default value is Id_IPPROTO_IP.

Returns

TIdStackSocketHandle - Newly created socket descriptor.

Description

CreateSocketHandle is a TIdStackSocketHandle function that create a new socket descriptor using the socket type specifies in AScoketType and the protocol family specified in AProtocol.

On the Windows platform, CreateSocketHandle calls the WSSocket function. If an error occurs while creating the new socket descriptor, an EIdInvalidSocket exception is raised.


TIdStack.CreateStack

TIdStack

Get a platform-specific protocol stack instance.

class function CreateStack: TIdStack;

Description

CreateStack is a TIdStack class function that returns a TIdStack descendant for a specific platform. This is an internal procedure called by Indy so do not call this directly.


TIdStack.Destroy

TIdStack

Frees the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance, and is overridden in descendant classes so they can provide any needed shut-down required for stacks.


TIdStack.IsIP

TIdStack

Detects a numeric IP address.

function IsIP(AIP: string): boolean;

Parameters

AIP: string

Host name or IP address to be checked.

Returns

Boolean - True if the parameter is a numeric IP address.

Description

IsIP is a Boolean function that returns True if the string in AIP is a numeric IP address, or False if AIP contains a host name.

For example, if the value "129.71.2.4" is passed as AIP, this function will return True. If the value "wvnvm.wvnet.edu" is passed in AIP, this function will return False.


TIdStack.RaiseSocketError

TIdStack

Creates an exception for a socket error number.

procedure RaiseSocketError(const AErr: integer);

Parameters

const AErr: integer

Socket error number to be raised.

Description

RaiseSocketError is a procedure that raises an EIdSocketError exception. RaiseSocketError uses the error code specified by the AErr integer parameter as the LastError parameter, and the translated socket error message for the AErr integer value.

Note: It is normal to receive a 10038 exception (10038, NOT others!) here when *shutting down* (NOT at other times!) servers (NOT clients!). If you receive a 10038 exception here please see the FAQ at http://www.nevrona.com/Indy/FAQ.html

If you DID read the FAQ and have further questions, please feel free to ask using one of the methods (Carefully note that these methods do not include email) listed on the Tech Support link at http://www.nevrona.com/Indy


TIdStack.ResolveHost

TIdStack

Convert a host name into an IP address.

function ResolveHost(const AHost: string): string;

Parameters

const AHost: string

Host name to convert.

Returns

String - IP address for the host name.

Description

ResolveHost is a String function that returns the IP address for a given host name specified by the AHost parameter. For example, if AHost is set to "wvnvm.wvnet.edu", the function will return "129.71.2.4". If AHost was set to 129.71.2.4", this function returns "129.71.2.4".


TIdStack.StringToTInAddr

TIdStack

Converts an string into a structured IP address.

function StringToTInAddr(AIP: string): TIdInAddr;

Parameters

AIP: string

IP address string to be converted.

Returns

TIdInAddr - IP address structure.

Description

StringToTInAddr is a TIdInAddr function that returns a structure containing the IP Address specified by the AIP parameter. This function is used Internally in Indy.


TIdStack.TInAddrToString

TIdStack

Converts an IP structure to a string.

function TInAddrToString(var AInAddr): string; virtual; abstract;

Parameters

var AInAddr

IP address structure to convert.

Returns

String - String containing the converted IP address.

Description

TInAddrToString is a String function that returns an IP address as a string from a TInAddr structure. This is used internally in Indy so you do not call this directly.


TIdStack.TranslateStringToTInAddr

TIdStack

Translates a string a creates an IP address structure.

procedure TranslateStringToTInAddr(AIP: string; var AInAddr); virtual; abstract;

Parameters

AIP: string

String to be translated and converted.

var AInAddr

IP address structure for the converted value.

Description

TranslateStringToTInAddr that translates an IP address from the string parameter AIP and returns it in the TInAddr specified by the AInAddr parameter. This is used internally in Indy so you do not call this directly.


TIdStack.WSAccept

TIdStack

function WSAccept(ASocket: TIdStackSocketHandle; var VIP: string; var VPort: Integer): TIdStackSocketHandle; virtual; abstract;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStack.WSBind

TIdStack

function WSBind(ASocket: TIdStackSocketHandle; const AFamily: Integer; const AIP: string; const APort: Integer): Integer; virtual; abstract;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStack.WSCloseSocket

TIdStack

function WSCloseSocket(ASocket: TIdStackSocketHandle): Integer; virtual; abstract;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStack.WSConnect

TIdStack

function WSConnect(const ASocket: TIdStackSocketHandle; const AFamily: Integer; const AIP: string; const APort: Integer): Integer; virtual; abstract;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStack.WSGetHostByAddr

TIdStack

function WSGetHostByAddr(const AAddress: string): string; virtual; abstract;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStack.WSGetHostByName

TIdStack

function WSGetHostByName(const AHostName: string): string; virtual; abstract;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStack.WSGetHostName

TIdStack

function WSGetHostName: string; virtual; abstract;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStack.WSGetLastError

TIdStack

function WSGetLastError: Integer; virtual; abstract;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStack.WSGetPeerName

TIdStack

procedure WSGetPeerName(ASocket: TIdStackSocketHandle; var AFamily: Integer; var AIP: string; var APort: Integer); virtual; abstract;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStack.WSGetServByName

TIdStack

function WSGetServByName(const AServiceName: string): Integer; virtual; abstract;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStack.WSGetServByPort

TIdStack

function WSGetServByPort(const APortNumber: Integer): TStrings; virtual; abstract;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStack.WSGetSockName

TIdStack

procedure WSGetSockName(ASocket: TIdStackSocketHandle; var AFamily: Integer; var AIP: string; var APort: Integer); virtual; abstract;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStack.WSHToNL

TIdStack

function WSHToNL(AHostLong: LongWord): LongWord; virtual; abstract;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStack.WSHToNs

TIdStack

function WSHToNs(AHostShort: Word): Word; virtual; abstract;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStack.WSListen

TIdStack

function WSListen(ASocket: TIdStackSocketHandle; ABackLog: Integer): Integer; virtual; abstract;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStack.WSNToHL

TIdStack

function WSNToHL(ANetLong: LongWord): LongWord; virtual; abstract;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStack.WSNToHs

TIdStack

function WSNToHs(ANetShort: Word): Word; virtual; abstract;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStack.WSRecv

TIdStack

function WSRecv(ASocket: TIdStackSocketHandle; var ABuffer; ABufferLength: Integer; AFlags: Integer): Integer; virtual; abstract;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStack.WSRecvFrom

TIdStack

function WSRecvFrom(const ASocket: TIdStackSocketHandle; var ABuffer; const ALength: Integer; const AFlags: Integer; var VIP: string; var VPort: Integer): Integer; virtual; abstract;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStack.WSSelect

TIdStack

function WSSelect(ARead: TList; AWrite: TList; AErrors: TList; ATimeout: Integer): Integer; virtual; abstract;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStack.WSSend

TIdStack

function WSSend(ASocket: TIdStackSocketHandle; var ABuffer; const ABufferLength: Integer; const AFlags: Integer): Integer; virtual; abstract;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStack.WSSendTo

TIdStack

function WSSendTo(ASocket: TIdStackSocketHandle; var ABuffer; const ABufferLength: Integer; const AFlags: Integer; const AIP: string; const APort: integer): Integer; virtual; abstract;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStack.WSSetSockOpt

TIdStack

function WSSetSockOpt(ASocket: TIdStackSocketHandle; ALevel: Integer; AOptName: Integer; AOptVal: PChar; AOptLen: Integer): Integer; virtual; abstract;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStack.WSShutdown

TIdStack

function WSShutdown(ASocket: TIdStackSocketHandle; AHow: Integer): Integer; virtual; abstract;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStack.WSSocket

TIdStack

function WSSocket(AFamily: Integer; AStruct: Integer; AProtocol: Integer): TIdStackSocketHandle; virtual; abstract;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStack.WSTranslateSocketErrorMsg

TIdStack

function WSTranslateSocketErrorMsg(const AErr: integer): string; virtual;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStackVersion

Hierarchy	Members	Properties	Unit: IdStack

Represent version information for the protocol stack.

TIdStackVersion = class

Description

TIdStackVersion is an abstract class used to represent information about the protocol stack implementation on the local computer system. TIdStackVersion is used as an object property in TIdStack.StackVersion. TIdStackVersion can be extremely helpful for diagnosing problems on some computers.


Class Hierarchy

TObject

|

TIdStackVersion


TIdStackVersion Fields

TIdStackVersion


TIdStackVersion Properties

TIdStackVersion	Legend

TIdStackVersion

 Description

 LowVersion

 MaxSockets

 MaxUdpDg

 Name

 SystemStatus

 VendorInfo

 Version


Legend

 published


TIdStackVersion Events

TIdStackVersion


TIdStackVersion Methods

TIdStackVersion


TIdStackVersion Members

TIdStackVersion	Legend

Properties

 Description

 LowVersion

 MaxSockets

 MaxUdpDg

 Name

 SystemStatus

 VendorInfo

 Version


Legend

 published


TIdStackVersion.Description

TIdStackVersion

Vendor and protocol stack description.

property Description: string;

Description

Description is a read-only String property that is a description of the current protocol stack implementation including vendor identification information.


TIdStackVersion.LowVersion

TIdStackVersion

Protocol stack version number.

property LowVersion: Word;

Description

LowVersion is a read-only Word property that is the version number for the socket specification of the protocol stack.


TIdStackVersion.MaxSockets

TIdStackVersion

Maximum number of open sockets.

property MaxSockets: Cardinal;

Description

MaxSockets is a read-only Cardinal property that is the maximum number of sockets which a process can have open at one time. Often, MaxSockets is a global pool of socket handles available on the local computer system.


TIdStackVersion.MaxUdpDg

TIdStackVersion

Maximum UDP datagram size.

property MaxUdpDg: Cardinal;

Description

MaxUdpDg is a read-only Cardinal property that is the maximum size of a UDP Datagram for the protocol stack implementation. MaxUdpDg may contain zero (0) if there is no limit on the size of a UDP datagram for the current protocol stack implementation.


TIdStackVersion.Name

TIdStackVersion

Protocol stack identifier.

property Name: String;

Description

Name is a read-only String property that identifies the name of the protocol stack implementation.


TIdStackVersion.SystemStatus

TIdStackVersion

Protocol stack status and configuration information.

property SystemStatus: String;

Description

SystemStatus is a read-only String property that is the relevant status or configuration information for the protocol stack implementation.


TIdStackVersion.VendorInfo

TIdStackVersion

Vendor start-up information for the protocol stack.

property VendorInfo: string;

Description

VendorInfo is a read-only String property that represents vendor specific protocol stack startup information.


TIdStackVersion.Version

TIdStackVersion

Socket specification version number for the protocol stack.

property Version: Word;

Description

Version is a read-only Word property that is the highest version number of the socket specification supported by the protocol stack implementation.


TIdStackVersionWinsock

Hierarchy	Members	Methods	Unit: IdStackWinsock

Represents Winsock-specific protocol stack version information.

TIdStackVersionWinsock = class(TIdStackVersion)

Description

TIdStackVersionWinsock is a TIdStackVersion descendant used to represent Winsock-specific protocol stack version and initialization information for Indy.


Class Hierarchy

TObject

|

TIdStackVersion

|

TIdStackVersionWinsock


TIdStackVersionWinsock Fields

TIdStackVersionWinsock


TIdStackVersionWinsock Properties

TIdStackVersionWinsock	Legend

TIdStackVersion

 Description

 LowVersion

 MaxSockets

 MaxUdpDg

 Name

 SystemStatus

 VendorInfo

 Version


Legend

 published


TIdStackVersionWinsock Events

TIdStackVersionWinsock


TIdStackVersionWinsock Methods

TIdStackVersionWinsock	Legend

TIdStackVersionWinsock

 create


Legend

 virtual


TIdStackVersionWinsock Members

TIdStackVersionWinsock	Legend

Methods

 create


Legend

 virtual

 published


TIdStackVersionWinsock.create

TIdStackVersionWinsock

Constructor for the object instance.

constructor create(InfoStruct: Pointer); override;

Description

Create is the constructor for the object instance, and initializes a new TIdStackVersionWinsock. Create calls the Winsock start-up function and uses the start-up data provided to initialize the StackVersion for the interface to the protocol stack.


TIdStackWinsock

Hierarchy	Members	Methods	See Also	Unit: IdStackWinsock

Encapsulates the Windows-specific Winsock protocol stack used by Indy.

TIdStackWinsock = class(TIdStack)

Description

TIdStackWinsock is a TIdStack descendant that encapsulates the Winsock library into an object at a low-level. This class is created and destroyed as needed. This is mentioned only because there a few useful low-level properties and methods.


See Also

Technical Support


Class Hierarchy

TObject

|

TIdStack

|

TIdStackWinsock


TIdStackWinsock Fields

TIdStackWinsock


TIdStackWinsock Properties

TIdStackWinsock

TIdStack

 LocalAddress

 LocalAddresses

 StackVersion


TIdStackWinsock Events

TIdStackWinsock


TIdStackWinsock Methods

TIdStackWinsock	Legend

TIdStackWinsock

 Create

 Destroy

 TInAddrToString

 TranslateStringToTInAddr

 WSAccept

 WSBind

 WSCloseSocket

 WSConnect

 WSGetHostByAddr

 WSGetHostByName

 WSGetHostName

 WSGetLastError

 WSGetPeerName

 WSGetServByName

 WSGetServByPort

 WSGetSockName

 WSHToNL

 WSHToNs

 WSListen

 WSNToHL

 WSNToHs

 WSRecv

 WSRecvFrom

 WSSelect

 WSSend

 WSSendTo

 WSSetSockOpt

 WSShutdown

 WSSocket

TIdStack

 function CheckForSocketError(const AResult: integer): boolean; overload;

 function CheckForSocketError(const AResult: integer; const AIgnore: array of integer): boolean; overload;

 Create

 CreateSocketHandle

 CreateStack

 Destroy

 IsIP

 RaiseSocketError

 ResolveHost

 StringToTInAddr

 TInAddrToString

 TranslateStringToTInAddr

 WSAccept

 WSBind

 WSCloseSocket

 WSConnect

 WSGetHostByAddr

 WSGetHostByName

 WSGetHostName

 WSGetLastError

 WSGetPeerName

 WSGetServByName

 WSGetServByPort

 WSGetSockName

 WSHToNL

 WSHToNs

 WSListen

 WSNToHL

 WSNToHs

 WSRecv

 WSRecvFrom

 WSSelect

 WSSend

 WSSendTo

 WSSetSockOpt

 WSShutdown

 WSSocket

 WSTranslateSocketErrorMsg


Legend

 abstract

 virtual


TIdStackWinsock Members

TIdStackWinsock	Legend

Methods

 Create

 Destroy

 TInAddrToString

 TranslateStringToTInAddr

 WSAccept

 WSBind

 WSCloseSocket

 WSConnect

 WSGetHostByAddr

 WSGetHostByName

 WSGetHostName

 WSGetLastError

 WSGetPeerName

 WSGetServByName

 WSGetServByPort

 WSGetSockName

 WSHToNL

 WSHToNs

 WSListen

 WSNToHL

 WSNToHs

 WSRecv

 WSRecvFrom

 WSSelect

 WSSend

 WSSendTo

 WSSetSockOpt

 WSShutdown

 WSSocket


Legend

 abstract

 virtual


TIdStackWinsock.Create

TIdStackWinsock

Constructor for the object instance.

constructor Create; override;

Description

Create is the constructor for the object instance, and initializes a TIdStackWinsock object, dynamically loads the WSOCK32.DLL, and performs needed initialization for Winsock.


TIdStackWinsock.Destroy

TIdStackWinsock

Frees an object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance and performs necessary Winsock-specific shutdown, frees the WSOCK32.DLL library, and destroys the TIdStackWinsock object.


TIdStackWinsock.TInAddrToString

TIdStackWinsock

Converts an IP address structure to a string value.

function TInAddrToString(var AInAddr): string; override;

Parameters

var AInAddr

IP address structure to be converted.

Returns

String - Converted IP address string.

Description

TInAddrToString is a String function used to converted the structured IP address in AInAddr to an IP address string represented in dottted-decimal form.


TIdStackWinsock.TranslateStringToTInAddr

TIdStackWinsock

Converts an IP address string to am IP address structure.

procedure TranslateStringToTInAddr(AIP: string; var AInAddr); override;

Parameters

AIP: string

String to be converted.

var AInAddr

Structure to store the result.

Description

TranslateStringToTInAddr is a procedure used to load the IP address in AIP into the IP address storage structure AInAddr.


TIdStackWinsock.WSAccept

TIdStackWinsock

function WSAccept(ASocket: TIdStackSocketHandle; var VIP: string; var VPort: Integer): TIdStackSocketHandle; override;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStackWinsock.WSBind

TIdStackWinsock

function WSBind(ASocket: TIdStackSocketHandle; const AFamily: Integer; const AIP: string; const APort: Integer): Integer; override;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStackWinsock.WSCloseSocket

TIdStackWinsock

function WSCloseSocket(ASocket: TIdStackSocketHandle): Integer; override;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStackWinsock.WSConnect

TIdStackWinsock

function WSConnect(const ASocket: TIdStackSocketHandle; const AFamily: Integer; const AIP: string; const APort: Integer): Integer; override;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStackWinsock.WSGetHostByAddr

TIdStackWinsock

function WSGetHostByAddr(const AAddress: string): string; override;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStackWinsock.WSGetHostByName

TIdStackWinsock

function WSGetHostByName(const AHostName: string): string; override;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStackWinsock.WSGetHostName

TIdStackWinsock

function WSGetHostName: string; override;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStackWinsock.WSGetLastError

TIdStackWinsock

function WSGetLastError: Integer; override;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStackWinsock.WSGetPeerName

TIdStackWinsock

procedure WSGetPeerName(ASocket: TIdStackSocketHandle; var VFamily: Integer; var VIP: string; var VPort: Integer); override;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStackWinsock.WSGetServByName

TIdStackWinsock

function WSGetServByName(const AServiceName: string): Integer; override;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStackWinsock.WSGetServByPort

TIdStackWinsock

function WSGetServByPort(const APortNumber: Integer): TStrings; override;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStackWinsock.WSGetSockName

TIdStackWinsock

procedure WSGetSockName(ASocket: TIdStackSocketHandle; var VFamily: Integer; var VIP: string; var VPort: Integer); override;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStackWinsock.WSHToNL

TIdStackWinsock

function WSHToNL(AHostLong: LongWord): LongWord; override;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStackWinsock.WSHToNs

TIdStackWinsock

function WSHToNs(AHostShort: Word): Word; override;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStackWinsock.WSListen

TIdStackWinsock

function WSListen(ASocket: TIdStackSocketHandle; ABackLog: Integer): Integer; override;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStackWinsock.WSNToHL

TIdStackWinsock

function WSNToHL(ANetLong: LongWord): LongWord; override;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStackWinsock.WSNToHs

TIdStackWinsock

function WSNToHs(ANetShort: Word): Word; override;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStackWinsock.WSRecv

TIdStackWinsock

function WSRecv(ASocket: TIdStackSocketHandle; var ABuffer; ABufferLength: Integer; AFlags: Integer): integer; override;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStackWinsock.WSRecvFrom

TIdStackWinsock

function WSRecvFrom(const ASocket: TIdStackSocketHandle; var ABuffer; const ALength: Integer; const AFlags: Integer; var VIP: string; var VPort: Integer): Integer; override;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStackWinsock.WSSelect

TIdStackWinsock

function WSSelect(ARead: TList; AWrite: TList; AErrors: TList; ATimeout: Integer): Integer; override;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStackWinsock.WSSend

TIdStackWinsock

function WSSend(ASocket: TIdStackSocketHandle; var ABuffer; const ABufferLength: Integer; const AFlags: Integer): Integer; override;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStackWinsock.WSSendTo

TIdStackWinsock

function WSSendTo(ASocket: TIdStackSocketHandle; var ABuffer; const ABufferLength: Integer; const AFlags: Integer; const AIP: string; const APort: integer): Integer; override;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStackWinsock.WSSetSockOpt

TIdStackWinsock

function WSSetSockOpt(ASocket: TIdStackSocketHandle; ALevel: Integer; AOptName: Integer; AOptVal: PChar; AOptLen: Integer): Integer; override;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStackWinsock.WSShutdown

TIdStackWinsock

function WSShutdown(ASocket: TIdStackSocketHandle; AHow: Integer): Integer; override;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdStackWinsock.WSSocket

TIdStackWinsock

function WSSocket(AFamily: Integer; AStruct: Integer; AProtocol: Integer): TIdStackSocketHandle; override;

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdTCPClient

Hierarchy	Members	Properties	Methods	See Also	Unit: IdTCPClient

Implement a TCP Client.

TIdTCPClient = class(TIdTCPConnection)

Description

TIdTCPClient encapsulates a complete TCP (Transmission Control Protocol) client including socks support. TIdTCPClient can be used for as an ancestor class for specific protocol implementations. Many Indy client components, such as TIdDayTime, TIdEcho, TIdFinger, TIdFTP, TIdGopher, TIdHTTP, TIdNNTP, TIdPOP3, TIdQUOTD, TIdSMTP, TIdTelnet, and TIdWhois are TIdTCPClient descendants.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPConnection

|

TIdTCPClient


TIdTCPClient Fields

TIdTCPClient


TIdTCPClient Properties

TIdTCPClient	Legend

TIdTCPClient

 BoundIP

 Host

 OnConnected

 Port

 SocksInfo

 UseNagle

TIdTCPConnection

 ASCIIFilter

 Binding

 ClosedGracefully

 CmdResult

 CmdResultDetails

 Intercept

 InterceptEnabled

 OnDisconnected

 OnWork

 OnWorkBegin

 OnWorkEnd

 ReadLnTimedOut

 RecvBufferSize

 ResultNo

 SendBufferSize

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdTCPClient Events

TIdTCPClient	Legend

TIdComponent

 OnStatus


Legend

 published


TIdTCPClient Methods

TIdTCPClient	Legend

TIdTCPClient

 Connect

 ConnectAndGetAll

 Create

 Destroy

TIdTCPConnection

 AllData

 CancelWriteBuffer

 Capture

 CheckForDisconnect

 CheckForGracefulDisconnect

 CheckResponse

 ClearWriteBuffer

 CloseWriteBuffer

 Connected

 Create

 CurrentReadBuffer

 CurrentReadBufferSize

 Destroy

 Disconnect

 DisconnectSocket

 ExtractXBytesFromBuffer

 FlushWriteBuffer

 GetResponse

 InputLn

 OpenWriteBuffer

 procedure RaiseExceptionForCmdResult; virtual; overload;

 procedure RaiseExceptionForCmdResult(axException: TClassIdException); virtual; overload;

 ReadBuffer

 ReadCardinal

 ReadFromStack

 ReadInteger

 ReadLn

 ReadLnWait

 ReadSmallInt

 ReadStream

 ReadString

 RemoveXBytesFromBuffer

 function SendCmd(const AOut: string; const AResponse: SmallInt): SmallInt; overload;

 function SendCmd(const AOut: string; const AResponse: Array of SmallInt): SmallInt; virtual; overload;

 WaitFor

 Write

 WriteBuffer

 WriteCardinal

 WriteFile

 WriteHeader

 WriteInteger

 WriteLn

 WriteSmallInt

 WriteStream

 WriteStrings

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdTCPClient Members

TIdTCPClient	Legend

Properties

 BoundIP

 Host

 OnConnected

 Port

 SocksInfo

 UseNagle

Methods

 Connect

 ConnectAndGetAll

 Create

 Destroy


Legend

 virtual

 published


TIdTCPClient.BoundIP

TIdTCPClient	See Also

Specifies the IP address to use for the client.

property BoundIP: string;

Description

BoundIP is a String property that specifies the local IP address to be used for the client connection. BoundIP is used in Connect to initialize the Binding.IP address prior to calling Binding.Bind.


See Also

TIdSocketHandle

Connect


TIdTCPClient.Host

TIdTCPClient

Address of the remote computer system.

property Host: string;

Description

Host is a String property that identifies the address of the remote computer system that will act as the endpoint for the client connection. The address can be a computer name such as "wvnvm.wvnet.edu" or an IP Address such as "129.71.2.4". To Connect to a server on your machine, use an IP address like "127.0.0.1" aka "localhost".


TIdTCPClient.OnConnected

TIdTCPClient

Specifies a connection event handler.

property OnConnected: TNotifyEvent;

Description

OnConnected is a TNotifyEvent event handler used to respond to event notifications that occur when a connection has been established. An application must assign a procedure to the event handler to respond to the event notification.


TIdTCPClient.Port

TIdTCPClient

Port number used for the connection.

property Port: integer;

Description

Port is an Integer property that identifies the server port number server used for the client connection. By convention, some internet protocols reserve port number including:

21 - FTP

25 - SMTP

80 - HTTP

119 - NNTP

A client application may define it's own port to connect to a server running the same port.


TIdTCPClient.SocksInfo

TIdTCPClient

SOCKS proxy configuration.

property SocksInfo: TSocksInfo;

Description

SocksInfo is a TSocksInfo property used to specify information needed allow the connection to work with a SOCKS firewall-proxy network configuration.


TIdTCPClient.UseNagle

TIdTCPClient

Enable or disable the Nagle algorithm.

property UseNagle: boolean;

Description

UseNagle is a Boolean property used to Enable or disable use of the Nagle algorithm for send coalescing. The Nagle algorithm is used to reduce the number of small packets sent by a host by buffering unacknowledged send data until a full packet can be sent.

For some applications, use of the Nagle algorithm can impede performance. Set UseNagle to False to stop using the Nagle algorithm. Application writers should not disable UseNagle unless the impact is well understood and desired. Setting UseNagle to false can have a significant negative impact on network performance.


TIdTCPClient.Connect

TIdTCPClient	See Also

Opens a connection to the server.

procedure Connect; virtual;

Description

Connect is a procedure that attempts to open a connection to a server. Connect requires a host name (address) in Host and the port number in Port to establish a connection.

Many protocol implementations override this method to provide special initialization sequences required by the protocol.

A socket handle will be allocated to Binding using BoundIP as the local IP address for the client. An EIdAlreadyConnected exception will be raised if a socket handle is already allocated to Binding. If UseNagle is enabled, Connect will verify that the TCP stack supports use of the TCP NO DELAY socket option. If InterceptEnabled is desired, Intercept.Connect is called using the socket handle allocated to Binding.

If Socks version 4, 4A, or 5 support is enabled, Binding.Port is updated to reflect the port number from SocksInfo.Port, and the SocksInfo host name is resolved. Connect attempts to verify Socks authentication parameters and open a connection to the Socks proxy.

If an error occurs during binding, authentication, or connection to the Socks proxy one of the following exceptions is raised:

EIdSocksRequestFailed

EIdSocksRequestServerFailed

EIdSocksRequestIdentFailed

EIdSocksUnknownError

EIdSocksServerRespondError


See Also

TIdTCPClient.UseNagle

TIdTCPClient.SocksInfo


TIdTCPClient.ConnectAndGetAll

TIdTCPClient	See Also

Opens a connection and reads all data.

function ConnectAndGetAll: string; virtual;

Returns

String - Values read from the connection.

Description

ConnectAndGetAll is a procedure that opens a connection to the server specified by Host using the port number specified by Port. ConnectAndGetAll reads data from the connection until disconnected by the server.

Make sure that the protocol you are using behaves in this manner before using ConnectAndGetAll. Quote of the Day and DayTime are examples of protocols where ConnectAndGetAll is supported.


See Also

Connect


TIdTCPClient.Create

TIdTCPClient	See Also

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for TIdTCPClient, and relies on the inherited Create method in TIdTCPConnection. TIdTCPClient.Create initializes the SocksInfo object reference and sets UseNagle to True.


See Also

TIdTCPClient.SocksInfo

TIdTCPClient.UseNagle


TIdTCPClient.Destroy

TIdTCPClient	See Also

Destructor for the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for TIdTCPClient. Destroy is responsible for freeing SocksInfo initialized in the constructor Create before calling the inherited Destroy method.


See Also

TIdTCPClient.Create

TIdTCPClient.SocksInfo


TIdTCPConnection

Hierarchy	Members	Properties	Methods	See Also	Unit: IdTCPConnection

Implements a TCP Connection.

TIdTCPConnection = class(TIdComponent)

Description

TIdTCPConnection encapsulates a complete Transmission Control Protocol (TCP) connection. TIdTCPConnection is the ancestor class for TIdTCPClient and TIdTCPServer.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPConnection


TIdTCPConnection Fields

TIdTCPConnection


TIdTCPConnection Properties

TIdTCPConnection	Legend

TIdTCPConnection

 ASCIIFilter

 Binding

 ClosedGracefully

 CmdResult

 CmdResultDetails

 Intercept

 InterceptEnabled

 OnDisconnected

 OnWork

 OnWorkBegin

 OnWorkEnd

 ReadLnTimedOut

 RecvBufferSize

 ResultNo

 SendBufferSize

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdTCPConnection Events

TIdTCPConnection	Legend

TIdComponent

 OnStatus


Legend

 published


TIdTCPConnection Methods

TIdTCPConnection	Legend

TIdTCPConnection

 AllData

 CancelWriteBuffer

 Capture

 CheckForDisconnect

 CheckForGracefulDisconnect

 CheckResponse

 ClearWriteBuffer

 CloseWriteBuffer

 Connected

 Create

 CurrentReadBuffer

 CurrentReadBufferSize

 Destroy

 Disconnect

 DisconnectSocket

 ExtractXBytesFromBuffer

 FlushWriteBuffer

 GetResponse

 InputLn

 OpenWriteBuffer

 procedure RaiseExceptionForCmdResult; virtual; overload;

 procedure RaiseExceptionForCmdResult(axException: TClassIdException); virtual; overload;

 ReadBuffer

 ReadCardinal

 ReadFromStack

 ReadInteger

 ReadLn

 ReadLnWait

 ReadSmallInt

 ReadStream

 ReadString

 RemoveXBytesFromBuffer

 function SendCmd(const AOut: string; const AResponse: SmallInt): SmallInt; overload;

 function SendCmd(const AOut: string; const AResponse: Array of SmallInt): SmallInt; virtual; overload;

 WaitFor

 Write

 WriteBuffer

 WriteCardinal

 WriteFile

 WriteHeader

 WriteInteger

 WriteLn

 WriteSmallInt

 WriteStream

 WriteStrings

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdTCPConnection Members

TIdTCPConnection	Legend

Properties

 ASCIIFilter

 Binding

 ClosedGracefully

 CmdResult

 CmdResultDetails

 Intercept

 InterceptEnabled

 OnDisconnected

 OnWork

 OnWorkBegin

 OnWorkEnd

 ReadLnTimedOut

 RecvBufferSize

 ResultNo

 SendBufferSize

Methods

 AllData

 CancelWriteBuffer

 Capture

 CheckForDisconnect

 CheckForGracefulDisconnect

 CheckResponse

 ClearWriteBuffer

 CloseWriteBuffer

 Connected

 Create

 CurrentReadBuffer

 CurrentReadBufferSize

 Destroy

 Disconnect

 DisconnectSocket

 ExtractXBytesFromBuffer

 FlushWriteBuffer

 GetResponse

 InputLn

 OpenWriteBuffer

 procedure RaiseExceptionForCmdResult; virtual; overload;

 procedure RaiseExceptionForCmdResult(axException: TClassIdException); virtual; overload;

 ReadBuffer

 ReadCardinal

 ReadFromStack

 ReadInteger

 ReadLn

 ReadLnWait

 ReadSmallInt

 ReadStream

 ReadString

 RemoveXBytesFromBuffer

 function SendCmd(const AOut: string; const AResponse: SmallInt): SmallInt; overload;

 function SendCmd(const AOut: string; const AResponse: Array of SmallInt): SmallInt; virtual; overload;

 WaitFor

 Write

 WriteBuffer

 WriteCardinal

 WriteFile

 WriteHeader

 WriteInteger

 WriteLn

 WriteSmallInt

 WriteStream

 WriteStrings


Legend

 virtual

 published


TIdTCPConnection.ASCIIFilter

TIdTCPConnection

Converts incoming characters to ASCII.

property ASCIIFilter: boolean;

Description

ASCIIFilter is a Boolean property that indicates all data received by the connection should clear the high bit before storing the value in the Indy read buffer.

ASCIIFilter is used to insure that character data in the Indy buffer will contain values that can be represented using the ASCII character set (Decimal 0 through Decimal 127).


TIdTCPConnection.Binding

TIdTCPConnection

Represents the socket handle for the connection.

property Binding: TIdSocketHandle;

Description

Binding is a TIdSocketHandle property that represents the socket handle allocated for the current connection.


TIdTCPConnection.ClosedGracefully

TIdTCPConnection

Indicates that the connection has closed without data in the read buffer.

property ClosedGracefully: boolean;

Description

ClosedGracefully is a read-only Boolean property that indicates if a connection has closed without data in the Indy read buffer, or if it was abruptly lost.

CloseGracefully is True when the connection calls Disconnect, and has meaning only when Connected is False.

CloseGracefully is updated in ReadFromStack when a the socket handle for the connection is ready for read operations.


TIdTCPConnection.CmdResult

TIdTCPConnection

Represents a response message.

property CmdResult: string;

Description

CmdResult is a read-only String property that represents the complete response message, including the response message number and text, received from a call to SendCmd.

If a command generates more than one response message, use CmdDetails to access the text of each response message.


TIdTCPConnection.CmdResultDetails

TIdTCPConnection

Represents a group of response messages.

property CmdResultDetails: TStrings;

Description

CmdResultDetails is a read-only TStrings property that contains one or more response messages from SendCmd. CmdResultDetails is used to accumulate response messages for a command that generates multiple response messages.

Use CmdResult to access the most recent response message from SendCmd.


TIdTCPConnection.Intercept

TIdTCPConnection

Allows intercept of read and write operations for the connection.

property Intercept: TIdConnectionIntercept;

Description

Intercept is a TIdConnectionIntercept property used to act as an intermediary between the protocol stack and a TIdTCPConnection. Intercept is used to perform operations that can include logging send and receive operations, or provide Secure Socket Layer (SSL) support for the connection.

InterceptEnabled must be True to allow Intercept actions to be performed.


TIdTCPConnection.InterceptEnabled

TIdTCPConnection

Indicates the active state of the Intercept.

property InterceptEnabled: Boolean;

Description

InterceptEnabled is a Boolean property that indicates the active state of the Intercept for the connection.


TIdTCPConnection.OnDisconnected

TIdTCPConnection

Represents the event handler for peer disconnect events.

property OnDisconnected: TNotifyEvent;

Description

OnDisconnected is the TNotifyEvent event handler used to respond to event notifications when the peer is disconnected.

An application must assign a procedure to OnDisconnected to allow a response to the event notification.


TIdTCPConnection.OnWork

TIdTCPConnection	See Also

Work event handler for buffered read and write operations.

property OnWork;

Description

OnWork is the event handler for the event TWorkEvent. OnWork is used in conjunction with DoWork to notify Indy components and classes when buffered read or write operations are invoked. OnWork is generally used to control the update of progress indicators or GUI components.

AWorkMode indicates the operation performed and the notification sent to OnWork. AWorkMode can be one of these values:

wmRead - The component is reading data from the peer.

wmWrite - The component is sending data to the peer.

AWorkCount indicates the number of bytes affected by the operation sent to OnWork.

The event TWorkEvent is implemented in IdComponent.pas.

TIdTCPConnection publishes the OnWork event. OnWork is not published in the ancestor class TIdComponent.


See Also

TWorkEvent


TIdTCPConnection.OnWorkBegin

TIdTCPConnection	See Also

WorkBegin event handler for starting read or write buffering.

property OnWorkBegin;

Description

OnWorkBegin is an event of type TWorkBeginEvent as implemented in TIdComponent. OnWorkBegin is used in conjunction with BeginWork to notify Indy components and classes when buffered read or write operations are initiated. OnWorkBegin is generally used to control the update of progress indicators or GUI components.

AWorkMode indicates the operation performed and the notification sent to OnWorkBegin. AWorkMode can be one of these values:

wmRead - The component is reading data from the peer.

wmWrite - The component is sending data to the peer.

AWorkCountMax indicates the maximum number of bytes expected for the operation sent to OnWorkBegin, or 0 when the number of bytes not known.

The event TWorkEvent is implemented in IdComponent.pas.

TIdTCPConnection publishes the OnWorkBegin event. OnWork is not published in the ancestor class TIdComponent.


See Also

TWorkBeginEvent


TIdTCPConnection.OnWorkEnd

TIdTCPConnection	See Also

WorkEnd event handler triggered when stopping read and write buffering operations.

property OnWorkEnd;

Description

OnWorkEnd is an event of type TWorkEndEvent as implemented in TIdComponent. OnWorkEnd is used in conjunction with EndWork to notify Indy components and classes when buffered read or write operations are concluded.

AWorkMode indicates the operation performed and the notification sent to OnWork. AWorkMode can be one of these values:

wmRead - The component is reading data from the peer.

wmWrite - The component is sending data to the peer.

AWorkCount contains the number of bytes affected by the operation.

TIdTCPConnection publishes the OnWorkEnd event. OnWorkEnd is not published in the ancestor class TIdComponent.


See Also

TWorkEndEvent


TIdTCPConnection.ReadLnTimedOut

TIdTCPConnection

Indicates that a timeout occurred in ReadLn.

property ReadLnTimedOut: Boolean;

Description

ReadLnTimedOut is a read-only Boolean property that indicates when a timeout has occurred in the ReadLn method.

ReadLnTimedOut is updated in the ReadLn method, and is set to True when the return value for ReadFromStack is 0.


TIdTCPConnection.RecvBufferSize

TIdTCPConnection

Indicates the current size of the default receive buffer for the connection.

property RecvBufferSize: Integer;

Description

RecvBufferSize is an Integer property that represents the number of bytes currently allocated to the default receive buffer used for the connection.

The default value for RecvBufferSize is 8192 bytes, and is asssigned in Create.

Use ExtractXBytesFromBuffer to remove data from the receive buffer.


TIdTCPConnection.ResultNo

TIdTCPConnection

Identifies the numeric response code for a command.

property ResultNo: SmallInt;

Description

ResultNo is a reas-only SmallInt property that represent the numeric portion of a response message received during a call to SendCmd.

Use CmdResult to access the complete text of a response message for the most command. Use CmdResultDetails to access one or more response messages for the most recent command.


TIdTCPConnection.SendBufferSize

TIdTCPConnection

Indicates the maximum buffer size for writing to the connection.

property SendBufferSize: Integer;

Description

SendBufferSize is an Integer property that indicates the maximum number of bytes that can be allocated when writing data to the connection. The default value for SendBufferSize is 32768.

SendBufferSize is used in WriteStream to determine if the number of "chunks" needed to Write the TStream contents. When the stream is larger that SendBufferSize, multiple "chunks" will be used.


TIdTCPConnection.AllData

TIdTCPConnection

Retrieves all data from a connection.

function AllData: string; virtual;

Description

AllData is a String function that retrieves all data from a peer connection until the connection is closed.

NOTE: Do not use AllData unless the protocol you are using works in this manner. Protocols which support AllData include Finger, Quote of the Day, and WhoIs.


TIdTCPConnection.CancelWriteBuffer

TIdTCPConnection	See Also

Stops write buffering in Indy.

procedure CancelWriteBuffer;

Description

CancelWriteBuffer ends write buffering without transmitting the data in the write buffer.


See Also

TIdTCPConnection.OpenWriteBuffer

TIdTCPConnection.CloseWriteBuffer

TIdTCPConnection.FlushWriteBuffer

TIdTCPConnection.ClearWriteBuffer


TIdTCPConnection.Capture

TIdTCPConnection

Reads data from the connection to an object reference.

procedure Capture(ADest: TObject; const ADelim: string; const AIsRFCMessage: Boolean);

Parameters

ADest: TObject

Storage for the captured data values.

const ADelim: string = '.'

Delimiter for captured data values. Default value is '.'.

const AIsRFCMessage: Boolean = False

Captured data is an RFC 822 message. Default value is False.

Description

Capture is a procedure used to read data from the connection into the destination specified by ADest. ADest must be an instance of either a TStrings descendant or a TStream descendant, or an exception will be raised when data is written to ADest.

ADelim is the delimiter used to determine if all data has been read from the connection. ADelim will appear in a line with no other data when all data has been captured.

AIsRFCMessage indicates that Capture is reading an RFC 822 message where a line may start with the characters '..'. Capture will convert this character sequence to a single '.' character. A single '.' character in a line indicates the end of the RFC 822 message.

Capture calls BeginWork with the wmRead work mode before reading data from the connection.

Capture calls ReadLn to retrieve data from the connection until the delimiter specified in ADelim is received. Each line is written to the ADest object reference upon receipt.

Capture calls EndWork with the wmRead work mode when all data has been captured from the connection.


TIdTCPConnection.CheckForDisconnect

TIdTCPConnection

Determines if the peer has disconnected.

procedure CheckForDisconnect(const ARaiseExceptionIfDisconnected: boolean; const AIgnoreBuffer: boolean); virtual;

Parameters

const ARaiseExceptionIfDisconnected: boolean = true

Raise an exception when the connection is closed. Default value is True.

const AIgnoreBuffer: boolean = false

Disregards the read buffer size. Default value is False.

Description

CheckForDisconnect is a procedure used to determine if a connection has been closed by either the server or the client.

ClosedGracefully is used to determine if a connection has ClosedGracefully, or the socket handle in Binding is no longer allocated for the connection. If neither condition exists for the connection, no additional processing is performed and the method returns.

If Binding has an allocated socket handle, then DisconnectSocket is called to force the socket handle to close gracefully.

Under some conditions, CheckForDisconnect can raise an EIdConnClosedGracefully exception. The exception can occur when the Indy Read buffer is empty or should be ignored (as indicated in AIgnoreBuffer), and ARaiseExceptionIfDisconnected indicates that the exception is desired.

For a Server connection, this indicates that the client has disconnected the socket connection normally. The Exception is used to notify Server handling code. The exception is normal and will only happen from within the IDE, not while your program is running as an EXE. If you do not want to see this, add the EIdConnClosedGracefully exception or EIdSilentException to the IDE options as exceptions not to break on. From the IDE, press F9 and Indy will catch and handle the exception.

For a Client connection, this indicates that the server has disconnected the socket connection normally, but the client has attempted to read or write using the closed connection. You should trap this error using a try..except block.

Please see the FAQ at http://www.nevrona.com/Indy/FAQ.html for additional information.


TIdTCPConnection.CheckForGracefulDisconnect

TIdTCPConnection

Determines if the peer has gracefully disconnected.

procedure CheckForGracefulDisconnect(const ARaiseExceptionIfDisconnected: boolean); virtual;

Parameters

const ARaiseExceptionIfDisconnected: boolean = true

Raise an exception when the connection is closed. Default value is True.

Description

CheckForGracefulDisconnect is a procedure used to determine if the connection has closed gracefully.

CheckForGracefulDisconnect calls ReadFromStack using the value in ARaiseExceptionIfDisconnected and a 1 millisecond timeout to verify that the socket handle is ready to perform a read operation.

ReadFromStack updates the ClosedGracefully property and performs exception handling as specified in ARaiseExceptionIfDisconnected.


TIdTCPConnection.CheckResponse

TIdTCPConnection

Checks for a valid response in an array of allowable responses.

function CheckResponse(const AResponse: SmallInt; const AAllowedResponses: array of SmallInt): SmallInt; virtual;

Parameters

const AResponse: SmallInt

Response number to examine.

const AAllowedResponses: array of SmallInt

Array of response numbers allowed.

Returns

SmallInt - Response number encountered, or zero on error.

Description

CheckResponse is a SmallInt function used to check for the existence of the response number in AResponse in the array of allowable responses AAllowedResponses. If CheckResponse examines all allowable response and does not find AResponse, RaiseExceptionForCmdResult is called.


TIdTCPConnection.ClearWriteBuffer

TIdTCPConnection	See Also	Example 1

Clear the Indy write buffer.

procedure ClearWriteBuffer;

Description

The ClearWriteBuffer method clears the data which has accumulated since the OpenWriteBuffer without sending it. This does not stop write buffering. Only CloseWriteBuffer and CancelWriteBuffer stop write buffering.


See Also

TIdTCPConnection.OpenWriteBuffer

TIdTCPConnection.CloseWriteBuffer

TIdTCPConnection.FlushWriteBuffer

TIdTCPConnection.CancelWriteBuffer


TIdTCPConnection.ClearWriteBuffer, Example 1
Example 1

TIdTCPConnection.ClearWriteBuffer

   OpenWriteBuffer;

   try;

      WriteStream(AStream);

      // Close the write buffer and have Indy now transmit it

      CloseWriteBuffer;

   except

      // Clear what we had buffered, and disable write buffering

      CancelWriteBuffer;

      // Re-raise the exception so it is not masked

      raise;

   end;


TIdTCPConnection.CloseWriteBuffer

TIdTCPConnection	See Also

Stops write buffering.

procedure CloseWriteBuffer;

Description

CloseWriteBuffer is a procedure that forces all data written to the Indy write buffer since a call to OpenWriteBuffer to be sent to the peer connection. CloseWriteBuffer disables further writes to the Indy write buffer.


See Also

TIdTCPConnection.OpenWriteBuffer

TIdTCPConnection.FlushWriteBuffer

TIdTCPConnection.ClearWriteBuffer

TIdTCPConnection.CancelWriteBuffer


TIdTCPConnection.Connected

TIdTCPConnection

Indicates if the peer connection is active.

function Connected: boolean; virtual;

Description

Connected is a Boolean function used to indicate when the connection to the peer is active. When Connected is False, use ClosedGracefully to determine if the connection was closed normally or abruptly terminated.


TIdTCPConnection.Create

TIdTCPConnection

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for a new TIdTCPConnection object instance. Create initializes the following to their default values:

Binding - TIdSocketHandle Used for later connection to a peer.

CmdResultDetails - TStringList Holds command responses.

RecvBuffer - protected TIdBuffer Used to receive data from the TCP stack.

RecvBufferSize - Integer Size of RecvBuffer (default value is 8192).

Buffer - protected TIdBuffer Used to internally buffer Indy reads and writes.

Descendant classes override this constructor to set default values such as Port.


TIdTCPConnection.CurrentReadBuffer

TIdTCPConnection	See Also

Updates the Indy buffer with data from the protocol stack.

function CurrentReadBuffer: string;

Returns

String - Contents of the Indy buffer.

Description

CurrentReadBuffer is a String function that reads any pending data from the protocol stack, and adds the data to the Indy read buffer.

The return value includes all data in the Indy buffer up to CurrentReadBufferSize. Result may also be '' (empty string) if no data is present in the Indy buffer.


See Also

TIdTCPConnection.CurrentReadBufferSize


TIdTCPConnection.CurrentReadBufferSize

TIdTCPConnection

Current size of the read buffer.

function CurrentReadBufferSize: integer;

Description

CurrentReadBufferSize is an Integer function the indicates the current size of the read buffer for the peer connection.


TIdTCPConnection.Destroy

TIdTCPConnection

Destructor for the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance. Destroy is responsible for freeing and releasing the object references in the properties Buffer, RecvBuffer, CmdResultDetails, and Binding. Destroy relies on the inherited Destroy method to complete destruction of the object instance.


TIdTCPConnection.Disconnect

TIdTCPConnection

Disconnects from the peer connection.

procedure Disconnect; virtual;

Description

Disconnect is used to disconnect from the current peer connection. Many descendant components override this method to provide termination commands required by various protocols. If you simply need to close a connection because something wrong, you probably should call the DisconnectSocket method.


TIdTCPConnection.DisconnectSocket

TIdTCPConnection

Closes the socket binding for the connection.

procedure DisconnectSocket; virtual;

Description

DisconnectSocket is a procedure used to close the socket binding for the connection. Unlike the Disconnect method, DisconnectSocket is not overridden by descendant classes to provide termination sequences required for a particular protocol.

DisconnectSocket is used when an error has occurred in a protocol handler and a guaranteed disconnect is needed.


TIdTCPConnection.ExtractXBytesFromBuffer

TIdTCPConnection

Removes data from the Indy Buffer.

function ExtractXBytesFromBuffer(const AByteCount: Integer): string; virtual;

Parameters

const AByteCount: Integer

Number of bytes to remove.

Returns

String - Data removed from the Indy buffer.

Description

ExtractXBytesFromBuffer is a String function used to read and remove data from the Indy buffer. ExtractXBytesFromBuffer will read up to the number of bytes specified in AByteCount from the Indy buffer. Data read is removed from the Indy buffer and used as the return value for the function.

ExtractXBytesFromBuffer will raise an exception if AByteCount is larger than the length of the Indy buffer.


TIdTCPConnection.FlushWriteBuffer

TIdTCPConnection	See Also

Writes buffered data, and clears the write buffer in Indy.

procedure FlushWriteBuffer(const AByteCount: Integer);

Parameters

const AByteCount: Integer = -1

Threshold value for number of bytes to flush. Default value is -1.

Description

FlushWriteBuffer transmits all data which has been buffered since the call to the OpenWriteBuffer method to be sent to the peer. Buffered data is cleared after being sent to the peer connection. Write buffering remains active after the FlushWriteBuffer method is completed. Only CloseWriteBuffer and CancelWriteBuffer can be used to stop write buffering after a call to OpenWriteBuffer.

ABytes indicates the threshold value for the number of bytes that should be removed from the Indy buffer and sent to the peer socket connection. The default value (-1) forces all data in the Indy buffer to be written to the peer, and the write buffer is cleared using ClearWriteBuffer. This is also the case when the buffer is smaller than the threshold value in ABytes. Otherwise, the number of bytes in ABytes is removed from the Indy buffer and sent to the peer.


See Also

TIdTCPConnection.OpenWriteBuffer

TIdTCPConnection.CloseWriteBuffer

TIdTCPConnection.ClearWriteBuffer

TIdTCPConnection.CancelWriteBuffer


TIdTCPConnection.GetResponse

TIdTCPConnection

Retrieves on e or more response messages from the connection.

function GetResponse(const AAllowedResponses: Array of SmallInt): SmallInt; virtual;

Returns

SmallInt - The numeric response number.

Description

GetResponse is a SmallInt function that waits for a response message from the peer (such as greetings from a computer or command replies) and returns the numerical response number for the reply. Use CmdResult to access the full text of the most recent response message, or CmdResultDetails to access multiple response messages.

CmdResultDetails and CmdResult are cleared prior to retrieving any new response message(s).


TIdTCPConnection.InputLn

TIdTCPConnection	See Also

Reads a line from the server connection, and echoes the data.

function InputLn(const AMask: string): string;

Description

InputLn reads a line from the server and echoes it back honoring the backspace character. If AMask is specified, the AMask string is sent to the peer for each character received, instead of the actual characters which are read.

InputLn is useful when obtaining data from a user such as username, passwords, and commands.


See Also

TIdTCPConnection.ReadLn


TIdTCPConnection.OpenWriteBuffer

TIdTCPConnection	See Also

Indicates that the peer connection should use Indy internal buffering.

procedure OpenWriteBuffer(const AThreshhold: Integer);

Parameters

const AThreshhold: Integer = -1

Number of bytes to buffer before flushing data in the write buffer to the peer. Default value is -1.

Description

OpenWriteBuffer is a procedure that is normally used to capture all data being sent to a peer, and to store the data in the Indy internal buffer until a call to CloseWriteBuffer or FlushWriteBuffer. Use OpenWriteBuffer when all data should be sent to the peer at one time.

AThreshold indicates the number of bytes that can accumulate in the Indy write buffer prior to using FlushWriteBuffer. The write buffer threshold is used to provide optimium data transfer without creating massive in memory buffers, or requiring the caller to periodically flush the buffer. When the write buffer size exceeds the threshold value, the connection will send a packet containing buffered data. The default value of AThreshold (-1) indicates that write buffering should be used for the entire write buffer. FlushWriteBuffer may also use a threshold value to determine the data packet size commited to the peer socket connection from the Indy internal buffer.

Use OpenWriteBuffer in a try...except block, like the following:

   OpenWriteBuffer;

   try;

      WriteStream(AStream);

      // Close the write buffer and have Indy now transmit it

      CloseWriteBuffer;

   except

      // Clear what we had buffered, and disable write buffering

      CancelWriteBuffer;

      // Re-raise the exception so it is not masked

      raise;

   end;


See Also

TIdTCPConnection.CloseWriteBuffer

TIdTCPConnection.FlushWriteBuffer

TIdTCPConnection.ClearWriteBuffer

TIdTCPConnection.CancelWriteBuffer


TIdTCPConnection.RaiseExceptionForCmdResult

TIdTCPConnection

Creates an exception for a response message.

procedure RaiseExceptionForCmdResult; virtual; overload;

Description

RaiseExceptionForCmdResult is a procedure used to raise an exception for a paricular response message. RaiseExceptionForCmdResult uses ResultNo and CmdResult to create the exception.

When axException is omitted, the exception class created is EIdProtocolReplyError.


TIdTCPConnection.RaiseExceptionForCmdResult

TIdTCPConnection

Creates an exception for a response message.

procedure RaiseExceptionForCmdResult(axException: TClassIdException); virtual; overload;

Parameters

axException: TClassIdException

The exception class reference to be created.

Description

RaiseExceptionForCmdResult is a procedure used to raise an exception for a paricular response message. RaiseExceptionForCmdResult uses ResultNo and CmdResult to create the exception.

When axException is omitted, the exception class created is EIdProtocolReplyError.


TIdTCPConnection.ReadBuffer

TIdTCPConnection

Moves data from the Indy read buffer to a variable.

procedure ReadBuffer(var ABuffer; const AByteCount: Longint);

Parameters

var ABuffer

Destination for data from the Indy read buffer.

const AByteCount: Longint

Number of bytes to move to the ABuffer.

Description

ReadBuffer is a procedure used to get data from the Indy read buffer and store the result in the variable specified by ABuffer.

ABuffer is the destination for data from the Indy read buffer.

AByteCount is the number of bytes to move to ABuffer.

AByteCount must be larger than 0, and ABuffer must contain a variable parameter, or ReadBuffer will not have any effect.

ReadBuffer calls ReadFromStack to insure that the Indy read buffer contains at least the number of bytes specified in AByteCount. ReadBuffer also calls RemoveXBytesFromBuffer to remove the number bytes specified from the Indy read buffer.


TIdTCPConnection.ReadCardinal

TIdTCPConnection	See Also

Returns a cardinal read from the peer.

function ReadCardinal(const AConvert: boolean): Cardinal;

Returns

Cardinal - the 32 bit value which was received from the peer.

Description

This function reads a 32 bit unsigned (cardinal) value from the peer and returns it.

The TIdTime component is based on this function. Parameters:

AConvert - Default is True. When true, the value is converted from Internet Byte order to the Native Intel Byte order. If false, no byte-order conversion is done.


See Also

TIdTime

TIdTCPConnection.WriteCardinal


TIdTCPConnection.ReadFromStack

TIdTCPConnection

Reads data from the protocol stack using the socket binding.

function ReadFromStack(const ARaiseExceptionIfDisconnected: boolean; const ATimeout: integer; const AUseBuffer: boolean; ADestStream: TIdBuffer): integer; virtual;

Parameters

const ARaiseExceptionIfDisconnected: boolean = true

Raise an Exception when disconnected. Default value is True.

const ATimeout: integer = IdTimeoutInfinite

Timeout value to wait for a readble socket handle. Default value is IdTimeoutInfinite.

const AUseBuffer: boolean = true

Add data read to the Indy buffer. Default value is True.

ADestStream: TIdBuffer = nil

Destination for the data read. Default value is Nil.

Returns

Integer - Number of bytes read.

Description

ReadFromStack is an Integer function used to read data from the IP protocol stack for the peer connection into the Indy buffer maintained for the connection.

ReadFromStack calls CheckForDisconnect using the value specifed in ARaiseExceptionIfDisconnected to determine if an exception is raised when the connection is closed. If the socket is not Connected, ReadFromStack will exit from the method.

ADestStream is the TIdBuffer instance where data will be stored. If ADestStream is not assigned, ReadFromStack assigns a reference to ReceiveBuffer to ADestStream.

ATimeout indicates the number of milliseconds to wait for the socket handle binding to become readable. ReadFromStack insures that Binding is readable using the ATimeout value prior to read data. If a timeout occurs, ReadFromStack performs no additional processing.

ReadFromStack provides support for TIdConnectionIntercept by calling the Receive handler for Intercept, or the default Receive handler for ReadFromStack, when InterceptEnabled is True.

ClosedGracefully is updated in ReadFromStack to indicate whether data has been read from the connection.

When ClosedGracefully is False, the protocol stack is used to check for an Id_WSAESHUTDOWN error and allow the Binding to disconnect the socket when the error is detected. If the Indy read buffer contains no unread data, the Id_WSAESHUTDOWN exception is re-raised using the protocol stack handler.

When ClosedGracefully is False and no socket error has occurred, ReadFromStack performs character transformation for data when ASCIIFilter is True.

When AUseBuffer is True, ReadFromStack will place any data read from the connection in the Indy read buffer as well as the buffer in ADestStream. ReadFromStack calls DoWork with the wmRead work mode when AUseBuffer is False.

When InterceptEnabled is True, TIdConnectionIntercept.DataReceived is called using data in the read buffer.

Finally, CheckForDisconnect is called to detect when a connection has been closed by the peer.

ReadFromStack can be a time intensive operation due to network contention and the nature of blocking sockets. ReadFromStack should be the only location where data is read from the protocol stack.


TIdTCPConnection.ReadInteger

TIdTCPConnection	See Also

Reads an integer value in the Indy buffer.

function ReadInteger(const AConvert: boolean): Integer;

Parameters

const AConvert: boolean = true

Indicates that the result should be converted from Internet to Intel byte-order. Default value is True.

Returns

Integer - Value read from the Indy buffer.

Description

ReadInteger is an Integer function that reads a 4-byte binary integer value from the Indy buffer. By default, the resulting Integer value is converted from Internet byte-order to Intel byte-order. This can be overridden by setting AConvert to False.

ReadInteger uses ReadBuffer to read and extract the integer value from the Indy buffer. ReadInteger uses the WSNToHL method from TIdStackWinsock to convert the integer value from Internet byte-order to Intel byte-order.


See Also

TIdTCPConnection.ReadBuffer


TIdTCPConnection.ReadLn

TIdTCPConnection	See Also

Reads a line from the Indy buffer.

function ReadLn(const ATerminator: string; const ATimeout: integer): string; virtual;

Parameters

const ATerminator: string = ''

End-of-line termination character or characters.

const ATimeout: integer = IdTimeoutInfinite

Time-out in milliseconds. Default value IdTimeoutInfinite.

Returns

String - Line read from the buffer.

Description

ReadLn is a function that returns a string containing a single line from the buffer maintained by TIdTCPConnection.

The optional ATerminator parameter indicates the end-of-line symbol for the particular protocol. If data is expected, and you do not need a custom end-of-line symbol, you can use the default ATerminator value (#0). ATerminator values include:

ATerminator Values

#0 - Default Line Feed (#10)

LF - Line Feed (#10)

CR - Carriage Return (#13)

EOL - End-of-line (Carriage Return + Line Feed)

If there is no terminator (ATerminator) in the buffer, ReadLn will read more bytes from the TCP stack through the ReadFromStack method.

Use a custom time-out (ATimeout) value to change the number of milliseconds to wait for a response from the peer connection before a time-out occurs. The default value for ATimeout is IdTimeoutInfinite. See IdGlobal.pas for more information on constant timeout values.

ReadLn will return an empty string ('') if the peer connection is prematurely closed or a time-out occurs. When a timeout condition occurs in ReadLn, the ReadLnTimedOut property is set to True.


See Also

TIdTCPConnection.ReadFromStack

TIdTCPConnection.ReadLnTimedOut

IdTimeoutInfinite


TIdTCPConnection.ReadLnWait

TIdTCPConnection

Returns a line of text from the connection.

function ReadLnWait: string;

Returns

String - Data read from the connection.

Description

ReadLnWait is a procedure that returns a single line ot text from the connection. ReadLnWait will continue to read from the connection until a non-blank line is received.

If there is no guarantee that data will be available, or a specific line delimiter is required, use ReadLn to retrieve data from the connection.

ReadLnWait calls ReadLn with the default delimiter and timeout values.


TIdTCPConnection.ReadSmallInt

TIdTCPConnection

Reads an small integer value from the connection.

function ReadSmallInt(const AConvert: boolean): SmallInt;

Parameters

const AConvert: boolean = true

Convert the numeric from Network to Host representation. Default value is True.

Returns

SmallInt - Value read from the Indy buffer.

Description

ReadSmallInt is a SmallInt function used to read an integer value, in the range 0 to 255, from the connection. ReadSmallInt uses ReadBuffer to get the SmallInt value from the Indy read buffer.

AConvert indicates that the protocol stack WSNToHs method should be used to convert the numeric value from Network byte-order to Host-specific byte-order.


TIdTCPConnection.ReadStream

TIdTCPConnection	See Also	Example 1

Reads data from the Indy buffer and stores the values in a stream.

procedure ReadStream(AStream: TStream; AByteCount: LongInt; const AReadUntilDisconnect: boolean);

Parameters

AStream: TStream

Stream where data will be stored.

AByteCount: LongInt = -1

Number of bytes to be read. Default value is -1.

const AReadUntilDisconnect: boolean = false

Indicates that data should be read from the protocol stack until disconnected. Default value is False.

Description

ReadStream is a procedure used to read and extract data from the Indy buffer, and to place the resulting values in the stream AStream.

AByteCount indicates the number of bytes to be read from the Indy buffer, or -1 if all bytes in the Indy buffer should be included. When AByteCount contains the number of bytes to be read, it is used to increase the size of AStream by the given number of bytes. This reduces memory or disk allocations to a single operation.

AReadUntilDisconnected indicates that data should be read from the protocol stack until the component is disconnected. When AReadUntilDisconnected is True, bytes are read from the protocol stack and written to AStream until Connected is False.

Note: When AByteCount is -1, and AReadUntilDisconnected is False, it is assumed that the first 4-bytes in the Indy buffer contains the length of buffered data in Internet format. ReadStream uses ReadInteger to convert the value to Intel byte-order prior to reading the remaining data from the Indy buffer.


See Also

TIdTCPConnection.Connected

TIdTCPConnection.ReadInteger


TIdTCPConnection.ReadStream, Example 1
Example 1

TIdTCPConnection.ReadStream

  if bSizeKnown then

    // read known data size

    AConnection.ReadStream(AStream, ABytes, False)

  else

    // read all data until disconnected

    AConnection.ReadStream(AStream, -1, True);


TIdTCPConnection.ReadString

TIdTCPConnection

Reads a string value from the connection.

function ReadString(const ABytes: integer): string;

Parameters

const ABytes: integer

Number of bytes to be read from the connection.

Returns

String - Data read from the Indy read buffer.

Description

ReadString is a String function used to read the number of bytes specified in ABytes from the connection. ReadString uses ReadBuffer to get the string from the Indy read buffer.

ReadString delays until the number of bytes in ABytes is available in the Indy read buffer. If the number of bytes is not known, use ReadLn or ReadLnWait.


TIdTCPConnection.RemoveXBytesFromBuffer

TIdTCPConnection

Deletes bytes from the Indy buffer.

procedure RemoveXBytesFromBuffer(const AByteCount: Integer); virtual;

Parameters

const AByteCount: Integer

The number of bytes to be removed and discarded.

Description

RemoveXBytesFromBuffer is a procedure used to remove a specified number of bytes form the Indy read buffer for the connection.

RemoveXBytesFromBuffer calls DoWork with the wmRead work mode and the specified number of bytes to update information about the read operation.

Use ExtractXBytesFromBuffer to get the value for the specified number of bytes.


TIdTCPConnection.SendCmd

TIdTCPConnection

Sends a command to the peer.

function SendCmd(const AOut: string; const AResponse: SmallInt): SmallInt; overload;
function SendCmd(const AOut: string; const AResponse: Array of SmallInt): SmallInt; virtual; overload;

Parameters

const AOut: string

Command to be sent to the server.

const AResponse: SmallInt = -1

Numeric response expected. Default is -1. (Array of SmallInt for multiple responses allowed).

Description

SendCmd sends a command (AOut) to the peer. If the numeric response code is not AResponse, an exception is raised. If you have to check for more than one numeric response number code, pass an array of numbers in AResponse. If you do not want an exception raised, omit AResponse.


TIdTCPConnection.SendCmd

TIdTCPConnection

Sends a command to the peer.

function SendCmd(const AOut: string; const AResponse: SmallInt): SmallInt; overload;
function SendCmd(const AOut: string; const AResponse: Array of SmallInt): SmallInt; virtual; overload;

Parameters

const AOut: string

Command to be sent to the server.

const AResponse: Array of SmallInt

Numeric response expected. Default is -1. (Array of SmallInt for multiple responses allowed).

Description

SendCmd sends a command (AOut) to the peer. If the numeric response code is not AResponse, an exception is raised. If you have to check for more than one numeric response number code, pass an array of numbers in AResponse. If you do not want an exception raised, omit AResponse.


TIdTCPConnection.WaitFor

TIdTCPConnection

Reads data from the connection until a string is found.

function WaitFor(const AString: string): string;

Parameters

const AString: string

The value to be located.

Returns

String - Value read from the connection.

Description

WaitFor is a String function used to read from the connection until the value in AString is encountered. The return value for WaitFor will include the value in AString.

WaitFor calls CheckForDisconnect to detect when the connection is closed.


TIdTCPConnection.Write

TIdTCPConnection

Send a string using the connection.

procedure Write(AOut: string); virtual;

Parameters

AOut: string

Buffer to send over the connection.

Description

Write is a procedure used to send the string specified in AOut over the connection. When AOut is an empty string, no action is performed.

Write calls WriteBuffer to perform output from the buffer.

Write does not add an End-Of-Line sequence to the output buffer.


TIdTCPConnection.WriteBuffer

TIdTCPConnection	See Also

Sends the data in a buffer to a peer connection.

procedure WriteBuffer(const ABuffer; AByteCount: Longint; const AWriteNow: boolean);

Parameters

const ABuffer

Buffer with data to be written.

AByteCount: Longint

Number of bytes of data to be written.

const AWriteNow: boolean = false

Ignore write buffering and send data immediately. Default value is False.

Description

WriteBuffer is a procedure that places data in the Indy buffer for the peer connection, or optionally sends the data to the peer connection. Note: This is the only place where data is sent to a peer through the binding. All other write procedures call this method.

ABuffer is the TIdBuffer that contains data to be affected by WriteBuffer.

AByteCount is the number of bytes in the buffer to be affected by WriteBuffer.

When AWriteNow is True, write buffering will be ignored and ABuffer will be transmitted to the peer without updating the internal Indy write buffer. Note: If this is done after a call to OpenWriteBuffer, ABuffer will be transmitted before/in the middle of any data in the Indy internal write buffer.

Call OpenWriteBuffer to initiate use of Indy internal write buffering operations.

Call CancelWriteBuffer or CloseWriteBuffer to interrupt use of the internal Indy write buffer.

Call FlushWriteBuffer to force unsent data in the Indy internal write buffer to be sent to the peer connection.

Call ClearWriteBuffer to remove any unsent data in the Indy internal write buffer.


See Also

TIdBuffer

TIdTCPConnection.OpenWriteBuffer

TIdTCPConnection.CloseWriteBuffer

TIdTCPConnection.CancelWriteBuffer

TIdTCPConnection.ClearWriteBuffer

TIdTCPConnection.FlushWriteBuffer


TIdTCPConnection.WriteCardinal

TIdTCPConnection	See Also

Sends a cardinal to the peer.

procedure WriteCardinal(AValue: Cardinal; const AConvert: boolean);

Description

This procedure sends a 32 bit unsigned value (cardinal) to the peer.

The TIdTimeServer component is based on this function. Parameters:

AValue - The 32bit value to send to the peer.

AConvert - Default is True. When true, the value is converted to Internet Byte order from the Native Intel Byte order. If false, no byte-order conversion is done.


See Also

TIdTimeServer

TIdTCPConnection.ReadCardinal


TIdTCPConnection.WriteFile

TIdTCPConnection

Sends an operating system file to the peer on the connection.

function WriteFile(AFile: String; const AEnableTransferFile: boolean): cardinal; virtual;

Parameters

AFile: String

File to send.

const AEnableTransferFile: boolean = false

Use OS-specific extenstions to send the file. Default value is False.

Returns

Cardinal - Number of bytes written to the peer.

Description

WriteFile is a Cardinal function used to send the operatinf system file specified in AFile to the peer on the connection. WriteFile is used to transfer files in server implementations like HTTP and FTP.

When AEnableTransferFile is True, Windows NT and Windows 2000 server can increase the efficiency of tile transfer operations, but cannot support TIdIntercept or progress indicators. AEnableTransferFile has no effect on Windows 95 and Windows 98.

WriteFile calls WriteStream using a TFileStream for the file specified in AFile to perform write operations over the connection.


TIdTCPConnection.WriteHeader

TIdTCPConnection

Sends a protocol header from values in a list.

procedure WriteHeader(axHeader: TStrings);

Parameters

axHeader: TStrings

List of headers to write to the connection.

Description

WriteHeader is a procedure used to write the header items in axHeader to the connection. axHeader contains header items in NAME=VALUE form. WriteHeader will translate each line in axHeader to the HTTP header form NAME: VALUE.

WriteHeader calls WriteLn for each header item in axHeader. An additional blank line is written to the connection at the end of the header list.


TIdTCPConnection.WriteInteger

TIdTCPConnection

Writes a binary integer value to the peer connection.

procedure WriteInteger(AValue: Integer; const AConvert: boolean);

Parameters

AValue: Integer

The integer value to send to the peer.

const AConvert: boolean = true

Convert the Host byte-order to Network byte-order. Default value is True.

Description

WriteInteger is a procedure used to send an Integer value to the peer connection.

AValue is the integer value to send to the peer connection.

AConvert indicates that the integer in AValue should be converted from local host byte-order to Internet byte-order. When AConvertis True, the protcol stack method WSHToNl is called to convert the binary integer value.

WriteInteger calls WriteBuffer to send AValue to the peer connection.


TIdTCPConnection.WriteLn

TIdTCPConnection

Writes string value to the peer connection.

procedure WriteLn(const AOut: string); virtual;

Parameters

const AOut: string = ''

Value to send to the peer connection. Default value is ''.

Description

WriteLn is a procedure used to send the string value specified in AOut to the peer connection. WriteLn appends the EOL character sequence to the value in AOut when it is sent to the peer connection.


TIdTCPConnection.WriteSmallInt

TIdTCPConnection

Sends a small integer value to the peer connection.

procedure WriteSmallInt(AValue: SmallInt; const AConvert: boolean);

Parameters

AValue: SmallInt

Value to be sent to the peer.

const AConvert: boolean = true

Convert the value from local host byte-order to Internet byte-order. Default value is True.

Description

WriteSmallInt is a procedure used to send the SmallInt specified in AValue to the peer connection.

When AConvert is True, the value specified in AValue is converted to Internet byte-order using the prtocol stack method WSHToNs.

WriteSmallInt calls WriteBuffer to send the SmallInt value to the peer connection.


TIdTCPConnection.WriteStream

TIdTCPConnection

Sends a stream of data to the peer connection.

procedure WriteStream(AStream: TStream; const AAll: boolean; const AWriteByteCount: Boolean); virtual;

Parameters

AStream: TStream

The stream to send to the peer connection.

const AAll: boolean = true

Write from the start of the stream. Default value is True.

const AWriteByteCount: Boolean = false

Write the stream sizew to the peer connection. Default value is False.

Description

WriteStream is a procedure used to send the contents of the TStream descendant specified in AStream to the peer connection.

AAll indicates that the stream should be positioned to the stream origin prior to sending stream data.

AWriteByteCount indicates that the Integer value containing the size of the stream should be written to the peer connection prior to the stream data. When AAll is true, this value reflects the size of the entire stream. When AAll is False, this value indicates the stream sixe from the current stream position to the end of the stream.

When AWriteByteCount is True, WriteInteger is called to send the stream size to the peer connection.

WriteStream calls BeginWork with the work mode wmWrite and the size of the stream prior to sending stream data to the peer connection.

Stream data is sent to the peer in blocks, where each block can contain up to SendBufferSize bytes. Each block is read from the Indy buffer using ReadBuffer, and written to the peer connection using Write.

WriteStream calls EndWork with the work mode wmWrite prior to exiting from the method.


TIdTCPConnection.WriteStrings

TIdTCPConnection	See Also

Write multiple text strings to a peer connection.

procedure WriteStrings(AValue: TStrings);

Parameters

AValue: TStrings

Values to be sent as output to the peer.

Description

WriteStrings is a procedure used to send the multiple lines of text in AValue to the socket peer connection. WriteStrings uses the WriteLn method to send individual lines in AValue.


See Also

TIdTCPConnection.WriteLn


TIdTCPServer

Hierarchy	Members	Properties	Methods	Events	See Also	Unit: IdTCPServer

Implements a multi-threaded TCP Server.

TIdTCPServer = class(TIdComponent)

Description

TIdTCPServer encapsulates a complete, multi-threaded TCP (Transmission Control Protocol) server. TIdTCPServer uses a thread to listen for client connections, and in conjunction with a TIdThreadMgr, allocates a separate thread to handle each client connection to the server.

TIdTCPServer can be used as a base class to create custom TCP server descendants. Many of the Indy server components, such as TIdChargenServer, TIdDayTimeServer, TIdDICTServer, TIdEchoServer, TIdFingerServer, TIdGopherServer, TIdHostNameServer, TIdHTTPServer, TIdIRCServer, TIdNNTPServer, TIdQUOTDServer, TIdTelnetServer, and TIdWhoisServer, are descendants of the TIdTCPServer component.


See Also

TIdChargenServer

TIdDayTimeServer

TIdDICTServer

TIdECHOServer

TIdFingerServer

TIdGopherServer

TIdHostNameServer

TIdHTTPServer

TIdIRCServer

TIdNNTPServer

TIdQOTDServer

TIdTelnetServer

TIdWhoIsServer

TIdThreadMgr

TIdPeerThread

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPServer


TIdTCPServer Fields

TIdTCPServer


TIdTCPServer Properties

TIdTCPServer	Legend

TIdTCPServer

 AcceptWait

 Active

 Bindings

 DefaultPort

 ImplicitThreadMgrCreated

 Intercept

 TerminateWaitTime

 ThreadClass

 ThreadMgr

 Threads

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdTCPServer Events

TIdTCPServer	Legend

TIdTCPServer

 OnConnect

 OnDisconnect

 OnExecute

TIdComponent

 OnStatus


Legend

 published


TIdTCPServer Methods

TIdTCPServer	Legend

TIdTCPServer

 Create

 Destroy

 Loaded

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdTCPServer Members

TIdTCPServer	Legend

Properties

 AcceptWait

 Active

 Bindings

 DefaultPort

 ImplicitThreadMgrCreated

 Intercept

 TerminateWaitTime

 ThreadClass

 ThreadMgr

 Threads

Events

 OnConnect

 OnDisconnect

 OnExecute

Methods

 Create

 Destroy

 Loaded


Legend

 virtual

 published


TIdTCPServer.AcceptWait

TIdTCPServer	See Also

Specifies the timeout for accepting a new connection.

property AcceptWait: integer;

Description

AcceptWait is a procedure used to identify the timeout period in milliseconds to wait for the listen thread to accept a new connection.

When the server is Active, changing the value of AcceptWait will raise an EIdException exception.


See Also

TIdTCPServer.Active

EIdException


TIdTCPServer.Active

TIdTCPServer

Specifies that the server is running and listening for connections.

property Active: boolean;

Description

Active is a Boolean property that indicates the current state of the TIdTCPServer.

When Active is True, the server will listen for client connections, allocate threads and socket handles for connections, and respond to thread execution in the manner prescribed by the TIdTCPServer or descendant. When Active is False, connections and socket handles will be closed, peer threads will be terminated and freed, the thread manager will be released, and the listener thread will be terminated and freed.

Active uses the protected write procedure SetActive to implement changes in the value of the property.


TIdTCPServer.Bindings

TIdTCPServer	See Also

Container for socket handles allocated by the server.

property Bindings: TIdSocketHandles;

Description

Bindings is a TIdSocketHandles property and a collection of TIdSocketHandle instances. Bindings provides the DefaultPort number for the TCP server and is used by the TIdListenerThread to gain access to socket handles and low-level access methods provided by the TCP/IP protocol stack.


See Also

TIdTCPServer.DefaultPort

TIdSocketHandles

TIdSocketHandle

TIdListenerThread


TIdTCPServer.DefaultPort

TIdTCPServer	See Also

Identifies the default port number for new connections.

property DefaultPort: integer;

Description

DefaultPort is an Integer property that identifies the port number used to listen for new client connections. The value of DefaultPort is read from and written to Bindings.DefaultPort.

TIdTCPServer uses the DefaultPort number to bind allocated sockets handles when the Active property to set to True.


See Also

TIdTCPServer.Active


TIdTCPServer.ImplicitThreadMgrCreated

TIdTCPServer	See Also

Identifies use of the default thread manager.

property ImplicitThreadMgrCreated: Boolean;

Description

ImplicitThreadMgrCreated is a read-only Boolean property that indicates whether the implied thread manager is being used to handle creating and releasing threads for the TIdTCPServer.

ImplicitThreadMgrCreated will be True when no specific thread manager has been assigned to the ThreadMgr property; the value will be False when a TIdThreadMgr descendant has been assigned manually.

ImplicitThreadMgrCreated is updated when the TCP server becomes active. ImplicitThreadMgrCreated is used to determine if the thread manager needs to be freed when the TCP server become inactive.


See Also

TIdThreadMgr

TIdThreadMgrDefault

TIdThreadMgrPool

TIdTCPServer.Active

TIdTCPServer.ThreadClass


TIdTCPServer.Intercept

TIdTCPServer	See Also

Identifies the socket data handler.

property Intercept: TIdServerIntercept;

Description

Intercept is a TIdServerIntercept property that implements support for detecting when data is sent or data is received using a socket connection. Intercept provides an extensible mechanism to manipulate the socket connection or the data sent and received over the connection prior to use by a client.

Intercept allows a developer to create TIdIntercept descendants to encrypt and decrypt data or to compress and decompress messages. One common use of TIdIntercept is to provide support for the Secure Socket Layer (SSL) protocol, using a TIdServerInterceptOpenSSL instance, in TIdTCPServer and descendants.

Intercept is used by TIdListenerThread to insure that the peer TIdTCPServerConnection receives an appropriate socket handle binding from Intercept.Accept. The peer connection should receive a TIdConnectionIntercept descendant appropriate to the TIdServerIntercept that accepts the connection, or the socket connection will not be able to communicate properly.


See Also

TIdServerIntercept

TIdConnectionIntercept

TIdServerInterceptOpenSSL

TIdConnectionInterceptOpenSSL


TIdTCPServer.TerminateWaitTime

TIdTCPServer	See Also

Specifies the time a server should wait for terminating threads.

property TerminateWaitTime: Integer;

Description

TerminateWaitTime is an Integer property that identifies the total number of milliseconds that the server should wait, in TerminateAllThreads, for all threads to complete termination. TerminateWaitTime is an aggregate delay time, and allows TerminateAllThreads to monitor the Threads list every 250ms until TerminateWaitTime has elapsed.

The default value for TerminateWaitTime is 5000 (5 seconds). Use a larger value for TerminateWaitTime when the server handles a large number of peer connection threads, or when OnDisconnected event handling for the peer connection involves time intensive operations.


See Also

TIdTCPConnection.OnDisconnected


TIdTCPServer.ThreadClass

TIdTCPServer	See Also

Specified the thread class type for the thread manager.

property ThreadClass: TIdThreadClass;

Description

ThreadClass is a TIdThreadClass property used to identify the class type used by ThreadMgr when creating new peer threads for the TCP server.


See Also

TIdTCPServer.ThreadMgr

TIdThreadClass


TIdTCPServer.ThreadMgr

TIdTCPServer	See Also

Identifies the thread manager used by the server.

property ThreadMgr: TIdThreadMgr;

Description

ThreadMgr is a TIdThreadMgr property that provides an extensible mechanism for thread management.

ThreadMgr can accept an explicit reference to one of the TIdThreadMgr descendants, such as TIdThreadMgrDefault or TIdThreadMgrPooled. ThreadMgr will be implicitly created, using a TIdThreadMgrDefault instance, if no other thread manager is assigned when Active is set to True.

ThreadMgr is used by TIdListenerThread.Run get the TIdPeerThread that will act as the thread of execution for new client connections. ThreadMgr uses ThreadClass to determine the class instance returned to the listener thread.

ThreadMgr is used by TIdPeerThread.AfterRun to perform the TIdThreadMgr.ReleaseThread method.


See Also

TIdThreadMgrDefault

TIdThreadMgrPool

TIdThreadMgr.GetThread

TIdThreadMgr.ReleaseThread

TIdTCPServer.ImplicitThreadMgrCreated

TIdTCPServer.ThreadClass

TIdTCPServer.Active

TIdListenerThread.Run


TIdTCPServer.Threads

TIdTCPServer	See Also

Container for peer threads connecting to the server.

property Threads: TThreadList;

Description

Threads is a read-only TThreadList property that acts as a container for TIdPeerThread items created in the listener thread.


See Also

TIdPeerThread

TIdListenerThread


TIdTCPServer.Create

TIdTCPServer	See Also

Create is the constructor for TIdTCPServer.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the instance.

Description

Create relies on the inherited constructor Create, and initializes the following properties and member variables:

AcceptWait - Integer Time-out period, in milliseconds, for accepting new client connections. The default value is 1000 (1 second).

Creates the TThreadList for Threads.

Creates the TIdSocketHandles for Bindings.

Initializes ThreadClass to an instance of TIdPeerThread.


See Also

TIdTCPServer.AcceptWait

TIdTCPServer.Bindings

TIdTCPServer.ThreadClass

TIdTCPServer.Threads


TIdTCPServer.Destroy

TIdTCPServer	See Also

Destructor for the class instance.

destructor Destroy; override;

Description

Destroy is the destructor for the TIdTCPServer instance, and is responsible for the following actions:

Change Active to False

Terminate all TIdPeerThreads in the thread list

Free all TIdPeerThreads in the thread list

Free all TIdSocketHandle items in the Bindings collection

Call the inherited Destroy destructor


See Also

TIdTCPServer.Active

TIdTCPServer.Bindings

TIdTCPServer.Threads


TIdTCPServer.Loaded

TIdTCPServer	See Also

Specifies that the component has been completely loaded from the component stream.

procedure Loaded; override;

Description

Loaded allows the TIdTCPServer to initialize itself after all its parts have been loaded using Delphi component streaming conventions, including a call to the inherited Loaded method.

Loaded intercepts any change to the Active property until all other properties and sibling components have been read from the component stream.

If the TIdTCPServer should be active, Loaded then sets the Active property to True to force initialization of Bingings and ThreadMgr properties, as well as the TIdTListenerThread used by TIdTCPServer.


See Also

TIdTCPServer.Active

TIdTCPServer.Bindings

TIdTCPServer.ThreadMgr

TIdListenerThread


TIdTCPServer.OnConnect

TIdTCPServer	See Also

Event handler for peer thread connection attempts.

property OnConnect: TIdServerThreadEvent;

Description

OnConnect is an event handler for TIdServerThreadEvents. OnConnect occurs when a TIdPeerThread attempts to connect to a TIdTCPServer.

OnConnect receives AThread as a parameter, representing the TIdPeerThread thread that is requesting the connection.

Assign a TIdServerThreadEvent event handler procedure to OnConnect.


See Also

TIdPeerThread


TIdTCPServer.OnDisconnect

TIdTCPServer	See Also

Event handler for peer thread disconnection.

property OnDisconnect: TIdServerThreadEvent;

Description

OnDisconnect is an event handler for a TIdServerThreadEvent. OnDisconnect occurs when the TIdPeerThread attempts to disconnect from a TCP server.

OnDisconnect receives AThread as a parameter, representing the TIdPeerThread thread that is requesting to be disconnected.

Assign a TIdServerThreadEvent event handler procedure to OnDisconnect.


See Also

TIdPeerThread


TIdTCPServer.OnExecute

TIdTCPServer	See Also

Event handler for peer thread execution.

property OnExecute: TIdServerThreadEvent;

Description

OnExecute is an event handler for TIdServerThreadEvents. OnExecute occurs when a TIdPeerThread attempts to perform the TIdPeerThread.Run method.

OnExecute receives AThread as a parameter, representing the TIdPeerThread thread that will be started.

Assign a TIdServerThreadEvent event handler procedure to OnExecute to respond to the event.


See Also

TIdPeerThread

TIdPeerThread.Run


TIdTCPServerConnection

Hierarchy	Members	Properties	See Also	Unit: IdTCPServer

Encapsulates a server connection to a client.

TIdTCPServerConnection = class(TIdTCPConnection)

Description

TIdTCPServerConnection encapsulates a server connection to a client on a TIdTCPServer. TIdTCPServerConnection is used by TIdPeerThread to provide the server context for accessing any properties, methods, or events of the TCP server.


See Also

TIdTCPConnection

TIdPeerThread

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPConnection

|

TIdTCPServerConnection


TIdTCPServerConnection Fields

TIdTCPServerConnection


TIdTCPServerConnection Properties

TIdTCPServerConnection	Legend

TIdTCPServerConnection

 Server

TIdTCPConnection

 ASCIIFilter

 Binding

 ClosedGracefully

 CmdResult

 CmdResultDetails

 Intercept

 InterceptEnabled

 OnDisconnected

 OnWork

 OnWorkBegin

 OnWorkEnd

 ReadLnTimedOut

 RecvBufferSize

 ResultNo

 SendBufferSize

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdTCPServerConnection Events

TIdTCPServerConnection	Legend

TIdComponent

 OnStatus


Legend

 published


TIdTCPServerConnection Methods

TIdTCPServerConnection	Legend

TIdTCPConnection

 AllData

 CancelWriteBuffer

 Capture

 CheckForDisconnect

 CheckForGracefulDisconnect

 CheckResponse

 ClearWriteBuffer

 CloseWriteBuffer

 Connected

 Create

 CurrentReadBuffer

 CurrentReadBufferSize

 Destroy

 Disconnect

 DisconnectSocket

 ExtractXBytesFromBuffer

 FlushWriteBuffer

 GetResponse

 InputLn

 OpenWriteBuffer

 procedure RaiseExceptionForCmdResult; virtual; overload;

 procedure RaiseExceptionForCmdResult(axException: TClassIdException); virtual; overload;

 ReadBuffer

 ReadCardinal

 ReadFromStack

 ReadInteger

 ReadLn

 ReadLnWait

 ReadSmallInt

 ReadStream

 ReadString

 RemoveXBytesFromBuffer

 function SendCmd(const AOut: string; const AResponse: SmallInt): SmallInt; overload;

 function SendCmd(const AOut: string; const AResponse: Array of SmallInt): SmallInt; virtual; overload;

 WaitFor

 Write

 WriteBuffer

 WriteCardinal

 WriteFile

 WriteHeader

 WriteInteger

 WriteLn

 WriteSmallInt

 WriteStream

 WriteStrings

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdTCPServerConnection Members

TIdTCPServerConnection	Legend

Properties

 Server


Legend

 virtual

 published


TIdTCPServerConnection.Server

TIdTCPServerConnection	See Also

Provides the server context for a client connection.

property Server: TIdTCPServer;

Description

Server is a read-only TIdTCPServer property used to store the server context for the class. In TIdTCPServerConnection, the TIdTCPServer is also the Owner of the TIdTCPServerConnection class instance.


See Also

TIdTCPServer


TIdTelnet

Hierarchy	Members	Fields	Properties	Methods	Events	See Also	Unit: IdTelnet

Implements a TELNET protocol client.

TIdTelnet = class(TIdTCPClient)

Description

TIdTelnet is a client implementation of the TELNET Protocol as described in the Internet Standards documents:

TELNET Protocol Specification, RFC 854, by J. Postel and J. Reynolds, May 1983.

TELNET Option Specifications, RFC 855, by J. Postel and J. Reynolds, May 1983.

TELNET Binary Transmission, RFC 856, by J. Postel and J. Reynolds, May 1983.

TELNET Echo Option, RFC 857, J. Postel and J. Reynolds, May 1983.

TELNET Suppress Go Ahead Option, RFC 858, by J. Postel and J. Reynolds, May 1983.

TELNET Status Option, RFC 859, by J. Postel and J. Reynolds, May 1983.

TELNET Timing Mark Option, RFC 860, by J. Postel and J. Reynolds, May 1983.

TELNET Extended Options: List Option, RFC 861, by J. Postel and J. Reynolds, May 1983.

Assigned Numbers, RFC 1700, by J. Postel and J. Reynolds, October 1994.

TIdTelnet is a TIdTCPClient descendant used to transmit data with interspersed TELNET control information.

TIdTelnet provides a general, eight-bit byte-oriented communications facility designed to interface terminal devices and terminal-oriented processes. The TELNET protocol may also be used for terminal-to-terminal communication ("linking") and process-to-process communication (distributed computation).

TIdTelnet also provides negotiated options that allows additional services over and above those available within an NVT (Network Virtual Terminal).


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPConnection

|

TIdTCPClient

|

TIdTelnet


TIdTelnet Fields

TIdTelnet

TIdTelnet

 TelnetThread


TIdTelnet Properties

TIdTelnet	Legend

TIdTelnet

 Terminal

TIdTCPClient

 BoundIP

 Host

 OnConnected

 Port

 SocksInfo

 UseNagle

TIdTCPConnection

 ASCIIFilter

 Binding

 ClosedGracefully

 CmdResult

 CmdResultDetails

 Intercept

 InterceptEnabled

 OnDisconnected

 OnWork

 OnWorkBegin

 OnWorkEnd

 ReadLnTimedOut

 RecvBufferSize

 ResultNo

 SendBufferSize

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdTelnet Events

TIdTelnet	Legend

TIdTelnet

 OnConnect

 OnDataAvailable

 OnDisconnect

 OnTelnetCommand

TIdComponent

 OnStatus


Legend

 published


TIdTelnet Methods

TIdTelnet	Legend

TIdTelnet

 Connect

 Create

 Disconnect

 SendCh

TIdTCPClient

 Connect

 ConnectAndGetAll

 Create

 Destroy

TIdTCPConnection

 AllData

 CancelWriteBuffer

 Capture

 CheckForDisconnect

 CheckForGracefulDisconnect

 CheckResponse

 ClearWriteBuffer

 CloseWriteBuffer

 Connected

 Create

 CurrentReadBuffer

 CurrentReadBufferSize

 Destroy

 Disconnect

 DisconnectSocket

 ExtractXBytesFromBuffer

 FlushWriteBuffer

 GetResponse

 InputLn

 OpenWriteBuffer

 procedure RaiseExceptionForCmdResult; virtual; overload;

 procedure RaiseExceptionForCmdResult(axException: TClassIdException); virtual; overload;

 ReadBuffer

 ReadCardinal

 ReadFromStack

 ReadInteger

 ReadLn

 ReadLnWait

 ReadSmallInt

 ReadStream

 ReadString

 RemoveXBytesFromBuffer

 function SendCmd(const AOut: string; const AResponse: SmallInt): SmallInt; overload;

 function SendCmd(const AOut: string; const AResponse: Array of SmallInt): SmallInt; virtual; overload;

 WaitFor

 Write

 WriteBuffer

 WriteCardinal

 WriteFile

 WriteHeader

 WriteInteger

 WriteLn

 WriteSmallInt

 WriteStream

 WriteStrings

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdTelnet Members

TIdTelnet	Legend

Fields

 TelnetThread

Properties

 Terminal

Events

 OnConnect

 OnDataAvailable

 OnDisconnect

 OnTelnetCommand

Methods

 Connect

 Create

 Disconnect

 SendCh


Legend

 virtual

 published


TIdTelnet.TelnetThread

TIdTelnet	See Also

Specifies the thread used to read data and commands for the TELNET client.

TelnetThread: TIdTelnetReadThread;

Description

TelnetThread is an instance of TIdTelnetReadThread that is used to read data and commands for the TIdTelnet object. All data from the host is read using this thread. The OnDataAvailable and OnTelnetCommand event handlers are called as a result of data being received via this thread.

TelnetThread is created when the client connects to the host, and terminated when the client disconnects from the host.


See Also

TIdTelnet.OnDataAvailable

TIdTelnet.OnTelnetCommand

Connect

TIdTelnet.Disconnect


TIdTelnet.Terminal

TIdTelnet

Specifies the terminal identification string for the TELNET client.

property Terminal: string;

Description

Terminal is a String property that contains the terminal identification string used to identify the terminal type in suboption negotiations. The terminal type information is an NVT ASCII string with a maximum length of 40 characters, as described in RFC 1700.

Note: Indy does not provide terminal emulation other than a dumb terminal NVT implementation. Any non-null string value can be used in Terminal.


TIdTelnet.Connect

TIdTelnet	See Also

Connects the TELNET client to a host.

procedure Connect; override;

Description

Connect is an overridden procedure in TIdTelnet used to connect the TELNET client to a host computer identified by the Host and Port properties.

Connect triggers the OnConnect event prior to using the inherited Connect method to open the socket connection. If the client is connected, the TelnetThread property is initialized.

Connect can raise an EIdException exception with the constant message RSTELNETCLIConnectError if an EIdSocketError occurs.


See Also

TIdTelnet.OnConnect

TIdTelnet.TelnetThread

EIdException

EIdSocketError

TIdTelnet.Disconnect


TIdTelnet.Create

TIdTelnet	See Also

Constructor for the new TIdTelnet instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the new TIdTelnet object instance. Create relies on the inherited Create constructor, and initializes the following private and public properties:

Port - Set to the value IdPORT_TELNET (Decimal 23).

State - Set to the value tnsData.

SentDoDont - Set to the null string value (Decimal 0).

SentWillWont - Set to the null string value (Decimal 0).

ReceivedDoDont - Set to the null string value (Decimal 0).

ReceivedWillWont - Set to the null string value (Decimal 0).

Terminal - Set to the string value 'dumb'.

IamTelnet - Set to False.


See Also

TIdTelnet.Terminal

TTnState


TIdTelnet.Disconnect

TIdTelnet	See Also

Disconnects the client from the host.

procedure Disconnect; override;

Description

Disconnect is an overridden procedure in TIdTelnet that instructs the TelnetThread to terminate, and calls the inherited Disconnect method. Disconnect also triggers the TClientEvent event used by the OnDisconnect event handler.


See Also

TIdTelnet.TelnetThread

TIdTelnet.OnDisconnect

TClientEvent


TIdTelnet.SendCh

TIdTelnet

Sends a character to the host.

procedure SendCh(Ch: Char);

Parameters

Ch: Char

Character to send to the host.

Description

SendCh is a procedure used to send a character from the client to the host. SendCh examines the character in Ch to determine if carriage returns are written to the host (when IamTelnet is True) using the inherited WriteLn method, or omitted in favor of the inherited WriteLn method.


TIdTelnet.OnConnect

TIdTelnet	See Also

Specifies the connection event handler.

property OnConnect: TClientEvent;

Description

OnConnect is a TClientEvent event handler that responds to client connection requests. OnConnect is called from the Connect method, prior to opening the socket connection and assigning the TIdTelnetReadThread used to read data for the TIdTelnet object.

Applications should assign a procedure to the OnConnect event handler to respond to connection requests or perform special processing prior to opening the socket connection.


See Also

TClientEvent

Connect

TIdTelnet.Disconnect

TIdTelnet.TelnetThread


TIdTelnet.OnDataAvailable

TIdTelnet	See Also

Specifies the event handler for processing data received from the host.

property OnDataAvailable: TTnDataAvail;

Description

OnDataAvailable is the TTnDataAvail event handler used to handle data received from the host. OnDataAvailable processes and applies the data read with TelnetThread.

Applications must assign a procedure to the OnDataAvailable event handler to allow the TIdTelnet object to determine how data from the host is applied.


See Also

TTnDataAvail

TIdTelnet.TelnetThread


TIdTelnet.OnDisconnect

TIdTelnet	See Also

Specifies the event handler for disconnection requests.

property OnDisconnect: TClientEvent;

Description

OnDisconnect is a TClientEvent event handler that responds to client disconnection requests. OnDisconnect is triggered from the Disconnect method after terminating the TelnetThread and closing the socket connection.

Applications should assign a procedure to the OnDisconnect event handler to perform processing required after closing the socket connection.


See Also

TClientEvent

Connect

TIdTelnet.Disconnect

TIdTelnet.TelnetThread


TIdTelnet.OnTelnetCommand

TIdTelnet	See Also

Specifies the TELNET command event handler.

property OnTelnetCommand: TOnTelnetCommand;

Description

OnTelnetCommand is the TOnTelnetCommand event handler used to respond to TELNET commands and status changes received by the TIdTelnet client.

Applications should assign a procedure to the event handler in order to respond to specific TELNET commands, or to perform TELNET options; i.e. tncNoLocalEcho, tncLocalEcho, or tncEcho.


See Also

TTnState

TTelnetCommand


TIdTelnetReadThread

Hierarchy	Members	Methods	See Also	Unit: IdTelnet

TELNET client thread that listens for responses to key input and protocol negotiations.

TIdTelnetReadThread = class(TIdThread)

Description

TIdTelnetReadThread is a TIdThread descendant that represents the thread of execution in the TIdTelnet client that listens for responses to key input and protocol option negotiations.

TIdTelnetReadThread implements the thread handling framework inherited from TIdThread to control execution of the thread.

TIdTelnetReadThread is used by the OnDataAvailable event handler in TIdTelnet to perform read operations for the TELNET client.

Do not create instances of TIdTelnetReadThread. TIdTelnet creates an instance of TIdTelnetReadThread when the client is connected to the host.


See Also

Technical Support


Class Hierarchy

TThread

|

TIdThread

|

TIdTelnetReadThread


TIdTelnetReadThread Fields

TIdTelnetReadThread


TIdTelnetReadThread Properties

TIdTelnetReadThread

TIdThread

 Data

 StopMode

 Stopped

 Terminated

 TerminatingException


TIdTelnetReadThread Events

TIdTelnetReadThread

TIdThread

 OnException


TIdTelnetReadThread Methods

TIdTelnetReadThread	Legend

TIdTelnetReadThread

 Create

TIdThread

 Create

 Destroy

 Start

 Stop

 Synchronize

 TerminateAndWaitFor


Legend

 virtual


TIdTelnetReadThread Members

TIdTelnetReadThread	Legend

Methods

 Create


Legend

 virtual


TIdTelnetReadThread.Create

TIdTelnetReadThread

Creates a new TIdTelnetReadThread instance.

constructor Create(AClient: TIdTelnet);

Parameters

AClient: TIdTelnet

TELNET client serviced by this thread.

Description

Create is the constructor for the TIdTelnetReadThread instance, and relies on the inherited Create constructor to initialize the thread. TIdTelnetReadThread stores a reference to the TIdTelnet client that is the recipient of data read by the thread.

TIdTelnetReadThread sets the FreeOnTerminate property to True, to indicate that the thread should be freed when execution has been completed.

You should not need to create an instance of this object directly. Instances of this object are created when the TIdTelnet client connects to the host.


TIdTelnetServer

Hierarchy	Members	Properties	Methods	Events	See Also	Unit: IdTelnetServer

Specifies a Telnet Protocol server architecture.

TIdTelnetServer = class(TIdTCPServer)

Description

TIdTelnetServer is sever implementation of the Telnet Protocol as described in the Internet Standards documents:

TELNET Protocol Specification, RFC 854, by J. Postel and J. Reynolds, May 1983

TELNET Option Specifications, RFC 855, by J. Postel and J. Reynolds, May 1983

TELNET Echo Option, RFC 857, J. Postel and J. Reynolds, May 1983.

TELNET Suppress Go Ahead Option, RFC 858, by J. Postel and J. Reynolds, May 1983.

TELNET Status Option, RFC 859, by J. Postel and J. Reynolds, May 1983.

TELNET Timing Mark Option, RFC 860, by J. Postel and J. Reynolds, May 1983.

TELNET Extended Options: List Option, RFC 861, by J. Postel and J. Reynolds, May 1983.

Assigned Numbers, RFC 1700, by J. Postel and J. Reynolds, October 1994.

The TELNET Protocol provides a general communications facility to allow a standard method of interfacing terminal devices and terminal-oriented processes.

Telnet is used to connect to a remote computer system and allow the client to act as a dumb terminal on that system.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPServer

|

TIdTelnetServer


TIdTelnetServer Fields

TIdTelnetServer


TIdTelnetServer Properties

TIdTelnetServer	Legend

TIdTelnetServer

 DefaultPort

 LoginAttempts

 LoginMessage

TIdTCPServer

 AcceptWait

 Active

 Bindings

 DefaultPort

 ImplicitThreadMgrCreated

 Intercept

 TerminateWaitTime

 ThreadClass

 ThreadMgr

 Threads

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdTelnetServer Events

TIdTelnetServer	Legend

TIdTelnetServer

 OnAuthentication

 OnNegotiate

TIdTCPServer

 OnConnect

 OnDisconnect

 OnExecute

TIdComponent

 OnStatus


Legend

 published


TIdTelnetServer Methods

TIdTelnetServer	Legend

TIdTelnetServer

 Create

 DoAuthenticate

 DoConnect

 DoNegotiate

TIdTCPServer

 Create

 Destroy

 Loaded

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdTelnetServer Members

TIdTelnetServer	Legend

Properties

 DefaultPort

 LoginAttempts

 LoginMessage

Events

 OnAuthentication

 OnNegotiate

Methods

 Create

 DoAuthenticate

 DoConnect

 DoNegotiate


Legend

 virtual

 published


TIdTelnetServer.DefaultPort

TIdTelnetServer

Default port number for the server.

property DefaultPort;

Description

DefaultPort is a published property in TIdTelnetServer that identifies the default port number for the server, as described in the Telnet Protocol specification. The default value for DefaultPort is IdPORT_TELNET.


TIdTelnetServer.LoginAttempts

TIdTelnetServer

Number of failed logins permitted.

property LoginAttempts: Integer;

Description

LoginAttempts is an Integer property used to indicate the number of unsuccessful login attempts permitted for a connection before the connection is terminated.

LoginAttempts is used in DoConnect to determine the number maximum number of login attempts allowed in the method.

By default, a new connection is allowed 3 unsuccessful connection attempts before termination.


TIdTelnetServer.LoginMessage

TIdTelnetServer

Represents the login message for a new connection.

property LoginMessage: String;

Description

LoginMessage is a String property used to inform the TELNET connection that the server is ready to accept parameter values for Username and Password.

LoginMessage is written to the peer connection after option negotiation has been completed.

The default value for LoginMessage is the constant value RSTELNETSRVWelcomeString, or "Indy Telnet Server".


TIdTelnetServer.Create

TIdTelnetServer

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance, and relies on the inherited Create method to initialize the TELNET server.

Create also initializes properties for the server to their default values including:

LoginAttempts - 3

LoginMessage - Constant value RSTELNETSRVWelcomeString

DefaultPort - 23 (Standard TELNET port number)


TIdTelnetServer.DoAuthenticate

TIdTelnetServer

Implements user authentication for a connection.

function DoAuthenticate(AThread: TIdPeerThread; const AUsername: string; const APassword: string): boolean; virtual;

Parameters

AThread: TIdPeerThread

The connection to authenticate.

const AUsername: string

The authentication user name.

const APassword: string

THe authentication password.

Description

DoAuthenticate is a Boolean function used to implement authentication for a TELNET connection.

DoAuthenticate requires a procedure assigned to the OnAuthentication event handler, or an exception will be raised.

DoAuthenticate triggers the OnAuthentication event using the specified parameters to perform authentication processing.

DoAuthenticate returns True when authentication is successful, or False when authentication has failed.

DoAuthenticate is called from DoConnect to perform authentication for a new TELNET connection.


TIdTelnetServer.DoConnect

TIdTelnetServer

Opens a connection on the server for the peer.

procedure DoConnect(AThread: TIdPeerThread); override;

Parameters

AThread: TIdPeerThread

The peer thread with the connection to be opened.

Description

DoConnect is a procedure used to open a TELNET connection from a peer thread. DoConnect relies on the inherited DoConnect method to handle the basic TCP connection capabilities supported by the server.

DoConnect initializes the Data property to contain an instance of TTelnetData for the connection.

DoConnect calls DoNegotiate to perform TELNET option negotiation for the connection.

DoConnect sends the LoginMessage, when present, to identify the server that is the endpoint for the connection.

When an OnAuthentication event handler has been assigned to the server property, DoConnect will read username and password from the peer connection and store the values in Data. DoAuthentication is called using the user name and password values. DoConnect will attempt to authenticate the connection until LoginAttempts is exceeded.

If an exception occurs in DoConnect, the exception message is written to the peer connection and the exception is discarded.


TIdTelnetServer.DoNegotiate

TIdTelnetServer

Implements TELNET option negotiation.

procedure DoNegotiate(AThread: TIdPeerThread); virtual;

Parameters

AThread: TIdPeerThread

The peer thread to perform option negotiation.

Description

DoNegotiate is a procedure used to implement the OnNegotiate event handler for a peer connection.

DoNegotiate requires a procedure assigned to the OnNegotiate event handler to allow option negotiate to be performed for the connection.


TIdTelnetServer.OnAuthentication

TIdTelnetServer

Specifies the event handler for connection authentication.

property OnAuthentication: TAuthenticationEvent;

Description

OnAuthentication is a TAuthenticationEvent event handler used to respond to authentication event notifications when AUsername and APassword have been submitted by the client connection.

When AAuthenticated is True, authentication for the client connection was successful. When AAuthenticated is False, authentication has failed, LoginAttempts has been exceeded, or an exception has occurred.

OnAuthentication is triggered from DoConnect and DoAuthenticate.


TIdTelnetServer.OnNegotiate

TIdTelnetServer

Specifies the event handler for TELNET option negotiation.

property OnNegotiate: TIdTelnetNegotiateEvent;

Description

OnNegotiate is a TIdTelnetNegotiateEvent event handler used to respond to event notifications for the connection in the peer thread.

OnNegotiate is called from DoConnect to initialize the TELNET protocol options for the connection.


TIdText

Hierarchy	Members	Properties	Methods	See Also	Unit: IdMessage

Encapsulates a MIME-encoded text message part.

TIdText = class(TIdMessagePart)

Description

TIdText is a TIdMessagePart descendant that encapsulates a MIME textual message part. TIdAttachment and TIdText are used as collection items in a TIdMessageParts collection.

TIdText provides the Body property to represent the textual content of the message part.


See Also

TIdMessagePart

Technical Support


Class Hierarchy

TCollectionItem

|

TIdMessagePart

|

TIdText


TIdText Fields

TIdText


TIdText Properties

TIdText	Legend

TIdText

 Body

TIdMessagePart

 Boundary

 BoundaryBegin

 BoundaryEnd

 ContentTransfer

 ContentType

 ExtraHeaders

 Headers

 IsEncoded

 StoredPathName


Legend

 published


TIdText Events

TIdText

TIdMessagePart

 OnGetMessagePartStream


TIdText Methods

TIdText	Legend

TIdText

 Assign

 Create

 Destroy

TIdMessagePart

 Assign

 Create

 Destroy


Legend

 virtual


TIdText Members

TIdText	Legend

Properties

 Body

Methods

 Assign

 Create

 Destroy


Legend

 virtual

 published


TIdText.Body

TIdText

Textual content of the message part.

property Body: TStrings;

Description

Body is a TStringList property that represents the textual content of the MIME message part.


TIdText.Assign

TIdText

Copy the property values of an object instance.

procedure Assign(Source: TPersistent); override;

Parameters

Source: TPersistent

Persistent object containing values to be copied.

Description

Assign is a procedure used to copy the property values from the persistent object specified in Source to the current object instance. When Source has the same ClassType as the current object, Assign will copy the following property values:

ContentTransfer

ContentType

ExtraHeaders

Body


TIdText.Create

TIdText

Constructor for the collection item.

constructor Create(Collection: TIdMessageParts; ABody: TStrings);

Parameters

Collection: TIdMessageParts

Owner of the collection item.

ABody: TStrings = nil

Content of the message part.

Description

Create is the constructor for the collection item, and adds the new collection item to the collection specified in Collection. Create calls the inherited Create method to identify the collection that own the collection item. Create also initializes the Body property from the value specified in ABody.


TIdText.Destroy

TIdText

Frees the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance, and is responsible for freeing and releasing the Body property prior to calling the inherited Destroy method.


TIdThread

Hierarchy	Members	Properties	Methods	Events	See Also	Unit: IdThread

Ancestor for all Indy threads.

TIdThread = class(TThread)

Description

TIdThread is a descendant of the Delphi TThread, and the ancestor of thread classes used in Indy. Create a descendant of TIdThread to represent a thread of execution in a multi-threaded application.

TIdThread extends the functionality of TThread to include flexible methods for control of thread state and notification of changes to thread state.

TIdThread implements the inherited abstract Execute method to provide a known thread execution mechanism. Execute can detect thread termination, suspend and resume threads, and provide exception handling for an exception raised during thread execution. Execute also provides finer control of thread execution by extending TThread to include the equivalent of thread event handlers.

TIdThread and descendants should override the abstract Run method, and implement the virtual methods BeforeRun and AfterRun.

The Execute method iterates through a loop, making calls to BeforeRun, Run, and AfterRun to provide thread functionality. This loop can be stopped by calling the Stop method. Use the Start method to begin or resume execution of the loop.

TIdThread descendants can be used in conjunction with a TIdThreadMgr descendants to address the overhead issues associated with thread creation and resource allocation in a multi-threaded application.

Note: Do not use properties and methods of other objects directly in the Run method of a thread. Use the Synchronize method to call a procedure that can access objects and resources which are not thread-safe.


See Also

TIdThreadMgr

TIdThreadMgrDefault

TIdThreadMgrPool

Technical Support


Class Hierarchy

TThread

|

TIdThread


TIdThread Fields

TIdThread


TIdThread Properties

TIdThread

TIdThread

 Data

 StopMode

 Stopped

 Terminated

 TerminatingException


TIdThread Events

TIdThread

TIdThread

 OnException


TIdThread Methods

TIdThread	Legend

TIdThread

 Create

 Destroy

 Start

 Stop

 Synchronize

 TerminateAndWaitFor


Legend

 virtual


TIdThread Members

TIdThread	Legend

Properties

 Data

 StopMode

 Stopped

 Terminated

 TerminatingException

Events

 OnException

Methods

 Create

 Destroy

 Start

 Stop

 Synchronize

 TerminateAndWaitFor


Legend

 virtual


TIdThread.Data

TIdThread	See Also

Storage slot for data used by a thread.

property Data: TObject;

Description

Data is a TObject property, and can contain a reference to any TObject descendant. Data can be used to store an object reference that will be required by the TIdThread descendant in either Run, BeforeRun, or AfterRun methods.

Note: It is the responsibility of the TIdThread descendant to cast Data to the class instance required by the TIdThread descendant, or an exception will be raised.

Data is not initialized in the Create constructor, but is released in the Destroy destructor.


See Also

TIdThread.Destroy

Run


TIdThread.StopMode

TIdThread	See Also

Determines the action taken when the Stop method is called.

property StopMode: TIdThreadStopMode;

Description

TIdThreadStopMode type defines the possible values for the StopMode property of the TIdThread component, as defined below.

smTerminate - The thread should be terminated.

smSuspend - The thread should be suspended.


See Also

TIdThread.Stop

TIdThread.TerminateAndWaitFor


TIdThread.Stopped

TIdThread	See Also

Indicates whether a thread is stopped.

property Stopped: Boolean;

Description

Stopped is True if the thread has been asked to stop, which means the loop in the Execute method will not iterate until a call to the Start method is made.

Note that a thread may still be executing even if its Stopped property is True.


See Also

TIdThread.Stop

TIdThread.Terminated


TIdThread.Terminated

TIdThread	See Also

Indicates whether the thread has been asked to terminate its execution.

property Terminated;

Description

Note: Terminated is redeclared as a public property in TIdThread.


See Also

TThread.Terminated

Terminate

Execute

Stopped.


TIdThread.TerminatingException

TIdThread	See Also

Contains the text of an Exception.Message raised within the Execute method.

property TerminatingException: string;

Description

TerminatingException is updated in the Execute method from a try...except block prior to triggering the OnException event for the Exception and terminating the thread.


See Also

Execute

TIdThread.OnException

Terminate


TIdThread.Create

TIdThread	See Also

Create is the constructor for the TIdThread instance.

constructor Create(ACreateSuspended: Boolean); virtual;

Parameters

ACreateSuspended: Boolean = True

Create thread in a suspended state.

Description

Create relies on the inherited Create constructor to initialize the object instance. In Create, Stopped is set to the value in the ACreateSuspended parameter.

If ACreateSuspended is True, you should call the Start method in order to start thread execution. If ACreateSuspended is False, the thread automatically starts its execution.


See Also

TIdThread.Start

TIdThread.Destroy

TIdThread.Stopped


TIdThread.Destroy

TIdThread	See Also

Destroys a class instance.

destructor Destroy; override;

Description

Destroy is responsible for releasing any TObject reference in Data. Destroy relies on the inherited Destroy method to free the object instance.


See Also

TIdThread.Data


TIdThread.Start

TIdThread	See Also

Starts or resumes iteration of the loop in the Execute method.

procedure Start;

Description

Start instructs the thread instance to start or resume iterating through the main thread of execution for the thread.

If Stopped is True when Start is called, the values of Stopped and the inherited Suspended property are set to False, and the main thread of execution is allowed to continue.


See Also

TIdThread.Stopped


TIdThread.Stop

TIdThread	See Also

Prevents further execution of the thread.

procedure Stop;

Description

When Stop is called, Stopped is set to True, meaning the executing thread method will not allow additional iterations. Depending on the value of the StopMode property, the thread will be terminated or allow suspension from the thread of execution.

When the Stop method is called, it immediately returns, but the thread may have to wait for completion of thread of execution before it can be suspended or terminated. In contrast, if the TerminateAndWaitFor method is called instead, it returns only after the thread has left the main thread of execution.

If you want to immediately suspend the thread, you should set Suspended to true.


See Also

TIdThread.Start

TIdThread.StopMode

TIdThread.TerminateAndWaitFor


TIdThread.Synchronize

TIdThread

Executes a method in the main VCL thread.

procedure Synchronize(Method: TThreadMethod);

Parameters

Method: TThreadMethod

TThreadMethod VCL method to be executed.

Description

Synchronize is used to avoid multi-threading conflicts that can arise from accessing object properties or methods that are not thread-safe, or using resources not in the main thread of execution.

Execution of the thread is suspended while Synchronize completes the call to Method.

Note: Methods can also be protected using critical sections or the multi-read exclusive-write synchronizer.

Note: Synchronize is redeclared as a public method in TIdThread.


TIdThread.TerminateAndWaitFor

TIdThread	See Also

Signals a TIdThread to terminate and waits for it to finish by exiting the Execute method.

procedure TerminateAndWaitFor; virtual;

Description

TerminateAndWaitFor calls the inherited Terminate method, sets Stopped to True, and calls the inherited WaitFor method.

Unlike WaitFor in the ancestor TThread class, the value returned from WaitFor is not used.


See Also

Terminate

TIdThread.Stopped

WaitFor


TIdThread.OnException

TIdThread	See Also

Handles TIdExceptionEvent events.

property OnException: TIdExceptionEvent;

Description

Write an OnException event handler to execute code when the thread encounters an Exception. The OnException event handler is called when the thread is executed.

Note: Do not free the thread object within this event handler. Allow the OnException event handler to return to the thread context for proper thread termination.

The text portion of the Exception message can also be found in TerminatingException.


See Also

TIdExceptionEvent

TIdThread.TerminatingException


TIdThreadMgr

Hierarchy	Members	Properties	Methods	See Also	Unit: IdThreadMgr

Specifies the base class for the Indy thread management framework.

TIdThreadMgr = class(TIdBaseComponent)

Description

TIdThreadMgr is the ancestor class for the thread manager classes in Indy, such as TIdThreadMgrDefault and TIdThreadMgrPool, and provides a thread management framework.

TIdThreadMgr defines properties and methods needed to allocate and release threads, monitor active threads, terminate a list of running threads, safeguard thread operations, and determine the thread class used by the thread manager to create new thread instances.

Instances of a TIdThreadMgr descendant can be assigned to the TIdTCPServer.ThreadMgr property to provide the functionality specific to the thread manager.

Descendants of TIdThreadMgr must implement the virtual abstract methods GetThread and ReleaseThread, and use Lock or another mechanism to protect resources while maintaining the list of active threads during these operations.

Use TerminateThreads to notify the ActiveThreads list that all TIdThread instances should close their socket connections, release the thread with RelaseThread, and remove the thread from ActiveThreads.

Assign an instance of TIdThreadClass to ThreadClass before using the thread manager to allocate new threads.


See Also

TIdThreadMgrDefault

TIdThreadMgrPool

TIdTCPServer.ThreadMgr

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdThreadMgr


TIdThreadMgr Fields

TIdThreadMgr


TIdThreadMgr Properties

TIdThreadMgr

TIdThreadMgr

 ActiveThreads

 Lock

 ThreadClass

TIdBaseComponent

 Version


TIdThreadMgr Events

TIdThreadMgr


TIdThreadMgr Methods

TIdThreadMgr	Legend

TIdThreadMgr

 Create

 CreateNewThread

 Destroy

 GetThread

 ReleaseThread

 TerminateThreads

TIdBaseComponent

 GetVersion


Legend

 abstract

 virtual


TIdThreadMgr Members

TIdThreadMgr	Legend

Properties

 ActiveThreads

 Lock

 ThreadClass

Methods

 Create

 CreateNewThread

 Destroy

 GetThread

 ReleaseThread

 TerminateThreads


Legend

 abstract

 virtual


TIdThreadMgr.ActiveThreads

TIdThreadMgr	See Also

Active threads for the thread manager.

property ActiveThreads: TList;

Description

ActiveThreads is a read-only TList property that contains active threads instances. ActiveThreads is initialized in the Create constructor, and freed in the Destroy destructor.

TIdThreadMgr does maintain the list of active threads. Descendants of TIdThreadMgr must implement the virtual abstract methods GetThread and ReleaseThread, and maintain ActiveThreads during these operations. The thread manager should use Lock, or another mechanism, to protect resources while maintaining the list of active threads.

Use TerminateThreads to notify the ActiveThreads list that all thread instances should close their socket connections, release the thread with ReleaseThread, and remove the thread from ActiveThreads.


See Also

TIdThreadMgr.Create

TIdThreadMgr.Destroy

TIdThreadMgr.GetThread

TIdThreadMgr.ReleaseThread

TIdThreadMgr.Lock

TIdThreadMgr.TerminateThreads


TIdThreadMgr.Lock

TIdThreadMgr	See Also

Protects resources in a multi-threaded application.

property Lock: TCriticalSection;

Description

Lock is a read-only TCriticalSection property used to protect resources in a multi-threaded application.

Lock can be used to block the execution of all other threads in an application until the protected operation has completed. Excessive use of Lock, and critical sections in general, can seriously interfere with application performance.

Lock is normally used by GetThread and ReleaseThread to protect the ActiveThreads list while the new thread instance is added to the list. Use Lock.Enter or Lock.Acquire prior to the protected operation. Use Lock.Leave or Lock.Release after the operation has completed.

Thread managers that do not use Lock, or another mechanism, to protect relevant operations can introduce bugs into your multi-threaded application.


See Also

TIdThreadMgr.GetThread

TIdThreadMgr.ReleaseThread


TIdThreadMgr.ThreadClass

TIdThreadMgr	See Also

Class type for new threads.

property ThreadClass: TIdThreadClass;

Description

ThreadClass is a TIdThreadClass property used to determine the type of thread instances created by the TIdThreadMgr. Assign an instance of TIdThreadClass to ThreadClass before using the thread manager to allocate new threads using CreateNewThread.


See Also

TIdThreadClass

TIdThreadMgr.CreateNewThread


TIdThreadMgr.Create

TIdThreadMgr	See Also

Create is the constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Component that owns the object instance.

Description

Create relies on the inherited Create constructor to initialize the object instance. Create also initializes the read-only properties ActiveThreads and Lock. Destroy is responsible for freeing ActiveThreads and Lock.


See Also

TIdThreadMgr.ActiveThreads

TIdThreadMgr.Lock

TIdThreadMgr.Destroy


TIdThreadMgr.CreateNewThread

TIdThreadMgr	See Also

Handles creation of new thread instances.

function CreateNewThread: TIdThread; virtual;

Returns

TIdThread - The new thread instance.

Description

CreateNewThread is a virtual TIdThread function in TIdThreadMgr that handles creation of new thread instances.

CreateNewThread uses ThreadClass to create a new thread instance for the thread manager. If ThreadClass is not assigned, an EIdThreadClassNotSpecified exception is raised, and the return value of CreateNewThread will be Nil.

CreateNewThread is used by TIdThreadMgr descendants to provide the new thread instance needed in GetThread.


See Also

TIdThreadMgr.ThreadClass

TIdThreadMgr.GetThread

EIdThreadClassNotSpecified


TIdThreadMgr.Destroy

TIdThreadMgr	See Also

Destructor for the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance. Destroy will free the properties ActiveThreads and Lock, and set their values to Nil prior to calling the inherited Destroy destructor.


See Also

TIdThreadMgr.ActiveThreads

TIdThreadMgr.Lock


TIdThreadMgr.GetThread

TIdThreadMgr	See Also

Requests a new thread for the thread manager.

function GetThread: TIdThread; virtual; abstract;

Returns

TIdThread - The new thread instance.

Description

GetThread is a virtual abstract TIdThread function that requests a new thread for the thread manager. GetThread is not implemented in TIdThreadMgr. Descendants of TIdThreadMgr must implement GetThread to satisfy the requirements for the specific thread manager. GetThread can get a thread instance using CreateNewThread, re-use a thread from a thread pool, or use another thread creation scheme provided in the TIdThreadMgr descendant.

GetThread should use the critical section Lock, or other mechanism, to protect the ActiveThreads list while adding the new thread instance.

A thread instance can be freed using ReleaseThread. ReleaseThread is used in TerminateThreads.


See Also

TIdThreadMgr.CreateNewThread

TIdThreadMgr.Lock

TIdThreadMgr.ActiveThreads

TIdThreadMgr.ReleaseThread

TIdThreadMgr.TerminateThreads


TIdThreadMgr.ReleaseThread

TIdThreadMgr	See Also

Terminate and free a thread instance.

procedure ReleaseThread(AThread: TIdThread); virtual; abstract;

Parameters

AThread: TIdThread

Thread to be released.

Description

ReleaseThread is a virtual abstract procedure that instructs the TIdThreadMgr to terminate and free a thread instance.

ReleaseThread is not implemented in TIdThreadMgr. Descendants of TIdThreadMgr must implement ReleaseThread to satisfy the requirements for the specific thread manager. ReleaseThread can force the thread to Terminate, WaitFor the thread to complete execution, and Free the thread instance. ReleaseThread may also implement other functionality as required in the TIdThreadMgr descendant.

ReleaseThread should use the critical section Lock, or other mechanism, to protect the ActiveThreads list while removing the thread instance.

ReleaseThread is used in TerminateThreads.


See Also

TIdThread.TerminateAndWaitFor

TIdThreadMgr.Lock

TIdThreadMgr.ActiveThreads

TIdThreadMgr.TerminateThreads


TIdThreadMgr.TerminateThreads

TIdThreadMgr	See Also

Closes, releases, and frees threads in a list.

procedure TerminateThreads(Threads: TList);

Parameters

Threads: TList

List of threads to terminate.

Description

TerminateThreads is a procedure that forces a list of TIdThread instances to close their socket connections, releases the threads, and remove the threads from the active thread list.

If the thread list contains TIdPeerThread instances, TerminateThreads will call TIdPeerThread.Connection.Disconnect to close the socket connection.

For each TIdThread instance in the thread list, TerminateThreads will call ReleaseThread.

The terminated thread instance will be removed from the Thread list.


See Also

TIdThread

TIdPeerThread

TIdThreadMgr.ReleaseThread


TIdThreadMgrDefault

Hierarchy	Members	Methods	See Also	Unit: IdThreadMgrDefault

Default thread manager for Indy servers.

TIdThreadMgrDefault = class(TIdThreadMgr)

Description

TIdThreadMgrDefault is a descendant of TIDThreadMgr that acts as the default thread manager in Indy for TIdTCPServer and descendants. TIdThreadMgrDefault utilizes the thread management framework defined in TIdThreadMgr. TIdThreadMgrDefault creates and destroys threads for every connection, and stores active thread instances in the ActiveThreads list. TIdThreadMgrDefault uses Lock to protect the thread list while maintaining ActiveThreads.

TIdThreadMgrDefault implements the inherited abstract methods GetThread and ReleaseThread. GetThread creates a new thread instance for the thread manager. ReleaseThread handles freeing and releasing a thread instance.

Use TerminateThreads to notify all TIdThread instances to close their socket connection, release the thread, and remove the thread from ActiveThreads.

Assign an instance of TIdThreadClass to ThreadClass before using the thread manager to allocate new threads.

TIdThreadMgrDefault is the default thread manager created for instances of TIdTCPServer and descendants. To use another thread manager, create an instance of a TIdThreadMgr descendant, and assign the object reference to TIdTCPServer.ThreadMgr. If you are using protocols such as HTTP, Time, or Gopher, where the connection is closed after the request is fulfilled, you may wish to consider using the TIdThreadMgrPool thread manager.


See Also

TIdThreadMgr

TIdThreadMgrPool

TIdTCPServer

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdThreadMgr

|

TIdThreadMgrDefault


TIdThreadMgrDefault Fields

TIdThreadMgrDefault


TIdThreadMgrDefault Properties

TIdThreadMgrDefault

TIdThreadMgr

 ActiveThreads

 Lock

 ThreadClass

TIdBaseComponent

 Version


TIdThreadMgrDefault Events

TIdThreadMgrDefault


TIdThreadMgrDefault Methods

TIdThreadMgrDefault	Legend

TIdThreadMgrDefault

 GetThread

 ReleaseThread

TIdThreadMgr

 Create

 CreateNewThread

 Destroy

 GetThread

 ReleaseThread

 TerminateThreads

TIdBaseComponent

 GetVersion


Legend

 abstract

 virtual


TIdThreadMgrDefault Members

TIdThreadMgrDefault	Legend

Methods

 GetThread

 ReleaseThread


Legend

 abstract

 virtual


TIdThreadMgrDefault.GetThread

TIdThreadMgrDefault	See Also

Requests a new thread for the thread manager.

function GetThread: TIdThread; override;

Returns

TIdThread - The new thread instance.

Description

TIdThreadMgrDefault implements GetThread to provide new thread instances for the thread manager. GetThread uses CreateNewThread to obtain the new thread instance.

GetThread uses Lock to protect the list of active threads while adding the new thread instance to ActiveThreads.

A thread instance can be freed using ReleaseThread.

A list of threads can be terminated and freed using TerminateThreads.


See Also

TIdThreadMgrDefault.ReleaseThread


TIdThreadMgrDefault.ReleaseThread

TIdThreadMgrDefault	See Also

Frees a thread instance.

procedure ReleaseThread(AThread: TIdThread); override;

Parameters

AThread: TIdThread

Thread to be released.

Description

ReleaseThread is an implementation of the inherited abstract procedure that instructs the thread manager to terminate and free a thread instance.

If AThread is the current thread of execution, AThread.TerminateAndWaitFor is called to force termination of the active thread, and AThread.Free to release the thread. If AThread is not the current thread, FreeOnTerminate is set to True.

ReleaseThread uses Lock to protect ActiveThreads while removing the thread instance.


See Also

TIdThread


TIdThreadMgrPool

Hierarchy	Members	Properties	Methods	See Also	Unit: IdThreadMgrPool

Provides thread management using a pool of TIdThread instances.

TIdThreadMgrPool = class(TIdThreadMgr)

Description

TIdThreadMgrPool is a thread manager that utilizes the thread management framework defined in TIdThreadMgr. TIdThreadMgrPool provides thread management using a pool of TIdThread instances. Threads are created by the thread manager, when necessary, or retrieved from the thread pool. TIdThreadMgrPool also keeps a list of active threads.

The thread pool can have a maximum size to conserve system resources.

TIdThreadMgrPool uses Lock to protect thread manager resources in GetThread and ReleaseThread.

TIdThreadMgrPool implements the inherited abstract methods GetThread and ReleaseThread. GetThread provides a thread instance for the thread manager. ReleaseThread handles freeing and releasing a thread instance, or returning the instance to the thread pool.

Use TerminateThreads to notify all TIdThread instances to close their socket connection, release the thread, and remove the thread from ActiveThreads.

Assign an instance of TIdThreadClass to ThreadClass before using the thread manager to allocate new threads.

To use TIdThreadMgrPool with TIdTCPServer, create an instance of TIdThreadMgrPool, and assign the object reference to TIdTCPServer.ThreadMgr. If you are using protocols which do not close the socket connection after each request, you may wish to consider using the TIdThreadMgrDefault thread manager.


See Also

TIdThreadMgr

TIdThreadMgrDefault

TIdTCPServer

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdThreadMgr

|

TIdThreadMgrPool


TIdThreadMgrPool Fields

TIdThreadMgrPool


TIdThreadMgrPool Properties

TIdThreadMgrPool	Legend

TIdThreadMgrPool

 PoolSize

TIdThreadMgr

 ActiveThreads

 Lock

 ThreadClass

TIdBaseComponent

 Version


Legend

 published


TIdThreadMgrPool Events

TIdThreadMgrPool


TIdThreadMgrPool Methods

TIdThreadMgrPool	Legend

TIdThreadMgrPool

 Create

 Destroy

 GetThread

 ReleaseThread

TIdThreadMgr

 Create

 CreateNewThread

 Destroy

 GetThread

 ReleaseThread

 TerminateThreads

TIdBaseComponent

 GetVersion


Legend

 abstract

 virtual


TIdThreadMgrPool Members

TIdThreadMgrPool	Legend

Properties

 PoolSize

Methods

 Create

 Destroy

 GetThread

 ReleaseThread


Legend

 abstract

 virtual

 published


TIdThreadMgrPool.PoolSize

TIdThreadMgrPool	See Also

Maximum size of the thread pool.

property PoolSize: Integer;

Description

PoolSize is an Integer property used to indicate the maximum number of thread instances that can be stored in ThreadPool.

PoolSize is used by ReleaseThread to determine if a thread should be returned to ThreadPool, or if the thread should Terminate and Free. PoolSize is updated in ReleaseThread when a thread finishes executing, and it is returned to ThreadPool.

ThreadPool is a protected TList used to store TIdThread thread instances with the StopMode value of smSuspend. ThreadPool allows the thread manager to quickly supply new thread requests, from GetThread, using pre-allocated TIdThread instances.


See Also

TIdThread

TIdThreadMgrPool.GetThread

TIdThreadMgrPool.ReleaseThread

TIdThreadStopMode


TIdThreadMgrPool.Create

TIdThreadMgrPool

Create is the constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance. Create relies on the inherited Create constructor to initialize the object instance, but also creates the TList ThreadPool.


TIdThreadMgrPool.Destroy

TIdThreadMgrPool	See Also

Destroy is the destructor for the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance. Destroy will free all threads in ThreadPool, using Lock to protect resources, and free the ThreadPool prior to calling the inherited Destroy destructor.


See Also

TIdThread


TIdThreadMgrPool.GetThread

TIdThreadMgrPool	See Also

Requests a new thread for the thread manager.

function GetThread: TIdThread; override;

Returns

TIdThread - The new thread instance.

Description

GetThread is an implementation of the inherited abstract TIdThread function that requests a new thread for the thread manager. GetThread tries to satisfy new thread requests by retrieving an existing thread instance from ThreadPool. While GetThread searches for a pooled thread, it also frees and deletes any Terminated threads. The pooled thread instance is removed from ThreadPool.

If there are no existing threads in ThreadPool, GetThread can create a new thread instance using CreateNewThread. The new thread instance will have the StopMode value smSuspend.

The thread instance will be added to ActiveThreads and returned as the result of GetThread.

GetThread uses Lock to protect access to ThreadPool and ActiveThreads during operations in the method.

A thread instance can be freed using ReleaseThread. A list of threads can be terminated and freed using TerminateThreads.


See Also

TIdThreadMgr.CreateNewThread

TIdThreadMgrPool.ReleaseThread

TIdThreadStopMode


TIdThreadMgrPool.ReleaseThread

TIdThreadMgrPool	See Also

Remove a thread from the active thread list.

procedure ReleaseThread(AThread: TIdThread); override;

Parameters

AThread: TIdThread

Thread to be released.

Description

ReleaseThread implements the inherited abstract procedure that instructs the thread manager to remove AThread from ActiveThreads.

If the thread has not Terminated, and ThreadPool does not exceed PoolSize, the thread instance will be Stopped and returned to ThreadPool.

If AThread is the current Terminated thread of execution, it is allowed to complete with Terminate. If AThread is not the current thread of execution, AThread.TerminateAndWaitFor is called and the thread is Freed.

ReleaseThread uses Lock to protect ActiveThreads and ThreadPool resources while handling the thread instance.


See Also

TIdThreadMgrPool.PoolSize

TIdThread


TIdTime

Hierarchy	Members	Properties	Methods	See Also	Unit: IdTime

Implements a Time client.

TIdTime = class(TIdTCPClient)

Description

TIdTime is a client implementation of the Time Protocol as described in the Internet Standards document:

Time Protocol, (RFC 868)

Time is a simple protocol for synchronizing time on a local network. For a time protocol with higher accuracy over several networks, use TIdSNTP. To retrieve the current date and time in human-readable form, use TIdDayTime.

Please note that the Time Protocol in its current form can handle most dates after the year 2035. This limitation is stated in RFC 868.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPConnection

|

TIdTCPClient

|

TIdTime


TIdTime Fields

TIdTime


TIdTime Properties

TIdTime	Legend

TIdTime

 BaseDate

 DateTime

 DateTimeCard

 RoundTripDelay

 Timeout

TIdTCPClient

 BoundIP

 Host

 OnConnected

 Port

 SocksInfo

 UseNagle

TIdTCPConnection

 ASCIIFilter

 Binding

 ClosedGracefully

 CmdResult

 CmdResultDetails

 Intercept

 InterceptEnabled

 OnDisconnected

 OnWork

 OnWorkBegin

 OnWorkEnd

 ReadLnTimedOut

 RecvBufferSize

 ResultNo

 SendBufferSize

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdTime Events

TIdTime	Legend

TIdComponent

 OnStatus


Legend

 published


TIdTime Methods

TIdTime	Legend

TIdTime

 Create

 SyncTime

TIdTCPClient

 Connect

 ConnectAndGetAll

 Create

 Destroy

TIdTCPConnection

 AllData

 CancelWriteBuffer

 Capture

 CheckForDisconnect

 CheckForGracefulDisconnect

 CheckResponse

 ClearWriteBuffer

 CloseWriteBuffer

 Connected

 Create

 CurrentReadBuffer

 CurrentReadBufferSize

 Destroy

 Disconnect

 DisconnectSocket

 ExtractXBytesFromBuffer

 FlushWriteBuffer

 GetResponse

 InputLn

 OpenWriteBuffer

 procedure RaiseExceptionForCmdResult; virtual; overload;

 procedure RaiseExceptionForCmdResult(axException: TClassIdException); virtual; overload;

 ReadBuffer

 ReadCardinal

 ReadFromStack

 ReadInteger

 ReadLn

 ReadLnWait

 ReadSmallInt

 ReadStream

 ReadString

 RemoveXBytesFromBuffer

 function SendCmd(const AOut: string; const AResponse: SmallInt): SmallInt; overload;

 function SendCmd(const AOut: string; const AResponse: Array of SmallInt): SmallInt; virtual; overload;

 WaitFor

 Write

 WriteBuffer

 WriteCardinal

 WriteFile

 WriteHeader

 WriteInteger

 WriteLn

 WriteSmallInt

 WriteStream

 WriteStrings

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdTime Members

TIdTime	Legend

Properties

 BaseDate

 DateTime

 DateTimeCard

 RoundTripDelay

 Timeout

Methods

 Create

 SyncTime


Legend

 virtual

 published


TIdTime.BaseDate

TIdTime

Initial Date used for time server calculations.

property BaseDate: TDateTime;

Description

BaseDate is a TDateTime property that indicates the initial date used for Time server calculations. When the BaseDate for the client and server are identical, and exceeds the value of DateTime, DateTime can contain values beyond the year 2035.

Do not change BaseDate unless the Time server uses the same value for it's BaseDate.


TIdTime.DateTime

TIdTime

Current date and time from the server.

property DateTime: TDateTime;

Description

DateTime is a read-only TDateTime property that reflects the estimated current date and time according to a Time server. DateTime is expressed in the timezone for the local computer.

DateTime will contain the value 0.0 (for 12/30/1899 12:00 am) when no date and time values have been assigned.

The Host and Port properties must contain a valid Time server address and port assignment prior to accessing the value of DateTime.


TIdTime.DateTimeCard

TIdTime

Number of seconds since the base Time server date.

property DateTimeCard: Cardinal;

Description

DateTimeCard is a read-only Cardinal property that represents the number of seconds since 1/1/1900 12:00am.

The Host and Port properties must contain a valid Time server address and port assignment prior to accessing the value of DateTimeCard. DateTimeCard will open a connection to the time server, retrieve the property value, and close the server connection.


TIdTime.RoundTripDelay

TIdTime

Estimated latency value.

property RoundTripDelay: Cardinal;

Description

RoundTripDelay is a read-only Cardinal property that indicates the estimated number of milliseconds required to receive data from the server. RoundTripDelay is used to adjust the calculated DateTime property.


TIdTime.Timeout

TIdTime

Indy read delay in milliseconds.

property Timeout: Integer;

Description

Timeout is an Integer property that represents the number of milliseconds Indy read operations must wait for a readable connection. For TIdTime, the default value of TimeOut is 2500 (2.5 seconds).


TIdTime.Create

TIdTime

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Description

Create is the constructor for the object instance. Create sets the default port to the standard port number used for the Time protocol (IdPORT_TIME), and sets BaseDate to Jan 1, 1900 as specified by the Time protocol.


TIdTime.SyncTime

TIdTime

Updates local time to match the Time server.

function SyncTime: boolean;

Returns

Boolean - True when local time has been updated.

Description

SyncTime is a Boolean function used to synchronize the local system clock with the Time server. When the value from the server is not empty, the local system clock will be updated.


TIdTimeServer

Hierarchy	Members	Properties	Methods	See Also	Unit: IdTimeServer

Implements a Time protocol server.

TIdTimeServer = class(TIdTCPServer)

Description

TIdTimeServer is a TIdTCPServer descendant that provides a server implementation of the Time Protocol as described in the Internet Standard document:

Time Protocol, RFC 868, by J. Postel and K. Harrenstien, May 1983

Time is a simple protocol for synchronizing time on a local network. If you need the time and day only in a human readable form, we recommend that you use the TIdDayTimeServer component.

Note: The Time protocol in its current form cannot handle most dates after the year 2035. This limitation is stated in RFC 868.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPServer

|

TIdTimeServer


TIdTimeServer Fields

TIdTimeServer


TIdTimeServer Properties

TIdTimeServer	Legend

TIdTimeServer

 BaseDate

TIdTCPServer

 AcceptWait

 Active

 Bindings

 DefaultPort

 ImplicitThreadMgrCreated

 Intercept

 TerminateWaitTime

 ThreadClass

 ThreadMgr

 Threads

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdTimeServer Events

TIdTimeServer	Legend

TIdTCPServer

 OnConnect

 OnDisconnect

 OnExecute

TIdComponent

 OnStatus


Legend

 published


TIdTimeServer Methods

TIdTimeServer	Legend

TIdTimeServer

 Create

TIdTCPServer

 Create

 Destroy

 Loaded

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdTimeServer Members

TIdTimeServer	Legend

Properties

 BaseDate

Methods

 Create


Legend

 virtual

 published


TIdTimeServer.BaseDate

TIdTimeServer

Base date used for Time calculations.

property BaseDate: TDateTime;

Description

BaseDate is a TDateTime property used to establish the initial Date for Time server calculations. If both the server and client are based from the same date which is higher than the original date, you can extend its use beyond the year 2035. You should change this property only when sure that the time client uses the same value for calculating the date and time.


TIdTimeServer.Create

TIdTimeServer	See Also

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance., and initializes a new TIdTimeServer component. Create sets the default port to the standard port number used for the Time protocol (IdPORT_TIME). Create also sets the BaseTime property to Jan 1, 1900 which is specified by the Time protocol.


See Also

IdPORT_TIME

Technical Support


TIdTrivialFTP

Hierarchy	Members	Properties	Methods	See Also	Unit: IdTrivialFTP

Implements a Trivial File Transfer Protocol client.

TIdTrivialFTP = class(TIdUDPClient)

Description

TIdTrivialFTP is a TIdUDPClient descendant that implements a Trivial File Transfer Protocol (TFTP) client as described in the Internet Standards documents:

RFC 1350, Trivial File Transfer Protocol

RFC 1782, TFTP Option Extension

RFC 1783, TFTP Blocksize Option

Trivial FTP is an extremely lightweight and simple UDP-Based file transfer protocol that is normally used read and write files from/to a remote server. TFTP cannot list directories, and currently has no provisions for user authentication.

TIdTrivialFTP supports the TFP Option Negotiation Protocol where the client appends options at the end of the Read Request or Write request packet. TIdTrivialFTP also supports the TFTP Blocksize Option which allows the client and server to negotiate a blocksize more applicable to the network medium.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdUDPBase

|

TIdUDPClient

|

TIdTrivialFTP


TIdTrivialFTP Fields

TIdTrivialFTP


TIdTrivialFTP Properties

TIdTrivialFTP	Legend

TIdTrivialFTP

 OnWork

 OnWorkBegin

 OnWorkEnd

 RequestedBlockSize

 TransferMode

TIdUDPClient

 Host

 Port

 ReceiveTimeout

TIdUDPBase

 Active

 Binding

 BroadcastEnabled

 BufferSize

 ReceiveTimeout

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdTrivialFTP Events

TIdTrivialFTP	Legend

TIdComponent

 OnStatus


Legend

 published


TIdTrivialFTP Methods

TIdTrivialFTP	Legend

TIdTrivialFTP

 Create

 procedure Get(const ServerFile: String; DestinationStream: TStream); overload;

 procedure Get(const ServerFile: String; const LocalFile: String); overload;

 procedure Put(SourceStream: TStream; const ServerFile: String); overload;

 procedure Put(const LocalFile: String; const ServerFile: String); overload;

TIdUDPClient

 Send

 SendBuffer

TIdUDPBase

 Broadcast

 Create

 Destroy

 function ReceiveBuffer(var ABuffer; const ABufferSize: Integer; const AMSec: Integer): integer; overload;

 function ReceiveBuffer(var ABuffer; const ABufferSize: Integer; var VPeerIP: string; var VPeerPort: integer; AMSec: Integer): integer; overload;

 function ReceiveString(const AMSec: Integer): string; overload;

 function ReceiveString(var VPeerIP: string; var VPeerPort: integer; const AMSec: Integer): string; overload;

 Send

 SendBuffer

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdTrivialFTP Members

TIdTrivialFTP	Legend

Properties

 OnWork

 OnWorkBegin

 OnWorkEnd

 RequestedBlockSize

 TransferMode

Methods

 Create

 procedure Get(const ServerFile: String; DestinationStream: TStream); overload;

 procedure Get(const ServerFile: String; const LocalFile: String); overload;

 procedure Put(SourceStream: TStream; const ServerFile: String); overload;

 procedure Put(const LocalFile: String; const ServerFile: String); overload;


Legend

 virtual

 published


TIdTrivialFTP.OnWork

TIdTrivialFTP

Specifies the event handler when data is sent or received.

property OnWork;

Description

OnWork is en event handler that is triggered when a Get or Put request has been made and the method is started.

When AWorkMode is wmRead Mode (Get method) or wmWrite Mode (Put method), the amount of data transmitted is available in ACount.


TIdTrivialFTP.OnWorkBegin

TIdTrivialFTP

Specifies an event handler for a data request.

property OnWorkBegin;

Description

OnWorkBegin is an event handler that allows the TFTP client to respond to a Get or Put request notification. OnWorkBegin is triggered when has been made, and is about to begin transferring data.

Work mode will contain wmRead for Get operations, and wmWrite for Put operations.


TIdTrivialFTP.OnWorkEnd

TIdTrivialFTP

Specifies an event handler for a complete file operation.

property OnWorkEnd;

Description

OnWorkEnd is an event handler that allows the TFTP client to respond to a complete file operation. OnWorkEnd is triggered when a request has been made and the method completes. Work mode will contain wmRead for Get operations or wmWrite for Put operations.


TIdTrivialFTP.RequestedBlockSize

TIdTrivialFTP

Identifies of bytes to transmit before an acknowledgement is required.

property RequestedBlockSize: Integer;

Description

RequestedBlockSize is an Integer property that identifies the number of bytes to use as Block when reading or writing file data on the TFTP server. Normally a file cannot be transmitted in a single block. RequestedBlockSize specifies the number of bytes that can transmitted before an acknowledgement is required.

The default value for RequestedBlockSize is 1500. Note: Changing the value of RequestedBlockSize can adversely affect the performance of the protocol.


TIdTrivialFTP.TransferMode

TIdTrivialFTP

Specifies the transfer mode for data on TFTP connection.

property TransferMode: TIdTFTPMode;

Description

TIdTFTPMode is an enumerated type that specifies the transfer mode for data on TFTP connection, and can contain the values tfNetAscii and tfOctet.

tfNetAscii indicates that the connection will transmit data using the netascii, or "USA Standard Code for Information Interchange", format defined in the Telnet protocol specification. tfNetAscii will contain 8-bit ASCII data.

tfOctet indicates that the connection will transmit raw 8-bit data, or binary data.


TIdTrivialFTP.Create

TIdTrivialFTP

Creates a new object instance.

constructor Create(AnOwner: TComponent); override;

Parameters

AnOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance, and creates a new TIdTrivialFTP component. Create sets the default port to the standard port number used for the TFTP protocol (IdPORT_TFTP). The constructor also sets TransferMode to tfOctet, RequestedBlockSize to 1500, and ReceiveTimeout to 4000.


TIdTrivialFTP.Get

TIdTrivialFTP

Retrieve a file from a TrivialFTP server.

procedure Get(const ServerFile: String; DestinationStream: TStream); overload;
procedure Get(const ServerFile: String; const LocalFile: String); overload;

Parameters

const ServerFile: String

File name on the server.

DestinationStream: TStream

File name on the local file system.

Description

Get is an overloaded method to retrieve a file from a TrivialFTP server.

The version requiring a local filename creates a TFileStream, then calls the stream version of the Get method (it is freed automatically).

The stream version of the Get method transmits the stream, firing the onWork, onWorkBegin, onWorkEnd during the process.


TIdTrivialFTP.Get

TIdTrivialFTP

Retrieve a file from a TrivialFTP server.

procedure Get(const ServerFile: String; DestinationStream: TStream); overload;
procedure Get(const ServerFile: String; const LocalFile: String); overload;

Parameters

const ServerFile: String

File name on the server.

const LocalFile: String

File name on the local file system.

Description

Get is an overloaded method to retrieve a file from a TrivialFTP server.

The version requiring a local filename creates a TFileStream, then calls the stream version of the Get method (it is freed automatically).

The stream version of the Get method transmits the stream, firing the onWork, onWorkBegin, onWorkEnd during the process.


TIdTrivialFTP.Put

TIdTrivialFTP

Sends a file to a TrivialFTP server.

procedure Put(SourceStream: TStream; const ServerFile: String); overload;
procedure Put(const LocalFile: String; const ServerFile: String); overload;

Parameters

SourceStream: TStream

File name on the local file system.

const ServerFile: String

File name of the TFTP server.

Description

Put is an overloaded method to send a file to a TrivialFTP server.

The version requiring a local filename creates a TFileStream, then calls the stream version of the Put method (it is freed automatically).

The stream version of the Put method transmits the stream, firing the onWork, onWorkBegin, onWorkEnd during the process.


TIdTrivialFTP.Put

TIdTrivialFTP

Sends a file to a TrivialFTP server.

procedure Put(SourceStream: TStream; const ServerFile: String); overload;
procedure Put(const LocalFile: String; const ServerFile: String); overload;

Parameters

const LocalFile: String

File name on the local file system.

const ServerFile: String

File name of the TFTP server.

Description

Put is an overloaded method to send a file to a TrivialFTP server.

The version requiring a local filename creates a TFileStream, then calls the stream version of the Put method (it is freed automatically).

The stream version of the Put method transmits the stream, firing the onWork, onWorkBegin, onWorkEnd during the process.


TIdTrivialFTPServer

Hierarchy	Members	Methods	Events	See Also	Unit: IdTrivialFTPServer

Implements a Trivial File Transfer Protocol server.

TIdTrivialFTPServer = class(TIdUDPServer)

Description

TIdTrivialFTPServer is a TIdUDPServer descendant that implements a Trivial File Transfer Protocol (TFTP) server as described in the Internet Standards documents:

RFC 1350, Trivial File Transfer Protocol

RFC 1782, TFTP Option Extension

RFC 1783, TFTP Blocksize Option

Trivial FTP is an extremely lightweight and simple UDP-Based file transfer protocol that is normally used read and write files from/to a remote server. TFTP cannot list directories, and currently has no provisions for user authentication.

TIdTrivialFTPServer supports the TFP Option Negotiation Protocol where the client appends options at the end of the Read Request or Write request packet. TIdTrivialFTPServer also supports the TFTP Blocksize Option which allows the client and server to negotiate a blocksize more applicable to the network medium.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdUDPBase

|

TIdUDPServer

|

TIdTrivialFTPServer


TIdTrivialFTPServer Fields

TIdTrivialFTPServer


TIdTrivialFTPServer Properties

TIdTrivialFTPServer	Legend

TIdUDPServer

 Bindings

 DefaultPort

 ThreadedEvent

TIdUDPBase

 Active

 Binding

 BroadcastEnabled

 BufferSize

 ReceiveTimeout

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdTrivialFTPServer Events

TIdTrivialFTPServer	Legend

TIdTrivialFTPServer

 OnReadFile

 OnTransferComplete

 OnWriteFile

TIdUDPServer

 OnUDPRead

TIdComponent

 OnStatus


Legend

 published


TIdTrivialFTPServer Methods

TIdTrivialFTPServer	Legend

TIdTrivialFTPServer

 Create

TIdUDPServer

 Create

 Destroy

TIdUDPBase

 Broadcast

 Create

 Destroy

 function ReceiveBuffer(var ABuffer; const ABufferSize: Integer; const AMSec: Integer): integer; overload;

 function ReceiveBuffer(var ABuffer; const ABufferSize: Integer; var VPeerIP: string; var VPeerPort: integer; AMSec: Integer): integer; overload;

 function ReceiveString(const AMSec: Integer): string; overload;

 function ReceiveString(var VPeerIP: string; var VPeerPort: integer; const AMSec: Integer): string; overload;

 Send

 SendBuffer

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdTrivialFTPServer Members

TIdTrivialFTPServer	Legend

Events

 OnReadFile

 OnTransferComplete

 OnWriteFile

Methods

 Create


Legend

 virtual

 published


TIdTrivialFTPServer.Create

TIdTrivialFTPServer

Creates a new object instance.

constructor Create(axOwner: TComponent); override;

Parameters

axOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance, and creates a new TIdTrivialFTPServer component. Create sets the default port to the standard port number used for the TFTP protocol (IdPORT_TFTP).


TIdTrivialFTPServer.OnReadFile

TIdTrivialFTPServer

Specifies an event handler for client GET requests.

property OnReadFile: TAccessFileEvent;

Description

OnReadFile is a TAccessFileEventevent handler that allows the TrivialFTP server to respond to client GET requests.

GrantAccess should be updated in the event handler to indicate if the read operation should be allowed by the server. When GrantAccess is True and AStream is not Nil, the event handler should update AStream to reflect the contents of the file specified in FileName.

FreeStreamOnComplete indicates that the OnTransferComplete event handler should free the stream specified in AStream.


TIdTrivialFTPServer.OnTransferComplete

TIdTrivialFTPServer	See Also

Specifies an event handler for completed TFTP transfers.

property OnTransferComplete: TTransferCompleteEvent;

Description

OnTransferComplete is a TTransferCompleteEvent event handler that allows a TrivialFTP server to respond to notifications that a file transfer method has been completed. OnTransferComplete allows the TFTP server to perform operations that may be required for the peer connection or data received on the connection.

An application must assign a procedure to the event handler to allow a response to the event notification. Note: If no user event handler exists, SourceStream is automatically freed.


See Also

TTransferCompleteEvent


TIdTrivialFTPServer.OnWriteFile

TIdTrivialFTPServer

Specifies the event handler for client Put operations.

property OnWriteFile: TAccessFileEvent;

Description

OnWriteFile is a TAccessFileEventevent handler that allows the TrivialFTP server to respond to client PUT requests.

GrantAccess should be updated in the event handler to indicate if the write operation should be allowed by the server. When GrantAccess is True and AStream is not Nil, the event handler should update the local file system to reflect the contents of AStream for the file specified in FileName.

FreeStreamOnComplete indicates that the OnTransferComplete event handler should free the stream specified in AStream.


TIdTunnelMaster

Hierarchy	Members	Properties	Methods	Events	Unit: IdTunnelMaster

Implements a TCP Server for IP encapsulation tunnels.

TIdTunnelMaster = class(TIdTCPServer)

Description

TIdTunnelMaster is a TIdTCPServer descendant that specifies a multithreaded server that acts as a controller for IP encapsulation "tunnels".

TIdTunnelMaster acts a Proxy for user connections. The IP encapsulation tunnels represent a User connection and the Server advocate used to process IP datagrams for the tunnel.

TIdTunnelMaster also allows construction of Virtual Private Networks through the IP encapsulation tunnel facilities for SOCKS authentication, tunnel management, data transformation, statistical logging, and IP header CRC calculation with optional IP header message types.

TIdTunnelMaster works in conjunction with an instance of TIdTunnelSlave that acts as the multithreaded server for managing the endpoint for the IP tunnel.


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPServer

|

TIdTunnelMaster


TIdTunnelMaster Fields

TIdTunnelMaster


TIdTunnelMaster Properties

TIdTunnelMaster	Legend

TIdTunnelMaster

 Active

 LockDestinationHost

 LockDestinationPort

 Logger

 MappedHost

 MappedPort

 NumServices

 NumSlaves

TIdTCPServer

 AcceptWait

 Active

 Bindings

 DefaultPort

 ImplicitThreadMgrCreated

 Intercept

 TerminateWaitTime

 ThreadClass

 ThreadMgr

 Threads

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdTunnelMaster Events

TIdTunnelMaster	Legend

TIdTunnelMaster

 OnConnect

 OnDisconnect

 OnInterpretMsg

 OnTransformRead

 OnTransformSend

TIdTCPServer

 OnConnect

 OnDisconnect

 OnExecute

TIdComponent

 OnStatus


Legend

 published


TIdTunnelMaster Methods

TIdTunnelMaster	Legend

TIdTunnelMaster

 Create

 Destroy

 GetStatistics

 SetStatistics

TIdTCPServer

 Create

 Destroy

 Loaded

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdTunnelMaster Members

TIdTunnelMaster	Legend

Properties

 Active

 LockDestinationHost

 LockDestinationPort

 Logger

 MappedHost

 MappedPort

 NumServices

 NumSlaves

Events

 OnConnect

 OnDisconnect

 OnInterpretMsg

 OnTransformRead

 OnTransformSend

Methods

 Create

 Destroy

 GetStatistics

 SetStatistics


Legend

 virtual

 published


TIdTunnelMaster.Active

TIdTunnelMaster

Indicates the active state of the server.

property Active: Boolean;

Description

Active is a Boolean property that indicates when the server is listening for new connections, and processing IP tunnel requests.


TIdTunnelMaster.LockDestinationHost

TIdTunnelMaster

Indicates if the tunnel client host name must reflect the mapped host.

property LockDestinationHost: Boolean;

Description

LockDestinationHost is a Boolean property that indicates if the tunnel client host name must reflect the mapped host. When a TCP client for the tunnel connection, LockDestinationHost is used to determine if the host name of the client is the MappedHost from the tunnel server or the local IP address for the client using the tunnel.

When LockDestinationHost is True, the tunnel server MappedHost property is used as the Host for TCP client connection. When LockDestinationHost is False, the local IP address for the tunnel client is used as the Host for TCP client connection.


TIdTunnelMaster.LockDestinationPort

TIdTunnelMaster

Indicates if the tunnel client port number must reflect the mapped port.

property LockDestinationPort: Boolean;

Description

LockDestinationPort

LockDestinationPort is a Boolean property that indicates if the tunnel client port number must reflect the mapped port number. When a TCP client for the tunnel connection, LockDestinationPort is used to determine if the port number of the client is the MappedPort from the tunnel server or the local port number for the client using the tunnel.

When LockDestinationPort is True, the tunnel server MappedPort property is used as the Port for TCP client connection. When LockDestinationPort is False, the local port number for the tunnel client is used as the Port for TCP client connection.


TIdTunnelMaster.Logger

TIdTunnelMaster	See Also

Represents the activity logging component for the server.

property Logger: TLogger;

Description

Logger is a TLogger property that represents the activity logging component for the server. Logger provides the capability to write log messages to a text files, and uses the exposed LogEvent event handler to customize the information logging action.


See Also

TLogger


TIdTunnelMaster.MappedHost

TIdTunnelMaster

Specifies the host name used for connections from the server.

property MappedHost: string;

Description

MappedHost is a String property that represents the default host name used for TCP client connections from the server.


TIdTunnelMaster.MappedPort

TIdTunnelMaster

Identifies the port number for new client connections.

property MappedPort: Integer;

Description

MappedPort is an Integer property that identifies the port number used for new client connections. MappedPort is used when a new TCP Client thread that represents the endpoint for the IP tunnel is created in Connect.


TIdTunnelMaster.NumServices

TIdTunnelMaster	See Also

Number of service threads for the tunnel.

property NumServices: Integer;

Description

NumServices is a read-only Integer property that identifies the number of MClientThread service threads currently running for the TIdTunnelMaster.

NumServices is maintained by MClientThread when a new service thread is created or destroyed for the tunnel master. MClientThread service threads are used to associate a thread connection for the tunnel master with a TCP client connection that will service requests.


See Also

MClientThread


TIdTunnelMaster.NumSlaves

TIdTunnelMaster	See Also

Number of slave connections for the tunnel.

property NumSlaves: Integer;

Description

NumSlaves is a read-only Integer property that identifies the current number of TIdTunnelSlave connections for the TIdTunnelMaster instance.

NumSlaves is maintained in DoConnect and DoDisconnect, when the TSlaveData container for the connection thread is created or destroyed.


See Also

TIdTunnelMaster.NumServices


TIdTunnelMaster.Create

TIdTunnelMaster

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance. Create relies on the inherited Create method, and also initializes properties for the object instance. The following properties are initialized to their default value:

Active - False

ConnectedSlaves - 0

ConnectedServices - 0

NumberOfConnectionsValue - 0;

NumberOfPacketsValue - 0;

CompressionRatioValue - 0

CompressedBytes - 0

BytesRead - 0

BytesWrite - 0

LockDestinationHost - False;

LockDestinationPort - False;

OnlyOneThread - Critical Section

LockSlavesNumber - Critical Section

LockServicesNumber - Critical Section

StatisticsLocker - Critical Section


TIdTunnelMaster.Destroy

TIdTunnelMaster

Frees the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance, and is responsible for disconnecting all users, as well as freeing and releasing object properties including:

Logger

Active

Clients

OnlyOneThread

LockSlavesNumber

LockServicesNumber

StatisticsLocker

Destroy calls the inherited Destroy method prior to exiting from the destructor.


TIdTunnelMaster.GetStatistics

TIdTunnelMaster

Gets statistical measurements for the server.

procedure GetStatistics(Module: Integer; var Value: Integer);

Parameters

Module: Integer

Statistic type requested.

var Value: Integer

Value for the requested statistic type.

Description

GetStatistics is a procedure used to retrieve statistical information for the TIdTunnelMaster instance.

Module is an Integer that represents one of the statistic type constant values from IdTunnelCommon.pas, and normally contains on of the following values:

NumberOfConnectionsType - 1

NumberOfPacketsType - 2

CompressionRatioType - 3

CompressedBytesType - 4

BytesReadType - 5

BytesWriteType - 6

CompressionRatioType returns a calculated value that represents the ratio of total number of bytes read to compressed bytes read.

Value is an Integer variable used to return the value for the selected statistic type.

GetStatistics uses the StatisticsLocker critical section to protect access to the server resources from multiple threads.


TIdTunnelMaster.SetStatistics

TIdTunnelMaster

Updates statistics for connections to the server.

procedure SetStatistics(Module: Integer; Value: Integer);

Parameters

Module: Integer

Statistical category to update.

Value: Integer

Delta value for the statistical category.

Description

SetStatistics is a procedure that allows the tunnel master to update variables that track active connections, packets transmitted, compression ratio, total number of compressed bytes, total bytes read, and total bytes written for the connection.

SetStatistics is called when the number of service connections is updated, or during client thread execution.


TIdTunnelMaster.OnConnect

TIdTunnelMaster	See Also

Specifies the event handler for new client connections.

property OnConnect: TIdServerThreadEvent;

Description

OnConnect is a TIdServerThreadEvent event handler that allows the tunnel master server to respond to connection requests from the listening thread.

OnConnect is called from the DoConnect method after a TSlaveData container has been initialized for the client connection in Thread.

Applications must assign a procedure to the event handler to allow a response to the event notification.


See Also

TIdTunnelMaster.OnDisconnect


TIdTunnelMaster.OnDisconnect

TIdTunnelMaster	See Also

Specifies the event handler for terminated client connections.

property OnDisconnect: TIdServerThreadEvent;

Description

OnDisconnect is a TIdServerThreadEvent event handler that allows the tunnel master server to respond to a request to close a connection for the client thread.

OnDisconnect is called from the DoDisconnect method after all service threads and the client connection in Thread have been closed.

Applications must assign a procedure to the OnDisconnect event handler to allow a response to the event notification.


See Also

TIdTunnelMaster.OnConnect


TIdTunnelMaster.OnInterpretMsg

TIdTunnelMaster

Specifies message processing for tunnel connection sessions.

property OnInterpretMsg: TSendMsgEvent;

Description

OnInterpretMsg is a TSendMsgEvent event handler that allows the tunnel master server to respond to a notification that a message has been received that requires special processing.

OnInterpretMsg is provided to allow TSlaveThread instances to access data interpretation routines specific to the tunnel master server.

Use OnInterpretMsg to perform interpretation of message data for the client connection.

Thread is the client connection that is the recipient of the message.

CustomMsg is the data that needs to be interpreted before allowing transmission to the client connection.

Applications must assign a procedure to the event handler to allow a response to the event notification.


TIdTunnelMaster.OnTransformRead

TIdTunnelMaster

Specifies data transformation for a message from a tunnel slave.

property OnTransformRead: TIdServerThreadEvent;

Description

OnTransformRead is a TIdServerThreadEvent event handler that allows the tunnel master server to respond to a message from the tunnel slave that data has been received that requires transformation.

OnTransformRead is used by TIdTunnelSlave to access data transformation routines specific to the tunnel master server.

Thread represents the TReceiver for the message.

Applications must assign a procedure to the event handler to allow a response to the event notification.


TIdTunnelMaster.OnTransformSend

TIdTunnelMaster

Performs data transformation prior to transmission.

property OnTransformSend: TSendTrnEvent;

Description

OnTransformSend is a TSendTrnEvent that allows the tunnel master server to perform data transformation before transmission to a tunnel slave. OnTransformSend is called in SendMsg to transform the message content into an acceptable format for transmission over the network connection.

OnTransformSend is responsible for updating the TIdHeader in Header to reflect the current values for CRC16, MsgType, and MsgLen.

CustomMsg will contain the modified contents of the message after transformation.

Applications must assign a procedure to the event handler to allow a response to the event notification.


TIdTunnelSlave

Hierarchy	Members	Properties	Methods	Events	See Also	Unit: IdTunnelSlave

Implements a server that arbitrates client access using tunnel connections.

TIdTunnelSlave = class(TIdTCPServer)

Description

TIdTunnelSlave is a TIdTCPServer descendant that implements a server for communicating with tunnel client connections. TIdTunnelSlave utilizes TCP connections to establish an internal link to the tunnel master server that hosts connections to service threads for the client connections.

The following diagram is a general diagram of the relationship between client connection threads, the Tunnel Slave Server, the Tunnel Master Server, and service threads used to support encapsulated tunnel connections:

  +---+       +-----+       +-----+       +---+

  | C |<=====>|     |       |     |<=====>| V |

  +---+       |     |       |     |       +---+

  +---+       |     |       |     |       +---+

  | C |<=====>|  S  |<=====>|  M  |<=====>| V |

  +---+       |     |       |     |       +---+

  +---+       |     |       |     |       +---+

  | C |<=====>|     |       |     |<=====>| V |

  +---+       +-----+       +-----+       +---+

  C: Client connection thread

  S: Tunnel Slave Server

  M: TUnnel Master Server

  V: Service Thread

TIdTunnelSlave provides event handlers that allow responses to changes in both server state and client connection state. TIdTunnelSlave also provides event handlers for data transformation and session link control of the tunnel for associated TIdTunnelMaster server.

When a TIdTunnelSlave becomes active, it initializes the Host and Port properties for the server's internal TCP connection that will acts as the encapsulated tunnel link tot he TIdTunnelMaster server. The connection to the tunnel master server is opened.

TIdTunnelSlave maintains SlaveThread to listen for data from the TIdTunnelMaster server service threads. SlaveThread is also used to authenticate the tunnel connection to the master server. If no exception is raised, then the TIdTunnelSlave server will begin to listen for client connections.

When a client requests a connection to TIdTunnelSlave, the server must indicate that AcceptConnections is allowed. When Socks4 indicates that client connection are using a Socks proxy, the server expects to read the IP address and Socks authentication information from the client connection. Socks authentication data cannot exceed 255 characters, and must be zero-terminated. The server will write a Socks response to the client connection and forward the connection request to the tunnel master server.

When a client connection executes a request on a connection to the tunnel slave server, TIdTunnelSlave will prepare encapsulated tunnel headers for the request and write the encapsulated message to the connection for the tunnel master server. The client connection will be closed if an exception is raised during execution of the request.

When a client connection request disconnect from the TIdTunnelSlave, the serve will prepare encapsulated tunnel headers for the request and send the message to the tunnel master server to allow closing of service threads for the client connection.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPServer

|

TIdTunnelSlave


TIdTunnelSlave Fields

TIdTunnelSlave


TIdTunnelSlave Properties

TIdTunnelSlave	Legend

TIdTunnelSlave

 Active

 Logger

 MasterHost

 MasterPort

 NumClients

 Socks4

TIdTCPServer

 AcceptWait

 Active

 Bindings

 DefaultPort

 ImplicitThreadMgrCreated

 Intercept

 TerminateWaitTime

 ThreadClass

 ThreadMgr

 Threads

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdTunnelSlave Events

TIdTunnelSlave	Legend

TIdTunnelSlave

 OnBeforeTunnelConnect

 OnDisconnect

 OnInterpretMsg

 OnStatus

 OnTransformRead

 OnTransformSend

 OnTunnelDisconnect

TIdTCPServer

 OnConnect

 OnDisconnect

 OnExecute

TIdComponent

 OnStatus


Legend

 published


TIdTunnelSlave Methods

TIdTunnelSlave	Legend

TIdTunnelSlave

 Create

 Destroy

 GetStatistics

 SetStatistics

TIdTCPServer

 Create

 Destroy

 Loaded

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdTunnelSlave Members

TIdTunnelSlave	Legend

Properties

 Active

 Logger

 MasterHost

 MasterPort

 NumClients

 Socks4

Events

 OnBeforeTunnelConnect

 OnDisconnect

 OnInterpretMsg

 OnStatus

 OnTransformRead

 OnTransformSend

 OnTunnelDisconnect

Methods

 Create

 Destroy

 GetStatistics

 SetStatistics


Legend

 virtual

 published


TIdTunnelSlave.Active

TIdTunnelSlave

Indicates if the server is accepting client connections or requests.

property Active: Boolean;

Description

Active is a Boolean property that indicates if the server can accept new clients connections, or process requests from existing client connections.

When Active is set to True, the server will attempt to create the TIdTCPClient that acts as the tunnel link to the TIdTunnelMaster identified in MasterHost and MasterPort. An RSTunnelConnectToMasterFailed exception will be raised if the connection to the master server cannot be opened.

When the connection is created, a TSlaveThread is created and started for the server to allow authentication of the TIdTunnelSlave connection to the TIdTunnelMaster. When the connection to the master server is complete, the TIdTunnelSlave is ready to begin accepting client connections.

When Active is set to False, the server will indicate that it is neither accepting new client connections or transmitting data for existing client connections. Existing client connections are closed, and the tunnel connection to TIdTunnelMaster is closed. Finally, the TSlaveThread instance for the server is terminated prior to completion of the change in the property state.


TIdTunnelSlave.Logger

TIdTunnelSlave	See Also

Represents the activity logging component for the server.

property Logger: TLogger;

Description

Logger is a TLogger property that represents the activity logging component for the server. Logger provides the capability to write log messages to a text files, and uses the exposed LogEvent event handler to customize the information logging action.


See Also

TLogger


TIdTunnelSlave.MasterHost

TIdTunnelSlave

Specifies the Host that is the Tunnel Master server.

property MasterHost: string;

Description

MasterHost is a String property that specifies the host name or IP address of the TIdTunnelMaster server.

MasterHost is used, with MasterPort, when creating the TCP connection that acts as the encapsulated tunnel to the master server in Create.


TIdTunnelSlave.MasterPort

TIdTunnelSlave

Specifies the port number for the Tunnel Master server.

property MasterPort: Integer;

Description

MasterPort is an Integer property that specifies the port number for the TIdTunnelMaster server.

MasterPort is used, with MasterHost, when creating the TCP connection that acts as the encapsulated tunnel to the master server in Create.


TIdTunnelSlave.NumClients

TIdTunnelSlave

Indicates the number of client connections to the server.

property NumClients: Integer;

Description

NumClients is a read-only Integer property that indicates the number of client connections for the TIdTunnelSlave server. NumClients is maintained by the server when a new client connection is requested, or a client connection is closed.


TIdTunnelSlave.Socks4

TIdTunnelSlave

Indicates that the server uses Socks authentication for client connections.

property Socks4: Boolean;

Description

Socks4 is a Boolean property that indicates that the server uses Socks authentication for newly established client connections.

When Sock4 is True, a new client connection may contain the Socks version, OpCode, Port number and IP Address for the Socks proxy, as well as the null-terminated Socks user ID. A Socks response is written to the client connection using the Socks OpCode 90.

When Sock4 is False, the client connection uses the DefaultPort for the server.


TIdTunnelSlave.Create

TIdTunnelSlave

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Component that owns the object instance.

Description

Create is the constructor for the object instance, and relies on the inherited Create constructor. Create also initializes properties of the new object instance, including:

Active - False

NumClients - 0

Socks4 - False


TIdTunnelSlave.Destroy

TIdTunnelSlave

Frees the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance, and is responsible for releasing object properties of the TIdTunnelSlave. Destroy will insure that the server is not AcceptingConnections and Active.

Destroy closes the TCP connection that serves as the tunnel link to the TIdTunnelMaster server.

Destroy terminates the SlaveThread that listens for data on the tunnel connection.

Destroy will free and release the TCriticalSection instances uses to protect the resources of the TIdTunnelSlave server.

Destroy relies on the inherited Destroy method to complete destruction of the object instance.


TIdTunnelSlave.GetStatistics

TIdTunnelSlave

Gets statistical measurements for the server.

procedure GetStatistics(Module: Integer; var Value: Integer);

Parameters

Module: Integer

Statistic type requested.

var Value: Integer

Value for the requested statistic type.

Description

GetStatistics is a procedure used to retrieve statistical information for the TIdTunnelSlave instance.

Module is an Integer that represents one of the statistic type constant values from IdTunnelCommon.pas, and normally contains on of the following values:

NumberOfConnectionsType - 1

NumberOfPacketsType - 2

CompressionRatioType - 3

CompressedBytesType - 4

BytesReadType - 5

BytesWriteType - 6

CompressionRatioType returns a calculated value that represents the ratio of total number of bytes read to compressed bytes read.

Value is an Integer variable used to return the value for the selected statistic type.

GetStatistics uses the StatisticsLocker cortical section to protect access to the server resources from multiple threads.


TIdTunnelSlave.SetStatistics

TIdTunnelSlave

Updates statistics for connections to the server.

procedure SetStatistics(Module: Integer; Value: Integer);

Parameters

Module: Integer

Statistical category to update.

Value: Integer

Delta value for the statistical category.

Description

SetStatistics is a procedure that allows the tunnel slave server to update variables that track active connections, packets transmitted, compression ratio, total number of compressed bytes, total bytes read, and total bytes written for the connection.

SetStatistics is called when the number of client connections is updated, or during SlaveThread execution.


TIdTunnelSlave.OnBeforeTunnelConnect

TIdTunnelSlave

Specifies the event handler for creating the connection to TIdTunnelMaster.

property OnBeforeTunnelConnect: TSendTrnEventC;

Description

OnBeforeTunnelConnect is a TSendTrnEventC event handler that allows the TIdTunnelSlave to respond prior to creating the TCP tunnel connection for TIdTunnelMaster.

OnBeforeTunnelConnect is signalled when SlaveThread is initialized for the server. Use OnBeforeTunnelConnect to override the UserID or message type in Header used to authenticate the server connection to TIdTunnelMaster, or to update user interface elements upon receipt of the notification.

Applications must assign a procedure to the event handler to allow the server to respond to the event notification.


TIdTunnelSlave.OnDisconnect

TIdTunnelSlave

Specifies the event handler for server disconnection.

property OnDisconnect: TIdServerThreadEvent;

Description

OnDisconnect is a TIdServerThreadEvent event handler that allows the server to respond to disconnect requests from connections identified by the TIdPeerThread.

OnDisconnect can be used to perform housekeeping and maintenance required to reflect the change in the connection state.

Application must assign a procedure to the event handler to allow a response to the event notification.


TIdTunnelSlave.OnInterpretMsg

TIdTunnelSlave

Specifies the event handler for interpreting the session connection message.

property OnInterpretMsg: TSendMsgEventC;

Description

OnInterpretMsg is a TSendMsgEventC event handler that allows the server to interpret the session connection message generating by the SlaveThread for the server instance. OnInterpretMsg can be generated by the slave thread when a connection message type is detected in the header for the encapsulated tunnel message.

Applications must assign a procedure to the event handler to allow a response to the event notification.


TIdTunnelSlave.OnStatus

TIdTunnelSlave

Specifies the event handler for a change in the tunnel connection state.

property OnStatus: TIdStatusEvent;

Description

OnStatus is a TIdStatusEvent event handler that allows the server to respond to a change in the state of TCP connection to the TIdTunnelMaster server. For TIdTunnelSlave, OnStatus will be signalled when the TCP connection to the tunnel master server has been connected. Other state changes are not signalled.


TIdTunnelSlave.OnTransformRead

TIdTunnelSlave

Specifies the event handler for data transformations on a new message.

property OnTransformRead: TTunnelEventC;

Description

OnTransformRead is a TTunnelEventC event handler that allows the TIdTunnelSlave to respond to a data transformation requests for a message received from the message handler.

OnTransformRead is invoked from TSlaveThread.Run when a new message is received.

Applications must assign a procedure to the event handler to allow a response to the event notification.


TIdTunnelSlave.OnTransformSend

TIdTunnelSlave

Specifies the event handler for data transformation prior to transmission.

property OnTransformSend: TSendTrnEventC;

Description

OnTransformSend is a TSendTrnEventC event handler that allows the server to perform data transformation for a message prior to transmission to the tunnel master server.

Update CustomMsg to reflect the contents of the message after data transformation.

Applications must assign a procedure to the event handler to allow a response to the event notification.


TIdTunnelSlave.OnTunnelDisconnect

TIdTunnelSlave

Specifies the event handler for closing the connection to TIdTunnelMaster.

property OnTunnelDisconnect: TTunnelEvent;

Description

OnTunnelDisconnect is a TTunnelEvent event handler that allows the TIdTunnelSlave to respond to a notification that the TCP tunnel connection for TIdTunnelMaster has been closed.

OnTunnelDisconnect is signalled when the server is no longer accepting connections and has stopped transmitted to existing client connections.

Applications must assign a procedure to the event handler to allow the server to respond to the event notification.


TIdUDPBase

Hierarchy	Members	Properties	Methods	See Also	Unit: IdUDPBase

Specifies a UDP base class.

TIdUDPBase = class(TIdComponent)

Description

TIdUDPBase specifies an encapsulation of the User Datagram Protocol (UDP), and provides properties and methods common to both UDP clients and UDP servers. TIdUDPServer and TIdUDPClient are descendants of TIdUDPBase.

For more information on the User Datagram Protocol (UDP), refer to the Internet Standards document:

RFC 768 - User Datagram Protocol (UDP), RFC 768, by Jon Postel, August 1980

TIdUDPBase implements the common UDP facilities required to create a socket binding using the Socket Datagram protocol family, perform datagram Broadcasts, and handle Host and Port assignments for the connection-less protocol.


See Also

TIdUDPServer

TIdUDPClient

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdUDPBase


TIdUDPBase Fields

TIdUDPBase


TIdUDPBase Properties

TIdUDPBase	Legend

TIdUDPBase

 Active

 Binding

 BroadcastEnabled

 BufferSize

 ReceiveTimeout

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdUDPBase Events

TIdUDPBase	Legend

TIdComponent

 OnStatus


Legend

 published


TIdUDPBase Methods

TIdUDPBase	Legend

TIdUDPBase

 Broadcast

 Create

 Destroy

 function ReceiveBuffer(var ABuffer; const ABufferSize: Integer; const AMSec: Integer): integer; overload;

 function ReceiveBuffer(var ABuffer; const ABufferSize: Integer; var VPeerIP: string; var VPeerPort: integer; AMSec: Integer): integer; overload;

 function ReceiveString(const AMSec: Integer): string; overload;

 function ReceiveString(var VPeerIP: string; var VPeerPort: integer; const AMSec: Integer): string; overload;

 Send

 SendBuffer

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdUDPBase Members

TIdUDPBase	Legend

Properties

 Active

 Binding

 BroadcastEnabled

 BufferSize

 ReceiveTimeout

Methods

 Broadcast

 Create

 Destroy

 function ReceiveBuffer(var ABuffer; const ABufferSize: Integer; const AMSec: Integer): integer; overload;

 function ReceiveBuffer(var ABuffer; const ABufferSize: Integer; var VPeerIP: string; var VPeerPort: integer; AMSec: Integer): integer; overload;

 function ReceiveString(const AMSec: Integer): string; overload;

 function ReceiveString(var VPeerIP: string; var VPeerPort: integer; const AMSec: Integer): string; overload;

 Send

 SendBuffer


Legend

 virtual

 published


TIdUDPBase.Active

TIdUDPBase	See Also

Indicates that the socket binding has been allocated.

property Active: Boolean;

Description

Active is a Boolean property used to indicate that the socket binding has been allocated. Note that Active will always return False when using the IDE.


See Also

TIdUDPBase.Binding


TIdUDPBase.Binding

TIdUDPBase

Socket handle for the read or write transaction.

property Binding: TIdSocketHandle;

Description

Binding is a read-only TIdSocketHandle property that represents the socket binding used to send and receive data. Unlike TCP, UDP does not create a connection to the remote computer.


TIdUDPBase.BroadcastEnabled

TIdUDPBase	See Also

Indicates that the socket binding can perform broadcast transmissions.

property BroadcastEnabled: Boolean;

Description

BroadcastEnabled is a Boolean property used to indicate when the protocol handler is transmitting a datagram destined for all computers on the network. BroadcastEnabled is updated by the Broadcast method, and is used to notify the protocol stack that Binding must include or exclude the socket option for broadcast transmissions.


See Also

TIdUDPBase.Broadcast

TIdUDPBase.Binding


TIdUDPBase.BufferSize

TIdUDPBase	See Also

Specifies the largest UDP packet size.

property BufferSize: Integer;

Description

BufferSize is an Integer property used to specify the largest UDP packet that can be sent or received using Binding. The default value for BufferSize is 8192, and is assigned in Create.

An EIdSocketError exception will be raised if ReceiveString encounters a packet larger than BufferSize.


See Also

TIdUDPBase.Binding

TIdUDPBase.ReceiveString

EIdSocketError


TIdUDPBase.ReceiveTimeout

TIdUDPBase	See Also

Timeout value for reading from a peer.

property ReceiveTimeout: Integer;

Description

ReceiveTimeout is an Integer property used to reflect the number of milliseconds to wait for the socket Binding to become readable in the ReceiveString method. The default value for ReceiveTimeout is TIdTimeoutInfinite as assigned in Create.


See Also

TIdUDPBase.Binding

TIdUDPBase.ReceiveString


TIdUDPBase.Broadcast

TIdUDPBase

Send data to all computers on the network.

procedure Broadcast(const AData: string; const APort: integer);

Parameters

const AData: string

Values to send in the datagram.

const APort: integer

Port number for the transmission.

Description

Broadcast is a procedure used to send the data specified in AData using the port number specified in APort. Broadcast sends the data to all computers on the network. Note: Many network routers will not forward UDP broadcasts beyond the boundaries of the local network.

Broadcast calls the Send method using the reserved network address '255.255.255.255' as the destination. Broadcast also maintains BroadcastEnabled to indicate the current transaction state.


TIdUDPBase.Create

TIdUDPBase	See Also

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance, and relies on the inherited Create method to initialize object properties. Create sets the default value for BufferSize to 8192, and ReceiveTimeout to IdTimeoutInfinite.


See Also

TIdUDPBase.Destroy

TIdUDPBase.BufferSize

TIdUDPBase.ReceiveTimeout

IdTimeoutInfinite


TIdUDPBase.Destroy

TIdUDPBase

Frees an object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance. Destroy insures that the Active property is set to False, and calls the inherited Destroy method to finalize object destruction.


TIdUDPBase.ReceiveBuffer

TIdUDPBase	See Also

Reads data from a remote connection.

function ReceiveBuffer(var ABuffer; const ABufferSize: Integer; const AMSec: Integer): integer; overload;
function ReceiveBuffer(var ABuffer; const ABufferSize: Integer; var VPeerIP: string; var VPeerPort: integer; AMSec: Integer): integer; overload;

Parameters

var ABuffer

Buffer where received data is stored.

const ABufferSize: Integer

Number of bytes to read from the remote connection.

const AMSec: Integer = IdTimeoutDefault

IP address for the remote connection.

Returns

Integer - Bytes read from the remote connection.

Description

ReceiveBuffer is an Integer function used to read data from the remote connection specified in VPeerIP and VPeerPort into the buffer ABuffer.

ABufferSize indicates the number of bytes to read from the remote connection.

AMSec indicates the number of milliseconds to delay while waiting for the socket Binding to become Readable. The default value for AMSec is IdTimeoutDefault, and indicates that ReceiveTimeOut will be used as the timeout value.

If a timeout occurs while waiting for the Binding to become ready for the read operation, RecvBuffer will set the following values before exiting the method:

Result - zero (0),

VPeerIP - empty string ('')

VPeerPort - zero (0)

If RecvBuffer is unable to read data from the remote connection, an EIdUDPReceiveErrorZeroBytes exception will be raised.


See Also

IdTimeoutDefault

TIdSocketHandle.Readable

EIdUDPReceiveErrorZeroBytes


TIdUDPBase.ReceiveBuffer

TIdUDPBase	See Also

Reads data from a remote connection.

function ReceiveBuffer(var ABuffer; const ABufferSize: Integer; const AMSec: Integer): integer; overload;
function ReceiveBuffer(var ABuffer; const ABufferSize: Integer; var VPeerIP: string; var VPeerPort: integer; AMSec: Integer): integer; overload;

Parameters

var ABuffer

Buffer where received data is stored.

const ABufferSize: Integer

Number of bytes to read from the remote connection.

var VPeerIP: string

IP address for the remote connection.

var VPeerPort: integer

Port number for the remote connection.

AMSec: Integer = IdTimeoutDefault

Milliseconds to wait for a readable connection. The default value is IdTimeoutDefault.

Returns

Integer - Bytes read from the remote connection.

Description

ReceiveBuffer is an Integer function used to read data from the remote connection specified in VPeerIP and VPeerPort into the buffer ABuffer.

ABufferSize indicates the number of bytes to read from the remote connection.

AMSec indicates the number of milliseconds to delay while waiting for the socket Binding to become Readable. The default value for AMSec is IdTimeoutDefault, and indicates that ReceiveTimeOut will be used as the timeout value.

If a timeout occurs while waiting for the Binding to become ready for the read operation, RecvBuffer will set the following values before exiting the method:

Result - zero (0),

VPeerIP - empty string ('')

VPeerPort - zero (0)

If RecvBuffer is unable to read data from the remote connection, an EIdUDPReceiveErrorZeroBytes exception will be raised.


See Also

IdTimeoutDefault

TIdSocketHandle.Readable

EIdUDPReceiveErrorZeroBytes


TIdUDPBase.ReceiveString

TIdUDPBase	See Also

Reads data from the remote computer.

function ReceiveString(const AMSec: Integer): string; overload;
function ReceiveString(var VPeerIP: string; var VPeerPort: integer; const AMSec: Integer): string; overload;

Parameters

const AMSec: Integer = IdTimeoutDefault

Address of the remote computer.

Returns

String - Data received from the remote computer.

Description

ReceiveString is a String function used to receive data from a remote computer system.

VPeerIP is updated to reflect the IP address on the remote computer where the data originated. VPeerPort is updated to reflect the port number on the remote computer where the data originated.

If AMSec is omitted, the default timeout value used is ReceiveTimeout. Use TIdTimeoutInfinite to disable read timeout. If a timeout occurs while waiting for the socket Binding to become readable, VPeerIP is set to '' and VPeerPort is set to 0 before exiting from the method.

ReceiveString will read up to BufferSize bytes from the remote computer.

ReceiveString will raise an EIdException exception if the number of bytes read from the remote computer is 0.


See Also

TIdUDPBase.ReceiveTimeout

TIdUDPBase.BufferSize

EIdException


TIdUDPBase.ReceiveString

TIdUDPBase	See Also

Reads data from the remote computer.

function ReceiveString(const AMSec: Integer): string; overload;
function ReceiveString(var VPeerIP: string; var VPeerPort: integer; const AMSec: Integer): string; overload;

Parameters

var VPeerIP: string

Address of the remote computer.

var VPeerPort: integer

Port number of the remote computer.

const AMSec: Integer = IdTimeoutDefault

Timeout value for the read operation. Default value is IdTimeoutDefault.

Returns

String - Data received from the remote computer.

Description

ReceiveString is a String function used to receive data from a remote computer system.

VPeerIP is updated to reflect the IP address on the remote computer where the data originated. VPeerPort is updated to reflect the port number on the remote computer where the data originated.

If AMSec is omitted, the default timeout value used is ReceiveTimeout. Use TIdTimeoutInfinite to disable read timeout. If a timeout occurs while waiting for the socket Binding to become readable, VPeerIP is set to '' and VPeerPort is set to 0 before exiting from the method.

ReceiveString will read up to BufferSize bytes from the remote computer.

ReceiveString will raise an EIdException exception if the number of bytes read from the remote computer is 0.


See Also

TIdUDPBase.ReceiveTimeout

TIdUDPBase.BufferSize

EIdException


TIdUDPBase.Send

TIdUDPBase	See Also

Sends data to a remote computer system.

procedure Send(AHost: string; const APort: Integer; const AData: string);

Parameters

AHost: string

Address of the remote computer.

const APort: Integer

Port number on the remote computer.

const AData: string

Value to send to the remote computer.

Description

Send is a procedure used to send the data specified in AData to the remote computer system specified in AHost and APort. Send will resolve the address in AHost to a host name prior to sending AData to the remote system.

Send calls Binding.SendTo to transmit AData to the remote system. UDP does not guarantee delivery of data packets, so the values in AData may not arrive at the remote computer system.


See Also

TIdSocketHandle.SendTo


TIdUDPBase.SendBuffer

TIdUDPBase	See Also

Sends data to a remote host.

procedure SendBuffer(AHost: string; const APort: Integer; var ABuffer; const AByteCount: integer);

Parameters

AHost: string

Address for the remote connection.

const APort: Integer

Port number for the remote connection.

var ABuffer

Data to be sent to the remote connection.

const AByteCount: integer

Number of bytes to send to the remote connection.

Description

SendBuffer is a procedure used to transmit data to a remote connection. AHost and APort identify the remote system that is the endpoint for the connection. Before transmitting data, SendBuffer will use the protocol stack to resolve the host name in AHost to an IP address.

ABuffer contains the data to be transmitted to the remote host.

SendBuffer uses the TIdSocketHandle.SendTo method for the socket binding to transmit data.


See Also

TIdStack

TIdSocketHandle


TIdUDPClient

Hierarchy	Members	Properties	Methods	See Also	Unit: IdUDPClient

Implements a UDP client.

TIdUDPClient = class(TIdUDPBase)

Description

TIdUDPClient is a TIdUDPBase descendant that provides a client implementation of the User Datagram Protocol (UDP) as described in the Internet Standards document:

User Datagram Protocol, RFC 768, by Jon Postel, August 1980

TIdUDPClient implements the Send method to transmit data to the remote computer system specified by Host and Port using the connection-less UDP protocol.

TIdUDPClient is used as an ancestor class for protocol implementations based on UDP. For example, TIdDNSResolver, TIdSNTP, and TIdTrivialFTP are descendants of TIdUDPClient.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdUDPBase

|

TIdUDPClient


TIdUDPClient Fields

TIdUDPClient


TIdUDPClient Properties

TIdUDPClient	Legend

TIdUDPClient

 Host

 Port

 ReceiveTimeout

TIdUDPBase

 Active

 Binding

 BroadcastEnabled

 BufferSize

 ReceiveTimeout

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdUDPClient Events

TIdUDPClient	Legend

TIdComponent

 OnStatus


Legend

 published


TIdUDPClient Methods

TIdUDPClient	Legend

TIdUDPClient

 Send

 SendBuffer

TIdUDPBase

 Broadcast

 Create

 Destroy

 function ReceiveBuffer(var ABuffer; const ABufferSize: Integer; const AMSec: Integer): integer; overload;

 function ReceiveBuffer(var ABuffer; const ABufferSize: Integer; var VPeerIP: string; var VPeerPort: integer; AMSec: Integer): integer; overload;

 function ReceiveString(const AMSec: Integer): string; overload;

 function ReceiveString(var VPeerIP: string; var VPeerPort: integer; const AMSec: Integer): string; overload;

 Send

 SendBuffer

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdUDPClient Members

TIdUDPClient	Legend

Properties

 Host

 Port

 ReceiveTimeout

Methods

 Send

 SendBuffer


Legend

 virtual

 published


TIdUDPClient.Host

TIdUDPClient

Identifies the address of the remote computer system.

property Host: string;

Description

Host is a String property used to identify the address of the remote computer system. Host and Port are used to build the UDP datagram packet, and identify the endpoint for the transmission.

Host can contain an IP address in dotted-decimal form, such as "129.71.2.4", or a computer name, such as "wvnvm.wvnet.edu". If the destination is also the machine where the UDP client is running, use "127.0.0.1" in Host.


TIdUDPClient.Port

TIdUDPClient

Identifies the port number on the remote system.

property Port: Integer;

Description

Port is an Integer property used to identify the port number on the remote computer system in Host. Host and Port are used to build the UDP datagram packet, and identify the endpoint for the transmission.

Some UDP-based protocols, such as SNTP (Simple Network Time Protocol) and DNS, used pre-defined port numbers. Port numbers below 1024 are reserved, but using a number above 1024 does not guarantee there will be no conflict.


TIdUDPClient.ReceiveTimeout

TIdUDPClient

Published time to wait for a readable socket binding.

property ReceiveTimeout;

Description

ReceiveTimeout is an Integer property that is published in TIdUDPClient. ReceiveTimeout is used like the TIdUDPBase.ReceiveTimeout property to specify the number of milliseconds to wait for a socket binding to become readable.


TIdUDPClient.Send

TIdUDPClient

Transmits data to the remote computer system.

procedure Send(AData: string); overload;

Parameters

AData: string

Values to sent to the remote computer system.

Description

Send is a procedure used to perform transmission of the data specified by AData to the computer system identified in the Host and the Port properties. TIdUDPBase also implements the Send method using the host name and port number specified in parameters.


TIdUDPClient.SendBuffer

TIdUDPClient

Sends a buffer containing data to the remote system.

procedure SendBuffer(var ABuffer; const AByteCount: integer); overload;

Parameters

var ABuffer

Buffer contain data to be sent to the remote connection.

const AByteCount: integer

Number of bytes in the buffer to be sent.

Description

SendBuffer is a procedure used to transmit the data in ABuffer to a remote system. AByteCount indicated the number of bytes from ABuffer to be sent to the remote system.

SendBuffer relies on the inherited SendBuffer method to transmit data to the remote host.


TIdUDPListenerThread

Hierarchy	Members	Fields	Properties	Methods	See Also	Unit: IdUDPServer

Specifies the listener thread for TIdUDPServer.

TIdUDPListenerThread = class(TIdThread)

Description

TIdUDPListenerThread is a TIdThread descendant that is the listening thread for TIdUDPServer. TIdUDPListenerThread is used to detect arrival of data on socket bindings allocated by TIdUDPServer. When data is detected, the server is notified that data is available in Buffer using UDPRead.


See Also

TIdThread

TIdUDPServer

Technical Support


Class Hierarchy

TThread

|

TIdThread

|

TIdUDPListenerThread


TIdUDPListenerThread Fields

TIdUDPListenerThread

TIdUDPListenerThread

 FServer


TIdUDPListenerThread Properties

TIdUDPListenerThread

TIdUDPListenerThread

 AcceptWait

TIdThread

 Data

 StopMode

 Stopped

 Terminated

 TerminatingException


TIdUDPListenerThread Events

TIdUDPListenerThread

TIdThread

 OnException


TIdUDPListenerThread Methods

TIdUDPListenerThread	Legend

TIdUDPListenerThread

 Create

 Destroy

 Run

 UDPRead

TIdThread

 Create

 Destroy

 Start

 Stop

 Synchronize

 TerminateAndWaitFor


Legend

 virtual


TIdUDPListenerThread Members

TIdUDPListenerThread	Legend

Fields

 FServer

Properties

 AcceptWait

Methods

 Create

 Destroy

 Run

 UDPRead


Legend

 virtual


TIdUDPListenerThread.FServer

TIdUDPListenerThread	See Also

Provides the server context for the listerner thread.

FServer: TIdUDPServer;

Description

FServer is a TIdUDPServer member variable that provides the server context for the listerner thread. FServer is public in scope, but is not published as a property in TIdUDPListenerThread. FServer is used to gain access to the methods and properties of the TIdUDPServer that owns the thread.


See Also

TIdUDPServer


TIdUDPListenerThread.AcceptWait

TIdUDPListenerThread	See Also

Time-out period for accepting new connections.

property AcceptWait: integer;

Description

AcceptWait is an Integer property that defines the time-out for accepting a new connection on the TIdSocketHandle in Server.Bindings. AcceptWait is expressed in milliseconds. The default value for AcceptWait is 1000 (1 second).

AcceptWait is used in the Run method to determine if the TIdSocketHandle in Server.Bindings is readable.


See Also

TIdUDPListenerThread.Run

TIdUDPServer

TIdSocketHandle.Readable


TIdUDPListenerThread.Create

TIdUDPListenerThread	See Also

Create is the constructor for the TIdUDPListenerThread object instance.

constructor Create(const ABufferSize: integer; Owner: TIdUDPServer);

Parameters

const ABufferSize: integer

Size of the buffer for the listener thread.

Owner: TIdUDPServer

Server that owns the listening thread.

Description

Create uses the inherited Create constructor to instantiate a suspended TIdUDPListenerThread. The listener thread Create constructor is called when the TIdUDPServer sets Active to True.

ABufferSize is normally set to the value in TIdUDPServer.BufferSize when the listener thread is created.

Create also initializes the following:

Sets AcceptWait to 1000 (ms) (1 second)

Creates the TMemoryStream Buffer

Sets Buffer.Size to ABufferSize

Sets Server to the owner of the listening thread.


See Also

TIdUDPServer

TIdThread

TIdUDPListenerThread.AcceptWait


TIdUDPListenerThread.Destroy

TIdUDPListenerThread

Destructor for the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for TIdUDPListenerThread, and is responsible for disposing of the object instance. Destroy performs the following actions:

Free and release Buffer.

Calls the inherited Destroy method.

Destroy should not be directly called in an application. Use Free instead. Free checks to ensure that the object reference is not Nil before calling Destroy.

Note: If an exception is emitted from the constructor, the destructor is called to destroy the partially constructed object instance. Destructors should check that allocated resources, such as handles, were actually allocated before trying to release them.


TIdUDPListenerThread.Run

TIdUDPListenerThread	See Also

Performs the main thread of execution for the listener thread.

procedure Run; override;

Description

The Run method provides the main thread of execution for the TIdUDPListenerThread. Run insures that all TIdSocketHandles in Bindings are selected.

While the server is not Stopped, Run will check each socket handle for incoming data and receive the new data into Buffer. Buffer is repositioned to the beginning of the buffer after reading incoming data. Run will raise an EIdUDPReceiveErrorZeroBytes if there is an error reading from one of the socket handles.

Run uses the ThreadedEvent property of the TIdUDPServer to determine how read event notifications to the server are performed. When the server is using threaded events, Run calls UDPRead. Otherwise the UDPRead method is a synchronised method call.

Run is invoked by making the TIdUDPServer active when the listener thread is started.


See Also

TIdUDPListenerThread.UDPRead

TIdUDPServer


TIdUDPListenerThread.UDPRead

TIdUDPListenerThread	See Also

Receives UDP data packets.

procedure UDPRead;

Description

UDPRead is a procedure that detects receipt of a UDP datagram in Buffer, and performs Server.DoUDPRead to make the data available.

UDPRead is a synchronised method in TIdUDPListenerThread, and uses the Server context to notify receipt of the data from the peer IP address and port number.


See Also

TIdUDPServer

TIdSocketHandle.PeerIP

TIdSocketHandle.PeerPort


TIdUDPServer

Hierarchy	Members	Properties	Methods	Events	See Also	Unit: IdUDPServer

Implements a UDP server.

TIdUDPServer = class(TIdUDPBase)

Description

TIdUDPServer is a TIdUDPBase descendant that is a server implementation of the User Datagram Protocol(UDP) as described in the Internet standards document:

User Datagram Protocol, RFC 768, by Jon Postel, August 1980

TIdUDPServer uses an instance of TIdUDPListener to perform read operations for multiple socket bindings created by the server.

TIdUDPServer can be used as an ancestor class for other server components based on the User Datagram Protocol. TIdTrivialFTPServer is a descendant of the TIdUDPServer component.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdUDPBase

|

TIdUDPServer


TIdUDPServer Fields

TIdUDPServer


TIdUDPServer Properties

TIdUDPServer	Legend

TIdUDPServer

 Bindings

 DefaultPort

 ThreadedEvent

TIdUDPBase

 Active

 Binding

 BroadcastEnabled

 BufferSize

 ReceiveTimeout

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdUDPServer Events

TIdUDPServer	Legend

TIdUDPServer

 OnUDPRead

TIdComponent

 OnStatus


Legend

 published


TIdUDPServer Methods

TIdUDPServer	Legend

TIdUDPServer

 Create

 Destroy

TIdUDPBase

 Broadcast

 Create

 Destroy

 function ReceiveBuffer(var ABuffer; const ABufferSize: Integer; const AMSec: Integer): integer; overload;

 function ReceiveBuffer(var ABuffer; const ABufferSize: Integer; var VPeerIP: string; var VPeerPort: integer; AMSec: Integer): integer; overload;

 function ReceiveString(const AMSec: Integer): string; overload;

 function ReceiveString(var VPeerIP: string; var VPeerPort: integer; const AMSec: Integer): string; overload;

 Send

 SendBuffer

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdUDPServer Members

TIdUDPServer	Legend

Properties

 Bindings

 DefaultPort

 ThreadedEvent

Events

 OnUDPRead

Methods

 Create

 Destroy


Legend

 virtual

 published


TIdUDPServer.Bindings

TIdUDPServer	See Also

Socket handles allocated by the server.

property Bindings: TIdSocketHandles;

Description

Bindings is a TIdSocketHandles property and a collection of TIdSocketHandle instances. For TIdUDPServer, Bindings will contain TIdSocketHandles instances with an allocated socket of type ID_SOCK_DGRAM.

Bindings provides the DefaultPort number for the TIdUDPServer and is used by the TIdUDPListenerThread to gain access to the socket handle and low-level access methods provided by the protocol stack.


See Also

TIdUDPServer.DefaultPort

TIdSocketHandles

TIdSocketHandle

TIdUDPListenerThread


TIdUDPServer.DefaultPort

TIdUDPServer	See Also

Port number used to listen for new connections.

property DefaultPort: integer;

Description

DefaultPort is an Integer property that identifies the port number used for new socket bindings created by the server. The value of DefaultPort is read from and written to Bindings.DefaultPort.

TIdUDPServer uses the DefaultPort number to bind the allocated datagram socket handle when the Active property to set to True.


See Also

TIdSocketHandles.DefaultPort


TIdUDPServer.ThreadedEvent

TIdUDPServer	See Also

Indicates the method used for UDP read events.

property ThreadedEvent: boolean;

Description

ThreadedEvent is a Boolean property that indicates if the UDP server is using a seperate thread to perform reads for the UDP connection, or if reads must be synchronised using a UDP method.

When ThreadedEvent is True, the TIdUDPListenerThread.UDPRead method is used to handle read operations. The default value for ThreadedEvent is False.


See Also

TIdUDPListenerThread.UDPRead


TIdUDPServer.Create

TIdUDPServer

Constructor for the object instance.

constructor Create(axOwner: TComponent); override;

Description

Create is the constructor for the TIdUDPServer object instance. Create uses the inherited Create method to initialize the object instance, and creates the default TIdSocketHandle instance in Bindings for the server.

Note: The Host and DefaultPort properties must set to the desired values before the UDP server can be activated.


TIdUDPServer.Destroy

TIdUDPServer

Destructor for the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for TIdUDPServer, and is responsible for disposing of the TIdUDPServer object instance. Destroy performs the following actions:

Set Active to False.

Frees the TIdSocketHandles in Bindings.

Calls the inherited Destroy method.

Destroy should not be directly called in an application. Use Free instead. Free checks to ensure that the object reference is not Nil before calling Destroy.

Note: If an exception is emitted from the constructor, the destructor is called to destroy the partially constructed object instance. Destructors should check that allocated resources, such as handles, were actually allocated before trying to release them.


TIdUDPServer.OnUDPRead

TIdUDPServer	See Also

Event handler for UDP read events.

property OnUDPRead: TUDPReadEvent;

Description

OnUDPRead is an event handler for TUDPReadEvent events. OnUDPRead is triggered by the DoUDPRead method when data has been read from the socket binding and is available for use by the server.

Assign a TUDPReadEvent handler procedure to OnUDPRead to respond to the event.


See Also

TUDPReadEvent


TIdURI

Hierarchy	Members	Properties	Methods	See Also	Unit: IdURI

Represents a Universal Resource Identifier.

TIdURI = class

Description

The TIdURI object parses a URI specified in the Create constructor into its components: Protocol, Host, Port, Path, Document, and Bookmark. You may also modify the URI using object properties.


See Also

Technical Support


Class Hierarchy

TObject

|

TIdURI


TIdURI Fields

TIdURI


TIdURI Properties

TIdURI

TIdURI

 Bookmark

 Document

 Host

 Path

 Port

 Protocol

 URI


TIdURI Events

TIdURI


TIdURI Methods

TIdURI	Legend

TIdURI

 Create

 NormalizePath

 ParseURI


Legend

 virtual


TIdURI Members

TIdURI	Legend

Properties

 Bookmark

 Document

 Host

 Path

 Port

 Protocol

 URI

Methods

 Create

 NormalizePath

 ParseURI


Legend

 virtual


TIdURI.Bookmark

TIdURI	See Also

Anchor which was specified in a URI

property Bookmark: string;

Description

This is an anchor into a document which was specified by the URI. Most web-browsers will simply load the document and scroll down to were the anchor is located in the document. The anchor is used internally by web-browsers and is never sent to the server. TIdHTTP and TIdHTTPServer will ignore the anchor if it is provided.


See Also

TIdURI.Document

ParseURI


TIdURI.Document

TIdURI

Represents the document name in a URI.

property Document: string;

Description

Document is a String property that represents the document portion of a URI. For example, the URI "http://www.nevrona.com:80/indy/index.html" would result in Document containing the value "index.html".

Document may be blank if a user is requesting a default page or URL such as "http://www.nevrona.com/indy/", a directory, or when documents are not applicable to the protocol.


TIdURI.Host

TIdURI

Represent the host name portion of a URI.

property Host: string;

Description

Host is a String property that represents the host name portion of a URI. For example, a URI with the value "http://www.nevrona.com:80/indy/index.html" would result in the Host property having the value "www.nevrona.com".

Host can contain either a computer name such as "www.nevrona.com" or an IP address such as "208.225.207.130".


TIdURI.Path

TIdURI

Represents the path for a URI.

property Path: string;

Description

Path is a String property that represents the path portion of a URI. For example, the URI with the value "http://www.nevrona.com:80/indy/index.html" would result in the Path property containing the value "/indy/".

Path can contain "/" if the root directory is specified, or when a path is not applicable with the protocol.


TIdURI.Port

TIdURI

Represents the port portion of a URI.

property Port: string;

Description

Port is a String property that represents the port specified in a URI. For example, a URI with the value "http://www.nevrona.com:80/indy/index.html" would result in Port property containing the value "80".

Often the Port property is not used because most URI's use a default port which is indicated by the protocol, as in "http://www.nevrona.com/indy/index.html". The HTTP protocol uses port 80 by default.

However, this value should be checked since port can be overridden by a port specified in the URI.


TIdURI.Protocol

TIdURI

Represents the protocol requested in a URI.

property Protocol: string;

Description

Protocol is a String property that represents the protocol requested in a URI. For example, a URI with the value "http://www.nevrona.com:80/indy/index.html" would result in the Protocol property containg the value "http".


TIdURI.URI

TIdURI

Represents a complete Universal Resource Identifier.

property URI: string;

Description

URI is a String property that represents the complete Protocol, Host, Port, Path, Document, and Bookmark for a resource. Changing the value of URI will cause Protocol, Host, Port, Path, Document, and Bookmark to be parsed from the URI into the corresponding property values.


TIdURI.Create

TIdURI

Constructor for the object instance.

constructor Create(const AURI: string); virtual;

Parameters

const AURI: string = ''

Universal Resource Identifier. Default value is ''.

Description

Create is the constructor for the object instance. AURI is an optional String that specifies the Protocol, Host, Port, Path, Document, and Bookmark for the resource. When AURI contains a non-blank value, the component portions of the URI are parsed into their corresponding object properties.


TIdURI.NormalizePath

TIdURI

Converts a directory specifier to the UNIX format.

class procedure NormalizePath(var APath: string);

Parameters

var APath: string

Directory to be normalized.

Description

NormalizePath is a class procedure that converts the directory specified in APath to the UNIX directory syntax. NormalizePath will convert all "" characters to the UNIX path seperator "/". NormalizePath does NOT convert device names.

NormalizePath returns the converted path specifier in the APath parameter.


TIdURI.ParseURI

TIdURI	See Also

Parses a URI into it's component portions.

class procedure ParseURI(URI: string; Var Protocol: string; Var Host: string; Var path: string; Var Document: string; Var Port: string; Var Bookmark: string);

Parameters

URI: string

The URL of the document

Var Protocol: string

the string where the protocol part of the URI is returned

Var Host: string

the hostname for the server where the document is located

Var path: string

the directory on the server where the document is located

Var Document: string

the name of the document or file which is being retrieved

Var Port: string

the port number that was specified in the URI. If this is blank, the default port is used

Var Bookmark: string

this is an anchor to a section on a document

Description

ParseURI is a class procedure that parses the URI specified in the URI parameter into its components which are placed in the string parameters; Protocol, Host, Port, Path, Document, and Bookmark.

  TIdURI.ParseURI('http://www.nevrona.com:80/Indy/FAQ.html#Exception',

    protocol, host,  path, document, port, Bookmark);

Will return:

Protocol = http

Host = www.nevrona.com

Path = /indy/

Document = FAQ.html

Port = 80

Bookmark = Exception


See Also

TIdURI.Protocol

TIdURI.Host

TIdURI.Path

TIdURI.Document

TIdURI.Port

TIdURI.Bookmark


TIdUUDecoder

Hierarchy	Members	Properties	Methods	See Also	Unit: IdCoder3To4

Implements a decoder for the UUEncode encoding scheme.

TIdUUDecoder = class(TId3To4Coder)

Description

TIdUUDecoder is a TIdCoder3To4 descendant that decodes the 7-bit textual representation of a UUEncoded message into the original binary data.

UUEncode encoding represents 24-bit groups of input as output strings of 4 encoded characters. Proceeding from left to right, a 24-bit input group is formed by concatenating 3 8bit input groups. These 24 bits are then treated as 4 concatenated 6-bit groups, each of which is translated into a single digit in the UUEncode alphabet.

TIdUUDecoder reverses the UUEncoding process by converting the 4-byte US-ASCII representaiton of the data into it's 3-byte binary equivalent.


See Also

TIdCoder

TId3To4Coder

TIdBase64Decoder

TIdUUEncoder

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdCoder

|

TIdASCIICoder

|

TId3To4Coder

|

TIdUUDecoder


TIdUUDecoder Fields

TIdUUDecoder


TIdUUDecoder Properties

TIdUUDecoder

TIdUUDecoder

 Privilege

TIdASCIICoder

 CodingTable

TIdCoder

 AddCRLF

 AutoCompleteInput

 BufferSize

 ByteCount

 BytesIn

 BytesOut

 FileName

 IgnoreCodedData

 IgnoreNotification

 Key

 OnCodedData

 Priority

 TakesFileName

 TakesKey

 UseEvent

TIdBaseComponent

 Version


TIdUUDecoder Events

TIdUUDecoder

TIdCoder

 OnNotification


TIdUUDecoder Methods

TIdUUDecoder	Legend

TIdUUDecoder

 Create

 Destroy

 SetCodingTable

 SetPrivilege

TId3To4Coder

 Create

 Destroy

TIdASCIICoder

 Create

TIdCoder

 CodeString

 CodeStringFromCoder

 CompletedInput

 Create

 Destroy

 GetCodedData

 GetNotification

 Reset

 SetBufferSize

 SetKey

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdUUDecoder Members

TIdUUDecoder	Legend

Properties

 Privilege

Methods

 Create

 Destroy

 SetCodingTable

 SetPrivilege


Legend

 virtual


TIdUUDecoder.Privilege

TIdUUDecoder	See Also

UNIX user permissions required to decode the UUencoded value.

property Privilege: Integer;

Description

Privilege is an Integer property that represents the UNIX user privilege level required to decode the UUEncoded value. When the value for Privilege is updated, the value must be in the range specified by the constant values minPriv to maxPriv. Privileges do not apply to the Windows platform, and should contain the default values provided in the Create method.

Privilege is part of the UUEncode output header included in the encoded values.


See Also

minPriv

maxPriv


TIdUUDecoder.Create

TIdUUDecoder

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance, and relies on the inherited Create method. Create also intializes CodingTable to the UUEncode alphabet as represented by UUCodeTable. Create also sets Privilege to the default user permissions 644, and changes BufferSize to the inital size required for UUDecode as represented by the constant value UUInitialLength.


TIdUUDecoder.Destroy

TIdUUDecoder

Frees the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance.


TIdUUDecoder.SetCodingTable

TIdUUDecoder

Updates the character set used for the coder.

procedure SetCodingTable(NewTable: String); override;

Parameters

NewTable: String

Characters et to use for encoding operations.

Description

SetCodingTable is the write access specifier for the CodingTable property, and updates the character set used for encoding operations. Binary files are encoded using an ascii character set for sending by e-mail or usenet servers. TIdUUDecoder uses the UUEncode alphabet, but can use the value specified in NewTable.


TIdUUDecoder.SetPrivilege

TIdUUDecoder

procedure SetPrivilege(Priv: Integer);

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdUUEncoder

Hierarchy	Members	Properties	Methods	See Also	Unit: IdCoder3To4

Implements an encoder for the UUCP encoding scheme.

TIdUUEncoder = class(TId3To4Coder)

Description

TIdUUEncoder is a TIdCoder3To4 descendant that encodes binary data into a 7-bit textual representation, called UUEncode, as established in UUCP (Unix-to-Unix Copy Program). UUEncode, like Base64, is an encoding mechanism designed to represent arbitrary sequences of byte data in a form that need not be humanly readable. UUEncode of often used to send EMail attachments in an envirnonment that is not MIME-compliant, and also allows larger files to be divided into multi-part transmissions.

UUEncode encoding represents 24-bit groups of input as output strings of 4 encoded characters. Proceeding from left to right, a 24-bit input group is formed by concatenating 3 8bit input groups. These 24 bits are then treated as 4 concatenated 6-bit groups, each of which is translated into a single digit in the UUEncode alphabet.

UUEncode differs from Base64 in that it utilizes a different coding table, or alphabet, to represent the encoded output values. THe UUEncode Alphabet can represented by the following encodings and values:

  Value Encoding  Value Encoding

   0    `         33    @

   1    !         34    A

   2    "         35    B

   3    #         36    C

   4    $         37    D

   5    %         38    E

   6    &         39    f

   7    '         40    g

   8    '         41    h

  9     (         42    i

  10    )         43    j

  11    *         44    k

  12    +         45    l

  13    ,         46    m

  14    -         47    n

  15    .         48    o

  16    /         49    p

  17    0         50    q

  18    1         51    r

  19    2         52    s

  20    3         53    t

  21    4         54    u

  22    5         55    v

  23    6         56    w

  24    7         57    x

  25    8         58    y

  26    9         59    z

  27    :         60    [

  28    ;         61

  29    <         62    ]

  30    =         63    ^

  31    >         64    _

  32    ?

When encoding a bit stream using UUEncode encoding, the stream must be presumed to be ordered with the most-significant-bit first. That is, the first bit in the stream will be the high-order bit in the first 8bit byte, and the eighth bit will be the low-order bit in the first 8bit byte, etc. UUEncode also adds output headers, Unix privilege levels, and line length encoding for each line in the UUEncode output buffer.


See Also

TIdCoder

TId3To4Coder

TIdBase64Encoder

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdCoder

|

TIdASCIICoder

|

TId3To4Coder

|

TIdUUEncoder


TIdUUEncoder Fields

TIdUUEncoder


TIdUUEncoder Properties

TIdUUEncoder

TIdUUEncoder

 Privilege

 TableNeeded

TIdASCIICoder

 CodingTable

TIdCoder

 AddCRLF

 AutoCompleteInput

 BufferSize

 ByteCount

 BytesIn

 BytesOut

 FileName

 IgnoreCodedData

 IgnoreNotification

 Key

 OnCodedData

 Priority

 TakesFileName

 TakesKey

 UseEvent

TIdBaseComponent

 Version


TIdUUEncoder Events

TIdUUEncoder

TIdCoder

 OnNotification


TIdUUEncoder Methods

TIdUUEncoder	Legend

TIdUUEncoder

 Create

 Destroy

 SetCodingTable

 SetPrivilege

TId3To4Coder

 Create

 Destroy

TIdASCIICoder

 Create

TIdCoder

 CodeString

 CodeStringFromCoder

 CompletedInput

 Create

 Destroy

 GetCodedData

 GetNotification

 Reset

 SetBufferSize

 SetKey

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdUUEncoder Members

TIdUUEncoder	Legend

Properties

 Privilege

 TableNeeded

Methods

 Create

 Destroy

 SetCodingTable

 SetPrivilege


Legend

 virtual


TIdUUEncoder.Privilege

TIdUUEncoder	See Also

UNIX user permissions required to decode the UUencoded value.

property Privilege: Integer;

Description

Privilege is an Integer property that represents the UNIX user privilege level required to decode the UUEncoded value. When the value Privilege is updated, the value must be in the range specified by the constant values minPriv to maxPriv. Privileges do not apply to the Windows platform, and should contain the default values provided in the Create method.

Privilege is written as part of the UUEncode output header included in the encoded values.


See Also

minPriv

maxPriv


TIdUUEncoder.TableNeeded

TIdUUEncoder

Indicates that a UUEncode table is need in the UUEncode header.

property TableNeeded: Boolean;

Description

TableNeeded is a Boolean property that indicates when the CodingTable needs to be output as a UUEncode table as part of the UUEncode header. The default value for TableNeeded is False, as asssigned iun Create, and should be altered to True when CodingTable for TIdUUEncoder does not contain the default UUEncode alphabet UUCodeTable.


TIdUUEncoder.Create

TIdUUEncoder

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance, and relies on the inherited Create method. Create also intializes CodingTable to the UUEncode alphabet as represented by UUCodeTable. Create sets Privilege to the value 644, TableNeeded to False, and AddCRLF to True. The internal BufferSize for TIdUUEncoder to set to 61.


TIdUUEncoder.Destroy

TIdUUEncoder

Frees the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance.


TIdUUEncoder.SetCodingTable

TIdUUEncoder

Updates the character set used for the coder.

procedure SetCodingTable(NewTable: String); override;

Parameters

NewTable: String

Characters et to use for encoding operations.

Description

SetCodingTable is the write access specifier for the CodingTable property, and updates the character set used for encoding operations. Binary files are encoded using an ascii character set for sending by e-mail or usenet servers. TIdUUEncoder uses the UUEncode alpahabet, but use the value specified in NewTable.


TIdUUEncoder.SetPrivilege

TIdUUEncoder

procedure SetPrivilege(Priv: Integer);

Description

The text for this method has been generated automatically. This means that it is not documented.


TIdVCard

Hierarchy	Members	Properties	Methods	See Also	Unit: IdVCard

Implements an electronic business card.

TIdVCard = class(TIdBaseComponent)

Description

The TIdVCard component processes Virtual Cards which are electronic business cards through the ReadFromTStrings method. This component is compliant with the VCard specification 2.1 at http://www.imc.org/pdi/pdiproddev.html  and VCard specification 3.0 (RFC 2425 and 2426).

Creating VCards will be added at a later time.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdVCard


TIdVCard Fields

TIdVCard


TIdVCard Properties

TIdVCard	Legend

TIdVCard

 Addresses

 BirthDay

 BusinessInfo

 Catagories

 Classification

 Comments

 EMailAddresses

 EMailProgram

 FullName

 Key

 Logo

 MailingLabels

 Photo

 ProductID

 RawForm

 Sound

 Telephones

 UniqueID

 URLs

 VCardVersion

TIdBaseComponent

 Version


Legend

 published


TIdVCard Events

TIdVCard


TIdVCard Methods

TIdVCard	Legend

TIdVCard

 Create

 Destroy

 ReadFromTStrings

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdVCard Members

TIdVCard	Legend

Properties

 Addresses

 BirthDay

 BusinessInfo

 Catagories

 Classification

 Comments

 EMailAddresses

 EMailProgram

 FullName

 Key

 Logo

 MailingLabels

 Photo

 ProductID

 RawForm

 Sound

 Telephones

 UniqueID

 URLs

 VCardVersion

Methods

 Create

 Destroy

 ReadFromTStrings


Legend

 virtual

 published


TIdVCard.Addresses

TIdVCard

Represents a list of VCard addresses.

property Addresses: TIdVCardAddresses;

Description

Addresses represents the list of addresses for the VCard.


TIdVCard.BirthDay

TIdVCard

Represents the birthday the VCard owner.

property BirthDay: TDateTime;

Description

BirthDay represents the birthday, and optional time of birth, for the VCard owner.


TIdVCard.BusinessInfo

TIdVCard

Represents business information about the VCard owner.

property BusinessInfo: TIdVCardBusinessInfo;

Description

BusinessInfo represents business information about the VCard owner.


TIdVCard.Catagories

TIdVCard

Represents a list of categories for the VCard.

property Catagories: TStrings;

Description

Categories Represents a list of categories for the VCard used for classification purposes.


TIdVCard.Classification

TIdVCard

Represents the general intent or keyword access for the VCard.

property Classification: String;

Description

Classification represents the general intent or keyword access for information in the VCard.


TIdVCard.Comments

TIdVCard

Textual comments for the VCard.

property Comments: TStrings;

Description

Comments is miscellaneous textual comments, or additional information, the owner wishes to attach to the VCard.


TIdVCard.EMailAddresses

TIdVCard

List of the VCard owner's E-Mail address.

property EMailAddresses: TIdVCardEMailAddresses;

Description

EMailAddresses is a list of the VCard owner's E-Mail address.


TIdVCard.EMailProgram

TIdVCard

E-Mail program used by the card's owner.

property EMailProgram: String;

Description

EMailProgram is the E-Mail program used by the card's owner.


TIdVCard.FullName

TIdVCard

VCard owner's name.

property FullName: TIdVCardName;

Description

FullName is the VCard owner's name.


TIdVCard.Key

TIdVCard

VCard owner's encryption key.

property Key: TIdVCardEmbeddedObject;

Description

Key is the VCard owner's encryption key used for encryption methods such as S/MIME or PGP.


TIdVCard.Logo

TIdVCard

Organization's logo.

property Logo: TIdVCardEmbeddedObject;

Description

Logo is an Organization's logo.


TIdVCard.MailingLabels

TIdVCard

List of mailing labels for the VCard owner.

property MailingLabels: TIdVCardMailingLabels;

Description

MailingLabels is a list of mailing labels for the VCard owner.


TIdVCard.Photo

TIdVCard

VCard owner's photograph.

property Photo: TIdVCardEmbeddedObject;

Description

Photo is the VCard owner's photograph.


TIdVCard.ProductID

TIdVCard

Program which created this VCard.

property ProductID: String;

Description

ProductID is the name of the program which created this VCard.


TIdVCard.RawForm

TIdVCard

Raw data for the VCard.

property RawForm: TStrings;

Description

RawForm is the raw data for the VCard.


TIdVCard.Sound

TIdVCard

Sound file for the VCard.

property Sound: TIdVCardEmbeddedObject;

Description

Sound is an audio file associated with the VCard such as how to pronounce a VCard owner's name.


TIdVCard.Telephones

TIdVCard

List of the VCard owner's telephone numbers.

property Telephones: TIdVCardTelephones;

Description

Telephones is a list of the VCard owner's telephone numbers.


TIdVCard.UniqueID

TIdVCard

Unique identifier for the VCard.

property UniqueID: String;

Description

UniqueID is a unique identifier for the VCard.


TIdVCard.URLs

TIdVCard

URLs for the VCard owner or organization.

property URLs: TStrings;

Description

URLs are the Universal Resource Locators associated with the VCard, such as the person's or organication's web page.


TIdVCard.VCardVersion

TIdVCard

Version number of the VCard specification.

property VCardVersion: Real;

Description

VCardVersion is the version number of the VCard specification used to create the VCard.


TIdVCard.Create

TIdVCard

Creates a new VCard instance.

constructor Create(AOwner: TComponent); override;

Description

Create is the constructor for TIdVCard, and initializes the object properties for the new VCard instance.


TIdVCard.Destroy

TIdVCard

Frees a VCard instance.

destructor Destroy; override;

Description

Destroy is the destructor for TIdVCard, and clears a fress object properties for the VCard instance.


TIdVCard.ReadFromTStrings

TIdVCard

Reads a VCard from a TStrings object.

procedure ReadFromTStrings(s: TStrings);

Description

ReadFromTStrings reads a VCard from a TStrings object.


TIdVCardAddresses

Hierarchy	Members	Properties	Methods	Unit: IdVCard

Encapsulates VCard addresses.

TIdVCardAddresses = class(TOwnedCollection)

Description

The TIdVCardAddresses collection contains TIdVCardAddresses objects encapsulating a VCard owner's addresses in a TIdVCard component.


Class Hierarchy

TOwnedCollection

|

TIdVCardAddresses


TIdVCardAddresses Fields

TIdVCardAddresses


TIdVCardAddresses Properties

TIdVCardAddresses

TIdVCardAddresses

 Items


TIdVCardAddresses Events

TIdVCardAddresses


TIdVCardAddresses Methods

TIdVCardAddresses

TIdVCardAddresses

 Add

 Create


TIdVCardAddresses Members

TIdVCardAddresses

Properties

 Items

Methods

 Add

 Create


TIdVCardAddresses.Items

TIdVCardAddresses

Allows access to TIdCardAddressItem items in the collection.

property Items [ Index: Integer ]: TIdCardAddressItem;

Description

Items is a property that allows you to access individual TIdCardAddressItem in the TIdVCardAddresses collection.


TIdVCardAddresses.Add

TIdVCardAddresses

Adds a TIdCardAddressItem to the collection.

function Add: TIdCardAddressItem;

Description

Add is a function that returns a new TIdCardAddressItem which is added to the TIdVCardAddresses collection.


TIdVCardAddresses.Create

TIdVCardAddresses

Constructor for the collection.

constructor Create(AOwner: TPersistent);

Parameters

AOwner: TPersistent

Owner of the collection.

Description

Create is the constructor for the collection instance, and relies on the inherited Create method to set the Owner and ClassType for the object instance.

ClassType is intialized to TIdCardAddressItem.


TIdVCardBusinessInfo

Hierarchy	Members	Properties	Methods	Unit: IdVCard

Encapsulates VCard organization information.

TIdVCardBusinessInfo = class(TPersistent)

Description

The TIdVCardBusinessInfo object encapsulates a VCard owner's organizational affiliation information in the TIdVCard component.


Class Hierarchy

TPersistent

|

TIdVCardBusinessInfo


TIdVCardBusinessInfo Fields

TIdVCardBusinessInfo


TIdVCardBusinessInfo Properties

TIdVCardBusinessInfo	Legend

TIdVCardBusinessInfo

 Divisions

 Organization

 Role

 Title


Legend

 published


TIdVCardBusinessInfo Events

TIdVCardBusinessInfo


TIdVCardBusinessInfo Methods

TIdVCardBusinessInfo	Legend

TIdVCardBusinessInfo

 Create

 Destroy


Legend

 virtual


TIdVCardBusinessInfo Members

TIdVCardBusinessInfo	Legend

Properties

 Divisions

 Organization

 Role

 Title

Methods

 Create

 Destroy


Legend

 virtual

 published


TIdVCardBusinessInfo.Divisions

TIdVCardBusinessInfo

Branch of the person's organization.

property Divisions: TStrings;

Description

Divisions represents the logical or physical branch of the organization for the VCard owner, such as "West Virginia Office, Computing Service".


TIdVCardBusinessInfo.Organization

TIdVCardBusinessInfo

Name of the organization for the VCard owner.

property Organization: String;

Description

Organization is the name of the organization for the VCard owner, such as "XYZ Corporation".


TIdVCardBusinessInfo.Role

TIdVCardBusinessInfo

Job or responsibilities for the VCard owner.

property Role: String;

Description

Role represents the VCard owners job or responsibilities in an organization, such as "System Administrator".


TIdVCardBusinessInfo.Title

TIdVCardBusinessInfo

Represents the formal title of the VCard owner.

property Title: String;

Description

Title represents the formal title of the VCard owner in the organization, such "Director of Computing Services".


TIdVCardBusinessInfo.Create

TIdVCardBusinessInfo

Constructor for the object instance.

constructor Create;

Description

Create is the constructor for the object instance, and relies on the inherited Create method to initialize the object. Create initializes the Divisions TStringlist property.


TIdVCardBusinessInfo.Destroy

TIdVCardBusinessInfo

Frees an object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance, Destroy clears and release the Divisions property prior to calling the inherited Destroy method.


TIdVCardEMailAddresses

Hierarchy	Members	Properties	Methods	Unit: IdVCard

Encapsulates VCard E-Mail addresses.

TIdVCardEMailAddresses = class(TOwnedCollection)

Description

The TIdVCardEMailAddresses collection contains TIdVCardEMailItem objects encapsulating a VCard owner's E-Mail addresses in a TIdVCard component.


Class Hierarchy

TOwnedCollection

|

TIdVCardEMailAddresses


TIdVCardEMailAddresses Fields

TIdVCardEMailAddresses


TIdVCardEMailAddresses Properties

TIdVCardEMailAddresses

TIdVCardEMailAddresses

 Items


TIdVCardEMailAddresses Events

TIdVCardEMailAddresses


TIdVCardEMailAddresses Methods

TIdVCardEMailAddresses

TIdVCardEMailAddresses

 Add

 Create


TIdVCardEMailAddresses Members

TIdVCardEMailAddresses

Properties

 Items

Methods

 Add

 Create


TIdVCardEMailAddresses.Items

TIdVCardEMailAddresses

Provides access to TIdVCardEMailItem items in the collection.

property Items [ Index: Integer ]: TIdVCardEMailItem;

Description

Items is a property that allows you to access individual TIdVCardEMailItem in the TIdVCardEMailAddresses collection.


TIdVCardEMailAddresses.Add

TIdVCardEMailAddresses

Adds a new TIdVCardEMailItem to the collection.

function Add: TIdVCardEMailItem;

Description

Add is a function that returns a new TIdVCardEMailItem which is added to the TIdVCardEMailAddresses collection.


TIdVCardEMailAddresses.Create

TIdVCardEMailAddresses

Constructor for the collection.

constructor Create(AOwner: TPersistent);

Parameters

AOwner: TPersistent

Owner of the collection.

Description

Create is the constructor for the collection instance, and relies on the inherited Create method to set the Owner and ClassType for the object instance.

ClassType is intialized to TIdVCardEMailItem.


TIdVCardEMailItem

Hierarchy	Members	Properties	Methods	Unit: IdVCard

encapsulates a VCard E-Mail address.

TIdVCardEMailItem = class(TCollectionItem)

Description

The TIdVCardEMailItem object encapsulates a VCard owner's E-Mail address in the TIdVCard component.


Class Hierarchy

TCollectionItem

|

TIdVCardEMailItem


TIdVCardEMailItem Fields

TIdVCardEMailItem


TIdVCardEMailItem Properties

TIdVCardEMailItem	Legend

TIdVCardEMailItem

 Address

 EMailType

 Preferred


Legend

 published


TIdVCardEMailItem Events

TIdVCardEMailItem


TIdVCardEMailItem Methods

TIdVCardEMailItem	Legend

TIdVCardEMailItem

 Assign

 Create


Legend

 virtual


TIdVCardEMailItem Members

TIdVCardEMailItem	Legend

Properties

 Address

 EMailType

 Preferred

Methods

 Assign

 Create


Legend

 virtual

 published


TIdVCardEMailItem.Address

TIdVCardEMailItem

Contents of the E-Mail address.

property Address: String;

Description

Address is the contents of the E-Mail address.


TIdVCardEMailItem.EMailType

TIdVCardEMailItem

Identifies the type of E-Mail address.

property EMailType: TIdVCardEMailType;

Description

EMailType identifies the type of E-Mail address, and can contain one of the following values:

ematAOL - America On-Line

ematAppleLink - AppleLink

ematATT - AT&T Mail

ematCIS - CompuServe Information Service

emateWorld - eWorld

ematInternet -Internet SMTP

ematIBMMail - IBM Mail

ematMCIMail - MCI Mail

ematPowerShare - PowerShare

ematProdigy - Prodigy Information Service

ematTelex - Telex number

ematX400 - X.400 service


TIdVCardEMailItem.Preferred

TIdVCardEMailItem

Indicates the person's preferred E-Mail address.

property Preferred: Boolean;

Description

Preferred is an indicator that is True if this is the person's preferred E-Mail address.


TIdVCardEMailItem.Assign

TIdVCardEMailItem

Copy the property values of an object.

procedure Assign(Source: TPersistent); override;

Parameters

Source: TPersistent

Object containing values to be copied.

Description

Assign is a procedure used to copy the properties of the persistent object in Source to the current object instance. When the current object and the object in Source are the same ClassType, Assign will copy the following property values:

EMailType

Preferred

Address

When the current object and Source do not sahre the same ClassType, Assign calls the inherited Assign method.


TIdVCardEMailItem.Create

TIdVCardEMailItem

Constructor for the collection item.

constructor Create(Collection: TCollection); override;

Parameters

Collection: TCollection

Collection that owns the collection item.

Description

Create is the constructor for the collection item. Create relies on the inherited Create method, and initializes the EmailType property to the value ematInternet.


TIdVCardEmbeddedObject

Hierarchy	Members	Properties	Methods	Unit: IdVCard

Encapsulates an embedded object in a VCard.

TIdVCardEmbeddedObject = class(TPersistent)

Description

The TIdVCardEmbeddedObject object encapsulates an embedded object in a VCard such as a graphic, sound, or public-key (for encryption).


Class Hierarchy

TPersistent

|

TIdVCardEmbeddedObject


TIdVCardEmbeddedObject Fields

TIdVCardEmbeddedObject


TIdVCardEmbeddedObject Properties

TIdVCardEmbeddedObject	Legend

TIdVCardEmbeddedObject

 Base64Encoded

 EmbeddedData

 ObjectType

 ObjectURL


Legend

 published


TIdVCardEmbeddedObject Events

TIdVCardEmbeddedObject


TIdVCardEmbeddedObject Methods

TIdVCardEmbeddedObject	Legend

TIdVCardEmbeddedObject

 Create

 Destroy


Legend

 virtual


TIdVCardEmbeddedObject Members

TIdVCardEmbeddedObject	Legend

Properties

 Base64Encoded

 EmbeddedData

 ObjectType

 ObjectURL

Methods

 Create

 Destroy


Legend

 virtual

 published


TIdVCardEmbeddedObject.Base64Encoded

TIdVCardEmbeddedObject

Indicates that EmbeddedData is represented Base64-encoded.

property Base64Encoded: Boolean;

Description

Base64Encoded is a Boolean indicator is True if EmbeddedData is represented as by Base64-encoded values.


TIdVCardEmbeddedObject.EmbeddedData

TIdVCardEmbeddedObject

ASCII or Binary data for the VCard.

property EmbeddedData: TStrings;

Description

EmbeddedData represents a storage slot for ASCII or binary data in the VCard. EmbeddedData is usually stored in an encoded format such as BASE64, although some keys may not require decoding. You can check data encoding by examining the Base64Encoded property.


TIdVCardEmbeddedObject.ObjectType

TIdVCardEmbeddedObject

Indicates the file or key type for the VCard.

property ObjectType: String;

Description

ObjectType indicates the type of media, such as the file type or key type.


TIdVCardEmbeddedObject.ObjectURL

TIdVCardEmbeddedObject

URL for object in a VCard.

property ObjectURL: String;

Description

ObjectURL is the Universal Resource Locator where the object is located if it is NOT embedded in the VCard.


TIdVCardEmbeddedObject.Create

TIdVCardEmbeddedObject

Constructor for the object instance.

constructor Create;

Description

Create is the constructor for the object instance. Create relies on the inherited Create method, and initializes the EmbeddData TStringList property.


TIdVCardEmbeddedObject.Destroy

TIdVCardEmbeddedObject

Frees an object instance.

destructor Destroy; override;

Description

Destroy is the destructor for an object instance. Destroy clears and releases the EmbeddedData property prior to calling the inherited Destroy method.


TIdVCardGeog

Hierarchy	Members	Properties	Unit: IdVCard

Encapsulates geographical information about a VCard owner.

TIdVCardGeog = class(TPersistent)

Description

The TIdVCardGeog object encapsulates a VCard owner's geographical information such as Latitude, Longitude, and time-zone.


Class Hierarchy

TPersistent

|

TIdVCardGeog


TIdVCardGeog Fields

TIdVCardGeog


TIdVCardGeog Properties

TIdVCardGeog	Legend

TIdVCardGeog

 Latitude

 Longitude

 TimeZoneStr


Legend

 published


TIdVCardGeog Events

TIdVCardGeog


TIdVCardGeog Methods

TIdVCardGeog


TIdVCardGeog Members

TIdVCardGeog	Legend

Properties

 Latitude

 Longitude

 TimeZoneStr


Legend

 published


TIdVCardGeog.Latitude

TIdVCardGeog

Geographical latitude for the VCard owner.

property Latitude: Real;

Description

Latitude is the geographical latitude for the VCard owner.


TIdVCardGeog.Longitude

TIdVCardGeog

Geographical longitude the VCard owner.

property Longitude: Real;

Description

Longitude is the geographical longitude the VCard owner.


TIdVCardGeog.TimeZoneStr

TIdVCardGeog

Time zone where the VCard owner is located.

property TimeZoneStr: String;

Description

TimeZoneStr is the time zone where the VCard owner is located.


TIdVCardMailingLabelItem

Hierarchy	Members	Properties	Methods	Unit: IdVCard

Encapsulates a VCard mailing label.

TIdVCardMailingLabelItem = class(TCollectionItem)

Description

The TIdVCardMailingLabelItem object encapsulates a mailing label for the VCard owner.


Class Hierarchy

TCollectionItem

|

TIdVCardMailingLabelItem


TIdVCardMailingLabelItem Fields

TIdVCardMailingLabelItem


TIdVCardMailingLabelItem Properties

TIdVCardMailingLabelItem	Legend

TIdVCardMailingLabelItem

 AddressAttributes

 MailingLabel


Legend

 published


TIdVCardMailingLabelItem Events

TIdVCardMailingLabelItem


TIdVCardMailingLabelItem Methods

TIdVCardMailingLabelItem	Legend

TIdVCardMailingLabelItem

 Assign

 Create

 Destroy


Legend

 virtual


TIdVCardMailingLabelItem Members

TIdVCardMailingLabelItem	Legend

Properties

 AddressAttributes

 MailingLabel

Methods

 Assign

 Create

 Destroy


Legend

 virtual

 published


TIdVCardMailingLabelItem.AddressAttributes

TIdVCardMailingLabelItem

Describes the type of VCard address.

property AddressAttributes: TIdCardAddressAttributes;

Description

AddressAttributes is a property used to describe a the type of address, and can include one of the following values:

tatHome - home delivery address

tatDomestic - a domestic address

tatInternational - an international address

tatPostal - a postal delivery address

tatParcel - a parcel delivery address

tatWork - a work delivery address

tatPreferred - preferred address


TIdVCardMailingLabelItem.MailingLabel

TIdVCardMailingLabelItem

Contents of the mailing label.

property MailingLabel: TStrings;

Description

MailingLabel is the contents of the mailing label.


TIdVCardMailingLabelItem.Assign

TIdVCardMailingLabelItem

Copy the property values of an object.

procedure Assign(Source: TPersistent); override;

Parameters

Source: TPersistent

Object containing values to be copied.

Description

Assign is a procedure used to copy the properties of the persistent object in Source to the current object instance. When the current object and the object in Source are the same ClassType, Assign will copy the following property values:

AddressAttributes

MailingLabel

When the current object and Source do not sahre the same ClassType, Assign calls the inherited Assign method.


TIdVCardMailingLabelItem.Create

TIdVCardMailingLabelItem

Constructor for the collection item.

constructor Create(Collection: TCollection); override;

Parameters

Collection: TCollection

Collection that owns the collection item.

Description

Create is the constructor for the collection item, and relies on the inherited Create method. Create initializes the MailingLabel TStringList property.


TIdVCardMailingLabelItem.Destroy

TIdVCardMailingLabelItem

Frees an object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance. Destroy clears and releases the MailingLabel property prior to calling the inherited Destroy method.


TIdVCardMailingLabels

Hierarchy	Members	Properties	Methods	Unit: IdVCard

Encapsulates a VCard mailing label list.

TIdVCardMailingLabels = class(TOwnedCollection)

Description

The TIdVCardMailingLabels collection contains TIdVCardMailingLabelItem objects encapsulating mailing labels for a VCard owner.


Class Hierarchy

TOwnedCollection

|

TIdVCardMailingLabels


TIdVCardMailingLabels Fields

TIdVCardMailingLabels


TIdVCardMailingLabels Properties

TIdVCardMailingLabels

TIdVCardMailingLabels

 Items


TIdVCardMailingLabels Events

TIdVCardMailingLabels


TIdVCardMailingLabels Methods

TIdVCardMailingLabels

TIdVCardMailingLabels

 Add

 Create


TIdVCardMailingLabels Members

TIdVCardMailingLabels

Properties

 Items

Methods

 Add

 Create


TIdVCardMailingLabels.Items

TIdVCardMailingLabels

Provides access to a TIdVCardMailingLabelItem in the collection.

property Items [ Index: Integer ]: TIdVCardMailingLabelItem;

Description

Items is a property that allows access to an individual TIdVCardMailingLabelItem in the TIdVCardMailingLabels collection.


TIdVCardMailingLabels.Add

TIdVCardMailingLabels

Adds a new TIdVCardMailingLabelItem to the collection.

function Add: TIdVCardMailingLabelItem;

Description

Add is a function that returns a new TIdVCardMailingLabelItem which is added to the TIdVCardMailingLabels collection.


TIdVCardMailingLabels.Create

TIdVCardMailingLabels

Constructor for the object instance.

constructor Create(AOwner: TPersistent);

Description

Create is the constructor for the object instance, and creates a new instance of the TIdVCardMailingLabels collection with AOwner as the owner for it. Create is used internally in the TIdVCard.Create constructor.


TIdVCardName

Hierarchy	Members	Properties	Methods	Unit: IdVCard

Encapsulates a VCard name.

TIdVCardName = class(TPersistent)

Description

The TIdVCardName object encapsulates a VCard name.


Class Hierarchy

TPersistent

|

TIdVCardName


TIdVCardName Fields

TIdVCardName


TIdVCardName Properties

TIdVCardName	Legend

TIdVCardName

 FirstName

 FormattedName

 NickNames

 OtherNames

 Prefix

 SortName

 Suffix

 SurName


Legend

 published


TIdVCardName Events

TIdVCardName


TIdVCardName Methods

TIdVCardName	Legend

TIdVCardName

 Create

 Destroy


Legend

 virtual


TIdVCardName Members

TIdVCardName	Legend

Properties

 FirstName

 FormattedName

 NickNames

 OtherNames

 Prefix

 SortName

 Suffix

 SurName

Methods

 Create

 Destroy


Legend

 virtual

 published


TIdVCardName.FirstName

TIdVCardName

First name for VCard name instance.

property FirstName: String;

Description

FirstName is the person's first name, in the case of "J. Peter Mugaas", this would be "J."


TIdVCardName.FormattedName

TIdVCardName

Person's name as written in a signature.

property FormattedName: String;

Description

FormattedName is the VCard owner's name as it is written on mailing labels, signed, or used in correspondences. Often this is the person's first and last name although this can vary by custom.


TIdVCardName.NickNames

TIdVCardName

Shortened or familiar names for the person.

property NickNames: TStrings;

Description

NickNames represents shortened or familiar names for the person, such as "Bill" or "Billy" for William or a name that a person is informally known as such as Kudzu for Chad Z. Hower.


TIdVCardName.OtherNames

TIdVCardName

Middle or maiden names for the person.

property OtherNames: TStrings;

Description

OtherNames is a TStrings property that contains a middle name and some other names such as a woman's maiden name. In the case of "J. Peter Mugaas", this would be "Peter".


TIdVCardName.Prefix

TIdVCardName

Salutation or honorary added to the beginning of a name.

property Prefix: String;

Description

Prefix is the salutation or honorary added to the beginning of a name, such as "Mr.", "Dr.", "Hon.", "Prof.", "Reverend", etc.


TIdVCardName.SortName

TIdVCardName

Value use to sort a name.

property SortName: String;

Description

SortName is a string value used for sorting a name. It may not always be the person's last name or SurName.


TIdVCardName.Suffix

TIdVCardName

Lineage or profession for the person.

property Suffix: String;

Description

Suffix is a postfix that indicates lineage, credential, or profession, such as "Ph.D.", "M.D.", "Esq.", "Jr.", "Sr.", "III", etc.


TIdVCardName.SurName

TIdVCardName

Last name of the person.

property SurName: String;

Description

SurName is the person's last name, in the case of "J. Peter Mugaas", this would be "Mugaas".


TIdVCardName.Create

TIdVCardName

Constructor for the object instance.

constructor Create;

Description

Create is the constructor for the object instance, and relies on the inherited Create method to initialize the object. Create also initializes the TStringList properties OtherNames and NickNames.


TIdVCardName.Destroy

TIdVCardName

Frees an object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance. Destroy clears and releases the Nicknames and OtherNames properties prior to calling the inherited Destroy method.


TIdVCardTelephones

Hierarchy	Members	Properties	Methods	Unit: IdVCard

Encapsulates a VCard telephone number collection.

TIdVCardTelephones = class(TOwnedCollection)

Description

The TIdVCardTelephones collection contains TIdCardPhoneNumber objects encapsulating telephone numbers for a VCard owner.


Class Hierarchy

TOwnedCollection

|

TIdVCardTelephones


TIdVCardTelephones Fields

TIdVCardTelephones


TIdVCardTelephones Properties

TIdVCardTelephones

TIdVCardTelephones

 Items


TIdVCardTelephones Events

TIdVCardTelephones


TIdVCardTelephones Methods

TIdVCardTelephones

TIdVCardTelephones

 Add

 Create


TIdVCardTelephones Members

TIdVCardTelephones

Properties

 Items

Methods

 Add

 Create


TIdVCardTelephones.Items

TIdVCardTelephones

Allows access to a TIdCardPhoneNumber in the collection.

property Items [ Index: Integer ]: TIdCardPhoneNumber;

Description

Items is a property that allows access to an individual TIdCardPhoneNumber in the TIdVCardTelephones collection.


TIdVCardTelephones.Add

TIdVCardTelephones

Adds a new TIdCardPhoneNumber to the collection.

function Add: TIdCardPhoneNumber;

Description

Add is a function that returns a new TIdCardPhoneNumber which is added to the TIdVCardTelephones collection.


TIdVCardTelephones.Create

TIdVCardTelephones

Constructor for the collection instance.

constructor Create(AOwner: TPersistent);

Parameters

AOwner: TPersistent

Owner of the collection.

Description

Create is the constructor for the collection instance, and relies on the inherited Create method to set the Owner and ClassType for the collection.

ClassType is initialized to TIdCardPhoneNumber.


TIdWhois

Hierarchy	Members	Properties	Methods	See Also	Unit: IdWhois

Implements a WhoIs or Nickname client.

TIdWhois = class(TIdTCPClient)

Description

TIdWhois implements the Nickname or Whois protocol (RFC 954) as a client. Whois is a simple database query system that is commonly used for consulting domain registration records although it can be used for other simple directory services.


See Also

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdComponent

|

TIdTCPConnection

|

TIdTCPClient

|

TIdWhois


TIdWhois Fields

TIdWhois


TIdWhois Properties

TIdWhois	Legend

TIdWhois

 Port

TIdTCPClient

 BoundIP

 Host

 OnConnected

 Port

 SocksInfo

 UseNagle

TIdTCPConnection

 ASCIIFilter

 Binding

 ClosedGracefully

 CmdResult

 CmdResultDetails

 Intercept

 InterceptEnabled

 OnDisconnected

 OnWork

 OnWorkBegin

 OnWorkEnd

 ReadLnTimedOut

 RecvBufferSize

 ResultNo

 SendBufferSize

TIdComponent

 LocalName

TIdBaseComponent

 Version


Legend

 published


TIdWhois Events

TIdWhois	Legend

TIdComponent

 OnStatus


Legend

 published


TIdWhois Methods

TIdWhois	Legend

TIdWhois

 Create

 WhoIs

TIdTCPClient

 Connect

 ConnectAndGetAll

 Create

 Destroy

TIdTCPConnection

 AllData

 CancelWriteBuffer

 Capture

 CheckForDisconnect

 CheckForGracefulDisconnect

 CheckResponse

 ClearWriteBuffer

 CloseWriteBuffer

 Connected

 Create

 CurrentReadBuffer

 CurrentReadBufferSize

 Destroy

 Disconnect

 DisconnectSocket

 ExtractXBytesFromBuffer

 FlushWriteBuffer

 GetResponse

 InputLn

 OpenWriteBuffer

 procedure RaiseExceptionForCmdResult; virtual; overload;

 procedure RaiseExceptionForCmdResult(axException: TClassIdException); virtual; overload;

 ReadBuffer

 ReadCardinal

 ReadFromStack

 ReadInteger

 ReadLn

 ReadLnWait

 ReadSmallInt

 ReadStream

 ReadString

 RemoveXBytesFromBuffer

 function SendCmd(const AOut: string; const AResponse: SmallInt): SmallInt; overload;

 function SendCmd(const AOut: string; const AResponse: Array of SmallInt): SmallInt; virtual; overload;

 WaitFor

 Write

 WriteBuffer

 WriteCardinal

 WriteFile

 WriteHeader

 WriteInteger

 WriteLn

 WriteSmallInt

 WriteStream

 WriteStrings

TIdComponent

 BeginWork

 Create

 Destroy

 DoWork

 EndWork

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdWhois Members

TIdWhois	Legend

Properties

 Port

Methods

 Create

 WhoIs


Legend

 virtual

 published


TIdWhois.Port

TIdWhois

Port number used for the connection.

property Port;

Description

Port is an Integer property that identifies the port number used for the connection. The default value for Port in TIdWhois is IdPORT_WHOIS.


TIdWhois.Create

TIdWhois

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Description

Create is the constructor for the object instance, and creates a new TIdWhoIs component and sets default values for the port property to IdPORT_WHOIS and the host property to whois.internic.net.


TIdWhois.WhoIs

TIdWhois

Performs a query for a domain name.

function WhoIs(const ADomain: string): string;

Description

WhoIs is a method that queries a WhoIs server for the query specified by the ADomain. The host and port properties have to be set for the appropriate server before calling this method.


TIdWhoIsServer

Hierarchy	Members	Properties	Methods	Events	See Also	Unit: IdWhoIsServer

Implements a WhoIs or Nickname server.

TIdWhoIsServer = class(TIdTCPserver)

Description

TIdWhoIsServer helps developers write implementations the Nickname or Whois protocol (RFC 954) as a server. Whois is a simple database query system that is commonly used for consulting domain registration records although it can be used for other simple directory services.


See Also

Technical Support


Class Hierarchy

TIdTCPserver

|

TIdWhoIsServer


TIdWhoIsServer Fields

TIdWhoIsServer


TIdWhoIsServer Properties

TIdWhoIsServer	Legend

TIdWhoIsServer

 DefaultPort


Legend

 published


TIdWhoIsServer Events

TIdWhoIsServer	Legend

TIdWhoIsServer

 OnCommandLookup


Legend

 published


TIdWhoIsServer Methods

TIdWhoIsServer	Legend

TIdWhoIsServer

 Create


Legend

 virtual


TIdWhoIsServer Members

TIdWhoIsServer	Legend

Properties

 DefaultPort

Events

 OnCommandLookup

Methods

 Create


Legend

 virtual

 published


TIdWhoIsServer.DefaultPort

TIdWhoIsServer

Port number used to listen for new connections.

property DefaultPort;

Description

DefaultPort is an Integer property that identifies the port number used for new socket bindings created by the server. The value of DefaultPort is read from and written to Bindings.DefaultPort. The default value for DefaultPort is IdPORT_WHOIS.


TIdWhoIsServer.Create

TIdWhoIsServer

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Description

Create constructors a new TIdWhoIsServer component, sets the default port to the standard port number used for WhoIs (IdPORT_WHOIS).


TIdWhoIsServer.OnCommandLookup

TIdWhoIsServer

Event type for a WhoIs command.

property OnCommandLookup: TGetEvent;

Description

OnCommandLookup is the event triggered when a client makes a query to the WhoIs server. AThread is the thread for the client connection. ALookup is the queryto send to the WhoIs server.


TIdX509

Hierarchy	Members	Properties	Methods	See Also	Unit: IdSSLOpenSSL

Implements X.509 certificates for SSL transports.

TIdX509 = class(TObject)

Description

TIdX509 is a class that implements support for X.509 Certificates as required for use with the Indy implementation of the OpenSSL Secure Socket Layer transport.


See Also

Technical Support


Class Hierarchy

TObject

|

TIdX509


TIdX509 Fields

TIdX509


TIdX509 Properties

TIdX509

TIdX509

 Fingerprint

 FingerprintAsString

 Issuer

 notAfter

 notBefore

 Subject


TIdX509 Events

TIdX509


TIdX509 Methods

TIdX509	Legend

TIdX509

 Create

 Destroy


Legend

 virtual


TIdX509 Members

TIdX509	Legend

Properties

 Fingerprint

 FingerprintAsString

 Issuer

 notAfter

 notBefore

 Subject

Methods

 Create

 Destroy


Legend

 virtual


TIdX509.Fingerprint

TIdX509

Message digest for the X.509 certificate.

property Fingerprint: TEVP_MD;

Description

Fingerprint is a read-only TEVP_MD property that represents the message digest value for the X.509 certificate.


TIdX509.FingerprintAsString

TIdX509

Hexadecimal representation of the Fingerprint for the X.509 certificate.

property FingerprintAsString: String;

Description

FingerprintAsString is a read-only String property that represents the Fingerprint for the X.509 certificate as a colon-delimited hexadecimal string.


TIdX509.Issuer

TIdX509

Represents the issuing authority for an X.509 certificate.

property Issuer: TIdX509Name;

Description

Issuer is a read-only TIdX509Name property that represents the name of the issuing authority for the X.509 certificate. Issuer can contain Nil when the certificate does not have an issuing authority.


TIdX509.notAfter

TIdX509

Expiration date and time for the X.509 certificate.

property notAfter: TDateTime;

Description

notAfter is a read-only TDateTime property that represents the expiration date and time for the X.509 certificate. notAfter will contain 0.0 when the instance does not represent a valid X.509 certificate. notAfter is expressed in UTC (Universal Time Coordinates).


TIdX509.notBefore

TIdX509

Initial validity date and time for the X.509 certificate.

property notBefore: TDateTime;

Description

notBefore is a read-only TDateTime property that represents the initial validity date and time for the X.509 certificate. notBefore will contain 0.0 when the instance does not represent a valid X.509 certificate. notBefore is expressed in UTC (Universal Time Coordinates).


TIdX509.Subject

TIdX509

Represents the certificate party for an X.509 certificate.

property Subject: TIdX509Name;

Description

Subject is a read-only TIdX509Name property that represents the name of the certificate party for the X.509 certificate. Subject can contain Nil when the certificate does not have an certificate party.


TIdX509.Create

TIdX509

Constructor for the object instance.

constructor Create(aX509: PX509); virtual;

Parameters

aX509: PX509

Pointer to the X.509 certificate for the object instance.

Description

Create is the constructor for the object instance, and relies on the inherited Create method. Create assigns the X.509 certificate in aX509 to the internal certificate buffer. Create also clears the Subject and Issuer X.509 names for the certificate.


TIdX509.Destroy

TIdX509

Frees an object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance. Destroy frees the Subject and Issuer X.509 certificate names for the object instance, and calls the inherited Destroy method.


TIdX509Name

Hierarchy	Members	Properties	Methods	See Also	Unit: IdSSLOpenSSL

Represents an X.509 Certificate Name.

TIdX509Name = class(TObject)

Description

TIdX509Name is a class used to represent an X.509 Name as required for X.509 Certificate usage.


See Also

TIdX509

Technical Support


Class Hierarchy

TObject

|

TIdX509Name


TIdX509Name Fields

TIdX509Name


TIdX509Name Properties

TIdX509Name

TIdX509Name

 Hash

 HashAsString

 OneLine


TIdX509Name Events

TIdX509Name


TIdX509Name Methods

TIdX509Name

TIdX509Name

 Create


TIdX509Name Members

TIdX509Name

Properties

 Hash

 HashAsString

 OneLine

Methods

 Create


TIdX509Name.Hash

TIdX509Name	See Also

Hash value for the X.509 Name.

property Hash: TULong;

Description

Hash is a read-only TULong property that provides access to the hash value for the X.509 Name represented as an unsigned long integer. Differing Hash representation can be using the Byte, Word, Cardinal, or LongInt member in the return value.


See Also

TULong


TIdX509Name.HashAsString

TIdX509Name

Hexadecimal representation of the Hash value.

property HashAsString: string;

Description

HashAsString is a read-only String property that returns the hexadecimal string representation of the has value in Hash.


TIdX509Name.OneLine

TIdX509Name

Single line representation of the X.509 name.

property OneLine: string;

Description

OneLine is a read-only String property that returns the X.509 certificate name on a single line. OneLine will contain '' (empty string) if the name has never been assigned.


TIdX509Name.Create

TIdX509Name

Constructor for the object instance.

constructor Create(aX509Name: PX509_NAME);

Parameters

aX509Name: PX509_NAME

Pointer to the X.509 Name.

Description

Create is the constructor for the object instance. Create relies on the inherited Create method as stores the aX509Name in the internal buffer for the X.509 Name.


TIdXXDecoder

Hierarchy	Members	Methods	See Also	Unit: IdCoder3To4

Implements a decoder for the XXEncode encoding scheme.

TIdXXDecoder = class(TIdUUDecoder)

Description

TIdXXDecoder is a TIdUUDecoder descendant that decodes the 7-bit textual representation of a XXEncoded message into the original binary data.

XXEncode encoding represents 24-bit groups of input as output strings of 4 encoded characters. Proceeding from left to right, a 24-bit input group is formed by concatenating 3 8bit input groups. These 24 bits are then treated as 4 concatenated 6-bit groups, each of which is translated into a single digit in the XXEncode alphabet.

TIdXXDecoder reverses the XXEncoding process by converting the 4-byte US-ASCII representaiton of the data into it's 3-byte binary equivalent.


See Also

TIdCoder

TId3To4Coder

TIdBase64Decoder

TIdUUDecoder

TIdXXEncoder

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdCoder

|

TIdASCIICoder

|

TId3To4Coder

|

TIdUUDecoder

|

TIdXXDecoder


TIdXXDecoder Fields

TIdXXDecoder


TIdXXDecoder Properties

TIdXXDecoder

TIdUUDecoder

 Privilege

TIdASCIICoder

 CodingTable

TIdCoder

 AddCRLF

 AutoCompleteInput

 BufferSize

 ByteCount

 BytesIn

 BytesOut

 FileName

 IgnoreCodedData

 IgnoreNotification

 Key

 OnCodedData

 Priority

 TakesFileName

 TakesKey

 UseEvent

TIdBaseComponent

 Version


TIdXXDecoder Events

TIdXXDecoder

TIdCoder

 OnNotification


TIdXXDecoder Methods

TIdXXDecoder	Legend

TIdXXDecoder

 Create

 Destroy

TIdUUDecoder

 Create

 Destroy

 SetCodingTable

 SetPrivilege

TId3To4Coder

 Create

 Destroy

TIdASCIICoder

 Create

TIdCoder

 CodeString

 CodeStringFromCoder

 CompletedInput

 Create

 Destroy

 GetCodedData

 GetNotification

 Reset

 SetBufferSize

 SetKey

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdXXDecoder Members

TIdXXDecoder	Legend

Methods

 Create

 Destroy


Legend

 virtual


TIdXXDecoder.Create

TIdXXDecoder

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance, and relies on the inherited Create method. Create also intializes CodingTable to the XXEncode alphabet as represented by XXCodeTable.


TIdXXDecoder.Destroy

TIdXXDecoder

Frees the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance.


TIdXXEncoder

Hierarchy	Members	Methods	See Also	Unit: IdCoder3To4

Implements an encoder for the XXEncode encoding scheme.

TIdXXEncoder = class(TIdUUEncoder)

Description

TIdXXEncoder is a TIdUUEncoder descendant that encodes binary data into a 7-bit textual representation, and is very simular to the UUEncode encoding scheme. XXEncode, like Base64, is an encoding mechanism designed to represent arbitrary sequences of byte data in a form that need not be humanly readable. XXEncode was designed as a replacement for earlier version of UUEncode, which contained encoding error, but is little since UUEncode has been enhanced.

XXEncode encoding represents 24-bit groups of input as output strings of 4 encoded characters. Proceeding from left to right, a 24-bit input group is formed by concatenating 3 8bit input groups. These 24 bits are then treated as 4 concatenated 6-bit groups, each of which is translated into a single digit in the XXEncode alphabet.

XXEncode differs from Base64 and UUEncode in that it utilizes a different coding table, or alphabet, to represent the encoded output values. The XXEncode Alphabet can represented by the following encodings and values:

Value Encoding  Value Encoding

 0    +         32    U

 1    -         33    V

 2    0         34    W

 3    1         35    X

 4    2         36    Y

 5    3         37    Z

 6    4         38    a

 7    5         39    b

 8    6         40    c

 9    7         41    d

10    8         42    e

11    9         43    f

12    A         44    g

13    B         45    h

14    C         46    i

15    D         47    j

16    E         48    k

17    F         49    l

18    G         50    m

19    H         51    n

20    I         52    o

21    J         53    p

22    K         54    q

23    L         55    r

24    M         56    s

25    N         57    t

26    O         58    u

27    P         59    v

28    Q         60    w

29    R         61    x

30    S         62    y

31    T         63    z

When encoding a bit stream using XXEncode encoding, the stream must be presumed to be ordered with the most-significant-bit first. That is, the first bit in the stream will be the high-order bit in the first 8bit byte, and the eighth bit will be the low-order bit in the first 8bit byte, etc. XXEncode also adds output headers, Unix privilege levels, and line length encoding for each line in the XXEncode output buffer.


See Also

TIdCoder

TId3To4Coder

TIdBase64Encoder

TIdUUEncoder

Technical Support


Class Hierarchy

TComponent

|

TIdBaseComponent

|

TIdCoder

|

TIdASCIICoder

|

TId3To4Coder

|

TIdUUEncoder

|

TIdXXEncoder


TIdXXEncoder Fields

TIdXXEncoder


TIdXXEncoder Properties

TIdXXEncoder

TIdUUEncoder

 Privilege

 TableNeeded

TIdASCIICoder

 CodingTable

TIdCoder

 AddCRLF

 AutoCompleteInput

 BufferSize

 ByteCount

 BytesIn

 BytesOut

 FileName

 IgnoreCodedData

 IgnoreNotification

 Key

 OnCodedData

 Priority

 TakesFileName

 TakesKey

 UseEvent

TIdBaseComponent

 Version


TIdXXEncoder Events

TIdXXEncoder

TIdCoder

 OnNotification


TIdXXEncoder Methods

TIdXXEncoder	Legend

TIdXXEncoder

 Create

 Destroy

TIdUUEncoder

 Create

 Destroy

 SetCodingTable

 SetPrivilege

TId3To4Coder

 Create

 Destroy

TIdASCIICoder

 Create

TIdCoder

 CodeString

 CodeStringFromCoder

 CompletedInput

 Create

 Destroy

 GetCodedData

 GetNotification

 Reset

 SetBufferSize

 SetKey

TIdBaseComponent

 GetVersion


Legend

 virtual


TIdXXEncoder Members

TIdXXEncoder	Legend

Methods

 Create

 Destroy


Legend

 virtual


TIdXXEncoder.Create

TIdXXEncoder

Constructor for the object instance.

constructor Create(AOwner: TComponent); override;

Parameters

AOwner: TComponent

Owner of the object instance.

Description

Create is the constructor for the object instance, and relies on the inherited Create method. Create also intializes CodingTable to the XXEncode alphabet as represented by XXCodeTable.


TIdXXEncoder.Destroy

TIdXXEncoder

Frees the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance.


TIpProperty

Hierarchy	Members	Properties	Methods	See Also	Unit: IdNetworkCalculator

Provides persistent storage and manipulation for network address and mask values.

TIpProperty = class(TPersistent)

Description

TIpProperty is a TPersistent descendant that provides storage variables and manipulation methods for the components of a network address or network mask. TIpProperty is used by TIdNetworkCalculator to represent the NetworkAddress and NetworkMask properties.

Use Byte1, Byte2, Byte3, and Byte4 to access the individual Byte values of the 32-bit IP address.

Use AsDoubleWord to access the LongWord value of the IP address.

Use AsBinaryString to access the String representation of individual bits of the IP address. For example: "11111111111111111111111100000000" is the binary string representation of the network mask 255.255.255.0.

Use AsString to access the String representation of the IP address. For example: "255.255.255.0" is the string representation of a network mask with the "dotted-decimal" value 255.255.255.0.

Use SetAll to simultaneously update the 4 Byte values in the IP address.

Use ByteArray to access the Byte values of the IP address and indicate if the byte has a zero or non-zero value.

Use the OnChange event handler to perform application-specific processing when the value of the TIpProperty has been modified.


See Also

Technical Support


Class Hierarchy

TPersistent

|

TIpProperty


TIpProperty Fields

TIpProperty


TIpProperty Properties

TIpProperty	Legend

TIpProperty

 AsBinaryString

 AsDoubleWord

 AsString

 Byte1

 Byte2

 Byte3

 Byte4

 ByteArray

 OnChange


Legend

 published


TIpProperty Events

TIpProperty


TIpProperty Methods

TIpProperty	Legend

TIpProperty

 Assign

 SetAll


Legend

 virtual


TIpProperty Members

TIpProperty	Legend

Properties

 AsBinaryString

 AsDoubleWord

 AsString

 Byte1

 Byte2

 Byte3

 Byte4

 ByteArray

 OnChange

Methods

 Assign

 SetAll


Legend

 virtual

 published


TIpProperty.AsBinaryString

TIpProperty	See Also	Example 1

Represents a string containing the individual bits in the 32-bit IP address.

property AsBinaryString: String;

Description

AsBinaryString is a String property that represents the individual bits in the 32-bit IP address or network mask. "1" indicates that the bit set. "0" indicates that the bit is not set. AsBinaryString should always contain a string with a length of 32 characters. For example, the network mask 255.255.255.0 would be represent by AsBinaryString in the form "11111111111111111111111100000000".

AsBinaryString calls SetAll to update the value of the individual bytes in the IP address.

Use Byte1, Byte2, Byte3, Byte4, AsDoubleWord, or AsString to access the value of the IP address in other representations.


See Also

TIpProperty.Byte1

TIpProperty.Byte2

TIpProperty.Byte3

TIpProperty.Byte4

TIpProperty.AsDoubleWord

TIpProperty.AsString


TIpProperty.AsBinaryString, Example 1
Example 1

TIpProperty.AsBinaryString

  bIsSet := AIpProp.AsBinaryString[1] = '1';


TIpProperty.AsDoubleWord

TIpProperty	See Also	Example 1

Represents the IP address as a unsigned integer value.

property AsDoubleWord: Longword;

Description

AsDoubleWord is a LongWord property that represents the IP address or network mask as a unsigned integer value. AsDoubleWord calls SetAll to update the value of the individual bytes in the IP address.

Use Byte1, Byte2, Byte3, Byte4, AsBinaryString, or AsString to access the value of the IP address in other representations.


See Also

TIpProperty.Byte1

TIpProperty.Byte2

TIpProperty.Byte3

TIpProperty.Byte4

TIpProperty.AsBinaryString

TIpProperty.AsString

TIpProperty.SetAll


TIpProperty.AsDoubleWord, Example 1
Example 1

TIpProperty.AsDoubleWord

  AIP.FullAddr := ANetCalc.NetworkAddress.AsDoubleWord AND

    ANetCalc.NetworkMask.AsDoubleWord;


TIpProperty.AsString

TIpProperty	See Also	Example 1

Represents the IP address as a string in dotted-decimal format.

property AsString: String;

Description

AsString is a String property that represents the value of the IP address or network mask in dotted-decimal format, like "129.71.2.4".

AsString calls SetAll to update the value of the individual bytes in the IP address.

Use Byte1, Byte2, Byte3, Byte4, AsDoubleWord, or AsBinaryString to access the value of the IP address in other representations.


See Also

TIpProperty.Byte1

TIpProperty.Byte2

TIpProperty.Byte3

TIpProperty.Byte4

TIpProperty.AsDoubleWord

TIpProperty.AsBinaryString

TIpProperty.SetAll


TIpProperty.AsString, Example 1
Example 1

TIpProperty.AsString

  // update the network calculator network address

  ANetCalc.NetworkAddress.AsString := '129.71.2.4';


TIpProperty.Byte1

TIpProperty	See Also

Represents one byte of the 4-byte IP address or network mask.

property Byte1: byte;

Description

Byte1 is a Byte property that represents one Byte of the 4-byte IP address or network mask.

Byte1, Byte2, Byte3, and Byte4 are used primarily to read the current value of the TIpProperty. Byte1 calls SetAll to update the value of the byte in the IP address.

Use AsDoubleWord, AsString, or AsBinaryString to access the value of the IP address in other representations.


See Also

TIpProperty.Byte2

TIpProperty.Byte3

TIpProperty.Byte4

TIpProperty.SetAll

TIpProperty.AsDoubleWord

TIpProperty.AsString

TIpProperty.AsBinaryString


TIpProperty.Byte2

TIpProperty	See Also

Represents one byte of the 4-byte IP address or network mask.

property Byte2: Byte;

Description

Byte2 is a Byte property that represents one Byte of the 4-byte IP address or network mask.

Byte1, Byte2, Byte3, and Byte4 are used primarily to read the current value of the TIpProperty. Byte2 calls SetAll to update the value of the byte in the IP address.

Use AsDoubleWord, AsString, or AsBinaryString to access the value of the IP address in other representations.


See Also

TIpProperty.Byte1

TIpProperty.Byte3

TIpProperty.Byte4

TIpProperty.SetAll

TIpProperty.AsDoubleWord

TIpProperty.AsString

TIpProperty.AsBinaryString


TIpProperty.Byte3

TIpProperty	See Also

Represents one byte of the 4-byte IP address or network mask.

property Byte3: Byte;

Description

Byte3 is a Byte property that represents one Byte of the 4-byte IP address or network mask.

Byte1, Byte2, Byte3, and Byte4 are used primarily to read the current value of the TIpProperty. Byte3 calls SetAll to update the value of the byte in the IP address.

Use AsDoubleWord, AsString, or AsBinaryString to access the value of the IP address in other representations.


See Also

TIpProperty.Byte1

TIpProperty.Byte2

TIpProperty.Byte4

TIpProperty.SetAll

TIpProperty.AsDoubleWord

TIpProperty.AsString

TIpProperty.AsBinaryString


TIpProperty.Byte4

TIpProperty	See Also

Represents one byte of the 4-byte IP address or network mask.

property Byte4: Byte;

Description

Byte4 is a Byte property that represents one Byte of the 4-byte IP address or network mask.

Byte1, Byte2, Byte3, and Byte4 are used primarily to read the current value of the TIpProperty. Byte4 calls SetAll to update the value of the byte in the IP address.

Use AsDoubleWord, AsString, or AsBinaryString to access the value of the IP address in other representations.


See Also

TIpProperty.Byte1

TIpProperty.Byte2

TIpProperty.Byte3

TIpProperty.SetAll

TIpProperty.AsDoubleWord

TIpProperty.AsString

TIpProperty.AsBinaryString


TIpProperty.ByteArray

TIpProperty	See Also

Represents the 32-bit IP address as boolean flags.

property ByteArray [Index: cardinal]: boolean;

Description

ByteArray is an indexed Boolean property that provides access to the individual bits that make up the 32-bit IP address or network mask. Values for Index are in the range 0..31. ByteArray is used primary in the construction of the AsBinaryString representation of the IP address.

Use Byte1, Byte2, Byte3, Byte4, AsDoubleWord, AsString, or AsBinaryString to access the value of the IP address in other representations.


See Also

TIpProperty.Byte1

TIpProperty.Byte2

TIpProperty.Byte3

TIpProperty.Byte4

TIpProperty.AsDoubleWord

TIpProperty.AsString

TIpProperty.AsBinaryString


TIpProperty.OnChange

TIpProperty	See Also

Specifies the event handler for changes to the IP address value.

property OnChange: TNotifyEvent;

Description

OnChange is a TNotifyEvent property that specifies the event handler for changes to the value of the IP address or network mask. OnChange is triggered from both Assign and SetAll.

Use OnChange to notify an application of changes in the network address properties. Assign an OnChange event handler to respond to the event notification.


See Also

TIpProperty.Assign

TIpProperty.SetAll


TIpProperty.Assign

TIpProperty	See Also	Example 1

Copies the contents of another TIpProperty object.

procedure Assign(Source: Tpersistent); override;

Parameters

Source: Tpersistent

The persistent object that is the source of the object values.

Description

Assign is an overridden procedure inherited from TPersistent that copies the properties or other attributes of Source to the current instance.

Assign calls SetAll to update the Byte values of the IP address or network mask. Assigns triggers the OnChange event handler to signify that a change has occurred in TIpProperty values. Finally, Assign calls the inherited Assign method to handle assignment of properties from the class of the Source parameter.


See Also

TIpProperty.SetAll

TIpProperty.OnChange


TIpProperty.Assign, Example 1
Example 1

TIpProperty.Assign

  ANetCalc.NetworkAddress.Assign(AIPProperty);


TIpProperty.SetAll

TIpProperty	See Also

Updates the byte values of the 32-bit IP address.

procedure SetAll(One: Byte; Two: Byte; Tree: Byte; Four: Byte); virtual;

Parameters

One: Byte

Value for Byte 1 of 4 in the 32-bit IP address.

Two: Byte

Value for Byte 2 of 4 in the 32-bit IP address.

Tree: Byte

Value for Byte 3 of 4 in the 32-bit IP address.

Four: Byte

Value for Byte 4 of 4 in the 32-bit IP address.

Description

SetAll is a procedure used to update the Byte values of the 32-bit IP address or network mask. SetAll is called when write operations to the IP address are performed from Assign, AsDoubleWord, AsString, AsBinaryString, and ByteArray.


See Also

TIpProperty.Assign

TIpProperty.AsDoubleWord

TIpProperty.AsString

TIpProperty.AsBinaryString

TIpProperty.ByteArray


TLogger

Hierarchy	Members	Properties	Methods	Unit: IdTunnelCommon

Implements logging for Indy Tunnel components.

TLogger = class(TObject)

Description

TLogger is a class used to provide support for message and status logging in TIdTunnelMaster and TIdTunnelSalve components. TLogger allows messages to be written to a file, and protects resources to prevent simultaneous access by multiple threads in the Indy Tunnel components.


Class Hierarchy

TObject

|

TLogger


TLogger Fields

TLogger


TLogger Properties

TLogger

TLogger

 Active


TLogger Events

TLogger


TLogger Methods

TLogger	Legend

TLogger

 Create

 Destroy

 LogEvent


Legend

 virtual


TLogger Members

TLogger	Legend

Properties

 Active

Methods

 Create

 Destroy

 LogEvent


Legend

 virtual


TLogger.Active

TLogger

Indicates that the logging component has been opened.

property Active: Boolean;

Description

Active is a Boolean property that indicates when the logging component has been opened, and the out file has been assigned.


TLogger.Create

TLogger

Constructor for the object instance.

constructor Create(LogFileName: String);

Parameters

LogFileName: String

File used for logging messages and events.

Description

Create is the constructor for the object instance. Create sets Active to False, and attempts Assign and Rewrite the file specified in LogFileName. If the file is successfully opened, Active is set to True.


TLogger.Destroy

TLogger

destructor for the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance. Destroy closes the output file in LogFile and calls the inherited Destroy method.


TLogger.LogEvent

TLogger

Writes a message to the output file.

procedure LogEvent(Msg: String);

Parameters

Msg: String

Message to write to the output file.

Description

LogEvent is a procedure used to write the message specified in Msg to the LogFile output file.


TMInfoRecord

Hierarchy	Members	Properties	Unit: IdDNSResolver

Represents a mail information resource record.

TMInfoRecord = class(TIdDNSResourceItem)

Description

TMInfoRecord is a TIdDNSResourceItem that represents a mail information resource record.


Class Hierarchy

TCollectionITem

|

TIdDNSResourceItem

|

TMInfoRecord


TMInfoRecord Fields

TMInfoRecord

TIdDNSResourceItem

 AClass

 AType

 Name

 RData

 RDLength

 StarData

 TTL


TMInfoRecord Properties

TMInfoRecord

TMInfoRecord

 EMmailBox

 RMailBox


TMInfoRecord Events

TMInfoRecord


TMInfoRecord Methods

TMInfoRecord


TMInfoRecord Members

TMInfoRecord

Properties

 EMmailBox

 RMailBox


TMInfoRecord.EMmailBox

TMInfoRecord

E-Mail address that receives error messages for a mailing list.

property EMmailBox: string;

Description

EMmailBox is the E-Mail address which should receive error messages for a mailing list. If this specifies the root address for a domain, the message should be sent to the original sender of the message.


TMInfoRecord.RMailBox

TMInfoRecord

Specifies the E-Mail address of a mailing list administrator.

property RMailBox: string;

Description

RMailBox specifies the E-Mail address of a person responsible for a mailing list.


TMRecord

Hierarchy	Members	Properties	Unit: IdDNSResolver

Represents a mail resource record.

TMRecord = class(TIdDNSResourceItem)

Description

TMInfoRecord is a TIdDNSResourceItem that represents a mail resource record. TMInfoRecord can be associated with a simple mailbox, they are usually used with a mailing list.


Class Hierarchy

TCollectionITem

|

TIdDNSResourceItem

|

TMRecord


TMRecord Fields

TMRecord

TIdDNSResourceItem

 AClass

 AType

 Name

 RData

 RDLength

 StarData

 TTL


TMRecord Properties

TMRecord

TMRecord

 EMailBox

 RMailBox


TMRecord Events

TMRecord


TMRecord Methods

TMRecord


TMRecord Members

TMRecord

Properties

 EMailBox

 RMailBox


TMRecord.EMailBox

TMRecord

Represents the domain name to receive error messages for the mailing list.

property EMailBox: string;

Description

EMailBox is a String member that represents the domain name that will receive error messages related to the mailing list or mailbox. If this domain name names the root, errors should be returned to the sender of the message.


TMRecord.RMailBox

TMRecord

Represents the mailbox responsible for a mailing list.

property RMailBox: string;

Description

RMailBox is a String member that represents the mailbox domain name that is responsible for the mailing list or mailbox.


TMXRecord

Hierarchy	Members	Properties	Unit: IdDNSResolver

Represents a mail exchange resource record.

TMXRecord = class(TIdDNSResourceItem)

Description

TMXRecord is a TIdDNSResourceItem that represents a mail exchange resource record.


Class Hierarchy

TCollectionITem

|

TIdDNSResourceItem

|

TMXRecord


TMXRecord Fields

TMXRecord

TIdDNSResourceItem

 AClass

 AType

 Name

 RData

 RDLength

 StarData

 TTL


TMXRecord Properties

TMXRecord

TMXRecord

 Exchange

 Preference


TMXRecord Events

TMXRecord


TMXRecord Methods

TMXRecord


TMXRecord Members

TMXRecord

Properties

 Exchange

 Preference


TMXRecord.Exchange

TMXRecord

This is an address for a computer which will accept E-Mail for a particular domain.

property Exchange: string;

Description

This is an address for a computer which will accept E-Mail for a particular domain.


TMXRecord.Preference

TMXRecord

This is the priority given for the host computer.

property Preference: Word;

Description

This is the priority given for the host computer. A lower priority is the computer which is preferred.


TNameRecord

Hierarchy	Members	Properties	Unit: IdDNSResolver

Represents a domain name resource record.

TNameRecord = class(TIdDNSResourceItem)

Description

TMInfoRecord is a TIdDNSResourceItem that represents a domain name resource record.


Class Hierarchy

TCollectionITem

|

TIdDNSResourceItem

|

TNameRecord


TNameRecord Fields

TNameRecord

TIdDNSResourceItem

 AClass

 AType

 Name

 RData

 RDLength

 StarData

 TTL


TNameRecord Properties

TNameRecord

TNameRecord

 DomainName


TNameRecord Events

TNameRecord


TNameRecord Methods

TNameRecord


TNameRecord Members

TNameRecord

Properties

 DomainName


TNameRecord.DomainName

TNameRecord

This is the name that was returned by the DNS Server.

property DomainName: string;

Description

This is the name that was returned by the DNS Server.


TPTRRecord

Hierarchy	Members	Properties	Unit: IdDNSResolver

Represents a domain name pointer resource record.

TPTRRecord = class(TIdDNSResourceItem)

Description

TPTRRecord is a TIdDNSResourceItem that represents a domain name pointer resource record.


Class Hierarchy

TCollectionITem

|

TIdDNSResourceItem

|

TPTRRecord


TPTRRecord Fields

TPTRRecord

TIdDNSResourceItem

 AClass

 AType

 Name

 RData

 RDLength

 StarData

 TTL


TPTRRecord Properties

TPTRRecord

TPTRRecord

 DomainName


TPTRRecord Events

TPTRRecord


TPTRRecord Methods

TPTRRecord


TPTRRecord Members

TPTRRecord

Properties

 DomainName


TPTRRecord.DomainName

TPTRRecord

IP Address from a Reverse DNS Query.

property DomainName: string;

Description

DomainName is normally the IP address for the computer from a reverse DNS (PTR type query).


TQuestionItem

Hierarchy	Members	Fields	Unit: IdDNSResolver

represents DNS questions in a DNS query.

TQuestionItem = class(TCollectionItem)

Description

TQuestionItem is a TCollectionItem descendant that represents DNS questions in a DNS query.


Class Hierarchy

TCollectionItem

|

TQuestionItem


TQuestionItem Fields

TQuestionItem

TQuestionItem

 QClass

 QName

 QType


TQuestionItem Properties

TQuestionItem


TQuestionItem Events

TQuestionItem


TQuestionItem Methods

TQuestionItem


TQuestionItem Members

TQuestionItem

Fields

 QClass

 QName

 QType


TQuestionItem.QClass

TQuestionItem

This is the class of the class of the query you are making.

QClass: Word;

Description

This is the class of the class of the query you are making. This is usually one of these classes:

cIN - Specifies The Internet

cCS - Specifies The CSNet (note that this is obsolete)

cCH - Specifies The Chaos Claee

cHS - Specifies Hesiod


TQuestionItem.QName

TQuestionItem

This is the domain or other query that you wish to make.

QName: string;

Description

This is the domain or other query that you wish to make.


TQuestionItem.QType

TQuestionItem

This is the type of query you wish to make.

QType: Word;

Description

This is the type of query you wish to make. QType normally contains one of the following values:

cA - A Host Address

cNS - An Authoritative name server

cMD - A mail destination - obsolete use MX

cMF - A mail forwarder - obsolete use MX

cName - The canonical name for an alias

cSOA - Marks the start of a zone of authority

cMB - A mail box domain name - Experimental

cMG - A mail group member - Experimental

cMR - A mail Rename Domain Name - Experimental

cNULL - RR - Experimental

cWKS - A well known service description

cPTR - A Domain Name Pointer

cHINFO - Host Information

cMINFO - Mailbox or Mail List Information

cMX - Mail Exchange

cTXT - Text String

cAXFR - A Request for the Transfer of an entire zone (This should use TCP instead of UDP)

cMAILB - A request for mailbox related records (MB MG OR MR}

cMAILA - A request for mail agent RRs - Obsolete see MX

cStar - A Request for all Records


TReceiver

Hierarchy	Members	Fields	Properties	Methods	See Also	Unit: IdTunnelCommon

Implements encapsulated tunnel message receipt and processing.

TReceiver = class(TObject)

Description

TReceiver is a class that implements for receipt and processing of encapsulated tunnel messages for Indy Tunnel components. TIdTunnelMaster uses TReceiver to handle message types and data from tunnel client connections.


See Also

TIdTunnelMaster

TIdTunnelSlave

Technical Support


Class Hierarchy

TObject

|

TReceiver


TReceiver Fields

TReceiver

TReceiver

 Header

 HeaderLen

 Msg

 MsgLen

 pBuffer

 TypeDetected


TReceiver Properties

TReceiver

TReceiver

 CRCFailed

 Data

 NewMessage


TReceiver Events

TReceiver


TReceiver Methods

TReceiver	Legend

TReceiver

 Create

 Destroy

 ShiftData


Legend

 virtual


TReceiver Members

TReceiver	Legend

Fields

 Header

 HeaderLen

 Msg

 MsgLen

 pBuffer

 TypeDetected

Properties

 CRCFailed

 Data

 NewMessage

Methods

 Create

 Destroy

 ShiftData


Legend

 virtual


TReceiver.Header

TReceiver

Headers for the encapsulated tunnel message.

Header: TIdHeader;

Description

Header is a TIdHeader member used to construct encapsulated message headers for the Tunnel communication class.


TReceiver.HeaderLen

TReceiver

Represents the length of the encapsulation headers.

HeaderLen: Integer;

Description

HeaderLen is an Integer member that represents the Length of the headers constructed for the encapsulated tunnel message.


TReceiver.Msg

TReceiver

Represents the content for the encapsulated tunnel message.

Msg: PChar;

Description

Msg is a PChar member that represents the content for the encapsulated tunnel message.


TReceiver.MsgLen

TReceiver

Length of data in the message.

MsgLen: Word;

Description

MsgLen is a Word member that represents the length of data in Msg.


TReceiver.pBuffer

TReceiver

Workspace for constructing encapsulated tunnel messages.

pBuffer: PChar;

Description

pBuffer is a PChar member that represents a work area for the construction of messages using encapsulated tunnel headers. The results of operations performed against pBuffer are stored in Msg.


TReceiver.TypeDetected

TReceiver

Indicates a new message type in Data.

TypeDetected: Boolean;

Description

TypeDetected is a Boolean member that represents when a new message type has been detected after an update to Data.


TReceiver.CRCFailed

TReceiver

Indicates an error in the CRC value for a message.

property CRCFailed: Boolean;

Description

CRCFailed is a read-only Boolean property that indicates when the CRC checksum value for a tunnel message does not match the calculated CRC checksum value on receipt.


TReceiver.Data

TReceiver

Represents data for the encapsulated tunnel message.

property Data: String;

Description

Data is a String property that represents the contents of an encapsulated Tunnel message. Changing the value in Data results in updating the pBuffer message buffer including recalculation of the CRC value and detecting the message type.


TReceiver.NewMessage

TReceiver

Indicates a change to the Data for the message.

property NewMessage: Boolean;

Description

NewMessage is a read-only Boolean property that indicates when the message or header has been updated as a result of changes to Data.


TReceiver.Create

TReceiver

Constructor for the object instance.

constructor Create;

Description

Create is the constructor for the object instance, and relies on the inherited Create method. Create also initializes object properties for the CRC calculator, HeaderLen, and MsgLen used by the object. Create allocates the buffers used for pBuffer and Msg.


TReceiver.Destroy

TReceiver

Free the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance. Destroy frees pBuffer and Msg, as well as the CRC calculator for the object instance prior to calling the inherited Destroy method.


TReceiver.ShiftData

TReceiver

Handles multiple messages in the message buffer.

procedure ShiftData;

Description

ShiftData is a procedure used to access, align, and calculate CRC values for multiple messages in pBuffer.


TSender

Hierarchy	Members	Fields	Methods	See Also	Unit: IdTunnelCommon

Implements encapsulated tunnel message construction for transmission.

TSender = class(TObject)

Description

TSender is a class that implements support for construction of encapsulated tunnel messages for Indy Tunnel components. TIdTunnelMaster uses TSender to build message types, headers, and data for tunnel client connections.


See Also

TIdTunnelMaster

TIdTunnelSlave

Technical Support


Class Hierarchy

TObject

|

TSender


TSender Fields

TSender

TSender

 CRCCalculator

 DataLen

 Header

 HeaderLen

 Locker

 Msg

 pMsg


TSender Properties

TSender


TSender Events

TSender


TSender Methods

TSender	Legend

TSender

 Create

 Destroy

 PrepareMsg


Legend

 virtual


TSender Members

TSender	Legend

Fields

 CRCCalculator

 DataLen

 Header

 HeaderLen

 Locker

 Msg

 pMsg

Methods

 Create

 Destroy

 PrepareMsg


Legend

 virtual


TSender.CRCCalculator

TSender

CRC calculator for the encapsulated tunnel message.

CRCCalculator: TIdCoderCRC16;

Description

CRCCalculator is a TIdCoderCRC16 member that represents the CRC calculator used in determining the CRC checksum value for the encapsulated tunnel message.


TSender.DataLen

TSender

Length of Data in the encapsulated tunnel message.

DataLen: Word;

Description

DataLen is a Word member that represents the length of data in the encapsulated tunnel message.


TSender.Header

TSender

Headers for the encapsulated tunnel message.

Header: TIdHeader;

Description

Header is a TIdHeader member used to construct encapsulated message headers for the Tunnel communication class.


TSender.HeaderLen

TSender

Represents the length of the encapsulation headers.

HeaderLen: Integer;

Description

HeaderLen is an Integer member that represents the Length of the headers constructed for the encapsulated tunnel message.


TSender.Locker

TSender

Resource protection for the message.

Locker: TCriticalSection;

Description

Locker is a TCriticalSection member used to protect resources of the tunnel message during access by multiple threads.


TSender.Msg

TSender

Represents the content for the encapsulated tunnel message.

Msg: String;

Description

Msg is a PChar member that represents the content for the encapsulated tunnel message.


TSender.pMsg

TSender

Content of the encapsulated tunnel message.

pMsg: PChar;

Description

pMsg is a PChar member that represents the content of the encapsulated tunnel message including headers and data.


TSender.Create

TSender

Constructor for the object instance.

constructor Create;

Description

Create is the constructor for the object instance, and relies on the inherited Create method. Create also initializes object properties for the CRC calculator and HeaderLen. Create allocates the buffer used for pMsg.


TSender.Destroy

TSender

Free the object instance.

destructor Destroy; override;

Description

Destroy is the destructor for the object instance. Destroy frees pMsg and the CRC calculator for the object instance prior to calling the inherited Destroy method.


TSender.PrepareMsg

TSender

Constructs an encapsulated tunnel message.

procedure PrepareMsg(var Header: TIdHeader; buffer: PChar; buflen: Integer);

Parameters

var Header: TIdHeader

Container for encapsulation headers.

buffer: PChar

Data for the message.

buflen: Integer

Number of bytes to be included in the message.

Description

PrepareMsg is a procedure used to implement construction of the encapsulated tunnel message including headers with a CRC checksum value, and the message content.

Header is a container for the encapsulation headers for the message.

Buffer represents the message content used in the message construction.

BufLen is the number of bytes in Buffer to be included in the message.


TSlaveData

Hierarchy	Members	Fields	See Also	Unit: IdTunnelMaster

Represents a service thread for a tunnel server.

TSlaveData = class(TObject)

Description

TSlaveData is a TObject descendant used to represent sender, receiver, and user-defined information for a tunnel server service thread. TSlaveData instances are created when a tunnel server accepts a new connection in TIdTunnelMaster.DoConnect, and are stored in the TIdPeerThread.Data property for the new connection.

UserData can be used to stored any TObject descendant that has significance to the service thread for the tunnel server connection.


See Also

Technical Support


Class Hierarchy

TObject

|

TSlaveData


TSlaveData Fields

TSlaveData

TSlaveData

 Locker

 Receiver

 SelfDisconnected

 Sender

 UserData


TSlaveData Properties

TSlaveData


TSlaveData Events

TSlaveData


TSlaveData Methods

TSlaveData


TSlaveData Members

TSlaveData

Fields

 Locker

 Receiver

 SelfDisconnected

 Sender

 UserData


TSlaveData.Locker

TSlaveData

Protects thread resources in a multi-threaded application.

Locker: TCriticalSection;

Description

Locker is a TCriticalSection instance used to protect TSlaveData resources from simultaneous access by multiple threads on the tunnel server.

Locker is used by TIdTunnelMaster.SendMsg during data transformation and transmission of the message to the tunnel server.


TSlaveData.Receiver

TSlaveData	See Also

Represent the message recipient in a tunnel connection.

Receiver: TReceiver;

Description

Receiver is a TReceiver instance used to represent the recipient of a message in a tunnel connection.

Receiver is used by TIdTunnelMaster.DoExecute to retrieve a message for a tunnel connection and evaluate the message security filter, CRC value, and session state. Receiver also provides access to the UserID, IP address, IP port number in the headers for the message. Receiver also handles recombination of fragmented IP packets.


See Also

TReceiver


TSlaveData.SelfDisconnected

TSlaveData

Indicates that the service thread has been closed.

SelfDisconnected: Boolean;

Description

SelfDisconnected is a Boolean member that indicates the service thread has been closed for the tunnel connection.


TSlaveData.Sender

TSlaveData

Represents the message sender in a tunnel connection.

Sender: TSender;

Description

Sender is a TSender instance that is used to represent the sender of a message in a tunnel connection. Sender is used by TIdTunnelMaster.SendMsg to construct the header, CRC, and body of an encapsulated message for the tunnel connection.


TSlaveData.UserData

TSlaveData

Represents a storage slot for user-specified object instances.

UserData: TObject;

Description

UserData is a TObject member that provides storage for a TObject descendant pertinent to the service thread.


TSlaveThread

Hierarchy	Members	Fields	Properties	Methods	See Also	Unit: IdTunnelSlave

Implements a listening thread for communication with the tunnel master server.

TSlaveThread = class(TIdThread)

Description

TSlaveThread is a TIdThread descendant that implements a listening thread for the TIdTunnelSlave server.

TSlaveThread overrides the BeforeRun, AfterRun, Run, and Execute virtual methods, inherited from TIdPeerThread, that provide the Indy thread execution framework.

TSlaveThread keeps a reference, in SlaveParent, to the TIdTunnelSlave that owns the listening thread. SlaveParent provides the server context for accessing properties and method of the TIdTunnelSlave from the listening thread.

TSlaveThread keeps a reference to the TIdTCPClient connection that represents the tunnelled link to the TIdTunnelServer. The tunnel connection is established in the constructor for TSlaveThread, closed in Run, and Disconnected in the destructor.

When the TSlaveThread is executed in Run, it insures that the tunnel connection to the TIdTunnelMaster is active and ready to accept read and write operations. If an exception occurs, the connection is closed and the thread will terminate. If the exception is not EIdSocketError or EIdSocketClosed, the exception will be raised for the application.

TSlaveThread arbitrates data transformation for messages from the tunnel master server, as well as session connection and disconnection for client messages.


See Also

Technical Support


Class Hierarchy

TThread

|

TIdThread

|

TSlaveThread


TSlaveThread Fields

TSlaveThread

TSlaveThread

 Receiver

 SlaveParent


TSlaveThread Properties

TSlaveThread

TSlaveThread

 Connection

 Executed

TIdThread

 Data

 StopMode

 Stopped

 Terminated

 TerminatingException


TSlaveThread Events

TSlaveThread

TIdThread

 OnException


TSlaveThread Methods

TSlaveThread	Legend

TSlaveThread

 Create

 Destroy

 Execute

 Run

TIdThread

 Create

 Destroy

 Start

 Stop

 Synchronize

 TerminateAndWaitFor


Legend

 virtual


TSlaveThread Members

TSlaveThread	Legend

Fields

 Receiver

 SlaveParent

Properties

 Connection

 Executed

Methods

 Create

 Destroy

 Execute

 Run


Legend

 virtual


TSlaveThread.Receiver

TSlaveThread

Provides services for data from a client connection.

Receiver: TReceiver;

Description

Receiver is a public TReceiver variable used to provide access to data transformation, encapsulation headers, and CRC inspection for messages received from the client Connection.

Receiver is accessed from the BeforeRun method to determine if the client connection requires either session authentication or custom data interpretation.

Receiver is used in the Run method to construct the transformed data of a message, and to form the encapsulation headers for the custom message.


TSlaveThread.SlaveParent

TSlaveThread

Represents the server that arbitrates access to the tunnel connection.

SlaveParent: TIdTunnelSlave;

Description

SlaveParent is a public TIdTunnelSlave variable that contains a reference to the server that arbitrates access to the tunnel connection. SlaveParent is used to access method and properties of the TIdTunnelSlave to signal that the connection must be opened or closed. In addition, Run uses Slaveparent to reset statistics for the connection, to perform data transformation, and indicates that some client operation is required for a connection message.


TSlaveThread.Connection

TSlaveThread

Represents the client connection to the tunnel master server.

property Connection: TIdTCPClient;

Description

Connection is a read-only TIdTCPClient property that represents the client connection to a tunnel master server for the TIdTunnelSlave services by the thread.

Connection is used to gain access to the read buffer for the TCP connection while the slave thread is executing, and passes the read buffer as data for the Receiver.


TSlaveThread.Executed

TSlaveThread

Indicates that the thread has been Run using the Indy thread framework.

property Executed: Boolean;

Description

Executed is a Boolean property that indicates the thread has been Run using the Indy thread framework. Executed is updated from Execute at the completion of the Run method.


TSlaveThread.Create

TSlaveThread

Constructor for the object instance.

constructor Create(Slave: TIdTunnelSlave);

Parameters

Slave: TIdTunnelSlave

The TIdTunnelSlave serviced by the thread.

Description

Create is the reintroduced constructor for the object instance. Create initializes object properties that depend on the Slave parameter, including:

SlaveParent

Connection

OnTerminate

SlaveParent contains a reference to the Slave parameter. Connection is the internal TIdTCPClient for Slave. OnTerminate is assigned the event handler for the OnTunnelThreadTerminate event of Slave.

In addition, other thread properties are initialized to their default values, including:

FreeOnTerminate - False

Executed - False

StopMode - smTerminate

Create relies in the inherited Create constructor to initialize the thread in a suspended state.


TSlaveThread.Destroy

TSlaveThread

Frees the thread instance.

destructor Destroy; override;

Description

Destroy is the destructor for the thread instance. Destroy insures that Connection is disconnected and Receiver is freed prior to exiting from the method. Destroy also releases the critical section used to protect access to the Executed property.

Destroy relies on the inherited Destroy method to complete destruction of the thread instance.


TSlaveThread.Execute

TSlaveThread

Starts running the thread.

procedure Execute; override;

Description

Execute is a procedure used to activate the Indy thread execution framework. Execute relies in the inherited method to signal that the thread should Run.

Execute updates the Executed property prior to completion of the method.


TSlaveThread.Run

TSlaveThread

Provides the main thread of execution for the Indy thread framework.

procedure Run; override;

Description

Run is a procedure that provides the main thread of execution for the Indy thread framework. Run ensures that the client Connection is valid and ready to perform read operations.

Run captures incoming messages from the client connection and provide the data to Receiver for interpretation. Run remains active until the thread is terminated. When a new message is detected, Run verifies that the CRC for the message matched the CRC value in the encapsulation header. When the CRC values do not match, Run will raise an EIdException exception.

Run also allows the Slaveparent to perform data transformation using Receiver. If an error occurs during data transformation, Run will raise an EIdException exception.

Finally, Run performs the action specified in the message type header in Receiver. This action can include closing the client connection due to an error in either the data or the session, or allowing the client to receive the result of the tunnel transformation.


TSOARecord

Hierarchy	Members	Properties	Unit: IdDNSResolver

Represents a Start of Authority resource record from a DNS Query.

TSOARecord = class(TIdDNSResourceItem)

Description

TSOA is a TIdDNSResourceItem descendant that represents a Start of Authority resource record from a DNS query response.


Class Hierarchy

TCollectionITem

|

TIdDNSResourceItem

|

TSOARecord


TSOARecord Fields

TSOARecord

TIdDNSResourceItem

 AClass

 AType

 Name

 RData

 RDLength

 StarData

 TTL


TSOARecord Properties

TSOARecord

TSOARecord

 Expire

 Minimum

 MName

 Refresh

 Retry

 RName

 Serial


TSOARecord Events

TSOARecord


TSOARecord Methods

TSOARecord


TSOARecord Members

TSOARecord

Properties

 Expire

 Minimum

 MName

 Refresh

 Retry

 RName

 Serial


TSOARecord.Expire

TSOARecord

Authoritative zone timeout value.

property Expire: Cardinal;

Description

Expire is a 32-bit time value that specifies the upper limit on the time interval that can elapse before the zone is no longer authoritative.


TSOARecord.Minimum

TSOARecord

Minimum Time-To-Live for Resource Records in this Zone.

property Minimum: Cardinal;

Description

Minimum is an unsigned 32-bit minimum Time-To-Live field that should be exported with any Resource Record from this zone.


TSOARecord.MName

TSOARecord

Domain name of the primary name server for this zone.

property MName: string;

Description

MName is the domain name of the name server that was the original or primary source of data for this zone.


TSOARecord.Refresh

TSOARecord

Zone refresh time interval.

property Refresh: Cardinal;

Description

Refresh is a 32-bit time interval before the zone should be refreshed.


TSOARecord.Retry

TSOARecord

Time interval before retrying a failed refresh.

property Retry: Cardinal;

Description

Retry is a 32-bit time interval that should elapse before a failed refresh should be retried.


TSOARecord.RName

TSOARecord

E-Mail address of the person responsible for this zone.

property RName: string;

Description

RName is the E-Mail address of the person responsible for this zone.


TSOARecord.Serial

TSOARecord

Serial number of the original Zone transfer.

property Serial: Cardinal;

Description

Serial is an unsigned 32-bit version number of the original copy of the zone. Zone transfers preserve this value. This value wraps and should be compared using sequence space arithmetic.


TSocksInfo

Hierarchy	Members	Properties	Methods	See Also	Unit: IdSocks

Represents Socks support information.

TSocksInfo = class(TPersistent)

Description

TSocksInfo provides an intuitive interface for Socks support in an Indy TIdTCPClient.


See Also

Technical Support


Class Hierarchy

TPersistent

|

TSocksInfo


TSocksInfo Fields

TSocksInfo


TSocksInfo Properties

TSocksInfo	Legend

TSocksInfo

 Authentication

 Host

 Password

 Port

 UserID

 Version


Legend

 published


TSocksInfo Events

TSocksInfo


TSocksInfo Methods

TSocksInfo	Legend

TSocksInfo

 Assign

 Create


Legend

 virtual


TSocksInfo Members

TSocksInfo	Legend

Properties

 Authentication

 Host

 Password

 Port

 UserID

 Version

Methods

 Assign

 Create


Legend

 virtual

 published


TSocksInfo.Authentication

TSocksInfo

Authentication type for the Socks proxy connection.

property Authentication: TSocksAuthentication;

Description

Authentication is a TSocksAuthentication property that specifies the type of authentication required for the Socks proxy being used for the client connection. Authentication can contain one of these following values:

saNoAuthentication - No authentication is required

saUsernamePassword - User Name and Password authentication


TSocksInfo.Host

TSocksInfo

IP address for the Socks proxy.

property Host: string;

Description

Host is a String property that represents the host name or numeric IP address for a Socks proxy server.


TSocksInfo.Password

TSocksInfo

Represents the password for the Socks proxy connection.

property Password: string;

Description

Password is a String property that contains the authentication password for a connection to the Socks proxy server.


TSocksInfo.Port

TSocksInfo

Port number for the Socks proxy.

property Port: Integer;

Description

Port is an Integer property that represents the port number used to connect to the Socks proxy.


TSocksInfo.UserID

TSocksInfo

User name for the Socks proxy connection.

property UserID: string;

Description

UserID is a String property that represents the user name for authenticating a connection to the Socks proxy server.


TSocksInfo.Version

TSocksInfo

Socks protocol version for the connection.

property Version: TSocksVersion;

Description

Version is a TSocksVersion property that represents the Socks protocol version number required for the client connection to the Socks proxy server. Version may contain one of the following values:

svNoSocks - No socks functionality

svSocks4 - SOCKS version 4.0

svSocks4A - SOCKS version 4.0A

svSocks5 - SOCKS version 5.0


TSocksInfo.Assign

TSocksInfo

Copies property values into the object instance.

procedure Assign(Source: TPersistent); override;

Parameters

Source: TPersistent

Persistent class that is the source of the property values.

Description

Assign is a procedure used to copy the property values from the object instance specified by Source into the current object instance. Assign copies the following property values:

Authentication

Host

Password

Port

UserID

Version


TSocksInfo.Create

TSocksInfo

Constructor for the object instance.

constructor Create;

Description

Create is the constructor for the object instance. Create calls the inherited Create method, and initializes the following object properties to their default value:

Authentication - ID_SOCKS_AUTH

Version - ID_SOCKS_VER

Port - ID_SOCKS_PORT


TTelnetData

Hierarchy	Members	Fields	Unit: IdTelnetServer

Encapsulates storage for information used by a Telnet connection.

TTelnetData = class(TObject)

Description

TTelnetData is TObject descendant that provides storage for information used by a Telnet connection. TTelnetData is used by the OnAuthentication event handler to access user name and password information for the Telnet connection.


Class Hierarchy

TObject

|

TTelnetData


TTelnetData Fields

TTelnetData

TTelnetData

 HUserToken

 Password

 Username


TTelnetData Properties

TTelnetData


TTelnetData Events

TTelnetData


TTelnetData Methods

TTelnetData


TTelnetData Members

TTelnetData

Fields

 HUserToken

 Password

 Username


TTelnetData.HUserToken

TTelnetData

Unused property in TTelnetData.

HUserToken: cardinal;

Description

HUserToken is a Cardinal property that is an unused property in TTelnetData.


TTelnetData.Password

TTelnetData

Password for the Telnet connection.

Password: String;

Description

Password is a String property used to identify the password submitted from the Telnet connection. Password is used by TAuthenticationEvent to perform authentication for the Telnet connection.


TTelnetData.Username

TTelnetData

User name submitted for the Telnet connection.

Username: String;

Description

Username is a String property that identifies the user name submitted for the Telnet connection. Username is used by TAuthenticationEvent to perform authentication for the Telnet connection.


TWKSRecord

Hierarchy	Members	Properties	Unit: IdDNSResolver

Represents a Well Known Service Resource Record.

TWKSRecord = class(TIdDNSResourceItem)

Description

TWKSRecord is a TIdDNSResourceItem descendant used to provide access to the IP Address, Protocol, and Bits for WKS Resource Record from a DNS query response.


Class Hierarchy

TCollectionITem

|

TIdDNSResourceItem

|

TWKSRecord


TWKSRecord Fields

TWKSRecord

TIdDNSResourceItem

 AClass

 AType

 Name

 RData

 RDLength

 StarData

 TTL


TWKSRecord Properties

TWKSRecord

TWKSRecord

 Address

 Bits

 Protocol


TWKSRecord Events

TWKSRecord


TWKSRecord Methods

TWKSRecord


TWKSRecord Members

TWKSRecord

Properties

 Address

 Bits

 Protocol


TWKSRecord.Address

TWKSRecord

IP Address for the Well Known Service Host.

property Address: Cardinal;

Description

Address is a Cardinal property that is the IP address for a host represented as a 32 bit value.


TWKSRecord.Bits

TWKSRecord

Represents the port number bit fields for the Well Known Service.

property Bits [AIndex: Integer]: Byte;

Description

Bits is an indexed Byte property that represents the series of bits corresponding to IP Port numbers on a computer with bit 0 corresponding to port 0. Thus, if the computer supports Echo (Port 7), the 7th bit is set to 1 or if that bit is 0, Echo is not supported.


TWKSRecord.Protocol

TWKSRecord

Protocol for the Well Known Service host.

property Protocol: byte;

Description

Protocol is a read-only Byte property that specifies the IP protocol supported for the Well Know Service host. Protocol can be one of the following values:

0 Reserved

1 ICMP Internet Control Message

2 IGMP Internet Group Management

3 GGP Gateway-to-Gateway

4 Unassigned

5 ST Stream

6 TCP Transmission Control

7 UCL UCL

8 EGP Exterior Gateway Protocol

9 IGP any private interior gateway

10 BBN-RCC-MON BBN RCC Monitoring

11 NVP-II Network Voice Protocol

12 PUP PUP

13 ARGUS ARGUS

14 EMCON EMCON

15 XNET Cross Net Debugger

16 CHAOS Chaos

17 UDP User Datagram

18 MUX Multiplexing

19 DCN-MEAS DCN Measurement Subsystems

20 HMP Host Monitoring

21 PRM Packet Radio Measurement

22 XNS-IDP XEROX NS IDP

23 TRUNK-1 Trunk-1

24 TRUNK-2 Trunk-2

25 LEAF-1 Leaf-1

26 LEAF-2 Leaf-2

27 RDP Reliable Data Protocol

28 IRTP Internet Reliable Transaction

29 ISO-TP4 ISO Transport Protocol Class 4

30 NETBLT Bulk Data Transfer Protocol

31 MFE-NSP MFE Network Services Protocol

32 MERIT-INP MERIT Internodal Protocol

33 SEP Sequential Exchange Protocol

34-60 Unassigned

61 any host internal protocol

62 CFTP CFTP

63 any local network

64 SAT-EXPAK SATNET and Backroom EXPAK

65 MIT-SUBNET MIT Subnet Support

66 RVD MIT Remote Virtual Disk Protocol

67 IPPC Internet Pluribus Packet Core

68 any distributed file system

69 SAT-MON SATNET Monitoring

70 Unassigned

71 IPCV Internet Packet Core Utility

72-75 Unassigned

76 BR-SAT-MON Backroom SATNET Monitoring

77 Unassigned

78 WB-MON WIDEBAND Monitoring

79 WB-EXPAK WIDEBAND EXPAK

80-254 Unassigned

255 Reserved


AnsiSameText

Unit: IdGlobal

Performs a case-insensitive comparison of two Ansi strings.

function AnsiSameText(const S1: string; const S2: string): Boolean;

Parameters

const S1: string

The first string used in the comparison.

const S2: string

The second string used in the comparison.

Returns

Boolean - True when the strings are the same.

Description

AnsiSameText is a Boolean function used to perform a case-insensitive comparison of two strings using the locale for the current user on the local computer system.

AnsiSameText returns True if the strings are equal in lexical value, or False when the strings do not share the same collation order value.

AnsiSameText encapsulates the platform-specific procedures and functions used to perform string comparisons. On the Windows platform, the WIN32 API function used is CompareString.


Base64Encode

See Also	Unit: IdCoder3To4

Performs a Base64 encoding operation.

function Base64Encode(const s: String): String;

Description

Base64Encode is a String function that performs a Base64 encoding operation for the value specified in s. The return value for Base64Encode is the 7-bit ASCII representation of the input value.


See Also

TIdBase64Encoder


CommaSeperatedToStringList

Unit: IdGlobal

Fills a string list with values from a comma-delimited string.

procedure CommaSeperatedToStringList(AList: TStrings; const Value: string);

Parameters

AList: TStrings

List to store the values.

const Value: string

String containing comma-delimited values.

Description

CommaSeperatedToStringList is a procedure used to fill the TStringList AList parameter with the values from the Value parameter.

AList is cleared prior to adding values in the procedure.

Value is a comma-delimited list of values to loaded in the TStringList. Value can contain items that include the comma separator by using double quotation marks to enclosed the item. For example:

'Item One, "Item Two, with comma", Item Three'


CopyFileTo

Unit: IdGlobal

Copies the source file to the destination file.

function CopyFileTo(const Source: string; const Destination: string): Boolean;

Parameters

const Source: string

Source file name.

const Destination: string

Destination file name.

Returns

Boolean - True if the file is copied, False on error.

Description

CopyFileTo is a function used to copy the file specified in Source to the file specified in Destination.

CopyFileTo will return False if the file in Destination already exists.

CopyFileTo encapsulates the platform-specific calls needed to perform the file copy operation. On the Windows platform, this is the Win32 API function CopyFile. On the Linux platform, CopyFileTo uses a TFileStream instance to create the destination file.


CurrentProcessId

See Also	Unit: IdGlobal

Determines the process ID for the calling program.

function CurrentProcessId: TIdPID;

Returns

TIdPID - Indy Process ID for the current program.

Description

CurrentProcessId is a TIdPID function used to determine the Process Identifier for the calling program.

CurrentProcessID encapsulates the platform-specific procedures or functions needed to retrieve the current process identifier. For the Windows platform, this is the WIN32 API function GetCurrentProcessId. On the Linux platform, CurrentProcessID returns the valued from the library function getpid.


See Also

TIdPID


DateTimeToGmtOffSetStr

See Also	Unit: IdGlobal

Retrieves the GMT time offset for a date/time value.

function DateTimeToGmtOffSetStr(ADateTime: TDateTime; SubGMT: Boolean): string;

Parameters

ADateTime: TDateTime

Value to be converted to a GMT offset string.

SubGMT: Boolean

Add the prefix "GMT" to the return value.

Returns

String - The offset from GMT time as a string.

Description

DateTimeToGmtOffSetStr is a String function used to return the time difference for the ADateTime parameter as an Internet Time difference string.

ADateTime is the native Date/Time value to be converted.

SubGMT indicates that the return value should contain the prefix "GMT" prior to the time difference string. When SubGMT is True, the prefix is added to the time difference string, otherwise the prefix is omitted.

To convert an Internet GMT different to a TDateTime, use the GmtOffsetStrToDateTime function.


See Also

GmtOffsetStrToDateTime


DateTimeToInternetStr

See Also	Unit: IdGlobal

Converts a native date time value to an Internet timestamp.

function DateTimeToInternetStr(const Value: TDateTime): String;

Parameters

const Value: TDateTime

The date/time value to be converted.

Returns

String - Representation of Value as an Internet timestamp.

Description

DateTimeToInternetStr is a String function used to convert the native date/time value in Value to a string representing an Internet timestamp.

To convert a value from an Internet Time stamp to a TDateTime, use the StrInternetToDateTime function.


See Also

StrInternetToDateTime


DebugOutput

Unit: IdGlobal

Sends a string to the system debugger.

procedure DebugOutput(const AText: string);

Parameters

const AText: string

Value to be sent to the debugger.

Description

DebugOutput is a procedure used to send the string in AText to either the active debugger for a process, or the system debugger. If there is no active debugger for the current application, DebugOutput has no effect.

DebugOutput encapsulates the platform-specific calls needed to send the string to the debugger for the current application. For the Windows platform, the WIN32 API procedure is OutputDebugString. On the Linux platform, DebugOutput writes the message followed by CRLF to the standard error handle (StdErr).


Decode2022JP

Unit: IdHeaderCoder

Converts Shift_JIS to ISO-2022-JP character set encoding.

function Decode2022JP(const S: string): string;

Parameters

const S: string

Values to be converted.

Returns

String - Values in ISO-2022-JP character set.

Description

Decode2022JP is a String function that converts Shift_JIS character set encodings to the ISO-2022-JP character set, in accordance with the operation described in the Internet Standards document:

RFC 1468


DecodeAddress

Unit: IdHeaderCoder

Decodes an email address.

procedure DecodeAddress(EMailAddr: TIdEmailAddressItem);

Parameters

EMailAddr: TIdEmailAddressItem

Email address to be decoded.

Description

DecodeAddress is a procedure that decodes the header representation of an email name specified in EMailAddr.


DecodeAddresses

Unit: IdHeaderCoder

Decodes an email address list.

procedure DecodeAddresses(AEMails: String; EMailAddr: TIdEmailAddressList);

Description

DecodeAddresses is a procedure that decodes the RFC-822 list of email address specified in AEMails into the TIdEmailAddressList specified in EMailAddr. DecodeAddresses calls DecodeAddress to perform decoding for an individual email address.


DecodeHeader

Unit: IdHeaderCoder

Decodes header name and values using the charset for the encoding.

function DecodeHeader(Header: string): string;

Parameters

Header: string

Raw header values to be decoded.

Returns

String - Decoded language specific value.

Description

DecodeHeader is a String function used to extract names and values from quoted-printable or base-64 encoded headers. DecodeHeader will examine the encoded header for the charset used for the content, and perform the corresponding language decoding.


Encode2022JP

Unit: IdHeaderCoder

Converts Shift_JIS to ISO-2022-JP character set encoding.

function Encode2022JP(const S: string): string;

Parameters

const S: string

Values to be converted.

Returns

String - Values in ISO-2022-JP character set.

Description

Decode2022JP is a String function that converts Shift_JIS character set encodings to the ISO-2022-JP character set, in accordance with the operation described in the Internet Standards document:

RFC 1468


EncodeAddress

Unit: IdHeaderCoder

Converts a list email address to an RFC 822 email list.

function EncodeAddress(EmailAddr: TIdEMailAddressList; const HeaderEncoding: Char; TransferHeader: TTransfer; MimeCharSet: string): string;

Parameters

EmailAddr: TIdEMailAddressList

List of email addresses to convert.

const HeaderEncoding: Char

Header encoding scheme.

TransferHeader: TTransfer

Transfer encoding scheme.

MimeCharSet: string

Charset for the encodings.

Returns

String - RFC 822 email list.

Description

EncodeAddress is a String function used to encode the TIdEMailAddressList email addresses specified in EmailAddr to an RFC 822-compliant list of email addresses.

EncodeAddress calls EncodeAddressItem to perform encoding for an individual email address in the list.


EncodeAddressItem

Unit: IdHeaderCoder

Encoded an email address using content, transfer, and character set encodings.

function EncodeAddressItem(EmailAddr: TIdEmailAddressItem; const HeaderEncoding: Char; TransferHeader: TTransfer; MimeCharSet: string): string;

Parameters

EmailAddr: TIdEmailAddressItem

Email Address to be encoded.

const HeaderEncoding: Char

Content type encoding scheme.

TransferHeader: TTransfer

Transfer encoding scheme.

MimeCharSet: string

Character set for the encoding.

Returns

String - Encoded email address.

Description

EncodeAddressItem is a String function that performs encoding of the Email address specific in EmailAddr using the specified content type and transfer encodings for a given character set.

EncodeAddressItem will perform character quoting for the special characters '' and '"'.


EncodeHeader

Unit: IdHeaderCoder

Encode a header containing non-ASCII characters.

function EncodeHeader(const Header: string; specials: CSET; const HeaderEncoding: Char; TransferHeader: TTransfer; MimeCharSet: string): string;

Parameters

const Header: string

Header to be encoded.

specials: CSET

Set of special characters that require encoding.

const HeaderEncoding: Char

Header encoding identification character.

TransferHeader: TTransfer

transfer encoding scheme.

MimeCharSet: string

Character set for the encoding.

Returns

String - Encoded header value.

Description

EncodeHeader is a String function that performs encoding for a header field when the header contains non-ASCII characters.


FD_CLR

Unit: IdWinsock

procedure FD_CLR(Socket: TSocket; var FDSet: TFDSet);

Description

The text for this function has been generated automatically. This means that it is not documented.


FD_ISSET

Unit: IdWinsock

function FD_ISSET(Socket: TSocket; var FDSet: TFDSet): Boolean;

Description

The text for this function has been generated automatically. This means that it is not documented.


FD_SET

Unit: IdWinsock

procedure FD_SET(Socket: TSocket; var FDSet: TFDSet);

Description

The text for this function has been generated automatically. This means that it is not documented.


FD_ZERO

Unit: IdWinsock

procedure FD_ZERO(var FDSet: TFDSet);

Description

The text for this function has been generated automatically. This means that it is not documented.


Fetch

Unit: IdGlobal

Parses a value from the delimited input string.

function Fetch(var AInput: string; const ADelim: string; const ADelete: Boolean): string;

Parameters

var AInput: string

Value to be parsed.

const ADelim: string = ' '

Delimiter character(s). Default value is CHAR32 (' ').

const ADelete: Boolean = true

Remove the parsed value from the input string. Default value is True.

Returns

String - Value parsed from the input string.

Description

Fetch is a String function that is used to parse the string in AInput up to the delimiter character(s) in ADelim.

ADelim may contain a single character, a sequence of characters, or the value CHAR0 (Null string).

Fetch can optionally delete the parsed value from AInput when ADelete is True. When ADelete is True, both the parsed value and the delimiter character(s) are removed from the input string AInput.


FileSizeByName

Unit: IdGlobal

Retrieves the size a file.

function FileSizeByName(sFilename: string): cardinal;

Parameters

sFilename: string

The file name to be examined.

Returns

Cardinal - Size of the file.

Description

FileSizeByName is a Cardinal function used to determine the size of the file specified in sFilename.

FileSizeByName is an OS-independent mechanism used to determine the size of an Operating System file, and uses TFileStream.Size to determine the number of bytes returned by the function.


FreeAndNil

Unit: IdGlobal

Frees an object reference and replaces the reference with Nil.

procedure FreeAndNil(var Obj);

Parameters

var Obj

Object reference to be freed and Nil'd.

Description

FreeAndNil is a procedure used to free the object reference specified by Obj, and sets the object reference to the Nil value.

Use FreeAndNil to ensure that a variable is Nil after you free the object it references. Pass any variable that represents an object as the Obj parameter.

Note:  Do not pass a value for Obj if it is not an instance of TObject or a TObject descendant.

FreeAndNil is a convenience procedure provided for Delphi or C++ Builder products using a VCL version prior to VCL 5.


GetMIMETypeFromFile

See Also	Unit: IdGlobal

Retrieves the MIME type for a given file.

function GetMIMETypeFromFile(AFile: TFileName): string;

Parameters

AFile: TFileName

Name of the file to examine for the MIME type.

Returns

String - The MIME type for the specified file.

Description

GetMIMETypeFromFile is a String function used to determine the MIME type for the file specified in AFile.

GetMIMETypeFromFile uses a TIdMIMETable to determine the registered MIME type for the specified file.


See Also

TIdMimeTable


GetQClassStr

Unit: IdDNSResolver

Retrieves the name for a resource class.

function GetQClassStr(QClass: Integer): String;

Parameters

QClass: Integer

Resource class used to construct the resource class name.

Returns

String - Name for the resource class type.

Description

GetQClassStr is a String function that retrieves the name for the resource class specified in QClass. Get GetQClassStr uses the constant array cQClassStr to retrieve the name for the resource class type. When QClass contains an unknown resource class, the string representation of the Integer value is returned.


GetQTypeStr

Unit: IdDNSResolver

Retrieves the name for a resource type.

function GetQTypeStr(aQType: Integer): String;

Parameters

aQType: Integer

Resource type value.

Returns

String - Name for the resource type.

Description

GetQTypeStr is a String function that retrieves the name for the resource type specified in aQType. When aQType contains an unknown resource type value, the string representation of the Integer value is returned.


GetSystemLocale

Unit: IdGlobal

Retrieves the character set for the local computer system.

function GetSystemLocale: TCharSet;

Returns

TCharset - Character set for the local computer system.

Description

GetSystemLocale is a TCharset function used to retrieve the character set for the local computer system.

For the Windows platform, GetSystemLocale uses the SysLocale values for PriLangID and SubLangID to determine the character set in use. On Windows, GetSystemLocale will return the following:

Chinese - csBig5 or csGB2312 when SubLangID is SUBLANG_CHINESE_SIMPLIFIED

Japanese - csIso2022jp

Korean - csEucKR

Default - csIso88591

For the Linux platform, GetSystemLocale uses the GSystemLocal variable to determine the character set for the local computer system.


GetTickCount

Unit: IdGlobal

Retrieves the number of milliseconds since the computer was started.

function GetTickCount: Cardinal;

Returns

Cardinal - Number of milliseconds (ticks).

Description

GetTickCount is a Cardinal function used to retrieve the number of milliseconds since the computer was started.

GetTickCount is often used when calculating the response times for Indy components such as TIdEcho and TIdTime.

GetTickCount encapsulates the platform-specific calls necessary to provide a high resolution timer for fixed duration events. On the Windows platform, the function used is Windows.GetTickCount. On the Linux platform, GetTickCount uses the library function clock adjusted to thousandths of CLOCKS_PER_SECs.


GmtOffsetStrToDateTime

See Also	Unit: IdGlobal

Converts an Internet time difference string to a native date/time value.

function GmtOffsetStrToDateTime(S: string): TDateTime;

Parameters

S: string

The Internet time difference string to be converted.

Returns

TDateTime - Native date/time representation of the time difference string.

Description

GmtOffsetStrToDateTime is a TDateTime function used to convert the Internet time difference string in S to a native TDateTime value.

The return value for GmtOffsetStrToDateTime will contain the time difference from S encoded as a TDateTime value, and can contain either a positive or a negative number of offset hours.

The return value for GmtOffsetStrToDateTime can be 0.0 if an error occurs during calculation of the offset value.

GmtOffsetStrToDateTime can be used to create a value that can be added to a TDateTime value expressed in another time zone, to adjust to the local time zone.

To convert a TDateTime to an Internet Time difference, use the DateTimeToGmtOffSetStr function.


See Also

DateTimeToGmtOffSetStr


GMTToLocalDateTime

Unit: IdGlobal

Converts a GMT time string to the local time.

function GMTToLocalDateTime(S: string): TDateTime;

Parameters

S: string

GMT time string.

Returns

TDateTime - Local date time as a Delphi data type.

Description

GMTToLocalDateTime is a TDateTime function that converts an Internet date/time string expressed in GMT or UTC format to a native Delphi TDateTime data type.

The string S contains the GMT representation of the date/time, in the following format:

  Sun 15 Oct 2000 12:42:15 -0500


IdPorts

Unit: IdGlobal

Provides a list of port numbers defined for services.

function IdPorts: TList;

Returns

TList - List of integer port numbers.

Description

IdPorts is a TList function used to provide a list of the integer port numbers defined for services on the protocol stack. IdPorts will initialize the application variable FIdPorts, if it has not been loaded, with the port numbers defined for the local computer system.

IdPorts can raise an EIdCorruptServicesFile exception when the protocol family cannot be determined for a services entry.

Note: Do not free the TList returned by IdPorts. This list is freed by the finalization code in the IdGlobal.pas unit.


IdRawBuildArp

Unit: IdRawFunctions

Builds a datagram using ARP headers and message formats.

function IdRawBuildArp(AHwAddressFormat: word; AProtocolFormat: word; AHwAddressLen: byte; AProtocolLen: byte; AnOpType: word; ASenderHw: TIdEtherAddr; ASenderPr: TIdInAddr; ATargetHw: TIdEtherAddr; ATargetPr: TIdInAddr; const APayload; APayloadSize: integer; var ABuffer): boolean;


IdRawBuildDns

Unit: IdRawFunctions

Builds a datagram with DNS headers and message formats.

function IdRawBuildDns(AnId: word; AFlags: word; ANumQuestions: word; ANumAnswerRecs: word; ANumAuthRecs: word; ANumAddRecs: word; const APayload; APayloadSize: integer; var ABuffer): boolean;


IdRawBuildEthernet

Unit: IdRawFunctions

Builds a datagram using Ethernet headers and message formats.

function IdRawBuildEthernet(ADest: TIdEtherAddr; ASource: TIdEtherAddr; AType: word; const APayload; APayloadSize: integer; var ABuffer): boolean;


IdRawBuildIcmpEcho

Unit: IdRawFunctions

Builds a datagram with ICMP Echo headers and message formats.

function IdRawBuildIcmpEcho(AType: byte; ACode: byte; AnId: word; ASeq: word; const APayload; APayloadSize: integer; var ABuffer): boolean;


IdRawBuildIcmpMask

Unit: IdRawFunctions

Builds a datagram using ICMP headers and ICMP Mask message formats.

function IdRawBuildIcmpMask(AType: byte; ACode: byte; AnId: word; ASeq: word; AMask: longword; const APayload; APayloadSize: integer; var ABuffer): boolean;


IdRawBuildIcmpRedirect

Unit: IdRawFunctions

Builds a datagram using ICMP headers and ICMP Gateway message formats.

function IdRawBuildIcmpRedirect(AType: byte; ACode: byte; AGateway: TIdInAddr; AnOrigLen: word; AnOrigTos: byte; AnOrigId: word; AnOrigFrag: word; AnOrigTtl: byte; AnOrigProtocol: byte; AnOrigSource: TIdInAddr; AnOrigDest: TIdInAddr; const AnOrigPayload; APayloadSize: integer; var ABuffer): boolean;


IdRawBuildIcmpTimeExceed

Unit: IdRawFunctions

Builds a datagram using ICMP headers and ICMP TIme Exceeded message formats.

function IdRawBuildIcmpTimeExceed(AType: byte; ACode: byte; AnOrigLen: word; AnOrigTos: byte; AnOrigId: word; AnOrigFrag: word; AnOrigTtl: byte; AnOrigProtocol: byte; AnOrigSource: TIdInAddr; AnOrigDest: TIdInAddr; const AnOrigPayload; APayloadSize: integer; var ABuffer): boolean;


IdRawBuildIcmpTimestamp

Unit: IdRawFunctions

Builds a datagram using ICMP headers and Timestamp message formats.

function IdRawBuildIcmpTimestamp(AType: byte; ACode: byte; AnId: word; ASeq: word; AnOtime: TIdNetTime; AnRtime: TIdNetTime; ATtime: TIdNetTime; const APayload; APayloadSize: integer; var ABuffer): boolean;


IdRawBuildIcmpUnreach

Unit: IdRawFunctions

Builds a datagram using ICMP headers and ICMP Unreachable message formats.

function IdRawBuildIcmpUnreach(AType: byte; ACode: byte; AnOrigLen: word; AnOrigTos: byte; AnOrigId: word; AnOrigFrag: word; AnOrigTtl: byte; AnOrigProtocol: byte; AnOrigSource: TIdInAddr; AnOrigDest: TIdInAddr; const AnOrigPayload: integer; const APayloadSize: integer; var ABuffer): boolean;


IdRawBuildIgmp

Unit: IdRawFunctions

Builds a datagram using IGMP headers and message formats.

function IdRawBuildIgmp(AType: byte; ACode: byte; AnIp: TIdInAddr; const APayload: integer; const APayloadSize: integer; var ABuffer): boolean;


IdRawBuildIp

Unit: IdRawFunctions

Builds a datagram using IP headers and message formats.

function IdRawBuildIp(ALen: word; ATos: byte; AnId: word; AFrag: word; ATtl: byte; AProtocol: byte; ASource: TIdInAddr; ADest: TIdInAddr; const APayload; APayloadSize: integer; var ABuffer): boolean;


IdRawBuildRip

Unit: IdRawFunctions

Builds a datagram using RIP headers and message formats.

function IdRawBuildRip(ACommand: byte; AVersion: byte; ARoutingDomain: word; AnAddressFamily: word; ARoutingTag: word; AnAddr: longword; AMask: longword; ANextHop: longword; AMetric: longword; const APayload; APayloadSize: integer; var ABuffer): boolean;


IdRawBuildTcp

Unit: IdRawFunctions

Builds a datagram using TCP headers and message formats.

function IdRawBuildTcp(ASourcePort: word; ADestPort: word; ASeq: longword; AnAck: longword; AControl: byte; AWindowSize: word; AnUrgent: word; const APayload: integer; const APayloadSize: integer; var ABuffer): boolean;


IdRawBuildUdp

Unit: IdRawFunctions

Builds a datagram using UDP headers and message formats.

function IdRawBuildUdp(ASourcePort: word; ADestPort: word; const APayload; APayloadSize: integer; var ABuffer): boolean;


IncludeTrailingBackSlash

Unit: IdGlobal

Builds a path string that includes a trailing path delimiter.

function IncludeTrailingBackSlash(const APath: string): string;

Parameters

const APath: string

The initial path string.

Returns

String - Path including the trailing path delimiter.

Description

IncludeTrailingBackSlash is a String function used to construct a path that includes a trailing path delimiter.

IncludeTrailingBackSlash encapsulates the platform-specific procedures or functions used to build a path string using the platform-specific path delimiter character.

IncludeTrailingBackSlash is a convenience function provided for Delphi or C++ Builder products using a VCL version prior to VCL 5.


IncQWord

Unit: IdCoder

Increments a Word value in a TQWord instance.

procedure IncQWord(var QWord: TQWord; IncVal: LongWord);

Parameters

var QWord: TQWord

Quad word value to increment.

IncVal: LongWord

Increment amount.

Description

IncQWord is a procedure used to increment the TQWord specified in QWord by the LongWord value in IncVal.


InfoCallback

Unit: IdSSLOpenSSL

Allows the SSL socket to perform status notifications.

procedure InfoCallback(sslSocket: PSSL; where: Integer; ret: Integer);

Description

InfoCallback is a procedure used to retrieve application data and status information for a client or server SSL socket. InfoCallback allow the owner of the SSL socket to call it's DoStatusInfo event when the callback is received.


InitializeMime

Unit: IdHeaderCoder

Initializes the default MIME values for the locale of the local PC.

procedure InitializeMime(var TransferHeader: TTransfer; var HeaderEncoding: char; var MimeCharSet: string);

Parameters

var TransferHeader: TTransfer

Transfer encoding scheme.

var HeaderEncoding: char

Header encoding scheme.

var MimeCharSet: string

Character set for the local system.

Description

InitializeMime is a procedure the specified parameter variables to the MIME values for the Locale for the local computer. TransferHeader is set to 8-bit encoding. HeaderEncoding is set to the Base64 encoding scheme. MimeCharSet is set to the value returned by GetSystemLocale.


InMainThread

See Also	Example 1	Unit: IdGlobal

Indicates if the current thread is the main thread of the application.

function InMainThread: boolean;

Returns

Boolean - True if the current thread is the main thread of execution.

Description

InMainThread is a Boolean function that identifies if the current thread represents the main thread of execution in an application.

InMainThread isolates the Indy developer for the platform-specific calls needed to identify the current thread and the application main thread. For WIN32, these calls are GetCurrentThreadID and MainThreadID.

InMainThread is used by TIdAntiFreeze to implement DoProcess functionality.


See Also

TIdAntiFreezeBase.DoProcess

TIdAntiFreeze.Process


InMainThread, Example 1
Example 1

InMainThread

  if (GAntiFreeze <> nil) and InMainThread then

  begin

    if ((not GAntiFreeze.OnlyWhenIdle) or AIdle or AOverride) and

      GAntiFreeze.Active then GAntiFreeze.Process;

  end;


IntToBin

Unit: IdGlobal

Returns a binary string representation for an Integer value.

function IntToBin(Value: cardinal): string;

Parameters

Value: cardinal

Cardinal value to be converted.

Returns

String - Binary representation of the Integer value.

Description

IntToBin is a String function used to construct a binary representation of a 32-bit Integer value. The return value for IntToBin will contain a string of "0" or "1" characters for each of the bits in the integer Value.


IsCurrentThread

See Also	Example 1	Unit: IdGlobal

Indicates if the thread is the current thread of execution.

function IsCurrentThread(AThread: TThread): boolean;

Parameters

AThread: TThread

Thread to be examined.

Returns

Boolean - True if the thread in AThread is the current thread of execution.

Description

IsCurrentThread is a Boolean function that identifies if the thread in AThread is the current thread of execution in a multithreaded application.

IsCurrentThread isolates the Indy developer for the platform-specific calls needed to identify the current thread of execution in the application. For WIN32, this call is GetCurrentThreadID.

IsCurrentThread compares the ThreadID for AThread to the value returned by GetCurrentThreadID to determine its return value.

IsCurrentThread is used by TIdThreadMgr descendants, TIdThreadMgrDefault and TIdThreadMgrPool, to implement ReleaseThread functionality.


See Also

TIdThreadMgr

TIdThreadMgrDefault

TIdThreadMgrPool


IsCurrentThread, Example 1
Example 1

IsCurrentThread

  if IsCurrentThread(AThread) then

    AThread.FreeOnTerminate := True

  else begin

    AThread.TerminateAndWaitFor;

    AThread.Free;

  end;


IsNumeric

Unit: IdGlobal

Determines if a character is a numeric digit.

function IsNumeric(c: char): Boolean;

Parameters

c: char

Character to be examined.

Returns

Boolean - True if the character is a numeric digit.

Description

IsNumeric is a Boolean function that indicates if the character in c contains a numeric digit in the range '0'..'9'.


LoadWinsock

Unit: IdWinsock

procedure LoadWinsock;

Description

The text for this function has been generated automatically. This means that it is not documented.


LogicalAnd

Unit: IdSSLOpenSSL

Performs a logical AND for Integer arguments.

function LogicalAnd(A: Integer; B: Integer): Boolean;

Parameters

A: Integer

Base value.

B: Integer

Mask Value.

Returns

Boolean - Result of the Logical AND operation.

Description

LogicalAnd is a Boolean function that returns the result of a logical AND operation for the Integer arguments A and B. LogicalAnd returns True when (A and B) = B.


MakeAckPkt

Unit: IdTrivialFTPBase

Construct a TFTP acknowledgement packet.

function MakeAckPkt(const BlockNumber: Word): string;

Parameters

const BlockNumber: Word

Block number to be acknowledged.

Returns

String - Packet created for the protocol.

Description

MakeAckPkt is a String function used to construct and populate an acknowledgement packet used by the TrivialFTP protocol. The acknowledgement packet contains the TFTP_ACK OpCode and the value from BlockNumber.


MakeTempFilename

Unit: IdGlobal

Constructs a unique name for a temporary file.

function MakeTempFilename: string;

Returns

String - The unique temporary file name.

Description

MakeTempFilename is a String function used to construct a unique file name for a temporary file.

MakeTempFilename uses the variable ATempPath to store the path portion of the temporary file name, and constructs the file name using the prefix " "Indy".

MakeTempFilename encapsulates the platform-specific procedures and functions used to construct a unique file name for an Operating System file. For the Windows platform, the WIN32 API function used is GetTempFileName. On the Linux platform, tempnam is called to create the temporary file name.


Max

See Also	Unit: IdGlobal

Determines the larger of two Integer values.

function Max(AValueOne: Integer; AValueTwo: Integer): Integer;

Parameters

AValueOne: Integer

The first Integer value.

AValueTwo: Integer

The second Integer value.

Returns

Integer - The larger of the two Integer values.

Description

Max is an Integer function used to determine the larger of two Integer values. Max is provided to avoid any dependency on the Borland Math.pas unit.


See Also

Min


Min

See Also	Unit: IdGlobal

Determines the smaller of two Integer values.

function Min(AValueOne: Integer; AValueTwo: Integer): Integer;

Parameters

AValueOne: Integer

The first Integer value.

AValueTwo: Integer

The second Integer value.

Returns

Integer - The smaller of the two Integer values.

Description

Min is an Integer function used to determine the smaller of two Integer values. Min is provided to avoid any dependency on the Borland Math.pas unit.


See Also

Max


OffsetFromUTC

Unit: IdGlobal

Determines the local timezone offset from UTC.

function OffsetFromUTC: TDateTime;

Returns

TDateTime - Native date and time value that is the hour offset from UTC.

Description

OffsetFromUTC is a TDateTime function that returns a native date/time value that is the number of hours that the local timezone differs from a date/time expressed in Universal Time Coordinate (UTC).

OffsetFromUTC is often used to determine the time offset for regions and localities that are subject to Daylight Savings Time conventions.

OffsetFromUTC can generate an EIdFailedToRetreiveTimeZoneInfo when the timezone cannot be determined.

Note: On the Linux platform, OffsetFromUTC uses the value in GOffsetFromUTC as the difference from UTC time coordinates.


ParseNewsGroup

Unit: IdNNTP

Parses a newsgroup from a list of newsgroups.

procedure ParseNewsGroup(ALine: String; var ANewsGroup: String; var AHi: Cardinal; var ALo: Cardinal; var AStatus: String);

Parameters

ALine: String

String received by the server.

var ANewsGroup: String

Lowest index number for an available article.

var AHi: Cardinal

Highest index number for an available article.

var ALo: Cardinal

Status of a newsgroup.

var AStatus: String

Description

ParseNewsGroup is a procedure that parses a newsgroup list item from server data retrieved using GetNewsgroupList or GetNewGroupsList method with the AList parameter.

AType is set to the newsgroup type which is usually one of these values:

y - Posting permitted

n - Read-Only (no posting permitted)

m - Moderated

Note: If ALow is greater than AHigh, no articles are available for that newsgroup.


ParseURI

See Also	Unit: IdGlobal

Parses the components of a URL.

procedure ParseURI(URI: string; Var Protocol: string; Var Host: string; Var path: string; Var Document: string; Var Port: string; Var Bookmark: string);

Parameters

URI: string

The URI to be parsed.

Var Protocol: string

The Internet protocol used to access the resource.

Var Host: string

The server or computer where the resource is located.

Var path: string

The relative path of the resource.

Var Document: string

The name of the resource.

Var Port: string

Port used to access the resource.

Var Bookmark: string

anchor pointing to a location in a HTML document (used internally by web-browsers).

Description

ParseURI is a procedure used to parse the value in URI, and return the component parts of the UTL in the variable parameters Protocol, Host, Path, Document, Port and Bookmark.

ParseURI uses an instance of TIdURI to perform the parses on component values.


See Also

TIdURI


ParseXOVER

Unit: IdNNTP

Parses data received from the SendXOVER method.

procedure ParseXOVER(Aline: String; var AArticleIndex: Cardinal; var ASubject: String; var AFrom: String; var ADate: TDateTime; var AMsgId: String; var AReferences: String; var AByteCount: Cardinal; var ALineCount: Cardinal; var AExtraData: String);

Parameters

Aline: String

Article's index number on the server.

var AArticleIndex: Cardinal

Article's subject.

var ASubject: String

Article's From header.

var AFrom: String

Article's date.

var ADate: TDateTime

Article's Message ID.

var AMsgId: String

Article's References header used for threaded article displays.

var AReferences: String

Number of bytes in the article.

var AByteCount: Cardinal

Number of lines in the body of the article.

var ALineCount: Cardinal

Additional XOVER data returned by some news servers.

var AExtraData: String

Description

ParseXOVER is a procedure that parses a line of XOVER data (Aline) retrieved using the SendXOVER method.


PasswordCallback

Unit: IdSSLOpenSSL

Performs authentication notifications for an SSL context.

function PasswordCallback(buf: PChar; size: Integer; rwflag: Integer; userdata: Pointer): Integer;

Parameters

buf: PChar

password from the callback.

size: Integer

number of bytes in the password.

rwflag: Integer

read write flag.

userdata: Pointer

SSL context for the callback.

Returns

Integer - Length of the password.

Description

PasswordCallback is an Integer function that allows an SSL context to authentication callback notifications for the client or server SSL context specified in userdata. buf will contain the result of the authentication process.


PosInStrArray

Unit: IdGlobal

Searches an array of strings for an occurrence of the search string.

function PosInStrArray(SearchStr: string; Contents: array of string; const CaseSensitive: Boolean): Integer;

Parameters

SearchStr: string

The value to find in the array of strings.

Contents: array of string

- The array of strings to be searched.

const CaseSensitive: Boolean = True

Use case sensitivity, Default value is True.

Returns

Integer - Position of the search string in the array, or -1 when not found.

Description

PosInStrArray is an Integer function used find the first occurrence of the search string specified in SearchStr in the array Contents.

The lower and upper limits of the array Contents is determined using the Low and High functions.

When CaseSensitive is True, the values in SearchStr and the current array element must be an exact match. When CaseSensitive is False, the function AnsiSameText is used to compare SearchStr to the string in the current array position.

The return value for the PosInStrArray function will be -1 if the search string does not exist in Contents.


RegisterCoderClass

Unit: IdCoder

Identifies and Adds a coder to the coder collection.

procedure RegisterCoderClass(ClassType: CIdCoder; CoderType: Byte; CoderPriority: Byte; ContentType: String; ContentTransferEncoding: String);

Parameters

ClassType: CIdCoder

Coder class instance for the coder.

CoderType: Byte

Coder operation performed.

CoderPriority: Byte

Coder threading priority.

ContentType: String

Content type handled by this coder.

ContentTransferEncoding: String

Transfer encoding handled by this coder.

Description

RegisterCoderClass is a procedure that allows registration of a coder class instance in Indy. RegisterCoderClass adds a new instance to the coder collection with the values specified in the parameters ClassType, CoderType, CoderPriority, ContentType, and ContentTransferEncoding. RegisterCoderClass allows simultaneous thread execution of coders, and reuse of registered coder class instances.


ReturnMIMEType

Unit: IdMIMETypes

Constructs the MIME media type, subtype and encoding for the file.

function ReturnMIMEType(var MediaType: String; var EncType: String): Boolean;

Parameters

var MediaType: String

Media type and subtype for the file.

var EncType: String

Encoding for the file.

Returns

Boolean - True when MIME type is found, False when not found.

Description

ReturnMIMEType is a Boolean function that constructs the complete MIME media type, subtype, and encoding from the parameters for the function.


RightStr

Unit: IdGlobal

Returns the right-most part of a string.

function RightStr(st: String; Len: Integer): String;

Parameters

st: String

The value to be examined.

Len: Integer

The number of characters to be returned.

Returns

String - The right-most part of the string.

Description

RightStr is a String function used to return to the right-most portion of the string st consisting of the number of characters in Len.

When Len is larger than the length of the string or Len is 0, the unmodified value of the string is returned.


ROL

See Also	Unit: IdGlobal

Calculates a rotated-left value.

function ROL(val: LongWord; shift: Byte): LongWord;

Parameters

val: LongWord

Value to be rotated.

shift: Byte

The number of bits to be rotated.

Returns

LongWord - The value of the rotation.

Description

ROL is a LongWord function that returns the LongWord value calculated as the Val parameter rotated left by the number of bit positions specified in the shift parameter.


See Also

ROR


ROR

See Also	Unit: IdGlobal

Calculates a rotated-right value.

function ROR(val: LongWord; shift: Byte): LongWord;

Parameters

val: LongWord

The value to rotated right.

shift: Byte

The number of bits to be rotated.

Returns

LongWord - The result of the rotate-right operation.

Description

ROR is a LongWord function that returns the LongWord value calculated as the Val parameter rotated right by the number of bit positions specified in the shift parameter.


See Also

ROL


RPos

Unit: IdGlobal

Finds the index of a search string using a specified starting position.

function RPos(const ASub: String; const AIn: String; AStart: Integer): Integer;

Parameters

const ASub: String

The substring to locate.

const AIn: String

The value to be searched.

AStart: Integer = -1

The starting position. Default value is -1.

Returns

Integer - Index position of the search string in the string value.

Description

RPos is an Integer function used to locate the token specified by ASub in the string value specified by AIn using the starting position specified by AStart.

When AStart is greater than 0, the starting position is the character at the index AStart from the beginning of the string AIn. When AStart is less than 0, the starting position is the character at the index AStart from the end of the string AIn.

The return value of RPos is 0 when the search string in ASub does not occur in the string AIn.


SendError

Unit: IdTrivialFTPBase

Build and send a UDP error message.

procedure SendError(UDPBase: TIdUDPBase; APeerIP: string; const APort: Integer; const ErrNumber: Word; ErrorString: string);
procedure SendError(UDPClient: TIdUDPClient; const ErrNumber: Word; ErrorString: string);
procedure SendError(UDPBase: TIdUDPBase; APeerIP: string; const APort: Integer; E: Exception);
procedure SendError(UDPClient: TIdUDPClient; E: Exception);

Parameters

UDPBase: TIdUDPBase

UDP client generating the exception.

APeerIP: string

Exception which should be written in the message.

const APort: Integer

UDP descendant generating the exception.

const ErrNumber: Word

IP address of the peer connection.

ErrorString: string

Port number of the peer connection.

Description

SendError is an overloaded method used to construct and send UDP protocol error messages. A UDP error message normally contains the error number and text as specified in ErrNumber and ErrorString.

When the Exception variant is used, the text of the error message will contain Exception.Message.

When the TIdUDPClient variant is used, the Host and Port properties of UDPClient are used to send the error message.


SendError

Unit: IdTrivialFTPBase

Build and send a UDP error message.

procedure SendError(UDPBase: TIdUDPBase; APeerIP: string; const APort: Integer; const ErrNumber: Word; ErrorString: string);
procedure SendError(UDPClient: TIdUDPClient; const ErrNumber: Word; ErrorString: string);
procedure SendError(UDPBase: TIdUDPBase; APeerIP: string; const APort: Integer; E: Exception);
procedure SendError(UDPClient: TIdUDPClient; E: Exception);

Parameters

UDPClient: TIdUDPClient

UDP client generating the exception.

const ErrNumber: Word

Exception which should be written in the message.

ErrorString: string

UDP descendant generating the exception.

Description

SendError is an overloaded method used to construct and send UDP protocol error messages. A UDP error message normally contains the error number and text as specified in ErrNumber and ErrorString.

When the Exception variant is used, the text of the error message will contain Exception.Message.

When the TIdUDPClient variant is used, the Host and Port properties of UDPClient are used to send the error message.


SendError

Unit: IdTrivialFTPBase

Build and send a UDP error message.

procedure SendError(UDPBase: TIdUDPBase; APeerIP: string; const APort: Integer; const ErrNumber: Word; ErrorString: string);
procedure SendError(UDPClient: TIdUDPClient; const ErrNumber: Word; ErrorString: string);
procedure SendError(UDPBase: TIdUDPBase; APeerIP: string; const APort: Integer; E: Exception);
procedure SendError(UDPClient: TIdUDPClient; E: Exception);

Parameters

UDPBase: TIdUDPBase

UDP client generating the exception.

APeerIP: string

Exception which should be written in the message.

const APort: Integer

UDP descendant generating the exception.

E: Exception

IP address of the peer connection.

Description

SendError is an overloaded method used to construct and send UDP protocol error messages. A UDP error message normally contains the error number and text as specified in ErrNumber and ErrorString.

When the Exception variant is used, the text of the error message will contain Exception.Message.

When the TIdUDPClient variant is used, the Host and Port properties of UDPClient are used to send the error message.


SendError

Unit: IdTrivialFTPBase

Build and send a UDP error message.

procedure SendError(UDPBase: TIdUDPBase; APeerIP: string; const APort: Integer; const ErrNumber: Word; ErrorString: string);
procedure SendError(UDPClient: TIdUDPClient; const ErrNumber: Word; ErrorString: string);
procedure SendError(UDPBase: TIdUDPBase; APeerIP: string; const APort: Integer; E: Exception);
procedure SendError(UDPClient: TIdUDPClient; E: Exception);

Parameters

UDPClient: TIdUDPClient

UDP client generating the exception.

E: Exception

Exception which should be written in the message.

Description

SendError is an overloaded method used to construct and send UDP protocol error messages. A UDP error message normally contains the error number and text as specified in ErrNumber and ErrorString.

When the Exception variant is used, the text of the error message will contain Exception.Message.

When the TIdUDPClient variant is used, the Host and Port properties of UDPClient are used to send the error message.


SetLocalTime

Unit: IdGlobal

Updates the time on the local computer.

function SetLocalTime(Value: TDateTime): boolean;

Parameters

Value: TDateTime

The date and time to use for the local computer.

Returns

Boolean - True when the local computer date is updated.

Description

SetLocalTime is a Boolean function used to update the time on the local computer system using the TDateTime value in Value.

SetLocalTime is used by Indy time synchronization components like TIdSNTP and TIdTime.

SetLocalTime encapsulates the platform-specific procedures and functions used to update the time on the local computer system. For the Windows platform, the procedure used is Windows.SetLocalTime. On the Linux platform, SetLocalTime performs no operation and always returns False.


SetThreadPriority

Unit: IdGlobal

Updates the priority of a thread.

procedure SetThreadPriority(AThread: TThread; const APriority: TThreadPriority);

Parameters

AThread: TThread

The thread to be updated.

const APriority: TThreadPriority

The thread priority value to be used for the thread.

Description

SetThreadPriority is a procedure used to update the priority of the thread in AThread to the value specified in APriority.

SetThreadPriority encapsulates the platform-specific procedures and functions used to update the priority of a thread. For the Windows platform, Priority is a published property of TThread.

Note: Since only root is allowed to adjust thread priorities on the Linux platform, calls to SetThreadPriority are ignored regardless of login context.


Sleep

Unit: IdGlobal

Suspends the current thread for the specified number of milliseconds.

procedure Sleep(ATime: cardinal);

Parameters

ATime: cardinal

The number of milliseconds to sleep.

Description

Sleep is a procedure used to suspend the current thread of execution for the number of milliseconds specified in ATime. While the current thread is suspended, control passes to other processes with an equal or higher priority.

Sleep encapsulates the platform-specific procedures or functions used to suspend the current thread of execution. For the Windows platform, the procedure used is Windows.Sleep. On the Linux platform, Sleep tries to select a non-existent socket handle for the specified number of milliseconds.


StrInternetToDateTime

See Also	Unit: IdGlobal

Returns the native date and time for an Internet timestamp.

function StrInternetToDateTime(Value: string): TDateTime;

Parameters

Value: string

The Internet timestamp to be converted.

Returns

TDateTime - The native date and time value for the timestamp.

Description

StrInternetToDateTime is a TDateTime function used to convert the Internet timestamp in Value to a native date and time value.

To convert a value from a TDateTime to an Internet timestamp, use the DateTimeToInternetStr function.


See Also

DateTimeToInternetStr

GMTToLocalDateTime


StrToCard

Unit: IdGlobal

This function converts a string value into a cardinal..

function StrToCard(AVal: String): Cardinal;

Parameters

AVal: String

the string containing a numerical value.

Returns

Cardinal - The value the string was converted to.

Description

This function converts a string value into a cardinal (a 32-bit unsigned value) after stripping off spaces and other control characters.


StrToDay

Unit: IdGlobal

Returns the day number for a short day name.

function StrToDay(const ADay: string): Byte;

Parameters

const ADay: string

The 3-character day of week name.

Returns

Byte - The day of week, or -1 if the day name is not valid.

Description

StrToDay is a Byte function used to calculate the day of week for the short day name in ADay. StrToDay will return -1 when ADay is not a valid day name.


StrToMonth

Unit: IdGlobal

Returns the month number for a given short month name.

function StrToMonth(const AMonth: string): Byte;

Parameters

const AMonth: string

The short month name to be converted.

Returns

Byte - The month number or -1 when the month name is invalid.

Description

StrToMonth is a Byte function used to the month number for the short month name specified in AMonth. StrToMonth will return -1 if AMonth is not a valid short month name.


StrToWord

See Also	Unit: IdTrivialFTPBase

Converts a String to a Word data type.

function StrToWord(const Value: String): Word;

Parameters

const Value: String

Data to be converted.

Returns

Word - Result of the conversion.

Description

StrToWord is a Word function that converts a String specified in Value to a Word data type.


See Also

WordToStr


TimeZoneBias

Unit: IdGlobal

Calculates the local timezone difference from UTC.

function TimeZoneBias: Double;

Returns

Double - Hours and fractional minutes offset from UTC.

Description

TimeZoneBias is a Double function that returns the difference between the local timezone for a computer system and Universal Time Coordinates (UTC).

TimeZoneBias is expressed using any applicable local timezone conventions like Daylight Savings Time, and represents the number hours and fractional minutes that the timezone differs from UTC.

Note: On the Linux platform, TimeZoneBias uses the value from GTimeZoneBias as the local timezone difference for daylight savings time.


UnloadWinsock

Unit: IdWinsock

procedure UnloadWinsock;

Description

The text for this function has been generated automatically. This means that it is not documented.


UpCaseFirst

Unit: IdGlobal

Returns a string with the first letter capitalized.

function UpCaseFirst(S: string): string;

Parameters

S: string

The value to be capitalized.

Returns

String - The string with the initial letter capitalized.

Description

UpCaseFirst is a String function that returns a string with the first letter capitalized. All other letters in the string S are converted to lower case.


URLDecode

See Also	Example 1	Unit: IdGlobal

Converts a URL-Encoded string to a US-ASCII string.

function URLDecode(psSrc: string): string;

Parameters

psSrc: string

URL-encoded string to be converted.

Returns

String - The un-encoded ASCII representation of the URL.

Description

URLDecode is a String function that converts a URL-encoded string to its representation in the US-ASCII character set.

URLDecode is based on the URL character encoding rules as described in the Internet Standards document Uniform Resource Locators (URL), RFC 1738 , by Tim Berners-Lee.

URLDecode can used to reverse any string encoding performed using URLEncode.


See Also

URLEncode


URLDecode, Example 1
Example 1

URLDecode

  AString := URLDecode(AURLString);


URLEncode

See Also	Example 1	Unit: IdGlobal

Converts a US-ASCII string to a URL-Encoded string.

function URLEncode(const psSrc: string): string;

Parameters

const psSrc: string

US-ASCII string to be encoded.

Returns

String - URL-encoded representation of the string.

Description

URLEncode is a String function that converts a US-ASCII string to its representation in the URL Encoding scheme.

URLEncode is based on the URL character encoding rules as described in the Internet Standards document Uniform Resource Locators (URL), RFC 1738 , by Tim Berners-Lee.

URLEncode performs special handling for characters deemed unsafe in the URL encoding scheme, and any graphical US-ASCII characters in the range 80-FF hexadecimal.

Use URLDecode to return a URL-encoded string to its US-ASCII representation.


See Also

URLDecode


URLEncode, Example 1
Example 1

URLEncode

  AURLString := URLEncode(AString);


VerifyCallback

Unit: IdSSLOpenSSL

Perform X.509 certificate verifications.

function VerifyCallback(Ok: Integer; ctx: PX509_STORE_CTX): Integer;

Description

VerifyCallback is an Integer function that allows Verification callbacks using the X.509 certificate specified in PX509_STORE_CTX for an SSL context.


WinsockLoaded

Unit: IdWinsock

function WinsockLoaded: Boolean;

Description

The text for this function has been generated automatically. This means that it is not documented.


WordToStr

See Also	Unit: IdTrivialFTPBase

Converts a Word data type to a String representation.

function WordToStr(const Value: Word): WordStr;

Parameters

const Value: Word

Data to be converted.

Returns

WordStr - Result of the conversion.

Description

WordToStr is a WordStr function that converts the Word data type specified in Value to it's WordStr representation.


See Also

StrToWord


WSAGetAsyncBuflen

Unit: IdWinsock

function WSAGetAsyncBuflen(Param: Longint): Word;

Description

The text for this function has been generated automatically. This means that it is not documented.


WSAGetAsyncError

Unit: IdWinsock

function WSAGetAsyncError(Param: Longint): Word;

Description

The text for this function has been generated automatically. This means that it is not documented.


WSAGetSelectError

Unit: IdWinsock

function WSAGetSelectError(Param: Longint): Word;

Description

The text for this function has been generated automatically. This means that it is not documented.


WSAGetSelectEvent

Unit: IdWinsock

function WSAGetSelectEvent(Param: Longint): Word;

Description

The text for this function has been generated automatically. This means that it is not documented.


WSAMakeSelectReply

Unit: IdWinsock

function WSAMakeSelectReply(Event: Word; Error: Word): Longint;

Description

The text for this function has been generated automatically. This means that it is not documented.


WSAMakeSyncReply

Unit: IdWinsock

function WSAMakeSyncReply(Buflen: Word; Error: Word): Longint;

Description

The text for this function has been generated automatically. This means that it is not documented.


_TRANSMIT_FILE_BUFFERS

Unit: IdWinsock

_TRANSMIT_FILE_BUFFERS = record
  Head: Pointer;
  HeadLength: DWORD;
  Tail: Pointer;
  TailLength: DWORD;
  end;

Description

The text for this record has been generated automatically. This means that it is not documented.


CardinalRec

Unit: IdDNSResolver

Represents a Cardinal value.

CardinalRec = record
  case Byte of
    1: (aCardinal: Cardinal;);
    2: (Words: HILoWords;);
  end;

Description

CardinalRec is a record type used to provide differing representations of a Cardinal value. Use Cardinal to access the native cardinal value, or HiLoWords to access the Cardinal as Word values.


HiLoBytes

Unit: IdDNSResolver

Represents data with High and Low byte values.

HiLoBytes = record
  HiByte: Byte;
  LoByte: Byte;
  end;

Description

HiLoBytes is a record type used to represent a value accessed by the HiByte and LoByte members.


HiLoWords

Unit: IdDNSResolver

Represents data with High and Low Word values.

HiLoWords = record
  HiWord: Word;
  LowWord: Word;
  end;

Description

HiLoWords is a Record type used to access data using the HiWord and LoWord Word values.


hostent

Unit: IdWinsock

hostent = record
  h_name: PChar;
  h_aliases: ^PChar;
  h_addrtype: Smallint;
  h_length: Smallint;
  case Byte of
    0: (h_addr_list: ^PChar;);
    1: (h_addr: ^PChar;);
  end;

Description

The text for this record has been generated automatically. This means that it is not documented.


in_addr

Unit: IdWinsock

in_addr = record
  case integer of
    0: (S_un_b: SunB;);
    1: (S_un_w: SunW;);
    2: (S_addr: u_long;);
  end;

Description

The text for this record has been generated automatically. This means that it is not documented.


linger

Unit: IdWinsock

linger = record
  l_onoff: u_short;
  l_linger: u_short;
  end;

Description

The text for this record has been generated automatically. This means that it is not documented.


netent

Unit: IdWinsock

netent = record
  n_name: PChar;
  n_aliases: ^PChar;
  n_addrtype: Smallint;
  n_net: u_long;
  end;

Description

The text for this record has been generated automatically. This means that it is not documented.


protoent

Unit: IdWinsock

protoent = record
  p_name: PChar;
  p_aliases: ^Pchar;
  p_proto: Smallint;
  end;

Description

The text for this record has been generated automatically. This means that it is not documented.


servent

Unit: IdWinsock

servent = record
  s_name: PChar;
  s_aliases: ^PChar;
  s_port: Word;
  s_proto: PChar;
  end;

Description

The text for this record has been generated automatically. This means that it is not documented.


sockaddr_in

Unit: IdWinsock

sockaddr_in = record
  case Integer of
    0: (sin_family: u_short;
        sin_port: u_short;
        sin_addr: TInAddr;
        sin_zero: array[0..7] of Char);
        sa_family: u_short;
        sa_data: array[0..13] of Char) end;
        WSAData=recordwVersion: Word;
        wHighVersion: Word;
        szDescription: array[0..WSADESCRIPTION_LEN] of Char;
        szSystemStatus: array[0..WSASYS_STATUS_LEN] of Char;
        iMaxSockets: Word;
        iMaxUdpDg: Word;
        lpVendorInfo: PChar;);
  end;

Description

The text for this record has been generated automatically. This means that it is not documented.


sockproto

Unit: IdWinsock

sockproto = record
  sp_family: u_short;
  sp_protocol: u_short;
  end;

Description

The text for this record has been generated automatically. This means that it is not documented.


SunB

Unit: IdWinsock

SunB = packed record
  s_b1: u_char;
  s_b2: u_char;
  s_b3: u_char;
  s_b4: u_char;
  end;

Description

The text for this record has been generated automatically. This means that it is not documented.


SunW

Unit: IdWinsock

SunW = packed record
  s_w1: u_short;
  s_w2: u_short;
  end;

Description

The text for this record has been generated automatically. This means that it is not documented.


TByteArray

Unit: IdSSLOpenSSL

Represents byte array data used in SSL communications.

TByteArray = record
  Length: Integer;
  Data: PChar;
  end;

Description

TByteArray is a record type that represents byte array data used in SSL communications.

Length is an Integer member that indicates the number of bytes in Data.

Data is a PChar member that contains the byte values for the TByteArray.


TEVP_MD

Unit: IdSSLOpenSSL

Represents an X.509 certificate fingerprint.

TEVP_MD = record
  Length: Integer;
  MD: Array[0..OPENSSL_EVP_MAX_MD_SIZE-1] of Char;
  end;

Description

TEVP_MD is a record type used to represent X.509 certificate fingerprint information.

Length is an Integer member that contains the length of the fingerprint data.

MD is an Array of Char that contains the byte values for the fingerprint.


TFDSet

Unit: IdWinsock

TFDSet = record
  fd_count: u_int;
  fd_array: array[0..FD_SETSIZE - 1] of TSocket;
  end;

Description

The text for this record has been generated automatically. This means that it is not documented.


THInfo

Unit: IdDNSResolver

Represents a Host resource record.

THInfo = record
  CPUStr: ShortString;
  OsStr: ShortString;
  end;

Description

THInfo is a Record type that represents a Host resource record from a DNS response packet.

CPUStr specifies the CPU identifier for the host.

OsStr specifies the host's Operating System.


TIdArpHdr

Unit: IdRawHeaders

TIdArpHdr = packed record
  arp_hrd: word;
  arp_pro: word;
  arp_hln: byte;
  arp_pln: byte;
  arp_op: word;
  arp_sha: TIdEtherAddr;
  arp_spa: TIdInAddr;
  arp_tha: TIdEtherAddr;
  arp_tpa: TIdInAddr;
  end;

Description

The text for this record has been generated automatically. This means that it is not documented.


TIdCardinalBytes

Unit: IdCoder3To4

Represents values for TId3To4Coder 4-byte to 3-byte character conversions.

TIdCardinalBytes = record
  case integer of
    0: (Byte1: Byte;
        Byte2: Byte;
        Byte3: Byte;
        Byte4: Byte;);
    1: (Whole: Cardinal;);
  end;

Description

TIdCardinalBytes is a record type that represents the bytes values for TId3To4Coder 4-byte to 3-byte character conversions.

Byte1, Byte1, Byte3, and Byte4 are Byte members that represent individual 8-bit values for the encoding.

Whole is a Cardinal member that represents the 32-bit value for the encoding value.


TIdDnsHdr

Unit: IdRawHeaders

TIdDnsHdr = packed record
  dns_id: word;
  dns_flags: word;
  dns_num_q: word;
  dns_num_answ_rr: word;
  dns_num_auth_rr: word;
  dns_num_addi_rr: word;
  end;

Description

The text for this record has been generated automatically. This means that it is not documented.


TIdEtherAddr

Unit: IdRawHeaders

TIdEtherAddr = packed record
  ether_addr_octet: array [0..Id_ETHER_ADDR_LEN-1] of byte;
  end;

Description

The text for this record has been generated automatically. This means that it is not documented.


TIdEthernetHdr

Unit: IdRawHeaders

TIdEthernetHdr = packed record
  ether_dhost: TIdEtherAddr;
  ether_shost: TIdEtherAddr;
  ether_type: word;
  end;

Description

The text for this record has been generated automatically. This means that it is not documented.


TIdHeader

Unit: IdTunnelCommon

Represents encapsulated tunnel headers and data.

TIdHeader = record
  CRC16: Word;
  MsgType: Word;
  MsgLen: Word;
  UserId: Word;
  Port: Word;
  IpAddr: TIdInAddr;
  end;

Description

TIdHeader is a record type that represents encapsulated tunnel headers and data for Indy Tunnel components.

CRC16 is a Word member that contains the calculated CRC16 checksum value for the contents of the encapsulated tunnel message.

MsgType is a Word member that contains a message type constant value representing a handling instruction to the Tunnel component.

MsgLen is a Word member that contains the length of the encapsulated tunnel message.

UserId is a Word member that represents the user identifier for the client connection to the Tunnel server.

Port is a Word member that presents the for the client connection to the Tunnel component.

IpAddr is a TIdInAddr member that represent the structured IP address for the client connection to the Tunnel component.


TIdIcmpEcho

Unit: IdRawHeaders

TIdIcmpEcho = packed record
  id: word;
  seq: word;
  end;

Description

The text for this record has been generated automatically. This means that it is not documented.


TIdIcmpFrag

Unit: IdRawHeaders

TIdIcmpFrag = packed record
  pad: word;
  mtu: word;
  end;

Description

The text for this record has been generated automatically. This means that it is not documented.


TIdIcmpHdr

Unit: IdRawHeaders

TIdIcmpHdr = packed record
  icmp_type: byte;
  icmp_code: byte;
  icmp_sum: word;
  icmp_hun: packed record case integer of 0: (echo: TIdIcmpEcho); 1: (gateway: TIdInAddr); 2: (frag: TIdIcmpFrag);;
  end;

Description

The text for this record has been generated automatically. This means that it is not documented.


TIdIcmpTs

Unit: IdRawHeaders

TIdIcmpTs = packed record
  otime: TIdNetTime;
  rtime: TIdNetTime;
  ttime: TIdNetTime;
  end;

Description

The text for this record has been generated automatically. This means that it is not documented.


TIdIgmpHdr

Unit: IdRawHeaders

TIdIgmpHdr = packed record
  igmp_type: byte;
  igmp_code: byte;
  igmp_sum: word;
  igmp_group: TIdInAddr;
  end;

Description

The text for this record has been generated automatically. This means that it is not documented.


TIdInAddr

Unit: IdStack

Represents an IP address for protocol stack functions.

TIdInAddr = record
  case integer of
    0: (S_un_b: TIdSunB;);
    1: (S_un_w: TIdSunW;);
    2: (S_addr: longword;);
  end;

Description

TIdInAddr is a variant record type used to represent an IP address in a form required by low-level socket functions. TIdInAddr provides a flexible method for accessing the differing representations of the 32-bit IP address.

S_un_b is a TIdSunB member that represents the IP address as 4 Byte values.

S_un_w is a TIdSunW member that represents the IP address as 2 Word values.

S_addr is a LongWord member that represents the 32-bit IP address.

TIdInAddr is used internally in Indy.


TIdIpHdr

Unit: IdRawHeaders

TIdIpHdr = packed record
  ip_verlen: byte;
  ip_tos: byte;
  ip_len: word;
  ip_id: word;
  ip_off: word;
  ip_ttl: byte;
  ip_p: byte;
  ip_sum: word;
  ip_src: TIdInAddr;
  ip_dst: TIdInAddr;
  ip_options: longword;
  end;

Description

The text for this record has been generated automatically. This means that it is not documented.


TIdIpOptions

Unit: IdRawHeaders

TIdIpOptions = packed record
  ipopt_list: array [0..Id_MAX_IPOPTLEN-1] of char;
  end;

Description

The text for this record has been generated automatically. This means that it is not documented.


TIdRipHdr

Unit: IdRawHeaders

TIdRipHdr = packed record
  rip_cmd: byte;
  rip_ver: byte;
  rip_rd: word;
  rip_af: word;
  rip_rt: word;
  rip_addr: longword;
  rip_mask: longword;
  rip_next_hop: longword;
  rip_metric: longword;
  end;

Description

The text for this record has been generated automatically. This means that it is not documented.


TIdSocksRequest

See Also	Unit: IdSocks

Contains data sent to the Socks proxy during a connection request.

TIdSocksRequest = record
  Version: Byte;
  OpCode: Byte;
  Port: Word;
  IpAddr: TIdInAddr;
  UserId: String[255];
  end;

Description

TIdSocksRequest is a record type that represents the data sent to the Socks proxy during a TIdTCPClient connection to a Socks proxy server.

Version is a Byte member that represents the Socks protocol version number required for the connection.

OpCode is a Byte member that identifies the action to be performed on connection.

Port is a Word member that identifies the Port number for the client connection.

IpAddr is a TIdInAddr member that represents the structured IP address used for the client connection.

UserId is Short String member that identifies the user name used for authentication of the client connection.

TIdSocksRequest is used internally by TIdTCPClient.


See Also

Technical Support


TIdSocksResponse

See Also	Unit: IdSocks

Contains response data received from the Socks proxy connection.

TIdSocksResponse = record
  Version: Byte;
  OpCode: Byte;
  Port: Word;
  IpAddr: TIdInAddr;
  end;

Description

TIdSocksResponse is a record type that represents a reply from a Socks proxy server.

Version is a Byte member that represents the Socks protocol version number used for the connection.

OpCode is a Byte member that identifies the action to performed using the connection.

Port is a Word member that identifies the Port number used for the client connection.

IpAddr is a TIdInAddr member that represents the structured IP address used for the client connection.

TIdSocksResponse is used internally in TIdTCPClient.


See Also

Technical Support


TIdSunB

Unit: IdStack

TIdSunB = packed record
  s_b1: byte;
  s_b2: byte;
  s_b3: byte;
  s_b4: byte;
  end;

Description

The text for this record has been generated automatically. This means that it is not documented.


TIdSunW

Unit: IdStack

TIdSunW = packed record
  s_w1: word;
  s_w2: word;
  end;

Description

The text for this record has been generated automatically. This means that it is not documented.


TIdTcpHdr

Unit: IdRawHeaders

TIdTcpHdr = packed record
  tcp_sport: word;
  tcp_dport: word;
  tcp_seq: longword;
  tcp_ack: longword;
  tcp_x2off: byte;
  tcp_flags: byte;
  tcp_win: word;
  tcp_sum: word;
  tcp_urp: word;
  end;

Description

The text for this record has been generated automatically. This means that it is not documented.


TIdTcpOptions

Unit: IdRawHeaders

TIdTcpOptions = packed record
  tcpopt_list: array [0..Id_MAX_IPOPTLEN-1] of byte;
  end;

Description

The text for this record has been generated automatically. This means that it is not documented.


TIdUdpHdr

Unit: IdRawHeaders

TIdUdpHdr = packed record
  udp_sport: word;
  udp_dport: word;
  udp_ulen: word;
  udp_sum: word;
  end;

Description

The text for this record has been generated automatically. This means that it is not documented.


timeval

Unit: IdWinsock

timeval = record
  tv_sec: Longint;
  tv_usec: Longint;
  end;

Description

The text for this record has been generated automatically. This means that it is not documented.


TIMFCoderUsage

See Also	Unit: IdMessageClient

Represents the current code and message part.

TIMFCoderUsage = record
  InUse: Boolean;
  BodyCoder: TIdCoder;
  MP: TIdMessagePart;
  end;

Description

TIMFCoderUsage is a Record structure used to represent the decoder and the message part for the current TIdMessage. TIMFCoderUsage is used from the TIdMessage.ReceiveBody method.


See Also

Technical Support


TIpStruct

Example 1	Unit: IdNetworkCalculator

Provides storage for the components of an IP address or network mask.

TIpStruct = record
  case integer of
    0: (Byte1: byte;
        Byte2: byte;
        Byte3: byte;
        Byte4: byte;);
    1: (FullAddr: Longword;);
  end;

Description

TIpStruct is a variant record used to store IP address values. TIpStruct has the following format:

+-------+-------+-------+-------+

| Byte4 | Byte3 | Byte2 | Byte1 | (Byte variant)

+-------+-------+-------+-------+

|           FullAddr            | (LongWord variant)

+-------------------------------+

TIpStruct provides access to the value of the IP address as a sequence of Byte values using Byte1, Byte2, Byte3, and Byte4. TIpStruct also provides access to the value of the IP address as a LongWord value using FullAddr.

TIpStruct is used by TIpProperty and the functions IP and StrToIP to store IP addresses.


TIpStruct, Example 1
Example 1

TIpStruct

  // get the next IP address

  Inc(AIpStruct.FullAddr);

  AString := Format('%d.%d.%d.%d',

    [ AIpStruct.Byte1,

      AIpStruct.Byte2,

      AIpStruct.Byte3,

      AIpStruct.Byte4 ]);


TLinger

See Also	Unit: IdStackWinsock

Represents socket Linger options.

TLinger = record
  l_onoff: Word;
  l_linger: Word;
  end;

Description

TLinger is a record type used to represent the TCP Linger options used internally by Indy.


See Also

TIdLinger


TLr

See Also	Unit: IdSNTP

NTPGram LongInt storage structure.

TLr = packed record
  L1: byte;
  L2: byte;
  L3: byte;
  L4: byte;
  end;

Description

The TLr structure is an internal packed record structure used to handle the byte order of LongInt values received in a TNTPGram datagram. TLr is used to flip the order of bytes when TTIdSNTP.DateTime updates the value of Originate, Destination, Transmit, and Receive timestamps.

L1 is used to store the value of byte 1 of 4 bytes in the TLr structure. L2 is used to store the value of byte 2 of 4 bytes in the TLr structure. L3 is used to store the value of byte 3 of 4 bytes in the TLr structure. L4 is used to store the value of byte 4 of 4 bytes in the TLr structure.


See Also

TNTPGram

TIdSNTP


TMInfo

Unit: IdDNSResolver

Represents a mail information resource record.

TMInfo = record
  EMailBox: ShortString;
  RMailBox: ShortString;
  end;

Description

TMInfo is a Record type that represents a mail information resource record.

EMailBox is the E-Mail address which should receive error messages for a mailing list. If this specifies the root address for a domain, the message should be sent to the original sender of the message.

RMailBox specifies the E-Mail address of a person responsible for a mailing list.


TMX

Unit: IdDNSResolver

Represents a mail exchange resource record.

TMX = record
  Exchange: ShortString;
  Preference: Word;
  end;

Description

TMX is a Record type that represents a mail exchange resource record.

Exchange is an address for a computer which will accept E-Mail for a particular domain.

Preference is the priority given for the host computer. A lower priority is the computer which is preferred.


TNTPGram

See Also	Unit: IdSNTP

NTP/SNTP Datagram message structure.

TNTPGram = packed record
  Head1: byte;
  Head2: byte;
  Head3: byte;
  Head4: byte;
  RootDelay: longint;
  RootDispersion: longint;
  RefID: longint;
  Ref1: longint;
  Ref2: longint;
  Org1: longint;
  Org2: longint;
  Rcv1: longint;
  Rcv2: longint;
  Xmit1: longint;
  Xmit2: longint;
  end;

Description

TNTPGram is the packed record structure used by TIdSNTP for processing SNTP requests and responses. TNTPGram is the data transmitted in UDP packets, and represents the NTP/SNTP Datagram message format as described in the Internet standards document:

RFC 2030 - Simple Network Time Protocol (SNTP) Version 4 for IPv4, IPv6 and OSI

SNTP Version 4 includes certain optional extensions to the basic Version 3 model. TNTPGram does not implement the optional extensions for either Key Identifier or Message Digest portions of the NTP/SNTP message format.

Head1 - Leap Indicator, Version Number, and Mode

Head1 represents byte 1 of 4 bytes in the TNTPGram header. Head1 is utilized to store the values of Leap Indicator, Version Number, and Mode fields according to the following diagram:

+---------------+---------------+---------------+---------------+

|    Head1      |     Head2     |     Head3     |     Head4     |

+---------------+---------------+---------------+---------------+

 0 1 2 3 4 5 6 7

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|LI | VN  |Mode |    Stratum    |     Poll      |   Precision   |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Bits  Field

====  ==============

0-1   Leap Indicator

2-4   Version Number

5-7   Mode

Leap Indicator (LI) - Two-bit code warning of an impending leap second to be inserted/deleted in the last minute of the current day, with bit 0 and bit 1, respectively, coded as follows:

0 - no warning

1 - last minute has 61 seconds

2 - last minute has 59 seconds)

3 - alarm condition (clock not synchronized)

Version Number (VN) - Three-bit integer indicating the NTP/SNTP version number. The version number is 3 for Version 3 (IPv4 only) and 4 for Version 4 (IPv4, IPv6 and OSI). If necessary to distinguish between IPv4, IPv6 and OSI, the encapsulating context must be inspected.

Mode - Three-bit integer indicating the mode, with values defined as follows:

0 - reserved

1 - symmetric active

2 - symmetric passive

3 - client

4 - server

5 - broadcast

6 - reserved for NTP control message

7 - reserved for private use

Note: In unicast and anycast modes, the client sets this field to 3 (client) in the request and the server sets it to 4 (server) in the reply. In multicast mode, the server sets this field to 5 (broadcast).

Head2 - Statum level of the local clock

Head2 represents byte 2 of 4 bytes in the TNTPGram header. Head2 is utilized to store the values of Stratum, as indicated in the following diagram:

+---------------+---------------+---------------+---------------+

|    Head1      |     Head2     |     Head3     |     Head4     |

+---------------+---------------+---------------+---------------+

                 0 1 2 3 4 5 6 7

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|LI | VN  |Mode |    Stratum    |     Poll      |   Precision   |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Bits  Field

====  ==============

0-7   Stratum

Stratum - Eight-bit unsigned integer indicating the stratum level of the local clock, with values defined as follows:

0 unspecified or unavailable

1 primary reference (e.g., radio clock)

2-15 secondary reference (via NTP or SNTP)

16-255 reserved

Head3 - Polling Interval

Head3 represents byte 3 of 4 bytes in the TNTPGram header. Head3 is utilized to store the values of Poll, as indicated in the following diagram:

+---------------+---------------+---------------+---------------+

|    Head1      |     Head2     |     Head3     |     Head4     |

+---------------+---------------+---------------+---------------+

                                 0 1 2 3 4 5 6 7

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|LI | VN  |Mode |    Stratum    |     Poll      |   Precision   |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Bits  Field

====  =====

0-7   Poll

Poll Interval - Eight-bit signed integer indicating the maximum interval between successive messages, in seconds to the nearest power of two. The values that can appear in this field presently range from 4 (16 s) to 14 (16284 s); however, most applications use only the sub-range 6 (64 s) to 10 (1024 s).

Head4 - Precision of the local clock

Head4 represents byte 4 of 4 bytes in the TNTPGram header. Head4 is utilized to store the values of Precision, as indicated in the following diagram:

+---------------+---------------+---------------+---------------+

|    Head1      |     Head2     |     Head3     |     Head4     |

+---------------+---------------+---------------+---------------+

                                                 0 1 2 3 4 5 6 7

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|LI | VN  |Mode |    Stratum    |     Poll      |   Precision   |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Bits  Field

====  =========

0-7   Precision

Precision - Eight-bit signed integer indicating the precision of the local clock, in seconds to the nearest power of two. The values that normally appear in this field range from -6 for mains-frequency clocks to -20 for microsecond clocks found in some workstations.

Org1 - Date portion of the Originate Timestamp.

Org1 is used to store the LongInt value representing the date portion of the Originate Timestamp, as indicated in the following diagram:

+---------------+---------------+---------------+---------------+

|            Org1               |              Org2             |

+-------------------------------+-------------------------------+

|                    1                   2                   3  |

|0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                   Originate Timestamp (64)                    |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Bits  Field

====  ==============

0-15  Org1

16-31 Org2

If the server is unsynchronized, all timestamp fields are set to zero.

There is some latitude on the part of most clients to forgive invalid timestamps, such as might occur when first coming up or during periods when the primary reference source is inoperative. The most important indicator of an unhealthy server is the LI field in Head1, in which a value of 3 indicates an unsynchronized condition. When this value is displayed, clients should discard the server message, regardless of the contents of other fields.

Org2 - Time portion of the Originate Timestamp

Org2 is used to store the LongInt value representing the time portion of the Originate Timestamp, as indicated in the following diagram:

+---------------+---------------+---------------+---------------+

|            Org1               |              Org2             |

+-------------------------------+-------------------------------+

|                    1                   2                   3  |

|0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                   Originate Timestamp (64)                    |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Bits  Field

====  ==============

0-15  Org1

16-31 Org2

If the server is unsynchronized, all timestamp fields are set to zero.

There is some latitude on the part of most clients to forgive invalid timestamps, such as might occur when first coming up or during periods when the primary reference source is inoperative. The most important indicator of an unhealthy server is the LI field in Head1, in which a value of 3 indicates an unsynchronized condition. When this value is displayed, clients should discard the server message, regardless of the contents of other fields.

Rcv1 - Date portion of the Receive Timestamp

Rcv1 is used to store the LongInt value representing the date portion of the Receive Timestamp, as indicated in the following diagram:

+---------------+---------------+---------------+---------------+

|            Rcv1               |              Rcv2             |

+-------------------------------+-------------------------------+

|                    1                   2                   3  |

|0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                    Receive Timestamp (64)                     |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Bits  Field

====  ==============

0-15  Rcv1

16-31 Rcv2

If the server is unsynchronized, all timestamp fields are set to zero. If synchronized, the Reference Timestamp is set to the time the last update was received from the radio clock or modem.

In unicast and anycast modes, the Receive Timestamp and Transmit Timestamp fields are set to the time of day when the message is sent and the Originate Timestamp field is copied unchanged from the Transmit Timestamp field of the request. It is important that this field be copied intact, as a NTP client uses it to avoid replays. In multicast mode, the Originate Timestamp and Receive Timestamp fields are set to 0 and the Transmit Timestamp field is set to the time of day when the message is sent.

There is some latitude on the part of most clients to forgive invalid timestamps, such as might occur when first coming up or during periods when the primary reference source is inoperative. The most important indicator of an unhealthy server is the LI field in Head1, in which a value of 3 indicates an unsynchronized condition. When this value is displayed, clients should discard the server message, regardless of the contents of other fields.

Rcv2 - Time portion of the Receive Timestamp

Rcv2 is used to store the LongInt value representing the time portion of the Receive Timestamp, as indicated in the following diagram:

+---------------+---------------+---------------+---------------+

|            Rcv1               |              Rcv2             |

+-------------------------------+-------------------------------+

|                    1                   2                   3  |

|0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                    Receive Timestamp (64)                     |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Bits  Field

====  ==============

0-15  Rcv1

16-31 Rcv2

If the server is unsynchronized, all timestamp fields are set to zero. If synchronized, the Reference Timestamp is set to the time the last update was received from the radio clock or modem.

In unicast and anycast modes, the Receive Timestamp and Transmit Timestamp fields are set to the time of day when the message is sent and the Originate Timestamp field is copied unchanged from the Transmit Timestamp field of the request. It is important that this field be copied intact, as a NTP client uses it to avoid replays. In multicast mode, the Originate Timestamp and Receive Timestamp fields are set to 0 and the Transmit Timestamp field is set to the time of day when the message is sent.

There is some latitude on the part of most clients to forgive invalid timestamps, such as might occur when first coming up or during periods when the primary reference source is inoperative. The most important indicator of an unhealthy server is the LI field in Head1, in which a value of 3 indicates an unsynchronized condition. When this value is displayed, clients should discard the server message, regardless of the contents of other fields.

Ref1 - Date portion of the Reference Timestamp

Ref1 is used to store the LongInt value representing the date portion of the Reference Timestamp, as indicated in the following diagram:

+---------------+---------------+---------------+---------------+

|            Ref1               |              Ref2             |

+-------------------------------+-------------------------------+

|                    1                   2                   3  |

|0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                   Reference Timestamp (64)                    |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Bits  Field

====  ==============

0-15  Ref1

16-31 Ref2

If the server is unsynchronized, all timestamp fields are set to zero. If synchronized, the Reference Timestamp is set to the time the last update was received from the radio clock or modem.

There is some latitude on the part of most clients to forgive invalid timestamps, such as might occur when first coming up or during periods when the primary reference source is inoperative. The most important indicator of an unhealthy server is the LI field in Head1, in which a value of 3 indicates an unsynchronized condition. When this value is displayed, clients should discard the server message, regardless of the contents of other fields.

Ref2 - Time portion of the Reference Timestamp

Ref2 is used to store the LongInt value representing the time portion of the Reference Timestamp, as indicated in the following diagram:

+---------------+---------------+---------------+---------------+

|            Ref1               |              Ref2             |

+-------------------------------+-------------------------------+

|                    1                   2                   3  |

|0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                   Reference Timestamp (64)                    |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Bits  Field

====  ==============

0-15  Ref1

16-31 Ref2

If the server is unsynchronized, all timestamp fields are set to zero. If synchronized, the Reference Timestamp is set to the time the last update was received from the radio clock or modem.

There is some latitude on the part of most clients to forgive invalid timestamps, such as might occur when first coming up or during periods when the primary reference source is inoperative. The most important indicator of an unhealthy server is the LI field in Head1, in which a value of 3 indicates an unsynchronized condition. When this value is displayed, clients should discard the server message, regardless of the contents of other fields.

RefID - Reference Identifier

RefID is the LongInt value in TNTPGram used to identify the particular reference source, as indicated in the following diagram:

+---------------------------------------------------------------+

|                     Reference Identifier                      |

+---------------------------------------------------------------+

|                    1                   2                   3  |

|0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                     Reference Identifier                      |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

In the case of NTP Version 3 or Version 4 stratum-0 (unspecified) or stratum-1 (primary) servers, this is a four-character ASCII string, left justified and zero padded to 32 bits.

In NTP Version 3 secondary servers, this is the 32-bit IPv4 address of the reference source. In NTP Version 4 secondary servers, this is the low order 32 bits of the latest transmit timestamp of the reference source.

In the case of NTP primary (stratum 1) servers, this field is a code identifying the external reference source according to the following list:

LOCL - uncalibrated local clock used as a primary reference for a subnet without external means of synchronization

PPS - atomic clock or other pulse-per-second source individually calibrated to national standards

ACTS - NIST dialup modem service

USNO - USNO modem service

PTB - PTB (Germany) modem service

TDF - Allouis (France) Radio 164 kHz

DCF - Mainflingen (Germany) Radio 77.5 kHz

MSF - Rugby (UK) Radio 60 kHz

WWV - Ft. Collins (US) Radio 2.5, 5, 10, 15, 20 MHz

WWVB - Boulder (US) Radio 60 kHz

WWVH - Kaui Hawaii (US) Radio 2.5, 5, 10, 15 MHz

CHU - Ottawa (Canada) Radio 3330, 7335, 14670 kHz

LORC - LORAN-C radionavigation system

OMEG - OMEGA radionavigation system

GPS - Global Positioning Service

GOES - Geostationary Orbit Environment Satellite

If the external reference is one of those listed, the associated code should be used. Codes for sources not listed can be contrived as appropriate.

RootDelay - Total roundtrip delay to the time server.

RootDelay is the LongInt value in TNTPGram indicating the total roundtrip delay to the primary reference source, in seconds. RootDelay stores fractional seconds after bit 15, as seen in the following diagram:

+---------------------------------------------------------------+

|                          Root Delay                           |

+---------------------------------------------------------------+

|                    1                   2                   3  |

|0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|          Seconds              |       Fractional Seconds      |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Note: RootDelay can have both positive and negative values, depending on the relative time and frequency offsets. The values that normally appear in this field range from negative values of a few milliseconds to positive values of several hundred milliseconds.

RootDispersion - Nominal error for the time server

RootDispersion is the LongInt value in TNTPGram that indicates the nominal error relative to the primary reference source. RootDispersion stores fractional seconds after bit 15, as seen in the following diagram:

+---------------------------------------------------------------+

|                       Root Dispersion                         |

+---------------------------------------------------------------+

|                    1                   2                   3  |

|0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|          Seconds              |       Fractional Seconds      |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

RootDispersion is measured in seconds, and values normally range from 0 to several hundred milliseconds.

Xmit1 - Date portion of the Transmit Timestamp

Xmit1 is used to store the LongInt value representing the date portion of the Transmit Timestamp, as indicated in the following diagram:

+---------------+---------------+---------------+---------------+

|            Xmit1              |              Xmit2            |

+-------------------------------+-------------------------------+

|                    1                   2                   3  |

|0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                    Transmit Timestamp (64)                    |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Bits  Field

====  ==============

0-15  Xmit1

16-31 Xmit2

If the server is unsynchronized, all timestamp fields are set to zero. If synchronized, the Reference Timestamp is set to the time the last update was received from the radio clock or modem.

In unicast and anycast modes, the Receive Timestamp and Transmit Timestamp fields are set to the time of day when the message is sent and the Originate Timestamp field is copied unchanged from the Transmit Timestamp field of the request. It is important that this field be copied intact, as a NTP client uses it to avoid replays. In multicast mode, the Originate Timestamp and Receive Timestamp fields are set to 0 and the Transmit Timestamp field is set to the time of day when the message is sent.

There is some latitude on the part of most clients to forgive invalid timestamps, such as might occur when first coming up or during periods when the primary reference source is inoperative. The most important indicator of an unhealthy server is the LI field in Head1, in which a value of 3 indicates an unsynchronized condition. When this value is displayed, clients should discard the server message, regardless of the contents of other fields.

Xmit2- Time portion of the Transmit Timestamp.

Xmit2 is used to store the LongInt value representing the time portion of the Transmit Timestamp, as indicated in the following diagram:

+---------------+---------------+---------------+---------------+

|            Xmit1              |              Xmit2            |

+-------------------------------+-------------------------------+

|                    1                   2                   3  |

|0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                    Transmit Timestamp (64)                    |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Bits  Field

====  ==============

0-15  Xmit1

16-31 Xmit2

If the server is unsynchronized, all timestamp fields are set to zero. If synchronized, the Reference Timestamp is set to the time the last update was received from the radio clock or modem.

In unicast and anycast modes, the Receive Timestamp and Transmit Timestamp fields are set to the time of day when the message is sent and the Originate Timestamp field is copied unchanged from the Transmit Timestamp field of the request. It is important that this field be copied intact, as a NTP client uses it to avoid replays. In multicast mode, the Originate Timestamp and Receive Timestamp fields are set to 0 and the Transmit Timestamp field is set to the time of day when the message is sent.

There is some latitude on the part of most clients to forgive invalid timestamps, such as might occur when first coming up or during periods when the primary reference source is inoperative. The most important indicator of an unhealthy server is the LI field in Head1, in which a value of 3 indicates an unsynchronized condition. When this value is displayed, clients should discard the server message, regardless of the contents of other fields.


See Also

TIdSNTP


TPeerInfo

Unit: IdTrivialFTPServer

Represents connection information for a TrivialFTP client connection.

TPeerInfo = record
  PeerIP: string;
  PeerPort: Integer;
  end;

Description

TPeerInfo is record type represents information about a client connection to a TIdTrivialFTPServer.

PeerIP is a String member variable that identifies the client IP address for a connection.

PeerPort is an Integer member variable that identifies the client port number for a connection.


TQWord

Unit: IdCoder

Provides access to the component values for an Int64 integer.

TQWord = packed record
  L: LongWord;
  H: LongWord;
  end;

Description

TQWord provides a simple interface to the two component LongWord parts of a Int64 integer. The term QWord comes from the assembler Int64 equivalent.


TRdata

Unit: IdDNSResolver

Represents the raw data for a DNS response packet.

TRdata = record
  DomainName: string;
  HInfo: THInfo;
  MInfo: TMInfo;
  MX: TMx;
  SOA: TSOA;
  A: Cardinal;
  WKS: TWks;
  Data: string;
  HostAddrStr: string;
  end;

Description

TRdata is a Record type that represents an intermediate data structure used to process and store DNS Query Response Packet data in TIdDNSResourceItem.

DomainName is a String member that represents the Domain Name returned in the response packet.

HInfo is a THInfo member that contains Host information for the resource record.

MInfo is a TMInfo member that contains Mailbox information for the resource record.

MX is a TMx member that contains mail exchange information for the resource record.

SOA is a TSOA member that contains the Start of Authority information for the resource record.

A is a Cardinal member that contains the Address information for the resource record.

WKS is a TWks member that contains Well Known Service information for the resource record.

Data is a String member that represents user-defines data for the resource record.

HostAddrStr is a String member that contains the Host address for the resource record.


TReplyStatus

See Also	Unit: IdIcmpClient

Response to an echo request.

TReplyStatus = record
  BytesReceived: integer;
  FromIpAddress: string;
  MsgType: byte;
  SequenceId: word;
  MsRoundTripTime: longword;
  TimeToLive: byte;
  ReplyStatusType: TReplyStatusTypes;
  end;

Description

TReplyStatus is a record structure used to store the response to an echo request in the Ping method of TIdIcmpClient.

TReplyStatus contains diagnostic information received as a result of the Ping request. TReplyStatus is also provided as a parameter to OnReply event handler in TIdIcmpClient.


See Also

TIdIcmpClient

TIdIcmpClient.Ping

TIdIcmpClient.OnReply


TSOA

Unit: IdDNSResolver

Represents a Start of Authority resource record.

TSOA = record
  Expire: Cardinal;
  Minimum: Cardinal;
  MName: ShortString;
  Refresh: Cardinal;
  Retry: Cardinal;
  RName: ShortString;
  Serial: Cardinal;
  end;

Description

TSOA is a Record type that represents a Start of Authority resources record from a DNS response packet.

Expire is a 32 bit time value that specifies the upper limit on the time interval that can elapse before the zone is no longer authoritative.

Minimum is an unsigned 32 bit minimum TTL field that should be exported with any RR from this zone.

MName is a string that represents the domain-name of the name server that was the original or primary source of data for this zone.

Refresh is a 32 bit time interval before the zone should be refreshed.

Retry is a 32 bit time interval that should elapse before a failed refresh should be retried.

RName is the E-Mail address of the person responsible for this zone.

Serial is an unsigned 32 bit version number of the original copy of the zone. Zone transfers preserve this value. This value wraps and should be compared using sequence space arithmetic.


TULong

Unit: IdSSLOpenSSL

Represents an unsigned long integer value.

TULong = packed record
  case Byte of
    0: (B1: Byte;
        B2: Byte;
        B3: Byte;
        B4: Byte;);
    1: (W1: Word;
        W2: Word;);
    2: (L1: Longint;);
    3: (C1: Cardinal;);
  end;

Description

TULong is a variant record type that provides access to differing representations of an unsigned long Integer value.

B1,B2,B3,B4 are the individual Byte values for the unsigned long integer value.

W1,W2 are the individual Word values for the unsigned long integer value.

L1 is the LongInt value for the unsigned long integer value.

C1 is the Cardinal value for the unsigned long integer value.


TWKS

Unit: IdDNSResolver

Represents a Well Known Service Resource Record from a DNS Response packet.

TWKS = record
  Address: Cardinal;
  Bits: TWKSBits;
  Protocol: byte;
  end;

Description

TWKS is a Record type that represents a Well Known Service Resource Record from a DNS Response packet.

Address is the IP address for a host as a 32 bit value.

Bits is a variable length series of bits corresponding to IP Port numbers on a computer with bit 0 corresponding to port 0. Thus, if the computer supports Echo (Port 7), the 7th bit is set to 1 or if that bit is 0, Echo is not supported. If there are no bits for a protocol, then that protocol is not supported.

Protocol specifies the IP protocol the host supports. This can be one of these values:

0 Reserved

1 ICMP Internet Control Message

2 IGMP Internet Group Management

3 GGP Gateway-to-Gateway

4 Unassigned

5 ST Stream

6 TCP Transmission Control

7 UCL

8 EGP Exterior Gateway Protocol

9 IGP any private interior gateway

10 BBN-RCC-MON BBN RCC Monitoring

11 NVP-II Network Voice Protocol

12 PUP

13 ARGUS

14 EMCON

15 XNET Cross Net Debugger

16 CHAOS

17 UDP User Datagram

18 MUX Multiplexing

19 DCN-MEAS DCN Measurement Subsystems

20 HMP Host Monitoring

21 PRM Packet Radio Measurement

22 XNS-IDP XEROX NS IDP

23 TRUNK-1 Trunk-1

24 TRUNK-2 Trunk-2

25 LEAF-1 Leaf-1

26 LEAF-2 Leaf-2

27 RDP Reliable Data Protocol

28 IRTP Internet Reliable Transaction

29 ISO-TP4 ISO Transport Protocol Class 4

30 NETBLT Bulk Data Transfer Protocol

31 MFE-NSP MFE Network Services Protocol

32 MERIT-INP MERIT Internodal Protocol

33 SEP Sequential Exchange Protocol

34-60 Unassigned

61 any host internal protocol

62 CFTP

63 any local network

64 SAT-EXPAK SATNET and Backroom EXPAK

65 MIT-SUBNET MIT Subnet Support

66 RVD MIT Remote Virtual Disk Protocol

67 IPPC Internet Pluribus Packet Core

68 any distributed file system

69 SAT-MON SATNET Monitoring

70 Unassigned

71 IPCV Internet Packet Core Utility

72-75 Unassigned

76 BR-SAT-MON Backroom SATNET Monitoring

77 Unassigned

78 WB-MON WIDEBAND Monitoring

79 WB-EXPAK WIDEBAND EXPAK

80-254 Unassigned

255 Reserved


TWorkInfo

See Also	Unit: IdComponent

Represents work information for Indy read and write operations.

TWorkInfo = record
  Current: Integer;
  Max: Integer;
  Level: Integer;
  end;

Description

TWorkInfo is a Record structure used to represent information about Indy read and write operations. TIdComponent allocates two TWorkInfo records, one to represent read operations and one to represent write operations.

TWorkInfo structures are maintain in the BeginWork and EndWork method of TIdComponent.

Current is an Integer value that identifies the number of bytes available to the operation.

Max is an Integer value that indicates the maximum number of bytes that are available to the operation.

Current should never exceed the value of Max.

Level is an Integer value that identifies the number of operations of that type that are pending. Level can range from 0 to the number of nested calls to BeginWork for the operation type.


See Also

TIdComponent.BeginWork

TIdComponent.EndWork

Technical Support


WordRec

Unit: IdDNSResolver

Represents data as HiLoBytes or Word values.

WordRec = record
  case byte of
    1: (TheBytes: HiLoBytes;);
    2: (AWord: Word;);
  end;

Description

WordRec is a Record type used to access data that can be represented as High and Low Byte values using HiLoBytes, or as a Word value in AWord.


CIdCoder

Unit: IdCoder

Code class reference.

CIdCoder = class of TIdCoder;

Description

CIdCoder is a TIdCoser class reference used to represent the coder class type in TIdCoderItem collection items.


CSET

Unit: IdHeaderCoder

Type used to represent a set of characters.

CSET = set of Char;

Description

CSET is a Set type used to represent a set of characters.


PFDSet

Unit: IdWinsock

PFDSet = ^TFDSet;

Description

The text for this type has been generated automatically. This means that it is not documented.


PHostEnt

Unit: IdWinsock

PHostEnt = ^THostEnt;

Description

The text for this type has been generated automatically. This means that it is not documented.


PIdArpHdr

Unit: IdRawHeaders

PIdArpHdr = ^TIdArpHdr;

Description

The text for this type has been generated automatically. This means that it is not documented.


PIdBase64Decoder

Unit: IdCoder3To4

PIdBase64Decoder = ^TIdBase64Decoder;

Description

The text for this type has been generated automatically. This means that it is not documented.


PIdBase64Encoder

Unit: IdCoder3To4

PIdBase64Encoder = ^TIdBase64Encoder;

Description

The text for this type has been generated automatically. This means that it is not documented.


PIdCoder

Unit: IdCoder

Pointer to a TIdCoder.

PIdCoder = ^TIdCoder;

Description

PIdCoder is a pointer to a TIdCoder.


PIdCoderItem

Unit: IdCoder

Pointer to the TIdCoderItem collection.

PIdCoderItem = ^TIdCoderItem;

Description

PIdCoderItem is a Pointer to the TIdCoderItem collection.


PIdDnsHdr

Unit: IdRawHeaders

PIdDnsHdr = ^TIdDnsHdr;

Description

The text for this type has been generated automatically. This means that it is not documented.


PIdEthernetHdr

Unit: IdRawHeaders

PIdEthernetHdr = ^TIdEthernetHdr;

Description

The text for this type has been generated automatically. This means that it is not documented.


PIdIcmpEcho

Unit: IdRawHeaders

PIdIcmpEcho = ^TIdIcmpEcho;

Description

The text for this type has been generated automatically. This means that it is not documented.


PIdIcmpFrag

Unit: IdRawHeaders

PIdIcmpFrag = ^TIdIcmpFrag;

Description

The text for this type has been generated automatically. This means that it is not documented.


PIdIcmpHdr

Unit: IdRawHeaders

PIdIcmpHdr = ^TIdIcmpHdr;

Description

The text for this type has been generated automatically. This means that it is not documented.


PIdIcmpTs

Unit: IdRawHeaders

PIdIcmpTs = ^TIdIcmpTs;

Description

The text for this type has been generated automatically. This means that it is not documented.


PIdIgmpHdr

Unit: IdRawHeaders

PIdIgmpHdr = ^TIdIgmpHdr;

Description

The text for this type has been generated automatically. This means that it is not documented.


PIdInAddr

Unit: IdStack

Pointer to an internet address.

PIdInAddr = ^TIdInAddr;

Description

PIdInAddr is a TIdInAddr pointer that represents a storage structure for the byte, word, and long representations of an internet address.


PIdIpHdr

Unit: IdRawHeaders

PIdIpHdr = ^TIdIpHdr;

Description

The text for this type has been generated automatically. This means that it is not documented.


PIdRipHdr

Unit: IdRawHeaders

PIdRipHdr = ^TIdRipHdr;

Description

The text for this type has been generated automatically. This means that it is not documented.


PIdTcpHdr

Unit: IdRawHeaders

PIdTcpHdr = ^TIdTcpHdr;

Description

The text for this type has been generated automatically. This means that it is not documented.


PIdUdpHdr

Unit: IdRawHeaders

PIdUdpHdr = ^TIdUdpHdr;

Description

The text for this type has been generated automatically. This means that it is not documented.


PIdUUDecoder

Unit: IdCoder3To4

PIdUUDecoder = ^TIdUUDecoder;

Description

The text for this type has been generated automatically. This means that it is not documented.


PIdUUEncoder

Unit: IdCoder3To4

PIdUUEncoder = ^TIdUUEncoder;

Description

The text for this type has been generated automatically. This means that it is not documented.


PIdXXDecoder

Unit: IdCoder3To4

PIdXXDecoder = ^TIdXXDecoder;

Description

The text for this type has been generated automatically. This means that it is not documented.


PIdXXEncoder

Unit: IdCoder3To4

PIdXXEncoder = ^TIdXXEncoder;

Description

The text for this type has been generated automatically. This means that it is not documented.


PIMFCoderUsage

Unit: IdMessageClient

Represent a message coder.

PIMFCoderUsage = ^TIMFCoderUsage;

Description

PIMFCoderUsage is a Pointer to a TIMFCoderUsage used to decode a message part. PIMFCoderUsage is used by the TMessage.ReceiveBody routine to allow use of multiple coders to decode a message.


PInAddr

Unit: IdWinsock

PInAddr = ^TInAddr;

Description

The text for this type has been generated automatically. This means that it is not documented.


PLinger

Unit: IdWinsock

PLinger = ^TLinger;

Description

The text for this type has been generated automatically. This means that it is not documented.


PNetEnt

Unit: IdWinsock

PNetEnt = ^TNetEnt;

Description

The text for this type has been generated automatically. This means that it is not documented.


PProtoEnt

Unit: IdWinsock

PProtoEnt = ^TProtoEnt;

Description

The text for this type has been generated automatically. This means that it is not documented.


PServEnt

Unit: IdWinsock

PServEnt = ^TServEnt;

Description

The text for this type has been generated automatically. This means that it is not documented.


PSOCKADDR

Unit: IdWinsock

PSOCKADDR = ^TSockAddr;

Description

The text for this type has been generated automatically. This means that it is not documented.


PSockAddrIn

Unit: IdWinsock

PSockAddrIn = ^TSockAddrIn;

Description

The text for this type has been generated automatically. This means that it is not documented.


PSockProto

Unit: IdWinsock

PSockProto = ^TSockProto;

Description

The text for this type has been generated automatically. This means that it is not documented.


PTimeVal

Unit: IdWinsock

PTimeVal = ^TTimeVal;

Description

The text for this type has been generated automatically. This means that it is not documented.


PTransmitFileBuffers

Unit: IdWinsock

PTransmitFileBuffers = ^TTransmitFileBuffers;

Description

The text for this type has been generated automatically. This means that it is not documented.


T__WSAFDIsSetProc

Unit: IdWinsock

T__WSAFDIsSetProc = function (s: TSocket; var FDSet: TFDSet): Bool;

Description

The text for this type has been generated automatically. This means that it is not documented.


T128BitRecord

Unit: IdCoderMessageDigest

T128BitRecord = array [0..15] of byte;

Description

T128BitRecord is a record type that represents 128-bit values required by Message Digest encoders and decoders.


T160BitRecord

Unit: IdCoderMessageDigest

T160BitRecord = array [0..19] of byte;

Description

T160BitRecord is a record type that represents 160-bit values required by Message Digest encoders and decoders.


T16x4LongWordRecord

Unit: IdCoderMessageDigest

T16x4LongWordRecord = array[0..15] of LongWord;

Description

T16x4LongWordRecord is a record type that represents 512-bit values composed of 16 32-bit values as required by Message Digest encoders and decoders.


T384BitRecord

Unit: IdCoderMessageDigest

T384BitRecord = array [0..47] of byte;

Description

T384BitRecord is a record type that represents 384-bit values as required by Message Digest encoders and decoders.


T4x4LongWordRecord

Unit: IdCoderMessageDigest

T4x4LongWordRecord = array [0..3] of LongWord;

Description

T4x4LongWordRecord is a record type that represents 128-bit values composed of 4 32-bit values as required by Message Digest encoders and decoders.


T4x4x4LongWordRecord

Unit: IdCoderMessageDigest

T4x4x4LongWordRecord = array[0..3] of T4x4LongWordRecord;

Description

T4x4x4LongWordRecord is a record type that represents 496-bit values accessed as 32-bit values as required by Message Digest encoders and decoders.


T64BitRecord

Unit: IdCoderMessageDigest

T64BitRecord = array[0..7] of byte;

Description

T64BitRecord is a record type that represents 64-bit values as required by Message Digest encoders and decoders.


TAcceptExProc

Unit: IdWinsock

TAcceptExProc = function (sListenSocket, sAcceptSocket: TSocket; lpOutputBuffer: Pointer; dwReceiveDataLength, dwLocalAddressLength, dwRemoteAddressLength: DWORD; var lpdwBytesReceived: DWORD; lpOverlapped: POverlapped): BOOL;

Description

The text for this type has been generated automatically. This means that it is not documented.


TAcceptProc

Unit: IdWinsock

TAcceptProc = function (s: TSocket; addr: PSockAddr; addrlen: PInteger): TSocket;

Description

The text for this type has been generated automatically. This means that it is not documented.


TAccessFileEvent

See Also	Unit: IdTrivialFTPServer

Specifies an event type for reading or writing to a file on the server.

TAccessFileEvent = procedure (Sender: TObject; var FileName: String; const PeerInfo: TPeerInfo; var GrantAccess: Boolean; var AStream: TStream; var FreeStreamOnComplete: Boolean) of object;

Description

TAccessFileEvent is an event type that signalled when a Trivial FTP server needs to access the contents of a file stored on the local file system on the server.

FileName indicates the name of the file on the server file system.

PeerInfo contain the PeerIp and PeerPort for the client connection performing the file access that generated the event notification.

When GrantAccess is True, the file operation for the event has been is permitted. False indicates that the operation was not permitted or an error has occurred. Update GrantAccess in a TAccessFileEvent event handler to reflect the state of the operation.

AStream contains the data to be written to the local file system as a result of the file operation.

When FreeStreamOnCompleteis True, the TAccessFileEvent event handler should free the stream in AStream.


See Also

TIdTrivialFTPServer.OnWriteFile


TAuthenticationEvent

Unit: IdTelnetServer

Specifies the event type for user authentication in a TELNET connection.

TAuthenticationEvent = procedure (AThread: TIdPeerThread; const AUsername, APassword: string; var AAuthenticated: Boolean) of object;

Description

TAuthenticationEvent is an event type used to perform authentication of username and password information provided by a TELNET connection.

AThread is the peer thread representing the TELNET connection generating the authentication event.

AUsername is the User name supplied for the connection.

APassword is the password supplied for the connection.

AAuthenticated is a variable parameter use to indicate whether the authentication request is successful.

TAuthenticationEvent is used by TIdTelnetServer in the OnAuthentication event handler to allow the server implementation to perform user authentication processing.


TAuthenticationType

Unit: IdSMTP

Represents an e-mail authentication type.

TAuthenticationType = (atNone, atLogin);

Description

TAuthenticationType is a type used to specify the authentication type used by an E-Mail server. Currently, this can be one of two values:

atNone - no authentication is required

atLogin - simple authentication is required (AUTH LOGIN)

You can find the authentication mechanisms supported on an E-Mail server by using the AuthSchemesSupported.


TBeforeClientConnectEvent

Unit: IdMappedPortTCP

Event type for connection to a remote system using a mapped port.

TBeforeClientConnectEvent = procedure (ASender: TComponent; AThread: TIdPeerThread; AClient: TIdTCPClient) of object;

Description

TBeforeClientConnectEvent is an event type that signals when the local connection for TIdMappedPort is about to connect to the remote system in OnBeforeClientConnect.


TBindProc

Unit: IdWinsock

TBindProc = function (s: TSocket; var addr: TSockAddr; namelen: Integer): Integer;

Description

The text for this type has been generated automatically. This means that it is not documented.


TCallbackEvent

Unit: IdSSLOpenSSL

Callback event type for callbacks that require a message.

TCallbackEvent = procedure (Msg: String) of object;

Description

TCallbackEvent is an event type for callbacks that require a string messages.


TCharBuf

See Also	Unit: IdIcmpClient

Specifies the ICMP receive and message buffer data type.

TCharBuf = array [1..MAX_PACKET_SIZE] of char;

Description

TCharBuf is an Array of Char type that specifies the data type for ICMP receive buffer and ICMP message buffer used by TIdICMPClient. TCharBuf is indexed from 1 to MAX_PACKET_SIZE.


See Also

MAX_PACKET_SIZE

TIdIcmpClient


TCharSet

See Also	Unit: IdGlobal

Represents character sets used by GetSystemLocale.

TCharSet = (csGB2312, csBig5, csIso2022jp, csEucKR, csIso88591);

Description

TCharSet is an enumerated type used to represent the valid character sets used by the GetSystemLocal function. Valid value for TCharset includes:

csGB2312 - Simplified Chinese character set.

csBig5 - Full Chinese character set.

csIso2022jp - Japanese character set.

csEucKR - Korean character set.

csIso88591 - Default ISO 8859-1 character set.


See Also

GetSystemLocale


TClassIdException

Unit: IdException

Represents an exception class for Indy components.

TClassIdException = class of EIdException;

Description

TClassIdException is used to indicate the type of exception some routines should raise.


TClientEvent

See Also	Unit: IdTelnet

Event type that occurs when connecting or disconnecting the TELNET client.

TClientEvent = procedure of object;

Description

TClientEvent is the event type that occurs when the TIdTelnet client opens or closes a connection to the host.

The TClientEvent event is used to notify the TIdTelnet event handlers OnConnect and OnDisconnect that the corresponding operation has occurred.


See Also

TIdTelnet

TIdTelnet.OnConnect

TIdTelnet.OnDisconnect


TClosesocketProc

Unit: IdWinsock

TClosesocketProc = function (s: TSocket): Integer;

Description

The text for this type has been generated automatically. This means that it is not documented.


TCommandEvent

Unit: IdIMAP4Server

IMAP4 command event type.

TCommandEvent = procedure (Thread : TIdPeerThread; const Tag, CmdStr: String; var Handled: Boolean) of object;

Description

TCommandEvent is an event fired for every IMAP4 command which is supported by the TIdMAPI4Server component.

The Thread parameter is the thread for this connection.

Tag is the command tag which was sent from the IMAP4 client.

This tag is a 4-digit continuous number (e.g. 000A) which is sent by the IMAP client in front of the command. If you "answer" a command you should use this tag to mark the reply. The digits normally running from "0" to "Z". (0-9,A-Z).

Command contains a string of the parameters following the detected command.

If the command is recognized by the IMAP server (e.g. LOGIN or CAPABILITY), this string contains only the following parameters.

The list of available IMAP commands and parameters is handled within the RFC2060 available at http://www.imap.org .

Set handled to True if you have completely handled the event.


TConnectionResult

Unit: IdNNTP

Result of a connection request.

TConnectionResult = (crCanPost, crNoPost, crAuthRequired, crTempUnavailable);

Description

TConnectionResult is used to store the server response to the connection request.

When the IdNNTP client connects to a NNTP server, the server will send a numeric status response to the client. This response can be of the form:

200 - NNTP Service Ready, posting permitted.

502 - NNTP Service Unavailable.

201 - NNTP Service Ready, posting prohibited.

400 - NNTP Service temporarily unavailable.

These possible responses are interpreted by the IdNNTP.Connect method and consequently the appropriate enumerated value is set in TConnectionResult to:

200 - crCanPost

201 - crNoPost

400 - crTempUnavailable


TConnectProc

Unit: IdWinsock

TConnectProc = function (s: TSocket; var name: TSockAddr; namelen: Integer): Integer;

Description

The text for this type has been generated automatically. This means that it is not documented.


TDataEvent

Unit: IdNNTPServer

Specifies the event type for NNTP operations that provide object data.

TDataEvent = procedure (AThread: TIdPeerThread;AData:TObject) of object;

Description

TDataEvent is the event type triggered for NNTP Server operations that provide object data for the NNTP operation.

AThread is the thread of execution performing the NNTP command that triggered the event.

AData is the TObject descendant that contains data related to the NNTP operation.


TDays

Unit: IdDateTimeStamp

TDays = (TDaySun, TDayMon, TDayTue, TDayWed, TDayThu, TDayFri, TDaySat);

Description

The text for this type has been generated automatically. This means that it is not documented.


TDoByIDEvent

See Also	Unit: IdNNTPServer

Specifies the event type for NNTP operations that use a message id.

TDoByIDEvent = procedure (AThread: TIdPeerThread;AActualID:string) of object;

Description

TDoByIDEvent is the event type triggered for NNTP Server operations that manipulate articles based on their message identifier.

AThread is the thread of execution performing the NNTP command that triggered the event.

AActualID is the message id for the news article to be affected by the NNTP command.


See Also

TDoByNoEvent


TDoByNoEvent

See Also	Unit: IdNNTPServer

Specifies the event type for NNTP operations that use a message number.

TDoByNoEvent = procedure (AThread: TIdPeerThread;AActualNumber:Cardinal) of object;

Description

TDoByNoEvent is the event type triggered for NNTP Server operations that manipulate articles based on their relative message number.

AThread is the thread of execution performing the NNTP command that triggered the event.

AActualNumber is the relative message number for the news article to be affected by the NNTP command.


See Also

TDoByIDEvent


TEventNewNewsList

Unit: IdNNTP

Indicates a new newsgroup article.

TEventNewNewsList = procedure (const AMsgID: string; var ACanContinue: Boolean) of object;

Description

TEventNewNewsList is an event type triggered when a Message-Id has been received using the GetNewNews method without the AList parameter.

MsgID is the message ID of the new article.

Setting ACanContinue to false will stop the request.


TEventNewsgroupList

Unit: IdNNTP

Indicates receipt of a newsgroup listing.

TEventNewsgroupList = procedure (const ANewsgroup: string; const ALow, AHigh: Cardinal; const AType: string; var ACanContinue: Boolean) of object;

Description

TEventNewsgroupList is an event type triggered when a newsgroup is retrieved using the GetNewsgroupList or GetNewGroupsList method without the AList parameter.

AType usually is one of these values:

y - Posting permitted

n - Read-Only (no posting permitted)

m - Moderated

Note: If ALow is greater than AHigh, no articles are available in this newsgroup.


TEventStreaming

Unit: IdNNTP

Event for receipt or transmission of streaming news articles.

TEventStreaming = procedure (const AMesgID: string; var AAccepted: Boolean) of object;

Description

TEventStreaming is an event type triggered by servers or news forwarding clients that support streaming mode transmission of news articles.

Set AAccepted to False to inform the peer that the new article is not accepted or already on the server.


TGetAcceptExSockaddrsProc

Unit: IdWinsock

TGetAcceptExSockaddrsProc = procedure (lpOutputBuffer: Pointer; dwReceiveDataLength, dwLocalAddressLength, dwRemoteAddressLength: DWORD; var LocalSockaddr: TSockAddr; var LocalSockaddrLength: Integer; var RemoteSockaddr: TSockAddr; var RemoteSockaddrLength: Integer);

Description

The text for this type has been generated automatically. This means that it is not documented.


TGetEvent

Unit: IdNNTPServer

Specifies the event type for NNTP operations that do not require parameters.

TGetEvent = procedure (AThread: TIdPeerThread; ALookup: string) of object;

Description

TGetEvent is the event type triggered for NNTP Server operations that do not require parameters.

AThread is the thread of execution performing the NNTP command that triggered the event.


TGetHostByAddrProc

Unit: IdWinsock

TGetHostByAddrProc = function (addr: Pointer; len, Struct: Integer): PHostEnt;

Description

The text for this type has been generated automatically. This means that it is not documented.


TGetHostByNameProc

Unit: IdWinsock

TGetHostByNameProc = function (name: PChar): PHostEnt;

Description

The text for this type has been generated automatically. This means that it is not documented.


TGetHostNameProc

Unit: IdWinsock

TGetHostNameProc = function (name: PChar; len: Integer): Integer;

Description

The text for this type has been generated automatically. This means that it is not documented.


TGetPeerNameProc

Unit: IdWinsock

TGetPeerNameProc = function (s: TSocket; var name: TSockAddr; var namelen: Integer): Integer;

Description

The text for this type has been generated automatically. This means that it is not documented.


TGetProtoByNameProc

Unit: IdWinsock

TGetProtoByNameProc = function (name: PChar): PProtoEnt;

Description

The text for this type has been generated automatically. This means that it is not documented.


TgetProtoByNumberProc

Unit: IdWinsock

TgetProtoByNumberProc = function (proto: Integer): PProtoEnt;

Description

The text for this type has been generated automatically. This means that it is not documented.


TGetServByNameProc

Unit: IdWinsock

TGetServByNameProc = function (name, proto: PChar): PServEnt;

Description

The text for this type has been generated automatically. This means that it is not documented.


TGetServByPortProc

Unit: IdWinsock

TGetServByPortProc = function (port: Integer; proto: PChar): PServEnt;

Description

The text for this type has been generated automatically. This means that it is not documented.


TGetSockNameProc

Unit: IdWinsock

TGetSockNameProc = function (s: TSocket; var name: TSockAddr; var namelen: Integer): Integer;

Description

The text for this type has been generated automatically. This means that it is not documented.


TGetSockOptProc

Unit: IdWinsock

TGetSockOptProc = function (s: TSocket; level, optname: Integer; optval: PChar; var optlen: Integer): Integer;

Description

The text for this type has been generated automatically. This means that it is not documented.


TGroupEvent

Unit: IdNNTPServer

Specifies the event type for NNTP newsgroup operations.

TGroupEvent = procedure (AThread: TIdPeerThread;AGroup:string) of object;

Description

TGroupEvent is the event type triggered for NNTP Server operations that require a newsgroup name as a parameter.

AThread is the thread of execution performing the NNTP command that triggered the event.

AGroup is the name of the newsgroup to be affected by the NNTP command.


THostEnt

Unit: IdWinsock

THostEnt = hostent;

Description

The text for this type has been generated automatically. This means that it is not documented.


THostNameGetEvent

Unit: IdHostnameServer

Event type for HostName commands without parameters.

THostNameGetEvent = procedure (Thread: TIdPeerThread) of object;

Description

THostNameGetEvent is an event type generated for TIdHostNameServer commands that do not have parameters, including:

ALL

HELP

VERSION

ALLOLD

DOMAINS

ALLDOM

ALLINGWAY

TIdHostNameServer provides event handlers for the event notification to allow the server to respond to the HostName commands.


THostNameOneParmEvent

Unit: IdHostnameServer

Event type for HostName commands with parameters.

THostNameOneParmEvent = procedure (Thread: TIdPeerThread;Parm:String) of object;

Description

THostNameOneParmEvent is an event type generated for TIdHostNameServer commands that have parameters, including:

HNAME

HADDR

TIdHostNameServer provides event handlers for the event notification to allow the server to respond to the HostName commands.


THtonlProc

Unit: IdWinsock

THtonlProc = function (hostlong: u_long): u_long;

Description

The text for this type has been generated automatically. This means that it is not documented.


THtonsProc

Unit: IdWinsock

THtonsProc = function (hostshort: u_short): u_short;

Description

The text for this type has been generated automatically. This means that it is not documented.


TICMPDataBuffer

Unit: IdIcmpClient

Specifies the data type for ICMP message data.

TICMPDataBuffer = array [1..iDEFAULTPACKETSIZE] of byte;

Description

TICMPDataBuffer is an Array of Byte type that specifies the data type for ICMP message data received in an ICMP response message.


TIdCardAddressAttributes

Unit: IdVCard

Describes a VCard address type.

TIdCardAddressAttributes = set of ( tatHome, tatDomestic, tatInternational, tatPostal, tatParcel, tatWork, tatPreferred );

Description

TIdCardAddressAttributes is a set type used to describe an address and can include the following:.

tatHome - home delivery address

tatDomestic - a domestic address

tatInternational - an international address

tatPostal - a postal delivery address

tatParcel - a parcel delivery address

tatWork - a work delivery address

tatPreferred - preferred address


TIdDICTAuthEvent

Unit: IdDICTServer

Specifies the event type for the DICT AUTH and SASLAUTH commands.

TIdDICTAuthEvent = procedure ( Thread: TIdPeerThread; Username, authstring : String ) of object;

Description

TIdDICTAuthEvent specifies the event type for the DICT AUTH and SASLAUTH commands, and is used by the TIdDICTServer OnCommandAuth and OnCommandSASLAuth event handlers to perform user authentication.

Username contains the user name to be authenticated.

For the DICT AUTH command, AuthString will contain an APOP-style MD5 Checksum as described in RFC 1939.

For the DICT SASLAUTH command, AuthString will contain the BASE64-encoded initial SASL response as described in RFC 2045. All responses to the SASLAUTH server challenge should use the SASLRESP command and a BASE64-encoded parameter.

Authentication is an optional server capability. The AUTH and SASLAUTH commands may be implemented by a DICT server.


TIdDICTDefineEvent

Unit: IdDICTServer

Specifies the event type for the DICT DEFINE command.

TIdDICTDefineEvent = procedure ( Thread: TIdPeerThread; Database, WordToFind : String ) of object;

Description

TIdDICTDefineEvent specifies the event type for the DICT DEFINE command, and is used by the OnCommandDefine event handler to perform a search for the specified word in the indicated database(s).

Database may contain a name in the form returned by the DICT SHOW DB command, or one of the following wildcard characters:

"!" - Search all databases until a match is found.

"*" - Search the current database for all matching entries.


TIdDICTGetEvent

See Also	Unit: IdDICTServer

Specifies the event type for the DICT HELP, QUIT, and STATUS commands.

TIdDICTGetEvent = procedure ( Thread: TIdPeerThread) of object;

Description

TIdDICTGetEvent specifies the event type for the DICT HELP, QUIT, and STATUS commands. TIdDICTGetEvent is used to notify the corresponding event handler that the operation should be performed.


See Also

TIdDICTServer.OnCommandStatus

TIdDICTServer.OnCommandQuit


TIdDICTMatchEvent

Unit: IdDICTServer

Specifies the event type for the DICT MATCH command.

TIdDICTMatchEvent = procedure ( Thread: TIdPeerThread; Database, Strategy,WordToFind : String ) of object;

Description

TIdDICTMatchEvent specifies the event type for the DICT MATCH command, and is used by the TIdDICTServer OnCommandMatch event handler to search the dictionary index and report the words found using a particular strategy.

All DICT servers must implement the MATCH command, and must support the "exact" and "prefix" strategies.

The "exact" strategy performs a case-insensitive comparison. The "prefix" strategy is similar to "exact", except that it only compares the first part of the word. These strategies are easily implemented and are generally the most useful. Other strategies are server dependent.

Other strategies that might be considered are matches based on substring, suffix, regular expressions, soundex [KNUTH73], and Levenshtein [PZ85] algorithms. These last two are especially useful for correcting spelling errors. Other useful strategies perform some sort of "reverse" lookup (i.e., by searching definitions to find the word that the query suggests).

Strategy may also contain the special character ".", which indicates that the server should use the default strategy for that server. This is usually a derivative of the Levenshtein algorithm [PZ85].

Database contains the name of the database to be searched, in a form returned by SHOW DB, or one the following wildcard characters:

"!" - Search all databases until a match is found.

"*" - Search for all matches in the current database.


TIdDICTOtherEvent

Unit: IdDICTServer

Specifies the event type for the DICT OPTION or other unrecognized commands.

TIdDICTOtherEvent = procedure ( Thread: TIdPeerThread; Command, Parm:String ) of object;

Description

TIdDICTOtherEvent specifies the event type for the DICT OPTION or other unrecognized commands.

TIdDICTServer uses the OnCommandOption event handler to respond to the DICT OPTION command, which informs the server that the client wishes to utilize one of the defined protocol options.

At the current time, OPTION MIME is the only recognized option. In the future, standard extensions to this protocol should be proposed which allow the client to request certain content types or encodings.

OPTION MIME requests that all text responses be prefaced by a MIME header, as described in RFC2045, and followed by a single blank line (CRLF). If a client requests this option, then the client MUST be able to parse Content-Type and Content-transfer-encoding headers, and MUST be able to ignore textual responses which have an unsupported content or encoding. A client MUST support the UTF-8 encoding described in RFC2044.

OPTION MIME is a REQUIRED server capability, and all DICT servers MUST implement this command.


TIdDICTShowEvent

Unit: IdDICTServer

Specifies the event type for the DICT SHOW command.

TIdDICTShowEvent = procedure ( Thread: TIdPeerThread; Command : String ) of object;

Description

TIdDICTShowEvent specifies the event type for the DICT SHOW command, and is used by the TIdDICTServer OnCommandShow event handler to implement the server command.

The DICT SHOW command accepts parameters to indicate the information to be generated by the server, including the following:

SHOW DB - Displays the list of currently accessible databases.

SHOW DATABASES - Displays the list of currently accessible databases.

SHOW STRAT - Displays the list of currently supported search strategies.

SHOW STRATEGIES - Displays the list of currently supported search strategies.

SHOW INFO database - Displays the source, copyright, and licensing information about the specified database.

SHOW SERVER - Displays local server herald banner.


TIdExceptionEvent

See Also	Unit: IdThread

Specifies the event handler for thread exceptions.

TIdExceptionEvent = procedure (Sender: TObject; E: Exception) of object;

Description

TIdExceptionEvent is an event handler that allows TIdThread.OnException event notifications when exceptions are raised in a thread of execution.


See Also

TIdThread.OnException


TIdFingerGetEvent

Unit: IdFingerServer

Represents the Finger event for a user information request.

TIdFingerGetEvent = procedure (AThread: TIdPeerThread; const AUserName: String) of object;

Description

TIdFingerGetEvent is the event triggered when a request for user information is detected. TIdFingerEvent is used by the TIdFingerServer OnCommandFinger and OnCommandVerboseFinger event handlers.

AThread is the current thread of execution in the Finger server.

AUserName is the user token to be handled by the Finger server. UserName can contain optional tokens as identified in RFC 1288.


TIdFTPTransferType

Unit: IdFTP

File transfer type.

TIdFTPTransferType = (ftBinary, ftASCII);

Description

TIdFTPTransferType is the type is used to indicate the file transfer type for sending and receiving files and can be one of these values:

ftBinary - Binary (8 bit) file transfers

ftASCII - ASCII (7 bit) file transfers


TIdGopherMenuEvent

Unit: IdGopher

Event type for Gopher menu display.

TIdGopherMenuEvent = procedure ( Sender : TObject; MenuItem : TIdGopherMenuItem ) of object;

Description

TIdGopherMenuEvent is an event type triggered for each GOpher menu item retrieved with the GetMenu and GetExtendedMenu methods. TIdGopherMenuEvent is used to display Gopher menu items while the complete menu is downloaded.


TIdHTTPGetEvent

See Also	Unit: IdHTTPServer

Specifies an event type for HTTP transfer commands.

TIdHTTPGetEvent = procedure (AThread: TIdPeerThread; RequestInfo: TIdHTTPRequestInfo; ResponseInfo: TIdHTTPResponseInfo) of object;

Description

TIdHTTPGetEvent represents an event type used to signal receipt of a HTTP command that transmits HTTP resources. TIdHTTPGetEvent is used for HTTP GET, POST, and HEAD commands.

AThread is the thread of execution triggering the TIdHTTPGetEvent event.

RequestInfo represents the header values to be used for a GET, HEAD or POST command as they are captured from the HTTP client.

ResponseInfo represents the header values to be returned to the HTTP client.

TIdHTTPServer provides the OnCommandGet event handler to respond to the TIdHTTPGetEvent notification.


See Also

TIdHTTPServer

TIdHTTPRequestInfo

TIdHTTPResponseInfo


TIdHTTPMethod

Unit: IdHTTP

Represents the HTTP Method for a request.

TIdHTTPMethod = (hmHead, hmGet, hmPost);

Description

TIdHTTPMethod is an enumerated type used to represent the HTTP method for a request. TIdHTTPMethod can be one of the following values:

hmHead - Head

hmGet - Get

hmPost - Post

TIdHTTPMethod is used by TIdHTTP in the DoRequest method.


TIdHTTPOnRedirectEvent

Unit: IdHTTP

Event type triggered for a HTTP redirection request.

TIdHTTPOnRedirectEvent = procedure (Sender: TObject; var dest: String; var NumRedirect: Integer; var Handled: boolean) of object;

Description

TIdHTTPOnRedirectEvent is a event type triggered when an HTTP client is notified of a redirection request from the HTTP server. TIdHTTPOnRedirectEvent is used in conjunction with an event handler to respond to the event.

Sender is the HTTP client that has received the redirection request.

Dest is the new location or URL for the resource. Dest is often used to update a GUI application with the current URL.

NumRedirects is a variable used to accumulate the number of redirection requests that the HTTP client has received.

Handled indicates that the event handler should respond to the redirection request. Set Handled to False if the application is unable to respond to the redirection request.


TIdHTTPOtherEvent

See Also	Unit: IdHTTPServer

Specifies an event type for unrecognized HTTP commands.

TIdHTTPOtherEvent = procedure (Thread: TIdPeerThread; const asCommand, asData, asVersion: string) of object;

Description

TIdHTTPOtherEvent represents the event type used to signal receipt of a HTTP command other than GET, POST, or HEAD.

TIdHTTPServer provides the OnCommandOther event handler to respond to the IdHTTPOtherEvent notification.


See Also

TIdHTTPServer


TIdHTTPProtocolVersion

Unit: IdHTTP

Represents the HTTP Protocol version for a request.

TIdHTTPProtocolVersion = (pv1_0, pv1_1);

Description

TIdHTTPProtocolVersion is an enumerated type used to represent the HTTP Protocol version for a request. TIdHTTPProtocolVersion can be one of the following values:

pv1_0 - HTTP 1.0

pv1_1 - HTTP 1.1

TIdHTTPProtocolVersion identifies the protocol version that an HTTP server must support in order to respond to the Get, Head, Post, or PostFromStream request.


TIdIrcFiveParmEvent

See Also	Unit: IdIrcServer

Event type for IRC commands having 5 parameters.

TIdIrcFiveParmEvent = procedure (Thread: TIdPeerThread; Parm1, Parm2, Parm3, Parm4, Parm5 : String) of object;

Description

TIdIrcFiveParmEvent is an event type for IRC commands having 5 parameters.


See Also

TIdIRCServer.OnCommandMode


TIdIrcGetEvent

See Also	Unit: IdIrcServer

Event type for IRC commands that do not have parameters.

TIdIrcGetEvent = procedure ( Thread: TIdPeerThread) of object;

Description

TIdIrcGetEvent is the event type generated for IRC commands that do not have parameters.


See Also

TIdIRCServer.OnCommandRehash

TIdIRCServer.OnCommandRestart


TIdIrcOneParmEvent

See Also	Unit: IdIrcServer

Event type for IRC commands having a single parameter.

TIdIrcOneParmEvent = procedure (Thread: TIdPeerThread; Parm : String) of object;

Description

TIdIrcOneParmEvent is an event type for IRC server commands having a single parameter.


See Also

TIdIRCServer.OnCommandPass

TIdIRCServer.OnCommandQuit

TIdIRCServer.OnCommandPart

TIdIRCServer.OnCommandNames

TIdIRCServer.OnCommandVersion

TIdIRCServer.OnCommandTime

TIdIRCServer.OnCommandTrace

TIdIRCServer.OnCommandAdmin

TIdIRCServer.OnCommandInfo

TIdIRCServer.OnCommandError

TIdIRCServer.OnCommandAway

TIdIRCServer.OnCommandUsers

TIdIRCServer.OnCommandWallops

TIdIRCServer.OnCommandUserHost

TIdIRCServer.OnCommandIsOn


TIdIrcOtherEvent

See Also	Unit: IdIrcServer

Specifies the event type for unknown IRC commands.

TIdIrcOtherEvent = procedure ( Thread: TIdPeerThread; Command, Parm : String) of object;

Description

TIdIrcOtherEvent is the event type for unknown IRC commands.


See Also

TIdIRCServer.OnCommandOther


TIdIrcServerEvent

See Also	Unit: IdIrcServer

Event type for the IRC SERVER command.

TIdIrcServerEvent = procedure ( Thread: TIdPeerThread; ServerName, Hopcount, Info : String) of object;

Description

TIdIrcServerEvent is an event type for the IRC SERVER command.


See Also

TIdIRCServer.OnCommandServer


TIdIrcThreeParmEvent

See Also	Unit: IdIrcServer

Event type for IRC commands having 3 parameters.

TIdIrcThreeParmEvent = procedure (Thread: TIdPeerThread; Parm1, Parm2, Parm3 : String) of object;

Description

TIdIrcThreeParmEvent is an event type for IRC commands having 3 parameters.


See Also

TIdIRCServer.OnCommandKick

TIdIRCServer.OnCommandConnect

TIdIRCServer.OnCommandWhoWas


TIdIrcTwoParmEvent

See Also	Unit: IdIrcServer

Event type for IRC commands having 2 parameters.

TIdIrcTwoParmEvent = procedure (Thread: TIdPeerThread; Parm1, Parm2 : String) of object;

Description

TIdIrcTwoParmEvent is an event type for IRC commands having 2 parameters.


See Also

TIdIRCServer.OnCommandNick

TIdIRCServer.OnCommandOper

TIdIRCServer.OnCommandSQuit

TIdIRCServer.OnCommandJoin

TIdIRCServer.OnCommandTopic

TIdIRCServer.OnCommandList

TIdIRCServer.OnCommandInvite

TIdIRCServer.OnCommandStats

TIdIRCServer.OnCommandLinks

TIdIRCServer.OnCommandNotice

TIdIRCServer.OnCommandPrivMsg

TIdIRCServer.OnCommandWho

TIdIRCServer.OnCommandWhoIs

TIdIRCServer.OnCommandPing

TIdIRCServer.OnCommandPong

TIdIRCServer.OnCommandSummon


TIdIrcUserEvent

See Also	Unit: IdIrcServer

Event type for the IRC User command.

TIdIrcUserEvent = procedure ( Thread: TIdPeerThread; UserName, HostName, ServerName, RealName : String) of object;

Description

TIdIrcUserEvent is the event type for the IRC User command.


See Also

TIdIRCServer.OnCommandUser


TIdLinger

Unit: IdStackWinsock

Linger data type for Indy.

TIdLinger = TLinger;

Description

TIdLinger represents the TLinger type used in Indy protocol stack interface implementations.


TIdLogDebugTarget

See Also	Unit: IdLogDebug

Specifies the target for TIdLogDebug log messages.

TIdLogDebugTarget = (ltFile, ltDebugOutput, ltEvent);

Description

TIdLogDebugTarget is an enumerated type that specifies the target for TIdLogDebug log messages. TIdLogDebugTarget can have the following values:

ltFile - Write log messages to a file.

ltDebugOutput - Write log messages to Debugger Output.

ltEvent - Do not output messages, fire events only.

TIdLogDebugTarget is used to specify the value of the TIdLogDebug.Target property and the target for log messages in TIdLogDebug.


See Also

TIdLogDebug

TIdLogDebug.Target


TIdMessageEvent

Unit: IdMessage

Specified the event type for message handling.

TIdMessageEvent = procedure (ASender : TComponent; var AMsg : TIdMessage) of object;

Description

TIdMessageEvent is an event type used to signal events that occur when handling the TIdMessage specified in AMsg.


TIdMessagePartClass

Unit: IdMessage

TIdMessagePartClass = class of TIdMessagePart;

Description

The text for this type has been generated automatically. This means that it is not documented.


TIdMessagePriority

Unit: IdMessage

Specifies the message priority.

TIdMessagePriority = (mpHighest, mpHigh, mpNormal, mpLow, mpLowest);

Description

TIdMessagePriority is an enumerated type used to describe the priority of a message. TIdMessagePriority can contain one of the following values:

mpHighest - The message should be given the highest priority.

mpHigh - This message should be given a high priority.

mpNormal - This message should be given the normal priority. This is the default value.

mpLow - This message should be given a low priority.

mpLowest - This message should be given the lowest priority.

TIdMessagePriority is used by TIdMessage to represent the value of either the "Priority:" or "X-Priority:" headers in a RFC 822 message.


TIdNetTime

Unit: IdRawHeaders

TIdNetTime = longword;

Description

The text for this type has been generated automatically. This means that it is not documented.


TIdPhoneAttributes

Unit: IdVCard

Describes a VCard telephone number.

TIdPhoneAttributes = set of ( tpaHome, tpaVoiceMessaging, tpaWork, tpaPreferred, tpaVoice, tpaFax, paCellular, tpaVideo, tpaBBS, tpaModem, tpaCar, tpaISDN, tpaPCS, tpaPager);

Description

TIdPhoneAttributes is an enumerated type that describes a telephone number type, and can include the following values:

tpaHome - home telephone number

tpaVoiceMessaging - voice messaging is available

tpaWork - work telephone number

tpaPreferred - preferred telephone number

tpaVoice - voice telephone number

tpaFax - facsimile telephone number

tpaCellular - cellular telephone number

tpaVideo - video-phone number

tpaBBS - Bulletin Board System

tpaModem - Modem telephone number

tpaCar - Car telephone

tpaISDN - ISDN telephone number

tpaPCS - personal communication services telephone number

tpaPager - pager telephone number


TIdPID

See Also	Unit: IdGlobal

Represents an Indy process identifier.

TIdPID = LongWord;

Description

TIdPID is the type used to represent Indy Process identifiers, and encapsulates the platform-specific data type used to represent a process identifier.

For the Windows platform, TIdPID is defined as a LongWord value as returned by the CurrentProcessID function.

For the Linux platform, TIdPID is defined as an Integer value as returned by the CurrentProcessID function.


See Also

CurrentProcessId


TIdQOTDGetEvent

Unit: IdQotdServer

Specifies an event type for TIdQuotdServer commands.

TIdQOTDGetEvent = procedure ( Thread: TIdPeerThread ) of object;

Description

TIdQOTDGetEvent is an event type that allows TIdQuotdServer to respond to the OnCommandQOTD event. Thread is the thread for the client connection.


TIdServeFile

Unit: IdStack

Function type for an optimized file transmission procedure.

TIdServeFile = function (ASocket: TIdStackSocketHandle; AFileName: string): cardinal;

Description

TIdServeFile is a Cardinal function type that represents the function used to perform file transmission. TIdServeFile abstracts the ServeFile function under Windows NT that is optimized for sequential read-only access. GServeFile is the application global instance of the function for Indy.


TIdServerThreadEvent

See Also	Unit: IdTCPServer

Specifies an event type for connections on a TCP server.

TIdServerThreadEvent = procedure (AThread: TIdPeerThread) of object;

Description

TIdServerThreadEvent is a event type that allows the TCP server to respond to requests generated by a TIdPeerThread connections on the server. TIdServerThreadEvent is generated when a peer thread requests a connection, begins executing, or intends to close the connection on the TCP server.


See Also

TIdTCPServer.OnExecute

TIdTCPServer.OnConnect

TIdTCPServer.OnDisconnect


TIdSSLAction

Unit: IdSSLOpenSSL

SSL socket action allowed.

TIdSSLAction = (sslRead, sslWrite);

Description

TIdSSLAction is an enumerated type that represents the action allowed using the SSL socket.


TIdSSLErrorMode

Unit: IdSSLOpenSSL

Error type for the SSL exception.

TIdSSLErrorMode = (sslemClient, sslemServer);

Description

TIdSSLErrorMode is an enumerated type that indicates the error type for the SSL exception.


TIdSSLMode

Unit: IdSSLOpenSSL

SSL context mode values.

TIdSSLMode = (sslmUnassigned, sslmClient, sslmServer, sslmBoth);

Description

TIdSSLMode is an enumerated type that represents the valid values for the mode of the SSL context.


TIdSSLVerifyMode

Unit: IdSSLOpenSSL

Valid verify mode values for an SSL context.

TIdSSLVerifyMode = (sslvrfPeer, sslvrfFailIfNoPeerCert, sslvrfClientOnce);

Description

TIdSSLVerifyMode is an enumerated type that represents the valid values for verify mode of an SSL context.


TIdSSLVerifyModeSet

Unit: IdSSLOpenSSL

Set of verify mode values for the SSL context.

TIdSSLVerifyModeSet = set of TIdSSLVerifyMode;

Description

TIdSSLVerifyModeSet is a Set type that contains TIdSSLVerifyMode values for the SSL context.


TIdSSLVersion

Unit: IdSSLOpenSSL

SSL version numbers.

TIdSSLVersion = (sslvSSLv2, sslvSSLv23, sslvSSLv3, sslvTLSv1);

Description

TIdSSLVersion is an enumerated type that represents the valid SSL Version numbers for Indy OpenSSL components.


TIdStackSocketHandle

Unit: IdStackConsts

TIdStackSocketHandle = TSocket;

Description

The text for this type has been generated automatically. This means that it is not documented.


TIdStatisticsOperation

See Also	Unit: IdTunnelCommon

Represents the statistical operation for the Tunnel component.

TIdStatisticsOperation = (soIncrease, soDecrease);

Description

TIdStatisticsOperation is an enumerated type that represents the type of statistical operation to be performed for a Tunnel component.


See Also

TIdTunnelMaster.SetStatistics

TIdTunnelSlave.SetStatistics


TIdStatus

Unit: IdComponent

Represents the connection status for a component.

TIdStatus = (hsResolving, hsConnecting, hsConnected, hsDisconnecting, hsDisconnected, hsText);

Description

TIdStatus is an enumerated type that represents the connection status for an Indy component. TIdStatus can contain one of the following values:

hsResolving - A host name is being resolved to an IP Address

hsConnecting - A connection is being opened

hsConnected - A connection has been made

hsDisconnecting - The connection is being closed

hsDisconnected - The connection has been closed

hsText - The connection is generating an informational message


TIdStatusEvent

Unit: IdComponent

Represents a connection status event for the component.

TIdStatusEvent = procedure (axSender: TObject; const axStatus: TIdStatus; const asStatusText: string) of object;

Description

TIdStatusEvent is an event type triggered during a change in the connection status for the component. TIdStatusEvent is triggered by the DoStatus method.

axStatus is the TIdStatus value for the current connection, and can contain one of the following values:

hsResolving - A host name is being resolved for an IP address

hsConnecting - A connection is being opened

hsConnected - A connection has been made

hsDisconnecting - The connection is being closed

hsDisconnected - The connection has been closed

hsText - The connection has generated an informational message

axStatusText is the suggested text for displaying the component connection status.


TIdStringMessageEvent

Unit: IdMessage

Specified the event type for string events.

TIdStringMessageEvent = procedure (ASender : TComponent; const AString : String; var AMsg : TIdMessage) of object;

Description

TIdStringMessageEvent is the event type used to signal events that occur for the TIdMessage that can be identified by the value specified in AString.


TIdTelnetNegotiateEvent

Unit: IdTelnetServer

Specifies an event type for TELNET option negotiation.

TIdTelnetNegotiateEvent = procedure (AThread: TIdPeerThread) of object;

Description

TIdTelnetNegotiateEvent is an event type used to signal option negotiation features as describe in the TELNET protocol specifications. TELNET negotiated options allow a TELNET server to provide services that enhance the basic features available in a Network Virtual Terminal (NVT). Negotiated options utilize the "DO, DON'T, WILL, WON'T" conversation mechanism that allows either party (or both) to initiate an option request, accept or request an option request, and implement the requested option.

AThread is the peer thread generating the option negotiation event.

TIdTelnetServer uses the OnNegotiate event handler to respond to TIdTelnetNegotiateEvent event notifications for connections.


TIdTFTPMode

Unit: IdTrivialFTPBase

Specifies the transfer mode for data on TFTP connection.

TIdTFTPMode = (tfNetAscii, tfOctet);

Description

TIdTFTPMode is an enumerated type that specifies the transfer mode for data on TFTP connection, and can contain the values tfNetAscii and tfOctet.

tfNetAscii indicates that the connection will transmit data using the netascii, or "USA Standard Code for Information Interchange", format defined in the Telnet protocol specification. tfNetAscii will contain 8-bit ASCII data.

tfOctet indicates that the connection will transmit raw 8-bit data, or binary data.


TIdThreadClass

See Also	Unit: IdThread

Class type for new thread instances.

TIdThreadClass = class of TIdThread;

Description

TIdThreadClass is a TIdThread class type used by TIdThreadMgr and descendants to represent the class type instance created by the thread manager using CreateNewThread.


See Also

TIdThreadMgr.CreateNewThread


TIdThreadStopMode

See Also	Unit: IdThread

Identifies the manner used to halt a thread.

TIdThreadStopMode = (smTerminate, smSuspend);

Description

TIdThreadStopMode is an enumerated type that identifies the valid values for TIdThread.StopMode, and indicates the manner used to halt execution of TIdThread.Run.

TIdThreadStopMode can contain one of the following values:

smTerminate - Thread was terminated.

smSuspend - Thread was suspended.


See Also

TIdThread.StopMode


TIdVCardEMailType

Unit: IdVCard

Describes a VCard e-mail address type.

TIdVCardEMailType = (ematAOL, ematAppleLink, ematATT, ematCIS, emateWorld, ematInternet, ematIBMMail, ematMCIMail, ematPowerShare, ematProdigy, ematTelex, ematX400);

Description

TIdVCardEMailType is used to indicate a type of E-Mail address and can be one of these values:

ematAOL - America On-Line

ematAppleLink - AppleLink

ematATT - AT&T Mail

ematCIS - CompuServe Information Service

emateWorld - eWorld

ematInternet -Internet SMTP

ematIBMMail - IBM Mail

ematMCIMail - MCI Mail

ematPowerShare - PowerShare

ematProdigy - Prodigy Information Service

ematTelex - Telex number

ematX400 - X.400 service


TInAddr

Unit: IdWinsock

TInAddr = in_addr;

Description

The text for this type has been generated automatically. This means that it is not documented.


TInet_AddrProc

Unit: IdWinsock

TInet_AddrProc = function (cp: PChar): u_long;

Description

The text for this type has been generated automatically. This means that it is not documented.


TInet_NtoaProc

Unit: IdWinsock

TInet_NtoaProc = function (inaddr: TInAddr): PChar;

Description

The text for this type has been generated automatically. This means that it is not documented.


TIntStringEvent

See Also	Unit: IdCoder

Event type for coders that allow Integer and String event parameters.

TIntStringEvent = procedure (ASender: TComponent; AVal : Integer; const AOut: String) of object;

Description

TIntStringEvent is am event type used for coder event notifications that allow both the Integer result code in AVal and the string content in AOut.


See Also

TIdCoder.OnNotification


TIoctlSocketProc

Unit: IdWinsock

TIoctlSocketProc = function (s: TSocket; cmd: DWORD; var arg: u_long): Integer;

Description

The text for this type has been generated automatically. This means that it is not documented.


TListenProc

Unit: IdWinsock

TListenProc = function (s: TSocket; backlog: Integer): Integer;

Description

The text for this type has been generated automatically. This means that it is not documented.


TLogItemEvent

See Also	Unit: IdLogDebug

Event type triggered during message logging.

TLogItemEvent = procedure (ASender: TComponent; var AText: string) of object;

Description

TLogItemEvent is an event type triggered when messages are written using the Log method.

In TIdLogDebug, the TIdLogEvent can be used to updated GUI applications when one of the logged operations from TIdLogBase has occurred. Assign an event handler to OnLogItem to capture and process TLogEventItem events.


See Also

TIdLogDebug

TIdLogBase

TIdLogDebug.OnLogItem


TModeSetResult

See Also	Unit: IdNNTP

Indicates the result from a an NNTP mode change.

TModeSetResult = (mrCanStream, mrNoStream, mrCanIHAVE, mrNoIHAVE, mrCanPost, mrNoPost);

Description

TModeSetResult is used to indicated the result from a request to change the mode of an NNTP connection. TModeSetResult values are generally updated in methods that establish an NNTP connection, or prepare a connection for transmission of articles.

Valid result values for a change to NNTP mode include the following:

mrCanStream - Connection can send multiple articles.

mrNoStream - Connection cannot send multiple articles.

mrCanIHAVE - Connection can perform negotiated article exchange.

mrNoIHAVE - Connection cannot perform negotiated article exchange.

mrCanPost - Connection can post new articles.

mrNoPost - Connection cannot post new articles.

TModeType determines the range of valid TModeSetResult values that can apply to the NNTP connection. For example:

mtStream - mrCanStream, mrNoStream

mtIHAVE - mrCanIHAVE, mrNoIHAVE

mtReader - mrCanPost, mrNoPost


See Also

TIdNNTP


TModeType

Unit: IdNNTP

Indicates the NNTP connection mode for an NNTP connection.

TModeType = (mtStream, mtIHAVE, mtReader);

Description

TModeType indicates the NNTP connection mode to be used by an NNTP client or server. Valid values for TModeType includes the following:

mtStream

mtIHAVE

mtReader

mtStream indicates that the NNTP connection supports a stream of forwarded NNTP messages. mtStream is used to send a group of articles to an NNTP server, or in server to server NNTP news distribution.

mtIHave that the NNTP connection wants to perform negotiated article transmissions for articles already posted to an NNTP host. mtIHave informs a server that an article is available, and if the server desires a copy of that article, it will return a response instructing the client to send the entire article. If the server does not want the article (if, for example, the server already has a copy of it), a response indicating that the article is not wanted will be returned.

mtReader is the NNTP connection mode normally used by NNTP clients (or news readers).


TMonths

Unit: IdDateTimeStamp

TMonths = (TMthJan, TMthFeb, TMthMar, TMthApr, TMthMay, TMthJun, TMthJul, TMthAug, TMthSep, TMthOct, TMthNov, TMthDec);

Description

The text for this type has been generated automatically. This means that it is not documented.


TNetEnt

Unit: IdWinsock

TNetEnt = netent;

Description

The text for this type has been generated automatically. This means that it is not documented.


TNetworkClass

Unit: IdNetworkCalculator

Specifies valid network class values used by TIdNetworkCalculator.

TNetworkClass = (ID_NET_CLASS_A, ID_NET_CLASS_B, ID_NET_CLASS_C, ID_NET_CLASS_D, ID_NET_CLASS_E);

Description

TNetwork class is an enumerated type that identifies the valid values that can be used in TIdNetworkCalculator. Values in the TNetworkClass enumeration correspond to the network addressing scheme described in the Internet Standards document An IP Address Extension Proposal, RFC 1365 , by K. Siyan.

The 32-bit IP address is defined as having a network part and a local address part. The division between the network part and the local address part has been defined in terms of 5 address classes: class A, B, C, D, E. Only class A, B, and C addresses are assigned to hosts. Class D is used for multicasting. Class E is reserved.

The enumerated values and meanings of TNetworkClass are:

ID_NET_CLASS_A - Class A has the highest order bit set to 0, a 7 bit network number and a 24 bit host address.

ID_NET_CLASS_B - Class B has the two higher order bits set to 10, a 14 bit network number and a 16 bit host address.

ID_NET_CLASS_C - Class C has the three higher order bit set to 110, a 21 bit network number and a 8 bit host address.

ID_NET_CLASS_D - Class D has the four higher order bits set to 1110.

ID_NET_CLASS_E- Class E has four higher address bits set to 1111.


TNewsEvent

Unit: IdNNTPServer

Specifies the event type for NNTP operations with parameters and return values.

TNewsEvent = procedure (AThread: TIdPeerThread;AParm:String) of object;

Description

TNewsEvent is the event type triggered for NNTP Server operations that accept one or more parameters, and return one or more values as a result of the NNTP command.

AThread is the thread of execution performing the NNTP command that triggered the event.

AParm is the string containing an optional list of parameters for the NNTP command.


TNewsTransportEvent

See Also	Unit: IdNNTP

Event triggered during article receipt or transmission.

TNewsTransportEvent = procedure (AMsg: TStringList) of object;

Description

TNewsTransportEvent is an event triggered during news during receipt or transmission of one or more NNTP news articles. TNewsTransportEvent provides a mechanism to override the default handling of article transmission in methods like SendCheck, SendIHAVE and SendTakeThis.

AMsg contains one or more Message IDs, one Message ID per line, to be handled by the event.

Note: If a TNewsTransportEvent is assigned for a SendXXX method, it is assumed that all message handling and transport will be assumed by the event handler.


See Also

TIdNNTP.OnSendCheck

TIdNNTP.OnSendIHAVE

TIdNNTP.OnSendTakeThis


TNtohlProc

Unit: IdWinsock

TNtohlProc = function (netlong: u_long): u_long;

Description

The text for this type has been generated automatically. This means that it is not documented.


TNtohsProc

Unit: IdWinsock

TNtohsProc = function (netshort: u_short): u_short;

Description

The text for this type has been generated automatically. This means that it is not documented.


TOnGetMessagePartStream

Unit: IdMessage

Specifies the event type for reading a message part from a stream.

TOnGetMessagePartStream = procedure (AStream: TStream) of object;

Description

TOnGetMessagePartStream is an event type used to signal events that occur while handling a message part that resides in a stream.

TOnGetMessagePartStream is the event type used by the OnGetMessagePartStream event handler of TIdMessagePart.


TOnReplyEvent

See Also	Unit: IdIcmpClient

Specifies the event type for receipt of an ICMP reply.

TOnReplyEvent = procedure (ASender: TComponent; const AReplyStatus: TReplyStatus) of object;

Description

TOnReplyEvent is an event type that allows an allows a TIdIcmpClient to receive and respond to receipt of an ICMP reply message. The TOnReplyEvent is triggered when TIdIcmpClient has interpreted the reply status.


See Also

TIdIcmpClient.OnReply


TOnSessionEndEvent

See Also	Unit: IdHTTPServer

Specifies an event type for a terminating HTTP session.

TOnSessionEndEvent = procedure (Sender: TIdHTTPSession) of object;

Description

TOnSessionEndEvent is an event type used to signal that an HTTP session will be removed from the Indy session list. TOnSessionEndEvent is used by TIdHTTPServer and TIdHTTPSessionList to implement maintaining session state for TIdHTTPSessions.


See Also

TIdHTTPServer

TIdHTTPSessionList

TIdHTTPSession


TOnSessionStartEvent

See Also	Unit: IdHTTPServer

Specifies an event type for a new HTTP session.

TOnSessionStartEvent = procedure (Sender: TIdHTTPSession) of object;

Description

TOnSessionStartEvent is an event type used to signal that an HTTP session will be created and added to the Indy session list. TOnSessionStartEvent is used by TIdHTTPServer and TIdHTTPSessionList to implement maintaining session state for TIdHTTPSessions.


See Also

TIdHTTPServer

TIdHTTPSessionList

TIdHTTPSession


TOnTelnetCommand

See Also	Unit: IdTelnet

Event type that occurs when a TELNET command is received.

TOnTelnetCommand = procedure (Sender: TComponent; Status: TTelnetCommand) of object;

Description

TOnTelnetCommand specifies the event type triggered when a TELNET command is received by the TIdTelnet client.

Status is the TTelnetCommand received by the client, and provided to the OnTelnetCommand event handler in the TIdTelnet client.


See Also

TTelnetCommand

TIdTelnet.OnTelnetCommand


TOtherEvent

Unit: IdNNTPServer

Specifies the event type for NNTP AUTHINFO and other operations.

TOtherEvent = procedure (AThread: TIdPeerThread;ACommand:String;AParm:String;var AHandled:Boolean) of object;

Description

TOtherEvent is the event type triggered for the NNTP Server command AUTHINFO and the default handler for unknown NNTP commands.

AThread is the thread of execution performing the NNTP command that triggered the event.

ACommand is the command to be executed.

AParm is the string containing an optional list of parameters for the NNTP command.

AHandled indicates if the command was recognized and processed by the event handler.


TPasswordEvent

Unit: IdSSLOpenSSL

Event type for password callbacks.

TPasswordEvent = procedure (var Password: String) of object;

Description

TPasswordEvent is an event type for password callback functions that receive the password as a String value.


TPlusRequestEvent

Unit: IdGopherServer

Gopher+ request event.

TPlusRequestEvent = procedure (AThread: TIdPeerThread;ARequest:String; APlusData : String) of object;

Description

TPlusRequestEvent is the event type used to signal a Gopher request for a Gopher connection.

APlusData includes the Gopher+ command in the first byte, and additional information such as a requested View for an item or ASK block data sent from the client.

TIdGopherServer.OnPlusRequest is the event handler used to allow the application to respond to the event notification.


TPosProc

See Also	Unit: IdGlobal

Specifies an integer function type for IndyPos implementation.

TPosProc = function (const Substr, S: string): Integer;

Description

TPosProc is an Integer function type used to specify the implementation for the IndyPos function. TPosProc accepts two constant string arguments used as parameters for the IndyPos implementation.


See Also

IndyPos


TProceduralEvent

Unit: IdTCPClient

Event type for procedural events.

TProceduralEvent = procedure of object;

Description

TProceduralEvent is an event type used for procedural events.


TProtoEnt

Unit: IdWinsock

TProtoEnt = protoent;

Description

The text for this type has been generated automatically. This means that it is not documented.


TRANSMIT_FILE_BUFFERS

Unit: IdWinsock

TRANSMIT_FILE_BUFFERS = _TRANSMIT_FILE_BUFFERS;

Description

The text for this type has been generated automatically. This means that it is not documented.


TRecvFromProc

Unit: IdWinsock

TRecvFromProc = function (s: TSocket; var Buf; len, flags: Integer; var from: TSockAddr; var fromlen: Integer): Integer;

Description

The text for this type has been generated automatically. This means that it is not documented.


TRecvProc

Unit: IdWinsock

TRecvProc = function (s: TSocket; var Buf; len, flags: Integer): Integer;

Description

The text for this type has been generated automatically. This means that it is not documented.


TReplyStatusTypes

Unit: IdIcmpClient

Identifies values for an ICMP Reply Status.

TReplyStatusTypes = (rsEcho, rsError, rsTimeOut, rsErrorUnreachable, rsErrorTTLExceeded);

Description

TReplyStatusTypes is an enumerated type that identifies the response type values that can be received for an ICMP reply. TReplyStatusTypes can contain one of the following values:

rsEcho - An Echo was received.

rsError - An error has occurred.

rsTimeOut - Timeout occurred before a response was received.

rsErrorUnreachable - The address for the ICMP message is not available.

rsErrorTTLExceeded - Time-To-Live exceeded for an ICMP response.


TRequestedRecord

Unit: IdDNSResolver

Resource type desired for the requested resource record.

TRequestedRecord = cA ..cStar;

Description

TRequestedRecord is an enumrated value that represent a valid resource type constant.


TRequestedRecords

Unit: IdDNSResolver

Set of requested records for the DNS Query.

TRequestedRecords = set of TRequestedRecord;

Description

TRequestedRecords is a Set type that contains TRequestedRecord values for a DNS query.


TRequestEvent

Unit: IdGopherServer

Gopher request event.

TRequestEvent = procedure (AThread: TIdPeerThread;ARequest:String) of object;

Description

TRequestEvent is an event type used to signal a Gopher request from a connection on a Gopher server.

TIdGopherServer.OnRequest is the event handler provided to allow the application to respond to the client request.


TSelectProc

Unit: IdWinsock

TSelectProc = function (nfds: Integer; readfds, writefds, exceptfds: PFDSet; timeout: PTimeVal): Longint;

Description

The text for this type has been generated automatically. This means that it is not documented.


TSendMsgEvent

Unit: IdTunnelCommon

TSendMsgEvent = procedure (Thread: TIdPeerThread; var CustomMsg: String) of object;

Description

The text for this type has been generated automatically. This means that it is not documented.


TSendMsgEventC

Unit: IdTunnelCommon

TSendMsgEventC = procedure (var CustomMsg: String) of object;

Description

The text for this type has been generated automatically. This means that it is not documented.


TSendProc

Unit: IdWinsock

TSendProc = function (s: TSocket; var Buf; len, flags: Integer): Integer;

Description

The text for this type has been generated automatically. This means that it is not documented.


TSendToProc

Unit: IdWinsock

TSendToProc = function (s: TSocket; var Buf; len, flags: Integer; var addrto: TSockAddr; tolen: Integer): Integer;

Description

The text for this type has been generated automatically. This means that it is not documented.


TSendTrnEvent

Unit: IdTunnelCommon

TSendTrnEvent = procedure (Thread: TIdPeerThread; var Header: TIdHeader; var CustomMsg: String) of object;

Description

The text for this type has been generated automatically. This means that it is not documented.


TSendTrnEventC

Unit: IdTunnelCommon

TSendTrnEventC = procedure (var Header: TIdHeader; var CustomMsg: String) of object;

Description

The text for this type has been generated automatically. This means that it is not documented.


TServEnt

Unit: IdWinsock

TServEnt = servent;

Description

The text for this type has been generated automatically. This means that it is not documented.


TSetSockOptProc

Unit: IdWinsock

TSetSockOptProc = function (s: TSocket; level, optname: Integer; optval: PChar; optlen: Integer): Integer;

Description

The text for this type has been generated automatically. This means that it is not documented.


TShutDownProc

Unit: IdWinsock

TShutDownProc = function (s: TSocket; how: Integer): Integer;

Description

The text for this type has been generated automatically. This means that it is not documented.


TSockAddr

Unit: IdWinsock

TSockAddr = sockaddr_in;

Description

The text for this type has been generated automatically. This means that it is not documented.


TSocket

Unit: IdWinsock

TSocket = u_int;

Description

The text for this type has been generated automatically. This means that it is not documented.


TSocketProc

Unit: IdWinsock

TSocketProc = function (af, Struct, protocol: Integer): TSocket;

Description

The text for this type has been generated automatically. This means that it is not documented.


TSockProto

Unit: IdWinsock

TSockProto = sockproto;

Description

The text for this type has been generated automatically. This means that it is not documented.


TSocksAuthentication

Unit: IdSocks

Specifies the Socks Authentication type.

TSocksAuthentication = (saNoAuthentication, saUsernamePassword);

Description

TSocksAuthentication is an enumerated type that specifies the type of authentication required for the Socks proxy.

TSocksAuthentication may contain one of these following values:

saNoAuthentication - No authentication is required.

saUsernamePassword - User Name and Password authentication.


TSocksVersion

Unit: IdSocks

Represents Socks protocol version values.

TSocksVersion = (svNoSocks, svSocks4, svSocks4A, svSocks5);

Description

TSocksVersion is an enumerated type used to specify the version of the proxy protocol required for a client connection.

TSocksVersion may contain one of these following values:

svNoSocks - No socks functionality.

svSocks4 - SOCKS version 4.0.

svSocks4A - SOCKS version 4.0A.

svSocks5 - SOCKS version 5.0.


TStringEvent

See Also	Unit: IdCoder

Coder event type for string notifications.

TStringEvent = procedure (ASender: TComponent; const AString: String);

Description

TStringEvent is an event type used to allow notification of coder events using the string message specified in AOut.


See Also

TIdCoder.OnCodedData


TTelnetCommand

See Also	Unit: IdTelnet

Specifies the commands recognized by the TELNET command event handler.

TTelnetCommand = (tncNoLocalEcho, tncLocalEcho, tncEcho);

Description

TTelnetCommand is an enumerated type that identifies the TELNET commands recognized by the OnTelnetCommand event handler in TIdTelnet during suboption negotiations. The valid values for TTelnetCommand include the following values:

tncNoLocalEcho - The NVT will not echo characters locally.

tncLocalEcho - The NVT will echo characters locally.

tncEcho - The NVT will allow the remote host to echo characters.


See Also

TIdTelnet

TIdTelnet.OnTelnetCommand


TThreadPriority

See Also	Unit: IdGlobal

Identifies thread priority constants.

TThreadPriority = (tpIdle, tpLowest, tpLower, tpNormal, tpHigher, tpHighest, pTimeCritical);

Description

TThreadPriority is an enumerated type that identifies the valid thread priority constant values on the Linux platform.


See Also

SetThreadPriority


TTimeVal

Unit: IdWinsock

TTimeVal = timeval;

Description

The text for this type has been generated automatically. This means that it is not documented.


TTnDataAvail

See Also	Unit: IdTelnet

Event type that occurs when data is received by the TELNET client.

TTnDataAvail = procedure (Buffer : String) of object;

Description

TTnDataAvail is the event type triggered when data is read from the host connection for a TIdTelnet client.

Buffer represents the data read from the TIdTelnetReadThread and provided to the OnDataAvailable event handler in TIdTelnet.


See Also

TIdTelnet.OnDataAvailable

TIdTelnetReadThread


TTnState

Unit: IdTelnet

Specifies the TELNET client states.

TTnState = (tnsDATA, tnsIAC, tnsIAC_SB, tnsIAC_WILL, tnsIAC_DO, tnsIAC_WONT, tnsIAC_DONT, tnsIAC_SBIAC, tnsIAC_SBDATA, tnsSBDATA_IAC);

Description

TTnState is an enumerated type that identifies the valid states for the TIdTelnet client. TTnState is updated in the TELNET client to reflect the nature and use of the data received by the client.

The following values are valid for TTnState:

tnsDATA - Data follows.

tnsIAC - Interpret as Command.

tnsIAC_SB - Suboption begin.

tnsIAC_WILL - Desire to perform or confirm the option.

tnsIAC_DO - Request the peer to perform or confirm the option.

tnsIAC_WONT - Desire to cease or confirm stopping the option.

tnsIAC_DONT - Request the peer to cease or confirm stopping the option.

tnsIAC_SBIAC - Suboption Interpret as Command.

tnsIAC_SBDATA - Suboption Interpret as Data.

tnsSBDATA_IAC - Suboption Data extension to Interpret as Command.


TTransfer

Unit: IdHeaderCoder

Represents transfer encoding values.

TTransfer = (bit7, bit8, iso2022jp);

Description

TTransfer is an enumerated type that represents the valid MIME transfer encoding values for header encoding and decoding operations. TTransfer can contain one of the following values:

bit7

bit8

iso2022jp


TTransferCompleteEvent

See Also	Unit: IdTrivialFTPServer

Specifies the event type for completed TFTP transfers.

TTransferCompleteEvent = procedure (Sender: TObject; const Success: Boolean; const PeerInfo: TPeerInfo; AStream: TStream; const WriteOperation: Boolean) of object;

Description

TTransferCompleteEvent is an event type signalled when a TrivialFTP server transfer operation has been completed. TTransferCompleteEvent allows the TFTP server to perform operations that may be required for the peer connection or data received on the connection.


See Also

TIdTrivialFTPServer.OnTransferComplete


TTransmitFileBuffers

Unit: IdWinsock

TTransmitFileBuffers = _TRANSMIT_FILE_BUFFERS;

Description

The text for this type has been generated automatically. This means that it is not documented.


TTransmitFileProc

Unit: IdWinsock

TTransmitFileProc = function (hSocket: TSocket; hFile: THandle; nNumberOfBytesToWrite: DWORD; nNumberOfBytesPerSend: DWORD; lpOverlapped: POverlapped; lpTransmitBuffers: PTransmitFileBuffers; dwReserved: DWORD): BOOL;

Description

The text for this type has been generated automatically. This means that it is not documented.


TTunnelEvent

Unit: IdTunnelSlave

Specified the event type for slave thread notifications.

TTunnelEvent = procedure (Thread: TSlaveThread) of object;

Description

TTunnelEvent is an event type that identifies the TSlaveThread affected by the event notification. TTunnelEvent is the event type generated for the OnTransformRead and OnTunnelDisconnect event handlers.


TTunnelEventC

Unit: IdTunnelCommon

TTunnelEventC = procedure (Receiver: TReceiver) of object;

Description

The text for this type has been generated automatically. This means that it is not documented.


TUDPReadEvent

Unit: IdUDPServer

Specifies the event type for reading data from a UDP socket binding.

TUDPReadEvent = procedure (Sender: TObject; AData: TStream; ABinding: TIdSocketHandle) of object;

Description

TUDPReadEvent is an event type used to notify a TIdUDPServer event handler that data has been received from a socket binding and is available in the buffer.

TIdUDPServer provides the DoUDPRead event handler to respond to TUDPReadEvent notifications.


TVerifyPeerEvent

Unit: IdSSLOpenSSL

X.509 Certificate verification event type.

TVerifyPeerEvent = function (Certificate: TIdX509): Boolean of object;

Description

TVerifyPeerEvent is an event type that allows respond to SSL verification request using an X.509 certificate.


TWKSBits

Unit: IdDNSResolver

Represents flags for Well Known Service entries.

TWKSBits = array[0..7] of byte;

Description

TWKSBits is an Array of Byte values used to represent bit flags for Well Known Service entries.


TWorkBeginEvent

Unit: IdComponent

Indicates a pending read or write operation.

TWorkBeginEvent = procedure (Sender: TObject; AWorkMode: TWorkMode; const AWorkCountMax: Integer) of object;

Description

TWorkBeginEvent is the event used to indicate that the component is about to read data from the peer or send data to the peer.

AWorkMode is the TWorkMode value that indicate the operation to be performed.

AWorkCountMax is the number of bytes expected for this operation, or 0 when no value is provided.


TWorkEndEvent

Unit: IdComponent

Indicates that a read or write operation is complete.

TWorkEndEvent = procedure (Sender: TObject; AWorkMode: TWorkMode) of object;

Description

This type of event occurs in components when receiving or sending data has been completed.

AWorkMode is a TWorkMode value that indicates if the component is receiving or sending data.


TWorkEvent

Unit: IdComponent

Indicates that the read or write operation is being performed.

TWorkEvent = procedure (Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer) of object;

Description

This event often fires when a component is receiving or sending data and this event is often used to update progress indicators.

AWorkMode indicates if the component is receiving or sending data and can be one of two values:

wmRead - The component is reading data from the peer.

wmWrite - The component is sending data to the peer.

AWorkCount indicates the number of bytes sent or received.


TWorkMode

Unit: IdComponent

Indicates the work mode or operation.

TWorkMode = (wmRead, wmWrite);

Description

TWorkMode is an enumerated type that indicates the work mode or operation, and is used in the TWorkBeginEvent, TWorkEvent, and TWorkEndEvent events. TWorkMode can contain the values:

wmRead - The component is reading data from the peer.

wmWrite - The component is sending data to the peer.


TWSAAsyncGetHostByAddrProc

Unit: IdWinsock

TWSAAsyncGetHostByAddrProc = function (HWindow: HWND; wMsg: u_int; addr: PChar; len, Struct: Integer; buf: PChar; buflen: Integer): THandle;

Description

The text for this type has been generated automatically. This means that it is not documented.


TWSAAsyncGetHostByNameProc

Unit: IdWinsock

TWSAAsyncGetHostByNameProc = function (HWindow: HWND; wMsg: u_int; name, buf: PChar; buflen: Integer): THandle;

Description

The text for this type has been generated automatically. This means that it is not documented.


TWSAAsyncGetProtoByNameProc

Unit: IdWinsock

TWSAAsyncGetProtoByNameProc = function (HWindow: HWND; wMsg: u_int; name, buf: PChar; buflen: Integer): THandle;

Description

The text for this type has been generated automatically. This means that it is not documented.


TWSAAsyncGetProtoByNumberProc

Unit: IdWinsock

TWSAAsyncGetProtoByNumberProc = function (HWindow: HWND; wMsg: u_int; number: Integer; buf: PChar; buflen: Integer): THandle;

Description

The text for this type has been generated automatically. This means that it is not documented.


TWSAAsyncGetServByNameProc

Unit: IdWinsock

TWSAAsyncGetServByNameProc = function (HWindow: HWND; wMsg: u_int; name, proto, buf: PChar; buflen: Integer): THandle;

Description

The text for this type has been generated automatically. This means that it is not documented.


TWSAAsyncGetServByPortProc

Unit: IdWinsock

TWSAAsyncGetServByPortProc = function ( HWindow: HWND; wMsg, port: u_int; proto, buf: PChar; buflen: Integer): THandle;

Description

The text for this type has been generated automatically. This means that it is not documented.


TWSAAsyncSelectProc

Unit: IdWinsock

TWSAAsyncSelectProc = function (s: TSocket; HWindow: HWND; wMsg: u_int; lEvent: Longint): Integer;

Description

The text for this type has been generated automatically. This means that it is not documented.


TWSACancelAsyncRequestProc

Unit: IdWinsock

TWSACancelAsyncRequestProc = function (hAsyncTaskHandle: THandle): Integer;

Description

The text for this type has been generated automatically. This means that it is not documented.


TWSACancelBlockingCallProc

Unit: IdWinsock

TWSACancelBlockingCallProc = function : Integer;

Description

The text for this type has been generated automatically. This means that it is not documented.


TWSACleanupProc

Unit: IdWinsock

TWSACleanupProc = function : Integer;

Description

The text for this type has been generated automatically. This means that it is not documented.


TWSAData

Unit: IdWinsock

TWSAData = WSAData;

Description

The text for this type has been generated automatically. This means that it is not documented.


TWSAGetLastErrorProc

Unit: IdWinsock

TWSAGetLastErrorProc = function : Integer;

Description

The text for this type has been generated automatically. This means that it is not documented.


TWSAIsBlockingProc

Unit: IdWinsock

TWSAIsBlockingProc = function : BOOL;

Description

The text for this type has been generated automatically. This means that it is not documented.


TWSARecvExProc

Unit: IdWinsock

TWSARecvExProc = function (s: TSocket; var buf; len: Integer; var flags: Integer): Integer;

Description

The text for this type has been generated automatically. This means that it is not documented.


TWSASetBlockingHookProc

Unit: IdWinsock

TWSASetBlockingHookProc = function (lpBlockFunc: TFarProc): TFarProc;

Description

The text for this type has been generated automatically. This means that it is not documented.


TWSASetLastErrorProc

Unit: IdWinsock

TWSASetLastErrorProc = procedure (iError: Integer);

Description

The text for this type has been generated automatically. This means that it is not documented.


TWSAStartupProc

Unit: IdWinsock

TWSAStartupProc = function (wVersionRequired: word; var WSData: TWSAData): Integer;

Description

The text for this type has been generated automatically. This means that it is not documented.


TWSAUnhookBlockingHookProc

Unit: IdWinsock

TWSAUnhookBlockingHookProc = function : Integer;

Description

The text for this type has been generated automatically. This means that it is not documented.


u_char

Unit: IdWinsock

u_char = Char;

Description

The text for this type has been generated automatically. This means that it is not documented.


u_int

Unit: IdWinsock

u_int = Integer;

Description

The text for this type has been generated automatically. This means that it is not documented.


u_long

Unit: IdWinsock

u_long = DWORD;

Description

The text for this type has been generated automatically. This means that it is not documented.


u_short

Unit: IdWinsock

u_short = Word;

Description

The text for this type has been generated automatically. This means that it is not documented.


WordStr

Unit: IdTrivialFTPBase

Specifies the data type for WordToStr conversions.

WordStr = string[2];

Description

WordStr specifies the data type for WordToStr conversions.


__WSAFDIsSet

Unit: IdWinsock

__WSAFDIsSet: T__WSAFDIsSetProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


Accept

Unit: IdWinsock

Accept: TAcceptProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


AcceptEx

Unit: IdWinsock

AcceptEx: TAcceptExProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


Bind

Unit: IdWinsock

Bind: TBindProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


CloseSocket

Unit: IdWinsock

CloseSocket: TCloseSocketProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


CoderCollective

Unit: IdCoder

Represents the Indy coder collection.

CoderCollective: TIdCoderCollection;

Description

CoderCollective is a TIdCoderCollection unit variable that represents the Indy coder collection. CoderCollective is pre-loaded with a CT_CREATION and a CT_REALISATION coder class instance in the initialization section of the unit. CoderCollective is also update in calls to RegisterCoderClass.


Connect

Unit: IdWinsock

Connect: TConnectProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


GAntiFreeze

See Also	Unit: IdAntiFreezeBase

Application global variable used to the AntiFreeze instance.

GAntiFreeze: TIdAntiFreezeBase  = nil;

Description

TIdAntiFreezeBase uses the global variable GAntiFreeze, declared in the TIdAntiFreezeBase unit, to determine if another instance has already been created. Only one instance of TIdAntiFreezeBase is allowed per application.

GAntiFreeze is initialized in the Create constructor of the first instance of TAntiFreezeBase. GAntiFreeze is set to nil in the destructor of TAntiFreezeBase. Refer to TIdAntiFreezebase.Destroy for more information.


See Also

Create

Destroy


GetAcceptExSockaddrs

Unit: IdWinsock

GetAcceptExSockaddrs: TGetAcceptExSockaddrsProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


GetHostByAddr

Unit: IdWinsock

GetHostByAddr: TGetHostByAddrProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


GetHostByName

Unit: IdWinsock

GetHostByName: TGetHostByNameProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


GetHostName

Unit: IdWinsock

GetHostName: TGetHostNameProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


GetPeerName

Unit: IdWinsock

GetPeerName: TGetPeerNameProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


GetProtoByname

Unit: IdWinsock

GetProtoByname: TGetProtoByNameProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


GetProtoByNumber

Unit: IdWinsock

GetProtoByNumber: TGetProtoByNumberProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


GetServByName

Unit: IdWinsock

GetServByName: TGetServByNameProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


GetServByPort

Unit: IdWinsock

GetServByPort: TGetServByPortProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


GetSockName

Unit: IdWinsock

GetSockName: TGetSockNameProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


GetSockOpt

Unit: IdWinsock

GetSockOpt: TGetSockOptProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


GOffsetFromUTC

See Also	Unit: IdGlobal

Time difference from UTC time coordinates.

GOffsetFromUTC: TDateTime  = 0;

Description

GOffsetFromUTC is a TDateTime constant variable that represents the hours and minutes difference from Universal Time Coordinates (UTC). Note: GOffsetFromUTC is defined for the Linux platform only.


See Also

OffsetFromUTC


GServeFileProc

See Also	Unit: IdStack

Indy optimized file transfer routine for Windows NT.

GServeFileProc: TIdServeFile  = nil;

Description

GServeFileProc is a Cardinal function that represents the routine used to perform optimized file transmission under Windows NT. GServeFile uses the ServeFile function under Windows NT that is optimized for sequential read-only access. GServeFile is the application global instance of the function for Indy.


See Also

TIdServeFile


GStack

Unit: IdStack

The Indy global stack instance.

GStack: TIdStack  = nil;

Description

GStack is a global variable that represents the current stack object for the Indy component set. GStack should never be changed, and is created and destroyed as needed. This is mentioned only because there a few useful low-level properties and methods.


GSystemLocale

See Also	Unit: IdGlobal

Character for the system locale.

GSystemLocale: TCharSet  = csIso88591;

Description

GSystemLocale is a constant variable that represesents the system locale character set. The default for GSystemLocale is cscsIso88591 on the Linux platform. Note: GSystemLocale is defined for the Linux platform only.


See Also

GetSystemLocale


GTimeZoneBias

See Also	Unit: IdGlobal

Daylight saving time adjustment for the current time zone.

GTimeZoneBias: Double  = 0;

Description

GTimeZoneBias is a Double constant variable that represents the time adjustment for daylight savings time for the current time zone. Note: GTimeZoneBias is defined for the Linux platform only.


See Also

TimeZoneBias


Htonl

Unit: IdWinsock

Htonl: THtonlProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


Htons

Unit: IdWinsock

Htons: THtonsProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


Id_SO_False

Unit: IdStackConsts

Id_SO_False: Integer  = 0;

Description

The text for this variable has been generated automatically. This means that it is not documented.


Id_SO_True

Unit: IdStackConsts

Id_SO_True: Integer  = 1;

Description

The text for this variable has been generated automatically. This means that it is not documented.


IndyPos

Unit: IdGlobal

Specifies the Pos function handler for single- or multi-byte character sets.

IndyPos: TPosProc  = nil;

Description

IndyPos is a unit global TPosProc variable that determines the function used for single-byte and multi-byte equivalents of the RTL Pos function. IndyPos is assigned the initialization section of the IdGlobal.pas unit, and will contain a pointer to the function used for run-time support.

For single-byte character sets, where the leading byte is #0 (Decimal 0), IndyPos will use the address of SBPos. SBPos implements the Pos function hidden by Object Pascal "compiler magic".

For multi-byte character sets, IndyPos will use the address of AnsiPos.


Inet_Addr

Unit: IdWinsock

Inet_Addr: TInet_AddrProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


Inet_Ntoa

Unit: IdWinsock

Inet_Ntoa: TInet_NtoaProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


IoctlSocket

Unit: IdWinsock

IoctlSocket: TIoctlSocketProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


Listen

Unit: IdWinsock

Listen: TListenProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


MIMEMediaType

Unit: IdMIMETypes

MIMEMediaType: array [0..MaxMIMEType] of String;

Description

MIMEMediaType represents the array of Strings constructed for valid MIME media type, subtype and encoding constant combinations.


Ntohl

Unit: IdWinsock

Ntohl: TNtohlProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


Ntohs

Unit: IdWinsock

Ntohs: TNtohsProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


Recv

Unit: IdWinsock

Recv: TRecvProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


RecvFrom

Unit: IdWinsock

RecvFrom: TRecvFromProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


Select

Unit: IdWinsock

Select: TSelectProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


Send

Unit: IdWinsock

Send: TSendProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


SendTo

Unit: IdWinsock

SendTo: TSendToProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


SetSockOpt

Unit: IdWinsock

SetSockOpt: TSetSockOptProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


ShutDown

Unit: IdWinsock

ShutDown: TShutDownProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


Socket

Unit: IdWinsock

Socket: TSocketProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


TransmitFile

Unit: IdWinsock

TransmitFile: TTransmitFileProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


WSAAsyncGetHostByAddr

Unit: IdWinsock

WSAAsyncGetHostByAddr: TWSAAsyncGetHostByAddrProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


WSAAsyncGetHostByName

Unit: IdWinsock

WSAAsyncGetHostByName: TWSAAsyncGetHostByNameProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


WSAAsyncGetProtoByName

Unit: IdWinsock

WSAAsyncGetProtoByName: TWSAAsyncGetProtoByNameProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


WSAAsyncGetProtoByNumber

Unit: IdWinsock

WSAAsyncGetProtoByNumber: TWSAAsyncGetProtoByNumberProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


WSAAsyncGetServByName

Unit: IdWinsock

WSAAsyncGetServByName: TWSAAsyncGetServByNameProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


WSAAsyncGetServByPort

Unit: IdWinsock

WSAAsyncGetServByPort: TWSAAsyncGetServByPortProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


WSAAsyncSelect

Unit: IdWinsock

WSAAsyncSelect: TWSAAsyncSelectProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


WSACancelAsyncRequest

Unit: IdWinsock

WSACancelAsyncRequest: TWSACancelAsyncRequestProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


WSACancelBlockingCall

Unit: IdWinsock

WSACancelBlockingCall: TWSACancelBlockingCallProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


WSACleanup

Unit: IdWinsock

WSACleanup: TWSACleanupProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


WSAGetLastError

Unit: IdWinsock

WSAGetLastError: TWSAGetLastErrorProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


WSAIsBlocking

Unit: IdWinsock

WSAIsBlocking: TWSAIsBlockingProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


WSARecvEx

Unit: IdWinsock

WSARecvEx: TWSARecvExProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


WSASetBlockingHook

Unit: IdWinsock

WSASetBlockingHook: TWSASetBlockingHookProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


WSASetLastError

Unit: IdWinsock

WSASetLastError: TWSASetLastErrorProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


WSAStartup

Unit: IdWinsock

WSAStartup: TWSAStartupProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


WSAUnhookBlockingHook

Unit: IdWinsock

WSAUnhookBlockingHook: TWSAUnhookBlockingHookProc  = nil;

Description

The text for this variable has been generated automatically. This means that it is not documented.


AF_APPLETALK

Unit: IdWinsock

AF_APPLETALK = 16;

Description

The text for this constant has been generated automatically. This means that it is not documented.


AF_BAN

Unit: IdWinsock

AF_BAN = 21;

Description

The text for this constant has been generated automatically. This means that it is not documented.


AF_CCITT

Unit: IdWinsock

AF_CCITT = 10;

Description

The text for this constant has been generated automatically. This means that it is not documented.


AF_CHAOS

Unit: IdWinsock

AF_CHAOS = 5;

Description

The text for this constant has been generated automatically. This means that it is not documented.


AF_DATAKIT

Unit: IdWinsock

AF_DATAKIT = 9;

Description

The text for this constant has been generated automatically. This means that it is not documented.


AF_DECnet

Unit: IdWinsock

AF_DECnet = 12;

Description

The text for this constant has been generated automatically. This means that it is not documented.


AF_DLI

Unit: IdWinsock

AF_DLI = 13;

Description

The text for this constant has been generated automatically. This means that it is not documented.


AF_ECMA

Unit: IdWinsock

AF_ECMA = 8;

Description

The text for this constant has been generated automatically. This means that it is not documented.


AF_FIREFOX

Unit: IdWinsock

AF_FIREFOX = 19;

Description

The text for this constant has been generated automatically. This means that it is not documented.


AF_HYLINK

Unit: IdWinsock

AF_HYLINK = 15;

Description

The text for this constant has been generated automatically. This means that it is not documented.


AF_IMPLINK

Unit: IdWinsock

AF_IMPLINK = 3;

Description

The text for this constant has been generated automatically. This means that it is not documented.


AF_INET

Unit: IdWinsock

AF_INET = 2;

Description

The text for this constant has been generated automatically. This means that it is not documented.


AF_IPX

Unit: IdWinsock

AF_IPX = 6;

Description

The text for this constant has been generated automatically. This means that it is not documented.


AF_ISO

Unit: IdWinsock

AF_ISO = 7;

Description

The text for this constant has been generated automatically. This means that it is not documented.


AF_LAT

Unit: IdWinsock

AF_LAT = 14;

Description

The text for this constant has been generated automatically. This means that it is not documented.


AF_MAX

Unit: IdWinsock

AF_MAX = 22;

Description

The text for this constant has been generated automatically. This means that it is not documented.


AF_NETBIOS

Unit: IdWinsock

AF_NETBIOS = 17;

Description

The text for this constant has been generated automatically. This means that it is not documented.


AF_NS

Unit: IdWinsock

AF_NS = 6;

Description

The text for this constant has been generated automatically. This means that it is not documented.


AF_OSI

Unit: IdWinsock

AF_OSI = AF_ISO;

Description

The text for this constant has been generated automatically. This means that it is not documented.


AF_PUP

Unit: IdWinsock

AF_PUP = 4;

Description

The text for this constant has been generated automatically. This means that it is not documented.


AF_SNA

Unit: IdWinsock

AF_SNA = 11;

Description

The text for this constant has been generated automatically. This means that it is not documented.


AF_UNIX

Unit: IdWinsock

AF_UNIX = 1;

Description

The text for this constant has been generated automatically. This means that it is not documented.


AF_UNKNOWN1

Unit: IdWinsock

AF_UNKNOWN1 = 20;

Description

The text for this constant has been generated automatically. This means that it is not documented.


AF_UNSPEC

Unit: IdWinsock

AF_UNSPEC = 0;

Description

The text for this constant has been generated automatically. This means that it is not documented.


AF_VOICEVIEW

Unit: IdWinsock

AF_VOICEVIEW = 18;

Description

The text for this constant has been generated automatically. This means that it is not documented.


BACKSPACE

Unit: IdGlobal

Represents the US-ASCII Backspace character.

BACKSPACE = #8;

Description

BACKSPACE is the constant Integer value used to represent the US-ASCII Backspace character.


base64_tbl

Unit: IdHeaderCoder

Represents the Base64 alphabet.

base64_tbl: array [0..63] of Char  = ( 'A','B','C','D','E','F','G','H', 'I','J','K','L','M','N','O','P', 'Q','R','S','T','U','V','W','X', 'Y','Z','a','b','c','d','e','f', 'g','h','i','j','k','l','m','n', 'o','p','q','r','s','t','u','v', 'w','x','y','z','0','1','2','3', '4','5','6','7','8','9','+','/');

Description

base64_tbl is an Array of Char type that represents the Base64 alphabet used in Base64 encoding and decoding operations. base64_tbl is used in B64 and EncodeHeader.


Base64CodeTable

Unit: IdCoder3To4

Represents the character encoding table for Base64 encoding.

Base64CodeTable: string  = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';

Description

Base64CodeTable is a constant String value that represents the character encoding table for Base64 encoding. Base64CodeTable is used by TIdBase64Encoder and TIdBase64Decoder.


BUFFERLEN

Unit: IdTunnelCommon

Default buffer length used by Tunnel communication classes.

BUFFERLEN = $4000;

Description

Default buffer length used by Tunnel communication classes.


BytesReadType

Unit: IdTunnelCommon

Number of bytes read for the Tunnel component.

BytesReadType = 5;

Description

BytesReadType is a constant value that represents the statistical operation for updating the number of bytes read for the Tunnel component.


BytesWriteType

Unit: IdTunnelCommon

Number of bytes written for the Tunnel component.

BytesWriteType = 6;

Description

BytesWriteType is a constant value that represents the statistical operation for updating the number of bytes written for the Tunnel component.


cA

Unit: IdDNSResolver

Host Address resource type.

cA = 1;

Description

cA is a constant value used in TIdDNSResolver for requesting a simple Host Address. Thus, a query for wvnvm.wvnet.edu will result in the IP address 129.71.2.4 in the TIdDNSResourceItem.RData.HostAddrStr property.


cAABit

Unit: IdDNSResolver

Valid in Responses Authoritative Answer bit mask.

cAABit = $0400;

Description

cAABit is a constant value that represents a bit mask used to access the Valid in Responses Authoritative Answer bit.


cAAMask

Unit: IdDNSResolver

Valid in Responses Authoritative Answer result mask.

cAAMask = $FBFF;

Description

cAAMask is a constant value that represents a mask used to determine the Valid in Responses Authoritative Answer result value.


cAXFR

Unit: IdDNSResolver

Question type for entire zone transfer.

cAXFR = 252;

Description

cAXFR is a constant value that represents the question type for a request for the Transfer of an entire zone.


cCH

Unit: IdDNSResolver

Resource class.

cCH = 3;

Description

cCH is a constant value that represents the resource class for "The Chaos Claee".


cCS

Unit: IdDNSResolver

Resource class constant.

cCS = 2;

Description

cCS is a constant value that represents the resource class for CSNet (Obsolete).


CHAR0

Unit: IdGlobal

Represents the Null character.

CHAR0 = #0;

Description

CHAR0 is a constant value used to represent the Null character.


CHAR32

Unit: IdGlobal

Represents the Space character.

CHAR32 = #32;

Description

CHAR32 is the constant value used to represent the Space character.


cHINFO

Unit: IdDNSResolver

Resource type constant.

cHINFO = 13;

Description

cHINFO is a constant value that represents the resource type for Host Information.


cHS

Unit: IdDNSResolver

Resource class constant.

cHS = 4;

Description

cHS is a constant value that represents the resource class for Hesiod [Dyer 87].


cIN

Unit: IdDNSResolver

Resource class constant.

cIN = 1;

Description

cIN is a constant value that represents the resource class for Internet resource records.


cMAILA

Unit: IdDNSResolver

Resource type constant.

cMAILA = 254;

Description

cMAILA is a constant value that represents the resource type for mail agent resource records. (Obsoleted by cMX)


cMAILB

See Also	Unit: IdDNSResolver

Resource type constant.

cMAILB = 253;

Description

cMAILB is a constant value that represents the resource type for mailbox related records.


See Also

cMB

cMG

cMR


cMB

Unit: IdDNSResolver

Resource type constant.

cMB = 7;

Description

cMB is a constant value that represents the resource type for a mail box domain name.(Experimental)


cMD

Unit: IdDNSResolver

Resource type constant.

cMD = 3;

Description

cMD is a constant value that represents the resource type for a mail destination. (obsoleted by cMX)


cMF

Unit: IdDNSResolver

Resource type constant.

cMF = 4;

Description

cMF is a constant value that represents the resource type for a mail forwarder. (obsoleted by cMX)


cMG

Unit: IdDNSResolver

Resource type constant.

cMG = 8;

Description

cMG is a constant value that represents the resource type for a mail group member. (Experimental)


cMINFO

Unit: IdDNSResolver

Resource type constant.

cMINFO = 14;

Description

cMINFO is a constant value that represents the resource type for Mailbox or Mail List Information.


cMR

Unit: IdDNSResolver

Resource type constant.

cMR = 9;

Description

cMR is a constant value that represents the resource type for a mail Rename Domain Name. (Experimental)


cMX

Unit: IdDNSResolver

Resource type constant.

cMX = 15;

Description

cMX is a constant value that represents the resource type for a Mail Exchange.


CN_CODED_DATA

Unit: IdCoder

Coder notification message for generation of encoded data.

CN_CODED_DATA = 0;

Description

CN_CODED_DATA is a constant value that represents the generic coder notification message that signals output generation of encoded data.


CN_CODING_ENDED

Unit: IdCoder

Coder notification message for completion of coding.

CN_CODING_ENDED = 4;

Description

CN_CODING_ENDED is a constant value that represents the generic coder notification message that signals completion of a coding operation.


CN_CODING_STARTED

Unit: IdCoder

Coder notification message for execution of coding.

CN_CODING_STARTED = 3;

Description

CN_CODING_STARTED is a constant value that represents the generic coder notification message that signals execution of a coding operation.


CN_DATA_END_FOUND

Unit: IdCoder

Coder notification message for completion of input data.

CN_DATA_END_FOUND = 2;

Description

CN_CODING_STARTED is a constant value that represents the generic coder notification message for completion of coder input data.


CN_DATA_START_FOUND

Unit: IdCoder

Coder notification message for initial input data.

CN_DATA_START_FOUND = 1;

Description

CN_DATA_START_FOUND is a constant value that represents the generic coder notification message for initial processing of coder input data.


CN_IMF_BODY_PART_END

Unit: IdCoder

Coder notification for when an IMF body has been detected.

CN_IMF_BODY_PART_END = CN_IMF_CODER_START + 2;

Description

CN_IMF_BODY_PART_END is a constant value that represents the coder notification message issued when an Internet Message Format coder has located the end of the message body.


CN_IMF_BODY_START

Unit: IdCoder

Coder notification for when the start of an IMF body has been detected.

CN_IMF_BODY_START = CN_IMF_CODER_START + 1;

Description

CN_IMF_BODY_START is a constant value that represents the coder notification message issued when an Internet Message Format coder has located the beginning of the message body.


CN_IMF_CODER_START

Unit: IdCoder

Initial Coder notification for Internet Message Format coders.

CN_IMF_CODER_START = 20;

Description

CN_IMF_CODER_START is a constant value that represents the initial coder notification message for Internet Message Format coders. CN_IMF_CODER_START is not actually used for IMF coder notifications.


CN_IMF_DATA_END

Unit: IdCoder

Coder notification for end of message data.

CN_IMF_DATA_END = CN_IMF_CODER_START + 6;

Description

CN_IMF_DATA_END is a constant value that represents the coder notification message issued when an Internet Message Format coder has located the end of the data for the message.


CN_IMF_END_MULTIPART

Unit: IdCoder

Coder notification for a boundary in a multipart message.

CN_IMF_END_MULTIPART = CN_IMF_CODER_START + 5;

Description

CN_IMF_END_MULTIPART is a constant value that represents the coder notification message when a boundary is encountered in a multipart message.


CN_IMF_HEAD_VALUE

Unit: IdCoder

Coder notification for header values in message data.

CN_IMF_HEAD_VALUE = CN_IMF_CODER_START + 3;

Description

CN_IMF_HEAD_VALUE is a constant value that represents the coder notification message issued when an Internet Message Format coder has located a header value in the message.


CN_IMF_NEW_FILENAME

Unit: IdCoder

Coder notification for a file name from the message.

CN_IMF_NEW_FILENAME = CN_NEW_FILENAME;

Description

CN_IMF_NEW_FILENAME is a constant value that represents the coder notification message issued when an Internet Message Format coder has located a file name in the message.


CN_IMF_NEW_MULTIPART

Unit: IdCoder

Coder notification for boundary markers in a message.

CN_IMF_NEW_MULTIPART = CN_IMF_CODER_START + 4;

Description

CN_IMF_NEW_MULTIPART is a constant value that represents the coder notification message issued when an Internet Message Format coder has located a boundary marker in a multi-part message.


CN_NEW_FILENAME

Unit: IdCoder

Coder notification for a file name from input data.

CN_NEW_FILENAME = 5;

Description

CN_NEW_FILENAME is a constant value that represents the generic coder notification message issued when a coder has located a file name in the input data.


CN_UU_BEGIN_FOUND

Unit: IdCoder

Coder notification for a UUEncode header in data.

CN_UU_BEGIN_FOUND = CN_UU_CODER_START + 2;

Description

CN_UU_BEGIN_FOUND is a constant value that represents the UUEncoder notification message issued when UUEncode Header is located in data.


CN_UU_CODER_START

Unit: IdCoder

Inital notification message for UUEncode coders.

CN_UU_CODER_START = 40;

Description

CN_UU_CODER_START is a contant value that represents the initial notification message for UUEncode coders.


CN_UU_END_FOUND

Unit: IdCoder

Coder notification message for the end of the UUEncode header.

CN_UU_END_FOUND = CN_UU_CODER_START + 5;

Description

CN_UU_END_FOUND is a constant value that represents the notification message for UUEncode coders indicating the end of the UUEncode header.


CN_UU_LAST_CHAR_FOUND

Unit: IdCoder

Coder notification message for the start of possible UUEncode padding.

CN_UU_LAST_CHAR_FOUND = CN_UU_CODER_START + 4;

Description

CN_UU_LAST_CHAR_FOUND is a constant value that represents the notification message for UUEncode coders indicating that all input data has been processed, and UUEncode padding needs to be calculated from the last character position.


CN_UU_NEW_FILENAME

Unit: IdCoder

Coder notification for a file name from data.

CN_UU_NEW_FILENAME = CN_NEW_FILENAME;

Description

CN_UU_NEW_FILENAME is a constant value that represents the coder notification message issued when a UUEncode coder has located a file name in the data.


CN_UU_PRIVILEGE_ERROR

Unit: IdCoder

Coder notification for ioncorrect privilege for the coder.

CN_UU_PRIVILEGE_ERROR = CN_UU_CODER_START + 8;

Description

CN_UU_PRIVILEGE_ERROR is a constant value that represents the UUEncode coder notification message issued when the UUEncode coder does not have the necessary UNIX privileges identified in the UUEncode header.


CN_UU_PRIVILEGE_FOUND

Unit: IdCoder

Coder notification for UNIX privileges from the UUEncode header.

CN_UU_PRIVILEGE_FOUND = CN_UU_CODER_START + 7;

Description

CN_UU_PRIVILEGE_FOUND is a constant value that represents the coder notification message issed when a UUEncode coder encounters the UNIX privilege value in the UUEncode header.


CN_UU_TABLE_BEGIN_ABORT

Unit: IdCoder

Coder notificaiton for UUEncode header errors.

CN_UU_TABLE_BEGIN_ABORT = CN_UU_CODER_START + 3;

Description

CN_UU_TABLE_BEGIN_ABORT is a constant value that represents the coder notification message issued when a error has occurred while handling UUEncode header data.


CN_UU_TABLE_CHANGED

Unit: IdCoder

Coder notification for a change to the UUEncode alphabet.

CN_UU_TABLE_CHANGED = CN_UU_CODER_START + 6;

Description

CN_UU_TABLE_CHANGED is a constant value that represents the coder notification issued when the UUEncode alphabet has been altered in the UUEncode header.


CN_UU_TABLE_FOUND

Unit: IdCoder

Notification message for a missing UUEncode header.

CN_UU_TABLE_FOUND = CN_UU_CODER_START + 1;

Description

CN_UU_TABLE_FOUND is a constant value that represents the coder notification issued when the UUEncode header is not found in the data for the coder.


cName

Unit: IdDNSResolver

Resource type constant.

cName = 5;

Description

cName is a constant value that represents the resource type for the canonical name for an alias.


cNS

Unit: IdDNSResolver

Resource type constant.

cNS = 2;

Description

cNS is a constant value that represents the resource type for an Authoritative name server.


cNULL

Unit: IdDNSResolver

Resource type constant.

cNULL = 10;

Description

cNULL is a constant value that represents the resource type for a Resource Record. (Experimental)


CompressedBytesType

Unit: IdTunnelCommon

Total compressed bytes handled by the Tunnel component.

CompressedBytesType = 4;

Description

CompressedBytesType is a constant value that represents the statistical operation for updating the total number of compressed bytes handled by the Tunnel component.


CompressionRatioType

Unit: IdTunnelCommon

Ratio of total byes to total compressed bytes for the Tunnel component.

CompressionRatioType = 3;

Description

CompressionRatioType is a constant value that represents the statistical operation for updating the Ratio of total byes to total compressed bytes for the Tunnel component.


ConstBoundary

Unit: IdCoderIMF

Represents the boundary marker keyword in an IMF message.

ConstBoundary = 'boundary';

Description

ConstBoundary is a constant value that represents the RFC 822-compliant header atom value for the boundary keyword in Internet Mail Format having multipart alternative boundaries.


ConstContentDisposition

Unit: IdCoderIMF

Represents the content-disposition header name.

ConstContentDisposition = 'content-disposition';

Description

ConstContentDisposition is a constant value that represents the RFC 822-compliant header name for Internet Mail Format having a Content-Disposition header.


ConstContentMD5

Unit: IdCoderIMF

Represents the header MD5-encoded messages.

ConstContentMD5 = 'content-md5';

Description

ConstContentMD5 is a constant value that represents the RFC 822-compliant header for Internet Mail Format messages using the Message Digest 5 encoding scheme.


ConstContentTransferEncoding

Unit: IdCoderIMF

Represents the content-transfer-encoding literal in an IMF message.

ConstContentTransferEncoding = 'content-transfer-encoding';

Description

ConstContentTransferEncoding is a constant value that represents the RFC 822-compliant header name for Internet Mail Format messages using a content-transfer-encoding header value.


ConstContentType

Unit: IdCoderIMF

Represents the header name for content type header in an IMF message.

ConstContentType = 'content-type';

Description

ConstContentType is a constant value that represents the RFC 822-compliant header name for Internet Mail Format messages using a content-type: header value.


ConstFileName

Unit: IdCoderIMF

Header name for inline content file names.

ConstFileName = 'filename';

Description

ConstFileName is a constant value that represents the RFC 822-compliant header name for Internet Mail Format messages using content-disposition to identify an inline file.


ConstIMFBoundaryEnd

Unit: IdCoderIMF

State value for the end of a message part in a multipart message.

ConstIMFBoundaryEnd = 2;

Description

ConstIMFBoundaryEnd is a constant value that represents the IIdIMFDecoder state value set when the decoder has reached the end of a message part in a multipart Internet Mail Format message.


ConstIMFMessageStart

Unit: IdCoderIMF

State value indicating that processing of an IMF message has started.

ConstIMFMessageStart = 1;

Description

ConstIMFMessageStart is a constant value that represents the TIdIMFDecoder state value assigned when the decoder has starter to process an Internet Mail Format message.


ConstIMFStart

Unit: IdCoderIMF

State value indicating readiness to process an IMF message.

ConstIMFStart = 0;

Description

ConstIMFStart is a constant value that represents the TIdIMFDecoder state value assigned when the decoder is ready to begin processing an Internet Mail Format message.


ConstName

Unit: IdCoderIMF

Represents the header name for inline files in an IMF message.

ConstName = 'name';

Description

ConstName is a constant value that represents the RFC 822-compliant header name for inline files in an Internet Mail Format message.


cOpCodeBits

Unit: IdDNSResolver

Bit mask constant.

cOpCodeBits = $7800;

Description

cOpCodeBits is a constant value that represents the bit mask for the OpCode bits in a DNS OpCode.


cOpCodeMask

Unit: IdDNSResolver

Bit mask constant.

cOpCodeMask = $87FF;

Description

cOpCodeMask is a constant value that represents the mask for the value of OpCode bits in a DNS Query header.


cOPCodeStrs

See Also	Unit: IdDNSResolver

OpCode names.

cOPCodeStrs: Array[cResQuery..cResStatus] Of String[7]  = ('Query', 'IQuery', 'Status');

Description

cOPCodeStrs is a constant array that represents the names for DNS OpCode constants.


See Also

cResQuery

cResIQuery

cResStatus


CP_FALLBACK

Unit: IdCoder

Fallback Coder Priority.

CP_FALLBACK = 0;

Description

CP_FALLBACK is the constant value for the Fallback Coder Priority.


CP_IMF

Unit: IdCoder

Coder priority for Internet Mail coders.

CP_IMF = 1;

Description

CP_IMF is a constant value that represents the coder priority for Internet Mail coders.


CP_STANDARD

Unit: IdCoder

Standard Coder Priority.

CP_STANDARD = 8;

Description

CP_STANDARD is the constant value that represents the Standard Coder Priority.


cPTR

Unit: IdDNSResolver

Resource type constant.

cPTR = 12;

Description

cPTR is a constant used in the TIdDNSResolver for requesting a DNS name from an IP Address (Reverse DNS). Thus, a query for 129.71.2.4 will result in the IP address 129.71.2.4 in the TIdDNSResourceItem.RData.DomainName property.


cQClassStr

Unit: IdDNSResolver

Resource class names.

cQClassStr: Array[cIN..CHs] Of String[3]  = ('IN','CS','CH','HS');

Description

cQClassStr is a constant array that represents the names for resource class constants.


cQRBit

Unit: IdDNSResolver

Bit mask constant.

cQRBit = $8000;

Description

cQRBit is a constant value that represents the bit mask for the Query or Response bit flag in a DNS header. When QR is 0, the header is for a Query. When QR is 1, the header is for a Response.


cQRMask

Unit: IdDNSResolver

Bit mask constant.

cQRMask = $EFFF;

Description

cQRMask is a constant value that represents the mask for accessing the value of the QR flag in a DNS header.


CR

Unit: IdGlobal

Represents the Carriage Return character.

CR = #13;

Description

CR is the constant value used to represent the Carriage Return character.


cRABit

Unit: IdDNSResolver

Bit mask flag.

cRABit = $0080;

Description

cRABit is a constant value that represents the bit mask for the recursive search available flag in a DNS header. When RA is 1, the server supports Recursive Search.


cRAMask

Unit: IdDNSResolver

Bit mask constant.

cRAMask = $FF7F;

Description

cRAMask is a constant value that represents the mask for the Recursive Search Available value in a DNS Header.


cRCodeBits

See Also	Unit: IdDNSResolver

Bit mask constant.

cRCodeBits = $000F;

Description

cRCodeBits is a constant value that represents the bit mask for the DNS Response Code in a DNS header.


See Also

cRCodeNoError

cRCodeFormatErr

cRCodeServerErr

cRCodeNameErr

cRCodeNotImplemented

cRCodeRefused


cRCodeFormatErr

Unit: IdDNSResolver

Response code constant.

cRCodeFormatErr = 1;

Description

cRCodeFormatErr is a constant value that represents the response code for an invalid or malformed DNS query packet.


cRCodeMask

Unit: IdDNSResolver

Bit mask constant.

cRCodeMask = $FFF0;

Description

cRCodeMask is a constant value that represents the mask for the Response Code value in a DNS query response.


cRCodeNameErr

Unit: IdDNSResolver

Response code constant.

cRCodeNameErr = 3;

Description

cRCodeNameErr is a constant value that represents the response code for an invalid or malformed Domain Name in the DNS query packet.


cRCodeNoError

Unit: IdDNSResolver

Response code constant.

cRCodeNoError = 0;

Description

cRCodeNoError is a constant value that represents the response code for successful execution of the DNS query packet.


cRCodeNotImplemented

Unit: IdDNSResolver

Response code constant.

cRCodeNotImplemented = 4;

Description

cRCodeNotImplemented is a constant value that represents the response code for a DNS query packet containing an OpCode or Question not implemented on the DNS server.


cRCodeRefused

Unit: IdDNSResolver

Response code constant.

cRCodeRefused = 5;

Description

cRCodeRefused is a constant value that represents the response code for a DNS query packet that has been refused by the DNS server.


cRCodeServerErr

Unit: IdDNSResolver

Response code constant.

cRCodeServerErr = 2;

Description

cRCodeServerErr is a constant value that represents the response code for a DNS query packet that has resulted in an error on the DNS server.


cRCodeStrs

See Also	Unit: IdDNSResolver

Response Code names.

cRCodeStrs: Array[cRCodeNoError..cRCodeRefused] Of String  = (RSCodeNoError, RSCodeQueryFormat, RSCodeQueryServer, RSCodeQueryName, RSCodeQueryNotImplemented, RSCodeQueryQueryRefused);

Description

cRCodeStrs is a constant array that represents the names for Response Code constant values.


See Also

RSCodeNoError

RSCodeQueryFormat

RSCodeQueryServer

RSCodeQueryName

RSCodeQueryNotImplemented

RSCodeQueryQueryRefused


cRDBit

Unit: IdDNSResolver

Bit mask constant.

cRDBit = $0100;

Description

cRDBit is a constant value that represents the bit mask for the Recursive Search Requested by Query flag in the DNS query header.


cRDMask

Unit: IdDNSResolver

Bit mask constant.

cRDMask = $FEFF;

Description

cRDMask is a constant value that represents the mask for the Recursive Search Requested by Query flag value in the DNS query header.


cResIQuery

Unit: IdDNSResolver

DNS query OpCode constant.

cResIQuery = 1;

Description

cResIQuery is a constant value that represents the DNS Query OpCode for the Inverse Query request.


cResQuery

Unit: IdDNSResolver

DNS Query OpCode constant.

cResQuery = 0;

Description

cResQuery is a constant value that represents the DNS Query OpCode for a standard resource query request.


cResStatus

Unit: IdDNSResolver

DNS Query OpCode constant.

cResStatus = 2;

Description

cResStatus is a constant value that represents the DNS Query OpCode for a DNS Server Status request.


cSOA

Unit: IdDNSResolver

Resource type constant.

cSOA = 6;

Description

cSOA is a constant value that represents the resource type that marks the start of a zone of authority resource type.


csSPECIALS

Unit: IdHeaderCoder

Represents special characters in header processing.

csSPECIALS: CSET  = ['(', ')', '[', ']', '<', '>', ':', ';', '.', ',', '@', '\', '"'];

Description

csSPECIALS is a CSET constant used to represent special characters in header decoding operations.


cStar

Unit: IdDNSResolver

Resource type constant.

cStar = 255;

Description

cStar is a constant value that represents the resource type used for a request retrieving all Resource Records for the target.


CT_Creation

See Also	Unit: IdCoder

Indicates the Coder type for RegisterCoderClass.

Value:

0.

CT_Creation = 0;

Description

CT_Creation is a Byte constant that represents the Coder type for RegisterCoderClass.

CT_Creation is used when registering new class instances of a coder class descendant.


See Also

CT_Realisation


CT_Realisation

See Also	Unit: IdCoder

Indicates the Coder type for RegisterCoderClass.

Value:

$80 (80 Hex, 128 Decimal).

CT_Realisation = $80;

Description

CT_Realisation is a Byte constant that represents the Coder type for RegisterCoderClass.

CT_Realisation is used when realizing new instances of a coder class descendant.


See Also

CT_Creation


cTCBit

Unit: IdDNSResolver

Bit mask constant.

cTCBit = $0200;

Description

cTCBit is a constant value that represents the bit mask for the Truncation Bit in the DNS Query header. cTCBit indicates a message that has been truncated for length.


cTCMask

Unit: IdDNSResolver

Bit mask value.

cTCMask = $FDFF;

Description

cTCMask is a constant value that represents the mask for the Truncation Bit flag value in a DNS Query header.


CTL3To4

Unit: IdCoder3To4

Code table length for 3-to-4 coders.

CTL3To4 = 64;

Description

CTL3To4 is the code table length for 3-to-4 coders.


cTXT

Unit: IdDNSResolver

Resource type constant.

cTXT = 16;

Description

cTXT is a constant value that represents the resource type for a Text String.


cWKS

Unit: IdDNSResolver

Resource type constant.

cWKS = 11;

Description

cWKS is a constant value that represents the resource type for a well known service description.


DEF_PACKET_SIZE

Unit: IdIcmpClient

Specifies the default packet size for ICMP messages.

DEF_PACKET_SIZE = 32;

Description

DEF_PACKET_SIZE is a constant value that specifies the default packet size for ICMP request messages, like an Echo Request.


EADDRINUSE

Unit: IdWinsock

EADDRINUSE = WSAEADDRINUSE;

Description

The text for this constant has been generated automatically. This means that it is not documented.


EADDRNOTAVAIL

Unit: IdWinsock

EADDRNOTAVAIL = WSAEADDRNOTAVAIL;

Description

The text for this constant has been generated automatically. This means that it is not documented.


EAFNOSUPPORT

Unit: IdWinsock

EAFNOSUPPORT = WSAEAFNOSUPPORT;

Description

The text for this constant has been generated automatically. This means that it is not documented.


EALREADY

Unit: IdWinsock

EALREADY = WSAEALREADY;

Description

The text for this constant has been generated automatically. This means that it is not documented.


ECONNABORTED

Unit: IdWinsock

ECONNABORTED = WSAECONNABORTED;

Description

The text for this constant has been generated automatically. This means that it is not documented.


ECONNREFUSED

Unit: IdWinsock

ECONNREFUSED = WSAECONNREFUSED;

Description

The text for this constant has been generated automatically. This means that it is not documented.


ECONNRESET

Unit: IdWinsock

ECONNRESET = WSAECONNRESET;

Description

The text for this constant has been generated automatically. This means that it is not documented.


EDESTADDRREQ

Unit: IdWinsock

EDESTADDRREQ = WSAEDESTADDRREQ;

Description

The text for this constant has been generated automatically. This means that it is not documented.


EDQUOT

Unit: IdWinsock

EDQUOT = WSAEDQUOT;

Description

The text for this constant has been generated automatically. This means that it is not documented.


EHOSTDOWN

Unit: IdWinsock

EHOSTDOWN = WSAEHOSTDOWN;

Description

The text for this constant has been generated automatically. This means that it is not documented.


EHOSTUNREACH

Unit: IdWinsock

EHOSTUNREACH = WSAEHOSTUNREACH;

Description

The text for this constant has been generated automatically. This means that it is not documented.


EINPROGRESS

Unit: IdWinsock

EINPROGRESS = WSAEINPROGRESS;

Description

The text for this constant has been generated automatically. This means that it is not documented.


EISCONN

Unit: IdWinsock

EISCONN = WSAEISCONN;

Description

The text for this constant has been generated automatically. This means that it is not documented.


ELOOP

Unit: IdWinsock

ELOOP = WSAELOOP;

Description

The text for this constant has been generated automatically. This means that it is not documented.


EMSGSIZE

Unit: IdWinsock

EMSGSIZE = WSAEMSGSIZE;

Description

The text for this constant has been generated automatically. This means that it is not documented.


ENAMETOOLONG

Unit: IdWinsock

ENAMETOOLONG = WSAENAMETOOLONG;

Description

The text for this constant has been generated automatically. This means that it is not documented.


ENETDOWN

Unit: IdWinsock

ENETDOWN = WSAENETDOWN;

Description

The text for this constant has been generated automatically. This means that it is not documented.


ENETRESET

Unit: IdWinsock

ENETRESET = WSAENETRESET;

Description

The text for this constant has been generated automatically. This means that it is not documented.


ENETUNREACH

Unit: IdWinsock

ENETUNREACH = WSAENETUNREACH;

Description

The text for this constant has been generated automatically. This means that it is not documented.


ENOBUFS

Unit: IdWinsock

ENOBUFS = WSAENOBUFS;

Description

The text for this constant has been generated automatically. This means that it is not documented.


ENOPROTOOPT

Unit: IdWinsock

ENOPROTOOPT = WSAENOPROTOOPT;

Description

The text for this constant has been generated automatically. This means that it is not documented.


ENOTCONN

Unit: IdWinsock

ENOTCONN = WSAENOTCONN;

Description

The text for this constant has been generated automatically. This means that it is not documented.


ENOTEMPTY

Unit: IdWinsock

ENOTEMPTY = WSAENOTEMPTY;

Description

The text for this constant has been generated automatically. This means that it is not documented.


ENOTSOCK

Unit: IdWinsock

ENOTSOCK = WSAENOTSOCK;

Description

The text for this constant has been generated automatically. This means that it is not documented.


EOL

Unit: IdGlobal

Represents the End-of-Line character sequence.

EOL = CR + LF;

Description

EOL is the constant value used to represent the End-of-Line character sequence commonly used by many Internet protocols.


EOPNOTSUPP

Unit: IdWinsock

EOPNOTSUPP = WSAEOPNOTSUPP;

Description

The text for this constant has been generated automatically. This means that it is not documented.


EPFNOSUPPORT

Unit: IdWinsock

EPFNOSUPPORT = WSAEPFNOSUPPORT;

Description

The text for this constant has been generated automatically. This means that it is not documented.


EPROCLIM

Unit: IdWinsock

EPROCLIM = WSAEPROCLIM;

Description

The text for this constant has been generated automatically. This means that it is not documented.


EPROTONOSUPPORT

Unit: IdWinsock

EPROTONOSUPPORT = WSAEPROTONOSUPPORT;

Description

The text for this constant has been generated automatically. This means that it is not documented.


EPROTOTYPE

Unit: IdWinsock

EPROTOTYPE = WSAEPROTOTYPE;

Description

The text for this constant has been generated automatically. This means that it is not documented.


EREMOTE

Unit: IdWinsock

EREMOTE = WSAEREMOTE;

Description

The text for this constant has been generated automatically. This means that it is not documented.


ErrAccessViolation

Unit: IdTrivialFTPBase

Error number for server read file or write file errors.

ErrAccessViolation = 2;

Description

ErrAccessViolation is the constant error number for EIdTFTPAccessViolation Exceptions raised when CanRead is set to FALSE in a TIdTrivialFTPServer onReadFile or onWriteFile.


ErrAllocationExceeded

Unit: IdTrivialFTPBase

Exception raised when a TFTP file writing fails.

ErrAllocationExceeded = 3;

Description

ErrAllocationExceeded is the constant error number for the EIdTFTPAllocationExceeded Exception raised when a TFTP file write error occurs.


ErrFileAlreadyExists

Unit: IdTrivialFTPBase

Error number for the TFTP File Exists error.

ErrFileAlreadyExists = 6;

Description

ErrFileAlreadyExists represents the constant error number for the TrivialFTP EIdTFTPFileAlreadyExists exception.


ErrFileNotFound

Unit: IdTrivialFTPBase

Error number for File Not Found errors.

ErrFileNotFound = 1;

Description

ErrFileNotFoundError is the constant error number for File Not Found errors.


ErrIllegalOperation

Unit: IdTrivialFTPBase

Error number for illegal operation messages.

ErrIllegalOperation = 4;

Description

ErrIllegalOperation is the constant error number for exceptions raised by several methods when the parameter provided does not map to an enumerated type, such as when the mode setting is not octet or netascii.


ErrNoSuchUser

Unit: IdTrivialFTPBase

Error number for TFTP user authentication failure.

ErrNoSuchUser = 7;

Description

ErrNoSuchUser is a constant value that represents the error number for unknown user name or password on a TrivialFTP connection.


ErrOptionNegotiationFailed

Unit: IdTrivialFTPBase

Error number for TFTP option negotiation.

ErrOptionNegotiationFailed = 8;

Description

ErrOptionNegotiationFailed is a constant value that specifies the error number for an error that occurs while negotiating TrivialFTP options.


ErrUndefined

Unit: IdTrivialFTPBase

Error number for undefined TrivialFTP errors.

ErrUndefined = 0;

Description

ErrUndefined is a constant value the specifies the error number for undefined TrivialFTP errors.


ErrUnknownTransferID

Unit: IdTrivialFTPBase

Error number for an unknown TFTP transfer ID.

ErrUnknownTransferID = 5;

Description

ErrUnknownTransferID is a constant value that represents the error number for an unknown TrivialFTP transfer ID.


ESHUTDOWN

Unit: IdWinsock

ESHUTDOWN = WSAESHUTDOWN;

Description

The text for this constant has been generated automatically. This means that it is not documented.


ESOCKTNOSUPPORT

Unit: IdWinsock

ESOCKTNOSUPPORT = WSAESOCKTNOSUPPORT;

Description

The text for this constant has been generated automatically. This means that it is not documented.


ESTALE

Unit: IdWinsock

ESTALE = WSAESTALE;

Description

The text for this constant has been generated automatically. This means that it is not documented.


ETIMEDOUT

Unit: IdWinsock

ETIMEDOUT = WSAETIMEDOUT;

Description

The text for this constant has been generated automatically. This means that it is not documented.


ETOOMANYREFS

Unit: IdWinsock

ETOOMANYREFS = WSAETOOMANYREFS;

Description

The text for this constant has been generated automatically. This means that it is not documented.


EUSERS

Unit: IdWinsock

EUSERS = WSAEUSERS;

Description

The text for this constant has been generated automatically. This means that it is not documented.


EWOULDBLOCK

Unit: IdWinsock

EWOULDBLOCK = WSAEWOULDBLOCK;

Description

The text for this constant has been generated automatically. This means that it is not documented.


FD_ACCEPT

Unit: IdWinsock

FD_ACCEPT = $08;

Description

The text for this constant has been generated automatically. This means that it is not documented.


FD_CLOSE

Unit: IdWinsock

FD_CLOSE = $20;

Description

The text for this constant has been generated automatically. This means that it is not documented.


FD_CONNECT

Unit: IdWinsock

FD_CONNECT = $10;

Description

The text for this constant has been generated automatically. This means that it is not documented.


FD_OOB

Unit: IdWinsock

FD_OOB = $04;

Description

The text for this constant has been generated automatically. This means that it is not documented.


FD_READ

Unit: IdWinsock

FD_READ = $01;

Description

The text for this constant has been generated automatically. This means that it is not documented.


FD_SETSIZE

Unit: IdWinsock

FD_SETSIZE = 64;

Description

The text for this constant has been generated automatically. This means that it is not documented.


FD_WRITE

Unit: IdWinsock

FD_WRITE = $02;

Description

The text for this constant has been generated automatically. This means that it is not documented.


FIOASYNC

Unit: IdWinsock

FIOASYNC = IOC_IN or ((Longint(SizeOf(Longint)) and IOCPARM_MASK) shl 16) or (Longint(Byte('f')) shl 8) or 125;

Description

The text for this constant has been generated automatically. This means that it is not documented.


FIONBIO

Unit: IdWinsock

FIONBIO = IOC_IN or ((Longint(SizeOf(Longint)) and IOCPARM_MASK) shl 16) or (Longint(Byte('f')) shl 8) or 126;

Description

The text for this constant has been generated automatically. This means that it is not documented.


FIONREAD

Unit: IdWinsock

FIONREAD = IOC_OUT or ((Longint(SizeOf(Longint)) and IOCPARM_MASK) shl 16) or (Longint(Byte('f')) shl 8) or 127;

Description

The text for this constant has been generated automatically. This means that it is not documented.


GContentType

Unit: IdHTTPServer

This is the default value for the TIdHTTPResponseInfo.ContentType property.

GContentType = 'text/html';

Description

GContentType is the default value for the TIdHTTPResponseInfo.ContentType property. This is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.


GFContentLength

Unit: IdHTTPServer

This is the default value for the TIdHTTPResponseInfo.ContentLength property.

GFContentLength = -1;

Description

GFContentLength is the default value for the TIdHTTPResponseInfo.ContentLength property. This is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.


GFMaxAge

Unit: IdHTTPServer

This is the default value for the TIdCookie.MaxAge property.

GFMaxAge = -1;

Description

GFMaxAge is the default value for the TIdCookie.MaxAge property. This is used in the class definition and the constructor. Changing this value will change the default value for that property.


GFRequestedBlockSize

Unit: IdTrivialFTP

Default TrivialFTP request block size.

GFRequestedBlockSize = 1500;

Description

GFRequestedBlockSize is a constant Integer value that represents the global default block size used TFTP requests. TIdTrivialFTP.RequestedBlockSize receives the value of GFRequestedBlockSize in the constructor for the object instance.


GFTTL

Unit: IdRawBase

Default TIme-To-Live for TIdRawBase object instances.

GFTTL = 128;

Description

GFTTL is a constant Integer value that represents the default Time-To-Live assigned to the TIdRawBase.TTL property in the constructor for the object instance.


GLoginAttempts

Unit: IdTelnetServer

Maximum login attempts for a threaded connection to the Telnet server.

GLoginAttempts = 3;

Description

GLoginAttempts is a constant Integer value that represents the maximum number of login attempts permitted when attempting a connection to TIdTelnetServer. GLoginAttempts is assigned to the TIdTelnetServer.LoginAttempts property in the constructor for the server instance, and is used for all TIdPeerThread connections to the server.


GPathSep

Unit: IdGlobal

Identifies the path separator character.

GPathSep = '\';

Description

GPathSep is a constant String value that identifies the platform-specific path separator character. For the Windows platform, GPathSep contains the '' character. For the Linux platform, GPathSep contains the '/' character.


GReceiveTimeout

Unit: IdRawBase

Default timeout value for read operations in TIdRawBase object instances.

GReceiveTimeout = 4000;

Description

GReceiveTimeout is a constant Integer value that represents the default timeout value for receive operations. GReceiveTimeout is assigned to the TIdRawBase.ReceiveTimeout property in the constructor for the object instance, and is used to determine when the socket connection is readable.


GRecvBufferSizeDefault

Unit: IdTCPConnection

Default value for the TIdTCPConnection.SendBufferSize property.

GRecvBufferSizeDefault = 32768;

Description

GRecvBufferSizeDefault is the default value for the TIdTCPConnection.SendBufferSize property. GRecvBufferSizeDefault is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.


GResponseNo

Unit: IdHTTPServer

This is the default value for the TIdHTTPResponseInfo.ResponseNo property.

GResponseNo = 200;

Description

GResponseNo is the default value for the TIdHTTPResponseInfo.ResponseNo property. This is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.


GSendBufferSizeDefault

Unit: IdTCPConnection

Default value for the TIdTCPConnection.RecvBufferSize property.

GSendBufferSizeDefault = 32768;

Description

GSendBufferSizeDefault is the default value for the TIdTCPConnection.RecvBufferSize property. GSendBufferSizeDefault is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.


GServerSoftware

Unit: IdHTTPServer

This is the default value for the TIdHTTPResponseInfo.ServerSoftware property.

GServerSoftware = gsIdProductName + '/' + gsIdVersion;

Description

GServerSoftware is the default value for the TIdHTTPResponseInfo.ServerSoftware property. This is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.


gsIdProductName

See Also	Unit: IdGlobal

Identifies the product name.

gsIdProductName = 'Indy';

Description

gsIdProductName is a constant String value that contains the name of this product ('Indy').


See Also

gsIdVersion


gsIdVersion

See Also	Unit: IdGlobal

Identifies the product version.

gsIdVersion = '8.0.21';

Description

gsIdVersion is a constant String value that identifies the version of this product.


See Also

gsIdProductName


GTransferMode

Unit: IdTrivialFTP

Default TrivialFTP transfer mode.

GTransferMode = tfOctet;

Description

GTransferMode is a constant value that represents the default TIdTFTPMode file transfer mode used by the TIdTrivialFTP.TransferMode property.


HalfCodeTable

Unit: IdCoder3To4

Length of the coding table as represented in a UUEncode or XXEncode header.

HalfCodeTable = CTL3To4 div 2;

Description

HalfCodeTable is the length of the coding table as represented in a UUEncode or XXEncode header.


hdrsize

Unit: IdTrivialFTPBase

Bytes in a TFTP Header.

hdrsize = 4;

Description

hdrsize represents the number of bytes used in a TrivialFTP header construct for TFTP data packets.


HOST_NOT_FOUND

Unit: IdWinsock

HOST_NOT_FOUND = WSAHOST_NOT_FOUND;

Description

The text for this constant has been generated automatically. This means that it is not documented.


ICMP_MIN

See Also	Unit: IdIcmpClient

Specifies the minimum number of data bytes in an ICMP reply.

ICMP_MIN = 8;

Description

ICMP_MIN is a constant value that specifies the minimum number of data bytes in an ICMP reply.


See Also

TIdIcmpClient


Id_ARP_HSIZE

Unit: IdRawHeaders

Id_ARP_HSIZE = $1C;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ARPHRD_ETHER

Unit: IdRawHeaders

Id_ARPHRD_ETHER = 1;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ARPOP_INVREPLY

Unit: IdRawHeaders

Id_ARPOP_INVREPLY = 9;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ARPOP_INVREQUEST

Unit: IdRawHeaders

Id_ARPOP_INVREQUEST = 8;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ARPOP_REPLY

Unit: IdRawHeaders

Id_ARPOP_REPLY = 2;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ARPOP_REQUEST

Unit: IdRawHeaders

Id_ARPOP_REQUEST = 1;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ARPOP_REVREPLY

Unit: IdRawHeaders

Id_ARPOP_REVREPLY = 4;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ARPOP_REVREQUEST

Unit: IdRawHeaders

Id_ARPOP_REVREQUEST = 3;

Description

The text for this constant has been generated automatically. This means that it is not documented.


ID_Default_TIdAntiFreezeBase_Active

Unit: IdAntiFreezeBase

This is the default value for the TIdAntiFreezeBase.Active property.

ID_Default_TIdAntiFreezeBase_Active = True;

Description

ID_Default_TIdAntiFreezeBase_Active is the default value for the TIdAntiFreeze.Active property. This is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.


ID_Default_TIdAntiFreezeBase_ApplicationHasPriority

Unit: IdAntiFreezeBase

ID_Default_TIdAntiFreezeBase_ApplicationHasPriority = True;

Description

ID_Default_TIdAntiFreezeBase_ApplicationHasPriority


ID_Default_TIdAntiFreezeBase_IdleTimeOut

Unit: IdAntiFreezeBase

This is the default value for the TIdAntiFreezeBase.IdleTimeOut property.

ID_Default_TIdAntiFreezeBase_IdleTimeOut = 250;

Description

ID_Default_TIdAntiFreezeBase_IdleTimeOut is the default value for the TIdAntiFreeze.IdleTimeOut property. This is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.


ID_Default_TIdAntiFreezeBase_OnlyWhenIdle

Unit: IdAntiFreezeBase

This is the default value for the TIdAntiFreezeBase.OnlyWhenIdle property.

ID_Default_TIdAntiFreezeBase_OnlyWhenIdle = True;

Description

ID_Default_TIdAntiFreezeBase_OnlyWhenIdle is the default value for the TIdAntiFreeze.OnlyWhenIdle property. This is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.


Id_DNS_HSIZE

Unit: IdRawHeaders

Id_DNS_HSIZE = $0C;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ETH_HSIZE

Unit: IdRawHeaders

Id_ETH_HSIZE = $0E;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ETHER_ADDR_LEN

Unit: IdRawHeaders

Id_ETHER_ADDR_LEN = 6;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ETHERTYPE_ARP

Unit: IdRawHeaders

Id_ETHERTYPE_ARP = $0806;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ETHERTYPE_IP

Unit: IdRawHeaders

Id_ETHERTYPE_IP = $0800;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ETHERTYPE_LOOPBACK

Unit: IdRawHeaders

Id_ETHERTYPE_LOOPBACK = $9000;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ETHERTYPE_PUP

Unit: IdRawHeaders

Id_ETHERTYPE_PUP = $0200;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ETHERTYPE_REVARP

Unit: IdRawHeaders

Id_ETHERTYPE_REVARP = $8035;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ETHERTYPE_VLAN

Unit: IdRawHeaders

Id_ETHERTYPE_VLAN = $8100;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_ECHO

Unit: IdRawHeaders

Id_ICMP_ECHO = 8;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_ECHO_HSIZE

Unit: IdRawHeaders

Id_ICMP_ECHO_HSIZE = $08;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_ECHOREPLY

Unit: IdRawHeaders

Id_ICMP_ECHOREPLY = 0;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_HSIZE

Unit: IdRawHeaders

Id_ICMP_HSIZE = $04;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_IREQ

Unit: IdRawHeaders

Id_ICMP_IREQ = 15;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_IREQREPLY

Unit: IdRawHeaders

Id_ICMP_IREQREPLY = 16;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_MASK_HSIZE

Unit: IdRawHeaders

Id_ICMP_MASK_HSIZE = $0C;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_MASKREPLY

Unit: IdRawHeaders

Id_ICMP_MASKREPLY = 18;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_MASKREQ

Unit: IdRawHeaders

Id_ICMP_MASKREQ = 17;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_PARAMPROB

Unit: IdRawHeaders

Id_ICMP_PARAMPROB = 12;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_PARAMPROB_OPTABSENT

Unit: IdRawHeaders

Id_ICMP_PARAMPROB_OPTABSENT = 1;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_REDIRECT

Unit: IdRawHeaders

Id_ICMP_REDIRECT = 5;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_REDIRECT_HOST

Unit: IdRawHeaders

Id_ICMP_REDIRECT_HOST = 1;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_REDIRECT_HSIZE

Unit: IdRawHeaders

Id_ICMP_REDIRECT_HSIZE = $08;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_REDIRECT_NET

Unit: IdRawHeaders

Id_ICMP_REDIRECT_NET = 0;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_REDIRECT_TOSHOST

Unit: IdRawHeaders

Id_ICMP_REDIRECT_TOSHOST = 3;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_REDIRECT_TOSNET

Unit: IdRawHeaders

Id_ICMP_REDIRECT_TOSNET = 2;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_ROUTERADVERT

Unit: IdRawHeaders

Id_ICMP_ROUTERADVERT = 9;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_ROUTERSOLICIT

Unit: IdRawHeaders

Id_ICMP_ROUTERSOLICIT = 10;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_SOURCEQUENCH

Unit: IdRawHeaders

Id_ICMP_SOURCEQUENCH = 4;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_TIMEXCEED_HSIZE

Unit: IdRawHeaders

Id_ICMP_TIMEXCEED_HSIZE = $08;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_TIMXCEED

Unit: IdRawHeaders

Id_ICMP_TIMXCEED = 11;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_TIMXCEED_INTRANS

Unit: IdRawHeaders

Id_ICMP_TIMXCEED_INTRANS = 0;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_TIMXCEED_REASS

Unit: IdRawHeaders

Id_ICMP_TIMXCEED_REASS = 1;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_TS_HSIZE

Unit: IdRawHeaders

Id_ICMP_TS_HSIZE = $14;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_TSTAMP

Unit: IdRawHeaders

Id_ICMP_TSTAMP = 13;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_TSTAMPREPLY

Unit: IdRawHeaders

Id_ICMP_TSTAMPREPLY = 14;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_UNREACH

Unit: IdRawHeaders

Id_ICMP_UNREACH = 3;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_UNREACH_FILTER_PROHIB

Unit: IdRawHeaders

Id_ICMP_UNREACH_FILTER_PROHIB = 13;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_UNREACH_HOST

Unit: IdRawHeaders

Id_ICMP_UNREACH_HOST = 1;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_UNREACH_HOST_PRECEDENCE

Unit: IdRawHeaders

Id_ICMP_UNREACH_HOST_PRECEDENCE = 14;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_UNREACH_HOST_PROHIB

Unit: IdRawHeaders

Id_ICMP_UNREACH_HOST_PROHIB = 10;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_UNREACH_HOST_UNKNOWN

Unit: IdRawHeaders

Id_ICMP_UNREACH_HOST_UNKNOWN = 7;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_UNREACH_HSIZE

Unit: IdRawHeaders

Id_ICMP_UNREACH_HSIZE = $08;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_UNREACH_ISOLATED

Unit: IdRawHeaders

Id_ICMP_UNREACH_ISOLATED = 8;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_UNREACH_NEEDFRAG

Unit: IdRawHeaders

Id_ICMP_UNREACH_NEEDFRAG = 4;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_UNREACH_NET

Unit: IdRawHeaders

Id_ICMP_UNREACH_NET = 0;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_UNREACH_NET_PROHIB

Unit: IdRawHeaders

Id_ICMP_UNREACH_NET_PROHIB = 9;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_UNREACH_NET_UNKNOWN

Unit: IdRawHeaders

Id_ICMP_UNREACH_NET_UNKNOWN = 6;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_UNREACH_PORT

Unit: IdRawHeaders

Id_ICMP_UNREACH_PORT = 3;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_UNREACH_PRECEDENCE_CUTOFF

Unit: IdRawHeaders

Id_ICMP_UNREACH_PRECEDENCE_CUTOFF = 15;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_UNREACH_PROTOCOL

Unit: IdRawHeaders

Id_ICMP_UNREACH_PROTOCOL = 2;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_UNREACH_SRCFAIL

Unit: IdRawHeaders

Id_ICMP_UNREACH_SRCFAIL = 5;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_UNREACH_TOSHOST

Unit: IdRawHeaders

Id_ICMP_UNREACH_TOSHOST = 12;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_ICMP_UNREACH_TOSNET

Unit: IdRawHeaders

Id_ICMP_UNREACH_TOSNET = 11;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_IGMP_HSIZE

Unit: IdRawHeaders

Id_IGMP_HSIZE = $08;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_IGMP_LEAVE_GROUP

Unit: IdRawHeaders

Id_IGMP_LEAVE_GROUP = $17;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_IGMP_MEMBERSHIP_QUERY

Unit: IdRawHeaders

Id_IGMP_MEMBERSHIP_QUERY = $11;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_IGMP_V1_MEMBERSHIP_REPORT

Unit: IdRawHeaders

Id_IGMP_V1_MEMBERSHIP_REPORT = $12;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_IGMP_V2_MEMBERSHIP_REPORT

Unit: IdRawHeaders

Id_IGMP_V2_MEMBERSHIP_REPORT = $16;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_INADDR_ANY

Unit: IdStackConsts

Id_INADDR_ANY = INADDR_ANY;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_INADDR_NONE

Unit: IdStackConsts

Id_INADDR_NONE = INADDR_NONE;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_INVALID_SOCKET

Unit: IdStackConsts

Id_INVALID_SOCKET = INVALID_SOCKET;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_IP_DF

Unit: IdRawHeaders

Id_IP_DF = $4000;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_IP_HSIZE

Unit: IdRawHeaders

Id_IP_HSIZE = $14;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_IP_MAXPACKET

Unit: IdRawHeaders

Id_IP_MAXPACKET = 65535;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_IP_MF

Unit: IdRawHeaders

Id_IP_MF = $2000;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_IP_OFFMASK

Unit: IdRawHeaders

Id_IP_OFFMASK = $1FFF;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_IP_RF

Unit: IdRawHeaders

Id_IP_RF = $8000;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_IP_TTL

Unit: IdStackConsts

Id_IP_TTL = IP_TTL;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_IPPROTO_ICMP

Unit: IdStackConsts

Id_IPPROTO_ICMP = IPPROTO_ICMP;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_IPPROTO_IGMP

Unit: IdStackConsts

Id_IPPROTO_IGMP = IPPROTO_IGMP;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_IPPROTO_IP

Unit: IdStackConsts

Id_IPPROTO_IP = IPPROTO_IP;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_IPPROTO_MAX

Unit: IdStackConsts

Id_IPPROTO_MAX = IPPROTO_MAX;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_IPPROTO_RAW

Unit: IdStackConsts

Id_IPPROTO_RAW = IPPROTO_RAW;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_IPPROTO_TCP

Unit: IdStackConsts

Id_IPPROTO_TCP = IPPROTO_TCP;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_IPPROTO_UDP

Unit: IdStackConsts

Id_IPPROTO_UDP = IPPROTO_UDP;

Description

The text for this constant has been generated automatically. This means that it is not documented.


ID_LOGBASE_Active

Unit: IdLogBase

Default value for the TIdLogBase.Active property.

ID_LOGBASE_Active = False;

Description

ID_LOGBASE_Active is the default value for the TIdLogBase.Active property. This is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.


ID_LOGBASE_LogTime

Unit: IdLogBase

Default value for the TIdLogBase.LogTime property.

ID_LOGBASE_LogTime = True;

Description

ID_LOGBASE_LogTime is the default value for the TIdLogBase.LogTime property. This is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.


ID_MAPPED_PORT_TCP_PORT

Unit: IdMappedPortTCP

Default value for the TIdMappedPortTCP.MappedPort property.

ID_MAPPED_PORT_TCP_PORT = 0;

Description

ID_MAPPED_PORT_TCP_PORT is the default value for the TIdMappedPortTCP.MappedPort property. This is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.


Id_MAX_IPOPTLEN

Unit: IdRawHeaders

Id_MAX_IPOPTLEN = 40;

Description

The text for this constant has been generated automatically. This means that it is not documented.


ID_MSG_NODECODE

Unit: IdMessage

Default value for the TIdMessage.NoDecode property.

ID_MSG_NODECODE = False;

Description

ID_MSG_NODECODE is the default value for the TIdMessage.NoDecode property. This is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.


ID_MSG_PRIORITY

Unit: IdMessage

Default value for the TIdMessage.Priority property.

ID_MSG_PRIORITY = mpNormal;

Description

ID_MSG_PRIORITY is the default value for the TIdMessage.Priority property. This is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.


ID_MSG_USENOWFORDATE

Unit: IdMessage

Default value for the TIdMessage.UseNowForDate property.

ID_MSG_USENOWFORDATE = True;

Description

ID_MSG_USENOWFORDATE is the default value for the TIdMessage.UseNowForDate property. This is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.


ID_NC_MASK_LENGTH

Unit: IdNetworkCalculator

Default length of network masks for TIdNetworkCalculator object instances.

ID_NC_MASK_LENGTH = 32;

Description

ID_NC_MASK_LENGTH is a constant Cardinal value that represents the length of the network mask used in calculating IP addresses for TIdNetworkCalculator. ID_NC_MASK_LENGTH is assigned to the TIdNetworkCalculator.NetworkMaskLength property in the constructor for the object instance.


ID_NETWORKCLASS

Unit: IdNetworkCalculator

Default network class for IP addresses in TIdNetworkCalculator instances.

ID_NETWORKCLASS = ID_NET_CLASS_A;

Description

ID_NETWORKCLASS is a constant value that represents the default TNetworkClass value assigned to the TIdNetworkCalculator.NetworkClass property in the constructor for the object instance.


Id_PF_INET

Unit: IdStackConsts

Id_PF_INET = PF_INET;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_RIP_HSIZE

Unit: IdRawHeaders

Id_RIP_HSIZE = $18;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_RIPCMD_MAX

Unit: IdRawHeaders

Id_RIPCMD_MAX = 7;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_RIPCMD_POLL

Unit: IdRawHeaders

Id_RIPCMD_POLL = 5;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_RIPCMD_POLLENTRY

Unit: IdRawHeaders

Id_RIPCMD_POLLENTRY = 6;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_RIPCMD_REQUEST

Unit: IdRawHeaders

Id_RIPCMD_REQUEST = 1;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_RIPCMD_RESPONSE

Unit: IdRawHeaders

Id_RIPCMD_RESPONSE = 2;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_RIPCMD_TRACEOFF

Unit: IdRawHeaders

Id_RIPCMD_TRACEOFF = 4;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_RIPCMD_TRACEON

Unit: IdRawHeaders

Id_RIPCMD_TRACEON = 3;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_RIPVER_0

Unit: IdRawHeaders

Id_RIPVER_0 = 0;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_RIPVER_1

Unit: IdRawHeaders

Id_RIPVER_1 = 1;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_RIPVER_2

Unit: IdRawHeaders

Id_RIPVER_2 = 2;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_SD_Both

Unit: IdStackConsts

Id_SD_Both = 2;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_SD_Recv

Unit: IdStackConsts

Id_SD_Recv = 0;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_SD_Send

Unit: IdStackConsts

Id_SD_Send = 1;

Description

The text for this constant has been generated automatically. This means that it is not documented.


ID_SIMPLE_SERVER_BOUND_PORT

Unit: IdSimpleServer

Default port number for TIdSimpleServer object instances.

ID_SIMPLE_SERVER_BOUND_PORT = 0;

Description

ID_SIMPLE_SERVER_BOUND_PORT is a constant Integer value that represents the default port number assigned to the TIdSimpleServer.BoundPort property in the constructor for the object instance.


Id_SO_BROADCAST

Unit: IdStackConsts

Id_SO_BROADCAST = SO_BROADCAST;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_SO_DEBUG

Unit: IdStackConsts

Id_SO_DEBUG = SO_DEBUG;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_SO_DONTROUTE

Unit: IdStackConsts

Id_SO_DONTROUTE = SO_DONTROUTE;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_SO_KEEPALIVE

Unit: IdStackConsts

Id_SO_KEEPALIVE = SO_KEEPALIVE;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_SO_LINGER

Unit: IdStackConsts

Id_SO_LINGER = SO_LINGER;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_SO_OOBINLINE

Unit: IdStackConsts

Id_SO_OOBINLINE = SO_OOBINLINE;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_SO_RCVBUF

Unit: IdStackConsts

Id_SO_RCVBUF = SO_RCVBUF;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_SO_RCVTIMEO

Unit: IdStackConsts

Id_SO_RCVTIMEO = SO_RCVTIMEO;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_SO_REUSEADDR

Unit: IdStackConsts

Id_SO_REUSEADDR = SO_REUSEADDR;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_SO_SNDBUF

Unit: IdStackConsts

Id_SO_SNDBUF = SO_SNDBUF;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_SO_SNDTIMEO

Unit: IdStackConsts

Id_SO_SNDTIMEO = SO_SNDTIMEO;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_SOCK_DGRAM

Unit: IdStackConsts

Id_SOCK_DGRAM = Integer(SOCK_DGRAM);

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_SOCK_RAW

Unit: IdStackConsts

Id_SOCK_RAW = Integer(SOCK_RAW);

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_SOCK_STREAM

Unit: IdStackConsts

Id_SOCK_STREAM = Integer(SOCK_STREAM);

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_SOCKET_ERROR

Unit: IdStackConsts

Id_SOCKET_ERROR = SOCKET_ERROR;

Description

The text for this constant has been generated automatically. This means that it is not documented.


ID_SOCKS_AUTH

Unit: IdSocks

Default Socks Authentication for TSocksInfo instances.

ID_SOCKS_AUTH = saNoAuthentication;

Description

ID_SOCKS_AUTH is a constant value that represents the default TSocksAuthentication value assigned to the TSocksInfo.Authentication property in the constructor for the object instance.


ID_SOCKS_PORT

Unit: IdSocks

Default port number for TSocksInfo object instances.

ID_SOCKS_PORT = 0;

Description

ID_SOCKS_PORT is a constant Integer value that represents the default port number assigned to the TSocksInfo.Port property in the constructor for a TSocksInfo object instance.


ID_SOCKS_VER

Unit: IdSocks

Default Socks version for TSocksInfo instances.

ID_SOCKS_VER = svNoSocks;

Description

ID_SOCKS_VER is a constant value that represents the default TSocksVersion assigned to the TSocksInfo.Version property in the constructor for the object instance.


Id_SOL_SOCKET

Unit: IdStackConsts

Id_SOL_SOCKET = SOL_SOCKET;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_TCP_ACK

Unit: IdRawHeaders

Id_TCP_ACK = $10;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_TCP_FIN

Unit: IdRawHeaders

Id_TCP_FIN = $01;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_TCP_HSIZE

Unit: IdRawHeaders

Id_TCP_HSIZE = $14;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_TCP_NODELAY

Unit: IdStackConsts

Id_TCP_NODELAY = TCP_NODELAY;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_TCP_PUSH

Unit: IdRawHeaders

Id_TCP_PUSH = $08;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_TCP_RST

Unit: IdRawHeaders

Id_TCP_RST = $04;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_TCP_SYN

Unit: IdRawHeaders

Id_TCP_SYN = $02;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_TCP_URG

Unit: IdRawHeaders

Id_TCP_URG = $20;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_TId_HTTPAutoStartSession

Unit: IdHTTPServer

This is the default value for the TIdHTTPServer.AutoStartSession property.

Id_TId_HTTPAutoStartSession = False;

Description

Id_TId_HTTPAutoStartSession is the default value for the TIdHTTPServer.AutoStartSession property. This is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.


Id_TId_HTTPServer_ParseParams

Unit: IdHTTPServer

This is the default value for the TIdHTTPServer.ParseParams property.

Id_TId_HTTPServer_ParseParams = True;

Description

Id_TId_HTTPServer_ParseParams is the default value for the TIdHTTPServer.ParseParams property. This is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.


Id_TId_HTTPServer_SessionState

Unit: IdHTTPServer

This is the default value for the TIdHTTPServer.SessionState property.

Id_TId_HTTPServer_SessionState = False;

Description

ID_Default_TIdAntiFreezeBase_Active is the default value for the TIdHTTPServer.SessionState property. This is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.


Id_TId_HTTPSessionTimeOut

Unit: IdHTTPServer

This is the default value for the TIdHTTPServer.SessionTimeOut property.

Id_TId_HTTPSessionTimeOut = 0;

Description

Id_TId_HTTPSessionTimeOut is the default value for the TIdHTTPServer.SessionTimeOut property. This is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.


Id_TIdFinger_VerboseOutput

Unit: IdFinger

This is the default value for the TIdFinger.VerboseOutput property.

Id_TIdFinger_VerboseOutput = False;

Description

Id_TIdFinger_VerboseOutput is the default value for the TIdFinger.VerboseOutput property. This is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.


Id_TIdFTP_Passive

Unit: IdFTP

This is the default value for the TIdFTP.Passive property.

Id_TIdFTP_Passive = False;

Description

Id_TIdFTP_Passive is the default value for the TIdFTP.Passive property. This is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.


Id_TIdFTP_TransferType

Unit: IdFTP

This is the default value for the TIdFTP.TransferType property.

Id_TIdFTP_TransferType = ftBinary;

Description

Id_TIdFTP_TransferType is the default value for the TIdFTP.TransferType property. This is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.


Id_TIdGopherServer_TruncateLength

Unit: IdGopherServer

This is the default value for the TIdGopherServer.TruncateLength property.

Id_TIdGopherServer_TruncateLength = 70;

Description

Id_TIdGopherServer_TruncateLength is the default value for the TIdGopherServer.TruncateLength property. This is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.


Id_TIdGopherServer_TruncateUserFriendly

Unit: IdGopherServer

This is the default value for the TIdGopherServer.TruncateUserFriendly property.

Id_TIdGopherServer_TruncateUserFriendly = True;

Description

Id_TIdGopherServer_TruncateUserFriendly is the default value for the TIdGopherServer.TruncateUserFriendly property. This is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.


Id_TIdHTTP_HandleRedirects

Unit: IdHTTP

This is the default value for the TIdHTTP.HandleRedirects property.

Id_TIdHTTP_HandleRedirects = False;

Description

Id_TIdHTTP_HandleRedirects is the default value for the TIdHTTP.HandleRedirects property. This is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.


Id_TIdHTTP_ProtocolVersion

Unit: IdHTTP

This is the default value for the TIdHTTP.ProtocolVersion property.

Id_TIdHTTP_ProtocolVersion = pv1_1;

Description

Id_TIdHTTP_ProtocolVersion is the default value for the TIdHTTP.ProtocolVersion property. This is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.


Id_TIdHTTP_RedirectMax

Unit: IdHTTP

This is the default value for the TIdHTTP.RedirectMax property.

Id_TIdHTTP_RedirectMax = 15;

Description

Id_TIdHTTP_RedirectMax is the default value for the TIdHTTP.RedirectMax property. This is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.


Id_TIDICMP_ReceiveTimeout

Unit: IdIcmpClient

This is the default value for the TIdIcmpClient.ReceiveTimeout property.

Id_TIDICMP_ReceiveTimeout = 5000;

Description

Id_TIDICMP_ReceiveTimeout is the default value for the TIdIcmpClient.ReceiveTimeout property. This is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.


ID_TIDLOGDEBUG_TARGET

Unit: IdLogDebug

Default value for the TIdLogDebug.Target property.

ID_TIDLOGDEBUG_TARGET = ltFile;

Description

ID_TIDLOGDEBUG_TARGET is the default value for the TIdLogDebug.Target property. This is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.


Id_TIdRawBase_BufferSize

Unit: IdRawBase

Default buffer size for TIdRawBase object instances.

Id_TIdRawBase_BufferSize = 8192;

Description

Id_TIdRawBase_BufferSize is a constant Integer value that represents the default buffer size assigned to the TIdRawBase.BufferSize property in the constructor for the object instance.


Id_TIdRawBase_Port

Unit: IdRawBase

Default port number for TIdRawBase object instances.

Id_TIdRawBase_Port = 0;

Description

Id_TIdRawBase_Port is a constant Integer value that represents the default port number assigned to the TIdRawBase.Port property in the constructor for the object instance.


ID_TIDSMTP_AUTH_TYPE

Unit: IdSMTP

Default Authentication Type for TIdSMTP object instances.

ID_TIDSMTP_AUTH_TYPE = atNone;

Description

ID_TIDSMTP_AUTH_TYPE is a constant value that represents the default TAuthenticationType value assigned to the TIdSMTP.AuthenticationType property in the constructor for a TIdSMTP object instance.


ID_UDP_BUFFERSIZE

Unit: IdUDPBase

Default UDP buffer size.

ID_UDP_BUFFERSIZE = 8192;

Description

ID_UDP_BUFFERSIZE is a constant Integer value that represents the default value for the TIdUDPBase.BufferSize property.


Id_UDP_HSIZE

Unit: IdRawHeaders

Id_UDP_HSIZE = $08;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAEACCES

Unit: IdStackConsts

Id_WSAEACCES = WSAEACCES;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAEADDRINUSE

Unit: IdStackConsts

Id_WSAEADDRINUSE = WSAEADDRINUSE;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAEADDRNOTAVAIL

Unit: IdStackConsts

Id_WSAEADDRNOTAVAIL = WSAEADDRNOTAVAIL;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAEAFNOSUPPORT

Unit: IdStackConsts

Id_WSAEAFNOSUPPORT = WSAEAFNOSUPPORT;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAEALREADY

Unit: IdStackConsts

Id_WSAEALREADY = WSAEALREADY;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAEBADF

Unit: IdStackConsts

Id_WSAEBADF = WSAEBADF;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAECONNABORTED

Unit: IdStackConsts

Id_WSAECONNABORTED = WSAECONNABORTED;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAECONNREFUSED

Unit: IdStackConsts

Id_WSAECONNREFUSED = WSAECONNREFUSED;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAECONNRESET

Unit: IdStackConsts

Id_WSAECONNRESET = WSAECONNRESET;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAEDESTADDRREQ

Unit: IdStackConsts

Id_WSAEDESTADDRREQ = WSAEDESTADDRREQ;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAEFAULT

Unit: IdStackConsts

Id_WSAEFAULT = WSAEFAULT;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAEHOSTDOWN

Unit: IdStackConsts

Id_WSAEHOSTDOWN = WSAEHOSTDOWN;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAEHOSTUNREACH

Unit: IdStackConsts

Id_WSAEHOSTUNREACH = WSAEHOSTUNREACH;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAEINPROGRESS

Unit: IdStackConsts

Id_WSAEINPROGRESS = WSAEINPROGRESS;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAEINTR

Unit: IdStackConsts

Id_WSAEINTR = WSAEINTR;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAEINVAL

Unit: IdStackConsts

Id_WSAEINVAL = WSAEINVAL;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAEISCONN

Unit: IdStackConsts

Id_WSAEISCONN = WSAEISCONN;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAELOOP

Unit: IdStackConsts

Id_WSAELOOP = WSAELOOP;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAEMFILE

Unit: IdStackConsts

Id_WSAEMFILE = WSAEMFILE;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAEMSGSIZE

Unit: IdStackConsts

Id_WSAEMSGSIZE = WSAEMSGSIZE;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAENAMETOOLONG

Unit: IdStackConsts

Id_WSAENAMETOOLONG = WSAENAMETOOLONG;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAENETDOWN

Unit: IdStackConsts

Id_WSAENETDOWN = WSAENETDOWN;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAENETRESET

Unit: IdStackConsts

Id_WSAENETRESET = WSAENETRESET;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAENETUNREACH

Unit: IdStackConsts

Id_WSAENETUNREACH = WSAENETUNREACH;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAENOBUFS

Unit: IdStackConsts

Id_WSAENOBUFS = WSAENOBUFS;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAENOPROTOOPT

Unit: IdStackConsts

Id_WSAENOPROTOOPT = WSAENOPROTOOPT;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAENOTCONN

Unit: IdStackConsts

Id_WSAENOTCONN = WSAENOTCONN;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAENOTEMPTY

Unit: IdStackConsts

Id_WSAENOTEMPTY = WSAENOTEMPTY;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAENOTSOCK

Unit: IdStackConsts

Id_WSAENOTSOCK = WSAENOTSOCK;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAEOPNOTSUPP

Unit: IdStackConsts

Id_WSAEOPNOTSUPP = WSAEOPNOTSUPP;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAEPFNOSUPPORT

Unit: IdStackConsts

Id_WSAEPFNOSUPPORT = WSAEPFNOSUPPORT;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAEPROTONOSUPPORT

Unit: IdStackConsts

Id_WSAEPROTONOSUPPORT = WSAEPROTONOSUPPORT;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAEPROTOTYPE

Unit: IdStackConsts

Id_WSAEPROTOTYPE = WSAEPROTOTYPE;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAESHUTDOWN

Unit: IdStackConsts

Id_WSAESHUTDOWN = WSAESHUTDOWN;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAESOCKTNOSUPPORT

Unit: IdStackConsts

Id_WSAESOCKTNOSUPPORT = WSAESOCKTNOSUPPORT;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAETIMEDOUT

Unit: IdStackConsts

Id_WSAETIMEDOUT = WSAETIMEDOUT;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAETOOMANYREFS

Unit: IdStackConsts

Id_WSAETOOMANYREFS = WSAETOOMANYREFS;

Description

The text for this constant has been generated automatically. This means that it is not documented.


Id_WSAEWOULDBLOCK

Unit: IdStackConsts

Id_WSAEWOULDBLOCK = WSAEWOULDBLOCK;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdBeatsInDay

Unit: IdDateTimeStamp

IdBeatsInDay = 1000;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdDayNames

Unit: IdDateTimeStamp

IdDayNames: array[0..IdDaysInWeek] of string  = ( '', SLongDayNameSun, SLongDayNameMon, SLongDayNameTue, SLongDayNameWed, SLongDayNameThu, SLongDayNameFri, SLongDayNameSat );

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdDayShortNames

Unit: IdDateTimeStamp

IdDayShortNames: array[0..IdDaysInWeek] of string  = ( '', SShortDayNameSun, SShortDayNameMon, SShortDayNameTue, SShortDayNameWed, SShortDayNameThu, SShortDayNameFri, SShortDayNameSat );

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdDaysInCentury

Unit: IdDateTimeStamp

IdDaysInCentury = (25 * IdDaysInFourYears) - 1;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdDaysInFourYears

Unit: IdDateTimeStamp

IdDaysInFourYears = IdDaysInShortLeapYearCycle;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdDaysInLeapCentury

Unit: IdDateTimeStamp

IdDaysInLeapCentury = IdDaysInCentury + 1;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdDaysInLeapYear

Unit: IdDateTimeStamp

IdDaysInLeapYear = 366;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdDaysInLeapYearCycle

Unit: IdDateTimeStamp

IdDaysInLeapYearCycle = IdDaysInCentury * 4 + 1;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdDaysInMonth

Unit: IdDateTimeStamp

IdDaysInMonth: array[1..IdMonthsInYear] of byte  = ( 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 );

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdDaysInShortLeapYearCycle

Unit: IdDateTimeStamp

IdDaysInShortLeapYearCycle = IdDaysInLeapYear + (IdDaysInYear * 3);

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdDaysInShortNonLeapYearCycle

Unit: IdDateTimeStamp

IdDaysInShortNonLeapYearCycle = IdDaysInYear * IdYearsInShortLeapYearCycle;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdDaysInWeek

Unit: IdDateTimeStamp

IdDaysInWeek = 7;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdDaysInYear

Unit: IdDateTimeStamp

IdDaysInYear = 365;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdDNSResolver_ReceiveTimeout

Unit: IdDNSResolver

This is the default value for the TIdDNSResolver.ReceiveTimeout property.

IdDNSResolver_ReceiveTimeout = 4000;

Description

IdDNSResolver_ReceiveTimeout is the default value for the TIdDNSResolver.ReceiveTimeout property. This is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.


iDEFAULTPACKETSIZE

See Also	Unit: IdIcmpClient

Specifies the default packet size for ICMP data buffers.

iDEFAULTPACKETSIZE = 128;

Description

iDEFAULTPACKETSIZE is a constant values that specifies the default packet size for ICMP data buffers, like TICMPDataBuffer.


See Also

TICMPDataBuffer


iDEFAULTREPLYBUFSIZE

Unit: IdIcmpClient

Specifies the default size for ICMP reply buffers.

iDEFAULTREPLYBUFSIZE = 1024;

Description

iDEFAULTREPLYBUFSIZE is a constant value that specifies the default size for ICMP reply buffers.


IdGopherItem_Binary

Unit: IdGopherConsts

Item is a binary file.

IdGopherItem_Binary = '9';

Description

Item is a binary file. The client must read until the TCP connection closes. Beware.


IdGopherItem_BinDOS

Unit: IdGopherConsts

DOS binary archive file.

IdGopherItem_BinDOS = '5';

Description

The item is a DOS binary archive of some sort. The client must read until the TCP connection closes. Beware.


IdGopherItem_BinHex

Unit: IdGopherConsts

Item is a BinHex Macintosh file.

IdGopherItem_BinHex = '4';


IdGopherItem_CSO

Unit: IdGopherConsts

Item is a CSO phone-book server.

IdGopherItem_CSO = '2';


IdGopherItem_Directory

Unit: IdGopherConsts

Item is a directory or Gopher menu.

IdGopherItem_Directory = '1';


IdGopherItem_Document

Unit: IdGopherConsts

Item is a text-file.

IdGopherItem_Document = '0';


IdGopherItem_Error

Unit: IdGopherConsts

The item is an error message.

IdGopherItem_Error = '3';


IdGopherItem_GIF

Unit: IdGopherConsts

Item is a GIF format graphics file.

IdGopherItem_GIF = 'g';


IdGopherItem_HTML

Unit: IdGopherConsts

The item is an HTML file.

IdGopherItem_HTML = 'h';


IdGopherItem_Image

Unit: IdGopherConsts

The item is a graphic image file.

IdGopherItem_Image = ':';

Description

The item is a graphic image file. The client will decide how to display the item.


IdGopherItem_Image2

Unit: IdGopherConsts

The item is a graphic image file.

IdGopherItem_Image2 = 'I';

Description

The item is a graphic image file. IdGopherItem_Image2 is depreciated so it should only be used in Gopher clients.


IdGopherItem_Information

Unit: IdGopherConsts

Information to be displayed to the user.

IdGopherItem_Information = 'i';


IdGopherItem_MIME

Unit: IdGopherConsts

The item is MIME-encoded.

IdGopherItem_MIME = 'M';

Description

This is a MIME encoded item or occasionally a movie (a server should use this only for MIME encoded files and a client should not always assume it is a movie.


IdGopherItem_Movie

Unit: IdGopherConsts

This is some type of movie file such as QuickTime or AVI.

IdGopherItem_Movie = ';';

Description

This is some type of movie file such as QuickTime or AVI.


IdGopherItem_Redundant

Unit: IdGopherConsts

Item is a redundant server.

IdGopherItem_Redundant = '+';

Description

Item is a redundant server.


IdGopherItem_Search

Unit: IdGopherConsts

This is a gopher search item.

IdGopherItem_Search = '7';

Description

This is a gopher search item.


IdGopherItem_Sound

Unit: IdGopherConsts

This is some type of sound such as a .WAV or .AU file.

IdGopherItem_Sound = '<';

Description

This is some type of sound such as a .WAV or .AU file.


IdGopherItem_Sound2

Unit: IdGopherConsts

Item is some kind of sound file such as a .AU or .WAV.

IdGopherItem_Sound2 = 'S';

Description

Item is some kind of sound file such as a .AU or .WAV. This was depreciated so it should only be used in Gopher clients.


IdGopherItem_Telnet

Unit: IdGopherConsts

Item points to a text-based telnet session.

IdGopherItem_Telnet = '8';

Description

Item points to a text-based telnet session.


IdGopherItem_TN3270

Unit: IdGopherConsts

Item points to a text-based tn3270 session.

IdGopherItem_TN3270 = 'T';

Description

Item points to a text-based tn3270 session.


IdGopherItem_UUE

Unit: IdGopherConsts

Item is a UNIX uuencoded file.

IdGopherItem_UUE = '6';

Description

Item is a UNIX uuencoded file.


IdGopherPlusAbstract

Unit: IdGopherConsts

Summary of an item.

IdGopherPlusAbstract = '+ABSTRACT:' + EOL;

Description

This is the constant for Gopher+ information which is the summary of an item. This is usually in the Gopher+ extended menu items.


IdGopherPlusAdmin

Unit: IdGopherConsts

This is the constant which starts a Gopher+ Administration block.

IdGopherPlusAdmin = '+ADMIN:' + EOL;

Description

This is the constant which starts a Gopher+ Administration block.


IdGopherPlusAsk

Unit: IdGopherConsts

This constant starts a Gopher+ ASK block for a Gopher+ extended menu item.

IdGopherPlusAsk = '+ASK:';

Description

This constant starts a Gopher+ ASK block for a Gopher+ extended menu item.


IdGopherPlusAskFileName

Unit: IdGopherConsts

This constant in an ASK block is for prompting a user with a filename in a Gopher+ ASK block.

IdGopherPlusAskFileName = 'AskF: ';

Description

This constant in an ASK block is for prompting a user with a filename in a Gopher+ ASK block.


IdGopherPlusAskLong

Unit: IdGopherConsts

This item is a question in an ASK block which will take several lines of text as a reply.

IdGopherPlusAskLong = 'AskL: ';

Description

This item is a question in an ASK block which will take several lines of text as a reply.


IdGopherPlusAskPassword

Unit: IdGopherConsts

This item in an ASK block prompts for a line of text which is hidden from the user such as a paassword prompt.

IdGopherPlusAskPassword = 'AskP: ';

Description

This item in an ASK block prompts for a line of text which is hidden from the user such as a paassword prompt.


IdGopherPlusChoose

Unit: IdGopherConsts

This is a prompt with where a user selects only one choice from several (such as with a radio-group control).

IdGopherPlusChoose = 'Choose: ';

Description

This is a prompt with where a user selects only one choice from several (such as with a radio-group control).


IdGopherPlusChooseFile

Unit: IdGopherConsts

The user should select only one file for sending to the server.

IdGopherPlusChooseFile = 'ChooseF: ';

Description

The user should select only one file for sending to the server. Some administrators may limit this to a single directory. This is only used in an ASK block.


IdGopherPlusData_BeginSign

Unit: IdGopherConsts

This Gopher+ reply means that the server will send data to the client until an end-sign defined by IdGopherPlusData_EndSign.

IdGopherPlusData_BeginSign = '+-1' + EOL;

Description

This Gopher+ reply means that the server will send data to the client until an end-sign defined by IdGopherPlusData_EndSign.


IdGopherPlusData_EndSign

Unit: IdGopherConsts

This is the end sign used for transferring text file with Gopher.

IdGopherPlusData_EndSign = EOL + '.' + EOL;

Description

This is the end sign used for transferring text file with Gopher. You should also use this in Gopher+ when you send the IdGopherPlusData_BeginSign or the IdGopherPlusData_ErrorBeginSign reply to a Gopher client.


IdGopherPlusData_ErrorBeginSign

Unit: IdGopherConsts

This indicates a Gopher error and that the error message is terminated with IdGopherPlusData_EndSign.

IdGopherPlusData_ErrorBeginSign = '--1' + EOL;

Description

This indicates a Gopher error and that the error message is terminated with IdGopherPlusData_EndSign.


IdGopherPlusData_ErrorUnknownSize

Unit: IdGopherConsts

This indicates a Gopher+ error and the error reply should be read until the server closes the connection.

IdGopherPlusData_ErrorUnknownSize = '--2' + EOL;

Description

This indicates a Gopher+ error and the error reply should be read until the server closes the connection.


IdGopherPlusData_UnknownSize

Unit: IdGopherConsts

This Gopher+ reply indicates that the Gopher+ client should simply read data until the server closes the connection.

IdGopherPlusData_UnknownSize = '+-2' + EOL;

Description

This Gopher+ reply indicates that the Gopher+ client should simply read data until the server closes the connection.


IdGopherPlusDirectoryInformation

Unit: IdGopherConsts

This Gopher+ command indicates that the client wants extended Gopher+ menu information.

IdGopherPlusDirectoryInformation = '$';

Description

This Gopher+ command indicates that the client wants extended Gopher+ menu including all of the blocks for all of the items in the menu.


IdGopherPlusError_ItemMoved

Unit: IdGopherConsts

This starts the reply data and means that the Gopher+ item moved someplace else.

IdGopherPlusError_ItemMoved = '3';

Description

This starts the reply data and means that the Gopher+ item moved someplace else. The rest of the data should be a descriptor for the new location.


IdGopherPlusError_NotAvailable

Unit: IdGopherConsts

The gopher item is not available.

IdGopherPlusError_NotAvailable = '1';

Description

The gopher item is not available. The rest of the reply is a text description for a user and should indicate the gopher-server administrator's E-Mail address (TIdGopherServer.AdminEmail).


IdGopherPlusError_TryLater

Unit: IdGopherConsts

This error code indicates that the Gopher client should retry the operation again.

IdGopherPlusError_TryLater = '2';

Description

This error code indicates that the Gopher client should retry the operation again. The rest of the line should indicate the reason such as "my work load is too high."


IdGopherPlusIndicator

Unit: IdGopherConsts

This Gopher+ command indicates that the server should send a reply followed by the standard Gopher response.

IdGopherPlusIndicator = IdGopherItem_Redundant;

Description

This Gopher+ command indicates that the server should send a reply followed by the standard Gopher response.


IdGopherPlusInfo

Unit: IdGopherConsts

This starts the information Gopher+ block for an item.

IdGopherPlusInfo = '+INFO: ';

Description

This starts the information Gopher+ block for an item. The rest of that block is simply the standard Gopher menu.


IdGopherPlusInformation

Unit: IdGopherConsts

This Gopher+ command indicates that the client only wants information about the gopher item (the Gopher+ blocks for it).

IdGopherPlusInformation = '!';

Description

This Gopher+ command indicates that the client only wants information about the gopher item (the Gopher+ blocks for it) but not the gopher item itself.


IdGopherPlusSelect

Unit: IdGopherConsts

In an ASK block, this indicates that the user can select more than one item from a list of choices (such as a bunch of checkboxes on a form).

IdGopherPlusSelect = 'Select: ';

Description

In an ASK block, this indicates that the user can select more than one item from a list of choices (such as a bunch of checkboxes on a form).


IdGopherPlusViews

Unit: IdGopherConsts

This constant starts the Views list for a Gopher+ item.

IdGopherPlusViews = '+VIEWS:' + EOL;

Description

This constant starts the Views list for a Gopher+ item.


IdHoursInDay

Unit: IdDateTimeStamp

IdHoursInDay = 24;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdHoursInHalfDay

Unit: IdDateTimeStamp

IdHoursInHalfDay = IdHoursInDay div 2;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdMillisecondsInDay

Unit: IdDateTimeStamp

IdMillisecondsInDay = IdSecondsInDay * IdMillisecondsInSecond;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdMillisecondsInHour

Unit: IdDateTimeStamp

IdMillisecondsInHour = IdSecondsInHour * IdMillisecondsInSecond;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdMillisecondsInMinute

Unit: IdDateTimeStamp

IdMillisecondsInMinute = IdSecondsInMinute * IdMillisecondsInSecond;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdMilliSecondsInSecond

Unit: IdDateTimeStamp

IdMilliSecondsInSecond = 1000;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdMillisecondsInWeek

Unit: IdDateTimeStamp

IdMillisecondsInWeek = IdSecondsInWeek * IdMillisecondsInSecond;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdMinutesInHour

Unit: IdDateTimeStamp

IdMinutesInHour = 60;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdMonthNames

Unit: IdDateTimeStamp

IdMonthNames: array[0..IdMonthsInYear] of string  = ( '', SLongMonthNameJan, SLongMonthNameFeb, SLongMonthNameMar, SLongMonthNameApr, SLongMonthNameMay, SLongMonthNameJun, SLongMonthNameJul, SLongMonthNameAug, SLongMonthNameSep, SLongMonthNameOct, SLongMonthNameNov, SLongMonthNameDec );

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdMonthShortNames

Unit: IdDateTimeStamp

IdMonthShortNames: array[0..IdMonthsInYear] of string  = ( '', SShortMonthNameJan, SShortMonthNameFeb, SShortMonthNameMar, SShortMonthNameApr, SShortMonthNameMay, SShortMonthNameJun, SShortMonthNameJul, SShortMonthNameAug, SShortMonthNameSep, SShortMonthNameOct, SShortMonthNameNov, SShortMonthNameDec );

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdMonthsInYear

Unit: IdDateTimeStamp

IdMonthsInYear = 12;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdPORT_AUTH

Unit: IdGlobal

Port number for authentication services.

IdPORT_AUTH = 113;

Description

IdPORT_AUTH is a constant Integer value that represents the port number used for authentication services.


IdPORT_CHARGEN

Unit: IdGlobal

Port number for the Chargen protocol.

IdPORT_CHARGEN = 19;

Description

IdPORT_CHARGEN is the constant Integer value used to represent the port number for the Chargen protocol.


IdPORT_DAYTIME

Unit: IdGlobal

Port number for the DayTime protocol.

IdPORT_DAYTIME = 13;

Description

IdPORT_DAYTIME is the constant Integer value used to represent the port number used by the DayTime protocol.

IdPORT_DAYTIME is used by the TIdDayTime and TIdDayTimeServer protocol implementations.


IdPORT_DICT

Unit: IdGlobal

Port number for the DICT protocol.

IdPORT_DICT = 2628;

Description

IdPORT_DICT is the constant Integer value used to represent the port number for the DICT protocol.

IdPORT_DICT is used by TIdDICTServer protocol implementation.


IdPORT_DISCARD

Unit: IdGlobal

Port number for the Discard protocol.

IdPORT_DISCARD = 9;

Description

IdPORT_DISCARD is the constant Integer value used to represent the port number used by the Discard protocol.

IdPORT_DISCARD is used by the TIdDiscardServer protocol implementation.


IdPORT_DOMAIN

Unit: IdGlobal

Port number for the DNS protocol.

IdPORT_DOMAIN = 53;

Description

IdPORT_DOMAIN is the constant Integer value that represents the default port number used by the DNS protocol.

IdPORT_DOMAIN is used by the TIdDNSResolver protocol implementation.


IdPORT_ECHO

Unit: IdGlobal

Port number for the Echo protocol.

IdPORT_ECHO = 7;

Description

IdPORT_ECHO is the constant Integer value that represents the port number used by the Echo protocol.

IdPORT_ECHO is used by the TIdEcho and TIdEchoServer protocol implementations.


IdPORT_FINGER

Unit: IdGlobal

Port number for the Finger protocol.

IdPORT_FINGER = 79;

Description

IdPORT_FINGER is the constant Integer value that represents the port number used by the Finger protocol.

IdPORT_FINGER is used by the TIdFinger and TIdFingerServer protocol implementations.


IdPORT_FTP

Unit: IdGlobal

Port number for the FTP protocol.

IdPORT_FTP = 21;

Description

IdPORT_FTP is the constant Integer value that represents the default port number used by the File Transfer Protocol.

IdPORT_FTP is used by the TIdFtp protocol implementation.


IdPORT_GOPHER

Unit: IdGlobal

Port number for the Gopher protocol.

IdPORT_GOPHER = 70;

Description

IdPORT_GOPHER is the constant Integer value that represents the port number used by the Gopher protocol.

IdPORT_GOPHER is used by the TIdGopher and TIdGopherServer protocol implementations.


IdPORT_HOSTNAME

Unit: IdGlobal

Port number for the HostName protocol.

IdPORT_HOSTNAME = 101;

Description

IdPORT_HOSTNAME is the constant Integer value that represents the port number used by the HostName protocol.

IdPORT_HOSTNAME is used by the TIdHostNameServer protocol implementation.


IdPORT_HTTP

Unit: IdGlobal

Port number for the HTTP protocol.

IdPORT_HTTP = 80;

Description

IdPORT_HTTP is the constant Integer value that represents the port number used by the Hyper Text Transfer Protocol (HTTP) protocol.

IdPORT_HTTP is used by the TIdHTTP and TIdHTTPServer protocol implementations.


IdPORT_IMAP4

Unit: IdGlobal

Port number for the IMAP protocol.

IdPORT_IMAP4 = 143;

Description

IdPORT_IMAP4 is the constant Integer value that represents the default port number used by the Internet Message Access Protocol (IMAP) protocol.

IdPORT_IMAP4 is used by the TIdIMAP4Server protocol implementation.


IdPORT_IRC

Unit: IdGlobal

Port number for the IRC protocol.

IdPORT_IRC = 6667;

Description

IdPORT_IRC is the constant Integer value that represents the default port number used by the Internet Relay Chat (IRC) protocol.

IdPORT_IRC is used by the TIdIRCServer protocol implementation.


IdPORT_LPD

Unit: IdGlobal

Port number for the LPD protocol.

IdPORT_LPD = 515;

Description

IdPORT_LPD is the constant Integer value that represents the port number used by the Line Printer Deamon (LPD) protocol.


IdPORT_NETSTAT

Unit: IdGlobal

Port number for the Netstat protocol.

IdPORT_NETSTAT = 15;

Description

IdPORT_NETSTAT is the constant Integer value that represents the default port number used by the NetStat protocol.


IdPORT_NNTP

Unit: IdGlobal

Port number for the NNTP protocol.

IdPORT_NNTP = 119;

Description

IdPORT_NNTP is the constant Integer value that represents the default port number used by the Network News Transfer Protocol (NNTP) protocol.

IdPORT_NNTP is used by the TIdNNTP and TIdNNTPServer protocol implementations.


IdPORT_POP2

Unit: IdGlobal

Port number for the POP2 protocol.

IdPORT_POP2 = 109;

Description

IdPORT_POP2 is the constant Integer value that represents the port number used by the Post Office Protocol 2 (POP2) protocol.


IdPORT_POP3

Unit: IdGlobal

Port number for the POP3 protocol.

IdPORT_POP3 = 110;

Description

IdPORT_POP3 is the constant Integer value that represents the default port number used by the Post Office Protocol 3 (POP3) protocol.

IdPORT_POP3 is used by the TIdPOP3 protocol implementation.


IdPORT_QOTD

Unit: IdGlobal

Port number for the QUOTD protocol.

IdPORT_QOTD = 17;

Description

IdPORT_QOTD is the constant Integer value that represents the default port number used by the Quote of the Day (QUOTD) protocol.

IdPORT_QOTD is used by the TIdQUOTD and TIdQUOTDServer protocol implementations.


IdPORT_SMTP

Unit: IdGlobal

Port number for the SMTP protocol.

IdPORT_SMTP = 25;

Description

IdPORT_SMTP is the constant Integer value that represents the port number used by the Simple Mail Transfer Protocol (SMTP) protocol.

IdPORT_SMTP is used by the TIdSMTP protocol implementation.


IdPORT_SNTP

Unit: IdGlobal

Port number for the SNTP protocol.

IdPORT_SNTP = 123;

Description

IdPORT_SNTP is the constant Integer value that represents the port number used by the Simple Network Time Protocol (SNTP) protocol.

IdPORT_SNTP is used by the TIdSNTP protocol implementation.


IdPORT_SSL

Unit: IdGlobal

Port number for the HTTPS protocol.

IdPORT_SSL = 443;

Description

IdPORT_SSL is the constant Integer value that represents the default port number used by the HTTP Protocol over the Secure Socket Layer (HTTPS) protocol.

IdPORT_SSL is used by the TIdHTTP and TIdHTTPServer protocol implementations.


IdPORT_SYSTAT

Unit: IdGlobal

Port number for the Systat protocol.

IdPORT_SYSTAT = 11;

Description

IdPORT_SYSTAT is the constant Integer value that represents the default port number used by the Systat (Users) protocol.


IdPORT_TELNET

Unit: IdGlobal

Default port for the Telnet protocol.

IdPORT_TELNET = 23;

Description

IdPORT_TELNET is the constant Integer value used to represent the default port for the Telnet protocol. IdPORT_TELNET is used by TIdTelnet and TIdTelnetServer.


IdPORT_TFTP

Unit: IdGlobal

Port number for the TFTP protocol.

IdPORT_TFTP = 69;

Description

IdPORT_TFTP is the constant Integer value that represents the default port number used by the Trivial File Transfer Protocol (TFTP) protocol.

IdPORT_TFTP is used by the TIdTFTP and TIdTFTPServer protocol implementations.


IdPORT_TIME

Unit: IdGlobal

Port number for the Time protocol.

IdPORT_TIME = 37;

Description

IdPORT_TIME is the constant Integer value that represents the default port number used by the Time protocol.

IdPORT_TIME is used by the TIdTime and TIdTimeServer protocol implementations.


IdPORT_WHOIS

Unit: IdGlobal

Port number for the WhoIs protocol.

IdPORT_WHOIS = 43;

Description

IdPORT_WHOIS is the constant Integer value that represents the default port number used by the WhoIs protocol.

IdPORT_WHOIS is used by the TIdWhoIs and TIdWhoIsServer protocol implementations.


IdSecondsInDay

Unit: IdDateTimeStamp

IdSecondsInDay = IdSecondsInHour * IdHoursInDay;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdSecondsInHalfDay

Unit: IdDateTimeStamp

IdSecondsInHalfDay = IdSecondsInHour * IdHoursInHalfDay;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdSecondsInHour

Unit: IdDateTimeStamp

IdSecondsInHour = IdSecondsInMinute * IdMinutesInHour;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdSecondsInLeapYear

Unit: IdDateTimeStamp

IdSecondsInLeapYear = IdSecondsInDay * IdDaysInLeapYear;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdSecondsInMinute

Unit: IdDateTimeStamp

IdSecondsInMinute = 60;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdSecondsInWeek

Unit: IdDateTimeStamp

IdSecondsInWeek = IdDaysInWeek * IdSecondsInDay;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdSecondsInYear

Unit: IdDateTimeStamp

IdSecondsInYear = IdSecondsInDay * IdDaysInYear;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdStati

See Also	Unit: IdComponent

Format strings for constructing connection status text messages.

IdStati: array[TIdStatus] of string  = ( RSStatusResolving, RSStatusConnecting, RSStatusConnected, RSStatusDisconnecting, RSStatusDisconnected, RSStatusText);

Description

IdStati is an array of strings which are used as the format specifier for constructing the status message of the TIdStatusEvent event. There is one array element in IdStati for each of the values in the TIdStatus enumerated type.

Do not change the order of the strings in this array or the TIdComponent.OnStatus event could return incorrect status strings.


See Also

TIdStatus

TIdStatusEvent


IdTimeoutDefault

Unit: IdGlobal

Indicates that the default time-out value should be used.

IdTimeoutDefault = -1;

Description

IdTimeoutDefault is a constant Integer value that indicates the default time-out value should be used in Indy components.


IdTimeoutInfinite

Unit: IdGlobal

Indicates that an infinite time-out value should be used.

IdTimeoutInfinite = -2;

Description

IdTimeoutInfinite is a constant Integer value that indicates that an infinite time-out value should be used by Indy components.


IdYearsInCentury

Unit: IdDateTimeStamp

IdYearsInCentury = 100;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdYearsInLeapYearCycle

Unit: IdDateTimeStamp

IdYearsInLeapYearCycle = 400;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IdYearsInShortLeapYearCycle

Unit: IdDateTimeStamp

IdYearsInShortLeapYearCycle = 4;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IMAPCommands

Unit: IdIMAP4Server

IMAPCommands: Array [1..25] Of String  = ( 'CAPABILITY', 'NOOP', 'LOGOUT', 'AUTHENTICATE', 'LOGIN', 'SELECT', 'EXAMINE', 'CREATE', 'DELETE', 'RENAME', 'SUBSCRIBE', 'UNSUBSCRIBE', 'LIST', 'LSUB', 'STATUS', 'APPEND', 'CHECK', 'CLOSE', 'EXPUNGE', 'SEARCH', 'FETCH', 'STORE', 'COPY', 'UID', 'X');

Description

The text for this constant has been generated automatically. This means that it is not documented.


IMPLINK_HIGHEXPER

Unit: IdWinsock

IMPLINK_HIGHEXPER = 158;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IMPLINK_IP

Unit: IdWinsock

IMPLINK_IP = 155;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IMPLINK_LOWEXPER

Unit: IdWinsock

IMPLINK_LOWEXPER = 156;

Description

The text for this constant has been generated automatically. This means that it is not documented.


INVALID_SOCKET

Unit: IdWinsock

INVALID_SOCKET = TSocket(NOT(0));

Description

The text for this constant has been generated automatically. This means that it is not documented.


IOC_IN

Unit: IdWinsock

IOC_IN = $80000000;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IOC_INOUT

Unit: IdWinsock

IOC_INOUT = (IOC_IN or IOC_OUT);

Description

The text for this constant has been generated automatically. This means that it is not documented.


IOC_OUT

Unit: IdWinsock

IOC_OUT = $40000000;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IOC_VOID

Unit: IdWinsock

IOC_VOID = $20000000;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IOCPARM_MASK

Unit: IdWinsock

IOCPARM_MASK = $7f;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IP_ADD_MEMBERSHIP

Unit: IdWinsock

IP_ADD_MEMBERSHIP = 5;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IP_DEFAULT_MULTICAST_LOOP

Unit: IdWinsock

IP_DEFAULT_MULTICAST_LOOP = 1;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IP_DEFAULT_MULTICAST_TTL

Unit: IdWinsock

IP_DEFAULT_MULTICAST_TTL = 1;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IP_DONTFRAGMENT

Unit: IdWinsock

IP_DONTFRAGMENT = 9;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IP_DROP_MEMBERSHIP

Unit: IdWinsock

IP_DROP_MEMBERSHIP = 6;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IP_MAX_MEMBERSHIPS

Unit: IdWinsock

IP_MAX_MEMBERSHIPS = 20;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IP_MULTICAST_IF

Unit: IdWinsock

IP_MULTICAST_IF = 2;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IP_MULTICAST_LOOP

Unit: IdWinsock

IP_MULTICAST_LOOP = 4;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IP_MULTICAST_TTL

Unit: IdWinsock

IP_MULTICAST_TTL = 3;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IP_OPTIONS

Unit: IdWinsock

IP_OPTIONS = 1;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IP_TOS

Unit: IdWinsock

IP_TOS = 8;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IP_TTL

Unit: IdWinsock

IP_TTL = 7;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IP_WATCH_ACTIVE

Unit: IdIPWatch

Default value for the TIdIPWatch.Active property.

IP_WATCH_ACTIVE = False;

Description

IP_WATCH_ACTIVE is the default value for the TIdIPWatch.Active property. IP_WATCH_ACTIVE is used in the class definition and the constructor to prevent problems with Delphi's form streaming mechanism. Changing the value of IP_WATCH_ACTIVE will change the default value for that property.


IP_WATCH_HIST_ENABLED

Unit: IdIPWatch

Default value for the TIdIPWatch.HistoryEnabled property.

IP_WATCH_HIST_ENABLED = True;

Description

IP_WATCH_HIST_ENABLED is the default value for the TIdIPWatch.HistoryEnabled property. IP_WATCH_HIST_ENABLED is used in the class definition and the constructor to prevent problems with Delphi's form streaming mechanism. Changing the value of IP_WATCH_HIST_ENABLED will change the default value for that property.


IP_WATCH_HIST_FILENAME

Unit: IdIPWatch

Identifies the default history storage file.

IP_WATCH_HIST_FILENAME = 'iphist.dat';

Description

IP_WATCH_HIST_FILENAME is a constant to define the default filename used to save and restore the history list from TIdIPWatch. The default value is IPHIST.DAT.


IP_WATCH_HIST_MAX

Unit: IdIPWatch

Identifies the maximum entries in IP history.

IP_WATCH_HIST_MAX = 25;

Description

IP_WATCH_HIST_MAX is a constant used to define the default value for the maximum number of entries allowed in TIdIPWatch. The default value is 25.


IP_WATCH_INTERVAL

Unit: IdIPWatch

Default value for the TIdIPWatch.WatchInterval property.

IP_WATCH_INTERVAL = 1000;

Description

IP_WATCH_INTERVAL is the default value for the TIdIPWatch.WatchInterval property. IP_WATCH_INTERVAL is used in the class definition and the constructor to prevent problems with Delphi's form streaming mechanism. Changing the value of IP_WATCH_INTERVAL will change the default value for that property.


IPPORT_RESERVED

Unit: IdWinsock

IPPORT_RESERVED = 1024;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IPPROTO_GGP

Unit: IdWinsock

IPPROTO_GGP = 3;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IPPROTO_ICMP

Unit: IdWinsock

IPPROTO_ICMP = 1;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IPPROTO_IDP

Unit: IdWinsock

IPPROTO_IDP = 22;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IPPROTO_IGMP

Unit: IdWinsock

IPPROTO_IGMP = 2;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IPPROTO_IP

Unit: IdWinsock

IPPROTO_IP = 0;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IPPROTO_MAX

Unit: IdWinsock

IPPROTO_MAX = 256;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IPPROTO_ND

Unit: IdWinsock

IPPROTO_ND = 77;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IPPROTO_PUP

Unit: IdWinsock

IPPROTO_PUP = 12;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IPPROTO_RAW

Unit: IdWinsock

IPPROTO_RAW = 255;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IPPROTO_TCP

Unit: IdWinsock

IPPROTO_TCP = 6;

Description

The text for this constant has been generated automatically. This means that it is not documented.


IPPROTO_UDP

Unit: IdWinsock

IPPROTO_UDP = 17;

Description

The text for this constant has been generated automatically. This means that it is not documented.


kana_tbl

Unit: IdHeaderCoder

Half-width Katakana characters.

kana_tbl: array[#$A1..#$DF] of Word  = ( $2123,$2156,$2157,$2122,$2126,$2572,$2521,$2523,$2525,$2527, $2529,$2563,$2565,$2567,$2543,$213C,$2522,$2524,$2526,$2528, $252A,$252B,$252D,$252F,$2531,$2533,$2535,$2537,$2539,$253B, $253D,$253F,$2541,$2544,$2546,$2548,$254A,$254B,$254C,$254D, $254E,$254F,$2552,$2555,$2558,$255B,$255E,$255F,$2560,$2561, $2562,$2564,$2566,$2568,$2569,$256A,$256B,$256C,$256D,$256F, $2573,$212B,$212C);

Description

kana_tbl is a Word array that represents the half-width Katakana characters in the range #$A1 through #$DF. kana_tbl is used in ISO-2022-JP character set encoding.


KnownCommands

Unit: IdDICTServer

KnownCommands: Array [1..26] of string  = ('ARTICLE', 'BODY', 'HEAD', 'STAT', 'GROUP', 'LIST', 'HELP', 'IHAVE', 'LAST', 'NEWGROUPS', 'NEWNEWS', 'NEXT', 'POST', 'QUIT', 'SLAVE', 'AUTHINFO', 'XOVER', 'XHDR', 'DATE', 'LISTGROUP', 'MODE', 'TAKETHIS', 'CHECK', 'XTHREAD', 'XGTITLE', 'XPAT' );

Description

The text for this constant has been generated automatically. This means that it is not documented.


LF

Unit: IdGlobal

Represents the Line Feed character.

LF = #10;

Description

LF is a constant value that represents the Line Feed character used by many Internet protocols.


MAX_PACKET_SIZE

See Also	Unit: IdIcmpClient

Specifies the maximum packet size for an ICMP response message.

MAX_PACKET_SIZE = 1024;

Description

MAX_PACKET_SIZE is a constant value that specifies the maximum packet size for an ICMP response message, like the TCharBuf receive buffer used by TIdICMPClient.


See Also

TCharBuf


MAXGETHOSTSTRUCT

Unit: IdWinsock

MAXGETHOSTSTRUCT = 1024;

Description

The text for this constant has been generated automatically. This means that it is not documented.


MaxMIMEBinToASCIIType

Unit: IdMIMETypes

MaxMIMEBinToASCIIType = 2;

Description

MaxMIMEBinToASCIIType represents the number of entries to allocate for MIME encoding types.


MaxMIMECompressType

Unit: IdMIMETypes

MaxMIMECompressType = 0;

Description

MaxMIMECompressType represents the number of entries to allocate for MIME Compression type constants.


MaxMIMEEncType

Unit: IdMIMETypes

MaxMIMEEncType = MaxMIMEBinToASCIIType + MaxMIMEMessageDigestType + 1 + MaxMIMECompressType + 1;

Description

MaxMIMEEncType represents the number of MIME encoding types to allocate for encoding type constants.


MaxMIMEMessageDigestType

Unit: IdMIMETypes

MaxMIMEMessageDigestType = 3;

Description

MaxMIMEMessageDigestType represents the number of entried to allocate for Message Digest constants.


MaxMIMESubTypes

Unit: IdMIMETypes

MaxMIMESubTypes = 1;

Description

MaxMIMESubTypes represents the number of entries to allocate for MIME subtype constants.


MaxMIMEType

Unit: IdMIMETypes

MaxMIMEType = 6;

Description

MaxMIMEType represents the number of entries to allocate for constants constructed from valid MIME media type and subtype combinations.


maxPriv

Unit: IdCoder3To4

Maximum user permissions for UU- or XX- Encode/Decode.

maxPriv = 799;

Description

maxPriv represents the maximum user permissions allowable for a UU- or XX- encode/decode operation in the UNIX environment.


MaxWord

Unit: IdTrivialFTPBase

Specifies the maximum value for a Word data type.

MaxWord = High(Word);

Description

MaxWord specifies the maximum value for a Word data type.


MIME7Bit

Unit: IdMessageClient

MIME type for 7-bit text.

MIME7Bit = '7bit';

Description

MIME7Bit is a constant value that represents the MIME type for 7-bit text.


MIMEEncBase64

Unit: IdMIMETypes

MIMEEncBase64 = 'base64';

Description

MIMEEncBase64 represents the MIME BASE64 encoding type.


MIMEEncNISTSHA

Unit: IdMIMETypes

MIMEEncNISTSHA = MIMEXVal + 'nist-sha';

Description

MIMEEncNISTSHA represents the MIME subtype for NIST Secure Hash Algorithm (SHA).


MIMEEncRLECompress

Unit: IdMIMETypes

MIMEEncRLECompress = MIMEXVal + 'rle-compress';

Description

MIMEEncRLECompress represents the MIME subtype for Run-Length Encoded (RLE) compression.


MIMEEncRSAMD2

Unit: IdMIMETypes

MIMEEncRSAMD2 = MIMEXVal + 'rsa-md2';

Description

MIMEEncRSAMD2 represents the MIME subtype for RSA Message Digest 2 (MD2).


MIMEEncRSAMD4

Unit: IdMIMETypes

MIMEEncRSAMD4 = MIMEXVal + 'rsa-md4';

Description

MIMEEncRSAMD4 represents the MIME subtype for RSA Message Digest 4 (MD4).


MIMEEncRSAMD5

Unit: IdMIMETypes

MIMEEncRSAMD5 = MIMEXVal + 'rsa-md5';

Description

MIMEEncRSAMD5 represents the MIME subtype for RSA Message Digest 5 (MD5).


MIMEEncUUEncode

Unit: IdMIMETypes

MIMEEncUUEncode = MIMEXVal + 'uu';

Description

MIMEEncUUEncode represents the MIME type for UU-Encoded values.


MIMEEncXXEncode

Unit: IdMIMETypes

MIMEEncXXEncode = MIMEXVal + 'xx';

Description

MIMEEncXXEncode represents the MIME type for XX-Encoded values.


MIMEFullApplicationOctetStream

Unit: IdMIMETypes

MIMEFullApplicationOctetStream = MIMETypeApplication + MIMESubOctetStream;

Description

MIMEFullApplicationOctetStream represents the constant MIME media type and subtype values for applications data in 8-bit format.


MIMEGenericText

Unit: IdMessageClient

MIME type for generic text.

MIMEGenericText = 'text/';

Description

MIMEGenericText is the constant value used to represent the partial MIME type for generic text.


MIMESplit

Unit: IdMIMETypes

MIMESplit = '/';

Description

MIMESplit represents the media type and subtype seperator character.


MIMESubMacBinHex40

Unit: IdMIMETypes

MIMESubMacBinHex40 = 'mac-binhex40';

Description

MIMESubMacBinHex40 represents the MIME subtype for Mac BinHex files.


MIMESubOctetStream

Unit: IdMIMETypes

MIMESubOctetStream = 'octet-stream';

Description

MIMESubOctetStream represents the MIME subtype for octet-stream (8-bit) content.


MIMETypeApplication

Unit: IdMIMETypes

MIMETypeApplication = 'application' + MIMESplit;

Description

MIMETypeApplication represents the MIME type for application-specific files.


MIMETypeAudio

Unit: IdMIMETypes

MIMETypeAudio = 'audio' + MIMESplit;

Description

MIMETypeAudio represents the MIME type for Audio files.


MIMETypeImage

Unit: IdMIMETypes

MIMETypeImage = 'image' + MIMESplit;

Description

MIMETypeImage represents the MIME type for image files.


MIMETypeMessage

Unit: IdMIMETypes

MIMETypeMessage = 'message' + MIMESplit;

Description

MIMETypeMessage represents the MIME type for Internet Message files.


MIMETypeMultipart

Unit: IdMIMETypes

MIMETypeMultipart = 'multipart' + MIMESplit;

Description

MIMETypeMultipart represents the MIME type for multipart files.


MIMETypeText

Unit: IdMIMETypes

MIMETypeText = 'text' + MIMESplit;

Description

MIMETypeText represents the MIME type for tetxt files.


MIMETypeVideo

Unit: IdMIMETypes

MIMETypeVideo = 'video' + MIMESplit;

Description

MIMETypeVideo represents the MIME type for Video files.


MIMEXVal

Unit: IdMIMETypes

MIMEXVal = 'x-';

Description

MIMEXVal represents the MIMEtype for MIME type extensions.


minPriv

Unit: IdCoder3To4

Minimum user permissions for UU- or XX- Encode/Decode.

minPriv = 600;

Description

minPriv represents the minimum user permissions needed to perform a UU- or XX- encode/decode operation in the UNIX environment.


MSG_DONTROUTE

Unit: IdWinsock

MSG_DONTROUTE = $4;

Description

The text for this constant has been generated automatically. This means that it is not documented.


MSG_MAXIOVLEN

Unit: IdWinsock

MSG_MAXIOVLEN = 16;

Description

The text for this constant has been generated automatically. This means that it is not documented.


MSG_OOB

Unit: IdWinsock

MSG_OOB = $1;

Description

The text for this constant has been generated automatically. This means that it is not documented.


MSG_PARTIAL

Unit: IdWinsock

MSG_PARTIAL = $8000;

Description

The text for this constant has been generated automatically. This means that it is not documented.


MSG_PEEK

Unit: IdWinsock

MSG_PEEK = $2;

Description

The text for this constant has been generated automatically. This means that it is not documented.


MultiPartAlternativeBoundary

Unit: IdMessageClient

Identifies the boundary marker for the alternate form of the message body.

MultiPartAlternativeBoundary = '=_NextPart_2altrfkindysadvnqw3nerasdf';

Description

MultiPartAlternativeBoundary is the constant value used to represent the boundary marker for MIME messages with the Content-Type: multipart/alternative. MultiPartAlternativeBoundary identifies the end of the designated content range.

MultiPartAlternativeBoundary is used by TIdMessage in the SendBody method to generate the contents of a message, and in SendHeader for messages with a Content-ID header.


MultiPartBoundary

Unit: IdMessageClient

Identifies the boundary marker for multipart MIME messages.

MultiPartBoundary = '=_NextPart_2rfkindysadvnqw3nerasdf';

Description

MultiPartBoundary is the constant value used to represent the boundary marker for MIME messages. MultiPartBoundary is used to identify both the beginning and the end of the designated content range.

MultiPartBoundary is used by TIdMessage in the SendHeader and SendBody methods to generate the boundary markers for attachments or plain text.


MultiPartRelatedBoundary

Unit: IdMessageClient

Identifies the boundary marker for MIME messages with inline content.

MultiPartRelatedBoundary = '=_NextPart_2relrfksadvnqindyw3nerasdf';

Description

MultiPartRelatedBoundary is a constant value used to indicate the boundary marker for multipart MIME messages with a content range identifies by the Content-ID header.

MultiPartRelatedBoundary is used in TIdMessage by the SendBody and SendHeader methods to mark the start of the content range.


NO_ADDRESS

Unit: IdWinsock

NO_ADDRESS = WSANO_ADDRESS;

Description

The text for this constant has been generated automatically. This means that it is not documented.


NO_DATA

Unit: IdWinsock

NO_DATA = WSANO_DATA;

Description

The text for this constant has been generated automatically. This means that it is not documented.


NO_RECOVERY

Unit: IdWinsock

NO_RECOVERY = WSANO_RECOVERY;

Description

The text for this constant has been generated automatically. This means that it is not documented.


NTPMaxInt

See Also	Unit: IdSNTP

NTP conversion value.

NTPMaxInt = 4294967297.0;

Description

NTPMaxInt is a constant value used in translating NTP seconds and fractional seconds to/from a native Delphi TDateTime value.


See Also

TIdSNTP.DateTime


NumberOfClientsType

See Also	Unit: IdTunnelCommon

Number of client connections for the Tunnel component.

NumberOfClientsType = 7;

Description

NumberOfClientsType is a constant value that represents the statistical category for the number of client connections for the Tunnel component.


See Also

TIdTunnelMaster

TIdTunnelSlave


NumberOfConnectionsType

See Also	Unit: IdTunnelCommon

Number of thread or service connections for the Tunnel component.

NumberOfConnectionsType = 1;

Description

NumberOfConnectionsType is a constant value that represents the number of thread or service connections for the Tunnel component.


See Also

TIdTunnelMaster

TIdTunnelSlave


NumberOfPacketsType

See Also	Unit: IdTunnelCommon

Number of packets handled by the Tunnel component.

NumberOfPacketsType = 2;

Description

NumberOfPacketsType is a constant value that represents the number of packets handled by the Tunnel component.


See Also

TIdTunnelMaster

TIdTunnelSlave


NumberOfServicesType

See Also	Unit: IdTunnelCommon

Number of distinct service connections for he Tunnel component.

NumberOfServicesType = 9;

Description

NumberOfServicesType is a constant value that represents the number of distinct service connections for the Tunnel component.


See Also

TIdTunnelMaster

TIdTunnelSlave


NumberOfSlavesType

See Also	Unit: IdTunnelCommon

Number of slave connections for the Tunnel component.

NumberOfSlavesType = 8;

Description

NumberOfSlavesType is a constant value that represents the number of slave connections for the Tunnel component.


See Also

TIdTunnelMaster

TIdTunnelSlave


PF_APPLETALK

Unit: IdWinsock

PF_APPLETALK = AF_APPLETALK;

Description

The text for this constant has been generated automatically. This means that it is not documented.


PF_BAN

Unit: IdWinsock

PF_BAN = AF_BAN;

Description

The text for this constant has been generated automatically. This means that it is not documented.


PF_CCITT

Unit: IdWinsock

PF_CCITT = AF_CCITT;

Description

The text for this constant has been generated automatically. This means that it is not documented.


PF_CHAOS

Unit: IdWinsock

PF_CHAOS = AF_CHAOS;

Description

The text for this constant has been generated automatically. This means that it is not documented.


PF_DATAKIT

Unit: IdWinsock

PF_DATAKIT = AF_DATAKIT;

Description

The text for this constant has been generated automatically. This means that it is not documented.


PF_DECnet

Unit: IdWinsock

PF_DECnet = AF_DECnet;

Description

The text for this constant has been generated automatically. This means that it is not documented.


PF_DLI

Unit: IdWinsock

PF_DLI = AF_DLI;

Description

The text for this constant has been generated automatically. This means that it is not documented.


PF_ECMA

Unit: IdWinsock

PF_ECMA = AF_ECMA;

Description

The text for this constant has been generated automatically. This means that it is not documented.


PF_FIREFOX

Unit: IdWinsock

PF_FIREFOX = AF_FIREFOX;

Description

The text for this constant has been generated automatically. This means that it is not documented.


PF_HYLINK

Unit: IdWinsock

PF_HYLINK = AF_HYLINK;

Description

The text for this constant has been generated automatically. This means that it is not documented.


PF_IMPLINK

Unit: IdWinsock

PF_IMPLINK = AF_IMPLINK;

Description

The text for this constant has been generated automatically. This means that it is not documented.


PF_INET

Unit: IdWinsock

PF_INET = AF_INET;

Description

The text for this constant has been generated automatically. This means that it is not documented.


PF_IPX

Unit: IdWinsock

PF_IPX = AF_IPX;

Description

The text for this constant has been generated automatically. This means that it is not documented.


PF_ISO

Unit: IdWinsock

PF_ISO = AF_ISO;

Description

The text for this constant has been generated automatically. This means that it is not documented.


PF_LAT

Unit: IdWinsock

PF_LAT = AF_LAT;

Description

The text for this constant has been generated automatically. This means that it is not documented.


PF_MAX

Unit: IdWinsock

PF_MAX = AF_MAX;

Description

The text for this constant has been generated automatically. This means that it is not documented.


PF_NS

Unit: IdWinsock

PF_NS = AF_NS;

Description

The text for this constant has been generated automatically. This means that it is not documented.


PF_OSI

Unit: IdWinsock

PF_OSI = AF_OSI;

Description

The text for this constant has been generated automatically. This means that it is not documented.


PF_PUP

Unit: IdWinsock

PF_PUP = AF_PUP;

Description

The text for this constant has been generated automatically. This means that it is not documented.


PF_SNA

Unit: IdWinsock

PF_SNA = AF_SNA;

Description

The text for this constant has been generated automatically. This means that it is not documented.


PF_UNIX

Unit: IdWinsock

PF_UNIX = AF_UNIX;

Description

The text for this constant has been generated automatically. This means that it is not documented.


PF_UNKNOWN1

Unit: IdWinsock

PF_UNKNOWN1 = AF_UNKNOWN1;

Description

The text for this constant has been generated automatically. This means that it is not documented.


PF_UNSPEC

Unit: IdWinsock

PF_UNSPEC = AF_UNSPEC;

Description

The text for this constant has been generated automatically. This means that it is not documented.


PF_VOICEVIEW

Unit: IdWinsock

PF_VOICEVIEW = AF_VOICEVIEW;

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSAAboutBoxCompName

Unit: IdResourceStrings

RSAAboutBoxCompName = 'Internet Direct (Indy)';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSAAboutBoxCopyright

Unit: IdResourceStrings

RSAAboutBoxCopyright = 'Copyright © 1993 - 2001'#13#10 + 'Kudzu (Chad Z. Hower)'#13#10 + 'and the'#13#10 + 'Indy Pit Crew';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSAAboutBoxIndyWebsite

Unit: IdResourceStrings

RSAAboutBoxIndyWebsite = 'http://www.nevrona.com/indy/';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSAAboutBoxPleaseVisit

Unit: IdResourceStrings

RSAAboutBoxPleaseVisit = 'For the latest updates and information please visit:';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSAAboutBoxVersion

Unit: IdResourceStrings

RSAAboutBoxVersion = 'Version %s';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSAAboutCreditsCoCordinator

Unit: IdResourceStrings

RSAAboutCreditsCoCordinator = 'Project Co-Coordinator';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSAAboutCreditsCoordinator

Unit: IdResourceStrings

RSAAboutCreditsCoordinator = 'Project Coordinator';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSAAboutFormCaption

Unit: IdResourceStrings

RSAAboutFormCaption = 'About';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSAAboutMenuItemName

Unit: IdResourceStrings

RSAAboutMenuItemName = 'About Internet &Direct (Indy) %s...';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSAcceptWaitCannotBeModifiedWhileServerIsActive

Unit: IdResourceStrings

RSAcceptWaitCannotBeModifiedWhileServerIsActive = 'AcceptWait property cannot be modified while server is active.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSAlreadyConnected

Unit: IdResourceStrings

RSAlreadyConnected = 'Already connected.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSByteIndexOutOfBounds

Unit: IdResourceStrings

RSByteIndexOutOfBounds = 'Byte index out of range.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSCannotAllocateSocket

Unit: IdResourceStrings

RSCannotAllocateSocket = 'Cannot allocate socket.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSCannotChangeDebugTargetAtWhileActive

Unit: IdResourceStrings

RSCannotChangeDebugTargetAtWhileActive = 'Cannot change target while active.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSCMDNotRecognized

Unit: IdResourceStrings

RSCMDNotRecognized = 'command not recognized';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSCodeNoError

Unit: IdResourceStrings

RSCodeNoError = 'RCode NO Error';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSCodeQueryFormat

Unit: IdResourceStrings

RSCodeQueryFormat = 'DNS Server Reports Query Format Error';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSCodeQueryName

Unit: IdResourceStrings

RSCodeQueryName = 'DNS Server Reports Query Name Error';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSCodeQueryNotImplemented

Unit: IdResourceStrings

RSCodeQueryNotImplemented = 'DNS Server Reports Query Not Implemented Error';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSCodeQueryQueryRefused

Unit: IdResourceStrings

RSCodeQueryQueryRefused = 'DNS Server Reports Query Refused Error';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSCodeQueryServer

Unit: IdResourceStrings

RSCodeQueryServer = 'DNS Server Reports Query Server Error';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSCodeQueryUnknownError

Unit: IdResourceStrings

RSCodeQueryUnknownError = 'Server Returned Unknown Error';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSCoderNoTableEntryNotFound

Unit: IdResourceStrings

RSCoderNoTableEntryNotFound = 'Coding table entry not found.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSConnectionClosedGracefully

Unit: IdResourceStrings

RSConnectionClosedGracefully = 'Connection Closed Gracefully.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSCorruptServicesFile

Unit: IdResourceStrings

RSCorruptServicesFile = '%s is corrupt.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSCouldNotBindSocket

Unit: IdResourceStrings

RSCouldNotBindSocket = 'Could not bind socket. Address and port are already in use.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSCouldNotLoad

Unit: IdResourceStrings

RSCouldNotLoad = '%s could not be loaded.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSDestinationFileAlreadyExists

Unit: IdResourceStrings

RSDestinationFileAlreadyExists = 'Destination file already exists.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSDNSMailAObsolete

Unit: IdResourceStrings

RSDNSMailAObsolete = 'MailA is an Obsolete Command. USE MX.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSDNSMailBNotImplemented

Unit: IdResourceStrings

RSDNSMailBNotImplemented = '-Err 501 MailB is not implemented';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSDNSMDISObsolete

Unit: IdResourceStrings

RSDNSMDISObsolete = 'MD is an Obsolete Command. Use MX.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSDNSMFIsObsolete

Unit: IdResourceStrings

RSDNSMFIsObsolete = 'MF is an Obsolete Command. USE MX.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSFailedTimeZoneInfo

Unit: IdResourceStrings

RSFailedTimeZoneInfo = 'Failed attempting to retrieve time zone information.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSFTPUnknownHost

Unit: IdResourceStrings

RSFTPUnknownHost = 'Unknown';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSGopherNotGopherPlus

Unit: IdResourceStrings

RSGopherNotGopherPlus = '%s is not a Gopher+ server';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSGopherServerNoProgramCode

Unit: IdResourceStrings

RSGopherServerNoProgramCode = 'Error: No program code to return request!';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPAccepted

Unit: IdResourceStrings

RSHTTPAccepted = 'Accepted';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPBadGateway

Unit: IdResourceStrings

RSHTTPBadGateway = 'Bad Gateway';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPBadRequest

Unit: IdResourceStrings

RSHTTPBadRequest = 'Bad Request';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPCannotSwitchSessionStateWhenActive

Unit: IdResourceStrings

RSHTTPCannotSwitchSessionStateWhenActive = 'Cannot change session state when the server is active.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPChunkStarted

Unit: IdResourceStrings

RSHTTPChunkStarted = 'Chunk Started';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPConflict

Unit: IdResourceStrings

RSHTTPConflict = 'Conflict';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPContinue

Unit: IdResourceStrings

RSHTTPContinue = 'Continue';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPCreated

Unit: IdResourceStrings

RSHTTPCreated = 'Created';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPErrorParsingCommand

Unit: IdResourceStrings

RSHTTPErrorParsingCommand = 'Error in parsing command.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPForbidden

Unit: IdResourceStrings

RSHTTPForbidden = 'Forbidden';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPGatewayTimeout

Unit: IdResourceStrings

RSHTTPGatewayTimeout = 'Gateway timeout';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPGone

Unit: IdResourceStrings

RSHTTPGone = 'Gone';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPHeaderAlreadyWritten

Unit: IdResourceStrings

RSHTTPHeaderAlreadyWritten = 'Header has already been written.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPHTTPVersionNotSupported

Unit: IdResourceStrings

RSHTTPHTTPVersionNotSupported = 'HTTP version not supported';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPInternalServerError

Unit: IdResourceStrings

RSHTTPInternalServerError = 'Internal Server Error';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPLengthRequired

Unit: IdResourceStrings

RSHTTPLengthRequired = 'Length Required';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPMethodeNotallowed

Unit: IdResourceStrings

RSHTTPMethodeNotallowed = 'Method not allowed';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPMovedPermanently

Unit: IdResourceStrings

RSHTTPMovedPermanently = 'Moved Permanently';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPMovedTemporarily

Unit: IdResourceStrings

RSHTTPMovedTemporarily = 'Moved Temporarily';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPNoContent

Unit: IdResourceStrings

RSHTTPNoContent = 'No Content';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPNonAuthoritativeInformation

Unit: IdResourceStrings

RSHTTPNonAuthoritativeInformation = 'Non-authoritative Information';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPNotAcceptable

Unit: IdResourceStrings

RSHTTPNotAcceptable = 'Not Acceptable';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPNotFound

Unit: IdResourceStrings

RSHTTPNotFound = 'Not Found';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPNotImplemented

Unit: IdResourceStrings

RSHTTPNotImplemented = 'Not Implemented';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPNotModified

Unit: IdResourceStrings

RSHTTPNotModified = 'Not Modified';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPOK

Unit: IdResourceStrings

RSHTTPOK = 'OK';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPPartialContent

Unit: IdResourceStrings

RSHTTPPartialContent = 'Partial Content';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPPreconditionFailed

Unit: IdResourceStrings

RSHTTPPreconditionFailed = 'Precondition Failed';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPProxyAuthenticationRequired

Unit: IdResourceStrings

RSHTTPProxyAuthenticationRequired = 'Proxy Authentication Required';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPRequestEntityToLong

Unit: IdResourceStrings

RSHTTPRequestEntityToLong = 'Request Entity To Long';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPRequestTimeout

Unit: IdResourceStrings

RSHTTPRequestTimeout = 'Request Timeout';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPRequestURITooLong

Unit: IdResourceStrings

RSHTTPRequestURITooLong = 'Request-URI Too Long. 256 Chars max';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPResetContent

Unit: IdResourceStrings

RSHTTPResetContent = 'Reset Content';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPSeeOther

Unit: IdResourceStrings

RSHTTPSeeOther = 'See Other';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPServiceUnavailable

Unit: IdResourceStrings

RSHTTPServiceUnavailable = 'Service Unavailable';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPSwitchingProtocols

Unit: IdResourceStrings

RSHTTPSwitchingProtocols = 'Switching protocols';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPUnauthorized

Unit: IdResourceStrings

RSHTTPUnauthorized = 'Unauthorized';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPUnknownResponseCode

Unit: IdResourceStrings

RSHTTPUnknownResponseCode = 'Unknown Response Code';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPUnsupportedAuthorisationScheme

Unit: IdResourceStrings

RSHTTPUnsupportedAuthorisationScheme = 'Unsupported authorization scheme.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPUnsupportedMediaType

Unit: IdResourceStrings

RSHTTPUnsupportedMediaType = 'Unsupported Media Type';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSHTTPUseProxy

Unit: IdResourceStrings

RSHTTPUseProxy = 'Use Proxy';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSICMPNonEchoResponse

Unit: IdResourceStrings

RSICMPNonEchoResponse = 'Non-echo type response received';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSICMPNotEnoughtBytes

Unit: IdResourceStrings

RSICMPNotEnoughtBytes = 'Not enough bytes received';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSICMPReceiveError0

Unit: IdResourceStrings

RSICMPReceiveError0 = 'ICMP Receive Error = 0.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSICMPWrongDestination

Unit: IdResourceStrings

RSICMPWrongDestination = 'Received someone else''s packet';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSIdNoDataToRead

Unit: IdResourceStrings

RSIdNoDataToRead = 'No data to read.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSInterceptPropInvalid

Unit: IdResourceStrings

RSInterceptPropInvalid = 'Intercept value is not valid';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSInterceptPropIsNil

Unit: IdResourceStrings

RSInterceptPropIsNil = 'InterceptEnabled cannot be set to true when Intercept is nil.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSInvalidServiceName

Unit: IdResourceStrings

RSInvalidServiceName = '%s is not a valid service.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSLPDAbortJob

Unit: IdResourceStrings

RSLPDAbortJob = 'abort job';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSLPDClosingConnection

Unit: IdResourceStrings

RSLPDClosingConnection = 'closing connection';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSLPDConnectTo

Unit: IdResourceStrings

RSLPDConnectTo = 'connected with %s';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSLPDControlFileSaved

Unit: IdResourceStrings

RSLPDControlFileSaved = 'Control file save to %s';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSLPDDataFileSaved

Unit: IdResourceStrings

RSLPDDataFileSaved = 'Data file saved to %s';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSLPDDirectoryDoesNotExist

Unit: IdResourceStrings

RSLPDDirectoryDoesNotExist = 'Directory %s does not exist';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSLPDNoQueuesDefined

Unit: IdResourceStrings

RSLPDNoQueuesDefined = 'Error: no queues defined';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSLPDQueueStatus

Unit: IdResourceStrings

RSLPDQueueStatus = 'Queue %s status: %s';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSLPDReceiveControlFile

Unit: IdResourceStrings

RSLPDReceiveControlFile = 'Receive control file';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSLPDReceiveDataFile

Unit: IdResourceStrings

RSLPDReceiveDataFile = 'Receive data file';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSLPDServerActive

Unit: IdResourceStrings

RSLPDServerActive = 'Server status: active';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSLPDServerStartTitle

Unit: IdResourceStrings

RSLPDServerStartTitle = 'Winshoes LPD Server %s ';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSLPDUnknownQueue

Unit: IdResourceStrings

RSLPDUnknownQueue = 'Unknown queue %s';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSMsgClientEncodingAttachment

Unit: IdResourceStrings

RSMsgClientEncodingAttachment = 'Encoding attachment';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSMsgClientEncodingText

Unit: IdResourceStrings

RSMsgClientEncodingText = 'Encoding text';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSMsgCmpEdtrBodyText

Unit: IdResourceStrings

RSMsgCmpEdtrBodyText = 'Body Text Editor';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSMsgCmpEdtrExtraHead

Unit: IdResourceStrings

RSMsgCmpEdtrExtraHead = 'Extra Headers Text Editor';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSMsgCmpEdtrNew

Unit: IdResourceStrings

RSMsgCmpEdtrNew = '&New Message Part...';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSNETCALCInvalidNetworkMask

Unit: IdResourceStrings

RSNETCALCInvalidNetworkMask = 'Invalid network mask.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSNETCALCInvalidValueLength

Unit: IdResourceStrings

RSNETCALCInvalidValueLength = 'Invalid value length: Should be 32.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSNETCALConfirmLongIPList

Unit: IdResourceStrings

RSNETCALConfirmLongIPList = 'There is too many IP addresses in the specified range (%d) to be displayed at design time.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSNETCALInvalidIPString

Unit: IdResourceStrings

RSNETCALInvalidIPString = 'The string %s does not translate into a valid IP.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSNNTPConnectionRefused

Unit: IdResourceStrings

RSNNTPConnectionRefused = 'Connection explicitly refused by NNTP server.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSNNTPNoOnNewGroupsList

Unit: IdResourceStrings

RSNNTPNoOnNewGroupsList = 'No OnNewGroupsList event has been defined.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSNNTPNoOnNewNewsList

Unit: IdResourceStrings

RSNNTPNoOnNewNewsList = 'No OnNewNewsList event has been defined.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSNNTPNoOnNewsgroupList

Unit: IdResourceStrings

RSNNTPNoOnNewsgroupList = 'No OnNewsgroupList event has been defined.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSNNTPServerGoodBye

Unit: IdResourceStrings

RSNNTPServerGoodBye = 'Goodbye';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSNNTPServerNotRecognized

Unit: IdResourceStrings

RSNNTPServerNotRecognized = 'command not recognized (%s)';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSNNTPStringListNotInitialized

Unit: IdResourceStrings

RSNNTPStringListNotInitialized = 'Stringlist not initialized!';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSNoBindingsSpecified

Unit: IdResourceStrings

RSNoBindingsSpecified = 'No bindings specified.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSNoExecuteSpecified

Unit: IdResourceStrings

RSNoExecuteSpecified = 'No execute handler found.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSNotAllBytesSent

Unit: IdResourceStrings

RSNotAllBytesSent = 'Not all bytes sent.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSNotEnoughDataInBuffer

Unit: IdResourceStrings

RSNotEnoughDataInBuffer = 'Not enough data in buffer.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSObjectTypeNotSupported

Unit: IdResourceStrings

RSObjectTypeNotSupported = 'Object type not supported.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSOnExecuteNotAssigned

Unit: IdResourceStrings

RSOnExecuteNotAssigned = 'OnExecute not assigned.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSOnlyOneAntiFreeze

Unit: IdResourceStrings

RSOnlyOneAntiFreeze = 'Only one TIdAntiFreeze can exist per application.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSOSSLCertificateLookup

Unit: IdResourceStrings

RSOSSLCertificateLookup = 'SSL certificate request error.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSOSSLConnectionDropped

Unit: IdResourceStrings

RSOSSLConnectionDropped = 'SSL connection has dropped.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSOSSLCouldNotLoadSSLLibrary

Unit: IdResourceStrings

RSOSSLCouldNotLoadSSLLibrary = 'Could not load SSL library.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSOSSLInternal

Unit: IdResourceStrings

RSOSSLInternal = 'SSL library internal error.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSOSSLModeNotSet

Unit: IdResourceStrings

RSOSSLModeNotSet = 'Mode has not been set.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSOSSLStatusString

Unit: IdResourceStrings

RSOSSLStatusString = 'SSL status: "%s"';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSPackageSizeTooBig

Unit: IdResourceStrings

RSPackageSizeTooBig = 'Package Size Too Big.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSPOP3FieldNotSpecified

Unit: IdResourceStrings

RSPOP3FieldNotSpecified = ' not specified';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSQueryInvalidHeaderID

Unit: IdResourceStrings

RSQueryInvalidHeaderID = 'Invalid Header Id %d';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSQueryInvalidPacketSize

Unit: IdResourceStrings

RSQueryInvalidPacketSize = 'Invalid Packet Size %d';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSQueryInvalidQueryCount

Unit: IdResourceStrings

RSQueryInvalidQueryCount = 'Invaild Query Count %d';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSQueryLessThanFour

Unit: IdResourceStrings

RSQueryLessThanFour = 'Received Packet is too small. Less than 4 bytes %d';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSQueryLessThanTwelve

Unit: IdResourceStrings

RSQueryLessThanTwelve = 'Received Packet is too small. Less than 12 bytes %d';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSQueryPackReceivedTooSmall

Unit: IdResourceStrings

RSQueryPackReceivedTooSmall = 'Received Packet is too small. %d';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSRawReceiveError0

Unit: IdResourceStrings

RSRawReceiveError0 = 'Raw Receive Error = 0.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSSetSizeExceeded

Unit: IdResourceStrings

RSSetSizeExceeded = 'Set Size Exceeded.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSSocksAuthError

Unit: IdResourceStrings

RSSocksAuthError = 'Authentication error to socks server.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSSocksAuthMethodError

Unit: IdResourceStrings

RSSocksAuthMethodError = 'Invalid socks authentication method.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSSocksRequestFailed

Unit: IdResourceStrings

RSSocksRequestFailed = 'Request rejected or failed.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSSocksRequestIdentFailed

Unit: IdResourceStrings

RSSocksRequestIdentFailed = 'Request rejected because the client program and identd report different user-ids.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSSocksRequestServerFailed

Unit: IdResourceStrings

RSSocksRequestServerFailed = 'Request rejected because SOCKS server cannot connect.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSSocksServerAddressError

Unit: IdResourceStrings

RSSocksServerAddressError = 'Address type not supported.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSSocksServerCommandError

Unit: IdResourceStrings

RSSocksServerCommandError = 'Command not supported.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSSocksServerConnectionRefusedError

Unit: IdResourceStrings

RSSocksServerConnectionRefusedError = 'Connection refused.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSSocksServerGeneralError

Unit: IdResourceStrings

RSSocksServerGeneralError = 'General SOCKS server failure.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSSocksServerHostUnreachableError

Unit: IdResourceStrings

RSSocksServerHostUnreachableError = 'Host unreachable.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSSocksServerNetUnreachableError

Unit: IdResourceStrings

RSSocksServerNetUnreachableError = 'Network unreachable.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSSocksServerPermissionError

Unit: IdResourceStrings

RSSocksServerPermissionError = 'Connection not allowed by ruleset.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSSocksServerRespondError

Unit: IdResourceStrings

RSSocksServerRespondError = 'Socks server did not respond.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSSocksServerTTLExpiredError

Unit: IdResourceStrings

RSSocksServerTTLExpiredError = 'TTL expired.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSSocksUnknownError

Unit: IdResourceStrings

RSSocksUnknownError = 'Unknown socks error.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSSSLAcceptError

Unit: IdResourceStrings

RSSSLAcceptError = 'Error accepting connection with SSL.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSSSLConnectError

Unit: IdResourceStrings

RSSSLConnectError = 'Error connecting with SSL.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSSSLCreatingContextError

Unit: IdResourceStrings

RSSSLCreatingContextError = 'Error creating SSL context.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSSSLDataBindingError

Unit: IdResourceStrings

RSSSLDataBindingError = 'Error binding data to SSL socket.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSSSLGetMethodError

Unit: IdResourceStrings

RSSSLGetMethodError = 'Error geting SSL method.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSSSLLoadingCertError

Unit: IdResourceStrings

RSSSLLoadingCertError = 'Could not load certificate.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSSSLLoadingKeyError

Unit: IdResourceStrings

RSSSLLoadingKeyError = 'Could not load key, check password.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSSSLLoadingRootCertError

Unit: IdResourceStrings

RSSSLLoadingRootCertError = 'Could not load root certificate.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSSSLSettingChiperError

Unit: IdResourceStrings

RSSSLSettingChiperError = 'SetCipher failed.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackEACCES

Unit: IdResourceStrings

RSStackEACCES = 'Access denied.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackEADDRINUSE

Unit: IdResourceStrings

RSStackEADDRINUSE = 'Address already in use.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackEADDRNOTAVAIL

Unit: IdResourceStrings

RSStackEADDRNOTAVAIL = 'Cannot assign requested address.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackEAFNOSUPPORT

Unit: IdResourceStrings

RSStackEAFNOSUPPORT = 'Address family not supported by protocol family.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackEALREADY

Unit: IdResourceStrings

RSStackEALREADY = 'Operation already in progress.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackEBADF

Unit: IdResourceStrings

RSStackEBADF = 'Bad file number.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackECONNABORTED

Unit: IdResourceStrings

RSStackECONNABORTED = 'Software caused connection abort.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackECONNREFUSED

Unit: IdResourceStrings

RSStackECONNREFUSED = 'Connection refused.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackECONNRESET

Unit: IdResourceStrings

RSStackECONNRESET = 'Connection reset by peer.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackEDESTADDRREQ

Unit: IdResourceStrings

RSStackEDESTADDRREQ = 'Destination address required.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackEDQUOT

Unit: IdResourceStrings

RSStackEDQUOT = 'Disk Quota Exceeded.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackEFAULT

Unit: IdResourceStrings

RSStackEFAULT = 'Bad address.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackEHOSTDOWN

Unit: IdResourceStrings

RSStackEHOSTDOWN = 'Host is down.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackEHOSTUNREACH

Unit: IdResourceStrings

RSStackEHOSTUNREACH = 'No route to host.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackEINPROGRESS

Unit: IdResourceStrings

RSStackEINPROGRESS = 'Operation now in progress.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackEINTR

Unit: IdResourceStrings

RSStackEINTR = 'Interrupted system call.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackEINVAL

Unit: IdResourceStrings

RSStackEINVAL = 'Invalid argument.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackEISCONN

Unit: IdResourceStrings

RSStackEISCONN = 'Socket is already connected.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackELOOP

Unit: IdResourceStrings

RSStackELOOP = 'Too many levels of symbolic links.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackEMFILE

Unit: IdResourceStrings

RSStackEMFILE = 'Too many open files.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackEMSGSIZE

Unit: IdResourceStrings

RSStackEMSGSIZE = 'Message too long.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackENAMETOOLONG

Unit: IdResourceStrings

RSStackENAMETOOLONG = 'File name too long.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackENETDOWN

Unit: IdResourceStrings

RSStackENETDOWN = 'Network is down.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackENETRESET

Unit: IdResourceStrings

RSStackENETRESET = 'Net dropped connection or reset.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackENETUNREACH

Unit: IdResourceStrings

RSStackENETUNREACH = 'Network is unreachable.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackENOBUFS

Unit: IdResourceStrings

RSStackENOBUFS = 'No buffer space available.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackENOPROTOOPT

Unit: IdResourceStrings

RSStackENOPROTOOPT = 'Bad protocol option.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackENOTCONN

Unit: IdResourceStrings

RSStackENOTCONN = 'Socket is not connected.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackENOTEMPTY

Unit: IdResourceStrings

RSStackENOTEMPTY = 'Directory not empty';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackENOTSOCK

Unit: IdResourceStrings

RSStackENOTSOCK = 'Socket operation on non-socket.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackEOPNOTSUPP

Unit: IdResourceStrings

RSStackEOPNOTSUPP = 'Operation not supported on socket.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackEPFNOSUPPORT

Unit: IdResourceStrings

RSStackEPFNOSUPPORT = 'Protocol family not supported.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackEPROCLIM

Unit: IdResourceStrings

RSStackEPROCLIM = 'Too many processes.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackEPROTONOSUPPORT

Unit: IdResourceStrings

RSStackEPROTONOSUPPORT = 'Protocol not supported.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackEPROTOTYPE

Unit: IdResourceStrings

RSStackEPROTOTYPE = 'Protocol wrong type for socket.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackEREMOTE

Unit: IdResourceStrings

RSStackEREMOTE = 'Too many levels of remote in path.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackError

Unit: IdResourceStrings

RSStackError = 'Socket Error # %d' + #13#10 + '%s';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackESHUTDOWN

Unit: IdResourceStrings

RSStackESHUTDOWN = 'Cannot send or receive after socket is closed.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackESOCKTNOSUPPORT

Unit: IdResourceStrings

RSStackESOCKTNOSUPPORT = 'Socket type not supported.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackESTALE

Unit: IdResourceStrings

RSStackESTALE = 'Stale NFS file handle.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackETIMEDOUT

Unit: IdResourceStrings

RSStackETIMEDOUT = 'Connection timed out.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackETOOMANYREFS

Unit: IdResourceStrings

RSStackETOOMANYREFS = 'Too many references, cannot splice.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackEUSERS

Unit: IdResourceStrings

RSStackEUSERS = 'Too many users.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackEWOULDBLOCK

Unit: IdResourceStrings

RSStackEWOULDBLOCK = 'Operation would block. ';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackHOST_NOT_FOUND

Unit: IdResourceStrings

RSStackHOST_NOT_FOUND = 'Host not found.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackNO_DATA

Unit: IdResourceStrings

RSStackNO_DATA = 'Valid name, no data record (check DNS setup).';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackNO_RECOVERY

Unit: IdResourceStrings

RSStackNO_RECOVERY = 'Non-recoverable errors: FORMERR, REFUSED, NOTIMP.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackNOTINITIALISED

Unit: IdResourceStrings

RSStackNOTINITIALISED = 'Winsock not loaded yet.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackSYSNOTREADY

Unit: IdResourceStrings

RSStackSYSNOTREADY = 'Network subsystem is unavailable.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackTRY_AGAIN

Unit: IdResourceStrings

RSStackTRY_AGAIN = 'Non-authoritative response (try again or check DNS setup).';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStackVERNOTSUPPORTED

Unit: IdResourceStrings

RSStackVERNOTSUPPORTED = 'WINSOCK DLL Version out of range.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStatusConnected

Unit: IdResourceStrings

RSStatusConnected = 'Connected.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStatusConnecting

Unit: IdResourceStrings

RSStatusConnecting = 'Connecting to %s.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStatusDisconnected

Unit: IdResourceStrings

RSStatusDisconnected = 'Not connected.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStatusDisconnecting

Unit: IdResourceStrings

RSStatusDisconnecting = 'Disconnecting from %s.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStatusResolving

Unit: IdResourceStrings

RSStatusResolving = 'Resolving hostname %s.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSStatusText

Unit: IdResourceStrings

RSStatusText = '%s';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSTELNETCLIConnectError

Unit: IdResourceStrings

RSTELNETCLIConnectError = 'server not responding';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSTELNETCLIReadError

Unit: IdResourceStrings

RSTELNETCLIReadError = 'Server did not respond.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSTELNETSRVInvalidLogin

Unit: IdResourceStrings

RSTELNETSRVInvalidLogin = 'Invalid Login.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSTELNETSRVMaxloginAttempt

Unit: IdResourceStrings

RSTELNETSRVMaxloginAttempt = 'Allowed login attempts exceeded, good bye.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSTELNETSRVNoAuthHandler

Unit: IdResourceStrings

RSTELNETSRVNoAuthHandler = 'No authentication handler has been specified.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSTELNETSRVOnDataAvailableIsNil

Unit: IdResourceStrings

RSTELNETSRVOnDataAvailableIsNil = 'OnDataAvailable event is nil.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSTELNETSRVPasswordPrompt

Unit: IdResourceStrings

RSTELNETSRVPasswordPrompt = 'Password: ';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSTELNETSRVUsernamePrompt

Unit: IdResourceStrings

RSTELNETSRVUsernamePrompt = 'Username: ';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSTELNETSRVWelcomeString

Unit: IdResourceStrings

RSTELNETSRVWelcomeString = 'Indy Telnet Server';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSTFTPAccessDenied

Unit: IdResourceStrings

RSTFTPAccessDenied = 'Access to %s denied';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSTFTPDiskFull

Unit: IdResourceStrings

RSTFTPDiskFull = 'Unable to complete write request, progress halted at %d bytes';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSTFTPFileNotFound

Unit: IdResourceStrings

RSTFTPFileNotFound = 'Unable to open %s';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSTFTPUnexpectedOp

Unit: IdResourceStrings

RSTFTPUnexpectedOp = 'Unexpected operation from %s:%d';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSTFTPUnsupportedTrxMode

Unit: IdResourceStrings

RSTFTPUnsupportedTrxMode = 'Unsupported transfer mode: "%s"';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSThreadClassNotSpecified

Unit: IdResourceStrings

RSThreadClassNotSpecified = 'Thread Class Not Specified.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSTIdMessagePartCreate

Unit: IdResourceStrings

RSTIdMessagePartCreate = 'TIdMessagePart can not be created.  Use descendant classes. ';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSTIdTextInvalidCount

Unit: IdResourceStrings

RSTIdTextInvalidCount = 'Invalid Text count. TIdText must be greater than 1';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSTimeOut

Unit: IdResourceStrings

RSTimeOut = 'Timeout';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSTunnelConnectMsg

Unit: IdResourceStrings

RSTunnelConnectMsg = 'Connecting';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSTunnelConnectToMasterFailed

Unit: IdResourceStrings

RSTunnelConnectToMasterFailed = 'Cannt connect to the Master server';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSTunnelCRCFailed

Unit: IdResourceStrings

RSTunnelCRCFailed = 'CRC Failed';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSTunnelDisconnectMsg

Unit: IdResourceStrings

RSTunnelDisconnectMsg = 'Disconnect';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSTunnelDontAllowConnections

Unit: IdResourceStrings

RSTunnelDontAllowConnections = 'Do not allow connctions now';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSTunnelGetByteRange

Unit: IdResourceStrings

RSTunnelGetByteRange = 'Call to %s.GetByte [property Bytes] with index <> [0..%d]';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSTunnelMessageCustomInterpretError

Unit: IdResourceStrings

RSTunnelMessageCustomInterpretError = 'Custom message interpretation failed';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSTunnelMessageHandlingError

Unit: IdResourceStrings

RSTunnelMessageHandlingError = 'Message handling failed';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSTunnelMessageInterpretError

Unit: IdResourceStrings

RSTunnelMessageInterpretError = 'Interpretation of message failed';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSTunnelMessageTypeError

Unit: IdResourceStrings

RSTunnelMessageTypeError = 'Message type recognition error';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSTunnelTransformError

Unit: IdResourceStrings

RSTunnelTransformError = 'Transform failed';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSTunnelTransformErrorBS

Unit: IdResourceStrings

RSTunnelTransformErrorBS = 'Error in transformation before send';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSUDPReceiveError0

Unit: IdResourceStrings

RSUDPReceiveError0 = 'UDP Receive Error = 0.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSWinsockInitializationError

Unit: IdResourceStrings

RSWinsockInitializationError = 'Winsock Initialization Error.';

Description

The text for this constant has been generated automatically. This means that it is not documented.


RSWSockStack

Unit: IdResourceStrings

RSWSockStack = 'Winsock stack';

Description

The text for this constant has been generated automatically. This means that it is not documented.


sBlockSize

Unit: IdTrivialFTPBase

Value used in TFTP Blocksize Option negotiations.

sBlockSize = 'blksize'#0;

Description

sBlockSize is a constant String value used in TFTP Blocksize Option negotiations.


sj1_tbl

Unit: IdHeaderCoder

ISO-2022-JP character sets encodings.

sj1_tbl: array[#128..#255] of Byte  = ( $00,$21,$23,$25,$27,$29,$2B,$2D,$2F,$31,$33,$35,$37,$39,$3B,$3D, $3F,$41,$43,$45,$47,$49,$4B,$4D,$4F,$51,$53,$55,$57,$59,$5B,$5D, $00,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01, $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01, $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01, $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01, $5F,$61,$63,$65,$67,$69,$6B,$6D,$6F,$71,$73,$75,$77,$79,$7B,$7D, $02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$00,$00,$00);

Description

sj1_tbl is a Byte array that represent trhe single characters #128 through #255 used in ISO-2022-JP character sets encodings.


sj2_tbl

Unit: IdHeaderCoder

Double-byte alphabet used in ISO-2022-JP character encoding

sj2_tbl: array[Char] of Word  = ( $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000, $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000, $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000, $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000, $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000, $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000, $0000,$0000,$0000,$0000,$0021,$0022,$0023,$0024,$0025,$0026, $0027,$0028,$0029,$002A,$002B,$002C,$002D,$002E,$002F,$0030, $0031,$0032,$0033,$0034,$0035,$0036,$0037,$0038,$0039,$003A, $003B,$003C,$003D,$003E,$003F,$0040,$0041,$0042,$0043,$0044, $0045,$0046,$0047,$0048,$0049,$004A,$004B,$004C,$004D,$004E, $004F,$0050,$0051,$0052,$0053,$0054,$0055,$0056,$0057,$0058, $0059,$005A,$005B,$005C,$005D,$005E,$005F,$0000,$0060,$0061, $0062,$0063,$0064,$0065,$0066,$0067,$0068,$0069,$006A,$006B, $006C,$006D,$006E,$006F,$0070,$0071,$0072,$0073,$0074,$0075, $0076,$0077,$0078,$0079,$007A,$007B,$007C,$007D,$007E,$0121, $0122,$0123,$0124,$0125,$0126,$0127,$0128,$0129,$012A,$012B, $012C,$012D,$012E,$012F,$0130,$0131,$0132,$0133,$0134,$0135, $0136,$0137,$0138,$0139,$013A,$013B,$013C,$013D,$013E,$013F, $0140,$0141,$0142,$0143,$0144,$0145,$0146,$0147,$0148,$0149, $014A,$014B,$014C,$014D,$014E,$014F,$0150,$0151,$0152,$0153, $0154,$0155,$0156,$0157,$0158,$0159,$015A,$015B,$015C,$015D, $015E,$015F,$0160,$0161,$0162,$0163,$0164,$0165,$0166,$0167, $0168,$0169,$016A,$016B,$016C,$016D,$016E,$016F,$0170,$0171, $0172,$0173,$0174,$0175,$0176,$0177,$0178,$0179,$017A,$017B, $017C,$017D,$017E,$0000,$0000,$0000);

Description

sj2_tbl is an Array or Word that provides Char-indexed access to the double-byte alphabet used in ISO-2022-JP character encoding.


SO_ACCEPTCONN

Unit: IdWinsock

SO_ACCEPTCONN = $0002;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_BROADCAST

Unit: IdWinsock

SO_BROADCAST = $0020;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_CONNDATA

Unit: IdWinsock

SO_CONNDATA = $7000;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_CONNDATALEN

Unit: IdWinsock

SO_CONNDATALEN = $7004;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_CONNECT_TIME

Unit: IdWinsock

SO_CONNECT_TIME = $700C;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_CONNOPT

Unit: IdWinsock

SO_CONNOPT = $7001;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_CONNOPTLEN

Unit: IdWinsock

SO_CONNOPTLEN = $7005;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_DEBUG

Unit: IdWinsock

SO_DEBUG = $0001;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_DISCDATA

Unit: IdWinsock

SO_DISCDATA = $7002;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_DISCDATALEN

Unit: IdWinsock

SO_DISCDATALEN = $7006;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_DISCOPT

Unit: IdWinsock

SO_DISCOPT = $7003;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_DISCOPTLEN

Unit: IdWinsock

SO_DISCOPTLEN = $7007;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_DONTLINGER

Unit: IdWinsock

SO_DONTLINGER = $ff7f;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_DONTROUTE

Unit: IdWinsock

SO_DONTROUTE = $0010;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_ERROR

Unit: IdWinsock

SO_ERROR = $1007;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_KEEPALIVE

Unit: IdWinsock

SO_KEEPALIVE = $0008;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_LINGER

Unit: IdWinsock

SO_LINGER = $0080;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_MAXDG

Unit: IdWinsock

SO_MAXDG = $7009;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_MAXPATHDG

Unit: IdWinsock

SO_MAXPATHDG = $700A;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_OOBINLINE

Unit: IdWinsock

SO_OOBINLINE = $0100;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_OPENTYPE

Unit: IdWinsock

SO_OPENTYPE = $7008;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_RCVBUF

Unit: IdWinsock

SO_RCVBUF = $1002;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_RCVLOWAT

Unit: IdWinsock

SO_RCVLOWAT = $1004;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_RCVTIMEO

Unit: IdWinsock

SO_RCVTIMEO = $1006;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_REUSEADDR

Unit: IdWinsock

SO_REUSEADDR = $0004;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_SNDBUF

Unit: IdWinsock

SO_SNDBUF = $1001;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_SNDLOWAT

Unit: IdWinsock

SO_SNDLOWAT = $1003;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_SNDTIMEO

Unit: IdWinsock

SO_SNDTIMEO = $1005;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_SYNCHRONOUS_ALERT

Unit: IdWinsock

SO_SYNCHRONOUS_ALERT = $10;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_SYNCHRONOUS_NONALERT

Unit: IdWinsock

SO_SYNCHRONOUS_NONALERT = $20;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_TYPE

Unit: IdWinsock

SO_TYPE = $1008;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_UPDATE_ACCEPT_CONTEXT

Unit: IdWinsock

SO_UPDATE_ACCEPT_CONTEXT = $700B;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SO_USELOOPBACK

Unit: IdWinsock

SO_USELOOPBACK = $0040;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SOCK_DGRAM

Unit: IdWinsock

SOCK_DGRAM = 2;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SOCK_RAW

Unit: IdWinsock

SOCK_RAW = 3;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SOCK_RDM

Unit: IdWinsock

SOCK_RDM = 4;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SOCK_SEQPACKET

Unit: IdWinsock

SOCK_SEQPACKET = 5;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SOCK_STREAM

Unit: IdWinsock

SOCK_STREAM = 1;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SOCKET_ERROR

Unit: IdWinsock

SOCKET_ERROR = -1;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SOL_SOCKET

Unit: IdWinsock

SOL_SOCKET = $ffff;

Description

The text for this constant has been generated automatically. This means that it is not documented.


SOMAXCONN

Unit: IdWinsock

SOMAXCONN = 5;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TAB

Unit: IdGlobal

Represents the Tab character.

TAB = #9;

Description

TAB is a constant value that represents the Tab character.


TCP_BSDURGENT

Unit: IdWinsock

TCP_BSDURGENT = $7000;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TCP_NODELAY

Unit: IdStackConsts

TCP_NODELAY = $0001;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TF_DISCONNECT

Unit: IdWinsock

TF_DISCONNECT = $01;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TF_REUSE_SOCKET

Unit: IdWinsock

TF_REUSE_SOCKET = $02;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TF_WRITE_BEHIND

Unit: IdWinsock

TF_WRITE_BEHIND = $04;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TFTP_ACK

Unit: IdTrivialFTPBase

TrivialFTP Acknowledgment Op Code.

TFTP_ACK = 4;

Description

TFTP_ACK represents the TrivialFTP Acknowledgment Op Code.


TFTP_DATA

Unit: IdTrivialFTPBase

TrivialFTP Data Op Code.

TFTP_DATA = 3;

Description

TFTP_DATA represents the TrivialFTP Data Op Code.


TFTP_ERROR

Unit: IdTrivialFTPBase

TrivialFTP Error Op Code.

TFTP_ERROR = 5;

Description

TFTP_ERROR represents the TrivialFTP Error Op Code.


TFTP_OACK

Unit: IdTrivialFTPBase

TrivialFTP Option Acknowledgement Op Code.

TFTP_OACK = 6;

Description

TFTP_OACK represents the TrivialFTP Option Acknowledgement Op Code.


TFTP_RRQ

Unit: IdTrivialFTPBase

TrivialFTP Read Request Op Code.

TFTP_RRQ = 1;

Description

TFTP_RRQ represents the TrivialFTP Read Request Op Code.


TFTP_WRQ

Unit: IdTrivialFTPBase

TrivialFTP Write Request Op Code.

TFTP_WRQ = 2;

Description

TFTP_WRQ reporesents the TrivialFTP Write Request Op Code.


tmConnect

Unit: IdTunnelCommon

message type for a Tunnel connection request.

tmConnect = 3;

Description

tmConnect is a constant value that represents the message type for a Tunnel connection request.


tmCustom

Unit: IdTunnelCommon

Message type for user-defined Tunnel message.

tmCustom = 99;

Description

tmCustom is a constant value that represents the message type for user-defined Tunnel message.


tmData

Unit: IdTunnelCommon

Message type for a Tunnel message containing data.

tmData = 1;

Description

tmData is a constant value that represents the message type for a Tunnel message containing data.


tmDisconnect

Unit: IdTunnelCommon

Message type for a Tunnel disconnection request.

tmDisconnect = 2;

Description

tmDisconnect is a constant value that represents the message type for a Tunnel disconnection request.


tmError

Unit: IdTunnelCommon

Message type for Tunnel error conditions.

tmError = 0;

Description

tmError is a constant value that represents the message type for a Tunnel where data transformation has failed, or the tunnel has been disconnected by the server.


TNC_AO

Unit: IdTelnet

Represents the TELNET Abort Output command.

TNC_AO = #245;

Description

TNC_AO is a constant value that represents the TELNET Abort Output command (Decimal 245).


TNC_AYT

Unit: IdTelnet

Represents the TELNET command Are You There.

TNC_AYT = #246;

Description

TNC_AYT is a constant value that represents the TELNET command AYT (Are You There) (Decimal 246).


TNC_BREAK

Unit: IdTelnet

Represents the TELNET Break command.

TNC_BREAK = #243;

Description

TNC_BREAK is a constant value that represents the TELNET BRK (Break) command (Decimal 243).


TNC_DATA_MARK

Unit: IdTelnet

Represents the TELNET Data Mark in a Synch stream.

TNC_DATA_MARK = #242;

Description

TNC_DATA_MARK is a constant value that represents the TELNET Data Mark (DM) command (Decimal 242) in a Synch stream.


TNC_DO

Unit: IdTelnet

Represents the TELNET command to perform or confirm an option.

TNC_DO = #253;

Description

TNC_DO is a constant value that represents the TELNET command to perform or confirm an option on the peer connection (Decimal 253).


TNC_DONT

Unit: IdTelnet

Represents the TELNET command to stop or confirm stopping an option.

TNC_DONT = #254;

Description

TNC_DONT is a constant value that represents the TELNET command to stop or confirm stopping an option (Decimal 254).


TNC_EC

Unit: IdTelnet

Represents the TELNET Erase Character command.

TNC_EC = #247;

Description

TNC_EC is a constant value that represents the TELNET Erase Character command (Decimal 247).


TNC_EL

Unit: IdTelnet

Represents the TELNET Erase Line command.

TNC_EL = #248;

Description

TNC_EL is a constant value that represents the TELNET Erase Line command (Decimal 248).


TNC_EOR

Unit: IdTelnet

Represents the TELNET End-of-Record command.

TNC_EOR = #239;

Description

TNC_EOR is a constant value that represents the TELNET End-of-Record command (Decimal 239).


TNC_GA

Unit: IdTelnet

Represents the TELNET Go Ahead command.

TNC_GA = #249;

Description

TNC_GA is a constant value that represents the TELNET Go Ahead command (Decimal 249).


TNC_IAC

Unit: IdTelnet

Represents the TELNET Interpret As Command directive.

TNC_IAC = #255;

Description

TNC_IAC is a constant value that represents the TELNET Interpret As Command directive (Decimal 255).


TNC_IP

Unit: IdTelnet

Represents the TELNET Interrupt Process command.

TNC_IP = #244;

Description

TNC_IP is a constant value that represents the TELNET Interrupt Process command (Decimal 244).


TNC_NOP

Unit: IdTelnet

Represents the TELNET No Operation command.

TNC_NOP = #241;

Description

TNC_NOP is a constant value that represents the TELNET No Operation command (Decimal 241).


TNC_SB

Unit: IdTelnet

Represents the TELNET Subnegotiation Begin command.

TNC_SB = #250;

Description

TNC_SB is a constant value that represents the TELNET Subnegotiation Begin command (Decimal 250).


TNC_SE

Unit: IdTelnet

Represents the TELNET Subnegotiation End command.

TNC_SE = #240;

Description

TNC_SE is a constant value that represents the TELNET Subnegotiation End command (Decimal 240).


TNC_WILL

Unit: IdTelnet

Represents the TELNET command to begin or confirm an option.

TNC_WILL = #251;

Description

TNC_WILL is a constant value that represents the TELNET command to begin or confirm an option (Decimal 251).


TNC_WONT

Unit: IdTelnet

Represents the TELNET command to refuse or cease performing an option.

TNC_WONT = #252;

Description

TNC_WONT is a constant value that represents the TELNET command to refuse or cease performing an option (Decimal 252).


TNO_3270REGIME

Unit: IdTelnet

Represents the TELNET 3270 Regime option.

TNO_3270REGIME = #29;

Description

TNO_3270REGIME is a constant value that represents the TELNET 3270 Regime option (Decimal 29).


TNO_AMSN

Unit: IdTelnet

Represents the TELNET Approximate Message Size Negotiation option.

TNO_AMSN = #4;

Description

TNO_AMSN is a constant value that represents the TELNET Approximate Message Size Negotiation option (Decimal 4).


TNO_AUTH

Unit: IdTelnet

Represents the TELNET Authenticate option.

TNO_AUTH = #37;

Description

TNO_AUTH is a constant value that represents the TELNET Authenticate option (Decimal 37).


TNO_BINARY

Unit: IdTelnet

Represents the TELNET Binary Transmission option.

TNO_BINARY = #0;

Description

TNO_BINARY is a constant value that represents the TELNET Binary Transmission option (Decimal 0).


TNO_BYTE_MACRO

Unit: IdTelnet

Represents the TELNET Byte Macro option.

TNO_BYTE_MACRO = #19;

Description

TNO_BYTE_MACRO is a constant value that represents the TELNET Byte Macro option (Decimal 19).


TNO_DET

Unit: IdTelnet

Represents the TELNET Data Entry Terminal option.

TNO_DET = #20;

Description

TNO_DET is a constant value that represents the TELNET Data Entry Terminal option (Decimal 20).


TNO_EA

Unit: IdTelnet

Represents the TELNET Extended ASCII option.

TNO_EA = #17;

Description

TNO_EA is a constant value that represents the TELNET Extended ASCII option (Decimal 17).


TNO_ECHO

Unit: IdTelnet

Represents the TELNET Echo option.

TNO_ECHO = #1;

Description

TNO_ECHO is a constant value that represents the TELNET Echo option (Decimal 1).


TNO_ENCRYPT

Unit: IdTelnet

Represents the TELNET Encryption option.

TNO_ENCRYPT = #38;

Description

TNO_ENCRYPT is a constant value that represents the TELNET Encryption option (Decimal 38).


TNO_EOL

Unit: IdTelnet

Represents the TELNET Extended-Options-List option.

TNO_EOL = #255;

Description

TNO_EOL is a constant value that represents the TELNET Extended-Options-List option (Decimal 255).


TNO_EOR

Unit: IdTelnet

Represents the TELNET End-of-Record option.

TNO_EOR = #25;

Description

TNO_EOR is a constant value that represents the TELNET End-of-Record option (Decimal 25).


TNO_LINEMODE

Unit: IdTelnet

Represents the TELNET Line Mode option.

TNO_LINEMODE = #34;

Description

TNO_LINEMODE is a constant value that represents the TELNET Line Mode option (Decimal 34).


TNO_LOGOUT

Unit: IdTelnet

Represents the TELNET Logout option.

TNO_LOGOUT = #18;

Description

TNO_LOGOUT is a constant value that represents the TELNET Logout option (Decimal 18).


TNO_NAWS

Unit: IdTelnet

Represents the TELNET NVT Approximate Window Size option.

TNO_NAWS = #31;

Description

TNO_NAWS is a constant value that represents the TELNET NVT Approximate Window Size option (Decimal 31).


TNO_OCRD

Unit: IdTelnet

Represents the TELNET Output Carriage-Return Disposition option.

TNO_OCRD = #10;

Description

TNO_OCRD is a constant value that represents the TELNET Output Carriage-Return Disposition option (Decimal 10).


TNO_OFD

Unit: IdTelnet

Represents the TELNET option Output FormFeed Disposition.

TNO_OFD = #13;

Description

TNO_OFD is a constant value that represents the TELNET option Output FormFeed Disposition (Decimal 13).


TNO_OHTD

Unit: IdTelnet

Represents the TELNET Output Horizontal Tab Disposition option.

TNO_OHTD = #12;

Description

TNO_OHTD is a constant value that represents the TELNET Output Horizontal Tab Disposition option (Decimal 12).


TNO_OHTS

Unit: IdTelnet

Represents the TELNET Output Horizontal Tab Stops option.

TNO_OHTS = #11;

Description

TNO_OHTS is a constant value that represents the TELNET Output Horizontal Tab Stops option (Decimal 11).


TNO_OLD

Unit: IdTelnet

Represents the TELNET Output Linefeed Disposition option.

TNO_OLD = #16;

Description

TNO_OLD is a constant value that represents the TELNET Output Linefeed Disposition option (Decimal 16).


TNO_OLW

Unit: IdTelnet

Represents the TELNET Output Line Width option.

TNO_OLW = #8;

Description

TNO_OLW is a constant value that represents the TELNET Output Line Width option (Decimal 8).


TNO_OM

Unit: IdTelnet

Represents the TELNET Output Marking option.

TNO_OM = #27;

Description

TNO_OM is a constant value that represents the TELNET Output Marking option (Decimal 27).


TNO_OPS

Unit: IdTelnet

Represents the TELNET Output Page Size option.

TNO_OPS = #9;

Description

TNO_OPS is a constant value that represents the TELNET Output Page Size option (Decimal 9).


TNO_OVT

Unit: IdTelnet

Represents the TELNET Output Vertical Tabstops option.

TNO_OVT = #14;

Description

TNO_OVT is a constant value that represents the TELNET Output Vertical Tabstops option (Decimal 14).


TNO_OVTD

Unit: IdTelnet

Represents the TELNET Output Vertical Tab Disposition option.

TNO_OVTD = #15;

Description

TNO_OVTD is a constant value that represents the TELNET Output Vertical Tab Disposition option (Decimal 15).


TNO_RCTE

Unit: IdTelnet

Represents the TELNET Remote Controlled Transmit and Echo option.

TNO_RCTE = #7;

Description

TNO_RCTE is a constant value that represents the TELNET Remote Controlled Transmit and Echo option (Decimal 7).


TNO_RECONNECT

Unit: IdTelnet

Represents the TELNET Reconnection option.

TNO_RECONNECT = #2;

Description

TNO_RECONNECT is a constant value that represents the TELNET Reconnection option (Decimal 2).


TNO_RFLOW

Unit: IdTelnet

Represents the TELNET Remote Flow Control option.

TNO_RFLOW = #33;

Description

TNO_RFLOW is a constant value that represents the TELNET Remote Flow Control option (Decimal 33).


TNO_SGA

Unit: IdTelnet

Represents the TELNET Suppress Go Ahead option.

TNO_SGA = #3;

Description

TNO_SGA is a constant value that represents the TELNET Suppress Go Ahead option (Decimal 3).


TNO_SL

Unit: IdTelnet

Represents the TELNET Send Location option.

TNO_SL = #23;

Description

TNO_SL is a constant value that represents the TELNET Send Location option (Decimal 23).


TNO_STATUS

Unit: IdTelnet

Represents the TELNET Status option.

TNO_STATUS = #5;

Description

TNO_STATUS is a constant value that represents the TELNET Status option (Decimal 5).


TNO_SUPDUP

Unit: IdTelnet

Represents the TELNET SUPDUP Terminal Service option.

TNO_SUPDUP = #21;

Description

TNO_SUPDUP is a constant value that represents the TELNET SUPDUP Terminal Service option (Decimal 21).


TNO_SUPDUP_OUTPUT

Unit: IdTelnet

Represents the TELNET SUPDUP Terminal Output option.

TNO_SUPDUP_OUTPUT = #22;

Description

TNO_SUPDUP_OUTPUT is a constant value that represents the TELNET SUPDUP Terminal Output option. (Decimal 22).


TNO_TACACS_ID

Unit: IdTelnet

Represents the TELNET TACACS User Identification option.

TNO_TACACS_ID = #26;

Description

TNO_TACACS_ID is a constant value that represents the TELNET TACACS User Identification option (Decimal 26).


TNO_TERM_SPEED

Unit: IdTelnet

Represents the TELNET Terminal Speed option.

TNO_TERM_SPEED = #32;

Description

TNO_TERM_SPEED is a constant value that represents the TELNET Terminal Speed option (Decimal 32).


TNO_TERMTYPE

Unit: IdTelnet

Represents the TELNET Terminal Type option.

TNO_TERMTYPE = #24;

Description

TNO_TERMTYPE is a constant value that represents the TELNET Terminal Type option (Decimal 24).


TNO_TIMING_MARK

Unit: IdTelnet

Represents the TELNET Timing Mark option.

TNO_TIMING_MARK = #6;

Description

TNO_TIMING_MARK is a constant value that represents the TELNET Timing Mark option (Decimal 6).


TNO_TLN

Unit: IdTelnet

Represents the TELNET Terminal Location Number option.

TNO_TLN = #28;

Description

TNO_TLN is a constant value that represents the TELNET Terminal Location Number option (Decimal 28).


TNO_X3PAD

Unit: IdTelnet

Represents the TELNET X.3 PAD option.

TNO_X3PAD = #30;

Description

TNO_X3PAD is a constant value that represents the TELNET X.3 PAD option (Decimal 30).


TNO_XDISPLOC

Unit: IdTelnet

Represents the TELNET X Display Location option.

TNO_XDISPLOC = #35;

Description

TNO_XDISPLOC is a constant value that represents the TELNET X Display Location option (Decimal 35).


TNOS_NAME

Unit: IdTelnet

Represents a TELNET Suboption Name.

TNOS_NAME = #3;

Description

TNOS_NAME is a constant value that represents the TELNET Suboption Name (Decimal 3).


TNOS_REPLY

Unit: IdTelnet

Represents a TELNET Suboption reply.

TNOS_REPLY = #2;

Description

TNOS_REPLY is a constant value that represents a TELNET Suboption reply (Decimal 2).


TNOS_TERM_IS

Unit: IdTelnet

Represents the TELNET Temrinal Identification Suboption.

TNOS_TERM_IS = #0;

Description

TNOS_TERM_IS is a constant value that represents the TELNET Temrinal Identification Suboption (Decimal 1).


TNOS_TERMTYPE_SEND

Unit: IdTelnet

Represents the TELNET Terminal Type Send Suboption.

TNOS_TERMTYPE_SEND = #1;

Description

TNOS_TERMTYPE_SEND is a constant value that represents the TELNET Terminal Type Send Suboption (Decimal 1).


TRY_AGAIN

Unit: IdWinsock

TRY_AGAIN = WSATRY_AGAIN;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_ADT

Unit: IdDateTimeStamp

TZ_ADT = -3;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_AHST

Unit: IdDateTimeStamp

TZ_AHST = -10;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_AST

Unit: IdDateTimeStamp

TZ_AST = -4;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_AT

Unit: IdDateTimeStamp

TZ_AT = -2;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_BST

Unit: IdDateTimeStamp

TZ_BST = TZ_WAT;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_BT

Unit: IdDateTimeStamp

TZ_BT = 3;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_CAT

Unit: IdDateTimeStamp

TZ_CAT = TZ_AHST;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_CCT

Unit: IdDateTimeStamp

TZ_CCT = 8;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_CDT

Unit: IdDateTimeStamp

TZ_CDT = TZ_EST;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_CET

Unit: IdDateTimeStamp

TZ_CET = 1;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_CST

Unit: IdDateTimeStamp

TZ_CST = -6;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_EADT

Unit: IdDateTimeStamp

TZ_EADT = 11;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_EAST

Unit: IdDateTimeStamp

TZ_EAST = TZ_AHST;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_EDT

Unit: IdDateTimeStamp

TZ_EDT = TZ_AST;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_EET

Unit: IdDateTimeStamp

TZ_EET = 2;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_EST

Unit: IdDateTimeStamp

TZ_EST = -5;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_FST

Unit: IdDateTimeStamp

TZ_FST = TZ_EET;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_FWT

Unit: IdDateTimeStamp

TZ_FWT = TZ_CET;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_GMT

Unit: IdDateTimeStamp

TZ_GMT = 0;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_GST

Unit: IdDateTimeStamp

TZ_GST = 10;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_HDT

Unit: IdDateTimeStamp

TZ_HDT = TZ_YST;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_HST

Unit: IdDateTimeStamp

TZ_HST = TZ_AHST;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_IDLE

Unit: IdDateTimeStamp

TZ_IDLE = 12;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_IDLW

Unit: IdDateTimeStamp

TZ_IDLW = -12;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_JST

Unit: IdDateTimeStamp

TZ_JST = 9;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_MDT

Unit: IdDateTimeStamp

TZ_MDT = TZ_CST;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_MEST

Unit: IdDateTimeStamp

TZ_MEST = TZ_EET;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_MESZ

Unit: IdDateTimeStamp

TZ_MESZ = TZ_EET;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_MET

Unit: IdDateTimeStamp

TZ_MET = TZ_CET;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_MEWT

Unit: IdDateTimeStamp

TZ_MEWT = TZ_CET;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_MST

Unit: IdDateTimeStamp

TZ_MST = -7;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_NT

Unit: IdDateTimeStamp

TZ_NT = -11;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_NZDT

Unit: IdDateTimeStamp

TZ_NZDT = 13;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_NZST

Unit: IdDateTimeStamp

TZ_NZST = TZ_IDLE;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_NZT

Unit: IdDateTimeStamp

TZ_NZT = TZ_IDLE;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_PDT

Unit: IdDateTimeStamp

TZ_PDT = TZ_MST;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_PST

Unit: IdDateTimeStamp

TZ_PST = -8;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_SST

Unit: IdDateTimeStamp

TZ_SST = TZ_EET;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_SWT

Unit: IdDateTimeStamp

TZ_SWT = TZ_CET;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_UT

Unit: IdDateTimeStamp

TZ_UT = TZ_GMT;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_UTC

Unit: IdDateTimeStamp

TZ_UTC = TZ_GMT;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_WADT

Unit: IdDateTimeStamp

TZ_WADT = TZ_CCT;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_WAST

Unit: IdDateTimeStamp

TZ_WAST = 7;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_WAT

Unit: IdDateTimeStamp

TZ_WAT = -1;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_WET

Unit: IdDateTimeStamp

TZ_WET = TZ_GMT;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_YDT

Unit: IdDateTimeStamp

TZ_YDT = TZ_PST;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_YST

Unit: IdDateTimeStamp

TZ_YST = -9;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_ZP4

Unit: IdDateTimeStamp

TZ_ZP4 = 4;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_ZP5

Unit: IdDateTimeStamp

TZ_ZP5 = 5;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZ_ZP6

Unit: IdDateTimeStamp

TZ_ZP6 = 6;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_A

Unit: IdDateTimeStamp

TZM_A = TZ_WAT;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_Alpha

Unit: IdDateTimeStamp

TZM_Alpha = TZM_A;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_B

Unit: IdDateTimeStamp

TZM_B = TZ_AT;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_Bravo

Unit: IdDateTimeStamp

TZM_Bravo = TZM_B;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_C

Unit: IdDateTimeStamp

TZM_C = TZ_ADT;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_Charlie

Unit: IdDateTimeStamp

TZM_Charlie = TZM_C;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_D

Unit: IdDateTimeStamp

TZM_D = TZ_AST;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_Delta

Unit: IdDateTimeStamp

TZM_Delta = TZM_D;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_E

Unit: IdDateTimeStamp

TZM_E = TZ_EST;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_Echo

Unit: IdDateTimeStamp

TZM_Echo = TZM_E;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_F

Unit: IdDateTimeStamp

TZM_F = TZ_CST;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_Foxtrot

Unit: IdDateTimeStamp

TZM_Foxtrot = TZM_F;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_G

Unit: IdDateTimeStamp

TZM_G = TZ_MST;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_Golf

Unit: IdDateTimeStamp

TZM_Golf = TZM_G;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_H

Unit: IdDateTimeStamp

TZM_H = TZ_PST;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_Hotel

Unit: IdDateTimeStamp

TZM_Hotel = TZM_H;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_J

Unit: IdDateTimeStamp

TZM_J = TZ_YST;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_Juliet

Unit: IdDateTimeStamp

TZM_Juliet = TZM_J;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_K

Unit: IdDateTimeStamp

TZM_K = TZ_AHST;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_Kilo

Unit: IdDateTimeStamp

TZM_Kilo = TZM_K;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_L

Unit: IdDateTimeStamp

TZM_L = TZ_NT;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_Lima

Unit: IdDateTimeStamp

TZM_Lima = TZM_L;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_M

Unit: IdDateTimeStamp

TZM_M = TZ_IDLW;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_Mike

Unit: IdDateTimeStamp

TZM_Mike = TZM_M;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_N

Unit: IdDateTimeStamp

TZM_N = TZ_CET;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_November

Unit: IdDateTimeStamp

TZM_November = TZM_N;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_O

Unit: IdDateTimeStamp

TZM_O = TZ_EET;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_Oscar

Unit: IdDateTimeStamp

TZM_Oscar = TZM_O;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_P

Unit: IdDateTimeStamp

TZM_P = TZ_BT;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_Papa

Unit: IdDateTimeStamp

TZM_Papa = TZM_P;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_Q

Unit: IdDateTimeStamp

TZM_Q = TZ_ZP4;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_Quebec

Unit: IdDateTimeStamp

TZM_Quebec = TZM_Q;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_R

Unit: IdDateTimeStamp

TZM_R = TZ_ZP5;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_Romeo

Unit: IdDateTimeStamp

TZM_Romeo = TZM_R;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_S

Unit: IdDateTimeStamp

TZM_S = TZ_ZP6;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_Sierra

Unit: IdDateTimeStamp

TZM_Sierra = TZM_S;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_T

Unit: IdDateTimeStamp

TZM_T = TZ_WAST;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_Tango

Unit: IdDateTimeStamp

TZM_Tango = TZM_T;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_U

Unit: IdDateTimeStamp

TZM_U = TZ_CCT;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_Uniform

Unit: IdDateTimeStamp

TZM_Uniform = TZM_U;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_V

Unit: IdDateTimeStamp

TZM_V = TZ_JST;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_Victor

Unit: IdDateTimeStamp

TZM_Victor = TZM_V;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_W

Unit: IdDateTimeStamp

TZM_W = TZ_GST;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_Whiskey

Unit: IdDateTimeStamp

TZM_Whiskey = TZM_W;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_X

Unit: IdDateTimeStamp

TZM_X = TZ_NT;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_XRay

Unit: IdDateTimeStamp

TZM_XRay = TZM_X;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_Y

Unit: IdDateTimeStamp

TZM_Y = TZ_IDLE;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_Yankee

Unit: IdDateTimeStamp

TZM_Yankee = TZM_Y;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_Z

Unit: IdDateTimeStamp

TZM_Z = TZ_GMT;

Description

The text for this constant has been generated automatically. This means that it is not documented.


TZM_Zulu

Unit: IdDateTimeStamp

TZM_Zulu = TZM_Z;

Description

The text for this constant has been generated automatically. This means that it is not documented.


UUBegin

Unit: IdCoder3To4

UUEncoding begin table marker.

UUBegin = 'BEGIN ';

Description

UUBegin is a constant value that represents the UUEncoding begin table marker.


UUBEGINFound

Unit: IdCoder3To4

State value for location of the UUEncode header.

UUBEGINFound = 5;

Description

UUBEGINFound is a constant value that represents the TIdUUDecoder state set when the beginning of the UUEncode header has been located.


UUCodeTable

See Also	Unit: IdCoder3To4

Represents the character encoding table used for UUEncoding operations.

UUCodeTable: string  = '`!"#$%&''()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_';

Description

UUCodeTable is a String constant that represents the character encoding table used for UUEncoding operations.


See Also

TIdUUEncoder

TIdUUDecoder


UUDataStarted

See Also	Unit: IdCoder3To4

Represents the coder state for encoding data operations.

UUDataStarted = 4;

Description

UUDataStarted is a constant value that represents the coder state message used when data encoding operations have started for the coder.


See Also

TIdUUEncoder

TIdUUDecoder


UUEnd

Unit: IdCoder3To4

UUEncoding end table marker.

UUEnd = 'END';

Description

UUEnd ia constant value that represents the UUEncoding end table marker.


UUENDFound

Unit: IdCoder3To4

State value for completion of the UUDecode operation.

UUENDFound = 10;

Description

UUENDFound is a constant value that represents the TIdUUDecoder state value set when the end of the UUEncode data has been encountered.


UUErrIncompletePrivilege

Unit: IdCoder3To4

Error message for invalid UNIX privileges in the UUEncode header.

UUErrIncompletePrivilege = 'Not enough chars for three-digit Privilege';

Description

UUErrIncompletePrivilege is a constant value that represents the error message added to the TIdUUDecoder error message list when the UNIX privilege in the UUEncode header does not contain the required three character UNIX user permissions.


UUErrIncompletePrivilege2

Unit: IdCoder3To4

Error message for invalid UNIX privileges in the UUEncode header.

UUErrIncompletePrivilege2 = 'Too many chars for three-digit Privilege';

Description

UUErrIncompletePrivilege2 is a constant value that represents the message added to the TIdUUDecoder error list when the UNIX privilege in the UUEncode header contains more than the three characters allowing in a UNIX user permissions.


UUErrorDataEndWithoutEND

Unit: IdCoder3To4

Error message for indicating completion before END in UUEncoded data.

UUErrorDataEndWithoutEND = ' Data ended without an END statment';

Description

UUErrorDataEndWithoutEND is a constant value that represents the message added to the TIdUUDecoder message list when the UUDecode operation has been completed prior to the END directive in the encoded packet.


UUErrorNoBEGINAfterTABLE

Unit: IdCoder3To4

Error message for missing BEGIN for UUEncoded data.

UUErrorNoBEGINAfterTABLE = 'No BEGIN statement followed a TABLE';

Description

UUErrorNoBEGINAfterTABLE is a constant value that represents the message added to the TIdUUDecoder message list when the UUDecode operation has processed the UUEncode table but did not encounter the BEGIN directive for UUEncoded data.


UUErrorPivilageNotNumeric

Unit: IdCoder3To4

UUErrorPivilageNotNumeric = 'Privilege chars not numeric';

Description

The text for this constant has been generated automatically. This means that it is not documented.


UUErrTableNotAtEnd

Unit: IdCoder3To4

Error message for an error reading the UUEncode table.

UUErrTableNotAtEnd = UUTable = ' not at end of line';

Description

UUErrTableNotAtEnd is a constant value that represents the error messages added to the TIdUUDecoder message list when an end of the UUEncode Alphabet table is expected, but not encountered.


UUInitialLength

Unit: IdCoder3To4

Size of the decoder internal buffer.

UUInitialLength = 8;

Description

UUInitialLength is a constant value that represents the initial length of the TIdUUDecoder internal buffer for decoding operations.


UULastCharFound

Unit: IdCoder3To4

State value for completion of encoded data.

UULastCharFound = 9;

Description

UULastCharFound is a constant value that represents when state value set when TIdUUDecoder has read the last byte of data in the UUEncoded packet.


UUPrivilegeFound

Unit: IdCoder3To4

UUDecoder state after locating UNIX privilege.

UUPrivilegeFound = 6;

Description

UUPrivilegeFound is a constant value that represents the TIdUUDecoder state value set when the UNIX privilege is located in the UUEncode header.


UUStarted

Unit: IdCoder3To4

UUStarted = 0;

Description

The text for this constant has been generated automatically. This means that it is not documented.


UUTable

Unit: IdCoder3To4

UUEncoding table marker.

UUTable = 'TABLE';

Description

UUTable is a constant value that represents the UUEncoding table marker.


UUTableBeenRead

Unit: IdCoder3To4

State value for location of the UUEncode alphabet in the header.

UUTableBeenRead = 3;

Description

UUTableBeenRead is a constant value that represents the TIdUUDecoder state set when the UUEncode alphabet table has been read from the UUEncode header.


UUTableBegun

Unit: IdCoder3To4

State value for beginning of a table in the UUEncode header.

UUTableBegun = 1;

Description

UUTableBegun is a constant value that represents the TIdUUDecoder state value set when the beginning of a table in the UUEncode header has been encountered.


UUTableOneLine

Unit: IdCoder3To4

State value for reading a UUEncode table line.

UUTableOneLine = 2;

Description

UUTableOneLine is a constant value that represents the TIdUUDecoder state value set when a single line from the UUEncode alphabet table has been read.


vkana_tbl

Unit: IdHeaderCoder

Half-width Voiced Katakana characters.

vkana_tbl: array[#$A1..#$DF] of Word  = ( $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000, $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$2574,$0000, $0000,$252C,$252E,$2530,$2532,$2534,$2536,$2538,$253A,$253C, $253E,$2540,$2542,$2545,$2547,$2549,$0000,$0000,$0000,$0000, $0000,$2550,$2553,$2556,$2559,$255C,$0000,$0000,$0000,$0000, $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000, $0000,$0000,$0000);

Description

vkana_tbl is a Word array that represents the voiced half-width Katakana characters in the range #$A1 through #$DF. vkana_tbl is used in ISO-2022-JP character set encoding.


WSABASEERR

Unit: IdWinsock

WSABASEERR = 10000;

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAEACCES

Unit: IdWinsock

WSAEACCES = (WSABASEERR+13);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAEADDRINUSE

Unit: IdWinsock

WSAEADDRINUSE = (WSABASEERR+48);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAEADDRNOTAVAIL

Unit: IdWinsock

WSAEADDRNOTAVAIL = (WSABASEERR+49);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAEAFNOSUPPORT

Unit: IdWinsock

WSAEAFNOSUPPORT = (WSABASEERR+47);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAEALREADY

Unit: IdWinsock

WSAEALREADY = (WSABASEERR+37);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAEBADF

Unit: IdWinsock

WSAEBADF = (WSABASEERR+9);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAECONNABORTED

Unit: IdWinsock

WSAECONNABORTED = (WSABASEERR+53);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAECONNREFUSED

Unit: IdWinsock

WSAECONNREFUSED = (WSABASEERR+61);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAECONNRESET

Unit: IdWinsock

WSAECONNRESET = (WSABASEERR+54);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAEDESTADDRREQ

Unit: IdWinsock

WSAEDESTADDRREQ = (WSABASEERR+39);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAEDISCON

Unit: IdWinsock

WSAEDISCON = (WSABASEERR+101);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAEDQUOT

Unit: IdWinsock

WSAEDQUOT = (WSABASEERR+69);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAEFAULT

Unit: IdWinsock

WSAEFAULT = (WSABASEERR+14);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAEHOSTDOWN

Unit: IdWinsock

WSAEHOSTDOWN = (WSABASEERR+64);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAEHOSTUNREACH

Unit: IdWinsock

WSAEHOSTUNREACH = (WSABASEERR+65);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAEINPROGRESS

Unit: IdWinsock

WSAEINPROGRESS = (WSABASEERR+36);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAEINTR

Unit: IdWinsock

WSAEINTR = (WSABASEERR+4);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAEINVAL

Unit: IdWinsock

WSAEINVAL = (WSABASEERR+22);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAEISCONN

Unit: IdWinsock

WSAEISCONN = (WSABASEERR+56);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAELOOP

Unit: IdWinsock

WSAELOOP = (WSABASEERR+62);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAEMFILE

Unit: IdWinsock

WSAEMFILE = (WSABASEERR+24);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAEMSGSIZE

Unit: IdWinsock

WSAEMSGSIZE = (WSABASEERR+40);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAENAMETOOLONG

Unit: IdWinsock

WSAENAMETOOLONG = (WSABASEERR+63);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAENETDOWN

Unit: IdWinsock

WSAENETDOWN = (WSABASEERR+50);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAENETRESET

Unit: IdWinsock

WSAENETRESET = (WSABASEERR+52);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAENETUNREACH

Unit: IdWinsock

WSAENETUNREACH = (WSABASEERR+51);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAENOBUFS

Unit: IdWinsock

WSAENOBUFS = (WSABASEERR+55);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAENOPROTOOPT

Unit: IdWinsock

WSAENOPROTOOPT = (WSABASEERR+42);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAENOTCONN

Unit: IdWinsock

WSAENOTCONN = (WSABASEERR+57);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAENOTEMPTY

Unit: IdWinsock

WSAENOTEMPTY = (WSABASEERR+66);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAENOTSOCK

Unit: IdWinsock

WSAENOTSOCK = (WSABASEERR+38);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAEOPNOTSUPP

Unit: IdWinsock

WSAEOPNOTSUPP = (WSABASEERR+45);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAEPFNOSUPPORT

Unit: IdWinsock

WSAEPFNOSUPPORT = (WSABASEERR+46);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAEPROCLIM

Unit: IdWinsock

WSAEPROCLIM = (WSABASEERR+67);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAEPROTONOSUPPORT

Unit: IdWinsock

WSAEPROTONOSUPPORT = (WSABASEERR+43);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAEPROTOTYPE

Unit: IdWinsock

WSAEPROTOTYPE = (WSABASEERR+41);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAEREMOTE

Unit: IdWinsock

WSAEREMOTE = (WSABASEERR+71);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAESHUTDOWN

Unit: IdWinsock

WSAESHUTDOWN = (WSABASEERR+58);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAESOCKTNOSUPPORT

Unit: IdWinsock

WSAESOCKTNOSUPPORT = (WSABASEERR+44);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAESTALE

Unit: IdWinsock

WSAESTALE = (WSABASEERR+70);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAETIMEDOUT

Unit: IdWinsock

WSAETIMEDOUT = (WSABASEERR+60);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAETOOMANYREFS

Unit: IdWinsock

WSAETOOMANYREFS = (WSABASEERR+59);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAEUSERS

Unit: IdWinsock

WSAEUSERS = (WSABASEERR+68);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAEWOULDBLOCK

Unit: IdWinsock

WSAEWOULDBLOCK = (WSABASEERR+35);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAHOST_NOT_FOUND

Unit: IdWinsock

WSAHOST_NOT_FOUND = (WSABASEERR+1001);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSANO_ADDRESS

Unit: IdWinsock

WSANO_ADDRESS = WSANO_DATA;

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSANO_DATA

Unit: IdWinsock

WSANO_DATA = (WSABASEERR+1004);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSANO_RECOVERY

Unit: IdWinsock

WSANO_RECOVERY = (WSABASEERR+1003);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSANOTINITIALISED

Unit: IdWinsock

WSANOTINITIALISED = (WSABASEERR+93);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSASYSNOTREADY

Unit: IdWinsock

WSASYSNOTREADY = (WSABASEERR+91);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSATRY_AGAIN

Unit: IdWinsock

WSATRY_AGAIN = (WSABASEERR+1002);

Description

The text for this constant has been generated automatically. This means that it is not documented.


WSAVERNOTSUPPORTED

Unit: IdWinsock

WSAVERNOTSUPPORTED = (WSABASEERR+92);

Description

The text for this constant has been generated automatically. This means that it is not documented.


wsErr

Unit: IdGlobal

Represents the POP3 error code.

wsErr = 0;

Description

wsErr is a constant value used in POP3 development to test for failure using the method TIdTCPConnection.SendCmd. wsErr is used to compensate for the lack of numeric response codes in the POP3 protocol.


wsOk

Unit: IdGlobal

Represents the POP3 success code.

wsOk = 1;

Description

wsOk is constant value used in POP3 development to test for success when using the method TIdTCPConnection.SendCmd. wsOk is used to compensate for the lack of numeric response codes in the POP3 protocol.


XXCodeTable

See Also	Unit: IdCoder3To4

Represents the character encoding table used for XXEncoding operations.

XXCodeTable: string  = '+-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';

Description

XXCodeTable is a String constant that represents the character encoding table used for XXEncoding operations.


See Also

TIdXXEncoder

TIdXXDecoder


IdAntiFreeze.pas

Classes

Unit: IdAntiFreeze.pas *

This file contains Classes, Types, Procedures, and Functions needed to define and implement the Indy AntiFreeze GUI-integration class.


Unit Overview

IdAntiFreeze

Classes in Unit IdAntiFreeze

TIdAntiFreeze

Prevents an application UI from freezing.


IdAntiFreezeBase.pas

Classes	Variables	Constants

Unit: IdAntiFreezeBase.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement the ancestor for the Indy GUI-integration class.


Unit Overview

IdAntiFreezeBase

Classes in Unit IdAntiFreezeBase

EIdMoreThanOneTIdAntiFreeze

This exception is raised whenever there is an attempt to create more than one TIDAntiFreeze component in your application

TIdAntiFreezeBase


Unit Overview

IdAntiFreezeBase

Variables in Unit IdAntiFreezeBase

GAntiFreeze

Application global variable used to the AntiFreeze instance.


Unit Overview

IdAntiFreezeBase

Constants in Unit IdAntiFreezeBase

ID_Default_TIdAntiFreezeBase_Active

This is the default value for the TIdAntiFreezeBase.Active property.

ID_Default_TIdAntiFreezeBase_ApplicationHasPriority

ID_Default_TIdAntiFreezeBase_IdleTimeOut

This is the default value for the TIdAntiFreezeBase.IdleTimeOut property.

ID_Default_TIdAntiFreezeBase_OnlyWhenIdle

This is the default value for the TIdAntiFreezeBase.OnlyWhenIdle property.


IdBaseComponent.pas

Classes

Unit: IdBaseComponent.pas

This file contains Classes, Types, Procedures, and Functions needed to implement the ancestor class for all Indy components.


Unit Overview

IdBaseComponent

Classes in Unit IdBaseComponent

TIdBaseComponent

Ancestor class for all Indy components.


IdChargenServer.pas

Classes

Unit: IdChargenServer.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a Chargen server as defined in the Internet Standards document: RFC 864.


Unit Overview

IdChargenServer

Classes in Unit IdChargenServer

TIdChargenServer

Defines a Character Generator server.


IdCoder.pas

Classes	Functions	Types	Variables	Constants

Unit: IdCoder.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement the ancestor for Indy coder classes.


Unit Overview

IdCoder

Classes in Unit IdCoder

TIdCoder

TIdCoderCollection

Collection of registered coder classes.

TIdCoderItem

Represent a registered coder.

TQWord

Provides access to the component values for an Int64 integer.


Unit Overview

IdCoder

Functions in Unit IdCoder

IncQWord

Increments a Word value in a TQWord instance.

RegisterCoderClass

Identifies and Adds a coder to the coder collection.


Unit Overview

IdCoder

Types in Unit IdCoder

CIdCoder

Code class reference.

PIdCoder

Pointer to a TIdCoder.

PIdCoderItem

Pointer to the TIdCoderItem collection.

TIntStringEvent

Event type for coders that allow Integer and String event parameters.

TStringEvent

Coder event type for string notifications.


Unit Overview

IdCoder

Variables in Unit IdCoder

CoderCollective

Represents the Indy coder collection.


Unit Overview

IdCoder

Constants in Unit IdCoder

CN_CODED_DATA

Coder notification message for generation of encoded data.

CN_CODING_ENDED

Coder notification message for completion of coding.

CN_CODING_STARTED

Coder notification message for execution of coding.

CN_DATA_END_FOUND

Coder notification message for completion of input data.

CN_DATA_START_FOUND

Coder notification message for initial input data.

CN_IMF_BODY_PART_END

Coder notification for when an IMF body has been detected.

CN_IMF_BODY_START

Coder notification for when the start of an IMF body has been detected.

CN_IMF_CODER_START

Initial Coder notification for Internet Message Format coders.

CN_IMF_DATA_END

Coder notification for end of message data.

CN_IMF_END_MULTIPART

Coder notification for a boundary in a multipart message.

CN_IMF_HEAD_VALUE

Coder notification for header values in message data.

CN_IMF_NEW_FILENAME

Coder notification for a file name from the message.

CN_IMF_NEW_MULTIPART

Coder notification for boundary markers in a message.

CN_NEW_FILENAME

Coder notification for a file name from input data.

CN_UU_BEGIN_FOUND

Coder notification for a UUEncode header in data.

CN_UU_CODER_START

Inital notification message for UUEncode coders.

CN_UU_END_FOUND

Coder notification message for the end of the UUEncode header.

CN_UU_LAST_CHAR_FOUND

Coder notification message for the start of possible UUEncode padding.

CN_UU_NEW_FILENAME

Coder notification for a file name from data.

CN_UU_PRIVILEGE_ERROR

Coder notification for ioncorrect privilege for the coder.

CN_UU_PRIVILEGE_FOUND

Coder notification for UNIX privileges from the UUEncode header.

CN_UU_TABLE_BEGIN_ABORT

Coder notificaiton for UUEncode header errors.

CN_UU_TABLE_CHANGED

Coder notification for a change to the UUEncode alphabet.

CN_UU_TABLE_FOUND

Notification message for a missing UUEncode header.

CP_FALLBACK

Fallback Coder Priority.

CP_IMF

Coder priority for Internet Mail coders.

CP_STANDARD

Standard Coder Priority.

CT_Creation

Indicates the Coder type for RegisterCoderClass.

Value:

0.

CT_Realisation

Indicates the Coder type for RegisterCoderClass.

Value:

$80 (80 Hex, 128 Decimal).


IdCoder3To4.pas

Classes	Functions	Types	Constants

Unit: IdCoder3To4.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement Indy coder classes that support common character table-based encoding schemes.


Unit Overview

IdCoder3To4

Classes in Unit IdCoder3To4

EIdTableNotFound

Error for an invalid character conversion using the coder table.

TId3To4Coder

Ancestor for coders that perform conversion to/from binary and ASCII formats.

TIdASCIICoder

Ancestor for coders that use a table for encoding and decoding.

TIdBase64Decoder

Implements a decoder for the Base64 MIME encoding scheme.

TIdBase64Encoder

Implements an encoder for the Base64 MIME encoding scheme.

TIdCardinalBytes

Represents values for TId3To4Coder 4-byte to 3-byte character conversions.

TIdUUDecoder

Implements a decoder for the UUEncode encoding scheme.

TIdUUEncoder

Implements an encoder for the UUCP encoding scheme.

TIdXXDecoder

Implements a decoder for the XXEncode encoding scheme.

TIdXXEncoder

Implements an encoder for the XXEncode encoding scheme.


Unit Overview

IdCoder3To4

Functions in Unit IdCoder3To4

Base64Encode

Performs a Base64 encoding operation.


Unit Overview

IdCoder3To4

Types in Unit IdCoder3To4

PIdBase64Decoder

PIdBase64Encoder

PIdUUDecoder

PIdUUEncoder

PIdXXDecoder

PIdXXEncoder


Unit Overview

IdCoder3To4

Constants in Unit IdCoder3To4

Base64CodeTable

Represents the character encoding table for Base64 encoding.

CTL3To4

Code table length for 3-to-4 coders.

HalfCodeTable

Length of the coding table as represented in a UUEncode or XXEncode header.

maxPriv

Maximum user permissions for UU- or XX- Encode/Decode.

minPriv

Minimum user permissions for UU- or XX- Encode/Decode.

UUBegin

UUEncoding begin table marker.

UUBEGINFound

State value for location of the UUEncode header.

UUCodeTable

Represents the character encoding table used for UUEncoding operations.

UUDataStarted

Represents the coder state for encoding data operations.

UUEnd

UUEncoding end table marker.

UUENDFound

State value for completion of the UUDecode operation.

UUErrIncompletePrivilege

Error message for invalid UNIX privileges in the UUEncode header.

UUErrIncompletePrivilege2

Error message for invalid UNIX privileges in the UUEncode header.

UUErrorDataEndWithoutEND

Error message for indicating completion before END in UUEncoded data.

UUErrorNoBEGINAfterTABLE

Error message for missing BEGIN for UUEncoded data.

UUErrorPivilageNotNumeric

UUErrTableNotAtEnd

Error message for an error reading the UUEncode table.

UUInitialLength

Size of the decoder internal buffer.

UULastCharFound

State value for completion of encoded data.

UUPrivilegeFound

UUDecoder state after locating UNIX privilege.

UUStarted

UUTable

UUEncoding table marker.

UUTableBeenRead

State value for location of the UUEncode alphabet in the header.

UUTableBegun

State value for beginning of a table in the UUEncode header.

UUTableOneLine

State value for reading a UUEncode table line.

XXCodeTable

Represents the character encoding table used for XXEncoding operations.


IdCoderIMF.pas

Classes	Constants

Unit: IdCoderIMF.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement Internet Message Format coders.


Unit Overview

IdCoderIMF

Classes in Unit IdCoderIMF

TIdIMFDecoder

Implements a decoder for Internet Message Format-compliant messages.

TIdIMFUUDecoder

TIdIMFUUDecoder is not currently implemented...


Unit Overview

IdCoderIMF

Constants in Unit IdCoderIMF

ConstBoundary

Represents the boundary marker keyword in an IMF message.

ConstContentDisposition

Represents the content-disposition header name.

ConstContentMD5

Represents the header MD5-encoded messages.

ConstContentTransferEncoding

Represents the content-transfer-encoding literal in an IMF message.

ConstContentType

Represents the header name for content type header in an IMF message.

ConstFileName

Header name for inline content file names.

ConstIMFBoundaryEnd

State value for the end of a message part in a multipart message.

ConstIMFMessageStart

State value indicating that processing of an IMF message has started.

ConstIMFStart

State value indicating readiness to process an IMF message.

ConstName

Represents the header name for inline files in an IMF message.


IdCoderMessageDigest.pas

Classes	Types

Unit: IdCoderMessageDigest.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement Message Digest-based coders.


Unit Overview

IdCoderMessageDigest

Classes in Unit IdCoderMessageDigest

TIdCoderMD2

TIdCoderMD4

Implements the MD4 encryption algorithm.

TIdCoderMD5

Implements the MD5 encryption algorithm.


Unit Overview

IdCoderMessageDigest

Types in Unit IdCoderMessageDigest

T128BitRecord

T160BitRecord

T16x4LongWordRecord

T384BitRecord

T4x4LongWordRecord

T4x4x4LongWordRecord

T64BitRecord


IdCoderText.pas

Classes

Unit: IdCoderText.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement text-based coders.


Unit Overview

IdCoderText

Classes in Unit IdCoderText

TIdQuotedPrintableDecoder

Implements a MIME decoder for the Quoted-Printable encoding scheme.

TIdQuotedPrintableEncoder

Implements a MIME encoder for the Quoted-Printable encoding scheme.


IdCompilerDefines.inc

The text for this file has been generated automatically. This means that it is not documented.


IdComponent.pas

Classes	Types	Constants

Unit: IdComponent.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement the Indy component class.


Unit Overview

IdComponent

Classes in Unit IdComponent

TIdComponent

Ancestor of all Indy client and server components.

TWorkInfo

Represents work information for Indy read and write operations.


Unit Overview

IdComponent

Types in Unit IdComponent

TIdStatus

Represents the connection status for a component.

TIdStatusEvent

Represents a connection status event for the component.

TWorkBeginEvent

Indicates a pending read or write operation.

TWorkEndEvent

Indicates that a read or write operation is complete.

TWorkEvent

Indicates that the read or write operation is being performed.

TWorkMode

Indicates the work mode or operation.


Unit Overview

IdComponent

Constants in Unit IdComponent

IdStati

Format strings for constructing connection status text messages.


IdDateTimeStamp.pas

Classes	Types	Constants

Unit: IdDateTimeStamp.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement storage for date and time values using the various formats required by some Internet Protocols.


Unit Overview

IdDateTimeStamp

Classes in Unit IdDateTimeStamp

TIdDateTimeStamp

Provides Date and Time handling for Internet Protocols. Description:

TIdDateTimeStamp is a TIdBaseComponent descendant that processes date and time values using the various formats required by some Internet Protocols.

TIdDateTimeStamp methods performs operations based on units of Milliseconds, Seconds, Days, and Years with smaller time units affecting larger time units where necessary. All other common time units are converted to these base units before processing.


Unit Overview

IdDateTimeStamp

Types in Unit IdDateTimeStamp

TDays

TMonths


Unit Overview

IdDateTimeStamp

Constants in Unit IdDateTimeStamp

IdBeatsInDay

IdDayNames

IdDayShortNames

IdDaysInCentury

IdDaysInFourYears

IdDaysInLeapCentury

IdDaysInLeapYear

IdDaysInLeapYearCycle

IdDaysInMonth

IdDaysInShortLeapYearCycle

IdDaysInShortNonLeapYearCycle

IdDaysInWeek

IdDaysInYear

IdHoursInDay

IdHoursInHalfDay

IdMillisecondsInDay

IdMillisecondsInHour

IdMillisecondsInMinute

IdMilliSecondsInSecond

IdMillisecondsInWeek

IdMinutesInHour

IdMonthNames

IdMonthShortNames

IdMonthsInYear

IdSecondsInDay

IdSecondsInHalfDay

IdSecondsInHour

IdSecondsInLeapYear

IdSecondsInMinute

IdSecondsInWeek

IdSecondsInYear

IdYearsInCentury

IdYearsInLeapYearCycle

IdYearsInShortLeapYearCycle

TZ_ADT

TZ_AHST

TZ_AST

TZ_AT

TZ_BST

TZ_BT

TZ_CAT

TZ_CCT

TZ_CDT

TZ_CET

TZ_CST

TZ_EADT

TZ_EAST

TZ_EDT

TZ_EET

TZ_EST

TZ_FST

TZ_FWT

TZ_GMT

TZ_GST

TZ_HDT

TZ_HST

TZ_IDLE

TZ_IDLW

TZ_JST

TZ_MDT

TZ_MEST

TZ_MESZ

TZ_MET

TZ_MEWT

TZ_MST

TZ_NT

TZ_NZDT

TZ_NZST

TZ_NZT

TZ_PDT

TZ_PST

TZ_SST

TZ_SWT

TZ_UT

TZ_UTC

TZ_WADT

TZ_WAST

TZ_WAT

TZ_WET

TZ_YDT

TZ_YST

TZ_ZP4

TZ_ZP5

TZ_ZP6

TZM_A

TZM_Alpha

TZM_B

TZM_Bravo

TZM_C

TZM_Charlie

TZM_D

TZM_Delta

TZM_E

TZM_Echo

TZM_F

TZM_Foxtrot

TZM_G

TZM_Golf

TZM_H

TZM_Hotel

TZM_J

TZM_Juliet

TZM_K

TZM_Kilo

TZM_L

TZM_Lima

TZM_M

TZM_Mike

TZM_N

TZM_November

TZM_O

TZM_Oscar

TZM_P

TZM_Papa

TZM_Q

TZM_Quebec

TZM_R

TZM_Romeo

TZM_S

TZM_Sierra

TZM_T

TZM_Tango

TZM_U

TZM_Uniform

TZM_V

TZM_Victor

TZM_W

TZM_Whiskey

TZM_X

TZM_XRay

TZM_Y

TZM_Yankee

TZM_Z

TZM_Zulu


IdDayTime.pas

Classes

Unit: IdDayTime.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a DayTime protocol (RFC 867) client.


Unit Overview

IdDayTime

Classes in Unit IdDayTime

TIdDayTime

Implements a DayTime protocol client.


IdDayTimeServer.pas

Classes

Unit: IdDayTimeServer.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a DayTime protocol server (RFC 867).


Unit Overview

IdDayTimeServer

Classes in Unit IdDayTimeServer

TIdDayTimeServer

Implements a DayTime protocol server.


IdDICTServer.pas

Classes	Types	Constants

Unit: IdDICTServer.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a Dictionary Protocol server (RFC 2229).


Unit Overview

IdDICTServer

Classes in Unit IdDICTServer

TIdDICTServer

Implements a Dictionary Protocol server for dictionary databases.


Unit Overview

IdDICTServer

Types in Unit IdDICTServer

TIdDICTAuthEvent

Specifies the event type for the DICT AUTH and SASLAUTH commands.

TIdDICTDefineEvent

Specifies the event type for the DICT DEFINE command.

TIdDICTGetEvent

Specifies the event type for the DICT HELP, QUIT, and STATUS commands.

TIdDICTMatchEvent

Specifies the event type for the DICT MATCH command.

TIdDICTOtherEvent

Specifies the event type for the DICT OPTION or other unrecognized commands.

TIdDICTShowEvent

Specifies the event type for the DICT SHOW command.


Unit Overview

IdDICTServer

Constants in Unit IdDICTServer

KnownCommands


IdDiscardServer.pas

Classes

Unit: IdDiscardServer.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a Discard Protocol server (RFC 863).


Unit Overview

IdDiscardServer

Classes in Unit IdDiscardServer

TIdDISCARDServer

Implements a Discard Protocol server.


IdDNSResolver.pas

Classes	Functions	Types	Constants

Unit: IdDNSResolver.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a UDP-based a resolver for DNS protocol queries (RFC 1034).


Unit Overview

IdDNSResolver

Classes in Unit IdDNSResolver

CardinalRec

Represents a Cardinal value.

HiLoBytes

Represents data with High and Low byte values.

HiLoWords

Represents data with High and Low Word values.

TARecord

Represents an Address Resource Record.

THInfo

Represents a Host resource record.

THInfoRecord

Represents a Host resource record.

TIdDNSHeader

Represents the DNS Header.

TIdDNSQuestionList

Contains header, question, and response objects for a DNS Message.

TIdDNSResolver

Implements a UDP-based resolver for DNS protocol queries.

TIdDNSResourceItem

Contains data returned in a DNS server response.

TIdDNSResourceList

Container collection for DNS responses from a DNS query.

TMInfo

Represents a mail information resource record.

TMInfoRecord

Represents a mail information resource record.

TMRecord

Represents a mail resource record.

TMX

Represents a mail exchange resource record.

TMXRecord

Represents a mail exchange resource record.

TNameRecord

Represents a domain name resource record.

TPTRRecord

Represents a domain name pointer resource record.

TQuestionItem

represents DNS questions in a DNS query.

TRdata

Represents the raw data for a DNS response packet.

TSOA

Represents a Start of Authority resource record.

TSOARecord

Represents a Start of Authority resource record from a DNS Query.

TWKS

Represents a Well Known Service Resource Record from a DNS Response packet.

TWKSRecord

Represents a Well Known Service Resource Record.

WordRec

Represents data as HiLoBytes or Word values.


Unit Overview

IdDNSResolver

Functions in Unit IdDNSResolver

GetQClassStr

Retrieves the name for a resource class.

GetQTypeStr

Retrieves the name for a resource type.


Unit Overview

IdDNSResolver

Types in Unit IdDNSResolver

TRequestedRecord

Resource type desired for the requested resource record.

TRequestedRecords

Set of requested records for the DNS Query.

TWKSBits

Represents flags for Well Known Service entries.


Unit Overview

IdDNSResolver

Constants in Unit IdDNSResolver

cA

Host Address resource type.

cAABit

Valid in Responses Authoritative Answer bit mask.

cAAMask

Valid in Responses Authoritative Answer result mask.

cAXFR

Question type for entire zone transfer.

cCH

Resource class.

cCS

Resource class constant.

cHINFO

Resource type constant.

cHS

Resource class constant.

cIN

Resource class constant.

cMAILA

Resource type constant.

cMAILB

Resource type constant.

cMB

Resource type constant.

cMD

Resource type constant.

cMF

Resource type constant.

cMG

Resource type constant.

cMINFO

Resource type constant.

cMR

Resource type constant.

cMX

Resource type constant.

cName

Resource type constant.

cNS

Resource type constant.

cNULL

Resource type constant.

cOpCodeBits

Bit mask constant.

cOpCodeMask

Bit mask constant.

cOPCodeStrs

OpCode names.

cPTR

Resource type constant.

cQClassStr

Resource class names.

cQRBit

Bit mask constant.

cQRMask

Bit mask constant.

cRABit

Bit mask flag.

cRAMask

Bit mask constant.

cRCodeBits

Bit mask constant.

cRCodeFormatErr

Response code constant.

cRCodeMask

Bit mask constant.

cRCodeNameErr

Response code constant.

cRCodeNoError

Response code constant.

cRCodeNotImplemented

Response code constant.

cRCodeRefused

Response code constant.

cRCodeServerErr

Response code constant.

cRCodeStrs

Response Code names.

cRDBit

Bit mask constant.

cRDMask

Bit mask constant.

cResIQuery

DNS query OpCode constant.

cResQuery

DNS Query OpCode constant.

cResStatus

DNS Query OpCode constant.

cSOA

Resource type constant.

cStar

Resource type constant.

cTCBit

Bit mask constant.

cTCMask

Bit mask value.

cTXT

Resource type constant.

cWKS

Resource type constant.

IdDNSResolver_ReceiveTimeout

This is the default value for the TIdDNSResolver.ReceiveTimeout property.


IdEcho.pas

Classes

Unit: IdEcho.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement an Echo client (RFC 862).


Unit Overview

IdEcho

Classes in Unit IdEcho

TIdEcho

Implements an Echo client.


IdEchoServer.pas

Classes

Unit: IdEchoServer.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement an Echo Protocol server (RFC 862).


Unit Overview

IdEchoServer

Classes in Unit IdEchoServer

TIdECHOServer

Implements an Echo Protocol server.


IdEMailAddress.pas

Classes

Unit: IdEMailAddress.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement classes to support RFC 822 email address items and list.


Unit Overview

IdEMailAddress

Classes in Unit IdEMailAddress

TIdEMailAddressItem

Represents the name an email address in RFC 822 form.

TIdEMailAddressList

Represents a collection of email addresses.


IdException.pas

Classes	Types

Unit: IdException.pas

This file contains Classes, Types, Procedures, and Functions needed to define Indy exception classes.


Unit Overview

IdException

Classes in Unit IdException

EIdAlreadyConnected

Exception raised when connecting using an already open connection.

EIdClosedSocket

Exception for writing to a closed TCP socket.

EIdConnClosedGracefully

Exception raised when a connection has close gracefully.

EIdDnsResolverError

Exception raised to indicate TIdDNSResolver errors.

EIdException

Base Exception class for Indy.

EIdIcmpException

Exception for ICMP components.

EIdInvalidServiceName

Exception raised for an invalid port service.

EIdInvalidSocket

Exception raised for a connection closed unexpectedly.

EIdProtocolReplyError

Exception type for protocol errors.

EIdResponseError

Exception for errors in an expected response.

EIdSetSizeExceeded

Represents an FD SET error.

EIdSilentException

Exceptions that behave like VCL EAbort.

EIdSocketError

Exception for Socket errors.

EIdTFTPAccessViolation

FTP access violation exception.

EIdTFTPAllocationExceeded

FTP Allocation exceeded exception.

EIdTFTPException

Trivial FTP Exception type.

EIdTFTPFileAlreadyExists

FTP exception raised when creating a file that already exists.

EIdTFTPFileNotFound

EIdTFTPIllegalOperation

Exception for illegal FTP operations.

EIdTFTPNoSuchUser

Represents an FTP User Authentication error.

EIdTFTPOptionNegotiationFailed

Represent s the error for an invalid FTP Option Negotiation response.

EIdTFTPUnknownTransferID

FTP Exception raised for an Unknown Transfer ID.


Unit Overview

IdException

Types in Unit IdException

TClassIdException

Represents an exception class for Indy components.


IdFinger.pas

Classes	Constants

Unit: IdFinger.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a Finger protocol client (RFC 1288).


Unit Overview

IdFinger

Classes in Unit IdFinger

TIdFinger

Implements a Finger protocol client.


Unit Overview

IdFinger

Constants in Unit IdFinger

Id_TIdFinger_VerboseOutput

This is the default value for the TIdFinger.VerboseOutput property.


IdFingerServer.pas

Classes	Types

Unit: IdFingerServer.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a Finger protocol server (RFC 1288).


Unit Overview

IdFingerServer

Classes in Unit IdFingerServer

TIdFingerServer

Specifies a FInger protocol server.


Unit Overview

IdFingerServer

Types in Unit IdFingerServer

TIdFingerGetEvent

Represents the Finger event for a user information request.


IdFTP.pas

Classes	Types	Constants

Unit: IdFTP.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a File Transfer Protocol (FTP) client (RFC 959).


Unit Overview

IdFTP

Classes in Unit IdFTP

EIdFTPFileAlreadyExists

Exception raised a file cannot be overwritten in an FTP Get request.

TIdFTP

Implements a File Transfer Protocol (FTP) client.


Unit Overview

IdFTP

Types in Unit IdFTP

TIdFTPTransferType

File transfer type.


Unit Overview

IdFTP

Constants in Unit IdFTP

Id_TIdFTP_Passive

This is the default value for the TIdFTP.Passive property.

Id_TIdFTP_TransferType

This is the default value for the TIdFTP.TransferType property.


IdGlobal.pas

Classes	Functions	Types	Variables	Constants

Unit: IdGlobal.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement common routines and classes used in the Indy component suite.


Unit Overview

IdGlobal

Classes in Unit IdGlobal

EIdCorruptServicesFile

This exception class is raised when the SERVICES file is corrupt.

EIdFailedToRetreiveTimeZoneInfo

This exception class is raised when the Time Zone could not be retrieved.

TIdMimeTable

Provides access to MIME types for the local computer.


Unit Overview

IdGlobal

Functions in Unit IdGlobal

AnsiSameText

Performs a case-insensitive comparison of two Ansi strings.

CommaSeperatedToStringList

Fills a string list with values from a comma-delimited string.

CopyFileTo

Copies the source file to the destination file.

CurrentProcessId

Determines the process ID for the calling program.

DateTimeToGmtOffSetStr

Retrieves the GMT time offset for a date/time value.

DateTimeToInternetStr

Converts a native date time value to an Internet timestamp.

DebugOutput

Sends a string to the system debugger.

Fetch

Parses a value from the delimited input string.

FileSizeByName

Retrieves the size a file.

FreeAndNil

Frees an object reference and replaces the reference with Nil.

GetMIMETypeFromFile

Retrieves the MIME type for a given file.

GetSystemLocale

Retrieves the character set for the local computer system.

GetTickCount

Retrieves the number of milliseconds since the computer was started.

GmtOffsetStrToDateTime

Converts an Internet time difference string to a native date/time value.

GMTToLocalDateTime

Converts a GMT time string to the local time.

IdPorts

Provides a list of port numbers defined for services.

IncludeTrailingBackSlash

Builds a path string that includes a trailing path delimiter.

InMainThread

Indicates if the current thread is the main thread of the application.

IntToBin

Returns a binary string representation for an Integer value.

IsCurrentThread

Indicates if the thread is the current thread of execution.

IsNumeric

Determines if a character is a numeric digit.

MakeTempFilename

Constructs a unique name for a temporary file.

Max

Determines the larger of two Integer values.

Min

Determines the smaller of two Integer values.

OffsetFromUTC

Determines the local timezone offset from UTC.

ParseURI

Parses the components of a URL.

PosInStrArray

Searches an array of strings for an occurrence of the search string.

RightStr

Returns the right-most part of a string.

ROL

Calculates a rotated-left value.

ROR

Calculates a rotated-right value.

RPos

Finds the index of a search string using a specified starting position.

SetLocalTime

Updates the time on the local computer.

SetThreadPriority

Updates the priority of a thread.

Sleep

Suspends the current thread for the specified number of milliseconds.

StrInternetToDateTime

Returns the native date and time for an Internet timestamp.

StrToCard

This function converts a string value into a cardinal..

StrToDay

Returns the day number for a short day name.

StrToMonth

Returns the month number for a given short month name.

TimeZoneBias

Calculates the local timezone difference from UTC.

UpCaseFirst

Returns a string with the first letter capitalized.

URLDecode

Converts a URL-Encoded string to a US-ASCII string.

URLEncode

Converts a US-ASCII string to a URL-Encoded string.


Unit Overview

IdGlobal

Types in Unit IdGlobal

TCharSet

Represents character sets used by GetSystemLocale.

TIdPID

Represents an Indy process identifier.

TPosProc

Specifies an integer function type for IndyPos implementation.

TThreadPriority

Identifies thread priority constants.


Unit Overview

IdGlobal

Variables in Unit IdGlobal

GOffsetFromUTC

Time difference from UTC time coordinates.

GSystemLocale

Character for the system locale.

GTimeZoneBias

Daylight saving time adjustment for the current time zone.

IndyPos

Specifies the Pos function handler for single- or multi-byte character sets.


Unit Overview

IdGlobal

Constants in Unit IdGlobal

BACKSPACE

Represents the US-ASCII Backspace character.

CHAR0

Represents the Null character.

CHAR32

Represents the Space character.

CR

Represents the Carriage Return character.

EOL

Represents the End-of-Line character sequence.

GPathSep

Identifies the path separator character.

gsIdProductName

Identifies the product name.

gsIdVersion

Identifies the product version.

IdPORT_AUTH

Port number for authentication services.

IdPORT_CHARGEN

Port number for the Chargen protocol.

IdPORT_DAYTIME

Port number for the DayTime protocol.

IdPORT_DICT

Port number for the DICT protocol.

IdPORT_DISCARD

Port number for the Discard protocol.

IdPORT_DOMAIN

Port number for the DNS protocol.

IdPORT_ECHO

Port number for the Echo protocol.

IdPORT_FINGER

Port number for the Finger protocol.

IdPORT_FTP

Port number for the FTP protocol.

IdPORT_GOPHER

Port number for the Gopher protocol.

IdPORT_HOSTNAME

Port number for the HostName protocol.

IdPORT_HTTP

Port number for the HTTP protocol.

IdPORT_IMAP4

Port number for the IMAP protocol.

IdPORT_IRC

Port number for the IRC protocol.

IdPORT_LPD

Port number for the LPD protocol.

IdPORT_NETSTAT

Port number for the Netstat protocol.

IdPORT_NNTP

Port number for the NNTP protocol.

IdPORT_POP2

Port number for the POP2 protocol.

IdPORT_POP3

Port number for the POP3 protocol.

IdPORT_QOTD

Port number for the QUOTD protocol.

IdPORT_SMTP

Port number for the SMTP protocol.

IdPORT_SNTP

Port number for the SNTP protocol.

IdPORT_SSL

Port number for the HTTPS protocol.

IdPORT_SYSTAT

Port number for the Systat protocol.

IdPORT_TELNET

Default port for the Telnet protocol.

IdPORT_TFTP

Port number for the TFTP protocol.

IdPORT_TIME

Port number for the Time protocol.

IdPORT_WHOIS

Port number for the WhoIs protocol.

IdTimeoutDefault

Indicates that the default time-out value should be used.

IdTimeoutInfinite

Indicates that an infinite time-out value should be used.

LF

Represents the Line Feed character.

TAB

Represents the Tab character.

wsErr

Represents the POP3 error code.

wsOk

Represents the POP3 success code.


IdGopher.pas

Classes	Types

Unit: IdGopher.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a Gopher client (RFC 1436).


Unit Overview

IdGopher

Classes in Unit IdGopher

TIdGopher

Implements a Gopher client.

TIdGopherMenu

Collection of Gopher menu items.

TIdGopherMenuItem

Implements a Gopher menu item.


Unit Overview

IdGopher

Types in Unit IdGopher

TIdGopherMenuEvent

Event type for Gopher menu display.


IdGopherConsts.pas

Constants

Unit: IdGopherConsts.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a common Gopher protocol constants.


Unit Overview

IdGopherConsts

Constants in Unit IdGopherConsts

IdGopherItem_Binary

Item is a binary file.

IdGopherItem_BinDOS

DOS binary archive file.

IdGopherItem_BinHex

Item is a BinHex Macintosh file.

IdGopherItem_CSO

Item is a CSO phone-book server.

IdGopherItem_Directory

Item is a directory or Gopher menu.

IdGopherItem_Document

Item is a text-file.

IdGopherItem_Error

The item is an error message.

IdGopherItem_GIF

Item is a GIF format graphics file.

IdGopherItem_HTML

The item is an HTML file.

IdGopherItem_Image

The item is a graphic image file.

IdGopherItem_Image2

The item is a graphic image file.

IdGopherItem_Information

Information to be displayed to the user.

IdGopherItem_MIME

The item is MIME-encoded.

IdGopherItem_Movie

This is some type of movie file such as QuickTime or AVI.

IdGopherItem_Redundant

Item is a redundant server.

IdGopherItem_Search

This is a gopher search item.

IdGopherItem_Sound

This is some type of sound such as a .WAV or .AU file.

IdGopherItem_Sound2

Item is some kind of sound file such as a .AU or .WAV.

IdGopherItem_Telnet

Item points to a text-based telnet session.

IdGopherItem_TN3270

Item points to a text-based tn3270 session.

IdGopherItem_UUE

Item is a UNIX uuencoded file.

IdGopherPlusAbstract

Summary of an item.

IdGopherPlusAdmin

This is the constant which starts a Gopher+ Administration block.

IdGopherPlusAsk

This constant starts a Gopher+ ASK block for a Gopher+ extended menu item.

IdGopherPlusAskFileName

This constant in an ASK block is for prompting a user with a filename in a Gopher+ ASK block.

IdGopherPlusAskLong

This item is a question in an ASK block which will take several lines of text as a reply.

IdGopherPlusAskPassword

This item in an ASK block prompts for a line of text which is hidden from the user such as a paassword prompt.

IdGopherPlusChoose

This is a prompt with where a user selects only one choice from several (such as with a radio-group control).

IdGopherPlusChooseFile

The user should select only one file for sending to the server.

IdGopherPlusData_BeginSign

This Gopher+ reply means that the server will send data to the client until an end-sign defined by IdGopherPlusData_EndSign.

IdGopherPlusData_EndSign

This is the end sign used for transferring text file with Gopher.

IdGopherPlusData_ErrorBeginSign

This indicates a Gopher error and that the error message is terminated with IdGopherPlusData_EndSign.

IdGopherPlusData_ErrorUnknownSize

This indicates a Gopher+ error and the error reply should be read until the server closes the connection.

IdGopherPlusData_UnknownSize

This Gopher+ reply indicates that the Gopher+ client should simply read data until the server closes the connection.

IdGopherPlusDirectoryInformation

This Gopher+ command indicates that the client wants extended Gopher+ menu information.

IdGopherPlusError_ItemMoved

This starts the reply data and means that the Gopher+ item moved someplace else.

IdGopherPlusError_NotAvailable

The gopher item is not available.

IdGopherPlusError_TryLater

This error code indicates that the Gopher client should retry the operation again.

IdGopherPlusIndicator

This Gopher+ command indicates that the server should send a reply followed by the standard Gopher response.

IdGopherPlusInfo

This starts the information Gopher+ block for an item.

IdGopherPlusInformation

This Gopher+ command indicates that the client only wants information about the gopher item (the Gopher+ blocks for it).

IdGopherPlusSelect

In an ASK block, this indicates that the user can select more than one item from a list of choices (such as a bunch of checkboxes on a form).

IdGopherPlusViews

This constant starts the Views list for a Gopher+ item.


IdGopherServer.pas

Classes	Types	Constants

Unit: IdGopherServer.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a Gopher server (RFC 1436).


Unit Overview

IdGopherServer

Classes in Unit IdGopherServer

TIdGopherServer

Implements a Gopher server.


Unit Overview

IdGopherServer

Types in Unit IdGopherServer

TPlusRequestEvent

Gopher+ request event.

TRequestEvent

Gopher request event.


Unit Overview

IdGopherServer

Constants in Unit IdGopherServer

Id_TIdGopherServer_TruncateLength

This is the default value for the TIdGopherServer.TruncateLength property.

Id_TIdGopherServer_TruncateUserFriendly

This is the default value for the TIdGopherServer.TruncateUserFriendly property.


IdHeaderCoder.pas

Functions	Types	Constants

Unit: IdHeaderCoder.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement support routines for working with encoded values in headers for an internet messages.


Unit Overview

IdHeaderCoder

Functions in Unit IdHeaderCoder

Decode2022JP

Converts Shift_JIS to ISO-2022-JP character set encoding.

DecodeAddress

Decodes an email address.

DecodeAddresses

Decodes an email address list.

DecodeHeader

Decodes header name and values using the charset for the encoding.

Encode2022JP

Converts Shift_JIS to ISO-2022-JP character set encoding.

EncodeAddress

Converts a list email address to an RFC 822 email list.

EncodeAddressItem

Encoded an email address using content, transfer, and character set encodings.

EncodeHeader

Encode a header containing non-ASCII characters.

InitializeMime

Initializes the default MIME values for the locale of the local PC.


Unit Overview

IdHeaderCoder

Types in Unit IdHeaderCoder

CSET

Type used to represent a set of characters.

TTransfer

Represents transfer encoding values.


Unit Overview

IdHeaderCoder

Constants in Unit IdHeaderCoder

base64_tbl

Represents the Base64 alphabet.

csSPECIALS

Represents special characters in header processing.

kana_tbl

Half-width Katakana characters.

sj1_tbl

ISO-2022-JP character sets encodings.

sj2_tbl

Double-byte alphabet used in ISO-2022-JP character encoding

vkana_tbl

Half-width Voiced Katakana characters.


IdHeaderList.pas

Classes

Unit: IdHeaderList.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement collections of header names and values used in many protocols such as Gopher+, HTTP, NNTP, POP3, and SMTP.


Unit Overview

IdHeaderList

Classes in Unit IdHeaderList

TIdHeaderList

Implements a collection of header names and values.


IdHostnameServer.pas

Classes	Types

Unit: IdHostnameServer.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a HostName server (RFC 953).


Unit Overview

IdHostnameServer

Classes in Unit IdHostnameServer

TIdHostNameServer

Implements a HostName server.


Unit Overview

IdHostnameServer

Types in Unit IdHostnameServer

THostNameGetEvent

Event type for HostName commands without parameters.

THostNameOneParmEvent

Event type for HostName commands with parameters.


IdHTTP.pas

Classes	Types	Constants

Unit: IdHTTP.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement an HTTP client (RFC 1945, 2616, 2660).


Unit Overview

IdHTTP

Classes in Unit IdHTTP

TIdHeaderInfo

Encapsulates HTTP header information for HTTP requests and responses.

TIdHTTP

HTTP client implementation.


Unit Overview

IdHTTP

Types in Unit IdHTTP

TIdHTTPMethod

Represents the HTTP Method for a request.

TIdHTTPOnRedirectEvent

Event type triggered for a HTTP redirection request.

TIdHTTPProtocolVersion

Represents the HTTP Protocol version for a request.


Unit Overview

IdHTTP

Constants in Unit IdHTTP

Id_TIdHTTP_HandleRedirects

This is the default value for the TIdHTTP.HandleRedirects property.

Id_TIdHTTP_ProtocolVersion

This is the default value for the TIdHTTP.ProtocolVersion property.

Id_TIdHTTP_RedirectMax

This is the default value for the TIdHTTP.RedirectMax property.


IdHTTPServer.pas

Classes	Types	Constants

Unit: IdHTTPServer.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement an HTTP server (RFC 1945, 2616, 2660).


Unit Overview

IdHTTPServer

Classes in Unit IdHTTPServer

EIdHTTPCannotSwitchSessionStateWhenActive

HTTP server exception for changing state on an active server.

EIdHTTPErrorParsingCommand

HTTP server exception for an unknown HTTP command.

EIdHTTPHeaderAlreadyWritten

HTTP response exception raised during writing headers.

EIdHTTPServerError

Ancestor for Indy HTTP exceptions.

EIdHTTPUnsupportedAuthorisationScheme

HTTP server exception for an invalid authentication scheme.

TIdCookie

Implements the HTTP session state mechanism, or "Cookie".

TIdCookieCollection

TIdCookieCollection is a container for TIdCookie objects.

TIdHTTPRequestInfo

Implements a HTTP Request object.

TIdHTTPResponseInfo

Implements a HTTP response object.

TIdHTTPServer

HTTP Server Implementation.

TIdHTTPSession

Implements a persistent HTTP Session.

TIdHTTPSessionList

Implements a container for HTTP sessions.


Unit Overview

IdHTTPServer

Types in Unit IdHTTPServer

TIdHTTPGetEvent

Specifies an event type for HTTP transfer commands.

TIdHTTPOtherEvent

Specifies an event type for unrecognized HTTP commands.

TOnSessionEndEvent

Specifies an event type for a terminating HTTP session.

TOnSessionStartEvent

Specifies an event type for a new HTTP session.


Unit Overview

IdHTTPServer

Constants in Unit IdHTTPServer

GContentType

This is the default value for the TIdHTTPResponseInfo.ContentType property.

GFContentLength

This is the default value for the TIdHTTPResponseInfo.ContentLength property.

GFMaxAge

This is the default value for the TIdCookie.MaxAge property.

GResponseNo

This is the default value for the TIdHTTPResponseInfo.ResponseNo property.

GServerSoftware

This is the default value for the TIdHTTPResponseInfo.ServerSoftware property.

Id_TId_HTTPAutoStartSession

This is the default value for the TIdHTTPServer.AutoStartSession property.

Id_TId_HTTPServer_ParseParams

This is the default value for the TIdHTTPServer.ParseParams property.

Id_TId_HTTPServer_SessionState

This is the default value for the TIdHTTPServer.SessionState property.

Id_TId_HTTPSessionTimeOut

This is the default value for the TIdHTTPServer.SessionTimeOut property.


IdIcmpClient.pas

Classes	Types	Constants

Unit: IdIcmpClient.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement an ICMP client.


Unit Overview

IdIcmpClient

Classes in Unit IdIcmpClient

TIdIcmpClient

TReplyStatus

Response to an echo request.


Unit Overview

IdIcmpClient

Types in Unit IdIcmpClient

TCharBuf

Specifies the ICMP receive and message buffer data type.

TICMPDataBuffer

Specifies the data type for ICMP message data.

TOnReplyEvent

Specifies the event type for receipt of an ICMP reply.

TReplyStatusTypes

Identifies values for an ICMP Reply Status.


Unit Overview

IdIcmpClient

Constants in Unit IdIcmpClient

DEF_PACKET_SIZE

Specifies the default packet size for ICMP messages.

ICMP_MIN

Specifies the minimum number of data bytes in an ICMP reply.

Id_TIDICMP_ReceiveTimeout

This is the default value for the TIdIcmpClient.ReceiveTimeout property.

iDEFAULTPACKETSIZE

Specifies the default packet size for ICMP data buffers.

iDEFAULTREPLYBUFSIZE

Specifies the default size for ICMP reply buffers.

MAX_PACKET_SIZE

Specifies the maximum packet size for an ICMP response message.


IdIMAP4Server.pas

Classes	Types	Constants

Unit: IdIMAP4Server.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement an IMAP4 server.


Unit Overview

IdIMAP4Server

Classes in Unit IdIMAP4Server

TIdIMAP4Server

Implements an IMAP4 server.


Unit Overview

IdIMAP4Server

Types in Unit IdIMAP4Server

TCommandEvent

IMAP4 command event type.


Unit Overview

IdIMAP4Server

Constants in Unit IdIMAP4Server

IMAPCommands


IdIntercept.pas

Classes

Unit: IdIntercept.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a framework that performs state change and data transformation tasks.


Unit Overview

IdIntercept

Classes in Unit IdIntercept

TIdConnectionIntercept

Ancestor for Indy Secure Socket Layer connection intercept classes.

TIdServerIntercept

Specifies a socket handler for use with peer connections create by the listener thread in a TCP server.


IdIPWatch.pas

Classes	Constants

Unit: IdIPWatch.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a class that determines the Online status, and IP history for a local computer.


Unit Overview

IdIPWatch

Classes in Unit IdIPWatch

TIdIPWatch

Determines the online status and IP addresses for a computer.

TIdIPWatchThread

Provides a Timer-like thread for TIdIPWatch.


Unit Overview

IdIPWatch

Constants in Unit IdIPWatch

IP_WATCH_ACTIVE

Default value for the TIdIPWatch.Active property.

IP_WATCH_HIST_ENABLED

Default value for the TIdIPWatch.HistoryEnabled property.

IP_WATCH_HIST_FILENAME

Identifies the default history storage file.

IP_WATCH_HIST_MAX

Identifies the maximum entries in IP history.

IP_WATCH_INTERVAL

Default value for the TIdIPWatch.WatchInterval property.


IdIrcServer.pas

Classes	Types

Unit: IdIrcServer.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement an IRC server.


Unit Overview

IdIrcServer

Classes in Unit IdIrcServer

TIdIRCServer

Specifies an Internet Relay Chat Protocol server.


Unit Overview

IdIrcServer

Types in Unit IdIrcServer

TIdIrcFiveParmEvent

Event type for IRC commands having 5 parameters.

TIdIrcGetEvent

Event type for IRC commands that do not have parameters.

TIdIrcOneParmEvent

Event type for IRC commands having a single parameter.

TIdIrcOtherEvent

Specifies the event type for unknown IRC commands.

TIdIrcServerEvent

Event type for the IRC SERVER command.

TIdIrcThreeParmEvent

Event type for IRC commands having 3 parameters.

TIdIrcTwoParmEvent

Event type for IRC commands having 2 parameters.

TIdIrcUserEvent

Event type for the IRC User command.


IdLogBase.pas

Classes	Constants

Unit: IdLogBase.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement the ancestor class for the Indy logging framework.


Unit Overview

IdLogBase

Classes in Unit IdLogBase

TIdLogBase

Defines a component logging Framework.


Unit Overview

IdLogBase

Constants in Unit IdLogBase

ID_LOGBASE_Active

Default value for the TIdLogBase.Active property.

ID_LOGBASE_LogTime

Default value for the TIdLogBase.LogTime property.


IdLogDebug.pas

Classes	Types	Constants

Unit: IdLogDebug.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement an Indy logging component.


Unit Overview

IdLogDebug

Classes in Unit IdLogDebug

EIdCanNotChangeTarget

TIdLogDebug


Unit Overview

IdLogDebug

Types in Unit IdLogDebug

TIdLogDebugTarget

Specifies the target for TIdLogDebug log messages.

TLogItemEvent

Event type triggered during message logging.


Unit Overview

IdLogDebug

Constants in Unit IdLogDebug

ID_TIDLOGDEBUG_TARGET

Default value for the TIdLogDebug.Target property.


IdMappedPortTCP.pas

Classes	Types	Constants

Unit: IdMappedPortTCP.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a Port-based proxy component.


Unit Overview

IdMappedPortTCP

Classes in Unit IdMappedPortTCP

TIdMappedPortTCP

Implements a proxy for TCP connections to a remote computer.

TIdMappedPortTCPData

Encapsulates the outbound connection for a mapped port.


Unit Overview

IdMappedPortTCP

Types in Unit IdMappedPortTCP

TBeforeClientConnectEvent

Event type for connection to a remote system using a mapped port.


Unit Overview

IdMappedPortTCP

Constants in Unit IdMappedPortTCP

ID_MAPPED_PORT_TCP_PORT

Default value for the TIdMappedPortTCP.MappedPort property.


IdMessage.pas

Classes	Types	Constants

Unit: IdMessage.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement classes to support Internet messages and attachments.


Unit Overview

IdMessage

Classes in Unit IdMessage

EIdCanNotCreateMessagePart

Indicates an error in the TIdMessagePart constructor.

EIdMessageException

Ancestor class for TIdMessage and TIdMessagePart exceptions.

EIdTextInvalidCount

Indicates an error creating text message parts.

TIdAttachment

Encapsulates a MIME-encoded attachment or inline graphic.

TIdMessage

Encapsulates an Internet Message.

TIdMessagePart

Implements the base class for MIME message parts.

TIdMessageParts

Collection for individual message parts in the message.

TIdText

Encapsulates a MIME-encoded text message part.


Unit Overview

IdMessage

Types in Unit IdMessage

TIdMessageEvent

Specified the event type for message handling.

TIdMessagePartClass

TIdMessagePriority

Specifies the message priority.

TIdStringMessageEvent

Specified the event type for string events.

TOnGetMessagePartStream

Specifies the event type for reading a message part from a stream.


Unit Overview

IdMessage

Constants in Unit IdMessage

ID_MSG_NODECODE

Default value for the TIdMessage.NoDecode property.

ID_MSG_PRIORITY

Default value for the TIdMessage.Priority property.

ID_MSG_USENOWFORDATE

Default value for the TIdMessage.UseNowForDate property.


IdMessageClient.pas

Classes	Types	Constants

Unit: IdMessageClient.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement an Internet Message client.


Unit Overview

IdMessageClient

Classes in Unit IdMessageClient

TIdMessageClient

Implements a message client.

TIMFCoderUsage

Represents the current code and message part.


Unit Overview

IdMessageClient

Types in Unit IdMessageClient

PIMFCoderUsage

Represent a message coder.


Unit Overview

IdMessageClient

Constants in Unit IdMessageClient

MIME7Bit

MIME type for 7-bit text.

MIMEGenericText

MIME type for generic text.

MultiPartAlternativeBoundary

Identifies the boundary marker for the alternate form of the message body.

MultiPartBoundary

Identifies the boundary marker for multipart MIME messages.

MultiPartRelatedBoundary

Identifies the boundary marker for MIME messages with inline content.


IdMIMETypes.pas

Functions	Variables	Constants

Unit: IdMIMETypes.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement support for MIME types.


Unit Overview

IdMIMETypes

Functions in Unit IdMIMETypes

ReturnMIMEType

Constructs the MIME media type, subtype and encoding for the file.


Unit Overview

IdMIMETypes

Variables in Unit IdMIMETypes

MIMEMediaType


Unit Overview

IdMIMETypes

Constants in Unit IdMIMETypes

MaxMIMEBinToASCIIType

MaxMIMECompressType

MaxMIMEEncType

MaxMIMEMessageDigestType

MaxMIMESubTypes

MaxMIMEType

MIMEEncBase64

MIMEEncNISTSHA

MIMEEncRLECompress

MIMEEncRSAMD2

MIMEEncRSAMD4

MIMEEncRSAMD5

MIMEEncUUEncode

MIMEEncXXEncode

MIMEFullApplicationOctetStream

MIMESplit

MIMESubMacBinHex40

MIMESubOctetStream

MIMETypeApplication

MIMETypeAudio

MIMETypeImage

MIMETypeMessage

MIMETypeMultipart

MIMETypeText

MIMETypeVideo

MIMEXVal


IdNetworkCalculator.pas

Classes	Types	Constants

Unit: IdNetworkCalculator.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement an calculator for IP addresses and network masks.


Unit Overview

IdNetworkCalculator

Classes in Unit IdNetworkCalculator

TIdNetworkCalculator

Implements an IP address calculator.

TIpProperty

Provides persistent storage and manipulation for network address and mask values.

TIpStruct

Provides storage for the components of an IP address or network mask.


Unit Overview

IdNetworkCalculator

Types in Unit IdNetworkCalculator

TNetworkClass

Specifies valid network class values used by TIdNetworkCalculator.


Unit Overview

IdNetworkCalculator

Constants in Unit IdNetworkCalculator

ID_NC_MASK_LENGTH

Default length of network masks for TIdNetworkCalculator object instances.

ID_NETWORKCLASS

Default network class for IP addresses in TIdNetworkCalculator instances.


IdNNTP.pas

Classes	Functions	Types

Unit: IdNNTP.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement an NNTP client.


Unit Overview

IdNNTP

Classes in Unit IdNNTP

EIdNNTPConnectionRefused

Indicates a connection to the NNTP server has been refused.

EIdNNTPException

Ancestor class for NNTP exceptions.

EIdNNTPNoOnNewGroupsList

NNTP exception for retrieval of the new Newsgroups list.

EIdNNTPNoOnNewNewsList

Exception for retrieval of the new NNTP new message list.

EIdNNTPNoOnNewsgroupList

Exception for NNTP newsgroup list retrieval.

EIdNNTPStringListNotInitialized

Exception for unsuccessful message retrieval.

TIdNNTP

Implements an NNTP client.


Unit Overview

IdNNTP

Functions in Unit IdNNTP

ParseNewsGroup

Parses a newsgroup from a list of newsgroups.

ParseXOVER

Parses data received from the SendXOVER method.


Unit Overview

IdNNTP

Types in Unit IdNNTP

TConnectionResult

Result of a connection request.

TEventNewNewsList

Indicates a new newsgroup article.

TEventNewsgroupList

Indicates receipt of a newsgroup listing.

TEventStreaming

Event for receipt or transmission of streaming news articles.

TModeSetResult

Indicates the result from a an NNTP mode change.

TModeType

Indicates the NNTP connection mode for an NNTP connection.

TNewsTransportEvent

Event triggered during article receipt or transmission.


IdNNTPServer.pas

Classes	Types

Unit: IdNNTPServer.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement an NNTP server.


Unit Overview

IdNNTPServer

Classes in Unit IdNNTPServer

TIdNNTPServer


Unit Overview

IdNNTPServer

Types in Unit IdNNTPServer

TDataEvent

Specifies the event type for NNTP operations that provide object data.

TDoByIDEvent

Specifies the event type for NNTP operations that use a message id.

TDoByNoEvent

Specifies the event type for NNTP operations that use a message number.

TGetEvent

Specifies the event type for NNTP operations that do not require parameters.

TGroupEvent

Specifies the event type for NNTP newsgroup operations.

TNewsEvent

Specifies the event type for NNTP operations with parameters and return values.

TOtherEvent

Specifies the event type for NNTP AUTHINFO and other operations.


IdPOP3.pas

Classes

Unit: IdPOP3.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a POP3 client.


Unit Overview

IdPOP3

Classes in Unit IdPOP3

TIdPOP3

Implements a POP3 client.


IdQotd.pas

Classes

Unit: IdQotd.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a QOTD client.


Unit Overview

IdQotd

Classes in Unit IdQotd

TIdQOTD

Implements a Quote of the Day Protocol client.


IdQotdServer.pas

Classes	Types

Unit: IdQotdServer.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a QOTD server.


Unit Overview

IdQotdServer

Classes in Unit IdQotdServer

TIdQOTDServer

Defines an implementation framework for a Quote of the Day Protocol server.


Unit Overview

IdQotdServer

Types in Unit IdQotdServer

TIdQOTDGetEvent

Specifies an event type for TIdQuotdServer commands.


IdRawBase.pas

Classes	Constants

Unit: IdRawBase.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement support for raw packet formats.


Unit Overview

IdRawBase

Classes in Unit IdRawBase

TIdRawBase

Ancestor class for Raw socket clients.


Unit Overview

IdRawBase

Constants in Unit IdRawBase

GFTTL

Default TIme-To-Live for TIdRawBase object instances.

GReceiveTimeout

Default timeout value for read operations in TIdRawBase object instances.

Id_TIdRawBase_BufferSize

Default buffer size for TIdRawBase object instances.

Id_TIdRawBase_Port

Default port number for TIdRawBase object instances.


IdRawClient.pas

Classes

Unit: IdRawClient.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a client using raw sockets.


Unit Overview

IdRawClient

Classes in Unit IdRawClient

TIdRawClient

Specifies a client that uses Raw sockets.


IdRawFunctions.pas

Functions

Unit: IdRawFunctions.pas

This file contains Classes, Types, Procedures, and Functions needed to support raw socket-based connections.


Unit Overview

IdRawFunctions

Functions in Unit IdRawFunctions

IdRawBuildArp

Builds a datagram using ARP headers and message formats.

IdRawBuildDns

Builds a datagram with DNS headers and message formats.

IdRawBuildEthernet

Builds a datagram using Ethernet headers and message formats.

IdRawBuildIcmpEcho

Builds a datagram with ICMP Echo headers and message formats.

IdRawBuildIcmpMask

Builds a datagram using ICMP headers and ICMP Mask message formats.

IdRawBuildIcmpRedirect

Builds a datagram using ICMP headers and ICMP Gateway message formats.

IdRawBuildIcmpTimeExceed

Builds a datagram using ICMP headers and ICMP TIme Exceeded message formats.

IdRawBuildIcmpTimestamp

Builds a datagram using ICMP headers and Timestamp message formats.

IdRawBuildIcmpUnreach

Builds a datagram using ICMP headers and ICMP Unreachable message formats.

IdRawBuildIgmp

Builds a datagram using IGMP headers and message formats.

IdRawBuildIp

Builds a datagram using IP headers and message formats.

IdRawBuildRip

Builds a datagram using RIP headers and message formats.

IdRawBuildTcp

Builds a datagram using TCP headers and message formats.

IdRawBuildUdp

Builds a datagram using UDP headers and message formats.


IdRawHeaders.pas

Classes	Types	Constants

The text for this file has been generated automatically. This means that it is not documented.


Unit Overview

IdRawHeaders

Classes in Unit IdRawHeaders

TIdArpHdr

TIdDnsHdr

TIdEtherAddr

TIdEthernetHdr

TIdIcmpEcho

TIdIcmpFrag

TIdIcmpHdr

TIdIcmpTs

TIdIgmpHdr

TIdIpHdr

TIdIpOptions

TIdRipHdr

TIdTcpHdr

TIdTcpOptions

TIdUdpHdr


Unit Overview

IdRawHeaders

Types in Unit IdRawHeaders

PIdArpHdr

PIdDnsHdr

PIdEthernetHdr

PIdIcmpEcho

PIdIcmpFrag

PIdIcmpHdr

PIdIcmpTs

PIdIgmpHdr

PIdIpHdr

PIdRipHdr

PIdTcpHdr

PIdUdpHdr

TIdNetTime


Unit Overview

IdRawHeaders

Constants in Unit IdRawHeaders

Id_ARP_HSIZE

Id_ARPHRD_ETHER

Id_ARPOP_INVREPLY

Id_ARPOP_INVREQUEST

Id_ARPOP_REPLY

Id_ARPOP_REQUEST

Id_ARPOP_REVREPLY

Id_ARPOP_REVREQUEST

Id_DNS_HSIZE

Id_ETH_HSIZE

Id_ETHER_ADDR_LEN

Id_ETHERTYPE_ARP

Id_ETHERTYPE_IP

Id_ETHERTYPE_LOOPBACK

Id_ETHERTYPE_PUP

Id_ETHERTYPE_REVARP

Id_ETHERTYPE_VLAN

Id_ICMP_ECHO

Id_ICMP_ECHO_HSIZE

Id_ICMP_ECHOREPLY

Id_ICMP_HSIZE

Id_ICMP_IREQ

Id_ICMP_IREQREPLY

Id_ICMP_MASK_HSIZE

Id_ICMP_MASKREPLY

Id_ICMP_MASKREQ

Id_ICMP_PARAMPROB

Id_ICMP_PARAMPROB_OPTABSENT

Id_ICMP_REDIRECT

Id_ICMP_REDIRECT_HOST

Id_ICMP_REDIRECT_HSIZE

Id_ICMP_REDIRECT_NET

Id_ICMP_REDIRECT_TOSHOST

Id_ICMP_REDIRECT_TOSNET

Id_ICMP_ROUTERADVERT

Id_ICMP_ROUTERSOLICIT

Id_ICMP_SOURCEQUENCH

Id_ICMP_TIMEXCEED_HSIZE

Id_ICMP_TIMXCEED

Id_ICMP_TIMXCEED_INTRANS

Id_ICMP_TIMXCEED_REASS

Id_ICMP_TS_HSIZE

Id_ICMP_TSTAMP

Id_ICMP_TSTAMPREPLY

Id_ICMP_UNREACH

Id_ICMP_UNREACH_FILTER_PROHIB

Id_ICMP_UNREACH_HOST

Id_ICMP_UNREACH_HOST_PRECEDENCE

Id_ICMP_UNREACH_HOST_PROHIB

Id_ICMP_UNREACH_HOST_UNKNOWN

Id_ICMP_UNREACH_HSIZE

Id_ICMP_UNREACH_ISOLATED

Id_ICMP_UNREACH_NEEDFRAG

Id_ICMP_UNREACH_NET

Id_ICMP_UNREACH_NET_PROHIB

Id_ICMP_UNREACH_NET_UNKNOWN

Id_ICMP_UNREACH_PORT

Id_ICMP_UNREACH_PRECEDENCE_CUTOFF

Id_ICMP_UNREACH_PROTOCOL

Id_ICMP_UNREACH_SRCFAIL

Id_ICMP_UNREACH_TOSHOST

Id_ICMP_UNREACH_TOSNET

Id_IGMP_HSIZE

Id_IGMP_LEAVE_GROUP

Id_IGMP_MEMBERSHIP_QUERY

Id_IGMP_V1_MEMBERSHIP_REPORT

Id_IGMP_V2_MEMBERSHIP_REPORT

Id_IP_DF

Id_IP_HSIZE

Id_IP_MAXPACKET

Id_IP_MF

Id_IP_OFFMASK

Id_IP_RF

Id_MAX_IPOPTLEN

Id_RIP_HSIZE

Id_RIPCMD_MAX

Id_RIPCMD_POLL

Id_RIPCMD_POLLENTRY

Id_RIPCMD_REQUEST

Id_RIPCMD_RESPONSE

Id_RIPCMD_TRACEOFF

Id_RIPCMD_TRACEON

Id_RIPVER_0

Id_RIPVER_1

Id_RIPVER_2

Id_TCP_ACK

Id_TCP_FIN

Id_TCP_HSIZE

Id_TCP_PUSH

Id_TCP_RST

Id_TCP_SYN

Id_TCP_URG

Id_UDP_HSIZE


IdResourceStrings.pas

Constants

The text for this file has been generated automatically. This means that it is not documented.


Unit Overview

IdResourceStrings

Constants in Unit IdResourceStrings

RSAAboutBoxCompName

RSAAboutBoxCopyright

RSAAboutBoxIndyWebsite

RSAAboutBoxPleaseVisit

RSAAboutBoxVersion

RSAAboutCreditsCoCordinator

RSAAboutCreditsCoordinator

RSAAboutFormCaption

RSAAboutMenuItemName

RSAcceptWaitCannotBeModifiedWhileServerIsActive

RSAlreadyConnected

RSByteIndexOutOfBounds

RSCannotAllocateSocket

RSCannotChangeDebugTargetAtWhileActive

RSCMDNotRecognized

RSCodeNoError

RSCodeQueryFormat

RSCodeQueryName

RSCodeQueryNotImplemented

RSCodeQueryQueryRefused

RSCodeQueryServer

RSCodeQueryUnknownError

RSCoderNoTableEntryNotFound

RSConnectionClosedGracefully

RSCorruptServicesFile

RSCouldNotBindSocket

RSCouldNotLoad

RSDestinationFileAlreadyExists

RSDNSMailAObsolete

RSDNSMailBNotImplemented

RSDNSMDISObsolete

RSDNSMFIsObsolete

RSFailedTimeZoneInfo

RSFTPUnknownHost

RSGopherNotGopherPlus

RSGopherServerNoProgramCode

RSHTTPAccepted

RSHTTPBadGateway

RSHTTPBadRequest

RSHTTPCannotSwitchSessionStateWhenActive

RSHTTPChunkStarted

RSHTTPConflict

RSHTTPContinue

RSHTTPCreated

RSHTTPErrorParsingCommand

RSHTTPForbidden

RSHTTPGatewayTimeout

RSHTTPGone

RSHTTPHeaderAlreadyWritten

RSHTTPHTTPVersionNotSupported

RSHTTPInternalServerError

RSHTTPLengthRequired

RSHTTPMethodeNotallowed

RSHTTPMovedPermanently

RSHTTPMovedTemporarily

RSHTTPNoContent

RSHTTPNonAuthoritativeInformation

RSHTTPNotAcceptable

RSHTTPNotFound

RSHTTPNotImplemented

RSHTTPNotModified

RSHTTPOK

RSHTTPPartialContent

RSHTTPPreconditionFailed

RSHTTPProxyAuthenticationRequired

RSHTTPRequestEntityToLong

RSHTTPRequestTimeout

RSHTTPRequestURITooLong

RSHTTPResetContent

RSHTTPSeeOther

RSHTTPServiceUnavailable

RSHTTPSwitchingProtocols

RSHTTPUnauthorized

RSHTTPUnknownResponseCode

RSHTTPUnsupportedAuthorisationScheme

RSHTTPUnsupportedMediaType

RSHTTPUseProxy

RSICMPNonEchoResponse

RSICMPNotEnoughtBytes

RSICMPReceiveError0

RSICMPWrongDestination

RSIdNoDataToRead

RSInterceptPropInvalid

RSInterceptPropIsNil

RSInvalidServiceName

RSLPDAbortJob

RSLPDClosingConnection

RSLPDConnectTo

RSLPDControlFileSaved

RSLPDDataFileSaved

RSLPDDirectoryDoesNotExist

RSLPDNoQueuesDefined

RSLPDQueueStatus

RSLPDReceiveControlFile

RSLPDReceiveDataFile

RSLPDServerActive

RSLPDServerStartTitle

RSLPDUnknownQueue

RSMsgClientEncodingAttachment

RSMsgClientEncodingText

RSMsgCmpEdtrBodyText

RSMsgCmpEdtrExtraHead

RSMsgCmpEdtrNew

RSNETCALCInvalidNetworkMask

RSNETCALCInvalidValueLength

RSNETCALConfirmLongIPList

RSNETCALInvalidIPString

RSNNTPConnectionRefused

RSNNTPNoOnNewGroupsList

RSNNTPNoOnNewNewsList

RSNNTPNoOnNewsgroupList

RSNNTPServerGoodBye

RSNNTPServerNotRecognized

RSNNTPStringListNotInitialized

RSNoBindingsSpecified

RSNoExecuteSpecified

RSNotAllBytesSent

RSNotEnoughDataInBuffer

RSObjectTypeNotSupported

RSOnExecuteNotAssigned

RSOnlyOneAntiFreeze

RSOSSLCertificateLookup

RSOSSLConnectionDropped

RSOSSLCouldNotLoadSSLLibrary

RSOSSLInternal

RSOSSLModeNotSet

RSOSSLStatusString

RSPackageSizeTooBig

RSPOP3FieldNotSpecified

RSQueryInvalidHeaderID

RSQueryInvalidPacketSize

RSQueryInvalidQueryCount

RSQueryLessThanFour

RSQueryLessThanTwelve

RSQueryPackReceivedTooSmall

RSRawReceiveError0

RSSetSizeExceeded

RSSocksAuthError

RSSocksAuthMethodError

RSSocksRequestFailed

RSSocksRequestIdentFailed

RSSocksRequestServerFailed

RSSocksServerAddressError

RSSocksServerCommandError

RSSocksServerConnectionRefusedError

RSSocksServerGeneralError

RSSocksServerHostUnreachableError

RSSocksServerNetUnreachableError

RSSocksServerPermissionError

RSSocksServerRespondError

RSSocksServerTTLExpiredError

RSSocksUnknownError

RSSSLAcceptError

RSSSLConnectError

RSSSLCreatingContextError

RSSSLDataBindingError

RSSSLGetMethodError

RSSSLLoadingCertError

RSSSLLoadingKeyError

RSSSLLoadingRootCertError

RSSSLSettingChiperError

RSStackEACCES

RSStackEADDRINUSE

RSStackEADDRNOTAVAIL

RSStackEAFNOSUPPORT

RSStackEALREADY

RSStackEBADF

RSStackECONNABORTED

RSStackECONNREFUSED

RSStackECONNRESET

RSStackEDESTADDRREQ

RSStackEDQUOT

RSStackEFAULT

RSStackEHOSTDOWN

RSStackEHOSTUNREACH

RSStackEINPROGRESS

RSStackEINTR

RSStackEINVAL

RSStackEISCONN

RSStackELOOP

RSStackEMFILE

RSStackEMSGSIZE

RSStackENAMETOOLONG

RSStackENETDOWN

RSStackENETRESET

RSStackENETUNREACH

RSStackENOBUFS

RSStackENOPROTOOPT

RSStackENOTCONN

RSStackENOTEMPTY

RSStackENOTSOCK

RSStackEOPNOTSUPP

RSStackEPFNOSUPPORT

RSStackEPROCLIM

RSStackEPROTONOSUPPORT

RSStackEPROTOTYPE

RSStackEREMOTE

RSStackError

RSStackESHUTDOWN

RSStackESOCKTNOSUPPORT

RSStackESTALE

RSStackETIMEDOUT

RSStackETOOMANYREFS

RSStackEUSERS

RSStackEWOULDBLOCK

RSStackHOST_NOT_FOUND

RSStackNO_DATA

RSStackNO_RECOVERY

RSStackNOTINITIALISED

RSStackSYSNOTREADY

RSStackTRY_AGAIN

RSStackVERNOTSUPPORTED

RSStatusConnected

RSStatusConnecting

RSStatusDisconnected

RSStatusDisconnecting

RSStatusResolving

RSStatusText

RSTELNETCLIConnectError

RSTELNETCLIReadError

RSTELNETSRVInvalidLogin

RSTELNETSRVMaxloginAttempt

RSTELNETSRVNoAuthHandler

RSTELNETSRVOnDataAvailableIsNil

RSTELNETSRVPasswordPrompt

RSTELNETSRVUsernamePrompt

RSTELNETSRVWelcomeString

RSTFTPAccessDenied

RSTFTPDiskFull

RSTFTPFileNotFound

RSTFTPUnexpectedOp

RSTFTPUnsupportedTrxMode

RSThreadClassNotSpecified

RSTIdMessagePartCreate

RSTIdTextInvalidCount

RSTimeOut

RSTunnelConnectMsg

RSTunnelConnectToMasterFailed

RSTunnelCRCFailed

RSTunnelDisconnectMsg

RSTunnelDontAllowConnections

RSTunnelGetByteRange

RSTunnelMessageCustomInterpretError

RSTunnelMessageHandlingError

RSTunnelMessageInterpretError

RSTunnelMessageTypeError

RSTunnelTransformError

RSTunnelTransformErrorBS

RSUDPReceiveError0

RSWinsockInitializationError

RSWSockStack


IdSimpleServer.pas

Classes	Constants

Unit: IdSimpleServer.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a simple TCP server.


Unit Overview

IdSimpleServer

Classes in Unit IdSimpleServer

TIdSimpleServer

Implements a single-threaded TCP Server.


Unit Overview

IdSimpleServer

Constants in Unit IdSimpleServer

ID_SIMPLE_SERVER_BOUND_PORT

Default port number for TIdSimpleServer object instances.


IdSMTP.pas

Classes	Types	Constants

Unit: IdSMTP.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement an SMTP client.


Unit Overview

IdSMTP

Classes in Unit IdSMTP

TIdSMTP

Implements a Simple Mail Transfer Protocol client.


Unit Overview

IdSMTP

Types in Unit IdSMTP

TAuthenticationType

Represents an e-mail authentication type.


Unit Overview

IdSMTP

Constants in Unit IdSMTP

ID_TIDSMTP_AUTH_TYPE

Default Authentication Type for TIdSMTP object instances.


IdSNTP.pas

Classes	Constants

Unit: IdSNTP.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement an SNTP client.


Unit Overview

IdSNTP

Classes in Unit IdSNTP

TIdSNTP

Implements a Simple Network Time Protocol client.

TLr

NTPGram LongInt storage structure.

TNTPGram

NTP/SNTP Datagram message structure.


Unit Overview

IdSNTP

Constants in Unit IdSNTP

NTPMaxInt

NTP conversion value.


IdSocketHandle.pas

Classes

Unit: IdSocketHandle.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement bindings and binding collections.


Unit Overview

IdSocketHandle

Classes in Unit IdSocketHandle

EIdCouldNotBindSocket

Exception when binding a socket descriptor.

EIdNotAllBytesSent

Exception for an incomplete transmission.

EIdPackageSizeTooBig

Exception raised for an invalid datagram size.

EIdSocketHandleError

Ancestor exception for Indy socket handle errors.

TIdSocketHandle

Represents a low-level socket binding.

TIdSocketHandles

Collection of socket handles.


IdSocks.pas

Classes	Types	Constants

Unit: IdSocks.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement SOCKS procxy support.


Unit Overview

IdSocks

Classes in Unit IdSocks

TIdSocksRequest

Contains data sent to the Socks proxy during a connection request.

TIdSocksResponse

Contains response data received from the Socks proxy connection.

TSocksInfo

Represents Socks support information.


Unit Overview

IdSocks

Types in Unit IdSocks

TSocksAuthentication

Specifies the Socks Authentication type.

TSocksVersion

Represents Socks protocol version values.


Unit Overview

IdSocks

Constants in Unit IdSocks

ID_SOCKS_AUTH

Default Socks Authentication for TSocksInfo instances.

ID_SOCKS_PORT

Default port number for TSocksInfo object instances.

ID_SOCKS_VER

Default Socks version for TSocksInfo instances.


IdSSLIntercept.pas

Classes

Unit: IdSSLIntercept.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement Secure Socket Layer connection intercept support.


Unit Overview

IdSSLIntercept

Classes in Unit IdSSLIntercept

TIdSSLConnectionIntercept

TIdSSLServerIntercept

Ancestor for Indy Secure Sockets Layer server intercept classes.


IdSSLOpenSSL.pas

Classes	Functions	Types

Unit: IdSSLOpenSSL.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement the Open SSL impelementation of the Secure Socket Layer.


Unit Overview

IdSSLOpenSSL

Classes in Unit IdSSLOpenSSL

EIdOpenSSLError

Ancestor for Indy Open SSL error classes.

EIdOpenSSLLoadError

Ancestor class for error conditions related to loading the OpenSSL library.

EIdOSSLAcceptError

Exception raised when a new SSL connection cannot be accepted.

EIdOSSLConnectError

Exception raised for SSL connection errors.

EIdOSSLCouldNotLoadSSLLibrary

Error raised when the OpenSSL library cannot be loaded.

EIdOSSLCreatingContextError

Exception raised when recreating the SSL content after a change in mode.

EIdOSSLDataBindingError

Exception raised when an application cannot bind to the SSL socket.

EIdOSSLGetMethodError

Exception raised when a SSL context contains an invalid Mode.

EIdOSSLLoadingCertError

Exception raised when certificate file(s) cannot be loaded for an SSL context.

EIdOSSLLoadingKeyError

Exception raised when the key file cannot be opened for an SSL context.

EIdOSSLLoadingRootCertError

Exception raised when loading a root certificate file for an SSL context.

EIdOSSLModeNotSet

Exception raised for an unassigned SSL context mode.

EIdOSSLSettingCipherError

Exception raised after an error while setting the SSL context cipher schemes.

TByteArray

Represents byte array data used in SSL communications.

TEVP_MD

Represents an X.509 certificate fingerprint.

TIdConnectionInterceptOpenSSL

Implements Secure Socket Layer support for Indy Connection Intercept components.

TIdServerInterceptOpenSSL

Implements Secure Sockets Layer support for Indy Server Intercept components.

TIdSSLContext

Implements a generic client or server SSL context.

TIdSSLOptions

Represents SSL certificate and usage options.

TIdSSLSocket

Implements a socket connection for the SSL transport protocol.

TIdX509

Implements X.509 certificates for SSL transports.

TIdX509Name

Represents an X.509 Certificate Name.

TULong

Represents an unsigned long integer value.


Unit Overview

IdSSLOpenSSL

Functions in Unit IdSSLOpenSSL

InfoCallback

Allows the SSL socket to perform status notifications.

LogicalAnd

Performs a logical AND for Integer arguments.

PasswordCallback

Performs authentication notifications for an SSL context.

VerifyCallback

Perform X.509 certificate verifications.


Unit Overview

IdSSLOpenSSL

Types in Unit IdSSLOpenSSL

TCallbackEvent

Callback event type for callbacks that require a message.

TIdSSLAction

SSL socket action allowed.

TIdSSLErrorMode

Error type for the SSL exception.

TIdSSLMode

SSL context mode values.

TIdSSLVerifyMode

Valid verify mode values for an SSL context.

TIdSSLVerifyModeSet

Set of verify mode values for the SSL context.

TIdSSLVersion

SSL version numbers.

TPasswordEvent

Event type for password callbacks.

TVerifyPeerEvent

X.509 Certificate verification event type.


IdStack.pas

Classes	Types	Variables

Unit: IdStack.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement support for the Internet protocol stack.


Unit Overview

IdStack

Classes in Unit IdStack

EIdStackError

Ancestor class for Indy protocol stack errors.

EIdStackInitializationFailed

Exception for protocol stack initialization failure.

EIdStackSetSizeExceeded

Exception raised when the maximum number of socket descriptors is exceeded.

TIdInAddr

Represents an IP address for protocol stack functions.

TIdStack

Ancestor for platform-specific protocol stack interfaces.

TIdStackVersion

Represent version information for the protocol stack.

TIdSunB

TIdSunW


Unit Overview

IdStack

Types in Unit IdStack

PIdInAddr

Pointer to an internet address.

TIdServeFile

Function type for an optimized file transmission procedure.


Unit Overview

IdStack

Variables in Unit IdStack

GServeFileProc

Indy optimized file transfer routine for Windows NT.

GStack

The Indy global stack instance.


IdStackConsts.pas

Types	Variables	Constants

The text for this file has been generated automatically. This means that it is not documented.


Unit Overview

IdStackConsts

Types in Unit IdStackConsts

TIdStackSocketHandle


Unit Overview

IdStackConsts

Variables in Unit IdStackConsts

Id_SO_False

Id_SO_True


Unit Overview

IdStackConsts

Constants in Unit IdStackConsts

Id_INADDR_ANY

Id_INADDR_NONE

Id_INVALID_SOCKET

Id_IP_TTL

Id_IPPROTO_ICMP

Id_IPPROTO_IGMP

Id_IPPROTO_IP

Id_IPPROTO_MAX

Id_IPPROTO_RAW

Id_IPPROTO_TCP

Id_IPPROTO_UDP

Id_PF_INET

Id_SD_Both

Id_SD_Recv

Id_SD_Send

Id_SO_BROADCAST

Id_SO_DEBUG

Id_SO_DONTROUTE

Id_SO_KEEPALIVE

Id_SO_LINGER

Id_SO_OOBINLINE

Id_SO_RCVBUF

Id_SO_RCVTIMEO

Id_SO_REUSEADDR

Id_SO_SNDBUF

Id_SO_SNDTIMEO

Id_SOCK_DGRAM

Id_SOCK_RAW

Id_SOCK_STREAM

Id_SOCKET_ERROR

Id_SOL_SOCKET

Id_TCP_NODELAY

Id_WSAEACCES

Id_WSAEADDRINUSE

Id_WSAEADDRNOTAVAIL

Id_WSAEAFNOSUPPORT

Id_WSAEALREADY

Id_WSAEBADF

Id_WSAECONNABORTED

Id_WSAECONNREFUSED

Id_WSAECONNRESET

Id_WSAEDESTADDRREQ

Id_WSAEFAULT

Id_WSAEHOSTDOWN

Id_WSAEHOSTUNREACH

Id_WSAEINPROGRESS

Id_WSAEINTR

Id_WSAEINVAL

Id_WSAEISCONN

Id_WSAELOOP

Id_WSAEMFILE

Id_WSAEMSGSIZE

Id_WSAENAMETOOLONG

Id_WSAENETDOWN

Id_WSAENETRESET

Id_WSAENETUNREACH

Id_WSAENOBUFS

Id_WSAENOPROTOOPT

Id_WSAENOTCONN

Id_WSAENOTEMPTY

Id_WSAENOTSOCK

Id_WSAEOPNOTSUPP

Id_WSAEPFNOSUPPORT

Id_WSAEPROTONOSUPPORT

Id_WSAEPROTOTYPE

Id_WSAESHUTDOWN

Id_WSAESOCKTNOSUPPORT

Id_WSAETIMEDOUT

Id_WSAETOOMANYREFS

Id_WSAEWOULDBLOCK

TCP_NODELAY


IdStackWinsock.pas

Classes	Types

Unit: IdStackWinsock.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement support for the Winsock protocol stack.


Unit Overview

IdStackWinsock

Classes in Unit IdStackWinsock

TIdStackVersionWinsock

Represents Winsock-specific protocol stack version information.

TIdStackWinsock

Encapsulates the Windows-specific Winsock protocol stack used by Indy.

TLinger

Represents socket Linger options.


Unit Overview

IdStackWinsock

Types in Unit IdStackWinsock

TIdLinger

Linger data type for Indy.


IdTCPClient.pas

Classes	Types

Unit: IdTCPClient.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a TCP client.


Unit Overview

IdTCPClient

Classes in Unit IdTCPClient

EIdSocksAuthError

This exception class is raised if the SOCKS proxy reports an authentication error.

EIdSocksAuthMethodError

This exception class is raised if the SOCKS proxy reports an invalid or unsupported authentication method.

EIdSocksError

This exception class is the ancestor for exception classes that are raised due to SOCKS errors.

EIdSocksRequestFailed

This exception class is raised if the SOCKS proxy rejected or could not fulfill a request from TIdTCPClient.

EIdSocksRequestIdentFailed

This exception class is raised if the SOCKS proxy indicates that the User ID that the TIdTCPClient sent does not match the User ID provided by an Ident Daemon running on the user's computer.

EIdSocksRequestServerFailed

This exception class is raised if the SOCKS proxy could not make connection requested by the TIdTCPClient.

EIdSocksServerAddressError

This exception class is raised if the SOCKS proxy reports that it does not support the address type sent by TIdTCPClient.

EIdSocksServerCommandError

This exception class is raised if the SOCKS proxy reports that it does not support the command sent by TIdTCPClient.

EIdSocksServerConnectionRefusedError

This exception class is raised if the SOCKS proxy reports that the host specified by TIdTCPClient refused the connection request sent by the SOCKS proxy.

EIdSocksServerGeneralError

This exception class is raised if the SOCKS proxy reports a general failure.

EIdSocksServerHostUnreachableError

This exception class is raised if the SOCKS proxy reports that the host specified by TIdTCPClient is unreachable.

EIdSocksServerNetUnreachableError

This exception class is raised if the SOCKS proxy reports that the network is unreachable.

EIdSocksServerPermissionError

This exception class is raised if the SOCKS proxy reports that a connection is not allowed by the ruleset.

EIdSocksServerRespondError

This exception class is raised if the SOCKS proxy did not send a reply to the request sent by TIdTCPClient.

EIdSocksServerTTLExpiredError

This exception class is raised if the SOCKS proxy reports that the host specified by TIdTCPClient could not be reached because the TTL was exceeded.

EIdSocksUnknownError

This exception class is raised if the SOCKS proxy replies to a request with an value that is not known to Internet Direct.

TIdTCPClient

Implement a TCP Client.


Unit Overview

IdTCPClient

Types in Unit IdTCPClient

TProceduralEvent

Event type for procedural events.


IdTCPConnection.pas

Classes	Constants

Unit: IdTCPConnection.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a TCP connection component.


Unit Overview

IdTCPConnection

Classes in Unit IdTCPConnection

EIdInterceptPropInvalid

This exception class is raised whenever an there is an attempt to use a capability that is not supported by the current TIdConnectionIntercept that was assigned to the Intercept property.

EIdInterceptPropIsNil

Exception raised when attempting to enable a Nil Intercept.

EIdNoDataToRead

Exception raised when writing an empty TStream with WriteStream.

EIdNotEnoughDataInBuffer

Exception raised when there are not enough bytes in TIdTCPConnection's internal buffer.

EIdObjectTypeNotSupported

Exception raised when Capture can not support an object as a Destination.

EIdTCPConnectionError

Ancestor for TIdTCPConnection exception classes.

TIdBuffer

Buffer used in Indy read and write operations.

TIdTCPConnection

Implements a TCP Connection.


Unit Overview

IdTCPConnection

Constants in Unit IdTCPConnection

GRecvBufferSizeDefault

Default value for the TIdTCPConnection.SendBufferSize property.

GSendBufferSizeDefault

Default value for the TIdTCPConnection.RecvBufferSize property.


IdTCPServer.pas

Classes	Types

Unit: IdTCPServer.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a TCP server.


Unit Overview

IdTCPServer

Classes in Unit IdTCPServer

EIdAcceptWaitCannotBeModifiedWhileServerIsActive

Exception raised when the accept wait value is modified for an active server.

EIdNoExecuteSpecified

Exception raised after unsuccessful peer thread execution.

EIdTCPServerError

Ancestor for TCP server errors.

TIdListenerThread

Listener thread for TCP Servers.

TIdPeerThread

Thread used for client connections.

TIdTCPServer

Implements a multi-threaded TCP Server.

TIdTCPServerConnection

Encapsulates a server connection to a client.


Unit Overview

IdTCPServer

Types in Unit IdTCPServer

TIdServerThreadEvent

Specifies an event type for connections on a TCP server.


IdTelnet.pas

Classes	Types	Constants

Unit: IdTelnet.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a Teelnet client.


Unit Overview

IdTelnet

Classes in Unit IdTelnet

EIdTelnetClientConnectError

Exception for Telnet connection errors.

EIdTelnetError

Ancestor for Indy Telnet exceptions.

EIdTelnetServerOnDataAvailableIsNil

Exception for Telnet OnDataAvailable event notification.

TIdTelnet

Implements a TELNET protocol client.

TIdTelnetReadThread

TELNET client thread that listens for responses to key input and protocol negotiations.


Unit Overview

IdTelnet

Types in Unit IdTelnet

TClientEvent

Event type that occurs when connecting or disconnecting the TELNET client.

TOnTelnetCommand

Event type that occurs when a TELNET command is received.

TTelnetCommand

Specifies the commands recognized by the TELNET command event handler.

TTnDataAvail

Event type that occurs when data is received by the TELNET client.

TTnState

Specifies the TELNET client states.


Unit Overview

IdTelnet

Constants in Unit IdTelnet

TNC_AO

Represents the TELNET Abort Output command.

TNC_AYT

Represents the TELNET command Are You There.

TNC_BREAK

Represents the TELNET Break command.

TNC_DATA_MARK

Represents the TELNET Data Mark in a Synch stream.

TNC_DO

Represents the TELNET command to perform or confirm an option.

TNC_DONT

Represents the TELNET command to stop or confirm stopping an option.

TNC_EC

Represents the TELNET Erase Character command.

TNC_EL

Represents the TELNET Erase Line command.

TNC_EOR

Represents the TELNET End-of-Record command.

TNC_GA

Represents the TELNET Go Ahead command.

TNC_IAC

Represents the TELNET Interpret As Command directive.

TNC_IP

Represents the TELNET Interrupt Process command.

TNC_NOP

Represents the TELNET No Operation command.

TNC_SB

Represents the TELNET Subnegotiation Begin command.

TNC_SE

Represents the TELNET Subnegotiation End command.

TNC_WILL

Represents the TELNET command to begin or confirm an option.

TNC_WONT

Represents the TELNET command to refuse or cease performing an option.

TNO_3270REGIME

Represents the TELNET 3270 Regime option.

TNO_AMSN

Represents the TELNET Approximate Message Size Negotiation option.

TNO_AUTH

Represents the TELNET Authenticate option.

TNO_BINARY

Represents the TELNET Binary Transmission option.

TNO_BYTE_MACRO

Represents the TELNET Byte Macro option.

TNO_DET

Represents the TELNET Data Entry Terminal option.

TNO_EA

Represents the TELNET Extended ASCII option.

TNO_ECHO

Represents the TELNET Echo option.

TNO_ENCRYPT

Represents the TELNET Encryption option.

TNO_EOL

Represents the TELNET Extended-Options-List option.

TNO_EOR

Represents the TELNET End-of-Record option.

TNO_LINEMODE

Represents the TELNET Line Mode option.

TNO_LOGOUT

Represents the TELNET Logout option.

TNO_NAWS

Represents the TELNET NVT Approximate Window Size option.

TNO_OCRD

Represents the TELNET Output Carriage-Return Disposition option.

TNO_OFD

Represents the TELNET option Output FormFeed Disposition.

TNO_OHTD

Represents the TELNET Output Horizontal Tab Disposition option.

TNO_OHTS

Represents the TELNET Output Horizontal Tab Stops option.

TNO_OLD

Represents the TELNET Output Linefeed Disposition option.

TNO_OLW

Represents the TELNET Output Line Width option.

TNO_OM

Represents the TELNET Output Marking option.

TNO_OPS

Represents the TELNET Output Page Size option.

TNO_OVT

Represents the TELNET Output Vertical Tabstops option.

TNO_OVTD

Represents the TELNET Output Vertical Tab Disposition option.

TNO_RCTE

Represents the TELNET Remote Controlled Transmit and Echo option.

TNO_RECONNECT

Represents the TELNET Reconnection option.

TNO_RFLOW

Represents the TELNET Remote Flow Control option.

TNO_SGA

Represents the TELNET Suppress Go Ahead option.

TNO_SL

Represents the TELNET Send Location option.

TNO_STATUS

Represents the TELNET Status option.

TNO_SUPDUP

Represents the TELNET SUPDUP Terminal Service option.

TNO_SUPDUP_OUTPUT

Represents the TELNET SUPDUP Terminal Output option.

TNO_TACACS_ID

Represents the TELNET TACACS User Identification option.

TNO_TERM_SPEED

Represents the TELNET Terminal Speed option.

TNO_TERMTYPE

Represents the TELNET Terminal Type option.

TNO_TIMING_MARK

Represents the TELNET Timing Mark option.

TNO_TLN

Represents the TELNET Terminal Location Number option.

TNO_X3PAD

Represents the TELNET X.3 PAD option.

TNO_XDISPLOC

Represents the TELNET X Display Location option.

TNOS_NAME

Represents a TELNET Suboption Name.

TNOS_REPLY

Represents a TELNET Suboption reply.

TNOS_TERM_IS

Represents the TELNET Temrinal Identification Suboption.

TNOS_TERMTYPE_SEND

Represents the TELNET Terminal Type Send Suboption.


IdTelnetServer.pas

Classes	Types	Constants

Unit: IdTelnetServer.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a Telnet server.


Unit Overview

IdTelnetServer

Classes in Unit IdTelnetServer

EIdLoginException

EIdMaxLoginAttempt

EIdNoOnAuthentication

EIdTelnetServerException

TIdTelnetServer

Specifies a Telnet Protocol server architecture.

TTelnetData

Encapsulates storage for information used by a Telnet connection.


Unit Overview

IdTelnetServer

Types in Unit IdTelnetServer

TAuthenticationEvent

Specifies the event type for user authentication in a TELNET connection.

TIdTelnetNegotiateEvent

Specifies an event type for TELNET option negotiation.


Unit Overview

IdTelnetServer

Constants in Unit IdTelnetServer

GLoginAttempts

Maximum login attempts for a threaded connection to the Telnet server.


IdThread.pas

Classes	Types

Unit: IdThread.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement the Indy thread mamangement framework.


Unit Overview

IdThread

Classes in Unit IdThread

TIdThread

Ancestor for all Indy threads.


Unit Overview

IdThread

Types in Unit IdThread

TIdExceptionEvent

Specifies the event handler for thread exceptions.

TIdThreadClass

Class type for new thread instances.

TIdThreadStopMode

Identifies the manner used to halt a thread.


IdThreadMgr.pas

Classes

Unit: IdThreadMgr.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement the default Indy thread manager.


Unit Overview

IdThreadMgr

Classes in Unit IdThreadMgr

EIdThreadClassNotSpecified

Exception raised when creating a thread without a class type.

EIdThreadMgrError

Ancestor for Indy Thread Manager exceptions.

TIdThreadMgr

Specifies the base class for the Indy thread management framework.


IdThreadMgrDefault.pas

Classes

Unit: IdThreadMgrDefault.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement the default Indy thread manager.


Unit Overview

IdThreadMgrDefault

Classes in Unit IdThreadMgrDefault

TIdThreadMgrDefault

Default thread manager for Indy servers.


IdThreadMgrPool.pas

Classes

Unit: IdThreadMgrPool.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a pooled thread manager in Indy.


Unit Overview

IdThreadMgrPool

Classes in Unit IdThreadMgrPool

TIdThreadMgrPool

Provides thread management using a pool of TIdThread instances.


IdTime.pas

Classes

Unit: IdTime.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a Time protocol client.


Unit Overview

IdTime

Classes in Unit IdTime

TIdTime

Implements a Time client.


IdTimeServer.pas

Classes

Unit: IdTimeServer.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a Time protocol server.


Unit Overview

IdTimeServer

Classes in Unit IdTimeServer

TIdTimeServer

Implements a Time protocol server.


IdTrivialFTP.pas

Classes	Constants

Unit: IdTrivialFTP.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a Trivial FTP client.


Unit Overview

IdTrivialFTP

Classes in Unit IdTrivialFTP

TIdTrivialFTP

Implements a Trivial File Transfer Protocol client.


Unit Overview

IdTrivialFTP

Constants in Unit IdTrivialFTP

GFRequestedBlockSize

Default TrivialFTP request block size.

GTransferMode

Default TrivialFTP transfer mode.


IdTrivialFTPBase.pas

Functions	Types	Constants

Unit: IdTrivialFTPBase.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement the ancestor classes for Trival FTP support.


Unit Overview

IdTrivialFTPBase

Functions in Unit IdTrivialFTPBase

MakeAckPkt

Construct a TFTP acknowledgement packet.

procedure SendError(UDPClient: TIdUDPClient; E: Exception);

Build and send a UDP error message.

procedure SendError(UDPClient: TIdUDPClient; const ErrNumber: Word; ErrorString: string);

Build and send a UDP error message.

procedure SendError(UDPBase: TIdUDPBase; APeerIP: string; const APort: Integer; E: Exception);

Build and send a UDP error message.

procedure SendError(UDPBase: TIdUDPBase; APeerIP: string; const APort: Integer; const ErrNumber: Word; ErrorString: string);

Build and send a UDP error message.

StrToWord

Converts a String to a Word data type.

WordToStr

Converts a Word data type to a String representation.


Unit Overview

IdTrivialFTPBase

Types in Unit IdTrivialFTPBase

TIdTFTPMode

Specifies the transfer mode for data on TFTP connection.

WordStr

Specifies the data type for WordToStr conversions.


Unit Overview

IdTrivialFTPBase

Constants in Unit IdTrivialFTPBase

ErrAccessViolation

Error number for server read file or write file errors.

ErrAllocationExceeded

Exception raised when a TFTP file writing fails.

ErrFileAlreadyExists

Error number for the TFTP File Exists error.

ErrFileNotFound

Error number for File Not Found errors.

ErrIllegalOperation

Error number for illegal operation messages.

ErrNoSuchUser

Error number for TFTP user authentication failure.

ErrOptionNegotiationFailed

Error number for TFTP option negotiation.

ErrUndefined

Error number for undefined TrivialFTP errors.

ErrUnknownTransferID

Error number for an unknown TFTP transfer ID.

hdrsize

Bytes in a TFTP Header.

MaxWord

Specifies the maximum value for a Word data type.

sBlockSize

Value used in TFTP Blocksize Option negotiations.

TFTP_ACK

TrivialFTP Acknowledgment Op Code.

TFTP_DATA

TrivialFTP Data Op Code.

TFTP_ERROR

TrivialFTP Error Op Code.

TFTP_OACK

TrivialFTP Option Acknowledgement Op Code.

TFTP_RRQ

TrivialFTP Read Request Op Code.

TFTP_WRQ

TrivialFTP Write Request Op Code.


IdTrivialFTPServer.pas

Classes	Types

Unit: IdTrivialFTPServer.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a Trivial FTP server.


Unit Overview

IdTrivialFTPServer

Classes in Unit IdTrivialFTPServer

TIdTrivialFTPServer

Implements a Trivial File Transfer Protocol server.

TPeerInfo

Represents connection information for a TrivialFTP client connection.


Unit Overview

IdTrivialFTPServer

Types in Unit IdTrivialFTPServer

TAccessFileEvent

Specifies an event type for reading or writing to a file on the server.

TTransferCompleteEvent

Specifies the event type for completed TFTP transfers.


IdTunnelCommon.pas

Classes	Types	Constants

Unit: IdTunnelCommon.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement common support for IP tunnels.


Unit Overview

IdTunnelCommon

Classes in Unit IdTunnelCommon

EIdEIdTunnelConnectToMasterFailed

EIdTunnelConnectToMasterFailed

Error for a failed connection from a Tunnel Slave to the Tunnel Master.

EIdTunnelCRCFailed

Error raised when a CRC calculation fails.

EIdTunnelCustomMessageInterpretationFailure

Error raised when a Slave thread receives an unknown message type.

EIdTunnelDontAllowConnections

Tunnel Slave cannot accept connections for Service threads.

EIdTunnelException

Ancestor of all Indy Tunnel exceptions.

EIdTunnelInterpretationOfMessageFailed

Error for an invalid session TSlaveThread session message.

EIdTunnelMessageHandlingFailed

Error raised when an invalid data message is received in TSlaveThread.

EIdTunnelMessageTypeRecognitionError

Error for an unknown TSlaveThread message type.

EIdTunnelTransformError

Represents Transform errors on a Tunnel connection.

EIdTunnelTransformErrorBeforeSend

Represents Transform errors prior to transmission on a Tunnel connection.

TIdCoderCRC16

Implements a CRC calculation encoder for Tunnel communication classes.

TIdHeader

Represents encapsulated tunnel headers and data.

TLogger

Implements logging for Indy Tunnel components.

TReceiver

Implements encapsulated tunnel message receipt and processing.

TSender

Implements encapsulated tunnel message construction for transmission.


Unit Overview

IdTunnelCommon

Types in Unit IdTunnelCommon

TIdStatisticsOperation

Represents the statistical operation for the Tunnel component.

TSendMsgEvent

TSendMsgEventC

TSendTrnEvent

TSendTrnEventC

TTunnelEventC


Unit Overview

IdTunnelCommon

Constants in Unit IdTunnelCommon

BUFFERLEN

Default buffer length used by Tunnel communication classes.

BytesReadType

Number of bytes read for the Tunnel component.

BytesWriteType

Number of bytes written for the Tunnel component.

CompressedBytesType

Total compressed bytes handled by the Tunnel component.

CompressionRatioType

Ratio of total byes to total compressed bytes for the Tunnel component.

NumberOfClientsType

Number of client connections for the Tunnel component.

NumberOfConnectionsType

Number of thread or service connections for the Tunnel component.

NumberOfPacketsType

Number of packets handled by the Tunnel component.

NumberOfServicesType

Number of distinct service connections for he Tunnel component.

NumberOfSlavesType

Number of slave connections for the Tunnel component.

tmConnect

message type for a Tunnel connection request.

tmCustom

Message type for user-defined Tunnel message.

tmData

Message type for a Tunnel message containing data.

tmDisconnect

Message type for a Tunnel disconnection request.

tmError

Message type for Tunnel error conditions.


IdTunnelMaster.pas

Classes

Unit: IdTunnelMaster.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement the master controller for IP tunnel connections.


Unit Overview

IdTunnelMaster

Classes in Unit IdTunnelMaster

MClientThread

Performs communication with service threads.

TIdTunnelMaster

Implements a TCP Server for IP encapsulation tunnels.

TSlaveData

Represents a service thread for a tunnel server.


IdTunnelSlave.pas

Classes	Types

Unit: IdTunnelSlave.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement the slave controller for IP tunnel connections.


Unit Overview

IdTunnelSlave

Classes in Unit IdTunnelSlave

TClientData

Represents data about a client connection to TIdTunnelSlave.

TIdTunnelSlave

Implements a server that arbitrates client access using tunnel connections.

TSlaveThread

Implements a listening thread for communication with the tunnel master server.


Unit Overview

IdTunnelSlave

Types in Unit IdTunnelSlave

TTunnelEvent

Specified the event type for slave thread notifications.


IdUDPBase.pas

Classes	Constants

Unit: IdUDPBase.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement the ancestor classes for UDP connections.


Unit Overview

IdUDPBase

Classes in Unit IdUDPBase

EIdUDPException

Ancestor class for Indy UDP exceptions.

EIdUDPReceiveErrorZeroBytes

Exception raised when no data was read from the connection.

TIdUDPBase

Specifies a UDP base class.


Unit Overview

IdUDPBase

Constants in Unit IdUDPBase

ID_UDP_BUFFERSIZE

Default UDP buffer size.


IdUDPClient.pas

Classes

Unit: IdUDPClient.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a UDP client.


Unit Overview

IdUDPClient

Classes in Unit IdUDPClient

TIdUDPClient

Implements a UDP client.


IdUDPServer.pas

Classes	Types

Unit: IdUDPServer.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a UDP server.


Unit Overview

IdUDPServer

Classes in Unit IdUDPServer

EIdNoBindingsSpecified

Exception raised creating the listener thread socket handle.

EIdUDPServerException

Ancestor class for Indy UDP server exceptions.

TIdUDPListenerThread

Specifies the listener thread for TIdUDPServer.

TIdUDPServer

Implements a UDP server.


Unit Overview

IdUDPServer

Types in Unit IdUDPServer

TUDPReadEvent

Specifies the event type for reading data from a UDP socket binding.


IdURI.pas

Classes

Unit: IdURI.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a Universal Resource Identifier class.


Unit Overview

IdURI

Classes in Unit IdURI

TIdURI

Represents a Universal Resource Identifier.


IdVCard.pas

Classes	Types

Unit: IdVCard.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement VCard electronic business cards.


Unit Overview

IdVCard

Classes in Unit IdVCard

TIdCardAddressItem

Encapsulates a complete VCard address.

TIdCardPhoneNumber

Encapsulates a VCard telphone number.

TIdVCard

Implements an electronic business card.

TIdVCardAddresses

Encapsulates VCard addresses.

TIdVCardBusinessInfo

Encapsulates VCard organization information.

TIdVCardEMailAddresses

Encapsulates VCard E-Mail addresses.

TIdVCardEMailItem

encapsulates a VCard E-Mail address.

TIdVCardEmbeddedObject

Encapsulates an embedded object in a VCard.

TIdVCardGeog

Encapsulates geographical information about a VCard owner.

TIdVCardMailingLabelItem

Encapsulates a VCard mailing label.

TIdVCardMailingLabels

Encapsulates a VCard mailing label list.

TIdVCardName

Encapsulates a VCard name.

TIdVCardTelephones

Encapsulates a VCard telephone number collection.


Unit Overview

IdVCard

Types in Unit IdVCard

TIdCardAddressAttributes

Describes a VCard address type.

TIdPhoneAttributes

Describes a VCard telephone number.

TIdVCardEMailType

Describes a VCard e-mail address type.


IdWhois.pas

Classes

Unit: IdWhois.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a WhoIs protocol client.


Unit Overview

IdWhois

Classes in Unit IdWhois

TIdWhois

Implements a WhoIs or Nickname client.


IdWhoIsServer.pas

Classes

Unit: IdWhoIsServer.pas

This file contains Classes, Types, Procedures, and Functions needed to define and implement a WhoIs protocol server.


Unit Overview

IdWhoIsServer

Classes in Unit IdWhoIsServer

TIdWhoIsServer

Implements a WhoIs or Nickname server.


IdWinsock.pas

Classes	Functions	Types	Variables	Constants

The text for this file has been generated automatically. This means that it is not documented.


Unit Overview

IdWinsock

Classes in Unit IdWinsock

_TRANSMIT_FILE_BUFFERS

EIdStackCanNotLoadWinsock

hostent

in_addr

linger

netent

protoent

servent

sockaddr_in

sockproto

SunB

SunW

TFDSet

timeval


Unit Overview

IdWinsock

Functions in Unit IdWinsock

FD_CLR

FD_ISSET

FD_SET

FD_ZERO

LoadWinsock

UnloadWinsock

WinsockLoaded

WSAGetAsyncBuflen

WSAGetAsyncError

WSAGetSelectError

WSAGetSelectEvent

WSAMakeSelectReply

WSAMakeSyncReply


Unit Overview

IdWinsock

Types in Unit IdWinsock

PFDSet

PHostEnt

PInAddr

PLinger

PNetEnt

PProtoEnt

PServEnt

PSOCKADDR

PSockAddrIn

PSockProto

PTimeVal

PTransmitFileBuffers

T__WSAFDIsSetProc

TAcceptExProc

TAcceptProc

TBindProc

TClosesocketProc

TConnectProc

TGetAcceptExSockaddrsProc

TGetHostByAddrProc

TGetHostByNameProc

TGetHostNameProc

TGetPeerNameProc

TGetProtoByNameProc

TgetProtoByNumberProc

TGetServByNameProc

TGetServByPortProc

TGetSockNameProc

TGetSockOptProc

THostEnt

THtonlProc

THtonsProc

TInAddr

TInet_AddrProc

TInet_NtoaProc

TIoctlSocketProc

TListenProc

TNetEnt

TNtohlProc

TNtohsProc

TProtoEnt

TRANSMIT_FILE_BUFFERS

TRecvFromProc

TRecvProc

TSelectProc

TSendProc

TSendToProc

TServEnt

TSetSockOptProc

TShutDownProc

TSockAddr

TSocket

TSocketProc

TSockProto

TTimeVal

TTransmitFileBuffers

TTransmitFileProc

TWSAAsyncGetHostByAddrProc

TWSAAsyncGetHostByNameProc

TWSAAsyncGetProtoByNameProc

TWSAAsyncGetProtoByNumberProc

TWSAAsyncGetServByNameProc

TWSAAsyncGetServByPortProc

TWSAAsyncSelectProc

TWSACancelAsyncRequestProc

TWSACancelBlockingCallProc

TWSACleanupProc

TWSAData

TWSAGetLastErrorProc

TWSAIsBlockingProc

TWSARecvExProc

TWSASetBlockingHookProc

TWSASetLastErrorProc

TWSAStartupProc

TWSAUnhookBlockingHookProc

u_char

u_int

u_long

u_short


Unit Overview

IdWinsock

Variables in Unit IdWinsock

__WSAFDIsSet

Accept

AcceptEx

Bind

CloseSocket

Connect

GetAcceptExSockaddrs

GetHostByAddr

GetHostByName

GetHostName

GetPeerName

GetProtoByname

GetProtoByNumber

GetServByName

GetServByPort

GetSockName

GetSockOpt

Htonl

Htons

Inet_Addr

Inet_Ntoa

IoctlSocket

Listen

Ntohl

Ntohs

Recv

RecvFrom

Select

Send

SendTo

SetSockOpt

ShutDown

Socket

TransmitFile

WSAAsyncGetHostByAddr

WSAAsyncGetHostByName

WSAAsyncGetProtoByName

WSAAsyncGetProtoByNumber

WSAAsyncGetServByName

WSAAsyncGetServByPort

WSAAsyncSelect

WSACancelAsyncRequest

WSACancelBlockingCall

WSACleanup

WSAGetLastError

WSAIsBlocking

WSARecvEx

WSASetBlockingHook

WSASetLastError

WSAStartup

WSAUnhookBlockingHook


Unit Overview

IdWinsock

Constants in Unit IdWinsock

AF_APPLETALK

AF_BAN

AF_CCITT

AF_CHAOS

AF_DATAKIT

AF_DECnet

AF_DLI

AF_ECMA

AF_FIREFOX

AF_HYLINK

AF_IMPLINK

AF_INET

AF_IPX

AF_ISO

AF_LAT

AF_MAX

AF_NETBIOS

AF_NS

AF_OSI

AF_PUP

AF_SNA

AF_UNIX

AF_UNKNOWN1

AF_UNSPEC

AF_VOICEVIEW

EADDRINUSE

EADDRNOTAVAIL

EAFNOSUPPORT

EALREADY

ECONNABORTED

ECONNREFUSED

ECONNRESET

EDESTADDRREQ

EDQUOT

EHOSTDOWN

EHOSTUNREACH

EINPROGRESS

EISCONN

ELOOP

EMSGSIZE

ENAMETOOLONG

ENETDOWN

ENETRESET

ENETUNREACH

ENOBUFS

ENOPROTOOPT

ENOTCONN

ENOTEMPTY

ENOTSOCK

EOPNOTSUPP

EPFNOSUPPORT

EPROCLIM

EPROTONOSUPPORT

EPROTOTYPE

EREMOTE

ESHUTDOWN

ESOCKTNOSUPPORT

ESTALE

ETIMEDOUT

ETOOMANYREFS

EUSERS

EWOULDBLOCK

FD_ACCEPT

FD_CLOSE

FD_CONNECT

FD_OOB

FD_READ

FD_SETSIZE

FD_WRITE

FIOASYNC

FIONBIO

FIONREAD

HOST_NOT_FOUND

IMPLINK_HIGHEXPER

IMPLINK_IP

IMPLINK_LOWEXPER

INVALID_SOCKET

IOC_IN

IOC_INOUT

IOC_OUT

IOC_VOID

IOCPARM_MASK

IP_ADD_MEMBERSHIP

IP_DEFAULT_MULTICAST_LOOP

IP_DEFAULT_MULTICAST_TTL

IP_DONTFRAGMENT

IP_DROP_MEMBERSHIP

IP_MAX_MEMBERSHIPS

IP_MULTICAST_IF

IP_MULTICAST_LOOP

IP_MULTICAST_TTL

IP_OPTIONS

IP_TOS

IP_TTL

IPPORT_RESERVED

IPPROTO_GGP

IPPROTO_ICMP

IPPROTO_IDP

IPPROTO_IGMP

IPPROTO_IP

IPPROTO_MAX

IPPROTO_ND

IPPROTO_PUP

IPPROTO_RAW

IPPROTO_TCP

IPPROTO_UDP

MAXGETHOSTSTRUCT

MSG_DONTROUTE

MSG_MAXIOVLEN

MSG_OOB

MSG_PARTIAL

MSG_PEEK

NO_ADDRESS

NO_DATA

NO_RECOVERY

PF_APPLETALK

PF_BAN

PF_CCITT

PF_CHAOS

PF_DATAKIT

PF_DECnet

PF_DLI

PF_ECMA

PF_FIREFOX

PF_HYLINK

PF_IMPLINK

PF_INET

PF_IPX

PF_ISO

PF_LAT

PF_MAX

PF_NS

PF_OSI

PF_PUP

PF_SNA

PF_UNIX

PF_UNKNOWN1

PF_UNSPEC

PF_VOICEVIEW

SO_ACCEPTCONN

SO_BROADCAST

SO_CONNDATA

SO_CONNDATALEN

SO_CONNECT_TIME

SO_CONNOPT

SO_CONNOPTLEN

SO_DEBUG

SO_DISCDATA

SO_DISCDATALEN

SO_DISCOPT

SO_DISCOPTLEN

SO_DONTLINGER

SO_DONTROUTE

SO_ERROR

SO_KEEPALIVE

SO_LINGER

SO_MAXDG

SO_MAXPATHDG

SO_OOBINLINE

SO_OPENTYPE

SO_RCVBUF

SO_RCVLOWAT

SO_RCVTIMEO

SO_REUSEADDR

SO_SNDBUF

SO_SNDLOWAT

SO_SNDTIMEO

SO_SYNCHRONOUS_ALERT

SO_SYNCHRONOUS_NONALERT

SO_TYPE

SO_UPDATE_ACCEPT_CONTEXT

SO_USELOOPBACK

SOCK_DGRAM

SOCK_RAW

SOCK_RDM

SOCK_SEQPACKET

SOCK_STREAM

SOCKET_ERROR

SOL_SOCKET

SOMAXCONN

TCP_BSDURGENT

TF_DISCONNECT

TF_REUSE_SOCKET

TF_WRITE_BEHIND

TRY_AGAIN

WSABASEERR

WSAEACCES

WSAEADDRINUSE

WSAEADDRNOTAVAIL

WSAEAFNOSUPPORT

WSAEALREADY

WSAEBADF

WSAECONNABORTED

WSAECONNREFUSED

WSAECONNRESET

WSAEDESTADDRREQ

WSAEDISCON

WSAEDQUOT

WSAEFAULT

WSAEHOSTDOWN

WSAEHOSTUNREACH

WSAEINPROGRESS

WSAEINTR

WSAEINVAL

WSAEISCONN

WSAELOOP

WSAEMFILE

WSAEMSGSIZE

WSAENAMETOOLONG

WSAENETDOWN

WSAENETRESET

WSAENETUNREACH

WSAENOBUFS

WSAENOPROTOOPT

WSAENOTCONN

WSAENOTEMPTY

WSAENOTSOCK

WSAEOPNOTSUPP

WSAEPFNOSUPPORT

WSAEPROCLIM

WSAEPROTONOSUPPORT

WSAEPROTOTYPE

WSAEREMOTE

WSAESHUTDOWN

WSAESOCKTNOSUPPORT

WSAESTALE

WSAETIMEDOUT

WSAETOOMANYREFS

WSAEUSERS

WSAEWOULDBLOCK

WSAHOST_NOT_FOUND

WSANO_ADDRESS

WSANO_DATA

WSANO_RECOVERY

WSANOTINITIALISED

WSASYSNOTREADY

WSATRY_AGAIN

WSAVERNOTSUPPORTED


Introduction to Internet Direct

Group Topics

This section includes topics to familiarize members of the Open Source community with the Internet Direct (Indy) project and organization.


Introduction to Internet Direct

Introduction to Internet Direct

Internet Direct Credits

Internet Direct Sponsors

Technical Support

What Is Internet Direct?


Internet Direct Credits

Introduction to Internet Direct

Indy Project Organizer

Chad Hower (Kudzu)

Mercury Team

The Mercury Team is the Indy "Steering Committee", and makes all the executive decisions affecting the project.

Chairperson: Chad Z. Hower (Kudzu)

Vice-Chairperson: Hadi Hariri

Mercury Team Members (Alphabetically by last name):

Mark Holmes

Gregor Ibic

Jim Gunkel

Stephane Grobety

Andrew Mee

Rune Moberg

J. Peter Mugaas

Allen O'Neill

Don Siders

Charles Stack

Indy Core Team (aka the "Indy Pit Crew")

The Indy Core Team is the team that actively works on the core. The Core Team works both on its own as well as with members of the Dev Team. All changes that are merged into the Indy core are done via this Team.

Members of the Indy Core Team are chosen from members of the Dev Team from time to time. If you want to become a part of the core team, join the Dev Team and get active!

Chairperson: Chad Z. Hower (Kudzu)

Vice-Chairperson: Hadi Hariri

Indy Core Team Members (Alphabetically by last name):

Mark Holmes

Gregor Ibic

Jim Gunkel

Stephane Grobety

Andrew Mee

Rune Moberg

J. Peter Mugaas

Allen O'Neill

Don Siders

Charles Stack

Indy Dev Team

The Indy Dev Team is for those interested in contributing and/or discussing issues for the current Indy core. The Dev Team has read only access to the current core as well as direct access to members of the Core Team. Any one interested in developing for the Indy core should start here. This team is also open to lurkers and learners. Contributions are not required.

Chairperson: Chad Z. Hower (Kudzu)

Vice-Chairperson: Hadi Hariri

Indy Demo Team

The Demo Team is for those interested in contributing and/or discussing issues for the current Indy Demos.

Chairperson: Allen O'Neill

Indy Docs Team

The Indy Docs Team is a volunteer effort to provide documentation for the Internet Direct (Indy) component suite. The Docs Team is for those interested in contributing and/or discussing issues for the Indy Documentation.

Chairperson: Don Siders

Indy Docs Team Members (Alphabetically by last name):

Chad Hower

Stephane Grobety

Hadi Hariri

J. Peter Mugaas

Indy Distribution Team

The Indy Distribution Team is the team that prepares Indy source code and help files releases for distribution to the Open Source community.

Chairperson: J. Peter Mugaas


Related Topic Groups

Introduction to Internet Direct -> Topics


Internet Direct Sponsors

Introduction to Internet Direct

Nevrona Designs

Nevrona Designs  is the primary Corporate sponsor for the Open Source Internet Direct project. Nevrona Designs is a producer of tools for Object Pascal and C++ developers that include:

Rave Visual and Code-Based Reporting Tool

ReportPrinter Pro

ND-IntraWeb

IndyPro

AdHocery

ND-Patterns

ND-Source

Nevrona Designs also provides World-Wide-Web and FTP hosting for the Internet Direct project.

ToolsFactory

ToolsFactory  is the developer of the Doc-O-Matic application, used by the Indy Docs project to produce the documentation for Internet Direct.

Doc-O-Matic  is a source code documentation system that makes documentation of source code very easy. It provides an intuitive interface for managing documentation projects and it creates powerful documentation in various different formats such as HTML, HTMLHelp, Windows Help, RTF and PDF (PDF is not supported at the moment).

Doc-O-Matic currently supports C++ and Object Pascal.


Related Topic Groups

Introduction to Internet Direct -> Topics


Technical Support

Introduction to Internet Direct

Where can I get technical support?

Indy technical support is available from several sources.

Consult the Indy web site at http://www.nevrona.com/indy  for updated Documentation , FAQS , and related Indy Articles .

Free technical support is also available in the Borland developer community by accessing the Borland Newsgroups at news://newsgroups.borland.com . Team Indy monitors the borland.public.delphi.internet.winsock and borland.public.cppbuilder.internet newsgroups on a regular basis. This also allows the Open Source community to benefit from your posts.

Paid Priority technical support is also available from Nevrona Design in their IndyPro  technical support subscription services. If you are interested in professional, timely technical support for Indy, Nevrona Design provides several annual subscription plans to help you get over the bumps and pitfalls of Internet programming.

Problem and Bug Reporting

Problems and Bugs Reports should be directed to the Indy Bug List .


Related Topic Groups

Introduction to Internet Direct -> Topics


What Is Internet Direct?

Introduction to Internet Direct

What Is Indy?

Internet Direct (Indy) is an open source internet component suite comprised of popular internet protocols. Both client and server implementations are included as well as full source code and comprehensive demos.

Indy is an open source internet development library for the Borland Delphi, C++ Builder, and Kylix product lines, and is based entirely on blocking sockets. The Indy Client components are easy to use because you write your transactions in a sequence. The Indy Servers are multithreaded.

The Indy Licenses

Indy is dual licensed. You can review which license better suits your needs, and use that license. You can even change your mind later if you have previously chosen one.

The Indy BSD License

The Indy BSD license is a very no nonsense license that allows you to do almost anything you want with Indy, provided you provide proper attribution. The Indy BSD License can be found at http://www.nevrona.com/Indy/BSDLicense.html .

The Indy MPL License

To make it easier and consistent for JEDI users, we also offer an MPL v1.1 (Mozilla Public License). The Indy MPL License can be found at http://www.mozilla.org/MPL/MPL-1.1.html .

Mozilla is the Open Source initiative formulated by Netscape for the next generation of their web browsers. Netscape states "We believe this license satisfies the Debian Free Software Guidelines which provide a commonly accepted definition of "free software," much like other free software licenses such as GPL or BSD."

Project JEDI's implementation of the MPL allows developers to use its code in their applications ("Larger Work") regardless of whether the intended distribution will be in the public domain or as commercial applications, as long as the license conditions are met. For a more detailed explanation, an annotated version of the MPL  is available.


Related Topic Groups

Introduction to Internet Direct -> Topics