[feat] add HarmonyOS desktop and mobile clients,issue #117

This commit is contained in:
kunkundi
2026-10-16 00:42:55 +08:00
parent 43a0789c1e
commit 45bf6ec4ee
149 changed files with 11587 additions and 93 deletions
+1 -1
View File
@@ -116,7 +116,7 @@ struct CursorState {
CursorHiddenReason hidden_reason;
};
enum class HostPlatform { Unknown, Windows, MacOS, Linux, IOS, Android };
enum class HostPlatform { Unknown, Windows, MacOS, Linux, IOS, Android, HarmonyOS };
const char* HostPlatformName(HostPlatform platform);
HostPlatform ParseHostPlatform(const std::string& platform);
+2
View File
@@ -61,6 +61,7 @@ const char* HostPlatformName(HostPlatform platform) {
case HostPlatform::Linux: return "linux";
case HostPlatform::IOS: return "ios";
case HostPlatform::Android: return "android";
case HostPlatform::HarmonyOS: return "harmonyos";
default: return "unknown";
}
}
@@ -71,6 +72,7 @@ HostPlatform ParseHostPlatform(const std::string& platform) {
if (platform == "linux") return HostPlatform::Linux;
if (platform == "ios") return HostPlatform::IOS;
if (platform == "android") return HostPlatform::Android;
if (platform == "harmonyos") return HostPlatform::HarmonyOS;
return HostPlatform::Unknown;
}
+1 -1
View File
@@ -166,7 +166,7 @@ int main() {
// The platform is optional metadata, not a requirement for connecting.
for (const auto& platform : std::vector<std::string>{
"windows", "linux", "macos", "ios", "android", "unknown"}) {
"windows", "linux", "macos", "ios", "android", "harmonyos", "unknown"}) {
advertised = crossdesk::MakeHostInformation(
"Host", {}, true, "1.5.3-20260928",
crossdesk::ParseHostPlatform(platform));