# Class TNNTPSend

Description | Hierarchy | Fields | Methods | Properties

## Unit

nntpsend

## Declaration

`type TNNTPSend = class(TSynaClient)`

## Description

abstract(Implementation of Network News Transfer Protocol.

Note: Are you missing properties for setting Username and Password? Look to parent TSynaClient object!

Are you missing properties for specify server address and port? Look to parent TSynaClient too!

## Hierarchy

- TObject
- TSynaClient
- TNNTPSend

## Overview

### Methods

| `constructor Create;`
| `destructor Destroy; override;`
| `function Login: Boolean;`
| `function Logout: Boolean;`
| `function DoCommand(const Command: string): boolean;`
| `function DoCommandRead(const Command: string): boolean;`
| `function DoCommandWrite(const Command: string): boolean;`
| `function GetArticle(const Value: string): Boolean;`
| `function GetBody(const Value: string): Boolean;`
| `function GetHead(const Value: string): Boolean;`
| `function GetStat(const Value: string): Boolean;`
| `function SelectGroup(const Value: string): Boolean;`
| `function IHave(const MessID: string): Boolean;`
| `function GotoLast: Boolean;`
| `function GotoNext: Boolean;`
| `function ListGroups: Boolean;`
| `function ListNewGroups(Since: TDateTime): Boolean;`
| `function NewArticles(const Group: string; Since: TDateTime): Boolean;`
| `function PostArticle: Boolean;`
| `function SwitchToSlave: Boolean;`
| `function Xover(xoStart, xoEnd: string): boolean;`
| `function StartTLS: Boolean;`
| `function FindCap(const Value: string): string;`
| `function ListExtensions: Boolean;`

### Properties

| `property ResultCode: Integer read FResultCode;`
| `property ResultString: string read FResultString;`
| `property Data: TStringList read FData;`
| `property AutoTLS: Boolean read FAutoTLS Write FAutoTLS;`
| `property FullSSL: Boolean read FFullSSL Write FFullSSL;`
| `property Sock: TTCPBlockSocket read FSock;`

## Description

### Methods

| `constructor Create;`

| `destructor Destroy; override;`

| `function Login: Boolean;`

Connects to NNTP server and begin session.

| `function Logout: Boolean;`

Logout from NNTP server and terminate session.

| `function DoCommand(const Command: string): boolean;`

By this you can call any NNTP command.

| `function DoCommandRead(const Command: string): boolean;`

by this you can call any NNTP command. This variant is used for commands for download information from server.

| `function DoCommandWrite(const Command: string): boolean;`

by this you can call any NNTP command. This variant is used for commands for upload information to server.

| `function GetArticle(const Value: string): Boolean;`

Download full message to Data property. Value can be number of message or message-id (in brackets).

| `function GetBody(const Value: string): Boolean;`

Download only body of message to Data property. Value can be number of message or message-id (in brackets).

| `function GetHead(const Value: string): Boolean;`

Download only headers of message to Data property. Value can be number of message or message-id (in brackets).

| `function GetStat(const Value: string): Boolean;`

Get message status. Value can be number of message or message-id (in brackets).

| `function SelectGroup(const Value: string): Boolean;`

Select given group.

| `function IHave(const MessID: string): Boolean;`

Tell to server 'I have mesage with given message-ID.' If server need this message, message is uploaded to server.

| `function GotoLast: Boolean;`

Move message pointer to last item in group.

| `function GotoNext: Boolean;`

Move message pointer to next item in group.

| `function ListGroups: Boolean;`

Download to Data property list of all groups on NNTP server.

| `function ListNewGroups(Since: TDateTime): Boolean;`

Download to Data property list of all groups created after given time.

| `function NewArticles(const Group: string; Since: TDateTime): Boolean;`

Download to Data property list of message-ids in given group since given time.

| `function PostArticle: Boolean;`

Upload new article to server. (for new messages by you)

| `function SwitchToSlave: Boolean;`

Tells to remote NNTP server 'I am not NNTP client, but I am another NNTP server'.

| `function Xover(xoStart, xoEnd: string): boolean;`

Call NNTP XOVER command.

| `function StartTLS: Boolean;`

Call STARTTLS command for upgrade connection to SSL/TLS mode.

| `function FindCap(const Value: string): string;`

Try to find given capability in extension list. This list is getted after successful login to NNTP server. If extension capability is not found, then return is empty string.

| `function ListExtensions: Boolean;`

Try get list of server extensions. List is returned in Data property.

### Properties

| `property ResultCode: Integer read FResultCode;`

Result code number of last operation.

| `property ResultString: string read FResultString;`

String description of last result code from NNTP server.

| `property Data: TStringList read FData;`

Readed data. (message, etc.)

| `property AutoTLS: Boolean read FAutoTLS Write FAutoTLS;`

If is set to `True`, then upgrade to SSL/TLS mode after login if remote server support it.

| `property FullSSL: Boolean read FFullSSL Write FFullSSL;`

SSL/TLS mode is used from first contact to server. Servers with full SSL/TLS mode usualy using non-standard TCP port!

| `property Sock: TTCPBlockSocket read FSock;`

Socket object used for TCP/IP operation. Good for seting OnStatus hook, etc.

Generated by PasDoc 0.9.0 on 2012-04-23 21:38:51