KVIrc 5.2.6
Developer APIs
KviProxyDataBase.h
Go to the documentation of this file.
1#ifndef _KVI_PROXYDB_H_
2#define _KVI_PROXYDB_H_
3//=============================================================================
4//
5// File : KviProxyDataBase.h
6// Creation date : Sat Jul 22 2000 18:19:01 by Szymon Stefanek
7//
8// This file is part of the KVIrc IRC client distribution
9// Copyright (C) 2000-2010 Szymon Stefanek (pragma at kvirc dot net)
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#include "kvi_settings.h"
28#include "KviProxy.h"
29
30#include <memory>
31#include <utility>
32#include <vector>
33
34class QString;
35
37{
38public:
39 KviProxyDataBase() : m_pCurrentProxy() {};
42
43private:
44 std::vector<std::unique_ptr<KviProxy>> m_pProxyList;
46
47public:
48 void clear();
49 std::vector<std::unique_ptr<KviProxy>> & proxyList() { return m_pProxyList; };
50 KviProxy * currentProxy() { return m_pCurrentProxy; };
51 KviProxy * findProxy(const KviProxy * pProxy, bool bName);
52 void updateProxyIp(const char * proxy, const char * ip);
53 void setCurrentProxy(KviProxy * prx) { m_pCurrentProxy = prx; };
54 void insertProxy(std::unique_ptr<KviProxy> prx) { m_pProxyList.push_back(std::move(prx)); };
55 void load(const QString & filename);
56 void save(const QString & filename);
57};
58
59#endif //_KVI_PROXYDB_H_
btnDict clear()
Definition KviProxyDataBase.h:37
KviProxyDataBase()
Definition KviProxyDataBase.h:39
KviProxyDataBase(const KviProxyDataBase &)=delete
KviProxyDataBase & operator=(const KviProxyDataBase &)=delete
std::vector< std::unique_ptr< KviProxy > > m_pProxyList
Definition KviProxyDataBase.h:44
KviProxy * m_pCurrentProxy
Definition KviProxyDataBase.h:45
void insertProxy(std::unique_ptr< KviProxy > prx)
Definition KviProxyDataBase.h:54
std::vector< std::unique_ptr< KviProxy > > & proxyList()
Definition KviProxyDataBase.h:49
void setCurrentProxy(KviProxy *prx)
Definition KviProxyDataBase.h:53
KviProxy * currentProxy()
Definition KviProxyDataBase.h:50
Definition KviProxy.h:37
This file contains compile time settings.
#define KVILIB_API
Definition kvi_settings.h:124