diff options
author | Michael J <37635304+buttercat1791@users.noreply.github.com> | 2024-03-03 11:56:37 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-03 11:56:37 -0600 |
commit | 0d87b4053983ec8edaff5b73491b717866876586 (patch) | |
tree | 915e73bdcce6d54558f1aea4bcf2ca2813b1d5a4 /include/client/web_socket_client.hpp | |
parent | d02431d723f560f511aafa7e4b224046a4322021 (diff) |
Create Nostr Service and Add Write Capabilities (#1)v0.0.1
Diffstat (limited to 'include/client/web_socket_client.hpp')
-rw-r--r-- | include/client/web_socket_client.hpp | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/include/client/web_socket_client.hpp b/include/client/web_socket_client.hpp new file mode 100644 index 0000000..0f58749 --- /dev/null +++ b/include/client/web_socket_client.hpp @@ -0,0 +1,49 @@ +#pragma once + +#include <string> + +namespace client +{ +/** + * @brief An interface for a WebSocket client singleton. + */ +class IWebSocketClient +{ +public: + /** + * @brief Starts the client. + * @remark This method must be called before any other client methods. + */ + virtual void start() = 0; + + /** + * @brief Stops the client. + * @remark This method should be called when the client is no longer needed, before it is + * destroyed. + */ + virtual void stop() = 0; + + /** + * @brief Opens a connection to the given server. + */ + virtual void openConnection(std::string uri) = 0; + + /** + * @brief Indicates whether the client is connected to the given server. + * @returns True if the client is connected, false otherwise. + */ + virtual bool isConnected(std::string uri) = 0; + + /** + * @brief Sends the given message to the given server. + * @returns A tuple indicating the server URI and whether the message was successfully + * sent. + */ + virtual std::tuple<std::string, bool> send(std::string message, std::string uri) = 0; + + /** + * @brief Closes the connection to the given server. + */ + virtual void closeConnection(std::string uri) = 0; +}; +} // namespace client |