• Skip to content
  • Skip to link menu
  • KDE API Reference
  • kdepimlibs-4.10.5 API Reference
  • KDE Home
  • Contact Us
 

kioslave/nntp

  • kioslave
  • nntp
nntp.h
1 /* This file is part of KDE
2  Copyright (C) 2000 by Wolfram Diestel <wolfram@steloj.de>
3  Copyright (C) 2005 by Tim Way <tim@way.hrcoxmail.com>
4  Copyright (C) 2005 by Volker Krause <vkrause@kde.org>
5 
6  This is free software; you can redistribute it and/or
7  modify it under the terms of the GNU Library General Public
8  License version 2 as published by the Free Software Foundation.
9 */
10 
11 #ifndef _NNTP_H
12 #define _NNTP_H
13 
14 
15 #include <kio/global.h>
16 #include <kio/tcpslavebase.h>
17 
18 #define MAX_PACKET_LEN 8192
19 
20 /* TODO:
21  - test special post command
22  - progress information in get, and maybe post
23  - remove unnecessary debug stuff
24 */
34 class NNTPProtocol:public KIO::TCPSlaveBase
35 {
36 
37  public:
41  NNTPProtocol ( const QByteArray & pool, const QByteArray & app, bool isSSL );
42  virtual ~NNTPProtocol();
43 
44  virtual void get(const KUrl& url );
45  virtual void put( const KUrl& url, int permissions, KIO::JobFlags flags );
46  virtual void stat(const KUrl& url );
47  virtual void listDir(const KUrl& url );
48  virtual void setHost(const QString& host, quint16 port,
49  const QString& user, const QString& pass);
50 
58  virtual void special(const QByteArray& data);
59 
60  protected:
61 
66  int sendCommand( const QString &cmd );
67 
72  void nntp_close ();
73 
78  bool nntp_open();
79 
83  bool post_article();
84 
85 
86  private:
87  QString mHost, mUser, mPass;
88  quint16 m_port, m_defaultPort;
89  bool postingAllowed, isAuthenticated;
90  char readBuffer[MAX_PACKET_LEN];
91  ssize_t readBufferLen;
93  QString mCurrentGroup;
94 
101  void fetchGroups( const QString &since, bool desc );
111  bool fetchGroup ( QString &group, unsigned long first = 0, unsigned long max = 0 );
118  bool fetchGroupRFC977( unsigned long first );
129  bool fetchGroupXOVER( unsigned long first, bool &notSupported );
131  void fillUDSEntry ( KIO::UDSEntry & entry, const QString & name, long size,
132  bool is_article, long access = 0 );
134  void unexpected_response ( int res_code, const QString & command );
140  int evalResponse ( char *data, ssize_t &len );
146  int authenticate();
147 };
148 
149 #endif
This file is part of the KDE documentation.
Documentation copyright © 1996-2013 The KDE developers.
Generated on Sat Jul 13 2013 01:25:36 by doxygen 1.8.3.1 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kioslave/nntp

Skip menu "kioslave/nntp"
  • Main Page
  • Alphabetical List
  • Class List
  • Class Members
  • File List
  • Related Pages

kdepimlibs-4.10.5 API Reference

Skip menu "kdepimlibs-4.10.5 API Reference"
  • akonadi
  •   contact
  •   kmime
  •   socialutils
  • kabc
  • kalarmcal
  • kblog
  • kcal
  • kcalcore
  • kcalutils
  • kholidays
  • kimap
  • kioslave
  •   imap4
  •   mbox
  •   nntp
  • kldap
  • kmbox
  • kmime
  • kontactinterface
  • kpimidentities
  • kpimtextedit
  • kpimutils
  • kresources
  • ktnef
  • kxmlrpcclient
  • mailtransport
  • microblog
  • qgpgme
  • syndication
  •   atom
  •   rdf
  •   rss2
Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal