private void downloadHeadersSetGroupUnit_Finished(AsciiProtocolUnit unit) { NntpSetGroupUnit setGroupUnit = (NntpSetGroupUnit)unit; string response = setGroupUnit.ResponseLine; if (response != null) { while (response.StartsWith("211")) { string[] parts = response.Split(' '); _firstArticleCopy = _firstArticle = Int32.Parse(parts[2]); _lastArticle = Int32.Parse(parts[3]); SetArticleNumbersRange(ref _firstArticle, ref _lastArticle); if (_lastArticle == 0 || _lastArticle < _firstArticle) { break; } _getHeadersUnit = new AsciiSendLineAndApplyMethodUnit( "xover " + _firstArticle + '-' + _lastArticle, ".\r\n", new LineDelegate(ProcessHeadersLine)); _getHeadersUnit.Finished += new AsciiProtocolUnitDelegate(getHeadersUnit_Finished); StartUnit(_getHeadersUnit, _connection); return; } } FireFinished(); }
private void GetArticleByNumber(string articleNumber) { _articleAvailable = false; _getArticleUnit = new AsciiSendLineAndApplyMethodUnit( "article " + articleNumber, ".\r\n", new LineDelegate(getArticleByNumberUnitProcessLine)); _getArticleUnit.Finished += new AsciiProtocolUnitDelegate(getArticleUnit_Finished); StartUnit(_getArticleUnit, _connection); }
private void GetArticleById() { _articleAvailable = false; _articleId = ParseTools.UnescapeCaseSensitiveString(_article.GetPropText(NntpPlugin._propArticleId)); _getArticleUnit = new AsciiSendLineAndApplyMethodUnit( "article " + _articleId, ".\r\n", new LineDelegate(getArticleByIdUnitProcessLine)); _getArticleUnit.Finished += new AsciiProtocolUnitDelegate(getArticleUnit_Finished); StartUnit(_getArticleUnit, _connection); }
protected override void Start(AsciiTcpConnection connection) { _connection = connection; _enumGroupsUnit = new AsciiSendLineAndApplyMethodUnit( _nntpCmd, ".\r\n", new LineDelegate(ProcessGroupLine)); _enumGroupsUnit.Finished += new AsciiProtocolUnitDelegate(enumGroupsUnit_Finished); _startUpdateDate = DateTime.Now; StartUnit(_enumGroupsUnit, connection); }