#include "userlist.h"
#include <fstream>
UserList::UserList(const string& FileName){
LoadFromFile(FileName);
}
UserList::~UserList() {
}
UserList::UserList(const UserList& aList) {
m_List = aList.m_List;
}
UserList& UserList::operator=(const UserList& aList) {
if (this != &aList) {
m_List = aList.m_List;
}
return *this;
}
void UserList::LoadFromFile(const string& FileName) {
ifstream inFile(FileName.c_str());
m_List.clear();
unsigned int UserCount;
string UserName;
string Password;
string Type;
inFile >> UserCount;
inFile.get();
m_List.push_back(User(inFile));
inFile.close();
}
void UserList::SaveToFile(const string& FileName) const {
ofstream OutFile(FileName.c_str());
OutFile << m_List.size() << endl;
for (unsigned int i = 0; i < m_List.size(); i++) {
m_List[i].SaveToFileStream(OutFile);
}
}
const User* UserList::GetUser(const string& Name, const string& Password) const {
const User* Current = nullptr;
for (unsigned int i = 0; i < m_List.size(); i++) {
if (m_List[i].GetName() == Name && m_List[i].TestPassword(Password)) {
Current = &m_List[i];
break;
}
}
return Current;
}