libktorrent  2.1.1
peerid.h
1 /***************************************************************************
2  * Copyright (C) 2005 by Joris Guisson *
3  * joris.guisson@gmail.com *
4  * *
5  * This program is free software; you can redistribute it and/or modify *
6  * it under the terms of the GNU General Public License as published by *
7  * the Free Software Foundation; either version 2 of the License, or *
8  * (at your option) any later version. *
9  * *
10  * This program is distributed in the hope that it will be useful, *
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13  * GNU General Public License for more details. *
14  * *
15  * You should have received a copy of the GNU General Public License *
16  * along with this program; if not, write to the *
17  * Free Software Foundation, Inc., *
18  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
19  ***************************************************************************/
20 #ifndef BTPEERID_H
21 #define BTPEERID_H
22 
23 #include <qstring.h>
24 #include <ktorrent_export.h>
25 
26 namespace bt
27 {
28 
32  class KTORRENT_EXPORT PeerID
33  {
34  char id[20];
35  QString client_name;
36  public:
37  PeerID();
38  PeerID(const char* pid);
39  PeerID(const PeerID & pid);
40  virtual ~PeerID();
41 
42  PeerID & operator = (const PeerID & pid);
43 
44  const char* data() const {return id;}
45 
46  QString toString() const;
47 
53  QString identifyClient() const;
54 
55  friend bool operator == (const PeerID & a,const PeerID & b);
56  friend bool operator != (const PeerID & a,const PeerID & b);
57  friend bool operator < (const PeerID & a,const PeerID & b);
58  };
59 
60 }
61 
62 #endif