KVIrc 5.2.6
Developer APIs
KviProxy.h
Go to the documentation of this file.
1#ifndef _KVIPROXY_H_
2#define _KVIPROXY_H_
3//=============================================================================
4//
5// File : KviProxy.h
6// Creation date : Wed Dec 29 2010 01:58:01 by Elvio Basello
7//
8// This file is part of the KVIrc IRC client distribution
9// Copyright (C) 2010 Elvio Basello (hellvis69 at gmail dot com)
10//
11// This program is FREE software. You can redistribute it and/or
12// modify it under the terms of the GNU General Public License
13// as published by the Free Software Foundation; either version 2
14// of the License, or (at your option) any later version.
15//
16// This program is distributed in the HOPE that it will be USEFUL,
17// but WITHOUT ANY WARRANTY; without even the implied warranty of
18// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
19// See the GNU General Public License for more details.
20//
21// You should have received a copy of the GNU General Public License
22// along with this program. If not, write to the Free Software Foundation,
23// Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
24//
25//=============================================================================
26
27// this file was originally part of KviProxyDataBase.h
28
29#include "kvi_settings.h"
30#include "kvi_inttypes.h"
31
32#include <QString>
33
34#include <QStringList>
35
37{
38public:
45 KviProxy();
47
48private:
49 QString m_szHostname;
50 QString m_szIp;
51 QString m_szUser;
52 QString m_szPass;
53 kvi_u32_t m_uPort;
56
57public:
58 bool isIPv6() const { return m_bIsIPv6; }
59 Protocol protocol() const { return m_protocol; }
60 const QString protocolName() const;
61 void setNamedProtocol(const QString & proto);
62 kvi_u32_t port() const { return m_uPort; }
63 const QString & user() const { return m_szUser; }
64 const QString & pass() const { return m_szPass; }
65 const QString & ip() const { return m_szIp; }
66 const QString & hostname() const { return m_szHostname; }
67 void normalizeUserAndPass();
68 bool hasPass() const { return !m_szPass.isEmpty(); }
69 bool hasUser() const { return !m_szUser.isEmpty(); }
70 int passLen() const { return m_szPass.length(); }
71 int userLen() const { return m_szUser.length(); }
72 static QStringList getSupportedProtocolNames();
73
75 void setIPv6(bool b) { m_bIsIPv6 = b; }
76 void setPort(kvi_u32_t p) { m_uPort = p; }
77 void setUser(const QString & u) { m_szUser = u; }
78 void setPass(const QString & p) { m_szPass = p; }
79 void setIp(const QString & i) { m_szIp = i; }
80 void setHostname(const QString & h) { m_szHostname = h; }
81};
82
83#endif // _KVIPROXY_H_
Definition KviProxy.h:37
void setPass(const QString &p)
Definition KviProxy.h:78
QString m_szHostname
Definition KviProxy.h:49
Protocol protocol() const
Definition KviProxy.h:59
int passLen() const
Definition KviProxy.h:70
const QString & pass() const
Definition KviProxy.h:64
void setProtocol(Protocol p)
Definition KviProxy.h:74
bool hasPass() const
Definition KviProxy.h:68
QString m_szUser
Definition KviProxy.h:51
void setPort(kvi_u32_t p)
Definition KviProxy.h:76
Protocol m_protocol
Definition KviProxy.h:54
const QString & ip() const
Definition KviProxy.h:65
Protocol
Definition KviProxy.h:40
@ Socks5
Definition KviProxy.h:42
@ Socks4
Definition KviProxy.h:41
@ Http
Definition KviProxy.h:43
void setHostname(const QString &h)
Definition KviProxy.h:80
const QString & user() const
Definition KviProxy.h:63
QString m_szPass
Definition KviProxy.h:52
bool m_bIsIPv6
Definition KviProxy.h:55
bool isIPv6() const
Definition KviProxy.h:58
int userLen() const
Definition KviProxy.h:71
void setIPv6(bool b)
Definition KviProxy.h:75
kvi_u32_t port() const
Definition KviProxy.h:62
bool hasUser() const
Definition KviProxy.h:69
const QString & hostname() const
Definition KviProxy.h:66
KviProxy()
Definition KviProxy.cpp:29
kvi_u32_t m_uPort
Definition KviProxy.h:53
void setIp(const QString &i)
Definition KviProxy.h:79
QString m_szIp
Definition KviProxy.h:50
void setUser(const QString &u)
Definition KviProxy.h:77
#define i
Definition detector.cpp:74
#define u
Definition detector.cpp:86
#define h
Definition detector.cpp:73
#define p
Definition detector.cpp:81
This file contains compile time settings.
#define KVILIB_API
Definition kvi_settings.h:124