#ifndef NET_DEVICE_BOUND_SESSIONS_SESSION_ACCESS_H_
#define NET_DEVICE_BOUND_SESSIONS_SESSION_ACCESS_H_
#include "net/device_bound_sessions/session_key.h"
namespace net::device_bound_sessions {
struct NET_EXPORT SessionAccess {
enum class AccessType {
kCreation = 0,
kUpdate = 1,
kTermination = 2,
};
SessionAccess();
SessionAccess(AccessType access, SessionKey key);
SessionAccess(AccessType access,
SessionKey key,
const std::vector<std::string>& cookies);
~SessionAccess();
SessionAccess(const SessionAccess&);
SessionAccess& operator=(const SessionAccess&);
SessionAccess(SessionAccess&&) noexcept;
SessionAccess& operator=(SessionAccess&&) noexcept;
AccessType access_type;
SessionKey session_key;
std::vector<std::string> cookies;
bool operator==(const SessionAccess& other) const;
};
}
#endif