Files
2022-07-20 12:30:46 +05:00

53 lines
1.2 KiB
C++

#include <windows.h>
#include <cstdint>
#include <vector>
#include "user.h"
#pragma once
class session
{
private:
std::vector<DWORD> procIds;
uint32_t sessId = 0;
uint16_t port = 0;
std::string sessLink;
std::vector<user> users;
std::string ownerIp;
public:
session() {}
session(uint32_t sessId, std::string sessLink, std::string ownerIp, uint16_t port)
{
this->sessId = sessId;
this->sessLink = sessLink;
this->ownerIp = ownerIp;
this->port = port;
}
void addUser(user u)
{
users.push_back(u);
}
void removeUserById(uint32_t id)
{
for (int i = 0; i < users.size(); ++i)
if (users[i].getId() == id)
users.erase(users.begin() + i);
}
bool existsUserId(uint32_t id) const
{
for (auto& u : users)
if (u.getId() == id)
return true;
return false;
}
inline size_t getUsersCount() const { return users.size(); }
inline const uint32_t& getId() const { return sessId; }
inline const uint32_t& getOwnerId() const { return sessId; }
inline const std::vector<DWORD>& getProcIds() const { return procIds; }
inline void addProcId(DWORD procId) { procIds.push_back(procId); }
inline const std::string& getOwnerIp() const { return ownerIp; }
inline const uint16_t getPort() const { return port; }
};