54 lines
878 B
C++
54 lines
878 B
C++
#ifndef CONNECTIONLIST_H
|
|
#define CONNECTIONLIST_H
|
|
|
|
#include "ConnectionConfig.h"
|
|
|
|
#include <QString>
|
|
#include <QUuid>
|
|
#include <vector>
|
|
#include "Expected.h"
|
|
|
|
|
|
class ConnectionList {
|
|
private:
|
|
static QString iniFileName();
|
|
|
|
public:
|
|
|
|
ConnectionList();
|
|
int size() const { return m_connections.size(); }
|
|
|
|
ConnectionConfig& getConfigByIdx(int idx)
|
|
{
|
|
return m_connections.at(idx).m_config;
|
|
}
|
|
|
|
int createNew();
|
|
|
|
void remove(int idx, int count);
|
|
|
|
void load();
|
|
void save();
|
|
void save(int index);
|
|
|
|
|
|
private:
|
|
class LijstElem {
|
|
public:
|
|
QUuid m_uuid;
|
|
ConnectionConfig m_config;
|
|
|
|
LijstElem(const QUuid id, const ConnectionConfig &cfg)
|
|
: m_uuid(id), m_config(cfg)
|
|
{}
|
|
};
|
|
|
|
using t_Connections = std::vector<LijstElem>;
|
|
t_Connections m_connections;
|
|
|
|
void deleteFromIni(t_Connections::iterator begin, t_Connections::iterator end);
|
|
|
|
|
|
};
|
|
|
|
#endif // CONNECTIONLIST_H
|