yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
z3ed_network_client.h
Go to the documentation of this file.
1#ifndef YAZE_CLI_SERVICE_NET_Z3ED_NETWORK_CLIENT_H_
2#define YAZE_CLI_SERVICE_NET_Z3ED_NETWORK_CLIENT_H_
3
4#include <memory>
5#include <string>
6
7#include "absl/status/status.h"
8#include "absl/status/statusor.h"
9
10#ifdef YAZE_WITH_JSON
11#include "nlohmann/json.hpp"
12#endif
13
14namespace yaze {
15namespace cli {
16namespace net {
17
29 public:
32
36 absl::Status Connect(const std::string& host, int port = 8765);
37
41 absl::Status JoinSession(const std::string& session_code,
42 const std::string& username);
43
49 absl::Status SubmitProposal(const std::string& description,
50 const std::string& proposal_json,
51 const std::string& username);
52
56 absl::StatusOr<std::string> GetProposalStatus(const std::string& proposal_id);
57
62 absl::StatusOr<bool> WaitForApproval(const std::string& proposal_id,
63 int timeout_seconds = 60);
64
68 absl::Status SendMessage(const std::string& message,
69 const std::string& sender);
70
74 absl::StatusOr<std::string> QueryAI(const std::string& query,
75 const std::string& username);
76
80 void Disconnect();
81
85 bool IsConnected() const;
86
87 private:
88 class Impl;
89 std::unique_ptr<Impl> impl_;
90};
91
92} // namespace net
93} // namespace cli
94} // namespace yaze
95
96#endif // YAZE_CLI_SERVICE_NET_Z3ED_NETWORK_CLIENT_H_
Simplified WebSocket client for z3ed CLI.
absl::StatusOr< bool > WaitForApproval(const std::string &proposal_id, int timeout_seconds=60)
absl::Status SendMessage(const std::string &message, const std::string &sender)
absl::Status JoinSession(const std::string &session_code, const std::string &username)
absl::StatusOr< std::string > QueryAI(const std::string &query, const std::string &username)
absl::Status Connect(const std::string &host, int port=8765)
absl::StatusOr< std::string > GetProposalStatus(const std::string &proposal_id)
absl::Status SubmitProposal(const std::string &description, const std::string &proposal_json, const std::string &username)