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(
42 const std::string& session_code,
43 const std::string& username);
44
50 absl::Status SubmitProposal(
51 const std::string& description,
52 const std::string& proposal_json,
53 const std::string& username);
54
58 absl::StatusOr<std::string> GetProposalStatus(
59 const std::string& proposal_id);
60
65 absl::StatusOr<bool> WaitForApproval(
66 const std::string& proposal_id,
67 int timeout_seconds = 60);
68
72 absl::Status SendMessage(
73 const std::string& message,
74 const std::string& sender);
75
79 absl::StatusOr<std::string> QueryAI(
80 const std::string& query,
81 const std::string& username);
82
86 void Disconnect();
87
91 bool IsConnected() const;
92
93 private:
94 class Impl;
95 std::unique_ptr<Impl> impl_;
96};
97
98} // namespace net
99} // namespace cli
100} // namespace yaze
101
102#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)
Main namespace for the application.
Definition controller.cc:20