53 lines
1.2 KiB
C++
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; }
|
|
|
|
};
|
|
|