#include <agent_collaboration_coordinator.h>
Classes | |
struct | SessionFileData |
struct | SessionInfo |
Public Member Functions | |
AgentCollaborationCoordinator () | |
absl::StatusOr< SessionInfo > | HostSession (const std::string &session_name) |
absl::StatusOr< SessionInfo > | JoinSession (const std::string &session_code) |
absl::Status | LeaveSession () |
absl::StatusOr< SessionInfo > | RefreshSession () |
bool | active () const |
const std::string & | session_id () const |
const std::string & | session_name () const |
Private Member Functions | |
absl::Status | EnsureDirectory () const |
std::string | LocalUserName () const |
std::string | NormalizeSessionCode (const std::string &input) const |
std::string | GenerateSessionCode () const |
std::filesystem::path | SessionsDirectory () const |
std::filesystem::path | SessionFilePath (const std::string &code) const |
absl::StatusOr< SessionFileData > | LoadSessionFile (const std::filesystem::path &path) const |
absl::Status | WriteSessionFile (const std::filesystem::path &path, const SessionFileData &data) const |
Private Attributes | |
bool | active_ = false |
bool | hosting_ = false |
std::string | session_id_ |
std::string | session_name_ |
std::string | local_user_ |
Definition at line 18 of file agent_collaboration_coordinator.h.
yaze::editor::AgentCollaborationCoordinator::AgentCollaborationCoordinator | ( | ) |
Definition at line 53 of file agent_collaboration_coordinator.cc.
absl::StatusOr< AgentCollaborationCoordinator::SessionInfo > yaze::editor::AgentCollaborationCoordinator::HostSession | ( | const std::string & | session_name | ) |
Definition at line 57 of file agent_collaboration_coordinator.cc.
References active_, EnsureDirectory(), GenerateSessionCode(), yaze::editor::AgentCollaborationCoordinator::SessionFileData::host, hosting_, local_user_, yaze::editor::AgentCollaborationCoordinator::SessionInfo::participants, yaze::editor::AgentCollaborationCoordinator::SessionFileData::participants, RETURN_IF_ERROR, yaze::editor::AgentCollaborationCoordinator::SessionFileData::session_code, yaze::editor::AgentCollaborationCoordinator::SessionInfo::session_id, session_id_, yaze::editor::AgentCollaborationCoordinator::SessionInfo::session_name, session_name(), yaze::editor::AgentCollaborationCoordinator::SessionFileData::session_name, session_name_, SessionFilePath(), and WriteSessionFile().
absl::StatusOr< AgentCollaborationCoordinator::SessionInfo > yaze::editor::AgentCollaborationCoordinator::JoinSession | ( | const std::string & | session_code | ) |
Definition at line 99 of file agent_collaboration_coordinator.cc.
References active_, ASSIGN_OR_RETURN, EnsureDirectory(), hosting_, LoadSessionFile(), local_user_, NormalizeSessionCode(), yaze::editor::AgentCollaborationCoordinator::SessionInfo::participants, yaze::editor::AgentCollaborationCoordinator::SessionFileData::participants, RETURN_IF_ERROR, yaze::editor::AgentCollaborationCoordinator::SessionFileData::session_code, yaze::editor::AgentCollaborationCoordinator::SessionInfo::session_id, session_id_, yaze::editor::AgentCollaborationCoordinator::SessionInfo::session_name, yaze::editor::AgentCollaborationCoordinator::SessionFileData::session_name, session_name_, SessionFilePath(), and WriteSessionFile().
absl::Status yaze::editor::AgentCollaborationCoordinator::LeaveSession | ( | ) |
Definition at line 129 of file agent_collaboration_coordinator.cc.
References active_, hosting_, LoadSessionFile(), local_user_, yaze::editor::AgentCollaborationCoordinator::SessionFileData::participants, session_id_, session_name_, SessionFilePath(), and WriteSessionFile().
absl::StatusOr< AgentCollaborationCoordinator::SessionInfo > yaze::editor::AgentCollaborationCoordinator::RefreshSession | ( | ) |
Definition at line 177 of file agent_collaboration_coordinator.cc.
References active_, hosting_, LoadSessionFile(), yaze::editor::AgentCollaborationCoordinator::SessionInfo::participants, yaze::editor::AgentCollaborationCoordinator::SessionFileData::participants, yaze::editor::AgentCollaborationCoordinator::SessionInfo::session_id, session_id_, yaze::editor::AgentCollaborationCoordinator::SessionInfo::session_name, yaze::editor::AgentCollaborationCoordinator::SessionFileData::session_name, session_name_, and SessionFilePath().
|
inline |
Definition at line 33 of file agent_collaboration_coordinator.h.
References active_.
|
inline |
Definition at line 34 of file agent_collaboration_coordinator.h.
References session_id_.
|
inline |
Definition at line 35 of file agent_collaboration_coordinator.h.
References session_name_.
Referenced by HostSession().
|
private |
Definition at line 204 of file agent_collaboration_coordinator.cc.
References SessionsDirectory().
Referenced by HostSession(), and JoinSession().
|
private |
Definition at line 214 of file agent_collaboration_coordinator.cc.
|
private |
Definition at line 236 of file agent_collaboration_coordinator.cc.
Referenced by JoinSession(), and LoadSessionFile().
|
private |
Definition at line 253 of file agent_collaboration_coordinator.cc.
Referenced by HostSession().
|
private |
Definition at line 265 of file agent_collaboration_coordinator.cc.
References yaze::util::PlatformPaths::GetConfigDirectory().
Referenced by EnsureDirectory(), and SessionFilePath().
|
private |
Definition at line 274 of file agent_collaboration_coordinator.cc.
References SessionsDirectory().
Referenced by HostSession(), JoinSession(), LeaveSession(), and RefreshSession().
|
private |
Definition at line 280 of file agent_collaboration_coordinator.cc.
References yaze::editor::AgentCollaborationCoordinator::SessionFileData::host, NormalizeSessionCode(), yaze::editor::AgentCollaborationCoordinator::SessionFileData::participants, yaze::editor::AgentCollaborationCoordinator::SessionFileData::session_code, and yaze::editor::AgentCollaborationCoordinator::SessionFileData::session_name.
Referenced by JoinSession(), LeaveSession(), and RefreshSession().
|
private |
Definition at line 331 of file agent_collaboration_coordinator.cc.
References yaze::editor::AgentCollaborationCoordinator::SessionFileData::host, yaze::editor::AgentCollaborationCoordinator::SessionFileData::participants, yaze::editor::AgentCollaborationCoordinator::SessionFileData::session_code, and yaze::editor::AgentCollaborationCoordinator::SessionFileData::session_name.
Referenced by HostSession(), JoinSession(), and LeaveSession().
|
private |
Definition at line 56 of file agent_collaboration_coordinator.h.
Referenced by active(), HostSession(), JoinSession(), LeaveSession(), and RefreshSession().
|
private |
Definition at line 57 of file agent_collaboration_coordinator.h.
Referenced by HostSession(), JoinSession(), LeaveSession(), and RefreshSession().
|
private |
Definition at line 58 of file agent_collaboration_coordinator.h.
Referenced by HostSession(), JoinSession(), LeaveSession(), RefreshSession(), and session_id().
|
private |
Definition at line 59 of file agent_collaboration_coordinator.h.
Referenced by HostSession(), JoinSession(), LeaveSession(), RefreshSession(), and session_name().
|
private |
Definition at line 60 of file agent_collaboration_coordinator.h.
Referenced by HostSession(), JoinSession(), and LeaveSession().