More work
This commit is contained in:
parent
b35dec2fdc
commit
6b90c9f76a
30 changed files with 710 additions and 109 deletions
52
LibHarmonyLink/include/Enums/Device.h
Normal file
52
LibHarmonyLink/include/Enums/Device.h
Normal file
|
@ -0,0 +1,52 @@
|
|||
// Copyright (c) 2024 Jordon Brooks
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "Core.h"
|
||||
|
||||
// Undefine the LINUX macro to avoid conflicts with the enum definition.
|
||||
#undef LINUX
|
||||
|
||||
#ifdef __cplusplus
|
||||
namespace LibHarmonyLink {
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
EDevice_UNKNOWN,
|
||||
EDevice_DESKTOP,
|
||||
EDevice_LAPTOP,
|
||||
EDevice_HANDHELD,
|
||||
|
||||
EDevice_STEAM_DECK,
|
||||
// EDevice_ROG_ALLY
|
||||
// EDevice_AYONEO_SLIDE
|
||||
// etc...
|
||||
} EDevice;
|
||||
|
||||
HARMONYLINK_API const char* Device_ToString(EDevice device) {
|
||||
switch (device) {
|
||||
case EDevice_DESKTOP: return "DESKTOP";
|
||||
case EDevice_LAPTOP: return "LAPTOP";
|
||||
case EDevice_HANDHELD: return "HANDHELD";
|
||||
case EDevice_STEAM_DECK: return "STEAM_DECK";
|
||||
default: return "UNKNOWN";
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
}
|
||||
#endif
|
46
LibHarmonyLink/include/Enums/Platform.h
Normal file
46
LibHarmonyLink/include/Enums/Platform.h
Normal file
|
@ -0,0 +1,46 @@
|
|||
// Copyright (c) 2024 Jordon Brooks
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "Core.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
namespace LibHarmonyLink {
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
EPlatform_UNKNOWN,
|
||||
EPlatform_WINDOWS,
|
||||
EPlatform_LINUX,
|
||||
EPlatform_MAC,
|
||||
EPlatform_UNIX,
|
||||
} EPlatform;
|
||||
|
||||
// Helper functions to convert enums to strings (must be implemented somewhere in your code)
|
||||
HARMONYLINK_API const char* Platform_ToString(EPlatform platform) {
|
||||
switch (platform) {
|
||||
case EPlatform_WINDOWS: return "WINDOWS";
|
||||
case EPlatform_LINUX: return "LINUX";
|
||||
case EPlatform_MAC: return "MAC";
|
||||
case EPlatform_UNIX: return "UNIX";
|
||||
default: return "UNKNOWN";
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
}
|
||||
#endif
|
44
LibHarmonyLink/include/Enums/SteamDeck.h
Normal file
44
LibHarmonyLink/include/Enums/SteamDeck.h
Normal file
|
@ -0,0 +1,44 @@
|
|||
// Copyright (c) 2024 Jordon Brooks
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "Core.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
namespace LibHarmonyLink {
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
ESteamDeck_NONE, // Device is not a steam deck
|
||||
ESteamDeck_UNKNOWN, // Device is a steam deck but model cannot be determined
|
||||
ESteamDeck_LCD,
|
||||
ESteamDeck_OLED,
|
||||
} ESteamDeck;
|
||||
|
||||
HARMONYLINK_API const char* SteamDeck_ToString(ESteamDeck steam_deck_model) {
|
||||
switch (steam_deck_model) {
|
||||
case ESteamDeck_NONE: return "NONE";
|
||||
case ESteamDeck_LCD: return "STEAMDECK_LCD";
|
||||
case ESteamDeck_OLED: return "STEAMDECK_OLED";
|
||||
// Add other cases as needed
|
||||
default: return "UNKNOWN";
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
}
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue