00001 /* 00002 00003 Copyright (C) 2005-2007 by Peter Dimov. 00004 00005 This file is part of Calitko (http://www.calitko.org). 00006 00007 Calitko is free software; you can redistribute it and/or modify 00008 it under the terms of the GNU General Public License as published by 00009 the Free Software Foundation; either version 2 of the License, or 00010 (at your option) any later version. 00011 00012 Calitko is distributed in the hope that it will be useful, 00013 but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 GNU General Public License for more details. 00016 00017 You should have received a copy of the GNU General Public License 00018 along with Calitko; if not, write to the Free Software 00019 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00020 00021 */ 00022 00023 #ifndef GNUTELLA__HANDSHAKING__RESPONSE_HEADER_H 00024 #define GNUTELLA__HANDSHAKING__RESPONSE_HEADER_H 00025 00026 #include "Imports.h" 00027 00028 // Open containing namespaces: 00029 namespace Gnutella { 00030 namespace Handshaking { 00032 00034 00052 class ResponseHeader: public Http::Header 00053 { 00054 public: 00063 ResponseHeader () : majorVersion_ (0), minorVersion_ (0), 00064 statusCode_ (0), reasonPhrase_() 00065 {} 00066 ResponseHeader (const ResponseHeader &header); 00067 ResponseHeader (const QString &str); 00068 ResponseHeader (int code, const QString &phrase, int majorVer = 0, int minorVer = 6); 00069 ResponseHeader& operator= (const ResponseHeader &header); 00070 00071 int majorVersion() const { return majorVersion_; } 00072 int minorVersion() const { return minorVersion_; } 00073 int statusCode() const { return statusCode_; } 00074 QString reasonPhrase() const { return reasonPhrase_; } 00075 00076 QString toString() const; 00077 00078 protected: 00079 bool parseLine (const QString &line, int number); 00080 00081 private: 00082 int majorVersion_; 00083 int minorVersion_; 00084 int statusCode_; 00085 QString reasonPhrase_; 00086 }; 00087 00088 // Close containing namespaces: 00089 } // namespace Handshaking 00090 } // namespace Gnutella 00092 00093 #endif // GNUTELLA__HANDSHAKING__RESPONSE_HEADER_H