backend-infra-engineer: Post v0.3.9-hotfix7 snapshot (build cleanup)
This commit is contained in:
56
src/app/net/network_factory.h
Normal file
56
src/app/net/network_factory.h
Normal file
@@ -0,0 +1,56 @@
|
||||
#ifndef YAZE_APP_NET_NETWORK_FACTORY_H_
|
||||
#define YAZE_APP_NET_NETWORK_FACTORY_H_
|
||||
|
||||
#include <memory>
|
||||
#include <string>
|
||||
|
||||
#include "app/net/http_client.h"
|
||||
#include "app/net/websocket_interface.h"
|
||||
|
||||
namespace yaze {
|
||||
namespace net {
|
||||
|
||||
/**
|
||||
* @brief Factory functions for creating network clients
|
||||
*
|
||||
* These functions return the appropriate implementation based on the
|
||||
* build platform (native or WASM). This allows the rest of the codebase
|
||||
* to use networking features without worrying about platform differences.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @brief Create an HTTP client for the current platform
|
||||
* @return Unique pointer to IHttpClient implementation
|
||||
*
|
||||
* Returns:
|
||||
* - HttpLibClient for native builds
|
||||
* - EmscriptenHttpClient for WASM builds
|
||||
*/
|
||||
std::unique_ptr<IHttpClient> CreateHttpClient();
|
||||
|
||||
/**
|
||||
* @brief Create a WebSocket client for the current platform
|
||||
* @return Unique pointer to IWebSocket implementation
|
||||
*
|
||||
* Returns:
|
||||
* - HttpLibWebSocket (or native WebSocket) for native builds
|
||||
* - EmscriptenWebSocket for WASM builds
|
||||
*/
|
||||
std::unique_ptr<IWebSocket> CreateWebSocket();
|
||||
|
||||
/**
|
||||
* @brief Check if the current platform supports SSL/TLS
|
||||
* @return true if SSL/TLS is available, false otherwise
|
||||
*/
|
||||
bool IsSSLSupported();
|
||||
|
||||
/**
|
||||
* @brief Get the platform name for debugging
|
||||
* @return Platform string ("native", "wasm", etc.)
|
||||
*/
|
||||
std::string GetNetworkPlatform();
|
||||
|
||||
} // namespace net
|
||||
} // namespace yaze
|
||||
|
||||
#endif // YAZE_APP_NET_NETWORK_FACTORY_H_
|
||||
Reference in New Issue
Block a user