From 166ebff1253248bfedadd90fcf5d6f50b73c3abd Mon Sep 17 00:00:00 2001 From: Release Pipeline Date: Thu, 29 Feb 2024 00:34:09 +0000 Subject: [PATCH] Release 2403.0.0 --- .gitattributes | 9 + .gitignore | 26 + .../contents.xcworkspacedata | 19 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 5 + Build/PlayFab.C.GDK.props | 6 - Build/PlayFabCore.Android/CMakeLists.txt | 93 + Build/PlayFabCore.Android/build.gradle | 73 + .../src/main/AndroidManifest.xml | 8 + .../project.pbxproj | 1577 +++++++++++++ .../xcschemes/PlayFabCore_iOS.xcscheme | 67 + .../xcschemes/PlayFabCore_macOS.xcscheme | 67 + .../GetCommonSourceFiles.cmake | 86 + .../GetServiceWrapperFiles.cmake | 33 + .../PlayFabCore.Common.vcxitems | 7 +- .../PlayFabCore.Common.vcxitems.filters | 9 +- .../PlayFabCore.GDK.142.vcxproj | 15 - .../PlayFabCore.GDK/PlayFabCore.GDK.vcxitems | 24 - .../PlayFabCore.GDK.vcxitems.filters | 36 - .../PlayFabCore.GDK.vcxproj} | 13 +- .../PlayFabCore.GDK.vcxproj.filters | 36 + Build/PlayFabCore.Linux/CMakeLists.txt | 124 + .../PlayFabCore.Linux/PlayFabCore_Linux.bash | 47 + Build/PlayFabCore.Linux/README.md | 3 + Build/PlayFabCore.Linux/main.cpp | 0 .../PlayFabCore.Win32.vcxitems | 23 - .../PlayFabCore.Win32.vcxproj} | 8 +- ...ters => PlayFabCore.Win32.vcxproj.filters} | 12 +- Build/PlayFabCore.import.props | 13 +- .../build.gradle | 44 + .../gradle.properties | 0 .../gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59203 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 + .../PlayFabServices.Android.Workspace/gradlew | 185 ++ .../gradlew.bat | 89 + .../settings.gradle | 10 + Build/PlayFabServices.Android/CMakeLists.txt | 91 + Build/PlayFabServices.Android/build.gradle | 138 ++ .../src/main/AndroidManifest.xml | 10 + .../project.pbxproj | 2008 +++++++++++++++++ .../xcschemes/PlayFabServices_iOS.xcscheme | 67 + .../xcschemes/PlayFabServices_macOS.xcscheme | 67 + Build/PlayFabServices.Apple/symbols.iOS.exp | 262 +++ Build/PlayFabServices.Apple/symbols.macOS.exp | 488 ++++ .../GetCommonSourceFiles.cmake | 23 + .../GetServiceWrapperFiles.cmake | 147 ++ .../PlayFabServices.GDK.142.vcxproj | 15 - .../PlayFabServices.GDK.vcxitems | 21 - .../PlayFabServices.GDK.vcxitems.filters | 22 - .../PlayFabServices.GDK.vcxproj} | 7 +- .../PlayFabServices.GDK.vcxproj.filters | 22 + Build/PlayFabServices.Linux/CMakeLists.txt | 132 ++ .../PlayFabServices_Linux.bash | 100 + Build/PlayFabServices.Linux/README.md | 61 + Build/PlayFabServices.Linux/main.cpp | 0 .../PlayFabServices.Win32.vcxproj} | 0 Build/PlayFabServices.import.props | 7 +- .../CMakeLists.txt | 63 + .../build.gradle | 73 + .../src/main/AndroidManifest.xml | 6 + .../project.pbxproj | 879 ++++++++ .../PlayFabSharedInternal_iOS.xcscheme | 68 + .../PlayFabSharedInternal_macOS.xcscheme | 67 + .../GetLinuxFlags.cmake | 31 + .../GetPlayFabSharedInternalFiles.cmake | 49 + .../TargetSetFlags.cmake | 17 + .../PlayFabSharedInternal.GDK.142.vcxproj | 12 - .../CMakeLists.txt | 80 + .../PlayFabSharedInternal_Linux.bash | 47 + Build/PlayFabSharedInternal.Linux/README.md | 3 + .../libHttpClient.142.GDK.C.vcxproj | 18 - .../libHttpClient.143.GDK.C.vcxproj | 2 +- .../libHttpClient.GDK.vcxproj | 19 + .../libHttpClient.Win32.vcxproj} | 12 +- Build/libHttpClient.import.props | 24 +- External/libHttpClient | 2 +- PlayFab.C.vs2022.sln | 231 +- README.md | 196 +- Source/PlayFabCore/API-List.csv | 64 +- .../Generated/playfab/core/PFAuthentication.h | 71 +- .../Include/Generated/playfab/core/PFEntity.h | 2 +- .../Include/Generated/playfab/core/PFErrors.h | 123 +- .../PlayFabCore/Include/playfab/core/PFCore.h | 22 +- .../Include/playfab/core/PFEventPipeline.h | 20 + .../PlayFabCore/Include/playfab/core/PFPal.h | 6 + .../Include/playfab/core/cpp/Entity.h | 4 +- .../Include/playfab/core/cpp/ServiceConfig.h | 3 +- .../Include/playfab/httpClient/PFHttpClient.h | 2 +- Source/PlayFabCore/Source/Api/PFCore.cpp | 29 +- Source/PlayFabCore/Source/Api/PFEntity.cpp | 22 +- .../Source/Api/PFEventPipeline.cpp | 28 +- .../PlayFabCore/Source/Api/PFHttpConfig.cpp | 6 +- Source/PlayFabCore/Source/Api/PFPlatform.cpp | 10 +- .../Source/Api/PFServiceConfig.cpp | 8 +- Source/PlayFabCore/Source/Api/PFTrace.cpp | 6 +- .../Authentication/CombinedLoginResult.cpp | 22 +- .../Authentication/CombinedLoginResult.h | 10 +- .../Authentication/GDK/Authentication_GDK.cpp | 4 +- .../Authentication/GetEntityAsyncProvider.h | 10 +- Source/PlayFabCore/Source/Common/ApiHelpers.h | 22 +- Source/PlayFabCore/Source/Common/Entity.cpp | 6 +- .../PlayFabCore/Source/Common/EntityToken.cpp | 2 +- .../PlayFabCore/Source/Common/HttpClient.cpp | 24 + Source/PlayFabCore/Source/Common/HttpClient.h | 1 - ...{GlobalState.cpp => PFCoreGlobalState.cpp} | 87 +- .../{GlobalState.h => PFCoreGlobalState.h} | 12 +- .../Source/EventPipeline/EventPipeline.cpp | 243 +- .../Source/EventPipeline/EventPipeline.h | 4 + .../Source/Generated/Authentication.cpp | 52 +- .../Source/Generated/Authentication.h | 54 +- .../PlayFabCore/Source/Generated/Events.cpp | 2 +- Source/PlayFabCore/Source/Generated/Events.h | 2 +- .../Source/Generated/PFAuthentication.cpp | 232 +- .../PlayFabCore/Source/Generated/PFEvents.cpp | 8 +- .../Source/HttpClient/LHCExport.def | 140 -- .../Source/HttpClient/PFHCTrace.cpp | 2 +- .../Source/HttpClient/PFHttpClient.cpp | 2 +- .../PlayFabCore/Source/Trace/TraceState.cpp | 20 +- Source/PlayFabCore/Source/Trace/TraceState.h | 2 +- Source/PlayFabCore/Source/stdafx.h | 1 + Source/PlayFabServices/API-List.csv | 1147 +++++----- .../playfab/services/PFAccountManagement.h | 448 ++-- .../services/PFAccountManagementTypes.h | 60 + .../playfab/services/PFCloudScript.h | 4 +- .../Generated/playfab/services/PFData.h | 14 +- .../Generated/playfab/services/PFFriends.h | 16 +- .../Generated/playfab/services/PFInventory.h | 38 +- .../playfab/services/PFInventoryTypes.h | 3 +- .../playfab/services/PFLocalization.h | 4 +- .../services/PFMultiplayerServerTypes.h | 6 + .../playfab/services/PFPlatformSpecific.h | 10 +- .../playfab/services/PFPlayerDataManagement.h | 48 +- .../playfab/services/PFPushNotifications.h | 8 +- .../Generated/playfab/services/PFSegments.h | 24 +- .../Generated/playfab/services/PFServices.h | 23 +- .../playfab/services/PFTitleDataManagement.h | 32 +- .../Generated/playfab/services/PFTypes.h | 6 +- .../cpp/AccountManagementTypeWrappers.h | 202 ++ .../cpp/MultiplayerServerTypeWrappers.h | 12 +- .../PlayFabServices/Source/Api/PFServices.cpp | 13 +- .../Source/Common/GlobalState.cpp | 2 +- .../Source/Common/HttpClient.cpp | 26 + .../Source/Common/HttpClient.h | 1 - .../Source/Generated/AccountManagement.cpp | 70 + .../Source/Generated/AccountManagement.h | 2 + .../Generated/AccountManagementTypes.cpp | 107 + .../Source/Generated/AccountManagementTypes.h | 52 + .../Source/Generated/CacheId.h | 430 ++-- .../Generated/MultiplayerServerTypes.cpp | 1 + .../Source/Generated/PFAccountManagement.cpp | 256 ++- .../Source/Generated/PFCloudScript.cpp | 2 +- .../Source/Generated/PFFriends.cpp | 8 +- .../Source/Generated/PFInventory.cpp | 16 +- .../Source/Generated/PFLocalization.cpp | 2 +- .../Source/Generated/PFPlatformSpecific.cpp | 6 +- .../Generated/PFPlayerDataManagement.cpp | 24 +- .../Source/Generated/PFPushNotifications.cpp | 4 +- .../Source/Generated/PFSegments.cpp | 12 +- .../Generated/PFTitleDataManagement.cpp | 16 +- .../Include/Apple/PlatformUser_Apple.h | 39 + .../Include/Generated/Error.h | 34 + .../Include/Linux/PlatformUser_Linux.h | 23 + .../Include/ModelBuffer.h | 12 +- .../Include/SdkVersion.h | 14 +- Source/PlayFabSharedInternal/Include/Types.h | 30 +- .../Source/Apple/PlatformUser_Apple.cpp | 31 + .../Source/Generated/Error.cpp | 34 + .../Source/HttpRequest.cpp | 2 +- .../Source/Linux/PlatformUser_Linux.cpp | 18 + .../Source/ModelBuffer.cpp | 6 +- .../Tests/EventPipelineTests.cpp | 41 +- .../AccountManagementOperations.cpp | 224 +- .../AccountManagementOperations.h | 204 +- .../CloudScriptOperations.cpp | 2 +- .../CloudScriptOperations.h | 2 +- .../FriendsOperations.cpp | 8 +- .../FriendsOperations.h | 8 +- .../GetGeneratedApiWrappers.cmake | 45 + .../InventoryOperations.cpp | 16 +- .../InventoryOperations.h | 16 +- .../LocalizationOperations.cpp | 2 +- .../LocalizationOperations.h | 2 +- .../PlatformSpecificOperations.cpp | 6 +- .../PlatformSpecificOperations.h | 6 +- .../PlayerDataManagementOperations.cpp | 24 +- .../PlayerDataManagementOperations.h | 24 +- .../PushNotificationsOperations.cpp | 4 +- .../PushNotificationsOperations.h | 4 +- .../SegmentsOperations.cpp | 12 +- .../SegmentsOperations.h | 12 +- .../TitleDataManagementOperations.cpp | 16 +- .../TitleDataManagementOperations.h | 16 +- .../AccountManagementTests.cpp | 170 +- .../AccountManagementTests.h | 170 +- .../AccountManagementTestsImpl.stubs | 178 +- .../CloudScriptTests.cpp | 2 +- .../CloudScriptTests.h | 2 +- .../CloudScriptTestsImpl.stubs | 2 +- .../FriendsTests.cpp | 8 +- .../FriendsTests.h | 8 +- .../FriendsTestsImpl.stubs | 8 +- .../GetGeneratedTestsFiles.cmake | 45 + .../InventoryTests.cpp | 16 +- .../InventoryTests.h | 16 +- .../InventoryTestsImpl.stubs | 16 +- .../LocalizationTests.cpp | 2 +- .../LocalizationTests.h | 2 +- .../LocalizationTestsImpl.stubs | 2 +- .../PlatformSpecificTests.cpp | 6 +- .../PlatformSpecificTests.h | 6 +- .../PlatformSpecificTestsImpl.stubs | 6 +- .../PlayerDataManagementTests.cpp | 24 +- .../PlayerDataManagementTests.h | 24 +- .../PlayerDataManagementTestsImpl.stubs | 24 +- .../PushNotificationsTests.cpp | 4 +- .../PushNotificationsTests.h | 4 +- .../PushNotificationsTestsImpl.stubs | 4 +- .../SegmentsTests.cpp | 12 +- .../SegmentsTests.h | 12 +- .../SegmentsTestsImpl.stubs | 12 +- .../TitleDataManagementTests.cpp | 16 +- .../TitleDataManagementTests.h | 16 +- .../TitleDataManagementTestsImpl.stubs | 16 +- .../Linux/.gitignore | 1 + .../Linux/BuildTest.bash | 52 + .../Linux/CMakeLists.txt | 102 + .../Linux/main.cpp | 180 ++ .../TestFramework/TestRunner.cpp | 4 +- .../Android/app/CMakeLists.txt | 127 ++ .../Android/app/build.gradle | 116 + .../Android/app/proguard-rules.pro | 21 + .../playfab/sdk/AndroidAutomatedTest.java | 49 + .../Android/app/src/main/AndroidManifest.xml | 29 + .../playfab/sdk/AndroidTestClient.java | 75 + .../drawable-v24/ic_launcher_foreground.xml | 30 + .../res/drawable/ic_launcher_background.xml | 170 ++ .../app/src/main/res/layout/activity_main.xml | 18 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 6 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 6 + .../app/src/main/res/values-night/themes.xml | 16 + .../app/src/main/res/values/colors.xml | 10 + .../app/src/main/res/values/strings.xml | 3 + .../app/src/main/res/values/themes.xml | 16 + .../app/src/main/res/xml/backup_rules.xml | 13 + .../main/res/xml/data_extraction_rules.xml | 19 + .../Android/build.gradle | 22 + .../Android/gradle.properties | 21 + .../Android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59203 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 + Test/PlayFabServicesTestApp/Android/gradlew | 185 ++ .../Android/gradlew.bat | 89 + .../Android/settings.gradle | 11 + .../project.pbxproj | 1669 ++++++++++++++ .../PlayFabServicesTestApp_iOS.xcscheme | 78 + .../PlayFabServicesTestApp_macOS.xcscheme | 78 + .../AppleSignInCoordinator.swift | 48 + .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 63 + .../Assets.xcassets/Contents.json | 6 + .../ContentView.swift | 178 ++ .../PlayFabServicesTestApp_Apple.entitlements | 18 + .../PlayFabServicesTestApp_AppleApp.swift | 23 + .../Preview Assets.xcassets/Contents.json | 6 + .../GetPlayFabServicesTestAppCommon.cmake | 61 + .../Linux/CMakeLists.txt | 129 ++ .../Linux/PlayFabTestApp_Linux.bash | 64 + .../Core/AuthenticationOperations.cpp | 10 +- .../Core/AuthenticationOperations.h | 2 +- .../Platform/Android/AndroidTestApp.cpp | 151 ++ .../Platform/Android/AndroidTestApp.h | 62 + .../Platform/Android/AndroidTestAppJni.cpp | 46 + .../Platform/Android/AndroidTestAppJni.h | 25 + .../Platform/Android/PlatformUtilsAndroid.cpp | 119 + .../Platform/Android/PlatformUtilsAndroid.h | 9 + .../Platform/Android/PlayFabAndroid.cpp | 107 + .../Platform/Apple/MainApple.cpp | 54 + .../Platform/Apple/MainApple.h | 21 + .../Platform/Apple/PlatformUtilsApple.cpp | 154 ++ .../Platform/Apple/PlayFabApple.cpp | 122 + ...FabServicesTestApp.Apple-Bridging-Header.h | 11 + .../Platform/Generic/MemoryManager.h | 2 +- .../Platform/Linux/MainLinux.cpp | 23 + .../Platform/Linux/PlatfromUtilsLinux.cpp | 141 ++ .../Platform/Linux/PlayFabLinux.cpp | 63 + Test/PlayFabServicesTestApp/TestAppPch.h | 4 + .../TestFramework/ServicesTestClass.cpp | 6 +- .../TestFramework/ServicesTestClass.h | 4 +- .../TestFramework/TestRunner.cpp | 24 +- .../TestFramework/TestTypes.h | 2 +- .../Tests/Core/AuthenticationTests.cpp | 22 +- .../Tests/Core/AuthenticationTests.h | 2 +- .../Services/AccountManagementTestsImpl.cpp | 187 +- .../Tests/Services/CatalogTestsImpl.cpp | 35 +- .../Tests/Services/CharacterTestsImpl.cpp | 28 +- .../Tests/Services/CloudScriptTestsImpl.cpp | 2 +- .../Tests/Services/DataTestsImpl.cpp | 8 +- .../Tests/Services/FriendsTestsImpl.cpp | 8 +- .../Tests/Services/InventoryTestsImpl.cpp | 20 +- .../Tests/Services/LocalizationTestsImpl.cpp | 2 +- .../Services/PlatformSpecificTestsImpl.cpp | 76 +- .../PlayerDataManagementTestsImpl.cpp | 24 +- .../Services/PushNotificationsTestsImpl.cpp | 54 +- .../Tests/Services/SegmentsTestsImpl.cpp | 14 +- .../Services/TitleDataManagementTestsImpl.cpp | 94 +- 304 files changed, 17161 insertions(+), 3088 deletions(-) create mode 100644 .gitattributes create mode 100644 Build/PlayFab.C.Apple/PlayFab.C.Apple.xcworkspace/contents.xcworkspacedata create mode 100644 Build/PlayFab.C.Apple/PlayFab.C.Apple.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 Build/PlayFab.C.Apple/PlayFab.C.Apple.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 Build/PlayFabCore.Android/CMakeLists.txt create mode 100644 Build/PlayFabCore.Android/build.gradle create mode 100644 Build/PlayFabCore.Android/src/main/AndroidManifest.xml create mode 100644 Build/PlayFabCore.Apple/PlayFabCore.Apple.xcodeproj/project.pbxproj create mode 100644 Build/PlayFabCore.Apple/PlayFabCore.Apple.xcodeproj/xcshareddata/xcschemes/PlayFabCore_iOS.xcscheme create mode 100644 Build/PlayFabCore.Apple/PlayFabCore.Apple.xcodeproj/xcshareddata/xcschemes/PlayFabCore_macOS.xcscheme create mode 100644 Build/PlayFabCore.CMake/GetCommonSourceFiles.cmake create mode 100644 Build/PlayFabCore.CMake/GetServiceWrapperFiles.cmake delete mode 100644 Build/PlayFabCore.GDK.142/PlayFabCore.GDK.142.vcxproj delete mode 100644 Build/PlayFabCore.GDK/PlayFabCore.GDK.vcxitems delete mode 100644 Build/PlayFabCore.GDK/PlayFabCore.GDK.vcxitems.filters rename Build/{PlayFabCore.GDK.143/PlayFabCore.GDK.143.vcxproj => PlayFabCore.GDK/PlayFabCore.GDK.vcxproj} (60%) create mode 100644 Build/PlayFabCore.GDK/PlayFabCore.GDK.vcxproj.filters create mode 100644 Build/PlayFabCore.Linux/CMakeLists.txt create mode 100644 Build/PlayFabCore.Linux/PlayFabCore_Linux.bash create mode 100644 Build/PlayFabCore.Linux/README.md create mode 100644 Build/PlayFabCore.Linux/main.cpp delete mode 100644 Build/PlayFabCore.Win32/PlayFabCore.Win32.vcxitems rename Build/{PlayFabCore.Win32.143/PlayFabCore.Win32.143.vcxproj => PlayFabCore.Win32/PlayFabCore.Win32.vcxproj} (71%) rename Build/PlayFabCore.Win32/{PlayFabCore.Win32.vcxitems.filters => PlayFabCore.Win32.vcxproj.filters} (52%) create mode 100644 Build/PlayFabServices.Android.Workspace/build.gradle create mode 100644 Build/PlayFabServices.Android.Workspace/gradle.properties create mode 100644 Build/PlayFabServices.Android.Workspace/gradle/wrapper/gradle-wrapper.jar create mode 100644 Build/PlayFabServices.Android.Workspace/gradle/wrapper/gradle-wrapper.properties create mode 100644 Build/PlayFabServices.Android.Workspace/gradlew create mode 100644 Build/PlayFabServices.Android.Workspace/gradlew.bat create mode 100644 Build/PlayFabServices.Android.Workspace/settings.gradle create mode 100644 Build/PlayFabServices.Android/CMakeLists.txt create mode 100644 Build/PlayFabServices.Android/build.gradle create mode 100644 Build/PlayFabServices.Android/src/main/AndroidManifest.xml create mode 100644 Build/PlayFabServices.Apple/PlayFabServices.Apple.xcodeproj/project.pbxproj create mode 100644 Build/PlayFabServices.Apple/PlayFabServices.Apple.xcodeproj/xcshareddata/xcschemes/PlayFabServices_iOS.xcscheme create mode 100644 Build/PlayFabServices.Apple/PlayFabServices.Apple.xcodeproj/xcshareddata/xcschemes/PlayFabServices_macOS.xcscheme create mode 100644 Build/PlayFabServices.Apple/symbols.iOS.exp create mode 100644 Build/PlayFabServices.Apple/symbols.macOS.exp create mode 100644 Build/PlayFabServices.CMake/GetCommonSourceFiles.cmake create mode 100644 Build/PlayFabServices.CMake/GetServiceWrapperFiles.cmake delete mode 100644 Build/PlayFabServices.GDK.142/PlayFabServices.GDK.142.vcxproj delete mode 100644 Build/PlayFabServices.GDK/PlayFabServices.GDK.vcxitems delete mode 100644 Build/PlayFabServices.GDK/PlayFabServices.GDK.vcxitems.filters rename Build/{PlayFabServices.GDK.143/PlayFabServices.GDK.143.vcxproj => PlayFabServices.GDK/PlayFabServices.GDK.vcxproj} (70%) create mode 100644 Build/PlayFabServices.GDK/PlayFabServices.GDK.vcxproj.filters create mode 100644 Build/PlayFabServices.Linux/CMakeLists.txt create mode 100644 Build/PlayFabServices.Linux/PlayFabServices_Linux.bash create mode 100644 Build/PlayFabServices.Linux/README.md create mode 100644 Build/PlayFabServices.Linux/main.cpp rename Build/{PlayFabServices.Win32.143/PlayFabServices.Win32.143.vcxproj => PlayFabServices.Win32/PlayFabServices.Win32.vcxproj} (100%) create mode 100644 Build/PlayFabSharedInternal.Android/CMakeLists.txt create mode 100644 Build/PlayFabSharedInternal.Android/build.gradle create mode 100644 Build/PlayFabSharedInternal.Android/src/main/AndroidManifest.xml create mode 100644 Build/PlayFabSharedInternal.Apple/PlayFabSharedInternal.Apple.xcodeproj/project.pbxproj create mode 100644 Build/PlayFabSharedInternal.Apple/PlayFabSharedInternal.Apple.xcodeproj/xcshareddata/xcschemes/PlayFabSharedInternal_iOS.xcscheme create mode 100644 Build/PlayFabSharedInternal.Apple/PlayFabSharedInternal.Apple.xcodeproj/xcshareddata/xcschemes/PlayFabSharedInternal_macOS.xcscheme create mode 100644 Build/PlayFabSharedInternal.CMake/GetLinuxFlags.cmake create mode 100644 Build/PlayFabSharedInternal.CMake/GetPlayFabSharedInternalFiles.cmake create mode 100644 Build/PlayFabSharedInternal.CMake/TargetSetFlags.cmake delete mode 100644 Build/PlayFabSharedInternal.GDK.142/PlayFabSharedInternal.GDK.142.vcxproj create mode 100644 Build/PlayFabSharedInternal.Linux/CMakeLists.txt create mode 100644 Build/PlayFabSharedInternal.Linux/PlayFabSharedInternal_Linux.bash create mode 100644 Build/PlayFabSharedInternal.Linux/README.md delete mode 100644 Build/libHttpClient.142.GDK.C/libHttpClient.142.GDK.C.vcxproj create mode 100644 Build/libHttpClient.GDK/libHttpClient.GDK.vcxproj rename Build/{libHttpClient.143.Win32.C/libHttpClient.143.Win32.C.vcxproj => libHttpClient.Win32/libHttpClient.Win32.vcxproj} (62%) rename Source/PlayFabCore/Source/Common/{GlobalState.cpp => PFCoreGlobalState.cpp} (65%) rename Source/PlayFabCore/Source/Common/{GlobalState.h => PFCoreGlobalState.h} (84%) delete mode 100644 Source/PlayFabCore/Source/HttpClient/LHCExport.def create mode 100644 Source/PlayFabSharedInternal/Include/Apple/PlatformUser_Apple.h create mode 100644 Source/PlayFabSharedInternal/Include/Linux/PlatformUser_Linux.h create mode 100644 Source/PlayFabSharedInternal/Source/Apple/PlatformUser_Apple.cpp create mode 100644 Source/PlayFabSharedInternal/Source/Linux/PlatformUser_Linux.cpp create mode 100644 Test/PlayFabServices.GeneratedApiWrappers/GetGeneratedApiWrappers.cmake create mode 100644 Test/PlayFabServices.GeneratedTests/GetGeneratedTestsFiles.cmake create mode 100644 Test/PlayFabServicesManualTestApp/Linux/.gitignore create mode 100644 Test/PlayFabServicesManualTestApp/Linux/BuildTest.bash create mode 100644 Test/PlayFabServicesManualTestApp/Linux/CMakeLists.txt create mode 100644 Test/PlayFabServicesManualTestApp/Linux/main.cpp create mode 100644 Test/PlayFabServicesTestApp/Android/app/CMakeLists.txt create mode 100644 Test/PlayFabServicesTestApp/Android/app/build.gradle create mode 100644 Test/PlayFabServicesTestApp/Android/app/proguard-rules.pro create mode 100644 Test/PlayFabServicesTestApp/Android/app/src/androidTest/java/com/microsoft/playfab/sdk/AndroidAutomatedTest.java create mode 100644 Test/PlayFabServicesTestApp/Android/app/src/main/AndroidManifest.xml create mode 100644 Test/PlayFabServicesTestApp/Android/app/src/main/java/com/microsoft/playfab/sdk/AndroidTestClient.java create mode 100644 Test/PlayFabServicesTestApp/Android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 Test/PlayFabServicesTestApp/Android/app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 Test/PlayFabServicesTestApp/Android/app/src/main/res/layout/activity_main.xml create mode 100644 Test/PlayFabServicesTestApp/Android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 Test/PlayFabServicesTestApp/Android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 Test/PlayFabServicesTestApp/Android/app/src/main/res/values-night/themes.xml create mode 100644 Test/PlayFabServicesTestApp/Android/app/src/main/res/values/colors.xml create mode 100644 Test/PlayFabServicesTestApp/Android/app/src/main/res/values/strings.xml create mode 100644 Test/PlayFabServicesTestApp/Android/app/src/main/res/values/themes.xml create mode 100644 Test/PlayFabServicesTestApp/Android/app/src/main/res/xml/backup_rules.xml create mode 100644 Test/PlayFabServicesTestApp/Android/app/src/main/res/xml/data_extraction_rules.xml create mode 100644 Test/PlayFabServicesTestApp/Android/build.gradle create mode 100644 Test/PlayFabServicesTestApp/Android/gradle.properties create mode 100644 Test/PlayFabServicesTestApp/Android/gradle/wrapper/gradle-wrapper.jar create mode 100644 Test/PlayFabServicesTestApp/Android/gradle/wrapper/gradle-wrapper.properties create mode 100644 Test/PlayFabServicesTestApp/Android/gradlew create mode 100644 Test/PlayFabServicesTestApp/Android/gradlew.bat create mode 100644 Test/PlayFabServicesTestApp/Android/settings.gradle create mode 100644 Test/PlayFabServicesTestApp/Apple/PlayFabServicesTestApp.Apple/PlayFabServicesTestApp.Apple.xcodeproj/project.pbxproj create mode 100644 Test/PlayFabServicesTestApp/Apple/PlayFabServicesTestApp.Apple/PlayFabServicesTestApp.Apple.xcodeproj/xcshareddata/xcschemes/PlayFabServicesTestApp_iOS.xcscheme create mode 100644 Test/PlayFabServicesTestApp/Apple/PlayFabServicesTestApp.Apple/PlayFabServicesTestApp.Apple.xcodeproj/xcshareddata/xcschemes/PlayFabServicesTestApp_macOS.xcscheme create mode 100644 Test/PlayFabServicesTestApp/Apple/PlayFabServicesTestApp.Apple/PlayFabServicesTestApp.Apple/AppleSignInCoordinator.swift create mode 100644 Test/PlayFabServicesTestApp/Apple/PlayFabServicesTestApp.Apple/PlayFabServicesTestApp.Apple/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 Test/PlayFabServicesTestApp/Apple/PlayFabServicesTestApp.Apple/PlayFabServicesTestApp.Apple/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 Test/PlayFabServicesTestApp/Apple/PlayFabServicesTestApp.Apple/PlayFabServicesTestApp.Apple/Assets.xcassets/Contents.json create mode 100644 Test/PlayFabServicesTestApp/Apple/PlayFabServicesTestApp.Apple/PlayFabServicesTestApp.Apple/ContentView.swift create mode 100644 Test/PlayFabServicesTestApp/Apple/PlayFabServicesTestApp.Apple/PlayFabServicesTestApp.Apple/PlayFabServicesTestApp_Apple.entitlements create mode 100644 Test/PlayFabServicesTestApp/Apple/PlayFabServicesTestApp.Apple/PlayFabServicesTestApp.Apple/PlayFabServicesTestApp_AppleApp.swift create mode 100644 Test/PlayFabServicesTestApp/Apple/PlayFabServicesTestApp.Apple/PlayFabServicesTestApp.Apple/Preview Content/Preview Assets.xcassets/Contents.json create mode 100644 Test/PlayFabServicesTestApp/GetPlayFabServicesTestAppCommon.cmake create mode 100644 Test/PlayFabServicesTestApp/Linux/CMakeLists.txt create mode 100644 Test/PlayFabServicesTestApp/Linux/PlayFabTestApp_Linux.bash create mode 100644 Test/PlayFabServicesTestApp/Platform/Android/AndroidTestApp.cpp create mode 100644 Test/PlayFabServicesTestApp/Platform/Android/AndroidTestApp.h create mode 100644 Test/PlayFabServicesTestApp/Platform/Android/AndroidTestAppJni.cpp create mode 100644 Test/PlayFabServicesTestApp/Platform/Android/AndroidTestAppJni.h create mode 100644 Test/PlayFabServicesTestApp/Platform/Android/PlatformUtilsAndroid.cpp create mode 100644 Test/PlayFabServicesTestApp/Platform/Android/PlatformUtilsAndroid.h create mode 100644 Test/PlayFabServicesTestApp/Platform/Android/PlayFabAndroid.cpp create mode 100644 Test/PlayFabServicesTestApp/Platform/Apple/MainApple.cpp create mode 100644 Test/PlayFabServicesTestApp/Platform/Apple/MainApple.h create mode 100644 Test/PlayFabServicesTestApp/Platform/Apple/PlatformUtilsApple.cpp create mode 100644 Test/PlayFabServicesTestApp/Platform/Apple/PlayFabApple.cpp create mode 100644 Test/PlayFabServicesTestApp/Platform/Apple/PlayFabServicesTestApp.Apple-Bridging-Header.h create mode 100644 Test/PlayFabServicesTestApp/Platform/Linux/MainLinux.cpp create mode 100644 Test/PlayFabServicesTestApp/Platform/Linux/PlatfromUtilsLinux.cpp create mode 100644 Test/PlayFabServicesTestApp/Platform/Linux/PlayFabLinux.cpp diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..907c2d2 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,9 @@ +############################################################################### +# Set default behavior to automatically normalize line endings. +############################################################################### +* text=auto + +############################################################################### +# Don't add crlf to Linux bash files or they get Bash: /bin/bash^M: bad interpreter errors +############################################################################### +*.bash text eol=lf diff --git a/.gitignore b/.gitignore index 3a285de..62d4ad1 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,9 @@ *.user *.userosscache *.sln.docstates +.vscode target/ +Int/ # User-specific files (MonoDevelop/Xamarin Studio) *.userprefs @@ -339,3 +341,27 @@ reports/ # Used in template-update-check.yml git_diff_output.txt gen.txt + +# Android build files +.cxx/ +.gradle/ +local.properties +/Build/PlayFabServices.Android.Workspace/build +/Out/ +/Test/PlayFabServicesTestApp/Android/app/build +/Test/PlayFabServicesTestApp/Android/app/libs +/Test/PlayFabServicesTestApp/Android/app/src/main/assets + +#XCode +.DS_Store +*.swp +*~.nib +*.pbxuser +*.perspective +*.perspectivev3 + +xcuserdata + +# PlayFab test app logs +**/PFTestAppEventsLog.txt +**/PFTestAppSummary.txt diff --git a/Build/PlayFab.C.Apple/PlayFab.C.Apple.xcworkspace/contents.xcworkspacedata b/Build/PlayFab.C.Apple/PlayFab.C.Apple.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..49d45cf --- /dev/null +++ b/Build/PlayFab.C.Apple/PlayFab.C.Apple.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,19 @@ + + + + + + + + + + + + + diff --git a/Build/PlayFab.C.Apple/PlayFab.C.Apple.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Build/PlayFab.C.Apple/PlayFab.C.Apple.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/Build/PlayFab.C.Apple/PlayFab.C.Apple.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Build/PlayFab.C.Apple/PlayFab.C.Apple.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/Build/PlayFab.C.Apple/PlayFab.C.Apple.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..0c67376 --- /dev/null +++ b/Build/PlayFab.C.Apple/PlayFab.C.Apple.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,5 @@ + + + + + diff --git a/Build/PlayFab.C.GDK.props b/Build/PlayFab.C.GDK.props index b09ac79..036916e 100644 --- a/Build/PlayFab.C.GDK.props +++ b/Build/PlayFab.C.GDK.props @@ -4,12 +4,6 @@ - - - - ; - - diff --git a/Build/PlayFabCore.Android/CMakeLists.txt b/Build/PlayFabCore.Android/CMakeLists.txt new file mode 100644 index 0000000..ea2d98f --- /dev/null +++ b/Build/PlayFabCore.Android/CMakeLists.txt @@ -0,0 +1,93 @@ +cmake_minimum_required(VERSION 3.6) + +get_filename_component(PATH_TO_ROOT "../../" ABSOLUTE) +get_filename_component(PATH_TO_SOURCE "../../Source" ABSOLUTE) + +set(PATH_TO_LHC ../libHttpClient) +if(NOT EXISTS "${PATH_TO_LHC}/README.md") + set(PATH_TO_LHC ${PATH_TO_ROOT}/../libHttpClient) +endif() + +project("PlayFabCore.Android") + +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_POSITION_INDEPENDENT_CODE ON) +set(CMAKE_SHARED_LINKER_FLAGS "-Wl,-z,now") +set(CMAKE_CXX_FLAGS_RELEASE "-gdwarf-5") +set(CMAKE_C_FLAGS_RELEASE "-gdwarf-5") + +########################################### +### Set up paths for source and include ### +########################################### + +include("../PlayFabCore.CMake/GetCommonSourceFiles.cmake") +get_common_source_files( + COMMON_SOURCE_FILES + "${PATH_TO_SOURCE}" +) + +include("../PlayFabCore.CMake/GetServiceWrapperFiles.cmake") +get_service_wrapper_source_files( + SERVICE_WRAPPER_SOURCE_FILES + "${PATH_TO_SOURCE}" +) + +set(COMMON_INCLUDE_DIRS + "${PATH_TO_SOURCE}/PlayFabCore/Source" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Common" + "${PATH_TO_SOURCE}/PlayFabCore/Include" + "${PATH_TO_SOURCE}/PlayFabCore/Include/Generated" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/Generated" + "${PATH_TO_ROOT}/External/rapidjson/include" + "${PATH_TO_LHC}/Include" +) + +######################### +### Set up shared lib ### +######################### + +add_subdirectory("../PlayFabSharedInternal.Android" ${PATH_TO_ROOT}/Out/Android/PlayFabCore.Android/PlayFabSharedInternal/${CMAKE_BUILD_TYPE}/${ANDROID_ABI}) + +string(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_LOWER) +add_subdirectory("${PATH_TO_LHC}/Build/libHttpClient.Android" "${PATH_TO_LHC}/Binaries/Android/.cxx/libHttpClient.Android/cmake/${CMAKE_BUILD_TYPE_LOWER}/${ANDROID_ABI}") + +add_library( + "PlayFabCore.Android" + SHARED + "${SERVICE_WRAPPER_SOURCE_FILES}" + "${COMMON_SOURCE_FILES}" +) + +target_include_directories( + "PlayFabCore.Android" + PRIVATE + "${COMMON_INCLUDE_DIRS}" +) + +find_library( # Sets the name of the path variable. + log-lib + + # Specifies the name of the NDK library that + # you want CMake to locate. + log +) + +target_link_libraries( + PlayFabCore.Android + PlayFabSharedInternal.Android + libHttpClient.Android + ${log-lib} +) + +include("../PlayFabSharedInternal.CMake/GetLinuxFlags.cmake") +get_linux_flags(FLAGS FLAGS_DEBUG FLAGS_RELEASE) + +include("../PlayFabSharedInternal.CMake/TargetSetFlags.cmake") +target_set_flags( + "PlayFabCore.Android" + "${FLAGS}" + "${FLAGS_DEBUG}" + "${FLAGS_RELEASE}" +) \ No newline at end of file diff --git a/Build/PlayFabCore.Android/build.gradle b/Build/PlayFabCore.Android/build.gradle new file mode 100644 index 0000000..d6dde30 --- /dev/null +++ b/Build/PlayFabCore.Android/build.gradle @@ -0,0 +1,73 @@ +apply plugin: "com.android.library" + +android { + compileSdk 34 + ndkVersion "25.1.8937393" + + defaultConfig { + targetSdkVersion 34 + minSdkVersion 21 + + externalNativeBuild { + cmake { + // externalNativeBuild normally skips static + // lib targets. This forces it to build. + targets "PlayFabCore.Android" + arguments "-DANDROID_TOOLCHAIN=clang++" + } + } + } + + externalNativeBuild { + cmake { + version "3.18.1" + path "CMakeLists.txt" + buildStagingDirectory "${project.buildDir.getParentFile().getAbsolutePath()}/.cxx/${project.name}" + } + } + + flavorDimensions "ABI" + + productFlavors { + full { + dimension "ABI" + externalNativeBuild { + cmake { + abiFilters "arm64-v8a", "x86_64" + } + } + } + arm8 { + dimension "ABI" + externalNativeBuild { + cmake { + abiFilters "arm64-v8a" + } + } + } + x86_64 { + dimension "ABI" + externalNativeBuild { + cmake { + abiFilters "x86_64" + } + } + } + } + + compileOptions { + sourceCompatibility=JavaVersion.VERSION_1_8 + targetCompatibility=JavaVersion.VERSION_1_8 + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile("proguard-android.txt") + } + } +} + +// Put all the Gradle build files under the /Out directory +def binariesDir = project.file("../../Out/Android/${project.name}").getAbsolutePath() +project.buildDir(new File(binariesDir)) \ No newline at end of file diff --git a/Build/PlayFabCore.Android/src/main/AndroidManifest.xml b/Build/PlayFabCore.Android/src/main/AndroidManifest.xml new file mode 100644 index 0000000..fe1fb26 --- /dev/null +++ b/Build/PlayFabCore.Android/src/main/AndroidManifest.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/Build/PlayFabCore.Apple/PlayFabCore.Apple.xcodeproj/project.pbxproj b/Build/PlayFabCore.Apple/PlayFabCore.Apple.xcodeproj/project.pbxproj new file mode 100644 index 0000000..70efd15 --- /dev/null +++ b/Build/PlayFabCore.Apple/PlayFabCore.Apple.xcodeproj/project.pbxproj @@ -0,0 +1,1577 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 56; + objects = { + +/* Begin PBXBuildFile section */ + 8206F1FD2B7588F400451339 /* libPlayFabSharedInternal_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8206F1FC2B7588F400451339 /* libPlayFabSharedInternal_macOS.a */; }; + 8206F1FF2B75890E00451339 /* libPlayFabSharedInternal_iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8206F1FE2B75890E00451339 /* libPlayFabSharedInternal_iOS.a */; }; + 8236DDD12B5AEA1700FFA328 /* AuthenticationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083EF2AF06CB400D8B93D /* AuthenticationTypes.h */; }; + 8236DDD22B5AEA1700FFA328 /* TypeWrapperHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082CF2AF0610F00D8B93D /* TypeWrapperHelpers.h */; }; + 8236DDD32B5AEA1700FFA328 /* Authentication.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083F52AF06CB400D8B93D /* Authentication.h */; }; + 8236DDD42B5AEA1700FFA328 /* EventsTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083F42AF06CB400D8B93D /* EventsTypes.h */; }; + 8236DDD52B5AEA1700FFA328 /* TypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083A32AF06C5B00D8B93D /* TypeWrappers.h */; }; + 8236DDD62B5AEA1700FFA328 /* PFPlatform.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082CC2AF0610F00D8B93D /* PFPlatform.h */; }; + 8236DDD72B5AEA1700FFA328 /* PFEntity.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082BE2AF0610F00D8B93D /* PFEntity.h */; }; + 8236DDD82B5AEA1700FFA328 /* PFAuthenticationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083A12AF06C5B00D8B93D /* PFAuthenticationTypes.h */; }; + 8236DDD92B5AEA1700FFA328 /* PFPal.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082C92AF0610F00D8B93D /* PFPal.h */; }; + 8236DDDA2B5AEA1700FFA328 /* HttpClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083322AF068E500D8B93D /* HttpClient.h */; }; + 8236DDDB2B5AEA1700FFA328 /* PFHttpClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082C42AF0610F00D8B93D /* PFHttpClient.h */; }; + 8236DDDC2B5AEA1700FFA328 /* PFAuthentication.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083A02AF06C5B00D8B93D /* PFAuthentication.h */; }; + 8236DDDD2B5AEA1700FFA328 /* PFEventPipeline.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082CA2AF0610F00D8B93D /* PFEventPipeline.h */; }; + 8236DDDE2B5AEA1700FFA328 /* EventPipelineTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083482AF068E500D8B93D /* EventPipelineTypes.h */; }; + 8236DDDF2B5AEA1700FFA328 /* DebugTraceOutput.h in Headers */ = {isa = PBXBuildFile; fileRef = 8260831E2AF068E500D8B93D /* DebugTraceOutput.h */; }; + 8236DDE02B5AEA1700FFA328 /* PlayFabException.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082D12AF0610F00D8B93D /* PlayFabException.h */; }; + 8236DDE12B5AEA1700FFA328 /* PFServiceConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082CB2AF0610F00D8B93D /* PFServiceConfig.h */; }; + 8236DDE22B5AEA1700FFA328 /* TokenRefreshedHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 8260832E2AF068E500D8B93D /* TokenRefreshedHandler.h */; }; + 8236DDE32B5AEA1700FFA328 /* PFMock.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082C52AF0610F00D8B93D /* PFMock.h */; }; + 8236DDE42B5AEA1700FFA328 /* LocalStorage_Generic.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6DD2AF1B45900DF9129 /* LocalStorage_Generic.h */; }; + 8236DDE52B5AEA1700FFA328 /* LocalStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083232AF068E500D8B93D /* LocalStorage.h */; }; + 8236DDE62B5AEA1700FFA328 /* Entity.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083342AF068E500D8B93D /* Entity.h */; }; + 8236DDE72B5AEA1700FFA328 /* EventsTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083A42AF06C5B00D8B93D /* EventsTypeWrappers.h */; }; + 8236DDE82B5AEA1700FFA328 /* GetEntityAsyncProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 8260834F2AF068E500D8B93D /* GetEntityAsyncProvider.h */; }; + 8236DDE92B5AEA1700FFA328 /* PFErrors.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082B72AF0610F00D8B93D /* PFErrors.h */; }; + 8236DDEA2B5AEA1700FFA328 /* CombinedLoginResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083512AF068E500D8B93D /* CombinedLoginResult.h */; }; + 8236DDEB2B5AEA1700FFA328 /* EventPipeline.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083492AF068E500D8B93D /* EventPipeline.h */; }; + 8236DDEC2B5AEA1700FFA328 /* ServiceConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083382AF068E500D8B93D /* ServiceConfig.h */; }; + 8236DDED2B5AEA1700FFA328 /* PFTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 8260839D2AF06C5B00D8B93D /* PFTypes.h */; }; + 8236DDEE2B5AEA1700FFA328 /* Platform.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083292AF068E500D8B93D /* Platform.h */; }; + 8236DDEF2B5AEA1700FFA328 /* ServiceConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082D22AF0610F00D8B93D /* ServiceConfig.h */; }; + 8236DDF02B5AEA1700FFA328 /* Events.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083F22AF06CB400D8B93D /* Events.h */; }; + 8236DDF12B5AEA1700FFA328 /* PFHCPal.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082C72AF0610F00D8B93D /* PFHCPal.h */; }; + 8236DDF22B5AEA1700FFA328 /* PFEvents.h in Headers */ = {isa = PBXBuildFile; fileRef = 8260839E2AF06C5B00D8B93D /* PFEvents.h */; }; + 8236DDF32B5AEA1700FFA328 /* PFHCTrace.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082C22AF0610F00D8B93D /* PFHCTrace.h */; }; + 8236DDF42B5AEA1700FFA328 /* PFCoreGlobalState.h in Headers */ = {isa = PBXBuildFile; fileRef = 8260832F2AF068E500D8B93D /* PFCoreGlobalState.h */; }; + 8236DDF52B5AEA1700FFA328 /* HandleTable.h in Headers */ = {isa = PBXBuildFile; fileRef = 8260832C2AF068E500D8B93D /* HandleTable.h */; }; + 8236DDF62B5AEA1700FFA328 /* LoginContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083522AF068E500D8B93D /* LoginContext.h */; }; + 8236DDF72B5AEA1700FFA328 /* EntityToken.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083372AF068E500D8B93D /* EntityToken.h */; }; + 8236DDF82B5AEA1700FFA328 /* CacheId.h in Headers */ = {isa = PBXBuildFile; fileRef = 8260830C2AF068E500D8B93D /* CacheId.h */; }; + 8236DDF92B5AEA1700FFA328 /* TokenExpiredHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083332AF068E500D8B93D /* TokenExpiredHandler.h */; }; + 8236DDFA2B5AEA1700FFA328 /* stdafx.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083192AF068E500D8B93D /* stdafx.h */; }; + 8236DDFB2B5AEA1700FFA328 /* LocalStorageTraceOutput.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083202AF068E500D8B93D /* LocalStorageTraceOutput.h */; }; + 8236DDFC2B5AEA1700FFA328 /* PFHttpProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082C62AF0610F00D8B93D /* PFHttpProvider.h */; }; + 8236DDFD2B5AEA1700FFA328 /* TraceState.h in Headers */ = {isa = PBXBuildFile; fileRef = 8260831B2AF068E500D8B93D /* TraceState.h */; }; + 8236DDFE2B5AEA1700FFA328 /* PFTrace.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082D42AF0610F00D8B93D /* PFTrace.h */; }; + 8236DDFF2B5AEA1700FFA328 /* AuthenticationTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083A52AF06C5B00D8B93D /* AuthenticationTypeWrappers.h */; }; + 8236DE002B5AEA1700FFA328 /* EventPipeline.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082D32AF0610F00D8B93D /* EventPipeline.h */; }; + 8236DE012B5AEA1700FFA328 /* PFCore.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082D52AF0610F00D8B93D /* PFCore.h */; }; + 8236DE022B5AEA1700FFA328 /* PFHCConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082C32AF0610F00D8B93D /* PFHCConfig.h */; }; + 8236DE032B5AEA1700FFA328 /* ApiHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 8260833B2AF068E500D8B93D /* ApiHelpers.h */; }; + 8236DE042B5AEA1700FFA328 /* PFHttpConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082CD2AF0610F00D8B93D /* PFHttpConfig.h */; }; + 8236DE052B5AEA1700FFA328 /* PFEventsTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083A72AF06C5B00D8B93D /* PFEventsTypes.h */; }; + 8236DE072B5AEA1700FFA328 /* PFCore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8260833F2AF068E500D8B93D /* PFCore.cpp */; }; + 8236DE082B5AEA1700FFA328 /* PFServiceConfig.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083442AF068E500D8B93D /* PFServiceConfig.cpp */; }; + 8236DE092B5AEA1700FFA328 /* Authentication.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083F92AF06CB400D8B93D /* Authentication.cpp */; }; + 8236DE0A2B5AEA1700FFA328 /* TraceState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8260831F2AF068E500D8B93D /* TraceState.cpp */; }; + 8236DE0B2B5AEA1700FFA328 /* PFHCTrace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083172AF068E500D8B93D /* PFHCTrace.cpp */; }; + 8236DE0C2B5AEA1700FFA328 /* Types.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083EE2AF06CB400D8B93D /* Types.cpp */; }; + 8236DE0D2B5AEA1700FFA328 /* EventPipeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083472AF068E500D8B93D /* EventPipeline.cpp */; }; + 8236DE0E2B5AEA1700FFA328 /* PFEvents.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083ED2AF06CB400D8B93D /* PFEvents.cpp */; }; + 8236DE0F2B5AEA1700FFA328 /* LoginContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083502AF068E500D8B93D /* LoginContext.cpp */; }; + 8236DE102B5AEA1700FFA328 /* PFAuthentication.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083F12AF06CB400D8B93D /* PFAuthentication.cpp */; }; + 8236DE112B5AEA1700FFA328 /* LocalStorage_Generic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6DE2AF1B45900DF9129 /* LocalStorage_Generic.cpp */; }; + 8236DE122B5AEA1700FFA328 /* AuthenticationTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083F62AF06CB400D8B93D /* AuthenticationTypes.cpp */; }; + 8236DE132B5AEA1700FFA328 /* TokenRefreshedHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083392AF068E500D8B93D /* TokenRefreshedHandler.cpp */; }; + 8236DE142B5AEA1700FFA328 /* DebugTraceOutput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8260831C2AF068E500D8B93D /* DebugTraceOutput.cpp */; }; + 8236DE152B5AEA1700FFA328 /* PFPlatform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083412AF068E500D8B93D /* PFPlatform.cpp */; }; + 8236DE162B5AEA1700FFA328 /* PFTrace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083452AF068E500D8B93D /* PFTrace.cpp */; }; + 8236DE172B5AEA1700FFA328 /* LocalStorageTraceOutput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8260831D2AF068E500D8B93D /* LocalStorageTraceOutput.cpp */; }; + 8236DE182B5AEA1700FFA328 /* Events.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083F72AF06CB400D8B93D /* Events.cpp */; }; + 8236DE192B5AEA1700FFA328 /* TokenExpiredHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8260832D2AF068E500D8B93D /* TokenExpiredHandler.cpp */; }; + 8236DE1A2B5AEA1700FFA328 /* EntityToken.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083352AF068E500D8B93D /* EntityToken.cpp */; }; + 8236DE1B2B5AEA1700FFA328 /* CombinedLoginResult.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083532AF068E500D8B93D /* CombinedLoginResult.cpp */; }; + 8236DE1C2B5AEA1700FFA328 /* PFMock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083162AF068E500D8B93D /* PFMock.cpp */; }; + 8236DE1D2B5AEA1700FFA328 /* ApiHelpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8260832B2AF068E500D8B93D /* ApiHelpers.cpp */; }; + 8236DE1E2B5AEA1700FFA328 /* EventPipelineTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8260834A2AF068E500D8B93D /* EventPipelineTypes.cpp */; }; + 8236DE1F2B5AEA1700FFA328 /* PFHttpConfig.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083432AF068E500D8B93D /* PFHttpConfig.cpp */; }; + 8236DE202B5AEA1700FFA328 /* ServiceConfig.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8260833A2AF068E500D8B93D /* ServiceConfig.cpp */; }; + 8236DE212B5AEA1700FFA328 /* PFHttpProvider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083182AF068E500D8B93D /* PFHttpProvider.cpp */; }; + 8236DE222B5AEA1700FFA328 /* LocalStorage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083222AF068E500D8B93D /* LocalStorage.cpp */; }; + 8236DE232B5AEA1700FFA328 /* HttpClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083362AF068E500D8B93D /* HttpClient.cpp */; }; + 8236DE242B5AEA1700FFA328 /* Platform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083242AF068E500D8B93D /* Platform.cpp */; }; + 8236DE252B5AEA1700FFA328 /* stdafx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8260834B2AF068E500D8B93D /* stdafx.cpp */; }; + 8236DE262B5AEA1700FFA328 /* PFCoreGlobalState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083312AF068E500D8B93D /* PFCoreGlobalState.cpp */; }; + 8236DE272B5AEA1700FFA328 /* EventsTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083F82AF06CB400D8B93D /* EventsTypes.cpp */; }; + 8236DE282B5AEA1700FFA328 /* Platform_Generic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6DF2AF1B45900DF9129 /* Platform_Generic.cpp */; }; + 8236DE292B5AEA1700FFA328 /* PFEntity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083422AF068E500D8B93D /* PFEntity.cpp */; }; + 8236DE2A2B5AEA1700FFA328 /* PFEventPipeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8260833E2AF068E500D8B93D /* PFEventPipeline.cpp */; }; + 8236DE2B2B5AEA1700FFA328 /* Entity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083302AF068E500D8B93D /* Entity.cpp */; }; + 8236DE2C2B5AEA1700FFA328 /* PFHttpClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083142AF068E500D8B93D /* PFHttpClient.cpp */; }; + 8236DE2E2B5AEA1700FFA328 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 826081492AEC316F00D8B93D /* Foundation.framework */; }; + 8236DE2F2B5AEA1700FFA328 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 826081452AEC310800D8B93D /* Security.framework */; }; + 826081472AEC312A00D8B93D /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 826081452AEC310800D8B93D /* Security.framework */; }; + 8260814A2AEC316F00D8B93D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 826081492AEC316F00D8B93D /* Foundation.framework */; }; + 826082E22AF0610F00D8B93D /* PFErrors.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082B72AF0610F00D8B93D /* PFErrors.h */; }; + 826082E82AF0610F00D8B93D /* PFEntity.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082BE2AF0610F00D8B93D /* PFEntity.h */; }; + 826082EA2AF0610F00D8B93D /* PFHCTrace.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082C22AF0610F00D8B93D /* PFHCTrace.h */; }; + 826082EB2AF0610F00D8B93D /* PFHCConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082C32AF0610F00D8B93D /* PFHCConfig.h */; }; + 826082EC2AF0610F00D8B93D /* PFHttpClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082C42AF0610F00D8B93D /* PFHttpClient.h */; }; + 826082ED2AF0610F00D8B93D /* PFMock.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082C52AF0610F00D8B93D /* PFMock.h */; }; + 826082EE2AF0610F00D8B93D /* PFHttpProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082C62AF0610F00D8B93D /* PFHttpProvider.h */; }; + 826082EF2AF0610F00D8B93D /* PFHCPal.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082C72AF0610F00D8B93D /* PFHCPal.h */; }; + 826082F02AF0610F00D8B93D /* PFPal.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082C92AF0610F00D8B93D /* PFPal.h */; }; + 826082F12AF0610F00D8B93D /* PFEventPipeline.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082CA2AF0610F00D8B93D /* PFEventPipeline.h */; }; + 826082F22AF0610F00D8B93D /* PFServiceConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082CB2AF0610F00D8B93D /* PFServiceConfig.h */; }; + 826082F32AF0610F00D8B93D /* PFPlatform.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082CC2AF0610F00D8B93D /* PFPlatform.h */; }; + 826082F42AF0610F00D8B93D /* PFHttpConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082CD2AF0610F00D8B93D /* PFHttpConfig.h */; }; + 826082F52AF0610F00D8B93D /* TypeWrapperHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082CF2AF0610F00D8B93D /* TypeWrapperHelpers.h */; }; + 826082F72AF0610F00D8B93D /* PlayFabException.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082D12AF0610F00D8B93D /* PlayFabException.h */; }; + 826082F82AF0610F00D8B93D /* ServiceConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082D22AF0610F00D8B93D /* ServiceConfig.h */; }; + 826082F92AF0610F00D8B93D /* EventPipeline.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082D32AF0610F00D8B93D /* EventPipeline.h */; }; + 826082FA2AF0610F00D8B93D /* PFTrace.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082D42AF0610F00D8B93D /* PFTrace.h */; }; + 826082FB2AF0610F00D8B93D /* PFCore.h in Headers */ = {isa = PBXBuildFile; fileRef = 826082D52AF0610F00D8B93D /* PFCore.h */; }; + 8260835A2AF068E500D8B93D /* CacheId.h in Headers */ = {isa = PBXBuildFile; fileRef = 8260830C2AF068E500D8B93D /* CacheId.h */; }; + 826083612AF068E500D8B93D /* PFHttpClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083142AF068E500D8B93D /* PFHttpClient.cpp */; }; + 826083632AF068E500D8B93D /* PFMock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083162AF068E500D8B93D /* PFMock.cpp */; }; + 826083642AF068E500D8B93D /* PFHCTrace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083172AF068E500D8B93D /* PFHCTrace.cpp */; }; + 826083652AF068E500D8B93D /* PFHttpProvider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083182AF068E500D8B93D /* PFHttpProvider.cpp */; }; + 826083662AF068E500D8B93D /* stdafx.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083192AF068E500D8B93D /* stdafx.h */; }; + 826083672AF068E500D8B93D /* TraceState.h in Headers */ = {isa = PBXBuildFile; fileRef = 8260831B2AF068E500D8B93D /* TraceState.h */; }; + 826083682AF068E500D8B93D /* DebugTraceOutput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8260831C2AF068E500D8B93D /* DebugTraceOutput.cpp */; }; + 826083692AF068E500D8B93D /* LocalStorageTraceOutput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8260831D2AF068E500D8B93D /* LocalStorageTraceOutput.cpp */; }; + 8260836A2AF068E500D8B93D /* DebugTraceOutput.h in Headers */ = {isa = PBXBuildFile; fileRef = 8260831E2AF068E500D8B93D /* DebugTraceOutput.h */; }; + 8260836B2AF068E500D8B93D /* TraceState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8260831F2AF068E500D8B93D /* TraceState.cpp */; }; + 8260836C2AF068E500D8B93D /* LocalStorageTraceOutput.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083202AF068E500D8B93D /* LocalStorageTraceOutput.h */; }; + 8260836D2AF068E500D8B93D /* LocalStorage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083222AF068E500D8B93D /* LocalStorage.cpp */; }; + 8260836E2AF068E500D8B93D /* LocalStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083232AF068E500D8B93D /* LocalStorage.h */; }; + 8260836F2AF068E500D8B93D /* Platform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083242AF068E500D8B93D /* Platform.cpp */; }; + 826083732AF068E500D8B93D /* Platform.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083292AF068E500D8B93D /* Platform.h */; }; + 826083742AF068E500D8B93D /* ApiHelpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8260832B2AF068E500D8B93D /* ApiHelpers.cpp */; }; + 826083752AF068E500D8B93D /* HandleTable.h in Headers */ = {isa = PBXBuildFile; fileRef = 8260832C2AF068E500D8B93D /* HandleTable.h */; }; + 826083762AF068E500D8B93D /* TokenExpiredHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8260832D2AF068E500D8B93D /* TokenExpiredHandler.cpp */; }; + 826083772AF068E500D8B93D /* TokenRefreshedHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 8260832E2AF068E500D8B93D /* TokenRefreshedHandler.h */; }; + 826083782AF068E500D8B93D /* PFCoreGlobalState.h in Headers */ = {isa = PBXBuildFile; fileRef = 8260832F2AF068E500D8B93D /* PFCoreGlobalState.h */; }; + 826083792AF068E500D8B93D /* Entity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083302AF068E500D8B93D /* Entity.cpp */; }; + 8260837A2AF068E500D8B93D /* PFCoreGlobalState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083312AF068E500D8B93D /* PFCoreGlobalState.cpp */; }; + 8260837B2AF068E500D8B93D /* HttpClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083322AF068E500D8B93D /* HttpClient.h */; }; + 8260837C2AF068E500D8B93D /* TokenExpiredHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083332AF068E500D8B93D /* TokenExpiredHandler.h */; }; + 8260837D2AF068E500D8B93D /* Entity.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083342AF068E500D8B93D /* Entity.h */; }; + 8260837E2AF068E500D8B93D /* EntityToken.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083352AF068E500D8B93D /* EntityToken.cpp */; }; + 8260837F2AF068E500D8B93D /* HttpClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083362AF068E500D8B93D /* HttpClient.cpp */; }; + 826083802AF068E500D8B93D /* EntityToken.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083372AF068E500D8B93D /* EntityToken.h */; }; + 826083812AF068E500D8B93D /* ServiceConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083382AF068E500D8B93D /* ServiceConfig.h */; }; + 826083822AF068E500D8B93D /* TokenRefreshedHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083392AF068E500D8B93D /* TokenRefreshedHandler.cpp */; }; + 826083832AF068E500D8B93D /* ServiceConfig.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8260833A2AF068E500D8B93D /* ServiceConfig.cpp */; }; + 826083842AF068E500D8B93D /* ApiHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 8260833B2AF068E500D8B93D /* ApiHelpers.h */; }; + 826083862AF068E500D8B93D /* PFEventPipeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8260833E2AF068E500D8B93D /* PFEventPipeline.cpp */; }; + 826083872AF068E500D8B93D /* PFCore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8260833F2AF068E500D8B93D /* PFCore.cpp */; }; + 826083892AF068E500D8B93D /* PFPlatform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083412AF068E500D8B93D /* PFPlatform.cpp */; }; + 8260838A2AF068E500D8B93D /* PFEntity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083422AF068E500D8B93D /* PFEntity.cpp */; }; + 8260838B2AF068E500D8B93D /* PFHttpConfig.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083432AF068E500D8B93D /* PFHttpConfig.cpp */; }; + 8260838C2AF068E500D8B93D /* PFServiceConfig.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083442AF068E500D8B93D /* PFServiceConfig.cpp */; }; + 8260838D2AF068E500D8B93D /* PFTrace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083452AF068E500D8B93D /* PFTrace.cpp */; }; + 8260838E2AF068E500D8B93D /* EventPipeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083472AF068E500D8B93D /* EventPipeline.cpp */; }; + 8260838F2AF068E500D8B93D /* EventPipelineTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083482AF068E500D8B93D /* EventPipelineTypes.h */; }; + 826083902AF068E500D8B93D /* EventPipeline.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083492AF068E500D8B93D /* EventPipeline.h */; }; + 826083912AF068E500D8B93D /* EventPipelineTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8260834A2AF068E500D8B93D /* EventPipelineTypes.cpp */; }; + 826083922AF068E500D8B93D /* stdafx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8260834B2AF068E500D8B93D /* stdafx.cpp */; }; + 826083942AF068E500D8B93D /* GetEntityAsyncProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 8260834F2AF068E500D8B93D /* GetEntityAsyncProvider.h */; }; + 826083952AF068E500D8B93D /* LoginContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083502AF068E500D8B93D /* LoginContext.cpp */; }; + 826083962AF068E500D8B93D /* CombinedLoginResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083512AF068E500D8B93D /* CombinedLoginResult.h */; }; + 826083972AF068E500D8B93D /* LoginContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083522AF068E500D8B93D /* LoginContext.h */; }; + 826083982AF068E500D8B93D /* CombinedLoginResult.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083532AF068E500D8B93D /* CombinedLoginResult.cpp */; }; + 826083C82AF06C5B00D8B93D /* PFTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 8260839D2AF06C5B00D8B93D /* PFTypes.h */; }; + 826083C92AF06C5B00D8B93D /* PFEvents.h in Headers */ = {isa = PBXBuildFile; fileRef = 8260839E2AF06C5B00D8B93D /* PFEvents.h */; }; + 826083CB2AF06C5B00D8B93D /* PFAuthentication.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083A02AF06C5B00D8B93D /* PFAuthentication.h */; }; + 826083CC2AF06C5B00D8B93D /* PFAuthenticationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083A12AF06C5B00D8B93D /* PFAuthenticationTypes.h */; }; + 826083CD2AF06C5B00D8B93D /* TypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083A32AF06C5B00D8B93D /* TypeWrappers.h */; }; + 826083CE2AF06C5B00D8B93D /* EventsTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083A42AF06C5B00D8B93D /* EventsTypeWrappers.h */; }; + 826083CF2AF06C5B00D8B93D /* AuthenticationTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083A52AF06C5B00D8B93D /* AuthenticationTypeWrappers.h */; }; + 826083D12AF06C5B00D8B93D /* PFEventsTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083A72AF06C5B00D8B93D /* PFEventsTypes.h */; }; + 8260843B2AF06CB400D8B93D /* PFEvents.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083ED2AF06CB400D8B93D /* PFEvents.cpp */; }; + 8260843C2AF06CB400D8B93D /* Types.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083EE2AF06CB400D8B93D /* Types.cpp */; }; + 8260843D2AF06CB400D8B93D /* AuthenticationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083EF2AF06CB400D8B93D /* AuthenticationTypes.h */; }; + 8260843F2AF06CB400D8B93D /* PFAuthentication.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083F12AF06CB400D8B93D /* PFAuthentication.cpp */; }; + 826084402AF06CB400D8B93D /* Events.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083F22AF06CB400D8B93D /* Events.h */; }; + 826084422AF06CB400D8B93D /* EventsTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083F42AF06CB400D8B93D /* EventsTypes.h */; }; + 826084432AF06CB400D8B93D /* Authentication.h in Headers */ = {isa = PBXBuildFile; fileRef = 826083F52AF06CB400D8B93D /* Authentication.h */; }; + 826084442AF06CB400D8B93D /* AuthenticationTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083F62AF06CB400D8B93D /* AuthenticationTypes.cpp */; }; + 826084452AF06CB400D8B93D /* Events.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083F72AF06CB400D8B93D /* Events.cpp */; }; + 826084462AF06CB400D8B93D /* EventsTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083F82AF06CB400D8B93D /* EventsTypes.cpp */; }; + 826084472AF06CB400D8B93D /* Authentication.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826083F92AF06CB400D8B93D /* Authentication.cpp */; }; + 826AE7272AF1B45900DF9129 /* LocalStorage_Generic.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6DD2AF1B45900DF9129 /* LocalStorage_Generic.h */; }; + 826AE7282AF1B45900DF9129 /* LocalStorage_Generic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6DE2AF1B45900DF9129 /* LocalStorage_Generic.cpp */; }; + 826AE7292AF1B45900DF9129 /* Platform_Generic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6DF2AF1B45900DF9129 /* Platform_Generic.cpp */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 8206F0532B740C7300451339 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1AD2B73FD26009A4677 /* libHttpClient.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 58BD256122123EF9008942EB; + remoteInfo = libHttpClientFramework_iOS; + }; + 8286B1BA2B73FD26009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1AD2B73FD26009A4677 /* libHttpClient.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 67EE817E2362599C00A5F3DE; + remoteInfo = SSL_iOS; + }; + 8286B1BC2B73FD26009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1AD2B73FD26009A4677 /* libHttpClient.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = D9EF87AD25A3F0F9005C4BDF; + remoteInfo = SSL_macOS; + }; + 8286B1BE2B73FD26009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1AD2B73FD26009A4677 /* libHttpClient.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 58722D0E209AD61900B071F7; + remoteInfo = libHttpClient_iOS; + }; + 8286B1C02B73FD26009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1AD2B73FD26009A4677 /* libHttpClient.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 7DB100A72119206B00AE22F5; + remoteInfo = libHttpClient_macOS; + }; + 8286B1C22B73FD26009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1AD2B73FD26009A4677 /* libHttpClient.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = D9EF884125A522BC005C4BDF; + remoteInfo = libHttpClient_NOWEBSOCKETS_iOS; + }; + 8286B1C42B73FD26009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1AD2B73FD26009A4677 /* libHttpClient.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = D9FF0A7725A5366A0061B717; + remoteInfo = libHttpClient_NOWEBSOCKETS_macOS; + }; + 8286B1C62B73FD26009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1AD2B73FD26009A4677 /* libHttpClient.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 58BD256222123EF9008942EB; + remoteInfo = libHttpClientFramework_iOS; + }; + 8286B1C82B73FD26009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1AD2B73FD26009A4677 /* libHttpClient.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2C872C65221C91BD0054F791; + remoteInfo = libHttpClientFramework_macOS; + }; + 8286B1CA2B73FD26009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1AD2B73FD26009A4677 /* libHttpClient.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = D9EF888425A52685005C4BDF; + remoteInfo = libHttpClientFramework_NOWEBSOCKETS_iOS; + }; + 8286B1CC2B73FD26009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1AD2B73FD26009A4677 /* libHttpClient.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = D9FF0AA225A536A20061B717; + remoteInfo = libHttpClientFramework_NOWEBSOCKETS_macOS; + }; + 8286B1CE2B73FD2E009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1AD2B73FD26009A4677 /* libHttpClient.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 2C872C64221C91BD0054F791; + remoteInfo = libHttpClientFramework_macOS; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 8206F1FC2B7588F400451339 /* libPlayFabSharedInternal_macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libPlayFabSharedInternal_macOS.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 8206F1FE2B75890E00451339 /* libPlayFabSharedInternal_iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libPlayFabSharedInternal_iOS.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 8236DE362B5AEA1700FFA328 /* PlayFabCore_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PlayFabCore_macOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 8236DE372B5AEA8800FFA328 /* libHttpClient.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libHttpClient.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 8236DE392B5AEA9600FFA328 /* libPlayFabSharedInternal.macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libPlayFabSharedInternal.macOS.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 8260802B2AEAFFCF00D8B93D /* PlayFabCore_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PlayFabCore_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 826081342AEB2A4000D8B93D /* libPlayFabSharedInternal.iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libPlayFabSharedInternal.iOS.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 826081432AEB3EFA00D8B93D /* libHttpClient.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libHttpClient.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 826081452AEC310800D8B93D /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/System/Library/Frameworks/Security.framework; sourceTree = DEVELOPER_DIR; }; + 826081492AEC316F00D8B93D /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 826082B72AF0610F00D8B93D /* PFErrors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFErrors.h; sourceTree = ""; }; + 826082BE2AF0610F00D8B93D /* PFEntity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFEntity.h; sourceTree = ""; }; + 826082C22AF0610F00D8B93D /* PFHCTrace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFHCTrace.h; sourceTree = ""; }; + 826082C32AF0610F00D8B93D /* PFHCConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFHCConfig.h; sourceTree = ""; }; + 826082C42AF0610F00D8B93D /* PFHttpClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFHttpClient.h; sourceTree = ""; }; + 826082C52AF0610F00D8B93D /* PFMock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFMock.h; sourceTree = ""; }; + 826082C62AF0610F00D8B93D /* PFHttpProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFHttpProvider.h; sourceTree = ""; }; + 826082C72AF0610F00D8B93D /* PFHCPal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFHCPal.h; sourceTree = ""; }; + 826082C92AF0610F00D8B93D /* PFPal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFPal.h; sourceTree = ""; }; + 826082CA2AF0610F00D8B93D /* PFEventPipeline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFEventPipeline.h; sourceTree = ""; }; + 826082CB2AF0610F00D8B93D /* PFServiceConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFServiceConfig.h; sourceTree = ""; }; + 826082CC2AF0610F00D8B93D /* PFPlatform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFPlatform.h; sourceTree = ""; }; + 826082CD2AF0610F00D8B93D /* PFHttpConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFHttpConfig.h; sourceTree = ""; }; + 826082CF2AF0610F00D8B93D /* TypeWrapperHelpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TypeWrapperHelpers.h; sourceTree = ""; }; + 826082D12AF0610F00D8B93D /* PlayFabException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlayFabException.h; sourceTree = ""; }; + 826082D22AF0610F00D8B93D /* ServiceConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ServiceConfig.h; sourceTree = ""; }; + 826082D32AF0610F00D8B93D /* EventPipeline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventPipeline.h; sourceTree = ""; }; + 826082D42AF0610F00D8B93D /* PFTrace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFTrace.h; sourceTree = ""; }; + 826082D52AF0610F00D8B93D /* PFCore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFCore.h; sourceTree = ""; }; + 8260830C2AF068E500D8B93D /* CacheId.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CacheId.h; sourceTree = ""; }; + 826083142AF068E500D8B93D /* PFHttpClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFHttpClient.cpp; sourceTree = ""; }; + 826083162AF068E500D8B93D /* PFMock.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFMock.cpp; sourceTree = ""; }; + 826083172AF068E500D8B93D /* PFHCTrace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFHCTrace.cpp; sourceTree = ""; }; + 826083182AF068E500D8B93D /* PFHttpProvider.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFHttpProvider.cpp; sourceTree = ""; }; + 826083192AF068E500D8B93D /* stdafx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stdafx.h; sourceTree = ""; }; + 8260831B2AF068E500D8B93D /* TraceState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TraceState.h; sourceTree = ""; }; + 8260831C2AF068E500D8B93D /* DebugTraceOutput.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DebugTraceOutput.cpp; sourceTree = ""; }; + 8260831D2AF068E500D8B93D /* LocalStorageTraceOutput.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LocalStorageTraceOutput.cpp; sourceTree = ""; }; + 8260831E2AF068E500D8B93D /* DebugTraceOutput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DebugTraceOutput.h; sourceTree = ""; }; + 8260831F2AF068E500D8B93D /* TraceState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TraceState.cpp; sourceTree = ""; }; + 826083202AF068E500D8B93D /* LocalStorageTraceOutput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LocalStorageTraceOutput.h; sourceTree = ""; }; + 826083222AF068E500D8B93D /* LocalStorage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LocalStorage.cpp; sourceTree = ""; }; + 826083232AF068E500D8B93D /* LocalStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LocalStorage.h; sourceTree = ""; }; + 826083242AF068E500D8B93D /* Platform.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Platform.cpp; sourceTree = ""; }; + 826083292AF068E500D8B93D /* Platform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Platform.h; sourceTree = ""; }; + 8260832B2AF068E500D8B93D /* ApiHelpers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ApiHelpers.cpp; sourceTree = ""; }; + 8260832C2AF068E500D8B93D /* HandleTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HandleTable.h; sourceTree = ""; }; + 8260832D2AF068E500D8B93D /* TokenExpiredHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TokenExpiredHandler.cpp; sourceTree = ""; }; + 8260832E2AF068E500D8B93D /* TokenRefreshedHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TokenRefreshedHandler.h; sourceTree = ""; }; + 8260832F2AF068E500D8B93D /* PFCoreGlobalState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFCoreGlobalState.h; sourceTree = ""; }; + 826083302AF068E500D8B93D /* Entity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Entity.cpp; sourceTree = ""; }; + 826083312AF068E500D8B93D /* PFCoreGlobalState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFCoreGlobalState.cpp; sourceTree = ""; }; + 826083322AF068E500D8B93D /* HttpClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HttpClient.h; sourceTree = ""; }; + 826083332AF068E500D8B93D /* TokenExpiredHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TokenExpiredHandler.h; sourceTree = ""; }; + 826083342AF068E500D8B93D /* Entity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Entity.h; sourceTree = ""; }; + 826083352AF068E500D8B93D /* EntityToken.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EntityToken.cpp; sourceTree = ""; }; + 826083362AF068E500D8B93D /* HttpClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HttpClient.cpp; sourceTree = ""; }; + 826083372AF068E500D8B93D /* EntityToken.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EntityToken.h; sourceTree = ""; }; + 826083382AF068E500D8B93D /* ServiceConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ServiceConfig.h; sourceTree = ""; }; + 826083392AF068E500D8B93D /* TokenRefreshedHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TokenRefreshedHandler.cpp; sourceTree = ""; }; + 8260833A2AF068E500D8B93D /* ServiceConfig.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ServiceConfig.cpp; sourceTree = ""; }; + 8260833B2AF068E500D8B93D /* ApiHelpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ApiHelpers.h; sourceTree = ""; }; + 8260833E2AF068E500D8B93D /* PFEventPipeline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFEventPipeline.cpp; sourceTree = ""; }; + 8260833F2AF068E500D8B93D /* PFCore.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFCore.cpp; sourceTree = ""; }; + 826083412AF068E500D8B93D /* PFPlatform.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFPlatform.cpp; sourceTree = ""; }; + 826083422AF068E500D8B93D /* PFEntity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFEntity.cpp; sourceTree = ""; }; + 826083432AF068E500D8B93D /* PFHttpConfig.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFHttpConfig.cpp; sourceTree = ""; }; + 826083442AF068E500D8B93D /* PFServiceConfig.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFServiceConfig.cpp; sourceTree = ""; }; + 826083452AF068E500D8B93D /* PFTrace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFTrace.cpp; sourceTree = ""; }; + 826083472AF068E500D8B93D /* EventPipeline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EventPipeline.cpp; sourceTree = ""; }; + 826083482AF068E500D8B93D /* EventPipelineTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventPipelineTypes.h; sourceTree = ""; }; + 826083492AF068E500D8B93D /* EventPipeline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventPipeline.h; sourceTree = ""; }; + 8260834A2AF068E500D8B93D /* EventPipelineTypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EventPipelineTypes.cpp; sourceTree = ""; }; + 8260834B2AF068E500D8B93D /* stdafx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = stdafx.cpp; sourceTree = ""; }; + 8260834F2AF068E500D8B93D /* GetEntityAsyncProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GetEntityAsyncProvider.h; sourceTree = ""; }; + 826083502AF068E500D8B93D /* LoginContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LoginContext.cpp; sourceTree = ""; }; + 826083512AF068E500D8B93D /* CombinedLoginResult.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CombinedLoginResult.h; sourceTree = ""; }; + 826083522AF068E500D8B93D /* LoginContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoginContext.h; sourceTree = ""; }; + 826083532AF068E500D8B93D /* CombinedLoginResult.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CombinedLoginResult.cpp; sourceTree = ""; }; + 8260839D2AF06C5B00D8B93D /* PFTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFTypes.h; sourceTree = ""; }; + 8260839E2AF06C5B00D8B93D /* PFEvents.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFEvents.h; sourceTree = ""; }; + 826083A02AF06C5B00D8B93D /* PFAuthentication.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFAuthentication.h; sourceTree = ""; }; + 826083A12AF06C5B00D8B93D /* PFAuthenticationTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFAuthenticationTypes.h; sourceTree = ""; }; + 826083A32AF06C5B00D8B93D /* TypeWrappers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TypeWrappers.h; sourceTree = ""; }; + 826083A42AF06C5B00D8B93D /* EventsTypeWrappers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventsTypeWrappers.h; sourceTree = ""; }; + 826083A52AF06C5B00D8B93D /* AuthenticationTypeWrappers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AuthenticationTypeWrappers.h; sourceTree = ""; }; + 826083A72AF06C5B00D8B93D /* PFEventsTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFEventsTypes.h; sourceTree = ""; }; + 826083ED2AF06CB400D8B93D /* PFEvents.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFEvents.cpp; sourceTree = ""; }; + 826083EE2AF06CB400D8B93D /* Types.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Types.cpp; sourceTree = ""; }; + 826083EF2AF06CB400D8B93D /* AuthenticationTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AuthenticationTypes.h; sourceTree = ""; }; + 826083F12AF06CB400D8B93D /* PFAuthentication.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFAuthentication.cpp; sourceTree = ""; }; + 826083F22AF06CB400D8B93D /* Events.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Events.h; sourceTree = ""; }; + 826083F42AF06CB400D8B93D /* EventsTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventsTypes.h; sourceTree = ""; }; + 826083F52AF06CB400D8B93D /* Authentication.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Authentication.h; sourceTree = ""; }; + 826083F62AF06CB400D8B93D /* AuthenticationTypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AuthenticationTypes.cpp; sourceTree = ""; }; + 826083F72AF06CB400D8B93D /* Events.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Events.cpp; sourceTree = ""; }; + 826083F82AF06CB400D8B93D /* EventsTypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EventsTypes.cpp; sourceTree = ""; }; + 826083F92AF06CB400D8B93D /* Authentication.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Authentication.cpp; sourceTree = ""; }; + 82628C7A2B73125E00ED8BF8 /* HttpClient.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = HttpClient.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 826AE6DD2AF1B45900DF9129 /* LocalStorage_Generic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LocalStorage_Generic.h; sourceTree = ""; }; + 826AE6DE2AF1B45900DF9129 /* LocalStorage_Generic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LocalStorage_Generic.cpp; sourceTree = ""; }; + 826AE6DF2AF1B45900DF9129 /* Platform_Generic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Platform_Generic.cpp; sourceTree = ""; }; + 8286B1AB2B73FCCD009A4677 /* HttpClient.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = HttpClient.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 8286B1AD2B73FD26009A4677 /* libHttpClient.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = libHttpClient.xcodeproj; path = ../../../libHttpClient/Build/libHttpClient.Apple.C/libHttpClient.xcodeproj; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8236DE2D2B5AEA1700FFA328 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8236DE2E2B5AEA1700FFA328 /* Foundation.framework in Frameworks */, + 8206F1FD2B7588F400451339 /* libPlayFabSharedInternal_macOS.a in Frameworks */, + 8236DE2F2B5AEA1700FFA328 /* Security.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 826080282AEAFFCF00D8B93D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8260814A2AEC316F00D8B93D /* Foundation.framework in Frameworks */, + 8206F1FF2B75890E00451339 /* libPlayFabSharedInternal_iOS.a in Frameworks */, + 826081472AEC312A00D8B93D /* Security.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 826080212AEAFFCF00D8B93D = { + isa = PBXGroup; + children = ( + 8286B1AD2B73FD26009A4677 /* libHttpClient.xcodeproj */, + 8279657B2AF30B1400477203 /* PlayFabCore.Apple */, + 826082A62AF040AF00D8B93D /* PlayFabCore.Common */, + 826082A72AF040CA00D8B93D /* PlayFabCore.ServiceWrappers */, + 8260802C2AEAFFCF00D8B93D /* Products */, + 826081332AEB2A4000D8B93D /* Frameworks */, + ); + sourceTree = ""; + }; + 8260802C2AEAFFCF00D8B93D /* Products */ = { + isa = PBXGroup; + children = ( + 8260802B2AEAFFCF00D8B93D /* PlayFabCore_iOS.framework */, + 8236DE362B5AEA1700FFA328 /* PlayFabCore_macOS.framework */, + ); + name = Products; + sourceTree = ""; + }; + 826081332AEB2A4000D8B93D /* Frameworks */ = { + isa = PBXGroup; + children = ( + 8206F1FE2B75890E00451339 /* libPlayFabSharedInternal_iOS.a */, + 8206F1FC2B7588F400451339 /* libPlayFabSharedInternal_macOS.a */, + 8286B1AB2B73FCCD009A4677 /* HttpClient.framework */, + 82628C7A2B73125E00ED8BF8 /* HttpClient.framework */, + 8236DE392B5AEA9600FFA328 /* libPlayFabSharedInternal.macOS.a */, + 8236DE372B5AEA8800FFA328 /* libHttpClient.a */, + 826081492AEC316F00D8B93D /* Foundation.framework */, + 826081452AEC310800D8B93D /* Security.framework */, + 826081432AEB3EFA00D8B93D /* libHttpClient.a */, + 826081342AEB2A4000D8B93D /* libPlayFabSharedInternal.iOS.a */, + ); + name = Frameworks; + sourceTree = ""; + }; + 826082A62AF040AF00D8B93D /* PlayFabCore.Common */ = { + isa = PBXGroup; + children = ( + 826082B12AF0610F00D8B93D /* Include */, + 826083042AF068E500D8B93D /* Source */, + ); + name = PlayFabCore.Common; + sourceTree = ""; + }; + 826082A72AF040CA00D8B93D /* PlayFabCore.ServiceWrappers */ = { + isa = PBXGroup; + children = ( + 826083992AF06C5B00D8B93D /* Include */, + 826083EB2AF06CB400D8B93D /* Source */, + ); + name = PlayFabCore.ServiceWrappers; + sourceTree = ""; + }; + 826082B12AF0610F00D8B93D /* Include */ = { + isa = PBXGroup; + children = ( + 826082B22AF0610F00D8B93D /* Generated */, + 826082C02AF0610F00D8B93D /* playfab */, + ); + name = Include; + path = ../../Source/PlayFabCore/Include; + sourceTree = ""; + }; + 826082B22AF0610F00D8B93D /* Generated */ = { + isa = PBXGroup; + children = ( + 826082B32AF0610F00D8B93D /* playfab */, + ); + path = Generated; + sourceTree = ""; + }; + 826082B32AF0610F00D8B93D /* playfab */ = { + isa = PBXGroup; + children = ( + 826082B42AF0610F00D8B93D /* core */, + ); + path = playfab; + sourceTree = ""; + }; + 826082B42AF0610F00D8B93D /* core */ = { + isa = PBXGroup; + children = ( + 826082BE2AF0610F00D8B93D /* PFEntity.h */, + 826082B72AF0610F00D8B93D /* PFErrors.h */, + ); + path = core; + sourceTree = ""; + }; + 826082C02AF0610F00D8B93D /* playfab */ = { + isa = PBXGroup; + children = ( + 826082C12AF0610F00D8B93D /* httpClient */, + 826082C82AF0610F00D8B93D /* core */, + ); + path = playfab; + sourceTree = ""; + }; + 826082C12AF0610F00D8B93D /* httpClient */ = { + isa = PBXGroup; + children = ( + 826082C22AF0610F00D8B93D /* PFHCTrace.h */, + 826082C32AF0610F00D8B93D /* PFHCConfig.h */, + 826082C42AF0610F00D8B93D /* PFHttpClient.h */, + 826082C52AF0610F00D8B93D /* PFMock.h */, + 826082C62AF0610F00D8B93D /* PFHttpProvider.h */, + 826082C72AF0610F00D8B93D /* PFHCPal.h */, + ); + path = httpClient; + sourceTree = ""; + }; + 826082C82AF0610F00D8B93D /* core */ = { + isa = PBXGroup; + children = ( + 826082CE2AF0610F00D8B93D /* cpp */, + 826082C92AF0610F00D8B93D /* PFPal.h */, + 826082CA2AF0610F00D8B93D /* PFEventPipeline.h */, + 826082CB2AF0610F00D8B93D /* PFServiceConfig.h */, + 826082CC2AF0610F00D8B93D /* PFPlatform.h */, + 826082CD2AF0610F00D8B93D /* PFHttpConfig.h */, + 826082D42AF0610F00D8B93D /* PFTrace.h */, + 826082D52AF0610F00D8B93D /* PFCore.h */, + ); + path = core; + sourceTree = ""; + }; + 826082CE2AF0610F00D8B93D /* cpp */ = { + isa = PBXGroup; + children = ( + 826082CF2AF0610F00D8B93D /* TypeWrapperHelpers.h */, + 826082D12AF0610F00D8B93D /* PlayFabException.h */, + 826082D22AF0610F00D8B93D /* ServiceConfig.h */, + 826082D32AF0610F00D8B93D /* EventPipeline.h */, + ); + path = cpp; + sourceTree = ""; + }; + 826083042AF068E500D8B93D /* Source */ = { + isa = PBXGroup; + children = ( + 826083052AF068E500D8B93D /* Generated */, + 826083132AF068E500D8B93D /* HttpClient */, + 8260831A2AF068E500D8B93D /* Trace */, + 826083212AF068E500D8B93D /* Platform */, + 8260832A2AF068E500D8B93D /* Common */, + 8260833C2AF068E500D8B93D /* Api */, + 826083462AF068E500D8B93D /* EventPipeline */, + 8260834C2AF068E500D8B93D /* Authentication */, + 826083192AF068E500D8B93D /* stdafx.h */, + 8260834B2AF068E500D8B93D /* stdafx.cpp */, + ); + name = Source; + path = ../../Source/PlayFabCore/Source; + sourceTree = ""; + }; + 826083052AF068E500D8B93D /* Generated */ = { + isa = PBXGroup; + children = ( + 8260830C2AF068E500D8B93D /* CacheId.h */, + ); + path = Generated; + sourceTree = ""; + }; + 826083132AF068E500D8B93D /* HttpClient */ = { + isa = PBXGroup; + children = ( + 826083142AF068E500D8B93D /* PFHttpClient.cpp */, + 826083162AF068E500D8B93D /* PFMock.cpp */, + 826083172AF068E500D8B93D /* PFHCTrace.cpp */, + 826083182AF068E500D8B93D /* PFHttpProvider.cpp */, + ); + path = HttpClient; + sourceTree = ""; + }; + 8260831A2AF068E500D8B93D /* Trace */ = { + isa = PBXGroup; + children = ( + 8260831B2AF068E500D8B93D /* TraceState.h */, + 8260831C2AF068E500D8B93D /* DebugTraceOutput.cpp */, + 8260831D2AF068E500D8B93D /* LocalStorageTraceOutput.cpp */, + 8260831E2AF068E500D8B93D /* DebugTraceOutput.h */, + 8260831F2AF068E500D8B93D /* TraceState.cpp */, + 826083202AF068E500D8B93D /* LocalStorageTraceOutput.h */, + ); + path = Trace; + sourceTree = ""; + }; + 826083212AF068E500D8B93D /* Platform */ = { + isa = PBXGroup; + children = ( + 826083222AF068E500D8B93D /* LocalStorage.cpp */, + 826083232AF068E500D8B93D /* LocalStorage.h */, + 826083242AF068E500D8B93D /* Platform.cpp */, + 826083292AF068E500D8B93D /* Platform.h */, + ); + path = Platform; + sourceTree = ""; + }; + 8260832A2AF068E500D8B93D /* Common */ = { + isa = PBXGroup; + children = ( + 8260832B2AF068E500D8B93D /* ApiHelpers.cpp */, + 8260832C2AF068E500D8B93D /* HandleTable.h */, + 8260832D2AF068E500D8B93D /* TokenExpiredHandler.cpp */, + 8260832E2AF068E500D8B93D /* TokenRefreshedHandler.h */, + 8260832F2AF068E500D8B93D /* PFCoreGlobalState.h */, + 826083302AF068E500D8B93D /* Entity.cpp */, + 826083312AF068E500D8B93D /* PFCoreGlobalState.cpp */, + 826083322AF068E500D8B93D /* HttpClient.h */, + 826083332AF068E500D8B93D /* TokenExpiredHandler.h */, + 826083342AF068E500D8B93D /* Entity.h */, + 826083352AF068E500D8B93D /* EntityToken.cpp */, + 826083362AF068E500D8B93D /* HttpClient.cpp */, + 826083372AF068E500D8B93D /* EntityToken.h */, + 826083382AF068E500D8B93D /* ServiceConfig.h */, + 826083392AF068E500D8B93D /* TokenRefreshedHandler.cpp */, + 8260833A2AF068E500D8B93D /* ServiceConfig.cpp */, + 8260833B2AF068E500D8B93D /* ApiHelpers.h */, + ); + path = Common; + sourceTree = ""; + }; + 8260833C2AF068E500D8B93D /* Api */ = { + isa = PBXGroup; + children = ( + 8260833E2AF068E500D8B93D /* PFEventPipeline.cpp */, + 8260833F2AF068E500D8B93D /* PFCore.cpp */, + 826083412AF068E500D8B93D /* PFPlatform.cpp */, + 826083422AF068E500D8B93D /* PFEntity.cpp */, + 826083432AF068E500D8B93D /* PFHttpConfig.cpp */, + 826083442AF068E500D8B93D /* PFServiceConfig.cpp */, + 826083452AF068E500D8B93D /* PFTrace.cpp */, + ); + path = Api; + sourceTree = ""; + }; + 826083462AF068E500D8B93D /* EventPipeline */ = { + isa = PBXGroup; + children = ( + 826083472AF068E500D8B93D /* EventPipeline.cpp */, + 826083482AF068E500D8B93D /* EventPipelineTypes.h */, + 826083492AF068E500D8B93D /* EventPipeline.h */, + 8260834A2AF068E500D8B93D /* EventPipelineTypes.cpp */, + ); + path = EventPipeline; + sourceTree = ""; + }; + 8260834C2AF068E500D8B93D /* Authentication */ = { + isa = PBXGroup; + children = ( + 8260834F2AF068E500D8B93D /* GetEntityAsyncProvider.h */, + 826083502AF068E500D8B93D /* LoginContext.cpp */, + 826083512AF068E500D8B93D /* CombinedLoginResult.h */, + 826083522AF068E500D8B93D /* LoginContext.h */, + 826083532AF068E500D8B93D /* CombinedLoginResult.cpp */, + ); + path = Authentication; + sourceTree = ""; + }; + 826083992AF06C5B00D8B93D /* Include */ = { + isa = PBXGroup; + children = ( + 8260839A2AF06C5B00D8B93D /* Generated */, + ); + name = Include; + path = ../../Source/PlayFabCore/Include; + sourceTree = ""; + }; + 8260839A2AF06C5B00D8B93D /* Generated */ = { + isa = PBXGroup; + children = ( + 8260839B2AF06C5B00D8B93D /* playfab */, + ); + path = Generated; + sourceTree = ""; + }; + 8260839B2AF06C5B00D8B93D /* playfab */ = { + isa = PBXGroup; + children = ( + 8260839C2AF06C5B00D8B93D /* core */, + ); + path = playfab; + sourceTree = ""; + }; + 8260839C2AF06C5B00D8B93D /* core */ = { + isa = PBXGroup; + children = ( + 826083A22AF06C5B00D8B93D /* cpp */, + 8260839D2AF06C5B00D8B93D /* PFTypes.h */, + 8260839E2AF06C5B00D8B93D /* PFEvents.h */, + 826083A02AF06C5B00D8B93D /* PFAuthentication.h */, + 826083A12AF06C5B00D8B93D /* PFAuthenticationTypes.h */, + 826083A72AF06C5B00D8B93D /* PFEventsTypes.h */, + ); + path = core; + sourceTree = ""; + }; + 826083A22AF06C5B00D8B93D /* cpp */ = { + isa = PBXGroup; + children = ( + 826083A32AF06C5B00D8B93D /* TypeWrappers.h */, + 826083A42AF06C5B00D8B93D /* EventsTypeWrappers.h */, + 826083A52AF06C5B00D8B93D /* AuthenticationTypeWrappers.h */, + ); + path = cpp; + sourceTree = ""; + }; + 826083EB2AF06CB400D8B93D /* Source */ = { + isa = PBXGroup; + children = ( + 826083EC2AF06CB400D8B93D /* Generated */, + ); + name = Source; + path = ../../Source/PlayFabCore/Source; + sourceTree = ""; + }; + 826083EC2AF06CB400D8B93D /* Generated */ = { + isa = PBXGroup; + children = ( + 826083ED2AF06CB400D8B93D /* PFEvents.cpp */, + 826083EE2AF06CB400D8B93D /* Types.cpp */, + 826083EF2AF06CB400D8B93D /* AuthenticationTypes.h */, + 826083F12AF06CB400D8B93D /* PFAuthentication.cpp */, + 826083F22AF06CB400D8B93D /* Events.h */, + 826083F42AF06CB400D8B93D /* EventsTypes.h */, + 826083F52AF06CB400D8B93D /* Authentication.h */, + 826083F62AF06CB400D8B93D /* AuthenticationTypes.cpp */, + 826083F72AF06CB400D8B93D /* Events.cpp */, + 826083F82AF06CB400D8B93D /* EventsTypes.cpp */, + 826083F92AF06CB400D8B93D /* Authentication.cpp */, + ); + path = Generated; + sourceTree = ""; + }; + 826AE6D82AF1B45900DF9129 /* Platform */ = { + isa = PBXGroup; + children = ( + 826AE6DC2AF1B45900DF9129 /* Generic */, + ); + name = Platform; + path = ../../../Source/PlayFabCore/Source/Platform; + sourceTree = ""; + }; + 826AE6DC2AF1B45900DF9129 /* Generic */ = { + isa = PBXGroup; + children = ( + 826AE6DD2AF1B45900DF9129 /* LocalStorage_Generic.h */, + 826AE6DE2AF1B45900DF9129 /* LocalStorage_Generic.cpp */, + 826AE6DF2AF1B45900DF9129 /* Platform_Generic.cpp */, + ); + path = Generic; + sourceTree = ""; + }; + 8279657B2AF30B1400477203 /* PlayFabCore.Apple */ = { + isa = PBXGroup; + children = ( + 8279657C2AF30B2000477203 /* Source */, + ); + name = PlayFabCore.Apple; + sourceTree = ""; + }; + 8279657C2AF30B2000477203 /* Source */ = { + isa = PBXGroup; + children = ( + 826AE6D82AF1B45900DF9129 /* Platform */, + ); + path = Source; + sourceTree = ""; + }; + 8286B1AE2B73FD26009A4677 /* Products */ = { + isa = PBXGroup; + children = ( + 8286B1BB2B73FD26009A4677 /* libSSL.a */, + 8286B1BD2B73FD26009A4677 /* libSSL.a */, + 8286B1BF2B73FD26009A4677 /* libHttpClient.a */, + 8286B1C12B73FD26009A4677 /* libHttpClient.a */, + 8286B1C32B73FD26009A4677 /* libHttpClient_NOWEBSOCKETS.a */, + 8286B1C52B73FD26009A4677 /* libHttpClient_NOWEBSOCKETS.a */, + 8286B1C72B73FD26009A4677 /* HttpClient.framework */, + 8286B1C92B73FD26009A4677 /* HttpClient.framework */, + 8286B1CB2B73FD26009A4677 /* NOWEBSOCKETS/HttpClient.framework */, + 8286B1CD2B73FD26009A4677 /* NOWEBSOCKETS/HttpClient.framework */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8236DDD02B5AEA1700FFA328 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 8236DDD12B5AEA1700FFA328 /* AuthenticationTypes.h in Headers */, + 8236DDD22B5AEA1700FFA328 /* TypeWrapperHelpers.h in Headers */, + 8236DDD32B5AEA1700FFA328 /* Authentication.h in Headers */, + 8236DDD42B5AEA1700FFA328 /* EventsTypes.h in Headers */, + 8236DDD52B5AEA1700FFA328 /* TypeWrappers.h in Headers */, + 8236DDD62B5AEA1700FFA328 /* PFPlatform.h in Headers */, + 8236DDD72B5AEA1700FFA328 /* PFEntity.h in Headers */, + 8236DDD82B5AEA1700FFA328 /* PFAuthenticationTypes.h in Headers */, + 8236DDD92B5AEA1700FFA328 /* PFPal.h in Headers */, + 8236DDDA2B5AEA1700FFA328 /* HttpClient.h in Headers */, + 8236DDDB2B5AEA1700FFA328 /* PFHttpClient.h in Headers */, + 8236DDDC2B5AEA1700FFA328 /* PFAuthentication.h in Headers */, + 8236DDDD2B5AEA1700FFA328 /* PFEventPipeline.h in Headers */, + 8236DDDE2B5AEA1700FFA328 /* EventPipelineTypes.h in Headers */, + 8236DDDF2B5AEA1700FFA328 /* DebugTraceOutput.h in Headers */, + 8236DDE02B5AEA1700FFA328 /* PlayFabException.h in Headers */, + 8236DDE12B5AEA1700FFA328 /* PFServiceConfig.h in Headers */, + 8236DDE22B5AEA1700FFA328 /* TokenRefreshedHandler.h in Headers */, + 8236DDE32B5AEA1700FFA328 /* PFMock.h in Headers */, + 8236DDE42B5AEA1700FFA328 /* LocalStorage_Generic.h in Headers */, + 8236DDE52B5AEA1700FFA328 /* LocalStorage.h in Headers */, + 8236DDE62B5AEA1700FFA328 /* Entity.h in Headers */, + 8236DDE72B5AEA1700FFA328 /* EventsTypeWrappers.h in Headers */, + 8236DDE82B5AEA1700FFA328 /* GetEntityAsyncProvider.h in Headers */, + 8236DDE92B5AEA1700FFA328 /* PFErrors.h in Headers */, + 8236DDEA2B5AEA1700FFA328 /* CombinedLoginResult.h in Headers */, + 8236DDEB2B5AEA1700FFA328 /* EventPipeline.h in Headers */, + 8236DDEC2B5AEA1700FFA328 /* ServiceConfig.h in Headers */, + 8236DDED2B5AEA1700FFA328 /* PFTypes.h in Headers */, + 8236DDEE2B5AEA1700FFA328 /* Platform.h in Headers */, + 8236DDEF2B5AEA1700FFA328 /* ServiceConfig.h in Headers */, + 8236DDF02B5AEA1700FFA328 /* Events.h in Headers */, + 8236DDF12B5AEA1700FFA328 /* PFHCPal.h in Headers */, + 8236DDF22B5AEA1700FFA328 /* PFEvents.h in Headers */, + 8236DDF32B5AEA1700FFA328 /* PFHCTrace.h in Headers */, + 8236DDF42B5AEA1700FFA328 /* PFCoreGlobalState.h in Headers */, + 8236DDF52B5AEA1700FFA328 /* HandleTable.h in Headers */, + 8236DDF62B5AEA1700FFA328 /* LoginContext.h in Headers */, + 8236DDF72B5AEA1700FFA328 /* EntityToken.h in Headers */, + 8236DDF82B5AEA1700FFA328 /* CacheId.h in Headers */, + 8236DDF92B5AEA1700FFA328 /* TokenExpiredHandler.h in Headers */, + 8236DDFA2B5AEA1700FFA328 /* stdafx.h in Headers */, + 8236DDFB2B5AEA1700FFA328 /* LocalStorageTraceOutput.h in Headers */, + 8236DDFC2B5AEA1700FFA328 /* PFHttpProvider.h in Headers */, + 8236DDFD2B5AEA1700FFA328 /* TraceState.h in Headers */, + 8236DDFE2B5AEA1700FFA328 /* PFTrace.h in Headers */, + 8236DDFF2B5AEA1700FFA328 /* AuthenticationTypeWrappers.h in Headers */, + 8236DE002B5AEA1700FFA328 /* EventPipeline.h in Headers */, + 8236DE012B5AEA1700FFA328 /* PFCore.h in Headers */, + 8236DE022B5AEA1700FFA328 /* PFHCConfig.h in Headers */, + 8236DE032B5AEA1700FFA328 /* ApiHelpers.h in Headers */, + 8236DE042B5AEA1700FFA328 /* PFHttpConfig.h in Headers */, + 8236DE052B5AEA1700FFA328 /* PFEventsTypes.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 826080262AEAFFCF00D8B93D /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 8260843D2AF06CB400D8B93D /* AuthenticationTypes.h in Headers */, + 826082F52AF0610F00D8B93D /* TypeWrapperHelpers.h in Headers */, + 826084432AF06CB400D8B93D /* Authentication.h in Headers */, + 826084422AF06CB400D8B93D /* EventsTypes.h in Headers */, + 826083CD2AF06C5B00D8B93D /* TypeWrappers.h in Headers */, + 826082F32AF0610F00D8B93D /* PFPlatform.h in Headers */, + 826082E82AF0610F00D8B93D /* PFEntity.h in Headers */, + 826083CC2AF06C5B00D8B93D /* PFAuthenticationTypes.h in Headers */, + 826082F02AF0610F00D8B93D /* PFPal.h in Headers */, + 8260837B2AF068E500D8B93D /* HttpClient.h in Headers */, + 826082EC2AF0610F00D8B93D /* PFHttpClient.h in Headers */, + 826083CB2AF06C5B00D8B93D /* PFAuthentication.h in Headers */, + 826082F12AF0610F00D8B93D /* PFEventPipeline.h in Headers */, + 8260838F2AF068E500D8B93D /* EventPipelineTypes.h in Headers */, + 8260836A2AF068E500D8B93D /* DebugTraceOutput.h in Headers */, + 826082F72AF0610F00D8B93D /* PlayFabException.h in Headers */, + 826082F22AF0610F00D8B93D /* PFServiceConfig.h in Headers */, + 826083772AF068E500D8B93D /* TokenRefreshedHandler.h in Headers */, + 826082ED2AF0610F00D8B93D /* PFMock.h in Headers */, + 826AE7272AF1B45900DF9129 /* LocalStorage_Generic.h in Headers */, + 8260836E2AF068E500D8B93D /* LocalStorage.h in Headers */, + 8260837D2AF068E500D8B93D /* Entity.h in Headers */, + 826083CE2AF06C5B00D8B93D /* EventsTypeWrappers.h in Headers */, + 826083942AF068E500D8B93D /* GetEntityAsyncProvider.h in Headers */, + 826082E22AF0610F00D8B93D /* PFErrors.h in Headers */, + 826083962AF068E500D8B93D /* CombinedLoginResult.h in Headers */, + 826083902AF068E500D8B93D /* EventPipeline.h in Headers */, + 826083812AF068E500D8B93D /* ServiceConfig.h in Headers */, + 826083C82AF06C5B00D8B93D /* PFTypes.h in Headers */, + 826083732AF068E500D8B93D /* Platform.h in Headers */, + 826082F82AF0610F00D8B93D /* ServiceConfig.h in Headers */, + 826084402AF06CB400D8B93D /* Events.h in Headers */, + 826082EF2AF0610F00D8B93D /* PFHCPal.h in Headers */, + 826083C92AF06C5B00D8B93D /* PFEvents.h in Headers */, + 826082EA2AF0610F00D8B93D /* PFHCTrace.h in Headers */, + 826083782AF068E500D8B93D /* PFCoreGlobalState.h in Headers */, + 826083752AF068E500D8B93D /* HandleTable.h in Headers */, + 826083972AF068E500D8B93D /* LoginContext.h in Headers */, + 826083802AF068E500D8B93D /* EntityToken.h in Headers */, + 8260835A2AF068E500D8B93D /* CacheId.h in Headers */, + 8260837C2AF068E500D8B93D /* TokenExpiredHandler.h in Headers */, + 826083662AF068E500D8B93D /* stdafx.h in Headers */, + 8260836C2AF068E500D8B93D /* LocalStorageTraceOutput.h in Headers */, + 826082EE2AF0610F00D8B93D /* PFHttpProvider.h in Headers */, + 826083672AF068E500D8B93D /* TraceState.h in Headers */, + 826082FA2AF0610F00D8B93D /* PFTrace.h in Headers */, + 826083CF2AF06C5B00D8B93D /* AuthenticationTypeWrappers.h in Headers */, + 826082F92AF0610F00D8B93D /* EventPipeline.h in Headers */, + 826082FB2AF0610F00D8B93D /* PFCore.h in Headers */, + 826082EB2AF0610F00D8B93D /* PFHCConfig.h in Headers */, + 826083842AF068E500D8B93D /* ApiHelpers.h in Headers */, + 826082F42AF0610F00D8B93D /* PFHttpConfig.h in Headers */, + 826083D12AF06C5B00D8B93D /* PFEventsTypes.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 8236DDCF2B5AEA1700FFA328 /* PlayFabCore_macOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 8236DE332B5AEA1700FFA328 /* Build configuration list for PBXNativeTarget "PlayFabCore_macOS" */; + buildPhases = ( + 8236DDD02B5AEA1700FFA328 /* Headers */, + 8236DE062B5AEA1700FFA328 /* Sources */, + 8236DE2D2B5AEA1700FFA328 /* Frameworks */, + 8236DE322B5AEA1700FFA328 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 8286B1CF2B73FD2E009A4677 /* PBXTargetDependency */, + ); + name = PlayFabCore_macOS; + productName = PlayFabCore.iOS; + productReference = 8236DE362B5AEA1700FFA328 /* PlayFabCore_macOS.framework */; + productType = "com.apple.product-type.framework"; + }; + 8260802A2AEAFFCF00D8B93D /* PlayFabCore_iOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 826080322AEAFFCF00D8B93D /* Build configuration list for PBXNativeTarget "PlayFabCore_iOS" */; + buildPhases = ( + 826080262AEAFFCF00D8B93D /* Headers */, + 826080272AEAFFCF00D8B93D /* Sources */, + 826080282AEAFFCF00D8B93D /* Frameworks */, + 826080292AEAFFCF00D8B93D /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 8206F0542B740C7300451339 /* PBXTargetDependency */, + ); + name = PlayFabCore_iOS; + productName = PlayFabCore.iOS; + productReference = 8260802B2AEAFFCF00D8B93D /* PlayFabCore_iOS.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 826080222AEAFFCF00D8B93D /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastUpgradeCheck = 1500; + TargetAttributes = { + 8260802A2AEAFFCF00D8B93D = { + CreatedOnToolsVersion = 15.0; + }; + }; + }; + buildConfigurationList = 826080252AEAFFCF00D8B93D /* Build configuration list for PBXProject "PlayFabCore.Apple" */; + compatibilityVersion = "Xcode 14.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 826080212AEAFFCF00D8B93D; + productRefGroup = 8260802C2AEAFFCF00D8B93D /* Products */; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = 8286B1AE2B73FD26009A4677 /* Products */; + ProjectRef = 8286B1AD2B73FD26009A4677 /* libHttpClient.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + 8260802A2AEAFFCF00D8B93D /* PlayFabCore_iOS */, + 8236DDCF2B5AEA1700FFA328 /* PlayFabCore_macOS */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + 8286B1BB2B73FD26009A4677 /* libSSL.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libSSL.a; + remoteRef = 8286B1BA2B73FD26009A4677 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 8286B1BD2B73FD26009A4677 /* libSSL.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libSSL.a; + remoteRef = 8286B1BC2B73FD26009A4677 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 8286B1BF2B73FD26009A4677 /* libHttpClient.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libHttpClient.a; + remoteRef = 8286B1BE2B73FD26009A4677 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 8286B1C12B73FD26009A4677 /* libHttpClient.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libHttpClient.a; + remoteRef = 8286B1C02B73FD26009A4677 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 8286B1C32B73FD26009A4677 /* libHttpClient_NOWEBSOCKETS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libHttpClient_NOWEBSOCKETS.a; + remoteRef = 8286B1C22B73FD26009A4677 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 8286B1C52B73FD26009A4677 /* libHttpClient_NOWEBSOCKETS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libHttpClient_NOWEBSOCKETS.a; + remoteRef = 8286B1C42B73FD26009A4677 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 8286B1C72B73FD26009A4677 /* HttpClient.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = HttpClient.framework; + remoteRef = 8286B1C62B73FD26009A4677 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 8286B1C92B73FD26009A4677 /* HttpClient.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = HttpClient.framework; + remoteRef = 8286B1C82B73FD26009A4677 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 8286B1CB2B73FD26009A4677 /* NOWEBSOCKETS/HttpClient.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = NOWEBSOCKETS/HttpClient.framework; + remoteRef = 8286B1CA2B73FD26009A4677 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 8286B1CD2B73FD26009A4677 /* NOWEBSOCKETS/HttpClient.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = NOWEBSOCKETS/HttpClient.framework; + remoteRef = 8286B1CC2B73FD26009A4677 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXResourcesBuildPhase section */ + 8236DE322B5AEA1700FFA328 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 826080292AEAFFCF00D8B93D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8236DE062B5AEA1700FFA328 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8236DE072B5AEA1700FFA328 /* PFCore.cpp in Sources */, + 8236DE082B5AEA1700FFA328 /* PFServiceConfig.cpp in Sources */, + 8236DE092B5AEA1700FFA328 /* Authentication.cpp in Sources */, + 8236DE0A2B5AEA1700FFA328 /* TraceState.cpp in Sources */, + 8236DE0B2B5AEA1700FFA328 /* PFHCTrace.cpp in Sources */, + 8236DE0C2B5AEA1700FFA328 /* Types.cpp in Sources */, + 8236DE0D2B5AEA1700FFA328 /* EventPipeline.cpp in Sources */, + 8236DE0E2B5AEA1700FFA328 /* PFEvents.cpp in Sources */, + 8236DE0F2B5AEA1700FFA328 /* LoginContext.cpp in Sources */, + 8236DE102B5AEA1700FFA328 /* PFAuthentication.cpp in Sources */, + 8236DE112B5AEA1700FFA328 /* LocalStorage_Generic.cpp in Sources */, + 8236DE122B5AEA1700FFA328 /* AuthenticationTypes.cpp in Sources */, + 8236DE132B5AEA1700FFA328 /* TokenRefreshedHandler.cpp in Sources */, + 8236DE142B5AEA1700FFA328 /* DebugTraceOutput.cpp in Sources */, + 8236DE152B5AEA1700FFA328 /* PFPlatform.cpp in Sources */, + 8236DE162B5AEA1700FFA328 /* PFTrace.cpp in Sources */, + 8236DE172B5AEA1700FFA328 /* LocalStorageTraceOutput.cpp in Sources */, + 8236DE182B5AEA1700FFA328 /* Events.cpp in Sources */, + 8236DE192B5AEA1700FFA328 /* TokenExpiredHandler.cpp in Sources */, + 8236DE1A2B5AEA1700FFA328 /* EntityToken.cpp in Sources */, + 8236DE1B2B5AEA1700FFA328 /* CombinedLoginResult.cpp in Sources */, + 8236DE1C2B5AEA1700FFA328 /* PFMock.cpp in Sources */, + 8236DE1D2B5AEA1700FFA328 /* ApiHelpers.cpp in Sources */, + 8236DE1E2B5AEA1700FFA328 /* EventPipelineTypes.cpp in Sources */, + 8236DE1F2B5AEA1700FFA328 /* PFHttpConfig.cpp in Sources */, + 8236DE202B5AEA1700FFA328 /* ServiceConfig.cpp in Sources */, + 8236DE212B5AEA1700FFA328 /* PFHttpProvider.cpp in Sources */, + 8236DE222B5AEA1700FFA328 /* LocalStorage.cpp in Sources */, + 8236DE232B5AEA1700FFA328 /* HttpClient.cpp in Sources */, + 8236DE242B5AEA1700FFA328 /* Platform.cpp in Sources */, + 8236DE252B5AEA1700FFA328 /* stdafx.cpp in Sources */, + 8236DE262B5AEA1700FFA328 /* PFCoreGlobalState.cpp in Sources */, + 8236DE272B5AEA1700FFA328 /* EventsTypes.cpp in Sources */, + 8236DE282B5AEA1700FFA328 /* Platform_Generic.cpp in Sources */, + 8236DE292B5AEA1700FFA328 /* PFEntity.cpp in Sources */, + 8236DE2A2B5AEA1700FFA328 /* PFEventPipeline.cpp in Sources */, + 8236DE2B2B5AEA1700FFA328 /* Entity.cpp in Sources */, + 8236DE2C2B5AEA1700FFA328 /* PFHttpClient.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 826080272AEAFFCF00D8B93D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 826083872AF068E500D8B93D /* PFCore.cpp in Sources */, + 8260838C2AF068E500D8B93D /* PFServiceConfig.cpp in Sources */, + 826084472AF06CB400D8B93D /* Authentication.cpp in Sources */, + 8260836B2AF068E500D8B93D /* TraceState.cpp in Sources */, + 826083642AF068E500D8B93D /* PFHCTrace.cpp in Sources */, + 8260843C2AF06CB400D8B93D /* Types.cpp in Sources */, + 8260838E2AF068E500D8B93D /* EventPipeline.cpp in Sources */, + 8260843B2AF06CB400D8B93D /* PFEvents.cpp in Sources */, + 826083952AF068E500D8B93D /* LoginContext.cpp in Sources */, + 8260843F2AF06CB400D8B93D /* PFAuthentication.cpp in Sources */, + 826AE7282AF1B45900DF9129 /* LocalStorage_Generic.cpp in Sources */, + 826084442AF06CB400D8B93D /* AuthenticationTypes.cpp in Sources */, + 826083822AF068E500D8B93D /* TokenRefreshedHandler.cpp in Sources */, + 826083682AF068E500D8B93D /* DebugTraceOutput.cpp in Sources */, + 826083892AF068E500D8B93D /* PFPlatform.cpp in Sources */, + 8260838D2AF068E500D8B93D /* PFTrace.cpp in Sources */, + 826083692AF068E500D8B93D /* LocalStorageTraceOutput.cpp in Sources */, + 826084452AF06CB400D8B93D /* Events.cpp in Sources */, + 826083762AF068E500D8B93D /* TokenExpiredHandler.cpp in Sources */, + 8260837E2AF068E500D8B93D /* EntityToken.cpp in Sources */, + 826083982AF068E500D8B93D /* CombinedLoginResult.cpp in Sources */, + 826083632AF068E500D8B93D /* PFMock.cpp in Sources */, + 826083742AF068E500D8B93D /* ApiHelpers.cpp in Sources */, + 826083912AF068E500D8B93D /* EventPipelineTypes.cpp in Sources */, + 8260838B2AF068E500D8B93D /* PFHttpConfig.cpp in Sources */, + 826083832AF068E500D8B93D /* ServiceConfig.cpp in Sources */, + 826083652AF068E500D8B93D /* PFHttpProvider.cpp in Sources */, + 8260836D2AF068E500D8B93D /* LocalStorage.cpp in Sources */, + 8260837F2AF068E500D8B93D /* HttpClient.cpp in Sources */, + 8260836F2AF068E500D8B93D /* Platform.cpp in Sources */, + 826083922AF068E500D8B93D /* stdafx.cpp in Sources */, + 8260837A2AF068E500D8B93D /* PFCoreGlobalState.cpp in Sources */, + 826084462AF06CB400D8B93D /* EventsTypes.cpp in Sources */, + 826AE7292AF1B45900DF9129 /* Platform_Generic.cpp in Sources */, + 8260838A2AF068E500D8B93D /* PFEntity.cpp in Sources */, + 826083862AF068E500D8B93D /* PFEventPipeline.cpp in Sources */, + 826083792AF068E500D8B93D /* Entity.cpp in Sources */, + 826083612AF068E500D8B93D /* PFHttpClient.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 8206F0542B740C7300451339 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = libHttpClientFramework_iOS; + targetProxy = 8206F0532B740C7300451339 /* PBXContainerItemProxy */; + }; + 8286B1CF2B73FD2E009A4677 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = libHttpClientFramework_macOS; + targetProxy = 8286B1CE2B73FD2E009A4677 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 8236DE342B5AEA1700FFA328 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = NO; + DEVELOPMENT_TEAM = UBF8T346G9; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; + FRAMEWORK_SEARCH_PATHS = ""; + GENERATE_INFOPLIST_FILE = YES; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../../../libHttpClient/Include", + "$(SRCROOT)/../../External/rapidjson/include", + "$(SRCROOT)/../../Source/PlayFabSharedInternal/Include", + "$(SRCROOT)/../../Source/PlayFabSharedInternal/Include/Generated", + "$(SRCROOT)/../../Source/PlayFabSharedInternal/Source", + "$(SRCROOT)/../../Source/PlayFabSharedInternal/Source/Generated", + "$(SRCROOT)/../../Source/PlayFabCore/Source", + "$(SRCROOT)/../../Source/PlayFabCore/Source/Generated", + "$(SRCROOT)/../../Source/PlayFabCore/Include", + "$(SRCROOT)/../../Source/PlayFabCore/Include/Generated", + ); + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; + OTHER_LDFLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = "Microsoft.PlayFabCore-macOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + REEXPORTED_FRAMEWORK_NAMES = HttpClient; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = macosx; + SUPPORTS_MACCATALYST = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + TARGETED_DEVICE_FAMILY = 2; + }; + name = Debug; + }; + 8236DE352B5AEA1700FFA328 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = NO; + DEVELOPMENT_TEAM = UBF8T346G9; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_PREPROCESSOR_DEFINITIONS = "HC_LINK_STATIC=1"; + GENERATE_INFOPLIST_FILE = YES; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../../../libHttpClient/Include", + "$(SRCROOT)/../../External/rapidjson/include", + "$(SRCROOT)/../../Source/PlayFabSharedInternal/Include", + "$(SRCROOT)/../../Source/PlayFabSharedInternal/Include/Generated", + "$(SRCROOT)/../../Source/PlayFabSharedInternal/Source", + "$(SRCROOT)/../../Source/PlayFabSharedInternal/Source/Generated", + "$(SRCROOT)/../../Source/PlayFabCore/Source", + "$(SRCROOT)/../../Source/PlayFabCore/Source/Generated", + "$(SRCROOT)/../../Source/PlayFabCore/Include", + "$(SRCROOT)/../../Source/PlayFabCore/Include/Generated", + ); + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; + OTHER_LDFLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = "Microsoft.PlayFabCore-macOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + REEXPORTED_FRAMEWORK_NAMES = HttpClient; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = macosx; + SUPPORTS_MACCATALYST = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + TARGETED_DEVICE_FAMILY = 2; + }; + name = Release; + }; + 826080302AEAFFCF00D8B93D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + "HC_LINK_STATIC=1", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + OTHER_CPLUSPLUSFLAGS = ( + "$(OTHER_CFLAGS)", + "-fstack-protector-strong", + "-fPIC", + "-Wformat", + "-Wformat-security", + "-Werror=format-security", + ); + REEXPORTED_FRAMEWORK_NAMES = HttpClient; + SDKROOT = iphoneos; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 826080312AEAFFCF00D8B93D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = "HC_LINK_STATIC=1"; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + OTHER_CPLUSPLUSFLAGS = ( + "$(OTHER_CFLAGS)", + "-fstack-protector-strong", + "-fPIC", + "-Wformat", + "-Wformat-security", + "-Werror=format-security", + ); + REEXPORTED_FRAMEWORK_NAMES = HttpClient; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 826080332AEAFFCF00D8B93D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = NO; + DEVELOPMENT_TEAM = UBF8T346G9; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; + FRAMEWORK_SEARCH_PATHS = ""; + GENERATE_INFOPLIST_FILE = YES; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../../../libHttpClient/Include", + "$(SRCROOT)/../../External/rapidjson/include", + "$(SRCROOT)/../../Source/PlayFabSharedInternal/Include", + "$(SRCROOT)/../../Source/PlayFabSharedInternal/Include/Generated", + "$(SRCROOT)/../../Source/PlayFabSharedInternal/Source", + "$(SRCROOT)/../../Source/PlayFabSharedInternal/Source/Generated", + "$(SRCROOT)/../../Source/PlayFabCore/Source", + "$(SRCROOT)/../../Source/PlayFabCore/Source/Generated", + "$(SRCROOT)/../../Source/PlayFabCore/Include", + "$(SRCROOT)/../../Source/PlayFabCore/Include/Generated", + ); + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; + OTHER_LDFLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = "Microsoft.PlayFabCore-iOS"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + REEXPORTED_FRAMEWORK_NAMES = HttpClient; + SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 826080342AEAFFCF00D8B93D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = NO; + DEVELOPMENT_TEAM = UBF8T346G9; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_PREPROCESSOR_DEFINITIONS = "HC_LINK_STATIC=1"; + GENERATE_INFOPLIST_FILE = YES; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../../../libHttpClient/Include", + "$(SRCROOT)/../../External/rapidjson/include", + "$(SRCROOT)/../../Source/PlayFabSharedInternal/Include", + "$(SRCROOT)/../../Source/PlayFabSharedInternal/Include/Generated", + "$(SRCROOT)/../../Source/PlayFabSharedInternal/Source", + "$(SRCROOT)/../../Source/PlayFabSharedInternal/Source/Generated", + "$(SRCROOT)/../../Source/PlayFabCore/Source", + "$(SRCROOT)/../../Source/PlayFabCore/Source/Generated", + "$(SRCROOT)/../../Source/PlayFabCore/Include", + "$(SRCROOT)/../../Source/PlayFabCore/Include/Generated", + ); + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; + OTHER_LDFLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = "Microsoft.PlayFabCore-iOS"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + REEXPORTED_FRAMEWORK_NAMES = HttpClient; + SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 8236DE332B5AEA1700FFA328 /* Build configuration list for PBXNativeTarget "PlayFabCore_macOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 8236DE342B5AEA1700FFA328 /* Debug */, + 8236DE352B5AEA1700FFA328 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 826080252AEAFFCF00D8B93D /* Build configuration list for PBXProject "PlayFabCore.Apple" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 826080302AEAFFCF00D8B93D /* Debug */, + 826080312AEAFFCF00D8B93D /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 826080322AEAFFCF00D8B93D /* Build configuration list for PBXNativeTarget "PlayFabCore_iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 826080332AEAFFCF00D8B93D /* Debug */, + 826080342AEAFFCF00D8B93D /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 826080222AEAFFCF00D8B93D /* Project object */; +} diff --git a/Build/PlayFabCore.Apple/PlayFabCore.Apple.xcodeproj/xcshareddata/xcschemes/PlayFabCore_iOS.xcscheme b/Build/PlayFabCore.Apple/PlayFabCore.Apple.xcodeproj/xcshareddata/xcschemes/PlayFabCore_iOS.xcscheme new file mode 100644 index 0000000..0c3189f --- /dev/null +++ b/Build/PlayFabCore.Apple/PlayFabCore.Apple.xcodeproj/xcshareddata/xcschemes/PlayFabCore_iOS.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Build/PlayFabCore.Apple/PlayFabCore.Apple.xcodeproj/xcshareddata/xcschemes/PlayFabCore_macOS.xcscheme b/Build/PlayFabCore.Apple/PlayFabCore.Apple.xcodeproj/xcshareddata/xcschemes/PlayFabCore_macOS.xcscheme new file mode 100644 index 0000000..b4cdb2f --- /dev/null +++ b/Build/PlayFabCore.Apple/PlayFabCore.Apple.xcodeproj/xcshareddata/xcschemes/PlayFabCore_macOS.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Build/PlayFabCore.CMake/GetCommonSourceFiles.cmake b/Build/PlayFabCore.CMake/GetCommonSourceFiles.cmake new file mode 100644 index 0000000..2dd2418 --- /dev/null +++ b/Build/PlayFabCore.CMake/GetCommonSourceFiles.cmake @@ -0,0 +1,86 @@ +cmake_minimum_required(VERSION 3.6) + +# file list similar to PlayFabCore.Common.vcxitems +function(GET_COMMON_SOURCE_FILES + OUT_COMMON_SOURCE_FILES + PATH_TO_SOURCE + ) + +set(${OUT_COMMON_SOURCE_FILES} + "${PATH_TO_SOURCE}/PlayFabCore/Include/Generated/playfab/core/PFEntity.h" + "${PATH_TO_SOURCE}/PlayFabCore/Include/Generated/playfab/core/PFErrors.h" + "${PATH_TO_SOURCE}/PlayFabCore/Include/playfab/core/PFCore.h" + "${PATH_TO_SOURCE}/PlayFabCore/Include/playfab/core/PFEventPipeline.h" + "${PATH_TO_SOURCE}/PlayFabCore/Include/playfab/core/PFHttpConfig.h" + "${PATH_TO_SOURCE}/PlayFabCore/Include/playfab/core/PFPal.h" + "${PATH_TO_SOURCE}/PlayFabCore/Include/playfab/core/PFPlatform.h" + "${PATH_TO_SOURCE}/PlayFabCore/Include/playfab/core/PFServiceConfig.h" + "${PATH_TO_SOURCE}/PlayFabCore/Include/playfab/core/PFTrace.h" + "${PATH_TO_SOURCE}/PlayFabCore/Include/playfab/core/cpp/Entity.h" + "${PATH_TO_SOURCE}/PlayFabCore/Include/playfab/core/cpp/EventPipeline.h" + "${PATH_TO_SOURCE}/PlayFabCore/Include/playfab/core/cpp/PlayFabException.h" + "${PATH_TO_SOURCE}/PlayFabCore/Include/playfab/core/cpp/ServiceConfig.h" + "${PATH_TO_SOURCE}/PlayFabCore/Include/playfab/core/cpp/TypeWrapperHelpers.h" + "${PATH_TO_SOURCE}/PlayFabCore/Include/playfab/httpClient/PFHCConfig.h" + "${PATH_TO_SOURCE}/PlayFabCore/Include/playfab/httpClient/PFHCPal.h" + "${PATH_TO_SOURCE}/PlayFabCore/Include/playfab/httpClient/PFHCTrace.h" + "${PATH_TO_SOURCE}/PlayFabCore/Include/playfab/httpClient/PFHttpClient.h" + "${PATH_TO_SOURCE}/PlayFabCore/Include/playfab/httpClient/PFHttpProvider.h" + "${PATH_TO_SOURCE}/PlayFabCore/Include/playfab/httpClient/PFMock.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Api/PFCore.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Api/PFEntity.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Api/PFEventPipeline.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Api/PFHttpConfig.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Api/PFPlatform.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Api/PFServiceConfig.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Api/PFTrace.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Authentication/CombinedLoginResult.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Authentication/CombinedLoginResult.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Authentication/GetEntityAsyncProvider.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Authentication/LoginContext.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Authentication/LoginContext.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Common/ApiHelpers.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Common/ApiHelpers.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Common/Entity.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Common/Entity.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Common/EntityToken.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Common/EntityToken.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Common/PFCoreGlobalState.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Common/PFCoreGlobalState.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Common/HandleTable.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Common/HttpClient.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Common/HttpClient.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Common/ServiceConfig.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Common/ServiceConfig.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Common/TokenExpiredHandler.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Common/TokenExpiredHandler.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Common/TokenRefreshedHandler.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Common/TokenRefreshedHandler.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/EventPipeline/EventPipeline.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/EventPipeline/EventPipeline.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/EventPipeline/EventPipelineTypes.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/EventPipeline/EventPipelineTypes.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Generated/CacheId.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/HttpClient/PFHCTrace.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/HttpClient/PFHttpClient.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/HttpClient/PFHttpProvider.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/HttpClient/PFMock.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Platform/LocalStorage.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Platform/LocalStorage.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Platform/Platform.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Platform/Platform.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Platform/Generic/LocalStorage_Generic.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Platform/Generic/LocalStorage_Generic.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Platform/Generic/Platform_Generic.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Trace/DebugTraceOutput.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Trace/DebugTraceOutput.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Trace/LocalStorageTraceOutput.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Trace/LocalStorageTraceOutput.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Trace/TraceState.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Trace/TraceState.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/stdafx.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/stdafx.h" + PARENT_SCOPE + ) + +endfunction() diff --git a/Build/PlayFabCore.CMake/GetServiceWrapperFiles.cmake b/Build/PlayFabCore.CMake/GetServiceWrapperFiles.cmake new file mode 100644 index 0000000..65b4285 --- /dev/null +++ b/Build/PlayFabCore.CMake/GetServiceWrapperFiles.cmake @@ -0,0 +1,33 @@ +cmake_minimum_required(VERSION 3.6) + +# file list similar to PlayFabCore.ServiceWrappers.vcxitems +function(GET_SERVICE_WRAPPER_SOURCE_FILES + OUT_SERVICE_WRAPPER_SOURCE_FILES + PATH_TO_SOURCE + ) + +set(${OUT_SERVICE_WRAPPER_SOURCE_FILES} + "${PATH_TO_SOURCE}/PlayFabCore/Include/Generated/playfab/core/PFTypes.h" + "${PATH_TO_SOURCE}/PlayFabCore/Include/Generated/playfab/core/cpp/TypeWrappers.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Generated/Types.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Generated/Types.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Include/Generated/playfab/core/PFAuthenticationTypes.h" + "${PATH_TO_SOURCE}/PlayFabCore/Include/Generated/playfab/core/cpp/AuthenticationTypeWrappers.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Generated/AuthenticationTypes.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Generated/AuthenticationTypes.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Generated/Authentication.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Generated/Authentication.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Include/Generated/playfab/core/PFAuthentication.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Generated/PFAuthentication.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Include/Generated/playfab/core/PFEventsTypes.h" + "${PATH_TO_SOURCE}/PlayFabCore/Include/Generated/playfab/core/cpp/EventsTypeWrappers.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Generated/EventsTypes.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Generated/EventsTypes.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Generated/Events.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Generated/Events.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Include/Generated/playfab/core/PFEvents.h" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Generated/PFEvents.cpp" + PARENT_SCOPE + ) + +endfunction() diff --git a/Build/PlayFabCore.Common/PlayFabCore.Common.vcxitems b/Build/PlayFabCore.Common/PlayFabCore.Common.vcxitems index df7c8dd..debe4da 100644 --- a/Build/PlayFabCore.Common/PlayFabCore.Common.vcxitems +++ b/Build/PlayFabCore.Common/PlayFabCore.Common.vcxitems @@ -42,7 +42,7 @@ - + @@ -71,7 +71,7 @@ - + @@ -91,7 +91,4 @@ - - - \ No newline at end of file diff --git a/Build/PlayFabCore.Common/PlayFabCore.Common.vcxitems.filters b/Build/PlayFabCore.Common/PlayFabCore.Common.vcxitems.filters index ea8c59e..68fe1e5 100644 --- a/Build/PlayFabCore.Common/PlayFabCore.Common.vcxitems.filters +++ b/Build/PlayFabCore.Common/PlayFabCore.Common.vcxitems.filters @@ -135,7 +135,7 @@ Source\Common - + Source\Common @@ -224,7 +224,7 @@ Source\Common - + Source\Common @@ -270,9 +270,4 @@ Source - - - Source\HttpClient - - \ No newline at end of file diff --git a/Build/PlayFabCore.GDK.142/PlayFabCore.GDK.142.vcxproj b/Build/PlayFabCore.GDK.142/PlayFabCore.GDK.142.vcxproj deleted file mode 100644 index b1e7cb5..0000000 --- a/Build/PlayFabCore.GDK.142/PlayFabCore.GDK.142.vcxproj +++ /dev/null @@ -1,15 +0,0 @@ - - - - {073240eb-8e44-4e40-b5a9-3d2dc09b0d0b} - DynamicLibrary - v142 - - - - - - - - - \ No newline at end of file diff --git a/Build/PlayFabCore.GDK/PlayFabCore.GDK.vcxitems b/Build/PlayFabCore.GDK/PlayFabCore.GDK.vcxitems deleted file mode 100644 index 2602a68..0000000 --- a/Build/PlayFabCore.GDK/PlayFabCore.GDK.vcxitems +++ /dev/null @@ -1,24 +0,0 @@ - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - true - {f6abe37d-e40b-4622-8d9a-3956b87ef4ea} - - - - %(AdditionalIncludeDirectories);$(MSBuildThisFileDirectory) - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Build/PlayFabCore.GDK/PlayFabCore.GDK.vcxitems.filters b/Build/PlayFabCore.GDK/PlayFabCore.GDK.vcxitems.filters deleted file mode 100644 index 076ea94..0000000 --- a/Build/PlayFabCore.GDK/PlayFabCore.GDK.vcxitems.filters +++ /dev/null @@ -1,36 +0,0 @@ - - - - - {59076205-1bc8-46af-831f-b15c74776933} - - - {746ec713-ddaf-4066-87eb-750221d19814} - - - {6f2eb228-c40c-4c79-a60e-8a5fc2aadad5} - - - {381f6ee9-8116-46d4-ab1b-efb6a7425809} - - - {59370d4a-ded2-444b-9948-f90aa452f2ab} - - - - - Source\Authentication\GDK - - - Source\Platform\Generic - - - Source\Platform\Generic - - - - - Source\Platform\Generic - - - \ No newline at end of file diff --git a/Build/PlayFabCore.GDK.143/PlayFabCore.GDK.143.vcxproj b/Build/PlayFabCore.GDK/PlayFabCore.GDK.vcxproj similarity index 60% rename from Build/PlayFabCore.GDK.143/PlayFabCore.GDK.143.vcxproj rename to Build/PlayFabCore.GDK/PlayFabCore.GDK.vcxproj index 1e9ae61..08aab36 100644 --- a/Build/PlayFabCore.GDK.143/PlayFabCore.GDK.143.vcxproj +++ b/Build/PlayFabCore.GDK/PlayFabCore.GDK.vcxproj @@ -4,12 +4,21 @@ {d5c6a9a7-da63-4032-8ab2-3350f89162fc} DynamicLibrary v143 + 10.0.19041.0 + ; + + + + + + + + - + - \ No newline at end of file diff --git a/Build/PlayFabCore.GDK/PlayFabCore.GDK.vcxproj.filters b/Build/PlayFabCore.GDK/PlayFabCore.GDK.vcxproj.filters new file mode 100644 index 0000000..c0b00ec --- /dev/null +++ b/Build/PlayFabCore.GDK/PlayFabCore.GDK.vcxproj.filters @@ -0,0 +1,36 @@ + + + + + {e6a04b99-5bbe-4e5f-bff7-09356bfc4d59} + + + {1579de8f-71d6-41e1-b788-c50a0c15d398} + + + {6ef53e04-50cb-4e91-9160-1e3ccf542f32} + + + {855a687c-2105-446c-96db-76cda930f834} + + + {5bdd09e3-9aab-4ac3-b8ea-82eb0b90d93e} + + + + + Source\Authentication\GDK + + + Source\Platfrom\Generic + + + Source\Platfrom\Generic + + + + + Source\Platfrom\Generic + + + \ No newline at end of file diff --git a/Build/PlayFabCore.Linux/CMakeLists.txt b/Build/PlayFabCore.Linux/CMakeLists.txt new file mode 100644 index 0000000..a7eb059 --- /dev/null +++ b/Build/PlayFabCore.Linux/CMakeLists.txt @@ -0,0 +1,124 @@ +cmake_minimum_required(VERSION 3.6) + +get_filename_component(PATH_TO_ROOT "../../" ABSOLUTE) +get_filename_component(PATH_TO_SOURCE "../../Source" ABSOLUTE) + +set(PATH_TO_LHC ${LHC_PATH}) +if(NOT EXISTS "${PATH_TO_LHC}/README.md") + set(PATH_TO_LHC ${PATH_TO_ROOT}/${LHC_PATH}) +endif() + +project("PlayFabCore.Linux") + +set(CMAKE_C_COMPILER clang) +set(CMAKE_CXX_COMPILER clang++) +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_FLAGS "-fvisibility=hidden") +set(CMAKE_C_FLAGS "-fvisibility=hidden") +set(CMAKE_SHARED_LIBRARY_PREFIX "") +set(CMAKE_POSITION_INDEPENDENT_CODE ON) +set(CMAKE_SHARED_LINKER_FLAGS "-Wl,-z,now") # https://www.redhat.com/en/blog/hardening-elf-binaries-using-relocation-read-only-relro + +########################################### +### Set up paths for source and include ### +########################################### + +# Set final static libraries output folder +SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${PATH_TO_ROOT}/Out/x64/Debug/${PROJECT_NAME}) +SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${PATH_TO_ROOT}/Out/x64/Release/${PROJECT_NAME}) +SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${PATH_TO_ROOT}/Out/x64/Debug/${PROJECT_NAME}) +SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${PATH_TO_ROOT}/Out/x64/Release/${PROJECT_NAME}) +SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${PATH_TO_ROOT}/Out/x64/Debug/${PROJECT_NAME}) +SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${PATH_TO_ROOT}/Out/x64/Release/${PROJECT_NAME}) + +# BINARY_DIR is a temp folder used by cmake itself. +# Binary folder can be remove freely. +# See more details: https://cmake.org/cmake/help/v3.4/command/add_subdirectory.html +set(BINARY_DIR ${PATH_TO_ROOT}/Int/CMake/${PROJECT_NAME}) + +include("../PlayFabCore.CMake/GetCommonSourceFiles.cmake") +get_common_source_files( + COMMON_SOURCE_FILES + "${PATH_TO_SOURCE}" + ) + +include("../PlayFabCore.CMake/GetServiceWrapperFiles.cmake") +get_service_wrapper_source_files( + SERVICE_WRAPPER_SOURCE_FILES + "${PATH_TO_SOURCE}" + ) + +set(COMMON_INCLUDE_DIRS + "${PATH_TO_SOURCE}/PlayFabCore/Source" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Common" + "${PATH_TO_SOURCE}/PlayFabCore/Include" + "${PATH_TO_SOURCE}/PlayFabCore/Include/Generated" + "${PATH_TO_SOURCE}/PlayFabCore/Include/playfab/core/cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/Generated" + "${PATH_TO_ROOT}/External/rapidjson/include/rapidjson" + "${PATH_TO_ROOT}/External/rapidjson/include" + "${PATH_TO_LHC}/Include" + ) + +set(LIBHTTPCLIENT_BINARY_PATH + ${PATH_TO_LHC}/Out/x64/${CMAKE_BUILD_TYPE}/libHttpClient.Linux/libHttpClient.Linux.so +) +message(STATUS "LIBHTTPCLIENT_BINARY_PATH: ${LIBHTTPCLIENT_BINARY_PATH}") + +set(PLAYFAB_SHARED_INTERNAL_BINARY_PATH + ${PATH_TO_ROOT}/Out/x64/${CMAKE_BUILD_TYPE}/PlayFabSharedInternal.Linux/PlayFabSharedInternal.Linux.a +) +message(STATUS "PLAYFAB_SHARED_INTERNAL_BINARY_PATH: ${PLAYFAB_SHARED_INTERNAL_BINARY_PATH}") + +message(STATUS "CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}") +if (CMAKE_BUILD_TYPE STREQUAL "Debug") + add_definitions("-DDBG -D_DBG -DDEBUG -D_DEBUG") +endif() + +######################### +### Set up shared lib ### +######################### +# make ${PROJECT_NAME}.so +message(STATUS "PROJECT_NAME: ${PROJECT_NAME}") + +add_library( + "${PROJECT_NAME}" + SHARED + "${SERVICE_WRAPPER_SOURCE_FILES}" + "${COMMON_SOURCE_FILES}" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Platform/Generic/LocalStorage_Generic.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Platform/Generic/Platform_Generic.cpp" + "${PATH_TO_SOURCE}/PlayFabCore/Source/Platform/Generic/LocalStorage_Generic.h" + ) + +target_link_libraries("${PROJECT_NAME}" + PRIVATE ${PLAYFAB_SHARED_INTERNAL_BINARY_PATH} + PRIVATE ${LIBHTTPCLIENT_BINARY_PATH} +) + +include("../PlayFabSharedInternal.CMake/GetLinuxFlags.cmake") +get_linux_flags(FLAGS FLAGS_DEBUG FLAGS_RELEASE) + +include("../PlayFabSharedInternal.CMake/TargetSetFlags.cmake") +target_set_flags( + ${PROJECT_NAME} + "${FLAGS}" + "${FLAGS_DEBUG}" + "${FLAGS_RELEASE}" + ) + +target_include_directories( + ${PROJECT_NAME} + PRIVATE + "${COMMON_INCLUDE_DIRS}" + ) + +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $ +) +export(TARGETS ${PROJECT_NAME} FILE ${PROJECT_NAME}Config.cmake) + diff --git a/Build/PlayFabCore.Linux/PlayFabCore_Linux.bash b/Build/PlayFabCore.Linux/PlayFabCore_Linux.bash new file mode 100644 index 0000000..9b37818 --- /dev/null +++ b/Build/PlayFabCore.Linux/PlayFabCore_Linux.bash @@ -0,0 +1,47 @@ +#!/bin/bash +log () { + echo "***** $1 *****" +} + +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) + +POSITIONAL_ARGS=() + +# Default configurations +CONFIGURATION="Release" +if [ "$LHC_PATH" == "" ]; then + LHC_PATH="../libHttpClient" +fi + +while [[ $# -gt 0 ]]; do + case $1 in + -c|--config) + CONFIGURATION="$2" + shift # past argument + shift # past value + ;; + -lhc|--libHttpClientPath) + LHC_PATH="$2" + shift # past argument + shift # past value + ;; + -*|--*) + echo "Unknown option $1" + exit 1 + ;; + *) + POSITIONAL_ARGS+=("$1") # save positional arg + shift # past argument + ;; + esac +done + +set -- "${POSITIONAL_ARGS[@]}" # restore positional parameters + +log "#### Building PlayFabCore ####" +log "CONFIGURATION = ${CONFIGURATION}" +log "LHC_PATH = ${LHC_PATH}" + +# make PlayFabCore +sudo cmake -S "$SCRIPT_DIR" -B "$SCRIPT_DIR"/../../Int/CMake/PlayFabCore.Linux -D CMAKE_BUILD_TYPE=$CONFIGURATION -D LHC_PATH=$LHC_PATH +sudo make -C "$SCRIPT_DIR"/../../Int/CMake/PlayFabCore.Linux diff --git a/Build/PlayFabCore.Linux/README.md b/Build/PlayFabCore.Linux/README.md new file mode 100644 index 0000000..9eb4857 --- /dev/null +++ b/Build/PlayFabCore.Linux/README.md @@ -0,0 +1,3 @@ +# Building PlayFab for Linux + +See [../PlayFabServices.Linux/README.md] for Linux build instructions \ No newline at end of file diff --git a/Build/PlayFabCore.Linux/main.cpp b/Build/PlayFabCore.Linux/main.cpp new file mode 100644 index 0000000..e69de29 diff --git a/Build/PlayFabCore.Win32/PlayFabCore.Win32.vcxitems b/Build/PlayFabCore.Win32/PlayFabCore.Win32.vcxitems deleted file mode 100644 index 9943259..0000000 --- a/Build/PlayFabCore.Win32/PlayFabCore.Win32.vcxitems +++ /dev/null @@ -1,23 +0,0 @@ - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - true - {9d812310-c3ea-499b-91c6-0c82e83b3d74} - - - - %(AdditionalIncludeDirectories);$(MSBuildThisFileDirectory) - - - - - - - - - - - - - \ No newline at end of file diff --git a/Build/PlayFabCore.Win32.143/PlayFabCore.Win32.143.vcxproj b/Build/PlayFabCore.Win32/PlayFabCore.Win32.vcxproj similarity index 71% rename from Build/PlayFabCore.Win32.143/PlayFabCore.Win32.143.vcxproj rename to Build/PlayFabCore.Win32/PlayFabCore.Win32.vcxproj index 3b4f1fb..c5f3a49 100644 --- a/Build/PlayFabCore.Win32.143/PlayFabCore.Win32.143.vcxproj +++ b/Build/PlayFabCore.Win32/PlayFabCore.Win32.vcxproj @@ -6,10 +6,16 @@ v143 10.0.19041.0 + + + + + + + - \ No newline at end of file diff --git a/Build/PlayFabCore.Win32/PlayFabCore.Win32.vcxitems.filters b/Build/PlayFabCore.Win32/PlayFabCore.Win32.vcxproj.filters similarity index 52% rename from Build/PlayFabCore.Win32/PlayFabCore.Win32.vcxitems.filters rename to Build/PlayFabCore.Win32/PlayFabCore.Win32.vcxproj.filters index fc6faa9..fc36c7d 100644 --- a/Build/PlayFabCore.Win32/PlayFabCore.Win32.vcxitems.filters +++ b/Build/PlayFabCore.Win32/PlayFabCore.Win32.vcxproj.filters @@ -2,25 +2,25 @@ - {d934f6f1-9d83-4396-b900-6d82d947a49f} + {f5cdda0b-a0ac-44fb-8caf-93b7ddc80e1f} - {0a2494c5-4c1d-4aad-92ed-be37e84a751d} + {a1675670-bc77-4ec2-af06-9675f776fa26} - {0c23a7e6-aa6d-48a0-867d-70b5f51e16e8} + {dfb53dc6-bc36-4be2-9208-62a801d52605} - + Source\Platform\Generic - + Source\Platform\Generic - + Source\Platform\Generic diff --git a/Build/PlayFabCore.import.props b/Build/PlayFabCore.import.props index ce81273..343e6fa 100644 --- a/Build/PlayFabCore.import.props +++ b/Build/PlayFabCore.import.props @@ -15,24 +15,19 @@ - $(PlatformToolsetVersion) - 141 - 142 - 143 - PlayFabCore.$(HCPlatform).$(PlayFabCoreToolset) + PlayFabCore.$(HCPlatform) $(PlayFabOutRoot)\$(Platform)\$(Configuration)\$(PlayFabCoreProjectName)\ - {e39e44ee-0f50-4a99-a5d5-04633b19128f} - {073240eb-8e44-4e40-b5a9-3d2dc09b0d0b} - {d5c6a9a7-da63-4032-8ab2-3350f89162fc} + {e39e44ee-0f50-4a99-a5d5-04633b19128f} + {d5c6a9a7-da63-4032-8ab2-3350f89162fc} - + diff --git a/Build/PlayFabServices.Android.Workspace/build.gradle b/Build/PlayFabServices.Android.Workspace/build.gradle new file mode 100644 index 0000000..170cfaa --- /dev/null +++ b/Build/PlayFabServices.Android.Workspace/build.gradle @@ -0,0 +1,44 @@ +apply plugin: 'java' +import java.util.regex.Matcher +import java.util.regex.Pattern + +// Top-level build file where you can add configuration options common to all sub-projects/modules. +buildscript { + repositories { + mavenCentral() + maven { + url "https://maven.google.com" + } + } + + dependencies { + classpath 'com.android.tools.build:gradle:4.1.2' + } +} + +allprojects { + repositories { + mavenCentral() + maven { + url "https://maven.google.com" + } + } +} + +subprojects.each { prj -> + // Put all the Gradle build files under the /Out directory + def binariesDir = project.file("../../Out/Android/${prj.name}").getAbsolutePath() + prj.buildDir(new File(binariesDir)) +} + +ext.getTaskFlavorName = { taskPrefix, task -> + + Pattern pattern + pattern = Pattern.compile(taskPrefix + "(\\w+)(Release|Debug)") + + Matcher matcher = pattern.matcher( task.name ) + if( matcher.find() ) + return matcher.group(1) + + return "" +} diff --git a/Build/PlayFabServices.Android.Workspace/gradle.properties b/Build/PlayFabServices.Android.Workspace/gradle.properties new file mode 100644 index 0000000..e69de29 diff --git a/Build/PlayFabServices.Android.Workspace/gradle/wrapper/gradle-wrapper.jar b/Build/PlayFabServices.Android.Workspace/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..e708b1c023ec8b20f512888fe07c5bd3ff77bb8f GIT binary patch literal 59203 zcma&O1CT9Y(k9%tZQHhO+qUh#ZQHhO+qmuS+qP|E@9xZO?0h@l{(r>DQ>P;GjjD{w zH}lENr;dU&FbEU?00aa80D$0M0RRB{U*7-#kbjS|qAG&4l5%47zyJ#WrfA#1$1Ctx zf&Z_d{GW=lf^w2#qRJ|CvSJUi(^E3iv~=^Z(zH}F)3Z%V3`@+rNB7gTVU{Bb~90p|f+0(v;nz01EG7yDMX9@S~__vVgv%rS$+?IH+oZ03D5zYrv|^ zC1J)SruYHmCki$jLBlTaE5&dFG9-kq3!^i>^UQL`%gn6)jz54$WDmeYdsBE9;PqZ_ zoGd=P4+|(-u4U1dbAVQrFWoNgNd;0nrghPFbQrJctO>nwDdI`Q^i0XJDUYm|T|RWc zZ3^Qgo_Qk$%Fvjj-G}1NB#ZJqIkh;kX%V{THPqOyiq)d)0+(r9o(qKlSp*hmK#iIY zA^)Vr$-Hz<#SF=0@tL@;dCQsm`V9s1vYNq}K1B)!XSK?=I1)tX+bUV52$YQu*0%fnWEukW>mxkz+%3-S!oguE8u#MGzST8_Dy^#U?fA@S#K$S@9msUiX!gd_ow>08w5)nX{-KxqMOo7d?k2&?Vf z&diGDtZr(0cwPe9z9FAUSD9KC)7(n^lMWuayCfxzy8EZsns%OEblHFSzP=cL6}?J| z0U$H!4S_TVjj<`6dy^2j`V`)mC;cB%* z8{>_%E1^FH!*{>4a7*C1v>~1*@TMcLK{7nEQ!_igZC}ikJ$*<$yHy>7)oy79A~#xE zWavoJOIOC$5b6*q*F_qN1>2#MY)AXVyr$6x4b=$x^*aqF*L?vmj>Mgv+|ITnw_BoW zO?jwHvNy^prH{9$rrik1#fhyU^MpFqF2fYEt(;4`Q&XWOGDH8k6M=%@fics4ajI;st# zCU^r1CK&|jzUhRMv;+W~6N;u<;#DI6cCw-otsc@IsN3MoSD^O`eNflIoR~l4*&-%RBYk@gb^|-JXs&~KuSEmMxB}xSb z@K76cXD=Y|=I&SNC2E+>Zg?R6E%DGCH5J1nU!A|@eX9oS(WPaMm==k2s_ueCqdZw| z&hqHp)47`c{BgwgvY2{xz%OIkY1xDwkw!<0veB#yF4ZKJyabhyyVS`gZepcFIk%e2 zTcrmt2@-8`7i-@5Nz>oQWFuMC_KlroCl(PLSodswHqJ3fn<;gxg9=}~3x_L3P`9Sn zChIf}8vCHvTriz~T2~FamRi?rh?>3bX1j}%bLH+uFX+p&+^aXbOK7clZxdU~6Uxgy z8R=obwO4dL%pmVo*Ktf=lH6hnlz_5k3cG;m8lgaPp~?eD!Yn2kf)tU6PF{kLyn|oI@eQ`F z3IF7~Blqg8-uwUuWZScRKn%c2_}dXB6Dx_&xR*n9M9LXasJhtZdr$vBY!rP{c@=)& z#!?L$2UrkvClwQO>U*fSMs67oSj2mxiJ$t;E|>q%Kh_GzzWWO&3;ufU%2z%ucBU8H z3WIwr$n)cfCXR&>tyB7BcSInK>=ByZA%;cVEJhcg<#6N{aZC4>K41XF>ZgjG`z_u& zGY?;Ad?-sgiOnI`oppF1o1Gurqbi*;#x2>+SSV6|1^G@ooVy@fg?wyf@0Y!UZ4!}nGuLeC^l)6pwkh|oRY`s1Pm$>zZ3u-83T|9 zGaKJIV3_x+u1>cRibsaJpJqhcm%?0-L;2 zitBrdRxNmb0OO2J%Y&Ym(6*`_P3&&5Bw157{o7LFguvxC$4&zTy#U=W*l&(Q2MNO} zfaUwYm{XtILD$3864IA_nn34oVa_g^FRuHL5wdUd)+W-p-iWCKe8m_cMHk+=? zeKX)M?Dt(|{r5t7IenkAXo%&EXIb-i^w+0CX0D=xApC=|Xy(`xy+QG^UyFe z+#J6h_&T5i#sV)hj3D4WN%z;2+jJcZxcI3*CHXGmOF3^)JD5j&wfX)e?-|V0GPuA+ zQFot%aEqGNJJHn$!_}#PaAvQ^{3-Ye7b}rWwrUmX53(|~i0v{}G_sI9uDch_brX&6 zWl5Ndj-AYg(W9CGfQf<6!YmY>Ey)+uYd_JNXH=>|`OH-CDCmcH(0%iD_aLlNHKH z7bcW-^5+QV$jK?R*)wZ>r9t}loM@XN&M-Pw=F#xn(;u3!(3SXXY^@=aoj70;_=QE9 zGghsG3ekq#N||u{4We_25U=y#T*S{4I{++Ku)> zQ!DZW;pVcn>b;&g2;YE#+V`v*Bl&Y-i@X6D*OpNA{G@JAXho&aOk(_j^weW{#3X5Y z%$q_wpb07EYPdmyH(1^09i$ca{O<}7) zRWncXdSPgBE%BM#by!E>tdnc$8RwUJg1*x($6$}ae$e9Knj8gvVZe#bLi!<+&BkFj zg@nOpDneyc+hU9P-;jmOSMN|*H#>^Ez#?;%C3hg_65leSUm;iz)UkW)jX#p)e&S&M z1|a?wDzV5NVnlhRBCd_;F87wp>6c<&nkgvC+!@KGiIqWY4l}=&1w7|r6{oBN8xyzh zG$b#2=RJp_iq6)#t5%yLkKx(0@D=C3w+oiXtSuaQ%I1WIb-eiE$d~!)b@|4XLy!CZ z9p=t=%3ad@Ep+<9003D2KZ5VyP~_n$=;~r&YUg5UZ0KVD&tR1DHy9x)qWtKJp#Kq# zP*8p#W(8JJ_*h_3W}FlvRam?<4Z+-H77^$Lvi+#vmhL9J zJ<1SV45xi;SrO2f=-OB(7#iNA5)x1uNC-yNxUw|!00vcW2PufRm>e~toH;M0Q85MQLWd?3O{i8H+5VkR@l9Dg-ma ze2fZ%>G(u5(k9EHj2L6!;(KZ8%8|*-1V|B#EagbF(rc+5iL_5;Eu)L4Z-V;0HfK4d z*{utLse_rvHZeQ>V5H=f78M3Ntg1BPxFCVD{HbNA6?9*^YIq;B-DJd{Ca2L#)qWP? zvX^NhFmX?CTWw&Ns}lgs;r3i+Bq@y}Ul+U%pzOS0Fcv9~aB(0!>GT0)NO?p=25LjN z2bh>6RhgqD7bQj#k-KOm@JLgMa6>%-ok1WpOe)FS^XOU{c?d5shG(lIn3GiVBxmg`u%-j=)^v&pX1JecJics3&jvPI)mDut52? z3jEA)DM%}BYbxxKrizVYwq?(P&19EXlwD9^-6J+4!}9{ywR9Gk42jjAURAF&EO|~N z)?s>$Da@ikI4|^z0e{r`J8zIs>SpM~Vn^{3fArRu;?+43>lD+^XtUcY1HidJwnR6+ z!;oG2=B6Z_=M%*{z-RaHc(n|1RTKQdNjjV!Pn9lFt^4w|AeN06*j}ZyhqZ^!-=cyGP_ShV1rGxkx8t zB;8`h!S{LD%ot``700d0@Grql(DTt4Awgmi+Yr0@#jbe=2#UkK%rv=OLqF)9D7D1j z!~McAwMYkeaL$~kI~90)5vBhBzWYc3Cj1WI0RS`z000R8-@ET0dA~*r(gSiCJmQMN&4%1D zyVNf0?}sBH8zNbBLn>~(W{d3%@kL_eQ6jEcR{l>C|JK z(R-fA!z|TTRG40|zv}7E@PqCAXP3n`;%|SCQ|ZS%ym$I{`}t3KPL&^l5`3>yah4*6 zifO#{VNz3)?ZL$be;NEaAk9b#{tV?V7 zP|wf5YA*1;s<)9A4~l3BHzG&HH`1xNr#%){4xZ!jq%o=7nN*wMuXlFV{HaiQLJ`5G zBhDi#D(m`Q1pLh@Tq+L;OwuC52RdW7b8}~60WCOK5iYMUad9}7aWBuILb({5=z~YF zt?*Jr5NG+WadM{mDL>GyiByCuR)hd zA=HM?J6l1Xv0Dl+LW@w$OTcEoOda^nFCw*Sy^I@$sSuneMl{4ys)|RY#9&NxW4S)9 zq|%83IpslTLoz~&vTo!Ga@?rj_kw{|k{nv+w&Ku?fyk4Ki4I?);M|5Axm)t+BaE)D zm(`AQ#k^DWrjbuXoJf2{Aj^KT zFb1zMSqxq|vceV+Mf-)$oPflsO$@*A0n0Z!R{&(xh8s}=;t(lIy zv$S8x>m;vQNHuRzoaOo?eiWFe{0;$s`Bc+Osz~}Van${u;g(su`3lJ^TEfo~nERfP z)?aFzpDgnLYiERsKPu|0tq4l2wT)Atr6Qb%m-AUn6HnCue*yWICp7TjW$@sO zm5rm4aTcPQ(rfi7a`xP7cKCFrJD}*&_~xgLyr^-bmsL}y;A5P|al8J3WUoBSjqu%v zxC;mK!g(7r6RRJ852Z~feoC&sD3(6}^5-uLK8o)9{8L_%%rItZK9C){UxB|;G>JbP zsRRtS4-3B*5c+K2kvmgZK8472%l>3cntWUOVHxB|{Ay~aOg5RN;{PJgeVD*H%ac+y!h#wi%o2bF2Ca8IyMyH{>4#{E_8u^@+l-+n=V}Sq?$O z{091@v%Bd*3pk0^2UtiF9Z+(a@wy6 zUdw8J*ze$K#=$48IBi1U%;hmhO>lu!uU;+RS}p&6@rQila7WftH->*A4=5W|Fmtze z)7E}jh@cbmr9iup^i%*(uF%LG&!+Fyl@LFA-}Ca#bxRfDJAiR2dt6644TaYw1Ma79 zt8&DYj31j^5WPNf5P&{)J?WlCe@<3u^78wnd(Ja4^a>{^Tw}W>|Cjt^If|7l^l)^Q zbz|7~CF(k_9~n|h;ysZ+jHzkXf(*O*@5m zLzUmbHp=x!Q|!9NVXyipZ3)^GuIG$k;D)EK!a5=8MFLI_lpf`HPKl=-Ww%z8H_0$j ztJ||IfFG1lE9nmQ0+jPQy zCBdKkjArH@K7jVcMNz);Q(Q^R{d5G?-kk;Uu_IXSyWB)~KGIizZL(^&qF;|1PI7!E zTP`%l)gpX|OFn&)M%txpQ2F!hdA~hX1Cm5)IrdljqzRg!f{mN%G~H1&oqe`5eJCIF zHdD7O;AX-{XEV(a`gBFJ9ews#CVS2y!&>Cm_dm3C8*n3MA*e67(WC?uP@8TXuMroq z{#w$%z@CBIkRM7?}Xib+>hRjy?%G!fiw8! z8(gB+8J~KOU}yO7UGm&1g_MDJ$IXS!`+*b*QW2x)9>K~Y*E&bYMnjl6h!{17_8d!%&9D`a7r&LKZjC<&XOvTRaKJ1 zUY@hl5^R&kZl3lU3njk`3dPzxj$2foOL26r(9zsVF3n_F#v)s5vv3@dgs|lP#eylq62{<-vczqP!RpVBTgI>@O6&sU>W|do17+#OzQ7o5A$ICH z?GqwqnK^n2%LR;$^oZM;)+>$X3s2n}2jZ7CdWIW0lnGK-b#EG01)P@aU`pg}th&J-TrU`tIpb5t((0eu|!u zQz+3ZiOQ^?RxxK4;zs=l8q!-n7X{@jSwK(iqNFiRColuEOg}!7cyZi`iBX4g1pNBj zAPzL?P^Ljhn;1$r8?bc=#n|Ed7wB&oHcw()&*k#SS#h}jO?ZB246EGItsz*;^&tzp zu^YJ0=lwsi`eP_pU8}6JA7MS;9pfD;DsSsLo~ogzMNP70@@;Fm8f0^;>$Z>~}GWRw!W5J3tNX*^2+1f3hz{~rIzJo z6W%J(H!g-eI_J1>0juX$X4Cl6i+3wbc~k146UIX&G22}WE>0ga#WLsn9tY(&29zBvH1$`iWtTe zG2jYl@P!P)eb<5DsR72BdI7-zP&cZNI{7q3e@?N8IKc4DE#UVr->|-ryuJXk^u^>4 z$3wE~=q390;XuOQP~TNoDR?#|NSPJ%sTMInA6*rJ%go|=YjGe!B>z6u$IhgQSwoV* zjy3F2#I>uK{42{&IqP59)Y(1*Z>>#W8rCf4_eVsH)`v!P#^;BgzKDR`ARGEZzkNX+ zJUQu=*-ol=Xqqt5=`=pA@BIn@6a9G8C{c&`i^(i+BxQO9?YZ3iu%$$da&Kb?2kCCo zo7t$UpSFWqmydXf@l3bVJ=%K?SSw)|?srhJ-1ZdFu*5QhL$~-IQS!K1s@XzAtv6*Y zl8@(5BlWYLt1yAWy?rMD&bwze8bC3-GfNH=p zynNFCdxyX?K&G(ZZ)afguQ2|r;XoV^=^(;Cku#qYn4Lus`UeKt6rAlFo_rU`|Rq z&G?~iWMBio<78of-2X(ZYHx~=U0Vz4btyXkctMKdc9UM!vYr~B-(>)(Hc|D zMzkN4!PBg%tZoh+=Gba!0++d193gbMk2&krfDgcbx0jI92cq?FFESVg0D$>F+bil} zY~$)|>1HZsX=5sAZ2WgPB5P=8X#TI+NQ(M~GqyVB53c6IdX=k>Wu@A0Svf5#?uHaF zsYn|koIi3$(%GZ2+G+7Fv^lHTb#5b8sAHSTnL^qWZLM<(1|9|QFw9pnRU{svj}_Al zL)b9>fN{QiA($8peNEJyy`(a{&uh-T4_kdZFIVsKKVM(?05}76EEz?#W za^fiZOAd14IJ4zLX-n7Lq0qlQ^lW8Cvz4UKkV9~P}>sq0?xD3vg+$4vLm~C(+ zM{-3Z#qnZ09bJ>}j?6ry^h+@PfaD7*jZxBEY4)UG&daWb??6)TP+|3#Z&?GL?1i+280CFsE|vIXQbm| zM}Pk!U`U5NsNbyKzkrul-DzwB{X?n3E6?TUHr{M&+R*2%yOiXdW-_2Yd6?38M9Vy^ z*lE%gA{wwoSR~vN0=no}tP2Ul5Gk5M(Xq`$nw#ndFk`tcpd5A=Idue`XZ!FS>Q zG^0w#>P4pPG+*NC9gLP4x2m=cKP}YuS!l^?sHSFftZy{4CoQrb_ z^20(NnG`wAhMI=eq)SsIE~&Gp9Ne0nD4%Xiu|0Fj1UFk?6avDqjdXz{O1nKao*46y zT8~iA%Exu=G#{x=KD;_C&M+Zx4+n`sHT>^>=-1YM;H<72k>$py1?F3#T1*ef9mLZw z5naLQr?n7K;2l+{_uIw*_1nsTn~I|kkCgrn;|G~##hM;9l7Jy$yJfmk+&}W@JeKcF zx@@Woiz8qdi|D%aH3XTx5*wDlbs?dC1_nrFpm^QbG@wM=i2?Zg;$VK!c^Dp8<}BTI zyRhAq@#%2pGV49*Y5_mV4+OICP|%I(dQ7x=6Ob}>EjnB_-_18*xrY?b%-yEDT(wrO z9RY2QT0`_OpGfMObKHV;QLVnrK%mc?$WAdIT`kJQT^n%GuzE7|9@k3ci5fYOh(287 zuIbg!GB3xLg$YN=n)^pHGB0jH+_iIiC=nUcD;G6LuJsjn2VI1cyZx=a?ShCsF==QK z;q~*m&}L<-cb+mDDXzvvrRsybcgQ;Vg21P(uLv5I+eGc7o7tc6`;OA9{soHFOz zT~2?>Ts}gprIX$wRBb4yE>ot<8+*Bv`qbSDv*VtRi|cyWS>)Fjs>fkNOH-+PX&4(~ z&)T8Zam2L6puQl?;5zg9h<}k4#|yH9czHw;1jw-pwBM*O2hUR6yvHATrI%^mvs9q_ z&ccT0>f#eDG<^WG^q@oVqlJrhxH)dcq2cty@l3~|5#UDdExyXUmLQ}f4#;6fI{f^t zDCsgIJ~0`af%YR%Ma5VQq-p21k`vaBu6WE?66+5=XUd%Ay%D$irN>5LhluRWt7 zov-=f>QbMk*G##&DTQyou$s7UqjjW@k6=!I@!k+S{pP8R(2=e@io;N8E`EOB;OGoI zw6Q+{X1_I{OO0HPpBz!X!@`5YQ2)t{+!?M_iH25X(d~-Zx~cXnS9z>u?+If|iNJbx zyFU2d1!ITX64D|lE0Z{dLRqL1Ajj=CCMfC4lD3&mYR_R_VZ>_7_~|<^o*%_&jevU+ zQ4|qzci=0}Jydw|LXLCrOl1_P6Xf@c0$ieK2^7@A9UbF{@V_0p%lqW|L?5k>bVM8|p5v&2g;~r>B8uo<4N+`B zH{J)h;SYiIVx@#jI&p-v3dwL5QNV1oxPr8J%ooezTnLW>i*3Isb49%5i!&ac_dEXv zvXmVUck^QHmyrF8>CGXijC_R-y(Qr{3Zt~EmW)-nC!tiH`wlw5D*W7Pip;T?&j%kX z6DkZX4&}iw>hE(boLyjOoupf6JpvBG8}jIh!!VhnD0>}KSMMo{1#uU6kiFcA04~|7 zVO8eI&x1`g4CZ<2cYUI(n#wz2MtVFHx47yE5eL~8bot~>EHbevSt}LLMQX?odD{Ux zJMnam{d)W4da{l7&y-JrgiU~qY3$~}_F#G7|MxT)e;G{U`In&?`j<5D->}cb{}{T(4DF0BOk-=1195KB-E*o@c?`>y#4=dMtYtSY=&L{!TAjFVcq0y@AH`vH! z$41+u!Ld&}F^COPgL(EE{0X7LY&%D7-(?!kjFF7=qw<;`V{nwWBq<)1QiGJgUc^Vz ztMUlq1bZqKn17|6x6iAHbWc~l1HcmAxr%$Puv!znW)!JiukwIrqQ00|H$Z)OmGG@= zv%A8*4cq}(?qn4rN6o`$Y))(MyXr8R<2S^J+v(wmFmtac!%VOfN?&(8Nr!T@kV`N; z*Q33V3t`^rN&aBiHet)18wy{*wi1=W!B%B-Q6}SCrUl$~Hl{@!95ydml@FK8P=u4s z4e*7gV2s=YxEvskw2Ju!2%{8h01rx-3`NCPc(O zH&J0VH5etNB2KY6k4R@2Wvl^Ck$MoR3=)|SEclT2ccJ!RI9Nuter7u9@;sWf-%um;GfI!=eEIQ2l2p_YWUd{|6EG ze{yO6;lMc>;2tPrsNdi@&1K6(1;|$xe8vLgiouj%QD%gYk`4p{Ktv9|j+!OF-P?@p z;}SV|oIK)iwlBs+`ROXkhd&NK zzo__r!B>tOXpBJMDcv!Mq54P+n4(@dijL^EpO1wdg~q+!DT3lB<>9AANSe!T1XgC=J^)IP0XEZ()_vpu!!3HQyJhwh?r`Ae%Yr~b% zO*NY9t9#qWa@GCPYOF9aron7thfWT`eujS4`t2uG6)~JRTI;f(ZuoRQwjZjp5Pg34 z)rp$)Kr?R+KdJ;IO;pM{$6|2y=k_siqvp%)2||cHTe|b5Ht8&A{wazGNca zX$Ol?H)E_R@SDi~4{d-|8nGFhZPW;Cts1;08TwUvLLv&_2$O6Vt=M)X;g%HUr$&06 zISZb(6)Q3%?;3r~*3~USIg=HcJhFtHhIV(siOwV&QkQe#J%H9&E21!C*d@ln3E@J* zVqRO^<)V^ky-R|%{(9`l-(JXq9J)1r$`uQ8a}$vr9E^nNiI*thK8=&UZ0dsFN_eSl z(q~lnD?EymWLsNa3|1{CRPW60>DSkY9YQ;$4o3W7Ms&@&lv9eH!tk~N&dhqX&>K@} zi1g~GqglxkZ5pEFkllJ)Ta1I^c&Bt6#r(QLQ02yHTaJB~- zCcE=5tmi`UA>@P=1LBfBiqk)HB4t8D?02;9eXj~kVPwv?m{5&!&TFYhu>3=_ zsGmYZ^mo*-j69-42y&Jj0cBLLEulNRZ9vXE)8~mt9C#;tZs;=#M=1*hebkS;7(aGf zcs7zH(I8Eui9UU4L--))yy`&d&$In&VA2?DAEss4LAPCLd>-$i?lpXvn!gu^JJ$(DoUlc6wE98VLZ*z`QGQov5l4Fm_h?V-;mHLYDVOwKz7>e4+%AzeO>P6v}ndPW| zM>m#6Tnp7K?0mbK=>gV}=@k*0Mr_PVAgGMu$j+pWxzq4MAa&jpCDU&-5eH27Iz>m^ zax1?*HhG%pJ((tkR(V(O(L%7v7L%!_X->IjS3H5kuXQT2!ow(;%FDE>16&3r){!ex zhf==oJ!}YU89C9@mfDq!P3S4yx$aGB?rbtVH?sHpg?J5C->!_FHM%Hl3#D4eplxzQ zRA+<@LD%LKSkTk2NyWCg7u=$%F#;SIL44~S_OGR}JqX}X+=bc@swpiClB`Zbz|f!4 z7Ysah7OkR8liXfI`}IIwtEoL}(URrGe;IM8%{>b1SsqXh)~w}P>yiFRaE>}rEnNkT z!HXZUtxUp1NmFm)Dm@-{FI^aRQqpSkz}ZSyKR%Y}YHNzBk)ZIp} zMtS=aMvkgWKm9&oTcU0?S|L~CDqA+sHpOxwnswF-fEG)cXCzUR?ps@tZa$=O)=L+5 zf%m58cq8g_o}3?Bhh+c!w4(7AjxwQ3>WnVi<{{38g7yFboo>q|+7qs<$8CPXUFAN< zG&}BHbbyQ5n|qqSr?U~GY{@GJ{(Jny{bMaOG{|IkUj7tj^9pa9|FB_<+KHLxSxR;@ zHpS$4V)PP+tx}22fWx(Ku9y+}Ap;VZqD0AZW4gCDTPCG=zgJmF{|x;(rvdM|2|9a}cex6xrMkERnkE;}jvU-kmzd%_J50$M`lIPCKf+^*zL=@LW`1SaEc%=m zQ+lT06Gw+wVwvQ9fZ~#qd430v2HndFsBa9WjD0P}K(rZYdAt^5WQIvb%D^Q|pkVE^ zte$&#~zmULFACGfS#g=2OLOnIf2Of-k!(BIHjs77nr!5Q1*I9 z1%?=~#Oss!rV~?-6Gm~BWJiA4mJ5TY&iPm_$)H1_rTltuU1F3I(qTQ^U$S>%$l z)Wx1}R?ij0idp@8w-p!Oz{&*W;v*IA;JFHA9%nUvVDy7Q8woheC#|8QuDZb-L_5@R zOqHwrh|mVL9b=+$nJxM`3eE{O$sCt$UK^2@L$R(r^-_+z?lOo+me-VW=Zw z-Bn>$4ovfWd%SPY`ab-u9{INc*k2h+yH%toDHIyqQ zO68=u`N}RIIs7lsn1D){)~%>ByF<>i@qFb<-axvu(Z+6t7v<^z&gm9McRB~BIaDn$ z#xSGT!rzgad8o>~kyj#h1?7g96tOcCJniQ+*#=b7wPio>|6a1Z?_(TS{)KrPe}(8j z!#&A=k(&Pj^F;r)CI=Z{LVu>uj!_W1q4b`N1}E(i%;BWjbEcnD=mv$FL$l?zS6bW!{$7j1GR5ocn94P2u{ z70tAAcpqtQo<@cXw~@i-@6B23;317|l~S>CB?hR5qJ%J3EFgyBdJd^fHZu7AzHF(BQ!tyAz^L0`X z23S4Fe{2X$W0$zu9gm%rg~A>ijaE#GlYlrF9$ds^QtaszE#4M(OLVP2O-;XdT(XIC zatwzF*)1c+t~c{L=fMG8Z=k5lv>U0;C{caN1NItnuSMp)6G3mbahu>E#sj&oy94KC zpH}8oEw{G@N3pvHhp{^-YaZeH;K+T_1AUv;IKD<=mv^&Ueegrb!yf`4VlRl$M?wsl zZyFol(2|_QM`e_2lYSABpKR{{NlxlDSYQNkS;J66aT#MSiTx~;tUmvs-b*CrR4w=f z8+0;*th6kfZ3|5!Icx3RV11sp=?`0Jy3Fs0N4GZQMN=8HmT6%x9@{Dza)k}UwL6JT zHRDh;%!XwXr6yuuy`4;Xsn0zlR$k%r%9abS1;_v?`HX_hI|+EibVnlyE@3aL5vhQq zlIG?tN^w@0(v9M*&L+{_+RQZw=o|&BRPGB>e5=ys7H`nc8nx)|-g;s7mRc7hg{GJC zAe^vCIJhajmm7C6g! zL&!WAQ~5d_5)00?w_*|*H>3$loHrvFbitw#WvLB!JASO?#5Ig5$Ys10n>e4|3d;tS zELJ0|R4n3Az(Fl3-r^QiV_C;)lQ1_CW{5bKS15U|E9?ZgLec@%kXr84>5jV2a5v=w z?pB1GPdxD$IQL4)G||B_lI+A=08MUFFR4MxfGOu07vfIm+j=z9tp~5i_6jb`tR>qV z$#`=BQ*jpCjm$F0+F)L%xRlnS%#&gro6PiRfu^l!EVan|r3y}AHJQOORGx4~ z&<)3=K-tx518DZyp%|!EqpU!+X3Et7n2AaC5(AtrkW>_57i}$eqs$rupubg0a1+WO zGHZKLN2L0D;ab%{_S1Plm|hx8R?O14*w*f&2&bB050n!R2by zw!@XOQx$SqZ5I<(Qu$V6g>o#A!JVwErWv#(Pjx=KeS0@hxr4?13zj#oWwPS(7Ro|v z>Mp@Kmxo79q|}!5qtX2-O@U&&@6s~!I&)1WQIl?lTnh6UdKT_1R640S4~f=_xoN3- zI+O)$R@RjV$F=>Ti7BlnG1-cFKCC(t|Qjm{SalS~V-tX#+2ekRhwmN zZr`8{QF6y~Z!D|{=1*2D-JUa<(1Z=;!Ei!KiRNH?o{p5o3crFF=_pX9O-YyJchr$~ zRC`+G+8kx~fD2k*ZIiiIGR<8r&M@3H?%JVOfE>)})7ScOd&?OjgAGT@WVNSCZ8N(p zuQG~76GE3%(%h1*vUXg$vH{ua0b`sQ4f0*y=u~lgyb^!#CcPJa2mkSEHGLsnO^kb$ zru5_l#nu=Y{rSMWiYx?nO{8I!gH+?wEj~UM?IrG}E|bRIBUM>UlY<`T1EHpRr36vv zBi&dG8oxS|J$!zoaq{+JpJy+O^W(nt*|#g32bd&K^w-t>!Vu9N!k9eA8r!Xc{utY> zg9aZ(D2E0gL#W0MdjwES-7~Wa8iubPrd?8-$C4BP?*wok&O8+ykOx{P=Izx+G~hM8 z*9?BYz!T8~dzcZr#ux8kS7u7r@A#DogBH8km8Ry4slyie^n|GrTbO|cLhpqgMdsjX zJ_LdmM#I&4LqqsOUIXK8gW;V0B(7^$y#h3h>J0k^WJfAMeYek%Y-Dcb_+0zPJez!GM zAmJ1u;*rK=FNM0Nf}Y!!P9c4)HIkMnq^b;JFd!S3?_Qi2G#LIQ)TF|iHl~WKK6JmK zbv7rPE6VkYr_%_BT}CK8h=?%pk@3cz(UrZ{@h40%XgThP*-Oeo`T0eq9 zA8BnWZKzCy5e&&_GEsU4*;_k}(8l_&al5K-V*BFM=O~;MgRkYsOs%9eOY6s6AtE*<7GQAR2ulC3RAJrG_P1iQK5Z~&B z&f8X<>yJV6)oDGIlS$Y*D^Rj(cszTy5c81a5IwBr`BtnC6_e`ArI8CaTX_%rx7;cn zR-0?J_LFg*?(#n~G8cXut(1nVF0Oka$A$1FGcERU<^ggx;p@CZc?3UB41RY+wLS`LWFNSs~YP zuw1@DNN3lTd|jDL7gjBsd9}wIw}4xT2+8dBQzI00m<@?c2L%>}QLfK5%r!a-iII`p zX@`VEUH)uj^$;7jVUYdADQ2k*!1O3WdfgF?OMtUXNpQ1}QINamBTKDuv19^{$`8A1 zeq%q*O0mi@(%sZU>Xdb0Ru96CFqk9-L3pzLVsMQ`Xpa~N6CR{9Rm2)A|CI21L(%GW zh&)Y$BNHa=FD+=mBw3{qTgw)j0b!Eahs!rZnpu)z!!E$*eXE~##yaXz`KE5(nQM`s zD!$vW9XH)iMxu9R>r$VlLk9oIR%HxpUiW=BK@4U)|1WNQ=mz9a z^!KkO=>GaJ!GBXm{KJj^;kh-MkUlEQ%lza`-G&}C5y1>La1sR6hT=d*NeCnuK%_LV zOXt$}iP6(YJKc9j-Fxq~*ItVUqljQ8?oaysB-EYtFQp9oxZ|5m0^Hq(qV!S+hq#g( z?|i*H2MIr^Kxgz+3vIljQ*Feejy6S4v~jKEPTF~Qhq!(ms5>NGtRgO5vfPPc4Z^AM zTj!`5xEreIN)vaNxa|q6qWdg>+T`Ol0Uz)ckXBXEGvPNEL3R8hB3=C5`@=SYgAju1 z!)UBr{2~=~xa{b8>x2@C7weRAEuatC)3pkRhT#pMPTpSbA|tan%U7NGMvzmF?c!V8 z=pEWxbdXbTAGtWTyI?Fml%lEr-^AE}w#l(<7OIw;ctw}imYax&vR4UYNJZK6P7ZOd zP87XfhnUHxCUHhM@b*NbTi#(-8|wcv%3BGNs#zRCVV(W?1Qj6^PPQa<{yaBwZ`+<`w|;rqUY_C z&AeyKwwf*q#OW-F()lir=T^<^wjK65Lif$puuU5+tk$;e_EJ;Lu+pH>=-8=PDhkBg z8cWt%@$Sc#C6F$Vd+0507;{OOyT7Hs%nKS88q-W!$f~9*WGBpHGgNp}=C*7!RiZ5s zn1L_DbKF@B8kwhDiLKRB@lsXVVLK|ph=w%_`#owlf@s@V(pa`GY$8h%;-#h@TsO|Y8V=n@*!Rog7<7Cid%apR|x zOjhHCyfbIt%+*PCveTEcuiDi%Wx;O;+K=W?OFUV%)%~6;gl?<0%)?snDDqIvkHF{ zyI02)+lI9ov42^hL>ZRrh*HhjF9B$A@=H94iaBESBF=eC_KT$8A@uB^6$~o?3Wm5t1OIaqF^~><2?4e3c&)@wKn9bD? zoeCs;H>b8DL^F&>Xw-xjZEUFFTv>JD^O#1E#)CMBaG4DX9bD(Wtc8Rzq}9soQ8`jf zeSnHOL}<+WVSKp4kkq&?SbETjq6yr@4%SAqOG=9E(3YeLG9dtV+8vmzq+6PFPk{L; z(&d++iu=^F%b+ea$i2UeTC{R*0Isk;vFK!no<;L+(`y`3&H-~VTdKROkdyowo1iqR zbVW(3`+(PQ2>TKY>N!jGmGo7oeoB8O|P_!Ic@ zZ^;3dnuXo;WJ?S+)%P>{Hcg!Jz#2SI(s&dY4QAy_vRlmOh)QHvs_7c&zkJCmJGVvV zX;Mtb>QE+xp`KyciG$Cn*0?AK%-a|=o!+7x&&yzHQOS>8=B*R=niSnta^Pxp1`=md z#;$pS$4WCT?mbiCYU?FcHGZ#)kHVJTTBt^%XE(Q};aaO=Zik0UgLcc0I(tUpt(>|& zcxB_|fxCF7>&~5eJ=Dpn&5Aj{A^cV^^}(7w#p;HG&Q)EaN~~EqrE1qKrMAc&WXIE;>@<&)5;gD2?={Xf@Mvn@OJKw=8Mgn z!JUFMwD+s==JpjhroT&d{$kQAy%+d`a*XxDEVxy3`NHzmITrE`o!;5ClXNPb4t*8P zzAivdr{j_v!=9!^?T3y?gzmqDWX6mkzhIzJ-3S{T5bcCFMr&RPDryMcdwbBuZbsgN zGrp@^i?rcfN7v0NKGzDPGE#4yszxu=I_`MI%Z|10nFjU-UjQXXA?k8Pk|OE<(?ae) zE%vG#eZAlj*E7_3dx#Zz4kMLj>H^;}33UAankJiDy5ZvEhrjr`!9eMD8COp}U*hP+ zF}KIYx@pkccIgyxFm#LNw~G&`;o&5)2`5aogs`1~7cMZQ7zj!%L4E`2yzlQN6REX20&O<9 zKV6fyr)TScJPPzNTC2gL+0x#=u>(({{D7j)c-%tvqls3#Y?Z1m zV5WUE)zdJ{$p>yX;^P!UcXP?UD~YM;IRa#Rs5~l+*$&nO(;Ers`G=0D!twR(0GF@c zHl9E5DQI}Oz74n zfKP>&$q0($T4y$6w(p=ERAFh+>n%iaeRA%!T%<^+pg?M)@ucY<&59$x9M#n+V&>}=nO9wCV{O~lg&v#+jcUj(tQ z`0u1YH)-`U$15a{pBkGyPL0THv1P|4e@pf@3IBZS4dVJPo#H>pWq%Lr0YS-SeWash z8R7=jb28KPMI|_lo#GEO|5B?N_e``H*23{~a!AmUJ+fb4HX-%QI@lSEUxKlGV7z7Q zSKw@-TR>@1RL%w{x}dW#k1NgW+q4yt2Xf1J62Bx*O^WG8OJ|FqI4&@d3_o8Id@*)4 zYrk=>@!wv~mh7YWv*bZhxqSmFh2Xq)o=m;%n$I?GSz49l1$xRpPu_^N(vZ>*>Z<04 z2+rP70oM=NDysd!@fQdM2OcyT?3T^Eb@lIC-UG=Bw{BjQ&P`KCv$AcJ;?`vdZ4){d z&gkoUK{$!$$K`3*O-jyM1~p-7T*qb)Ys>Myt^;#1&a%O@x8A+E>! zY8=eD`ZG)LVagDLBeHg>=atOG?Kr%h4B%E6m@J^C+U|y)XX@f z8oyJDW|9g=<#f<{JRr{y#~euMnv)`7j=%cHWLc}ngjq~7k**6%4u>Px&W%4D94(r* z+akunK}O0DC2A%Xo9jyF;DobX?!1I(7%}@7F>i%&nk*LMO)bMGg2N+1iqtg+r(70q zF5{Msgsm5GS7DT`kBsjMvOrkx&|EU!{{~gL4d2MWrAT=KBQ-^zQCUq{5PD1orxlIL zq;CvlWx#f1NWvh`hg011I%?T_s!e38l*lWVt|~z-PO4~~1g)SrJ|>*tXh=QfXT)%( z+ex+inPvD&O4Ur;JGz>$sUOnWdpSLcm1X%aQDw4{dB!cnj`^muI$CJ2%p&-kULVCE z>$eMR36kN$wCPR+OFDM3-U(VOrp9k3)lI&YVFqd;Kpz~K)@Fa&FRw}L(SoD z9B4a+hQzZT-BnVltst&=kq6Y(f^S4hIGNKYBgMxGJ^;2yrO}P3;r)(-I-CZ)26Y6? z&rzHI_1GCvGkgy-t1E;r^3Le30|%$ebDRu2+gdLG)r=A~Qz`}~&L@aGJ{}vVs_GE* zVUjFnzHiXfKQbpv&bR&}l2bzIjAooB)=-XNcYmrGmBh(&iu@o!^hn0^#}m2yZZUK8 zufVm7Gq0y`Mj;9b>`c?&PZkU0j4>IL=UL&-Lp3j&47B5pAW4JceG{!XCA)kT<%2nqCxj<)uy6XR_uws~>_MEKPOpAQ!H zkn>FKh)<9DwwS*|Y(q?$^N!6(51O0 z^JM~Ax{AI1Oj$fs-S5d4T7Z_i1?{%0SsIuQ&r8#(JA=2iLcTN+?>wOL532%&dMYkT z*T5xepC+V6zxhS@vNbMoi|i)=rpli@R9~P!39tWbSSb904ekv7D#quKbgFEMTb48P zuq(VJ+&L8aWU(_FCD$3^uD!YM%O^K(dvy~Wm2hUuh6bD|#(I39Xt>N1Y{ZqXL`Fg6 zKQ?T2htHN!(Bx;tV2bfTtIj7e)liN-29s1kew>v(D^@)#v;}C4-G=7x#;-dM4yRWm zyY`cS21ulzMK{PoaQ6xChEZ}o_#}X-o}<&0)$1#3we?+QeLt;aVCjeA)hn!}UaKt< zat1fHEx13y-rXNMvpUUmCVzocPmN~-Y4(YJvQ#db)4|%B!rBsgAe+*yor~}FrNH08 z3V!97S}D7d$zbSD{$z;@IYMxM6aHdypIuS*pr_U6;#Y!_?0i|&yU*@16l z*dcMqDQgfNBf}?quiu4e>H)yTVfsp#f+Du0@=Kc41QockXkCkvu>FBd6Q+@FL!(Yx z2`YuX#eMEiLEDhp+9uFqME_E^faV&~9qjBHJkIp~%$x^bN=N)K@kvSVEMdDuzA0sn z88CBG?`RX1@#hQNd`o^V{37)!w|nA)QfiYBE^m=yQKv-fQF+UCMcuEe1d4BH7$?>b zJl-r9@0^Ie=)guO1vOd=i$_4sz>y3x^R7n4ED!5oXL3@5**h(xr%Hv)_gILarO46q+MaDOF%ChaymKoI6JU5Pg;7#2n9-18|S1;AK+ zgsn6;k6-%!QD>D?cFy}8F;r@z8H9xN1jsOBw2vQONVqBVEbkiNUqgw~*!^##ht>w0 zUOykwH=$LwX2j&nLy=@{hr)2O&-wm-NyjW7n~Zs9UlH;P7iP3 zI}S(r0YFVYacnKH(+{*)Tbw)@;6>%=&Th=+Z6NHo_tR|JCI8TJiXv2N7ei7M^Q+RM z?9o`meH$5Yi;@9XaNR#jIK^&{N|DYNNbtdb)XW1Lv2k{E>;?F`#Pq|&_;gm~&~Zc9 zf+6ZE%{x4|{YdtE?a^gKyzr}dA>OxQv+pq|@IXL%WS0CiX!V zm$fCePA%lU{%pTKD7|5NJHeXg=I0jL@$tOF@K*MI$)f?om)D63K*M|r`gb9edD1~Y zc|w7N)Y%do7=0{RC|AziW7#am$)9jciRJ?IWl9PE{G3U+$%FcyKs_0Cgq`=K3@ttV z9g;M!3z~f_?P%y3-ph%vBMeS@p7P&Ea8M@97+%XEj*(1E6vHj==d zjsoviB>j^$_^OI_DEPvFkVo(BGRo%cJeD){6Uckei=~1}>sp299|IRjhXe)%?uP0I zF5+>?0#Ye}T^Y$u_rc4=lPcq4K^D(TZG-w30-YiEM=dcK+4#o*>lJ8&JLi+3UcpZk z!^?95S^C0ja^jwP`|{<+3cBVog$(mRdQmadS+Vh~z zS@|P}=|z3P6uS+&@QsMp0no9Od&27O&14zHXGAOEy zh~OKpymK5C%;LLb467@KgIiVwYbYd6wFxI{0-~MOGfTq$nBTB!{SrWmL9Hs}C&l&l#m?s*{tA?BHS4mVKHAVMqm63H<|c5n0~k)-kbg zXidai&9ZUy0~WFYYKT;oe~rytRk?)r8bptITsWj(@HLI;@=v5|XUnSls7$uaxFRL+ zRVMGuL3w}NbV1`^=Pw*0?>bm8+xfeY(1PikW*PB>>Tq(FR`91N0c2&>lL2sZo5=VD zQY{>7dh_TX98L2)n{2OV=T10~*YzX27i2Q7W86M4$?gZIXZaBq#sA*{PH8){|GUi;oM>e?ua7eF4WFuFYZSG| zze?srg|5Ti8Og{O zeFxuw9!U+zhyk?@w zjsA6(oKD=Ka;A>Ca)oPORxK+kxH#O@zhC!!XS4@=swnuMk>t+JmLmFiE^1aX3f<)D@`%K0FGK^gg1a1j>zi z2KhV>sjU7AX3F$SEqrXSC}fRx64GDoc%!u2Yag68Lw@w9v;xOONf@o)Lc|Uh3<21ctTYu-mFZuHk*+R{GjXHIGq3p)tFtQp%TYqD=j1&y)>@zxoxUJ!G@ zgI0XKmP6MNzw>nRxK$-Gbzs}dyfFzt>#5;f6oR27ql!%+{tr+(`(>%51|k`ML} zY4eE)Lxq|JMas(;JibNQds1bUB&r}ydMQXBY4x(^&fY_&LlQC)3hylc$~8&~|06-D z#T+%66rYbHX%^KuqJED_wuGB+=h`nWA!>1n0)3wZrBG3%`b^Ozv6__dNa@%V14|!D zQ?o$z5u0^8`giv%qE!BzZ!3j;BlDlJDk)h@9{nSQeEk!z9RGW) z${RSF3phEM*ce*>Xdp}585vj$|40=&S{S-GTiE?Op*vY&Lvr9}BO$XWy80IF+6@%n z5*2ueT_g@ofP#u5pxb7n*fv^Xtt7&?SRc{*2Ka-*!BuOpf}neHGCiHy$@Ka1^Dint z;DkmIL$-e)rj4o2WQV%Gy;Xg(_Bh#qeOsTM2f@KEe~4kJ8kNLQ+;(!j^bgJMcNhvklP5Z6I+9Fq@c&D~8Fb-4rmDT!MB5QC{Dsb;BharP*O;SF4& zc$wj-7Oep7#$WZN!1nznc@Vb<_Dn%ga-O#J(l=OGB`dy=Sy&$(5-n3zzu%d7E#^8`T@}V+5B;PP8J14#4cCPw-SQTdGa2gWL0*zKM z#DfSXs_iWOMt)0*+Y>Lkd=LlyoHjublNLefhKBv@JoC>P7N1_#> zv=mLWe96%EY;!ZGSQDbZWb#;tzqAGgx~uk+-$+2_8U`!ypbwXl z^2E-FkM1?lY@yt8=J3%QK+xaZ6ok=-y%=KXCD^0r!5vUneW>95PzCkOPO*t}p$;-> ze5j-BLT_;)cZQzR2CEsm@rU7GZfFtdp*a|g4wDr%8?2QkIGasRfDWT-Dvy*U{?IHT z*}wGnzdlSptl#ZF^sf)KT|BJs&kLG91^A6ls{CzFprZ6-Y!V0Xysh%9p%iMd7HLsS zN+^Un$tDV)T@i!v?3o0Fsx2qI(AX_$dDkBzQ@fRM%n zRXk6hb9Py#JXUs+7)w@eo;g%QQ95Yq!K_d=z{0dGS+pToEI6=Bo8+{k$7&Z zo4>PH(`ce8E-Ps&uv`NQ;U$%t;w~|@E3WVOCi~R4oj5wP?%<*1C%}Jq%a^q~T7u>K zML5AKfQDv6>PuT`{SrKHRAF+^&edg6+5R_#H?Lz3iGoWo#PCEd0DS;)2U({{X#zU^ zw_xv{4x7|t!S)>44J;KfA|DC?;uQ($l+5Vp7oeqf7{GBF9356nx|&B~gs+@N^gSdd zvb*>&W)|u#F{Z_b`f#GVtQ`pYv3#||N{xj1NgB<#=Odt6{eB%#9RLt5v zIi|0u70`#ai}9fJjKv7dE!9ZrOIX!3{$z_K5FBd-Kp-&e4(J$LD-)NMTp^_pB`RT; zftVVlK2g@+1Ahv2$D){@Y#cL#dUj9*&%#6 zd2m9{1NYp>)6=oAvqdCn5#cx{AJ%S8skUgMglu2*IAtd+z1>B&`MuEAS(D(<6X#Lj z?f4CFx$)M&$=7*>9v1ER4b6!SIz-m0e{o0BfkySREchp?WdVPpQCh!q$t>?rL!&Jg zd#heM;&~A}VEm8Dvy&P|J*eAV&w!&Nx6HFV&B8jJFVTmgLaswn!cx$&%JbTsloz!3 zMEz1d`k==`Ueub_JAy_&`!ogbwx27^ZXgFNAbx=g_I~5nO^r)}&myw~+yY*cJl4$I znNJ32M&K=0(2Dj_>@39`3=FX!v3nZHno_@q^!y}%(yw0PqOo=);6Y@&ylVe>nMOZ~ zd>j#QQSBn3oaWd;qy$&5(5H$Ayi)0haAYO6TH>FR?rhqHmNOO+(})NB zLI@B@v0)eq!ug`>G<@htRlp3n!EpU|n+G+AvXFrWSUsLMBfL*ZB`CRsIVHNTR&b?K zxBgsN0BjfB>UVcJ|x%=-zb%OV7lmZc& zxiupadZVF7)6QuhoY;;FK2b*qL0J-Rn-8!X4ZY$-ZSUXV5DFd7`T41c(#lAeLMoeT z4%g655v@7AqT!i@)Edt5JMbN(=Q-6{=L4iG8RA%}w;&pKmtWvI4?G9pVRp|RTw`g0 zD5c12B&A2&P6Ng~8WM2eIW=wxd?r7A*N+&!Be7PX3s|7~z=APxm=A?5 zt>xB4WG|*Td@VX{Rs)PV0|yK`oI3^xn(4c_j&vgxk_Y3o(-`_5o`V zRTghg6%l@(qodXN;dB#+OKJEEvhfcnc#BeO2|E(5df-!fKDZ!%9!^BJ_4)9P+9Dq5 zK1=(v?KmIp34r?z{NEWnLB3Px{XYwy-akun4F7xTRr2^zeYW{gcK9)>aJDdU5;w5@ zak=<+-PLH-|04pelTb%ULpuuuJC7DgyT@D|p{!V!0v3KpDnRjANN12q6SUR3mb9<- z>2r~IApQGhstZ!3*?5V z8#)hJ0TdZg0M-BK#nGFP>$i=qk82DO z7h;Ft!D5E15OgW)&%lej*?^1~2=*Z5$2VX>V{x8SC+{i10BbtUk9@I#Vi&hX)q
Q!LwySI{Bnv%Sm)yh{^sSVJ8&h_D-BJ_YZe5eCaAWU9b$O2c z$T|{vWVRtOL!xC0DTc(Qbe`ItNtt5hr<)VijD0{U;T#bUEp381_y`%ZIav?kuYG{iyYdEBPW=*xNSc;Rlt6~F4M`5G+VtOjc z*0qGzCb@gME5udTjJA-9O<&TWd~}ysBd(eVT1-H82-doyH9RST)|+Pb{o*;$j9Tjs zhU!IlsPsj8=(x3bAKJTopW3^6AKROHR^7wZ185wJGVhA~hEc|LP;k7NEz-@4p5o}F z`AD6naG3(n=NF9HTH81=F+Q|JOz$7wm9I<+#BSmB@o_cLt2GkW9|?7mM;r!JZp89l zbo!Hp8=n!XH1{GwaDU+k)pGp`C|cXkCU5%vcH)+v@0eK>%7gWxmuMu9YLlChA|_D@ zi#5zovN_!a-0?~pUV-Rj*1P)KwdU-LguR>YM&*Nen+ln8Q$?WFCJg%DY%K}2!!1FE zDv-A%Cbwo^p(lzac&_TZ-l#9kq`mhLcY3h9ZTUVCM(Ad&=EriQY5{jJv<5K&g|*Lk zgV%ILnf1%8V2B0E&;Sp4sYbYOvvMebLwYwzkRQ#F8GpTQq#uv=J`uaSJ34OWITeSGo6+-8Xw znCk*n{kdDEi)Hi&u^)~cs@iyCkFWB2SWZU|Uc%^43ZIZQ-vWNExCCtDWjqHs;;tWf$v{}0{p0Rvxkq``)*>+Akq%|Na zA`@~-Vfe|+(AIlqru+7Ceh4nsVmO9p9jc8}HX^W&ViBDXT+uXbT#R#idPn&L>+#b6 zflC-4C5-X;kUnR~L>PSLh*gvL68}RBsu#2l`s_9KjUWRhiqF`j)`y`2`YU(>3bdBj z?>iyjEhe-~$^I5!nn%B6Wh+I`FvLNvauve~eX<+Ipl&04 zT}};W&1a3%W?dJ2=N#0t?e+aK+%t}5q%jSLvp3jZ%?&F}nOOWr>+{GFIa%wO_2`et z=JzoRR~}iKuuR+azPI8;Gf9)z3kyA4EIOSl!sRR$DlW}0>&?GbgPojmjmnln;cTqCt=ADbE zZ8GAnoM+S1(5$i8^O4t`ue;vO4i}z0wz-QEIVe5_u03;}-!G1NyY8;h^}y;tzY}i5 zqQr#Ur3Fy8sSa$Q0ys+f`!`+>9WbvU_I`Sj;$4{S>O3?#inLHCrtLy~!s#WXV=oVP zeE93*Nc`PBi4q@%Ao$x4lw9vLHM!6mn3-b_cebF|n-2vt-zYVF_&sDE--J-P;2WHo z+@n2areE0o$LjvjlV2X7ZU@j+`{*8zq`JR3gKF#EW|#+{nMyo-a>nFFTg&vhyT=b} zDa8+v0(Dgx0yRL@ZXOYIlVSZ0|MFizy0VPW8;AfA5|pe!#j zX}Py^8fl5SyS4g1WSKKtnyP+_PoOwMMwu`(i@Z)diJp~U54*-miOchy7Z35eL>^M z4p<-aIxH4VUZgS783@H%M7P9hX>t{|RU7$n4T(brCG#h9e9p! z+o`i;EGGq3&pF;~5V~eBD}lC)>if$w%Vf}AFxGqO88|ApfHf&Bvu+xdG)@vuF}Yvk z)o;~k-%+0K0g+L`Wala!$=ZV|z$e%>f0%XoLib%)!R^RoS+{!#X?h-6uu zF&&KxORdZU&EwQFITIRLo(7TA3W}y6X{?Y%y2j0It!ekU#<)$qghZtpcS>L3uh`Uj z7GY;6f$9qKynP#oS3$$a{p^{D+0oJQ71`1?OAn_m8)UGZmj3l*ZI)`V-a>MKGGFG< z&^jg#Ok%(hhm>hSrZ5;Qga4u(?^i>GiW_j9%_7M>j(^|Om$#{k+^*ULnEgzW_1gCICtAD^WpC`A z{9&DXkG#01Xo)U$OC(L5Y$DQ|Q4C6CjUKk1UkPj$nXH##J{c8e#K|&{mA*;b$r0E4 zUNo0jthwA(c&N1l=PEe8Rw_8cEl|-eya9z&H3#n`B$t#+aJ03RFMzrV@gowbe8v(c zIFM60^0&lCFO10NU4w@|61xiZ4CVXeaKjd;d?sv52XM*lS8XiVjgWpRB;&U_C0g+`6B5V&w|O6B*_q zsATxL!M}+$He)1eOWECce#eS@2n^xhlB4<_Nn?yCVEQWDs(r`|@2GqLe<#(|&P0U? z$7V5IgpWf09uIf_RazRwC?qEqRaHyL?iiS05UiGesJy%^>-C{{ypTBI&B0-iUYhk> zIk<5xpsuV@g|z(AZD+C-;A!fTG=df1=<%nxy(a(IS+U{ME4ZbDEBtcD_3V=icT6*_ z)>|J?>&6%nvHhZERBtjK+s4xnut*@>GAmA5m*OTp$!^CHTr}vM4n(X1Q*;{e-Rd2BCF-u@1ZGm z!S8hJ6L=Gl4T_SDa7Xx|-{4mxveJg=ctf`BJ*fy!yF6Dz&?w(Q_6B}WQVtNI!BVBC zKfX<>7vd6C96}XAQmF-Jd?1Q4eTfRB3q7hCh0f!(JkdWT5<{iAE#dKy*Jxq&3a1@~ z8C||Dn2mFNyrUV|<-)C^_y7@8c2Fz+2jrae9deBDu;U}tJ{^xAdxCD248(k;dCJ%o z`y3sADe>U%suxwwv~8A1+R$VB=Q?%U?4joI$um;aH+eCrBqpn- z%79D_7rb;R-;-9RTrwi9dPlg8&@tfWhhZ(Vx&1PQ+6(huX`;M9x~LrW~~#3{j0Bh2kDU$}@!fFQej4VGkJv?M4rU^x!RU zEwhu$!CA_iDjFjrJa`aocySDX16?~;+wgav;}Zut6Mg%C4>}8FL?8)Kgwc(Qlj{@#2Pt0?G`$h7P#M+qoXtlV@d}%c&OzO+QYKK`kyXaK{U(O^2DyIXCZlNQjt0^8~8JzNGrIxhj}}M z&~QZlbx%t;MJ(Vux;2tgNKGlAqphLq%pd}JG9uoVHUo?|hN{pLQ6Em%r*+7t^<);X zm~6=qChlNAVXNN*Sow->*4;}T;l;D1I-5T{Bif@4_}=>l`tK;qqDdt5zvisCKhMAH z#r}`)7VW?LZqfdmXQ%zo5bJ00{Xb9^YKrk0Nf|oIW*K@(=`o2Vndz}ZDyk{!u}PVx zzd--+_WC*U{~DH3{?GI64IB+@On&@9X>EUAo&L+G{L^dozaI4C3G#2wr~hseW@K&g zKWs{uHu-9Je!3;4pE>eBltKUXb^*hG8I&413)$J&{D4N%7PcloU6bn%jPxJyQL?g* z9g+YFFEDiE`8rW^laCNzQmi7CTnPfwyg3VDHRAl>h=In6jeaVOP@!-CP60j3+#vpL zEYmh_oP0{-gTe7Or`L6x)6w?77QVi~jD8lWN@3RHcm80iV%M1A!+Y6iHM)05iC64tb$X2lV_%Txk@0l^hZqi^%Z?#- zE;LE0uFx)R08_S-#(wC=dS&}vj6P4>5ZWjhthP=*Hht&TdLtKDR;rXEX4*z0h74FA zMCINqrh3Vq;s%3MC1YL`{WjIAPkVL#3rj^9Pj9Ss7>7duy!9H0vYF%>1jh)EPqvlr6h%R%CxDsk| z!BACz7E%j?bm=pH6Eaw{+suniuY7C9Ut~1cWfOX9KW9=H><&kQlinPV3h9R>3nJvK z4L9(DRM=x;R&d#a@oFY7mB|m8h4692U5eYfcw|QKwqRsshN(q^v$4$)HgPpAJDJ`I zkqjq(8Cd!K!+wCd=d@w%~e$=gdUgD&wj$LQ1r>-E=O@c ze+Z$x{>6(JA-fNVr)X;*)40Eym1TtUZI1Pwwx1hUi+G1Jlk~vCYeXMNYtr)1?qwyg zsX_e*$h?380O00ou?0R@7-Fc59o$UvyVs4cUbujHUA>sH!}L54>`e` zHUx#Q+Hn&Og#YVOuo*niy*GU3rH;%f``nk#NN5-xrZ34NeH$l`4@t);4(+0|Z#I>Y z)~Kzs#exIAaf--65L0UHT_SvV8O2WYeD>Mq^Y6L!Xu8%vnpofG@w!}R7M28?i1*T&zp3X4^OMCY6(Dg<-! zXmcGQrRgHXGYre7GfTJ)rhl|rs%abKT_Nt24_Q``XH{88NVPW+`x4ZdrMuO0iZ0g` z%p}y};~T5gbb9SeL8BSc`SO#ixC$@QhXxZ=B}L`tP}&k?1oSPS=4%{UOHe0<_XWln zwbl5cn(j-qK`)vGHY5B5C|QZd5)W7c@{bNVXqJ!!n$^ufc?N9C-BF2QK1(kv++h!>$QbAjq)_b$$PcJdV+F7hz0Hu@ zqj+}m0qn{t^tD3DfBb~0B36|Q`bs*xs|$i^G4uNUEBl4g;op-;Wl~iThgga?+dL7s zUP(8lMO?g{GcYpDS{NM!UA8Hco?#}eNEioRBHy4`mq!Pd-9@-97|k$hpEX>xoX+dY zDr$wfm^P&}Wu{!%?)U_(%Mn79$(ywvu*kJ9r4u|MyYLI_67U7%6Gd_vb##Nerf@>& z8W11z$$~xEZt$dPG}+*IZky+os5Ju2eRi;1=rUEeIn>t-AzC_IGM-IXWK3^6QNU+2pe=MBn4I*R@A%-iLDCOHTE-O^wo$sL_h{dcPl=^muAQb`_BRm};=cy{qSkui;`WSsj9%c^+bIDQ z0`_?KX0<-=o!t{u(Ln)v>%VGL z0pC=GB7*AQ?N7N{ut*a%MH-tdtNmNC+Yf$|KS)BW(gQJ*z$d{+{j?(e&hgTy^2|AR9vx1Xre2fagGv0YXWqtNkg*v%40v?BJBt|f9wX5 z{QTlCM}b-0{mV?IG>TW_BdviUKhtosrBqdfq&Frdz>cF~yK{P@(w{Vr7z2qKFwLhc zQuogKO@~YwyS9%+d-zD7mJG~@?EFJLSn!a&mhE5$_4xBl&6QHMzL?CdzEnC~C3$X@ zvY!{_GR06ep5;<#cKCSJ%srxX=+pn?ywDwtJ2{TV;0DKBO2t++B(tIO4)Wh`rD13P z4fE$#%zkd=UzOB74gi=-*CuID&Z3zI^-`4U^S?dHxK8fP*;fE|a(KYMgMUo`THIS1f!*6dOI2 zFjC3O=-AL`6=9pp;`CYPTdVX z8(*?V&%QoipuH0>WKlL8A*zTKckD!paN@~hh zmXzm~qZhMGVdQGd=AG8&20HW0RGV8X{$9LldFZYm zE?}`Q3i?xJRz43S?VFMmqRyvWaS#(~Lempg9nTM$EFDP(Gzx#$r)W&lpFKqcAoJh-AxEw$-bjW>`_+gEi z2w`99#UbFZGiQjS8kj~@PGqpsPX`T{YOj`CaEqTFag;$jY z8_{Wzz>HXx&G*Dx<5skhpETxIdhKH?DtY@b9l8$l?UkM#J-Snmts7bd7xayKTFJ(u zyAT&@6cAYcs{PBfpqZa%sxhJ5nSZBPji?Zlf&}#L?t)vC4X5VLp%~fz2Sx<*oN<7` z?ge=k<=X7r<~F7Tvp9#HB{!mA!QWBOf%EiSJ6KIF8QZNjg&x~-%e*tflL(ji_S^sO ztmib1rp09uon}RcsFi#k)oLs@$?vs(i>5k3YN%$T(5Or(TZ5JW9mA6mIMD08=749$ z!d+l*iu{Il7^Yu}H;lgw=En1sJpCKPSqTCHy4(f&NPelr31^*l%KHq^QE>z>Ks_bH zjbD?({~8Din7IvZeJ>8Ey=e;I?thpzD=zE5UHeO|neioJwG;IyLk?xOz(yO&0DTU~ z^#)xcs|s>Flgmp;SmYJ4g(|HMu3v7#;c*Aa8iF#UZo7CvDq4>8#qLJ|YdZ!AsH%^_7N1IQjCro

K7UpUK$>l@ zw`1S}(D?mUXu_C{wupRS-jiX~w=Uqqhf|Vb3Cm9L=T+w91Cu^ z*&Ty%sN?x*h~mJc4g~k{xD4ZmF%FXZNC;oVDwLZ_WvrnzY|{v8hc1nmx4^}Z;yriXsAf+Lp+OFLbR!&Ox?xABwl zu8w&|5pCxmu#$?Cv2_-Vghl2LZ6m7}VLEfR5o2Ou$x02uA-%QB2$c(c1rH3R9hesc zfpn#oqpbKuVsdfV#cv@5pV4^f_!WS+F>SV6N0JQ9E!T90EX((_{bSSFv9ld%I0&}9 zH&Jd4MEX1e0iqDtq~h?DBrxQX1iI0lIs<|kB$Yrh&cpeK0-^K%=FBsCBT46@h#yi!AyDq1V(#V}^;{{V*@T4WJ&U-NTq43w=|K>z8%pr_nC>%C(Wa_l78Ufib$r8Od)IIN=u>417 z`Hl{9A$mI5A(;+-Q&$F&h-@;NR>Z<2U;Y21>>Z;s@0V@SbkMQQj%_;~+qTuQ?c|AV zcWm3XZQHhP&R%QWarS%mJ!9R^&!_)*s(v+VR@I#QrAT}`17Y+l<`b-nvmDNW`De%y zrwTZ9EJrj1AFA>B`1jYDow}~*dfPs}IZMO3=a{Fy#IOILc8F0;JS4x(k-NSpbN@qM z`@aE_e}5{!$v3+qVs7u?sOV(y@1Os*Fgu`fCW9=G@F_#VQ%xf$hj0~wnnP0$hFI+@ zkQj~v#V>xn)u??YutKsX>pxKCl^p!C-o?+9;!Nug^ z{rP!|+KsP5%uF;ZCa5F;O^9TGac=M|=V z_H(PfkV1rz4jl?gJ(ArXMyWT4y(86d3`$iI4^l9`vLdZkzpznSd5Ikfrs8qcSy&>z zTIZgWZGXw0n9ibQxYWE@gI0(3#KA-dAdPcsL_|hg2@~C!VZDM}5;v_Nykfq!*@*Zf zE_wVgx82GMDryKO{U{D>vSzSc%B~|cjDQrt5BN=Ugpsf8H8f1lR4SGo#hCuXPL;QQ z#~b?C4MoepT3X`qdW2dNn& zo8)K}%Lpu>0tQei+{>*VGErz|qjbK#9 zvtd8rcHplw%YyQCKR{kyo6fgg!)6tHUYT(L>B7er5)41iG`j$qe*kSh$fY!PehLcD zWeKZHn<492B34*JUQh=CY1R~jT9Jt=k=jCU2=SL&&y5QI2uAG2?L8qd2U(^AW#{(x zThSy=C#>k+QMo^7caQcpU?Qn}j-`s?1vXuzG#j8(A+RUAY})F@=r&F(8nI&HspAy4 z4>(M>hI9c7?DCW8rw6|23?qQMSq?*Vx?v30U%luBo)B-k2mkL)Ljk5xUha3pK>EEj z@(;tH|M@xkuN?gsz;*bygizwYR!6=(Xgcg^>WlGtRYCozY<rFX2E>kaZo)O<^J7a`MX8Pf`gBd4vrtD|qKn&B)C&wp0O-x*@-|m*0egT=-t@%dD zgP2D+#WPptnc;_ugD6%zN}Z+X4=c61XNLb7L1gWd8;NHrBXwJ7s0ce#lWnnFUMTR& z1_R9Fin4!d17d4jpKcfh?MKRxxQk$@)*hradH2$3)nyXep5Z;B z?yX+-Bd=TqO2!11?MDtG0n(*T^!CIiF@ZQymqq1wPM_X$Iu9-P=^}v7npvvPBu!d$ z7K?@CsA8H38+zjA@{;{kG)#AHME>Ix<711_iQ@WWMObXyVO)a&^qE1GqpP47Q|_AG zP`(AD&r!V^MXQ^e+*n5~Lp9!B+#y3#f8J^5!iC@3Y@P`;FoUH{G*pj*q7MVV)29+j z>BC`a|1@U_v%%o9VH_HsSnM`jZ-&CDvbiqDg)tQEnV>b%Ptm)T|1?TrpIl)Y$LnG_ zzKi5j2Fx^K^PG1=*?GhK;$(UCF-tM~^=Z*+Wp{FSuy7iHt9#4n(sUuHK??@v+6*|10Csdnyg9hAsC5_OrSL;jVkLlf zHXIPukLqbhs~-*oa^gqgvtpgTk_7GypwH><53riYYL*M=Q@F-yEPLqQ&1Sc zZB%w}T~RO|#jFjMWcKMZccxm-SL)s_ig?OC?y_~gLFj{n8D$J_Kw%{r0oB8?@dWzn zB528d-wUBQzrrSSLq?fR!K%59Zv9J4yCQhhDGwhptpA5O5U?Hjqt>8nOD zi{)0CI|&Gu%zunGI*XFZh(ix)q${jT8wnnzbBMPYVJc4HX*9d^mz|21$=R$J$(y7V zo0dxdbX3N#=F$zjstTf*t8vL)2*{XH!+<2IJ1VVFa67|{?LP&P41h$2i2;?N~RA30LV`BsUcj zfO9#Pg1$t}7zpv#&)8`mis3~o+P(DxOMgz-V*(?wWaxi?R=NhtW}<#^Z?(BhSwyar zG|A#Q7wh4OfK<|DAcl9THc-W4*>J4nTevsD%dkj`U~wSUCh15?_N@uMdF^Kw+{agk zJ`im^wDqj`Ev)W3k3stasP`88-M0ZBs7;B6{-tSm3>I@_e-QfT?7|n0D~0RRqDb^G zyHb=is;IwuQ&ITzL4KsP@Z`b$d%B0Wuhioo1CWttW8yhsER1ZUZzA{F*K=wmi-sb#Ju+j z-l@In^IKnb{bQG}Ps>+Vu_W#grNKNGto+yjA)?>0?~X`4I3T@5G1)RqGUZuP^NJCq&^HykuYtMDD8qq+l8RcZNJsvN(10{ zQ1$XcGt}QH-U^WU!-wRR1d--{B$%vY{JLWIV%P4-KQuxxDeJaF#{eu&&r!3Qu{w}0f--8^H|KwE>)ORrcR+2Qf zb})DRcH>k0zWK8@{RX}NYvTF;E~phK{+F;MkIP$)T$93Ba2R2TvKc>`D??#mv9wg$ zd~|-`Qx5LwwsZ2hb*Rt4S9dsF%Cny5<1fscy~)d;0m2r$f=83<->c~!GNyb!U)PA; zq^!`@@)UaG)Ew(9V?5ZBq#c%dCWZrplmuM`o~TyHjAIMh0*#1{B>K4po-dx$Tk-Cq z=WZDkP5x2W&Os`N8KiYHRH#UY*n|nvd(U>yO=MFI-2BEp?x@=N<~CbLJBf6P)}vLS?xJXYJ2^<3KJUdrwKnJnTp{ zjIi|R=L7rn9b*D#Xxr4*R<3T5AuOS+#U8hNlfo&^9JO{VbH!v9^JbK=TCGR-5EWR@ zN8T-_I|&@A}(hKeL4_*eb!1G8p~&_Im8|wc>Cdir+gg90n1dw?QaXcx6Op_W1r=axRw>4;rM*UOpT#Eb9xU1IiWo@h?|5uP zka>-XW0Ikp@dIe;MN8B01a7+5V@h3WN{J=HJ*pe0uwQ3S&MyWFni47X32Q7SyCTNQ z+sR!_9IZa5!>f&V$`q!%H8ci!a|RMx5}5MA_kr+bhtQy{-^)(hCVa@I!^TV4RBi zAFa!Nsi3y37I5EK;0cqu|9MRj<^r&h1lF}u0KpKQD^5Y+LvFEwM zLU@@v4_Na#Axy6tn3P%sD^5P#<7F;sd$f4a7LBMk zGU^RZHBcxSA%kCx*eH&wgA?Qwazm8>9SCSz_!;MqY-QX<1@p$*T8lc?@`ikEqJ>#w zcG``^CoFMAhdEXT9qt47g0IZkaU)4R7wkGs^Ax}usqJ5HfDYAV$!=6?>J6+Ha1I<5 z|6=9soU4>E))tW$<#>F ziZ$6>KJf0bPfbx_)7-}tMINlc=}|H+$uX)mhC6-Hz+XZxsKd^b?RFB6et}O#+>Wmw9Ec9) z{q}XFWp{3@qmyK*Jvzpyqv57LIR;hPXKsrh{G?&dRjF%Zt5&m20Ll?OyfUYC3WRn{cgQ?^V~UAv+5 z&_m#&nIwffgX1*Z2#5^Kl4DbE#NrD&Hi4|7SPqZ}(>_+JMz=s|k77aEL}<=0Zfb)a z%F(*L3zCA<=xO)2U3B|pcTqDbBoFp>QyAEU(jMu8(jLA61-H!ucI804+B!$E^cQQa z)_ERrW3g!B9iLb3nn3dlkvD7KsY?sRvls3QC0qPi>o<)GHx%4Xb$5a3GBTJ(k@`e@ z$RUa^%S15^1oLEmA=sayrP5;9qtf!Z1*?e$ORVPsXpL{jL<6E)0sj&swP3}NPmR%FM?O>SQgN5XfHE< zo(4#Cv11(%Nnw_{_Ro}r6=gKd{k?NebJ~<~Kv0r(r0qe4n3LFx$5%x(BKvrz$m?LG zjLIc;hbj0FMdb9aH9Lpsof#yG$(0sG2%RL;d(n>;#jb!R_+dad+K;Ccw!|RY?uS(a zj~?=&M!4C(5LnlH6k%aYvz@7?xRa^2gml%vn&eKl$R_lJ+e|xsNfXzr#xuh(>`}9g zLHSyiFwK^-p!;p$yt7$F|3*IfO3Mlu9e>Dpx8O`37?fA`cj`C0B-m9uRhJjs^mRp# zWB;Aj6|G^1V6`jg7#7V9UFvnB4((nIwG?k%c7h`?0tS8J3Bn0t#pb#SA}N-|45$-j z$R>%7cc2ebAClXc(&0UtHX<>pd)akR3Kx_cK+n<}FhzmTx!8e9^u2e4%x{>T6pQ`6 zO182bh$-W5A3^wos0SV_TgPmF4WUP-+D25KjbC{y_6W_9I2_vNKwU(^qSdn&>^=*t z&uvp*@c8#2*paD!ZMCi3;K{Na;I4Q35zw$YrW5U@Kk~)&rw;G?d7Q&c9|x<Hg|CNMsxovmfth*|E*GHezPTWa^Hd^F4!B3sF;)? z(NaPyAhocu1jUe(!5Cy|dh|W2=!@fNmuNOzxi^tE_jAtzNJ0JR-avc_H|ve#KO}#S z#a(8secu|^Tx553d4r@3#6^MHbH)vmiBpn0X^29xEv!Vuh1n(Sr5I0V&`jA2;WS|Y zbf0e}X|)wA-Pf5gBZ>r4YX3Mav1kKY(ulAJ0Q*jB)YhviHK)w!TJsi3^dMa$L@^{` z_De`fF4;M87vM3Ph9SzCoCi$#Fsd38u!^0#*sPful^p5oI(xGU?yeYjn;Hq1!wzFk zG&2w}W3`AX4bxoVm03y>ts{KaDf!}b&7$(P4KAMP=vK5?1In^-YYNtx1f#}+2QK@h zeSeAI@E6Z8a?)>sZ`fbq9_snl6LCu6g>o)rO;ijp3|$vig+4t} zylEo7$SEW<_U+qgVcaVhk+4k+C9THI5V10qV*dOV6pPtAI$)QN{!JRBKh-D zk2^{j@bZ}yqW?<#VVuI_27*cI-V~sJiqQv&m07+10XF+#ZnIJdr8t`9s_EE;T2V;B z4UnQUH9EdX%zwh-5&wflY#ve!IWt0UE-My3?L#^Bh%kcgP1q{&26eXLn zTkjJ*w+(|_>Pq0v8{%nX$QZbf)tbJaLY$03;MO=Ic-uqYUmUCuXD>J>o6BCRF=xa% z3R4SK9#t1!K4I_d>tZgE>&+kZ?Q}1qo4&h%U$GfY058s%*=!kac{0Z+4Hwm!)pFLR zJ+5*OpgWUrm0FPI2ib4NPJ+Sk07j(`diti^i#kh&f}i>P4~|d?RFb#!JN)~D@)beox}bw?4VCf^y*`2{4`-@%SFTry2h z>9VBc9#JxEs1+0i2^LR@B1J`B9Ac=#FW=(?2;5;#U$0E0UNag_!jY$&2diQk_n)bT zl5Me_SUvqUjwCqmVcyb`igygB_4YUB*m$h5oeKv3uIF0sk}~es!{D>4r%PC*F~FN3owq5e0|YeUTSG#Vq%&Gk7uwW z0lDo#_wvflqHeRm*}l?}o;EILszBt|EW*zNPmq#?4A+&i0xx^?9obLyY4xx=Y9&^G;xYXYPxG)DOpPg!i_Ccl#3L}6xAAZzNhPK1XaC_~ z!A|mlo?Be*8Nn=a+FhgpOj@G7yYs(Qk(8&|h@_>w8Y^r&5nCqe0V60rRz?b5%J;GYeBqSAjo|K692GxD4` zRZyM2FdI+-jK2}WAZTZ()w_)V{n5tEb@>+JYluDozCb$fA4H)$bzg(Ux{*hXurjO^ zwAxc+UXu=&JV*E59}h3kzQPG4M)X8E*}#_&}w*KEgtX)cU{vm9b$atHa;s>| z+L6&cn8xUL*OSjx4YGjf6{Eq+Q3{!ZyhrL&^6Vz@jGbI%cAM9GkmFlamTbcQGvOlL zmJ?(FI)c86=JEs|*;?h~o)88>12nXlpMR4@yh%qdwFNpct;vMlc=;{FSo*apJ;p}! zAX~t;3tb~VuP|ZW;z$=IHf->F@Ml)&-&Bnb{iQyE#;GZ@C$PzEf6~q}4D>9jic@mTO5x76ulDz@+XAcm35!VSu zT*Gs>;f0b2TNpjU_BjHZ&S6Sqk6V1370+!eppV2H+FY!q*n=GHQ!9Rn6MjY!Jc77A zG7Y!lFp8?TIHN!LXO?gCnsYM-gQxsm=Ek**VmZu7vnuufD7K~GIxfxbsQ@qv2T zPa`tvHB$fFCyZl>3oYg?_wW)C>^_iDOc^B7klnTOoytQH18WkOk)L2BSD0r%xgRSW zQS9elF^?O=_@|58zKLK;(f77l-Zzu}4{fXed2saq!5k#UZAoDBqYQS{sn@j@Vtp|$ zG%gnZ$U|9@u#w1@11Sjl8ze^Co=)7yS(}=;68a3~g;NDe_X^}yJj;~s8xq9ahQ5_r zxAlTMnep*)w1e(TG%tWsjo3RR;yVGPEO4V{Zp?=a_0R#=V^ioQu4YL=BO4r0$$XTX zZfnw#_$V}sDAIDrezGQ+h?q24St0QNug_?{s-pI(^jg`#JRxM1YBV;a@@JQvH8*>> zIJvku74E0NlXkYe_624>znU0J@L<-c=G#F3k4A_)*;ky!C(^uZfj%WB3-*{*B$?9+ zDm$WFp=0(xnt6`vDQV3Jl5f&R(Mp};;q8d3I%Kn>Kx=^;uSVCw0L=gw53%Bp==8Sw zxtx=cs!^-_+i{2OK`Q;913+AXc_&Z5$@z3<)So0CU3;JAv=H?@Zpi~riQ{z-zLtVL z!oF<}@IgJp)Iyz1zVJ42!SPHSkjYNS4%ulVVIXdRuiZ@5Mx8LJS}J#qD^Zi_xQ@>DKDr-_e#>5h3dtje*NcwH_h;i{Sx7}dkdpuW z(yUCjckQsagv*QGMSi9u1`Z|V^}Wjf7B@q%j2DQXyd0nOyqg%m{CK_lAoKlJ7#8M} z%IvR?Vh$6aDWK2W!=i?*<77q&B8O&3?zP(Cs@kapc)&p7En?J;t-TX9abGT#H?TW? ztO5(lPKRuC7fs}zwcUKbRh=7E8wzTsa#Z{a`WR}?UZ%!HohN}d&xJ=JQhpO1PI#>X zHkb>pW04pU%Bj_mf~U}1F1=wxdBZu1790>3Dm44bQ#F=T4V3&HlOLsGH)+AK$cHk6 zia$=$kog?)07HCL*PI6}DRhpM^*%I*kHM<#1Se+AQ!!xyhcy6j7`iDX7Z-2i73_n# zas*?7LkxS-XSqv;YBa zW_n*32D(HTYQ0$feV_Fru1ZxW0g&iwqixPX3=9t4o)o|kOo79V$?$uh?#8Q8e>4e)V6;_(x&ViUVxma+i25qea;d-oK7ouuDsB^ab{ zu1qjQ%`n56VtxBE#0qAzb7lph`Eb-}TYpXB!H-}3Ykqyp`otprp7{VEuW*^IR2n$Fb99*nAtqT&oOFIf z@w*6>YvOGw@Ja?Pp1=whZqydzx@9X4n^2!n83C5{C?G@|E?&$?p*g68)kNvUTJ)I6 z1Q|(#UuP6pj78GUxq11m-GSszc+)X{C2eo-?8ud9sB=3(D47v?`JAa{V(IF zPZQ_0AY*9M97>Jf<o%#O_%Wq}8>YM=q0|tGY+hlXcpE=Z4Od z`NT7Hu2hnvRoqOw@g1f=bv`+nba{GwA$Ak0INlqI1k<9!x_!sL()h?hEWoWrdU3w` zZ%%)VR+Bc@_v!C#koM1p-3v_^L6)_Ktj4HE>aUh%2XZE@JFMOn)J~c`_7VWNb9c-N z2b|SZMR4Z@E7j&q&9(6H3yjEu6HV7{2!1t0lgizD;mZ9$r(r7W5G$ky@w(T_dFnOD z*p#+z$@pKE+>o@%eT(2-p_C}wbQ5s(%Sn_{$HDN@MB+Ev?t@3dPy`%TZ!z}AThZSu zN<1i$siJhXFdjV zP*y|V<`V8t=h#XTRUR~5`c`Z9^-`*BZf?WAehGdg)E2Je)hqFa!k{V(u+(hTf^Yq& zoruUh2(^3pe)2{bvt4&4Y9CY3js)PUHtd4rVG57}uFJL)D(JfSIo^{P=7liFXG zq5yqgof0V8paQcP!gy+;^pp-DA5pj=gbMN0eW=-eY+N8~y+G>t+x}oa!5r>tW$xhI zPQSv=pi;~653Gvf6~*JcQ%t1xOrH2l3Zy@8AoJ+wz@daW@m7?%LXkr!bw9GY@ns3e zSfuWF_gkWnesv?s3I`@}NgE2xwgs&rj?kH-FEy82=O8`+szN ziHch`vvS`zNfap14!&#i9H@wF7}yIPm=UB%(o(}F{wsZ(wA0nJ2aD^@B41>>o-_U6 zUqD~vdo48S8~FTb^+%#zcbQiiYoDKYcj&$#^;Smmb+Ljp(L=1Kt_J!;0s%1|JK}Wi z;={~oL!foo5n8=}rs6MmUW~R&;SIJO3TL4Ky?kh+b2rT9B1Jl4>#Uh-Bec z`Hsp<==#UEW6pGPhNk8H!!DUQR~#F9jEMI6T*OWfN^Ze&X(4nV$wa8QUJ>oTkruH# zm~O<`J7Wxseo@FqaZMl#Y(mrFW9AHM9Kb|XBMqaZ2a)DvJgYipkDD_VUF_PKd~dT7 z#02}bBfPn9a!X!O#83=lbJSK#E}K&yx-HI#T6ua)6o0{|={*HFusCkHzs|Fn&|C3H zBck1cmfcWVUN&i>X$YU^Sn6k2H;r3zuXbJFz)r5~3$d$tUj(l1?o={MM){kjgqXRO zc5R*#{;V7AQh|G|)jLM@wGAK&rm2~@{Pewv#06pHbKn#wL0P6F1!^qw9g&cW3Z=9} zj)POhOlwsh@eF=>z?#sIs*C-Nl(yU!#DaiaxhEs#iJqQ8w%(?+6lU02MYSeDkr!B- zPjMv+on6OLXgGnAtl(ao>|X2Y8*Hb}GRW5}-IzXnoo-d0!m4Vy$GS!XOLy>3_+UGs z2D|YcQx@M#M|}TDOetGi{9lGo9m-=0-^+nKE^*?$^uHkxZh}I{#UTQd;X!L+W@jm( zDg@N4+lUqI92o_rNk{3P>1gxAL=&O;x)ZT=q1mk0kLlE$WeWuY_$0`0jY-Kkt zP*|m3AF}Ubd=`<>(Xg0har*_@x2YH}bn0Wk*OZz3*e5;Zc;2uBdnl8?&XjupbkOeNZsNh6pvsq_ydmJI+*z**{I{0K)-;p1~k8cpJXL$^t!-`E}=*4G^-E8>H!LjTPxSx zcF+cS`ommfKMhNSbas^@YbTpH1*RFrBuATUR zt{oFWSk^$xU&kbFQ;MCX22RAN5F6eq9UfR$ut`Jw--p2YX)A*J69m^!oYfj2y7NYcH6&r+0~_sH^c^nzeN1AU4Ga7=FlR{S|Mm~MpzY0$Z+p2W(a={b-pR9EO1Rs zB%KY|@wLcAA@)KXi!d2_BxrkhDn`DT1=Dec}V!okd{$+wK z4E{n8R*xKyci1(CnNdhf$Dp2(Jpof0-0%-38X=Dd9PQgT+w%Lshx9+loPS~MOm%ZT zt%2B2iL_KU_ita%N>xjB!#71_3=3c}o zgeW~^U_ZTJQ2!PqXulQd=3b=XOQhwATK$y(9$#1jOQ4}4?~l#&nek)H(04f(Sr=s| zWv7Lu1=%WGk4FSw^;;!8&YPM)pQDCY9DhU`hMty1@sq1=Tj7bFsOOBZOFlpR`W>-J$-(kezWJj;`?x-v>ev{*8V z8p|KXJPV$HyQr1A(9LVrM47u-XpcrIyO`yWvx1pVYc&?154aneRpLqgx)EMvRaa#|9?Wwqs2+W8n5~79G z(}iCiLk;?enn}ew`HzhG+tu+Ru@T+K5juvZN)wY;x6HjvqD!&!)$$;1VAh~7fg0K| zEha#aN=Yv|3^~YFH}cc38ovVb%L|g@9W6fo(JtT6$fa?zf@Ct88e}m?i)b*Jgc{fl zExfdvw-BYDmH6>(4QMt#p0;FUIQqkhD}aH?a7)_%JtA~soqj{ppP_82yi9kaxuK>~ ze_)Zt>1?q=ZH*kF{1iq9sr*tVuy=u>Zev}!gEZx@O6-fjyu9X00gpIl-fS_pzjpqJ z1yqBmf9NF!jaF<+YxgH6oXBdK)sH(>VZ)1siyA$P<#KDt;8NT*l_0{xit~5j1P)FN zI8hhYKhQ)i z37^aP13B~u65?sg+_@2Kr^iWHN=U;EDSZ@2W2!5ALhGNWXnFBY%7W?1 z=HI9JzQ-pLKZDYTv<0-lt|6c-RwhxZ)mU2Os{bsX_i^@*fKUj8*aDO5pks=qn3Dv6 zwggpKLuyRCTVPwmw1r}B#AS}?X7b837UlXwp~E2|PJw2SGVueL7){Y&z!jL!XN=0i zU^Eig`S2`{+gU$68aRdWx?BZ{sU_f=8sn~>s~M?GU~`fH5kCc; z8ICp+INM3(3{#k32RZdv6b9MQYdZXNuk7ed8;G?S2nT+NZBG=Tar^KFl2SvhW$bGW#kdWL-I)s_IqVnCDDM9fm8g;P;8 z7t4yZn3^*NQfx7SwmkzP$=fwdC}bafQSEF@pd&P8@H#`swGy_rz;Z?Ty5mkS%>m#% zp_!m9e<()sfKiY(nF<1zBz&&`ZlJf6QLvLhl`_``%RW&{+O>Xhp;lwSsyRqGf=RWd zpftiR`={2(siiPAS|p}@q=NhVc0ELprt%=fMXO3B)4ryC2LT(o=sLM7hJC!}T1@)E zA3^J$3&1*M6Xq>03FX`R&w*NkrZE?FwU+Muut;>qNhj@bX17ZJxnOlPSZ=Zeiz~T_ zOu#yc3t6ONHB;?|r4w+pI)~KGN;HOGC)txxiUN8#mexj+W(cz%9a4sx|IRG=}ia zuEBuba3AHsV2feqw-3MvuL`I+2|`Ud4~7ZkN=JZ;L20|Oxna5vx1qbIh#k2O4$RQF zo`tL()zxaqibg^GbB+BS5#U{@K;WWQj~GcB1zb}zJkPwH|5hZ9iH2308!>_;%msji zJHSL~s)YHBR=Koa1mLEOHos*`gp=s8KA-C zu0aE+W!#iJ*0xqKm3A`fUGy#O+X+5W36myS>Uh2!R*s$aCU^`K&KKLCCDkejX2p=5 z%o7-fl03x`gaSNyr?3_JLv?2RLS3F*8ub>Jd@^Cc17)v8vYEK4aqo?OS@W9mt%ITJ z9=S2%R8M){CugT@k~~0x`}Vl!svYqX=E)c_oU6o}#Hb^%G1l3BudxA{F*tbjG;W_>=xV73pKY53v%>I)@D36I_@&p$h|Aw zonQS`07z_F#@T-%@-Tb|)7;;anoD_WH>9ewFy(ZcEOM$#Y)8>qi7rCnsH9GO-_7zF zu*C87{Df1P4TEOsnzZ@H%&lvV(3V@;Q!%+OYRp`g05PjY^gL$^$-t0Y>H*CDDs?FZly*oZ&dxvsxaUWF!{em4{A>n@vpXg$dwvt@_rgmHF z-MER`ABa8R-t_H*kv>}CzOpz;!>p^^9ztHMsHL|SRnS<-y5Z*r(_}c4=fXF`l^-i}>e7v!qs_jv zqvWhX^F=2sDNWA9c@P0?lUlr6ecrTKM%pNQ^?*Lq?p-0~?_j50xV%^(+H>sMul#Tw zeciF*1=?a7cI(}352%>LO96pD+?9!fNyl^9v3^v&Y4L)mNGK0FN43&Xf8jUlxW1Bw zyiu2;qW-aGNhs=zbuoxnxiwZ3{PFZM#Kw)9H@(hgX23h(`Wm~m4&TvoZoYp{plb^> z_#?vXcxd>r7K+1HKJvhed>gtK`TAbJUazUWQY6T~t2af%#<+Veyr%7-#*A#@&*;@g58{i|E%6yC_InGXCOd{L0;$)z#?n7M`re zh!kO{6=>7I?*}czyF7_frt#)s1CFJ_XE&VrDA?Dp3XbvF{qsEJgb&OLSNz_5g?HpK z9)8rsr4JN!Af3G9!#Qn(6zaUDqLN(g2g8*M)Djap?WMK9NKlkC)E2|-g|#-rp%!Gz zAHd%`iq|81efi93m3yTBw3g0j#;Yb2X{mhRAI?&KDmbGqou(2xiRNb^sV}%%Wu0?< z?($L>(#BO*)^)rSgyNRni$i`R4v;GhlCZ8$@e^ROX(p=2_v6Y!%^As zu022)fHdv_-~Yu_H6WVPLpHQx!W%^6j)cBhS`O3QBW#x(eX54d&I22op(N59b*&$v zFiSRY6rOc^(dgSV1>a7-5C;(5S5MvKcM2Jm-LD9TGqDpP097%52V+0>Xqq!! zq4e3vj53SE6i8J`XcQB|MZPP8j;PAOnpGnllH6#Ku~vS42xP*Nz@~y%db7Xi8s09P z1)e%8ys6&M8D=Dt6&t`iKG_4X=!kgRQoh%Z`dc&mlOUqXk-k`jKv9@(a^2-Upw>?< zt5*^DV~6Zedbec4NVl($2T{&b)zA@b#dUyd>`2JC0=xa_fIm8{5um zr-!ApXZhC8@=vC2WyxO|!@0Km)h8ep*`^he92$@YwP>VcdoS5OC^s38e#7RPsg4j+ zbVGG}WRSET&ZfrcR(x~k8n1rTP%CnfUNKUonD$P?FtNFF#cn!wEIab-;jU=B1dHK@ z(;(yAQJ`O$sMn>h;pf^8{JISW%d+@v6@CnXh9n5TXGC}?FI9i-D0OMaIg&mAg=0Kn zNJ7oz5*ReJukD55fUsMuaP+H4tDN&V9zfqF@ zr=#ecUk9wu{0;!+gl;3Bw=Vn^)z$ahVhhw)io!na&9}LmWurLb0zubxK=UEnU*{5P z+SP}&*(iBKSO4{alBHaY^)5Q=mZ+2OwIooJ7*Q5XJ+2|q`9#f?6myq!&oz?klihLq z4C)$XP!BNS0G_Z1&TM>?Jk{S~{F3n83ioli=IO6f%wkvCl(RFFw~j0tb{GvXTx>*sB0McY0s&SNvj4+^h`9nJ_wM>F!Uc>X}9PifQekn0sKI2SAJP!a4h z5cyGTuCj3ZBM^&{dRelIlT^9zcfaAuL5Y~bl!ppSf`wZbK$z#6U~rdclk``e+!qhe z6Qspo*%<)eu6?C;Bp<^VuW6JI|Ncvyn+LlSl;Mp22Bl7ARQ0Xc24%29(ZrdsIPw&-=yHQ7_Vle|5h>AST0 zUGX2Zk34vp?U~IHT|;$U86T+UUHl_NE4m|}>E~6q``7hccCaT^#y+?wD##Q%HwPd8 zV3x4L4|qqu`B$4(LXqDJngNy-{&@aFBvVsywt@X^}iH7P%>bR?ciC$I^U-4Foa`YKI^qDyGK7k%E%c_P=yzAi`YnxGA%DeNd++j3*h^ z=rn>oBd0|~lZ<6YvmkKY*ZJlJ;Im0tqgWu&E92eqt;+NYdxx`eS(4Hw_Jb5|yVvBg z*tbdY^!AN;luEyN4VRhS@-_DC{({ziH{&Z}iGElSV~qvT>L-8G%+yEL zX#MFOhj{InyKG=mvW-<1B@c-}x$vA(nU?>S>0*eN#!SLzQ)Ex7fvQ)S4D<8|I#N$3 zT5Ei`Z?cxBODHX8(Xp73v`IsAYC@9b;t}z0wxVuQSY1J^GRwDPN@qbM-ZF48T$GZ< z8WU+;Pqo?{ghI-KZ-i*ydXu`Ep0Xw^McH_KE9J0S7G;x8Fe`DVG?j3Pv=0YzJ}yZR z%2=oqHiUjvuk0~Ca>Kol4CFi0_xQT~;_F?=u+!kIDl-9g`#ZNZ9HCy17Ga1v^Jv9# z{T4Kb1-AzUxq*MutfOWWZgD*HnFfyYg0&e9f(5tZ>krPF6{VikNeHoc{linPPt#Si z&*g>(c54V8rT_AX!J&bNm-!umPvOR}vDai#`CX___J#=zeB*{4<&2WpaDncZsOkp* zsg<%@@rbrMkR_ux9?LsQxzoBa1s%$BBn6vk#{&&zUwcfzeCBJUwFYSF$08qDsB;gWQN*g!p8pxjofWbqNSZOEKOaTx@+* zwdt5*Q47@EOZ~EZL9s?1o?A%9TJT=Ob_13yyugvPg*e&ZU(r6^k4=2+D-@n=Hv5vu zSXG|hM(>h9^zn=eQ=$6`JO&70&2|%V5Lsx>)(%#;pcOfu>*nk_3HB_BNaH$`jM<^S zcSftDU1?nL;jy)+sfonQN}(}gUW?d_ikr*3=^{G)=tjBtEPe>TO|0ddVB zTklrSHiW+!#26frPXQQ(YN8DG$PZo?(po(QUCCf_OJC`pw*uey00%gmH!`WJkrKXj2!#6?`T25mTu9OJp2L8z3! z=arrL$ZqxuE{%yV)14Kd>k}j7pxZ6#$Dz8$@WV5p8kTqN<-7W)Q7Gt2{KoOPK_tZ| zf2WG~O5@{qPI+W<4f_;reuFVdO^5`ADC1!JQE|N`s3cq@(0WB!n0uh@*c{=LAd;~} zyGK@hbF-Oo+!nN)@i*O(`@FA#u?o=~e{`4O#5}z&=UkU*50fOrzi11D^&FOqe>wii z?*k+2|EcUs;Gx{!@KBT~>PAwLrIDT7Th=Utu?~?np@t^gFs?zgX=D${RwOY^WGh-+ z+#4$066ISh8eYW#FXWp~S`<*%O^ZuItL1Tyqt8#tZ zY120E;^VG`!lZn&3sPd$RkdHpU#|w+bYV)pJC|SH9g%|5IkxVTQcBA4CL0}$&}ef@ zW^Vtj%M;;_1xxP9x#ex17&4N*{ksO*_4O}xYu(p*JkL#yr}@7b)t5X?%CY<+s5_MJ zuiqt+N_;A(_)%lumoyRFixWa-M7qK_9s6<1X?JDa9fP!+_6u~~M$5L=ipB=7(j#f< zZ34J%=bs549%~_mA(|={uZNs_0?o7;-LBP(ZRnkd{-^|2|=4vUTmtByHL8 zEph`(LSEzQj68a+`d$V<45J7cyv^#|^|%fD#si1Nx!4NW*`l*{->HEWNh6-|g>-=r zXmQ|-i}Ku$ndUeHQ^&ieT!Lf}vf6GaqW9$DJ2NWrqwPY%%4nip$@vK$nRp*_C-v<| zuKz~ZyN&<%!NS26&x?jhy+@awJipMQ-8(X4#Ae5??U<1QMt1l9R=w9fAnEF}NYu$2 z>6}Vkc zIb*A?G*z8^IvibmBKn_u^5&T_1oey0gZS2~obf(#xk=erZGTEdQnt3DMGM+0oPwss zj5zXD;(oWhB_T@~Ig#9@v)AKtXu3>Inmgf@A|-lD-1U>cNyl3h?ADD9)GG4}zUGPk zZzaXe!~Kf?<~@$G?Uql3t8jy9{2!doq4=J}j9ktTxss{p6!9UdjyDERlA*xZ!=Q)KDs5O)phz>Vq3BNGoM(H|=1*Q4$^2fTZw z(%nq1P|5Rt81}SYJpEEzMPl5VJsV5&4e)ZWKDyoZ>1EwpkHx-AQVQc8%JMz;{H~p{=FXV>jIxvm4X*qv52e?Y-f%DJ zxEA165GikEASQ^fH6K#d!Tpu2HP{sFs%E=e$gYd$aj$+xue6N+Wc(rAz~wUsk2`(b z8Kvmyz%bKQxpP}~baG-rwYcYCvkHOi zlkR<=>ZBTU*8RF_d#Bl@zZsRIhx<%~Z@Z=ik z>adw3!DK(8R|q$vy{FTxw%#xliD~6qXmY^7_9kthVPTF~Xy1CfBqbU~?1QmxmU=+k z(ggxvEuA;0e&+ci-zQR{-f7aO{O(Pz_OsEjLh_K>MbvoZ4nxtk5u{g@nPv)cgW_R} z9}EA4K4@z0?7ue}Z(o~R(X&FjejUI2g~08PH1E4w>9o{)S(?1>Z0XMvTb|;&EuyOE zGvWNpYX)Nv<8|a^;1>bh#&znEcl-r!T#pn= z4$?Yudha6F%4b>*8@=BdtXXY4N+`U4Dmx$}>HeVJk-QdTG@t!tVT#0(LeV0gvqyyw z2sEp^9eY0N`u10Tm4n8No&A=)IeEC|gnmEXoNSzu!1<4R<%-9kY_8~5Ej?zRegMn78wuMs#;i&eUA0Zk_RXQ3b&TT} z;SCI=7-FUB@*&;8|n>(_g^HGf3@QODE3LpmX~ELnymQm{Sx9xrKS zK29p~?v@R$0=v6Dr5aW>-!{+h@?Q58|Kz8{{W`%J+lDAdb&M5VHrX_mDY;1-JLnf)ezmPau$)1;=`-FU=-r-83tX=C`S#}GZufju zQ>sXNT0Ny=k@nc%cFnvA_i4SC)?_ORXHq8B4D%el1uPX`c~uG#S1M7C+*MMqLw78E zhY2dI8@+N^qrMI1+;TUda(vGqGSRyU{Fnm`aqrr7bz42c5xsOO-~oZpkzorD1g}Y<6rk&3>PsSGy}W?MtqFky@A(X# zIuNZK0cK?^=;PUAu>j0#HtjbHCV*6?jzA&OoE$*Jlga*}LF`SF?WLhv1O|zqC<>*> zYB;#lsYKx0&kH@BFpW8n*yDcc6?;_zaJs<-jPSkCsSX-!aV=P5kUgF@Nu<{a%#K*F z134Q{9|YX7X(v$62_cY3^G%t~rD>Q0z@)1|zs)vjJ6Jq9;7#Ki`w+eS**En?7;n&7 zu==V3T&eFboN3ZiMx3D8qYc;VjFUk_H-WWCau(VFXSQf~viH0L$gwD$UfFHqNcgN`x}M+YQ6RnN<+@t>JUp#)9YOkqst-Ga?{FsDpEeX0(5v{0J~SEbWiL zXC2}M4?UH@u&|;%0y`eb33ldo4~z-x8zY!oVmV=c+f$m?RfDC35mdQ2E>Pze7KWP- z>!Bh<&57I+O_^s}9Tg^k)h7{xx@0a0IA~GAOt2yy!X%Q$1rt~LbTB6@Du!_0%HV>N zlf)QI1&gvERKwso23mJ!Ou6ZS#zCS5W`gxE5T>C#E|{i<1D35C222I33?Njaz`On7 zi<+VWFP6D{e-{yiN#M|Jgk<44u1TiMI78S5W`Sdb5f+{zu34s{CfWN7a3Cf^@L%!& zN$?|!!9j2c)j$~+R6n#891w-z8(!oBpL2K=+%a$r2|~8-(vQj5_XT`<0Ksf;oP+tz z9CObS!0m)Tgg`K#xBM8B(|Z)Wb&DYL{WTYv`;A=q6~Nnx2+!lTIXtj8J7dZE!P_{z z#f8w6F}^!?^KE#+ZDv+xd5O&3EmomZzsv?>E-~ygGum45fk!SBN&|eo1rKw^?aZJ4 E2O(~oYXATM literal 0 HcmV?d00001 diff --git a/Build/PlayFabServices.Android.Workspace/gradle/wrapper/gradle-wrapper.properties b/Build/PlayFabServices.Android.Workspace/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..6c9a224 --- /dev/null +++ b/Build/PlayFabServices.Android.Workspace/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-6.6-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/Build/PlayFabServices.Android.Workspace/gradlew b/Build/PlayFabServices.Android.Workspace/gradlew new file mode 100644 index 0000000..4f906e0 --- /dev/null +++ b/Build/PlayFabServices.Android.Workspace/gradlew @@ -0,0 +1,185 @@ +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# 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 +# +# https://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. +# + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=`expr $i + 1` + done + case $i in + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=`save "$@"` + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +exec "$JAVACMD" "$@" diff --git a/Build/PlayFabServices.Android.Workspace/gradlew.bat b/Build/PlayFabServices.Android.Workspace/gradlew.bat new file mode 100644 index 0000000..107acd3 --- /dev/null +++ b/Build/PlayFabServices.Android.Workspace/gradlew.bat @@ -0,0 +1,89 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/Build/PlayFabServices.Android.Workspace/settings.gradle b/Build/PlayFabServices.Android.Workspace/settings.gradle new file mode 100644 index 0000000..a273efc --- /dev/null +++ b/Build/PlayFabServices.Android.Workspace/settings.gradle @@ -0,0 +1,10 @@ +rootProject.name = "PlayFabServices.Android.Workspace" + +include ":PlayFabServices.Android", ":PlayFabCore.Android", ":PlayFabSharedInternal.Android" + +project(":PlayFabServices.Android").projectDir = new File("../PlayFabServices.Android") + +project(":PlayFabCore.Android").projectDir = new File("../PlayFabCore.Android") + +project(":PlayFabSharedInternal.Android").projectDir = new File("../PlayFabSharedInternal.Android") +include ':libHttpClient.Android' diff --git a/Build/PlayFabServices.Android/CMakeLists.txt b/Build/PlayFabServices.Android/CMakeLists.txt new file mode 100644 index 0000000..dde5a40 --- /dev/null +++ b/Build/PlayFabServices.Android/CMakeLists.txt @@ -0,0 +1,91 @@ +cmake_minimum_required(VERSION 3.6) + +get_filename_component(PATH_TO_ROOT "../../" ABSOLUTE) +get_filename_component(PATH_TO_SOURCE "../../Source" ABSOLUTE) + +set(PATH_TO_LHC ../libHttpClient) +if(NOT EXISTS "${PATH_TO_LHC}/README.md") + set(PATH_TO_LHC ${PATH_TO_ROOT}/../libHttpClient) +endif() + +project("PlayFabServices.Android") + +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_POSITION_INDEPENDENT_CODE ON) +set(CMAKE_SHARED_LINKER_FLAGS "-Wl,-z,now") +set(CMAKE_CXX_FLAGS_RELEASE "-gdwarf-5") +set(CMAKE_C_FLAGS_RELEASE "-gdwarf-5") + +########################################### +### Set up paths for source and include ### +########################################### + +include("../PlayFabServices.CMake/GetCommonSourceFiles.cmake") +get_common_source_files( + COMMON_SOURCE_FILES + "${PATH_TO_SOURCE}" +) + +include("../PlayFabServices.CMake/GetServiceWrapperFiles.cmake") +get_service_wrapper_source_files( + SERVICE_WRAPPER_SOURCE_FILES + "${PATH_TO_SOURCE}" +) + +set(COMMON_INCLUDE_DIRS + "${PATH_TO_SOURCE}/PlayFabCore/Include" + "${PATH_TO_SOURCE}/PlayFabCore/Include/Generated" + "${PATH_TO_SOURCE}/PlayFabServices/Source" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Common" + "${PATH_TO_SOURCE}/PlayFabServices/Include" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/Generated" + "${PATH_TO_ROOT}/External/rapidjson/include" + "${PATH_TO_LHC}/Include" +) + +######################### +### Set up shared lib ### +######################### + +# We'll usually want to build for full, but adding a case here if we want to build just for x84_64 or arm8 +# TODO: Full flavor should just trigger the other two flavors. Weird that it creates a full directory. Something to look into. +IF (EXISTS "${PATH_TO_ROOT}/Out/Android/PlayFabCore.Android/intermediates/cmake/full${CMAKE_BUILD_TYPE}") + add_subdirectory("../PlayFabCore.Android" ${PATH_TO_ROOT}/Out/Android/PlayFabCore.Android/intermediates/cmake/full${CMAKE_BUILD_TYPE}/obj/${ANDROID_ABI}) +ELSE () + add_subdirectory("../PlayFabCore.Android" ${PATH_TO_ROOT}/Out/Android/PlayFabCore.Android/intermediates/cmake/${ANDROID_ABI}${CMAKE_BUILD_TYPE}/obj/${ANDROID_ABI}) +endif() + +add_library( + "PlayFabServices.Android" + SHARED + "${SERVICE_WRAPPER_SOURCE_FILES}" + "${COMMON_SOURCE_FILES}" +) + +target_include_directories( + "PlayFabServices.Android" + PRIVATE + "${COMMON_INCLUDE_DIRS}" +) + +target_link_libraries( + PlayFabServices.Android + PlayFabSharedInternal.Android + PlayFabCore.Android + libHttpClient.Android + ${log-lib} +) + +include("../PlayFabSharedInternal.CMake/GetLinuxFlags.cmake") +get_linux_flags(FLAGS FLAGS_DEBUG FLAGS_RELEASE) + +include("../PlayFabSharedInternal.CMake/TargetSetFlags.cmake") +target_set_flags( + "PlayFabServices.Android" + "${FLAGS}" + "${FLAGS_DEBUG}" + "${FLAGS_RELEASE}" +) diff --git a/Build/PlayFabServices.Android/build.gradle b/Build/PlayFabServices.Android/build.gradle new file mode 100644 index 0000000..fd3cb87 --- /dev/null +++ b/Build/PlayFabServices.Android/build.gradle @@ -0,0 +1,138 @@ +apply plugin: "com.android.library" + +android { + compileSdk 34 + ndkVersion "25.1.8937393" + + defaultConfig { + targetSdkVersion 34 + minSdkVersion 21 + + externalNativeBuild { + cmake { + // externalNativeBuild normally skips static + // lib targets. This forces it to build. + targets "PlayFabServices.Android" + arguments "-DANDROID_TOOLCHAIN=clang++" + } + } + } + + externalNativeBuild { + cmake { + version "3.18.1" + path "CMakeLists.txt" + buildStagingDirectory "${project.buildDir.getParentFile().getAbsolutePath()}/.cxx/${project.name}" + } + } + + flavorDimensions "ABI" + + productFlavors { + full { + dimension "ABI" + externalNativeBuild { + cmake { + abiFilters "arm64-v8a", "x86_64" + } + } + } + arm8 { + dimension "ABI" + externalNativeBuild { + cmake { + abiFilters "arm64-v8a" + } + } + } + x86_64 { + dimension "ABI" + externalNativeBuild { + cmake { + abiFilters "x86_64" + } + } + } + } + + compileOptions { + sourceCompatibility=JavaVersion.VERSION_1_8 + targetCompatibility=JavaVersion.VERSION_1_8 + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile("proguard-android.txt") + } + } + + task archivePlayFabSDKReleasePackage(type: Copy) { + println("Generating PlayFab.C SDK archive...") + + // Include the libHttpClient `.so` + from('../../../libHttpClient/Binaries/Android/libHttpClient.Android/intermediates/cmake/release/obj') { + include 'arm64-v8a/libHttpClient.Android.so' + include 'x86_64/libHttpClient.Android.so' + into 'bin' + } + + // Include the PlayFabServices `.so` + from('../../Out/Android/PlayFabServices.Android/intermediates/cmake/fullRelease/obj') { + include '*/libPlayFabServices.Android.so' + into 'bin' + } + + // Include the PlayFabCore `.so` + from('../../Out/Android/PlayFabCore.Android/intermediates/cmake/fullRelease/obj') { + include '*/libPlayFabCore.Android.so' + into 'bin' + } + + // Include the PlayFabServices `.aar` + from('../../Out/Android/PlayFabServices.Android/outputs/aar') { + include 'PlayFabServices.Android-full-release.aar' + into 'aar' + } + + // Include the libHttpClient.Android `.aar` + from('../../../libHttpClient/Binaries/Android/libHttpClient.Android/outputs/aar') { + include 'libHttpClient.Android-release.aar' + into 'aar' + } + + // Include the PlayFabServices header files + from('../../Source/PlayFabServices/Include/Generated/playfab/services') { + include '*.h' + into 'Include/playfab/services' + } + + // Include the PlayFabCore header files + from('../../Source/PlayFabCore/Include/Generated/playfab/core') { + include '*.h' + into 'Include/playfab/core' + } + from('../../Source/PlayFabCore/Include/playfab/core') { + include '*.h' + into 'Include/playfab/core' + } + from('../../Source/PlayFabCore/Include/playfab/httpClient') { + include '*.h' + into 'Include/playfab/httpClient' + } + + // Include the libHttpClient header files + from('../../../libHttpClient/Include') { + include '*.h' + include 'httpClient/**' + into 'Include' + } + + // TODO: Update this archive name to standardize naming schemes + into '../../PlayFabServicesAndroidSDK' + } +} + +// Put all the Gradle build files under the /Out directory +def binariesDir = project.file("../../Out/Android/${project.name}").getAbsolutePath() +project.buildDir(new File(binariesDir)) \ No newline at end of file diff --git a/Build/PlayFabServices.Android/src/main/AndroidManifest.xml b/Build/PlayFabServices.Android/src/main/AndroidManifest.xml new file mode 100644 index 0000000..1575faa --- /dev/null +++ b/Build/PlayFabServices.Android/src/main/AndroidManifest.xml @@ -0,0 +1,10 @@ + + + + + + + \ No newline at end of file diff --git a/Build/PlayFabServices.Apple/PlayFabServices.Apple.xcodeproj/project.pbxproj b/Build/PlayFabServices.Apple/PlayFabServices.Apple.xcodeproj/project.pbxproj new file mode 100644 index 0000000..655f2f4 --- /dev/null +++ b/Build/PlayFabServices.Apple/PlayFabServices.Apple.xcodeproj/project.pbxproj @@ -0,0 +1,2008 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 56; + objects = { + +/* Begin PBXBuildFile section */ + 8206F2092B75898900451339 /* PlayFabCore_macOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8206F2082B75898900451339 /* PlayFabCore_macOS.framework */; }; + 8206F2152B7589F300451339 /* libPlayFabSharedInternal_iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8206F2142B7589F300451339 /* libPlayFabSharedInternal_iOS.a */; }; + 8206F2172B7589FB00451339 /* libPlayFabSharedInternal_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8206F2162B7589FB00451339 /* libPlayFabSharedInternal_macOS.a */; }; + 826082852AEC346600D8B93D /* PlayFabCore_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 826082842AEC346600D8B93D /* PlayFabCore_iOS.framework */; }; + 826082892AEC347E00D8B93D /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 826082882AEC347E00D8B93D /* Security.framework */; }; + 8260828B2AEC348500D8B93D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8260828A2AEC348500D8B93D /* Foundation.framework */; }; + 826AE41A2AF1841900DF9129 /* stdafx.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE3B22AF1841900DF9129 /* stdafx.h */; }; + 826AE41B2AF1841900DF9129 /* GlobalState.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE3B42AF1841900DF9129 /* GlobalState.h */; }; + 826AE41C2AF1841900DF9129 /* GlobalState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE3B52AF1841900DF9129 /* GlobalState.cpp */; }; + 826AE41D2AF1841900DF9129 /* HttpClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE3B62AF1841900DF9129 /* HttpClient.h */; }; + 826AE41E2AF1841900DF9129 /* Platform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE3B72AF1841900DF9129 /* Platform.cpp */; }; + 826AE41F2AF1841900DF9129 /* HttpClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE3B82AF1841900DF9129 /* HttpClient.cpp */; }; + 826AE4202AF1841900DF9129 /* Platform.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE3B92AF1841900DF9129 /* Platform.h */; }; + 826AE4212AF1841900DF9129 /* PFServices.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE3BB2AF1841900DF9129 /* PFServices.cpp */; }; + 826AE4222AF1841900DF9129 /* stdafx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE3BC2AF1841900DF9129 /* stdafx.cpp */; }; + 826AE51C2AF1867400DF9129 /* PFServices.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE4C72AF1867400DF9129 /* PFServices.h */; }; + 826AE5972AF186D500DF9129 /* PFTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5412AF186D500DF9129 /* PFTypes.h */; }; + 826AE5982AF186D500DF9129 /* PFSegmentsTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5422AF186D500DF9129 /* PFSegmentsTypes.h */; }; + 826AE5992AF186D500DF9129 /* PFSegments.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5432AF186D500DF9129 /* PFSegments.h */; }; + 826AE59A2AF186D500DF9129 /* PFTitleDataManagement.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5442AF186D500DF9129 /* PFTitleDataManagement.h */; }; + 826AE59B2AF186D500DF9129 /* PFPlatformSpecific.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5452AF186D500DF9129 /* PFPlatformSpecific.h */; }; + 826AE59C2AF186D500DF9129 /* PFInventory.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5462AF186D500DF9129 /* PFInventory.h */; }; + 826AE59D2AF186D500DF9129 /* PFDataTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5472AF186D500DF9129 /* PFDataTypes.h */; }; + 826AE59E2AF186D500DF9129 /* PFLocalizationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5482AF186D500DF9129 /* PFLocalizationTypes.h */; }; + 826AE59F2AF186D500DF9129 /* PFPushNotificationsTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5492AF186D500DF9129 /* PFPushNotificationsTypes.h */; }; + 826AE5A02AF186D500DF9129 /* PFAccountManagement.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE54A2AF186D500DF9129 /* PFAccountManagement.h */; }; + 826AE5A12AF186D500DF9129 /* PFExperimentation.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE54B2AF186D500DF9129 /* PFExperimentation.h */; }; + 826AE5A22AF186D500DF9129 /* PFMultiplayerServerTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE54C2AF186D500DF9129 /* PFMultiplayerServerTypes.h */; }; + 826AE5A32AF186D500DF9129 /* PFPlatformSpecificTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE54D2AF186D500DF9129 /* PFPlatformSpecificTypes.h */; }; + 826AE5A42AF186D500DF9129 /* PFFriends.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE54E2AF186D500DF9129 /* PFFriends.h */; }; + 826AE5A52AF186D500DF9129 /* PFCatalogTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE54F2AF186D500DF9129 /* PFCatalogTypes.h */; }; + 826AE5A62AF186D500DF9129 /* MultiplayerServerTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5512AF186D500DF9129 /* MultiplayerServerTypeWrappers.h */; }; + 826AE5A72AF186D500DF9129 /* DataTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5522AF186D500DF9129 /* DataTypeWrappers.h */; }; + 826AE5A82AF186D500DF9129 /* AccountManagementTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5532AF186D500DF9129 /* AccountManagementTypeWrappers.h */; }; + 826AE5A92AF186D500DF9129 /* TypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5542AF186D500DF9129 /* TypeWrappers.h */; }; + 826AE5AA2AF186D500DF9129 /* GroupsTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5552AF186D500DF9129 /* GroupsTypeWrappers.h */; }; + 826AE5AB2AF186D500DF9129 /* CatalogTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5562AF186D500DF9129 /* CatalogTypeWrappers.h */; }; + 826AE5AC2AF186D500DF9129 /* CloudScriptTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5572AF186D500DF9129 /* CloudScriptTypeWrappers.h */; }; + 826AE5AD2AF186D500DF9129 /* SegmentsTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5582AF186D500DF9129 /* SegmentsTypeWrappers.h */; }; + 826AE5AE2AF186D500DF9129 /* ExperimentationTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5592AF186D500DF9129 /* ExperimentationTypeWrappers.h */; }; + 826AE5AF2AF186D500DF9129 /* CharacterTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE55A2AF186D500DF9129 /* CharacterTypeWrappers.h */; }; + 826AE5B02AF186D500DF9129 /* LocalizationTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE55B2AF186D500DF9129 /* LocalizationTypeWrappers.h */; }; + 826AE5B12AF186D500DF9129 /* TitleDataManagementTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE55C2AF186D500DF9129 /* TitleDataManagementTypeWrappers.h */; }; + 826AE5B22AF186D500DF9129 /* PlayerDataManagementTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE55D2AF186D500DF9129 /* PlayerDataManagementTypeWrappers.h */; }; + 826AE5B32AF186D500DF9129 /* InventoryTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE55E2AF186D500DF9129 /* InventoryTypeWrappers.h */; }; + 826AE5B42AF186D500DF9129 /* PushNotificationsTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE55F2AF186D500DF9129 /* PushNotificationsTypeWrappers.h */; }; + 826AE5B52AF186D500DF9129 /* ProfilesTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5602AF186D500DF9129 /* ProfilesTypeWrappers.h */; }; + 826AE5B62AF186D500DF9129 /* PlatformSpecificTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5612AF186D500DF9129 /* PlatformSpecificTypeWrappers.h */; }; + 826AE5B72AF186D500DF9129 /* FriendsTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5622AF186D500DF9129 /* FriendsTypeWrappers.h */; }; + 826AE5B82AF186D500DF9129 /* PFLocalization.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5632AF186D500DF9129 /* PFLocalization.h */; }; + 826AE5B92AF186D500DF9129 /* PFPushNotifications.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5642AF186D500DF9129 /* PFPushNotifications.h */; }; + 826AE5BA2AF186D500DF9129 /* PFProfiles.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5652AF186D500DF9129 /* PFProfiles.h */; }; + 826AE5BB2AF186D500DF9129 /* PFData.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5662AF186D500DF9129 /* PFData.h */; }; + 826AE5BC2AF186D500DF9129 /* PFTitleDataManagementTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5672AF186D500DF9129 /* PFTitleDataManagementTypes.h */; }; + 826AE5BD2AF186D500DF9129 /* PFCloudScript.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5682AF186D500DF9129 /* PFCloudScript.h */; }; + 826AE5BE2AF186D500DF9129 /* PFCatalog.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5692AF186D500DF9129 /* PFCatalog.h */; }; + 826AE5BF2AF186D500DF9129 /* PFCloudScriptTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE56A2AF186D500DF9129 /* PFCloudScriptTypes.h */; }; + 826AE5C02AF186D500DF9129 /* PFPlayerDataManagement.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE56B2AF186D500DF9129 /* PFPlayerDataManagement.h */; }; + 826AE5C12AF186D500DF9129 /* PFCharacter.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE56C2AF186D500DF9129 /* PFCharacter.h */; }; + 826AE5C22AF186D500DF9129 /* PFExperimentationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE56D2AF186D500DF9129 /* PFExperimentationTypes.h */; }; + 826AE5C32AF186D500DF9129 /* PFFriendsTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE56E2AF186D500DF9129 /* PFFriendsTypes.h */; }; + 826AE5C42AF186D500DF9129 /* PFAccountManagementTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE56F2AF186D500DF9129 /* PFAccountManagementTypes.h */; }; + 826AE5C52AF186D500DF9129 /* PFMultiplayerServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5702AF186D500DF9129 /* PFMultiplayerServer.h */; }; + 826AE5C62AF186D500DF9129 /* PFProfilesTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5712AF186D500DF9129 /* PFProfilesTypes.h */; }; + 826AE5C72AF186D500DF9129 /* PFCharacterTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5722AF186D500DF9129 /* PFCharacterTypes.h */; }; + 826AE5C92AF186D500DF9129 /* PFGroups.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5742AF186D500DF9129 /* PFGroups.h */; }; + 826AE5CA2AF186D500DF9129 /* PFPlayerDataManagementTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5752AF186D500DF9129 /* PFPlayerDataManagementTypes.h */; }; + 826AE5CB2AF186D500DF9129 /* PFInventoryTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5762AF186D500DF9129 /* PFInventoryTypes.h */; }; + 826AE5CC2AF186D500DF9129 /* PFGroupsTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5772AF186D500DF9129 /* PFGroupsTypes.h */; }; + 826AE5CD2AF186D500DF9129 /* PFTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE57B2AF186D500DF9129 /* PFTypes.h */; }; + 826AE5CE2AF186D500DF9129 /* PFSegmentsTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE57C2AF186D500DF9129 /* PFSegmentsTypes.h */; }; + 826AE5CF2AF186D500DF9129 /* PFSegments.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE57D2AF186D500DF9129 /* PFSegments.h */; }; + 826AE5D02AF186D500DF9129 /* PFTitleDataManagement.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE57E2AF186D500DF9129 /* PFTitleDataManagement.h */; }; + 826AE5D12AF186D500DF9129 /* PFInventory.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE57F2AF186D500DF9129 /* PFInventory.h */; }; + 826AE5D22AF186D500DF9129 /* PFDataTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5802AF186D500DF9129 /* PFDataTypes.h */; }; + 826AE5D32AF186D500DF9129 /* PFAccountManagement.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5812AF186D500DF9129 /* PFAccountManagement.h */; }; + 826AE5D42AF186D500DF9129 /* PFExperimentation.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5822AF186D500DF9129 /* PFExperimentation.h */; }; + 826AE5D52AF186D500DF9129 /* PFMultiplayerServerTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5832AF186D500DF9129 /* PFMultiplayerServerTypes.h */; }; + 826AE5D62AF186D500DF9129 /* PFFriends.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5842AF186D500DF9129 /* PFFriends.h */; }; + 826AE5D72AF186D500DF9129 /* PFCatalogTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5852AF186D500DF9129 /* PFCatalogTypes.h */; }; + 826AE5D82AF186D500DF9129 /* PFProfiles.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5862AF186D500DF9129 /* PFProfiles.h */; }; + 826AE5D92AF186D500DF9129 /* PFData.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5872AF186D500DF9129 /* PFData.h */; }; + 826AE5DA2AF186D500DF9129 /* PFTitleDataManagementTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5882AF186D500DF9129 /* PFTitleDataManagementTypes.h */; }; + 826AE5DB2AF186D500DF9129 /* PFCloudScript.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5892AF186D500DF9129 /* PFCloudScript.h */; }; + 826AE5DC2AF186D500DF9129 /* PFCatalog.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE58A2AF186D500DF9129 /* PFCatalog.h */; }; + 826AE5DD2AF186D500DF9129 /* PFCloudScriptTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE58B2AF186D500DF9129 /* PFCloudScriptTypes.h */; }; + 826AE5DE2AF186D500DF9129 /* PFPlayerDataManagement.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE58C2AF186D500DF9129 /* PFPlayerDataManagement.h */; }; + 826AE5DF2AF186D500DF9129 /* PFExperimentationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE58D2AF186D500DF9129 /* PFExperimentationTypes.h */; }; + 826AE5E02AF186D500DF9129 /* PFFriendsTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE58E2AF186D500DF9129 /* PFFriendsTypes.h */; }; + 826AE5E12AF186D500DF9129 /* PFAccountManagementTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE58F2AF186D500DF9129 /* PFAccountManagementTypes.h */; }; + 826AE5E22AF186D500DF9129 /* PFMultiplayerServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5902AF186D500DF9129 /* PFMultiplayerServer.h */; }; + 826AE5E32AF186D500DF9129 /* PFProfilesTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5912AF186D500DF9129 /* PFProfilesTypes.h */; }; + 826AE5E42AF186D500DF9129 /* PFServices.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5922AF186D500DF9129 /* PFServices.h */; }; + 826AE5E52AF186D500DF9129 /* PFGroups.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5932AF186D500DF9129 /* PFGroups.h */; }; + 826AE5E62AF186D500DF9129 /* PFPlayerDataManagementTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5942AF186D500DF9129 /* PFPlayerDataManagementTypes.h */; }; + 826AE5E72AF186D500DF9129 /* PFInventoryTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5952AF186D500DF9129 /* PFInventoryTypes.h */; }; + 826AE5E82AF186D500DF9129 /* PFGroupsTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5962AF186D500DF9129 /* PFGroupsTypes.h */; }; + 826AE6542AF1871C00DF9129 /* PlatformSpecificTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5EB2AF1871C00DF9129 /* PlatformSpecificTypes.h */; }; + 826AE6552AF1871C00DF9129 /* Groups.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE5EC2AF1871C00DF9129 /* Groups.cpp */; }; + 826AE6562AF1871C00DF9129 /* ExperimentationTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE5ED2AF1871C00DF9129 /* ExperimentationTypes.cpp */; }; + 826AE6572AF1871C00DF9129 /* ProfilesTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5EE2AF1871C00DF9129 /* ProfilesTypes.h */; }; + 826AE6582AF1871C00DF9129 /* CharacterTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5EF2AF1871C00DF9129 /* CharacterTypes.h */; }; + 826AE6592AF1871C00DF9129 /* Localization.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5F02AF1871C00DF9129 /* Localization.h */; }; + 826AE65A2AF1871C00DF9129 /* InventoryTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE5F12AF1871C00DF9129 /* InventoryTypes.cpp */; }; + 826AE65B2AF1871C00DF9129 /* CatalogTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE5F22AF1871C00DF9129 /* CatalogTypes.cpp */; }; + 826AE65C2AF1871C00DF9129 /* Segments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE5F32AF1871C00DF9129 /* Segments.cpp */; }; + 826AE65D2AF1871C00DF9129 /* InventoryTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5F42AF1871C00DF9129 /* InventoryTypes.h */; }; + 826AE65E2AF1871C00DF9129 /* AccountManagementTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE5F52AF1871C00DF9129 /* AccountManagementTypes.cpp */; }; + 826AE6602AF1871C00DF9129 /* Profiles.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5F72AF1871C00DF9129 /* Profiles.h */; }; + 826AE6612AF1871C00DF9129 /* TitleDataManagementTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5F82AF1871C00DF9129 /* TitleDataManagementTypes.h */; }; + 826AE6622AF1871C00DF9129 /* PFCloudScript.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE5F92AF1871C00DF9129 /* PFCloudScript.cpp */; }; + 826AE6632AF1871C00DF9129 /* Friends.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5FA2AF1871C00DF9129 /* Friends.h */; }; + 826AE6642AF1871C00DF9129 /* PFMultiplayerServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE5FB2AF1871C00DF9129 /* PFMultiplayerServer.cpp */; }; + 826AE6652AF1871C00DF9129 /* GroupsTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE5FC2AF1871C00DF9129 /* GroupsTypes.cpp */; }; + 826AE6662AF1871C00DF9129 /* CatalogTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5FD2AF1871C00DF9129 /* CatalogTypes.h */; }; + 826AE6672AF1871C00DF9129 /* AccountManagementTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5FE2AF1871C00DF9129 /* AccountManagementTypes.h */; }; + 826AE6682AF1871C00DF9129 /* PFPlayerDataManagement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE5FF2AF1871C00DF9129 /* PFPlayerDataManagement.cpp */; }; + 826AE6692AF1871C00DF9129 /* PushNotificationsTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6002AF1871C00DF9129 /* PushNotificationsTypes.cpp */; }; + 826AE66B2AF1871C00DF9129 /* Profiles.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6022AF1871C00DF9129 /* Profiles.cpp */; }; + 826AE66C2AF1871C00DF9129 /* CloudScript.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6032AF1871C00DF9129 /* CloudScript.h */; }; + 826AE66E2AF1871C00DF9129 /* Data.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6052AF1871C00DF9129 /* Data.h */; }; + 826AE66F2AF1871C00DF9129 /* LocalizationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6062AF1871C00DF9129 /* LocalizationTypes.h */; }; + 826AE6702AF1871C00DF9129 /* PFTitleDataManagement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6072AF1871C00DF9129 /* PFTitleDataManagement.cpp */; }; + 826AE6712AF1871C00DF9129 /* Experimentation.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6082AF1871C00DF9129 /* Experimentation.h */; }; + 826AE6722AF1871C00DF9129 /* TitleDataManagementTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6092AF1871C00DF9129 /* TitleDataManagementTypes.cpp */; }; + 826AE6732AF1871C00DF9129 /* PlayerDataManagementTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE60A2AF1871C00DF9129 /* PlayerDataManagementTypes.h */; }; + 826AE6742AF1871C00DF9129 /* Friends.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE60B2AF1871C00DF9129 /* Friends.cpp */; }; + 826AE6752AF1871C00DF9129 /* Localization.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE60C2AF1871C00DF9129 /* Localization.cpp */; }; + 826AE6762AF1871C00DF9129 /* PFInventory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE60D2AF1871C00DF9129 /* PFInventory.cpp */; }; + 826AE6772AF1871C00DF9129 /* TitleDataManagement.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE60E2AF1871C00DF9129 /* TitleDataManagement.h */; }; + 826AE6782AF1871C00DF9129 /* CloudScriptTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE60F2AF1871C00DF9129 /* CloudScriptTypes.h */; }; + 826AE6792AF1871C00DF9129 /* MultiplayerServerTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6102AF1871C00DF9129 /* MultiplayerServerTypes.h */; }; + 826AE67A2AF1871C00DF9129 /* Catalog.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6112AF1871C00DF9129 /* Catalog.h */; }; + 826AE67B2AF1871C00DF9129 /* PlatformSpecific.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6122AF1871C00DF9129 /* PlatformSpecific.cpp */; }; + 826AE67D2AF1871C00DF9129 /* FriendsTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6142AF1871C00DF9129 /* FriendsTypes.h */; }; + 826AE67E2AF1871C00DF9129 /* CacheId.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6152AF1871C00DF9129 /* CacheId.h */; }; + 826AE67F2AF1871C00DF9129 /* PFCatalog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6162AF1871C00DF9129 /* PFCatalog.cpp */; }; + 826AE6802AF1871C00DF9129 /* GroupsTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6172AF1871C00DF9129 /* GroupsTypes.h */; }; + 826AE6812AF1871C00DF9129 /* PFData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6182AF1871C00DF9129 /* PFData.cpp */; }; + 826AE6822AF1871C00DF9129 /* DataTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6192AF1871C00DF9129 /* DataTypes.cpp */; }; + 826AE6832AF1871C00DF9129 /* Data.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE61A2AF1871C00DF9129 /* Data.cpp */; }; + 826AE6842AF1871C00DF9129 /* AccountManagement.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE61B2AF1871C00DF9129 /* AccountManagement.h */; }; + 826AE6852AF1871C00DF9129 /* MultiplayerServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE61C2AF1871C00DF9129 /* MultiplayerServer.cpp */; }; + 826AE6862AF1871C00DF9129 /* LocalizationTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE61D2AF1871C00DF9129 /* LocalizationTypes.cpp */; }; + 826AE6872AF1871C00DF9129 /* Inventory.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE61E2AF1871C00DF9129 /* Inventory.h */; }; + 826AE6882AF1871C00DF9129 /* PlatformSpecificTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE61F2AF1871C00DF9129 /* PlatformSpecificTypes.cpp */; }; + 826AE6892AF1871C00DF9129 /* DataTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6202AF1871C00DF9129 /* DataTypes.h */; }; + 826AE68A2AF1871C00DF9129 /* FriendsTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6212AF1871C00DF9129 /* FriendsTypes.cpp */; }; + 826AE68B2AF1871C00DF9129 /* CoreTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6222AF1871C00DF9129 /* CoreTypes.cpp */; }; + 826AE68C2AF1871C00DF9129 /* PushNotificationsTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6232AF1871C00DF9129 /* PushNotificationsTypes.h */; }; + 826AE68D2AF1871C00DF9129 /* Segments.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6242AF1871C00DF9129 /* Segments.h */; }; + 826AE68E2AF1871C00DF9129 /* PlatformSpecific.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6252AF1871C00DF9129 /* PlatformSpecific.h */; }; + 826AE68F2AF1871C00DF9129 /* PushNotifications.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6262AF1871C00DF9129 /* PushNotifications.h */; }; + 826AE6902AF1871C00DF9129 /* PFPlatformSpecific.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6272AF1871C00DF9129 /* PFPlatformSpecific.cpp */; }; + 826AE6912AF1871C00DF9129 /* PFGroups.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6282AF1871C00DF9129 /* PFGroups.cpp */; }; + 826AE6922AF1871C00DF9129 /* CloudScriptTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6292AF1871C00DF9129 /* CloudScriptTypes.cpp */; }; + 826AE6932AF1871C00DF9129 /* PFPushNotifications.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE62A2AF1871C00DF9129 /* PFPushNotifications.cpp */; }; + 826AE6942AF1871C00DF9129 /* PFLocalization.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE62B2AF1871C00DF9129 /* PFLocalization.cpp */; }; + 826AE6952AF1871C00DF9129 /* PFAccountManagement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE62C2AF1871C00DF9129 /* PFAccountManagement.cpp */; }; + 826AE6962AF1871C00DF9129 /* MultiplayerServerTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE62D2AF1871C00DF9129 /* MultiplayerServerTypes.cpp */; }; + 826AE6972AF1871C00DF9129 /* TitleDataManagement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE62E2AF1871C00DF9129 /* TitleDataManagement.cpp */; }; + 826AE6982AF1871C00DF9129 /* SegmentsTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE62F2AF1871C00DF9129 /* SegmentsTypes.cpp */; }; + 826AE6992AF1871C00DF9129 /* PFCharacter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6302AF1871C00DF9129 /* PFCharacter.cpp */; }; + 826AE69A2AF1871C00DF9129 /* CloudScript.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6312AF1871C00DF9129 /* CloudScript.cpp */; }; + 826AE69B2AF1871C00DF9129 /* Catalog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6322AF1871C00DF9129 /* Catalog.cpp */; }; + 826AE69C2AF1871C00DF9129 /* PFProfiles.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6332AF1871C00DF9129 /* PFProfiles.cpp */; }; + 826AE69D2AF1871C00DF9129 /* PlayerDataManagement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6342AF1871C00DF9129 /* PlayerDataManagement.cpp */; }; + 826AE69E2AF1871C00DF9129 /* ProfilesTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6352AF1871C00DF9129 /* ProfilesTypes.cpp */; }; + 826AE69F2AF1871C00DF9129 /* PFSegments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6362AF1871C00DF9129 /* PFSegments.cpp */; }; + 826AE6A02AF1871C00DF9129 /* PFFriends.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6372AF1871C00DF9129 /* PFFriends.cpp */; }; + 826AE6A12AF1871C00DF9129 /* CharacterTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6382AF1871C00DF9129 /* CharacterTypes.cpp */; }; + 826AE6A22AF1871C00DF9129 /* AccountManagement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6392AF1871C00DF9129 /* AccountManagement.cpp */; }; + 826AE6A32AF1871C00DF9129 /* Inventory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE63A2AF1871C00DF9129 /* Inventory.cpp */; }; + 826AE6A42AF1871C00DF9129 /* MultiplayerServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE63B2AF1871C00DF9129 /* MultiplayerServer.h */; }; + 826AE6A52AF1871C00DF9129 /* CoreTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE63C2AF1871C00DF9129 /* CoreTypes.h */; }; + 826AE6A62AF1871C00DF9129 /* PlayerDataManagement.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE63D2AF1871C00DF9129 /* PlayerDataManagement.h */; }; + 826AE6A72AF1871C00DF9129 /* Experimentation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE63E2AF1871C00DF9129 /* Experimentation.cpp */; }; + 826AE6A82AF1871C00DF9129 /* SegmentsTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE63F2AF1871C00DF9129 /* SegmentsTypes.h */; }; + 826AE6A92AF1871C00DF9129 /* Groups.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6402AF1871C00DF9129 /* Groups.h */; }; + 826AE6AA2AF1871C00DF9129 /* ExperimentationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6412AF1871C00DF9129 /* ExperimentationTypes.h */; }; + 826AE6AB2AF1871C00DF9129 /* PlayerDataManagementTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6422AF1871C00DF9129 /* PlayerDataManagementTypes.cpp */; }; + 826AE6AC2AF1871C00DF9129 /* PFExperimentation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6432AF1871C00DF9129 /* PFExperimentation.cpp */; }; + 826AE6AD2AF1871C00DF9129 /* PushNotifications.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6442AF1871C00DF9129 /* PushNotifications.cpp */; }; + 82B3CB292B5B016B00337232 /* FriendsTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6142AF1871C00DF9129 /* FriendsTypes.h */; }; + 82B3CB2A2B5B016B00337232 /* TypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5542AF186D500DF9129 /* TypeWrappers.h */; }; + 82B3CB2B2B5B016B00337232 /* Inventory.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE61E2AF1871C00DF9129 /* Inventory.h */; }; + 82B3CB2C2B5B016B00337232 /* PFPlayerDataManagementTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5942AF186D500DF9129 /* PFPlayerDataManagementTypes.h */; }; + 82B3CB2D2B5B016B00337232 /* PFFriends.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE54E2AF186D500DF9129 /* PFFriends.h */; }; + 82B3CB2E2B5B016B00337232 /* PFTitleDataManagementTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5882AF186D500DF9129 /* PFTitleDataManagementTypes.h */; }; + 82B3CB2F2B5B016B00337232 /* CloudScriptTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5572AF186D500DF9129 /* CloudScriptTypeWrappers.h */; }; + 82B3CB302B5B016B00337232 /* PFServices.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE4C72AF1867400DF9129 /* PFServices.h */; }; + 82B3CB312B5B016B00337232 /* PlayerDataManagement.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE63D2AF1871C00DF9129 /* PlayerDataManagement.h */; }; + 82B3CB322B5B016B00337232 /* PlatformSpecificTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5EB2AF1871C00DF9129 /* PlatformSpecificTypes.h */; }; + 82B3CB332B5B016B00337232 /* PFCharacterTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5722AF186D500DF9129 /* PFCharacterTypes.h */; }; + 82B3CB342B5B016B00337232 /* PFPlayerDataManagementTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5752AF186D500DF9129 /* PFPlayerDataManagementTypes.h */; }; + 82B3CB352B5B016B00337232 /* PFInventory.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5462AF186D500DF9129 /* PFInventory.h */; }; + 82B3CB362B5B016B00337232 /* PFSegmentsTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE57C2AF186D500DF9129 /* PFSegmentsTypes.h */; }; + 82B3CB372B5B016B00337232 /* PFCatalogTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE54F2AF186D500DF9129 /* PFCatalogTypes.h */; }; + 82B3CB382B5B016B00337232 /* PFSegments.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE57D2AF186D500DF9129 /* PFSegments.h */; }; + 82B3CB392B5B016B00337232 /* PFGroupsTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5772AF186D500DF9129 /* PFGroupsTypes.h */; }; + 82B3CB3A2B5B016B00337232 /* PFData.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5872AF186D500DF9129 /* PFData.h */; }; + 82B3CB3B2B5B016B00337232 /* PFDataTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5472AF186D500DF9129 /* PFDataTypes.h */; }; + 82B3CB3C2B5B016B00337232 /* PFExperimentation.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE54B2AF186D500DF9129 /* PFExperimentation.h */; }; + 82B3CB3D2B5B016B00337232 /* PFCloudScriptTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE56A2AF186D500DF9129 /* PFCloudScriptTypes.h */; }; + 82B3CB3E2B5B016B00337232 /* Groups.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6402AF1871C00DF9129 /* Groups.h */; }; + 82B3CB3F2B5B016B00337232 /* PlayerDataManagementTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE60A2AF1871C00DF9129 /* PlayerDataManagementTypes.h */; }; + 82B3CB402B5B016B00337232 /* PFMultiplayerServerTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5832AF186D500DF9129 /* PFMultiplayerServerTypes.h */; }; + 82B3CB412B5B016B00337232 /* PFCloudScript.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5892AF186D500DF9129 /* PFCloudScript.h */; }; + 82B3CB422B5B016B00337232 /* TitleDataManagement.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE60E2AF1871C00DF9129 /* TitleDataManagement.h */; }; + 82B3CB432B5B016B00337232 /* ExperimentationTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5592AF186D500DF9129 /* ExperimentationTypeWrappers.h */; }; + 82B3CB442B5B016B00337232 /* PFPlayerDataManagement.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE58C2AF186D500DF9129 /* PFPlayerDataManagement.h */; }; + 82B3CB452B5B016B00337232 /* Platform.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE3B92AF1841900DF9129 /* Platform.h */; }; + 82B3CB462B5B016B00337232 /* DataTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6202AF1871C00DF9129 /* DataTypes.h */; }; + 82B3CB472B5B016B00337232 /* HttpClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE3B62AF1841900DF9129 /* HttpClient.h */; }; + 82B3CB482B5B016B00337232 /* PFAccountManagementTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE56F2AF186D500DF9129 /* PFAccountManagementTypes.h */; }; + 82B3CB492B5B016B00337232 /* PlatformSpecificTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5612AF186D500DF9129 /* PlatformSpecificTypeWrappers.h */; }; + 82B3CB4A2B5B016B00337232 /* PFGroups.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5932AF186D500DF9129 /* PFGroups.h */; }; + 82B3CB4B2B5B016B00337232 /* PFFriendsTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE58E2AF186D500DF9129 /* PFFriendsTypes.h */; }; + 82B3CB4C2B5B016B00337232 /* PFExperimentationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE56D2AF186D500DF9129 /* PFExperimentationTypes.h */; }; + 82B3CB4D2B5B016B00337232 /* PFGroupsTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5962AF186D500DF9129 /* PFGroupsTypes.h */; }; + 82B3CB4E2B5B016B00337232 /* PFAccountManagement.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5812AF186D500DF9129 /* PFAccountManagement.h */; }; + 82B3CB4F2B5B016B00337232 /* PFCatalog.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5692AF186D500DF9129 /* PFCatalog.h */; }; + 82B3CB502B5B016B00337232 /* PFLocalizationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5482AF186D500DF9129 /* PFLocalizationTypes.h */; }; + 82B3CB512B5B016B00337232 /* PFSegmentsTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5422AF186D500DF9129 /* PFSegmentsTypes.h */; }; + 82B3CB522B5B016B00337232 /* PFProfilesTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5712AF186D500DF9129 /* PFProfilesTypes.h */; }; + 82B3CB532B5B016B00337232 /* PFCloudScriptTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE58B2AF186D500DF9129 /* PFCloudScriptTypes.h */; }; + 82B3CB542B5B016B00337232 /* PFLocalization.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5632AF186D500DF9129 /* PFLocalization.h */; }; + 82B3CB552B5B016B00337232 /* ExperimentationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6412AF1871C00DF9129 /* ExperimentationTypes.h */; }; + 82B3CB562B5B016B00337232 /* stdafx.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE3B22AF1841900DF9129 /* stdafx.h */; }; + 82B3CB572B5B016B00337232 /* PFPushNotifications.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5642AF186D500DF9129 /* PFPushNotifications.h */; }; + 82B3CB582B5B016B00337232 /* PFGroups.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5742AF186D500DF9129 /* PFGroups.h */; }; + 82B3CB592B5B016B00337232 /* Friends.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5FA2AF1871C00DF9129 /* Friends.h */; }; + 82B3CB5A2B5B016B00337232 /* ProfilesTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5602AF186D500DF9129 /* ProfilesTypeWrappers.h */; }; + 82B3CB5B2B5B016B00337232 /* PFInventory.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE57F2AF186D500DF9129 /* PFInventory.h */; }; + 82B3CB5C2B5B016B00337232 /* GroupsTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6172AF1871C00DF9129 /* GroupsTypes.h */; }; + 82B3CB5D2B5B016B00337232 /* PFTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5412AF186D500DF9129 /* PFTypes.h */; }; + 82B3CB5E2B5B016B00337232 /* PFPlayerDataManagement.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE56B2AF186D500DF9129 /* PFPlayerDataManagement.h */; }; + 82B3CB5F2B5B016B00337232 /* PFAccountManagementTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE58F2AF186D500DF9129 /* PFAccountManagementTypes.h */; }; + 82B3CB602B5B016B00337232 /* PFPushNotificationsTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5492AF186D500DF9129 /* PFPushNotificationsTypes.h */; }; + 82B3CB612B5B016B00337232 /* CatalogTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5FD2AF1871C00DF9129 /* CatalogTypes.h */; }; + 82B3CB622B5B016B00337232 /* PFData.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5662AF186D500DF9129 /* PFData.h */; }; + 82B3CB632B5B016B00337232 /* Segments.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6242AF1871C00DF9129 /* Segments.h */; }; + 82B3CB642B5B016B00337232 /* PFTitleDataManagement.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5442AF186D500DF9129 /* PFTitleDataManagement.h */; }; + 82B3CB652B5B016B00337232 /* PlatformSpecific.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6252AF1871C00DF9129 /* PlatformSpecific.h */; }; + 82B3CB662B5B016B00337232 /* PFTitleDataManagement.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE57E2AF186D500DF9129 /* PFTitleDataManagement.h */; }; + 82B3CB672B5B016B00337232 /* CloudScriptTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE60F2AF1871C00DF9129 /* CloudScriptTypes.h */; }; + 82B3CB682B5B016B00337232 /* MultiplayerServerTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6102AF1871C00DF9129 /* MultiplayerServerTypes.h */; }; + 82B3CB692B5B016B00337232 /* Experimentation.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6082AF1871C00DF9129 /* Experimentation.h */; }; + 82B3CB6A2B5B016B00337232 /* PFInventoryTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5952AF186D500DF9129 /* PFInventoryTypes.h */; }; + 82B3CB6B2B5B016B00337232 /* CacheId.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6152AF1871C00DF9129 /* CacheId.h */; }; + 82B3CB6C2B5B016B00337232 /* PFDataTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5802AF186D500DF9129 /* PFDataTypes.h */; }; + 82B3CB6D2B5B016B00337232 /* LocalizationTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE55B2AF186D500DF9129 /* LocalizationTypeWrappers.h */; }; + 82B3CB6E2B5B016B00337232 /* MultiplayerServerTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5512AF186D500DF9129 /* MultiplayerServerTypeWrappers.h */; }; + 82B3CB6F2B5B016B00337232 /* PFExperimentationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE58D2AF186D500DF9129 /* PFExperimentationTypes.h */; }; + 82B3CB702B5B016B00337232 /* AccountManagement.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE61B2AF1871C00DF9129 /* AccountManagement.h */; }; + 82B3CB712B5B016B00337232 /* PFPlatformSpecific.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5452AF186D500DF9129 /* PFPlatformSpecific.h */; }; + 82B3CB722B5B016B00337232 /* SegmentsTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5582AF186D500DF9129 /* SegmentsTypeWrappers.h */; }; + 82B3CB732B5B016B00337232 /* PFCatalogTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5852AF186D500DF9129 /* PFCatalogTypes.h */; }; + 82B3CB742B5B016B00337232 /* AccountManagementTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5532AF186D500DF9129 /* AccountManagementTypeWrappers.h */; }; + 82B3CB752B5B016B00337232 /* PushNotifications.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6262AF1871C00DF9129 /* PushNotifications.h */; }; + 82B3CB762B5B016B00337232 /* PFCatalog.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE58A2AF186D500DF9129 /* PFCatalog.h */; }; + 82B3CB772B5B016B00337232 /* PFServices.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5922AF186D500DF9129 /* PFServices.h */; }; + 82B3CB782B5B016B00337232 /* InventoryTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE55E2AF186D500DF9129 /* InventoryTypeWrappers.h */; }; + 82B3CB792B5B016B00337232 /* PushNotificationsTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6232AF1871C00DF9129 /* PushNotificationsTypes.h */; }; + 82B3CB7A2B5B016B00337232 /* PFPlatformSpecificTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE54D2AF186D500DF9129 /* PFPlatformSpecificTypes.h */; }; + 82B3CB7B2B5B016B00337232 /* Catalog.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6112AF1871C00DF9129 /* Catalog.h */; }; + 82B3CB7C2B5B016B00337232 /* TitleDataManagementTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE55C2AF186D500DF9129 /* TitleDataManagementTypeWrappers.h */; }; + 82B3CB7D2B5B016B00337232 /* FriendsTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5622AF186D500DF9129 /* FriendsTypeWrappers.h */; }; + 82B3CB7E2B5B016B00337232 /* PFAccountManagement.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE54A2AF186D500DF9129 /* PFAccountManagement.h */; }; + 82B3CB7F2B5B016B00337232 /* InventoryTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5F42AF1871C00DF9129 /* InventoryTypes.h */; }; + 82B3CB802B5B016B00337232 /* AccountManagementTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5FE2AF1871C00DF9129 /* AccountManagementTypes.h */; }; + 82B3CB812B5B016B00337232 /* PFProfilesTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5912AF186D500DF9129 /* PFProfilesTypes.h */; }; + 82B3CB822B5B016B00337232 /* PFTitleDataManagementTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5672AF186D500DF9129 /* PFTitleDataManagementTypes.h */; }; + 82B3CB832B5B016B00337232 /* CloudScript.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6032AF1871C00DF9129 /* CloudScript.h */; }; + 82B3CB842B5B016B00337232 /* Profiles.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5F72AF1871C00DF9129 /* Profiles.h */; }; + 82B3CB852B5B016B00337232 /* PushNotificationsTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE55F2AF186D500DF9129 /* PushNotificationsTypeWrappers.h */; }; + 82B3CB862B5B016B00337232 /* Localization.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5F02AF1871C00DF9129 /* Localization.h */; }; + 82B3CB872B5B016B00337232 /* CoreTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE63C2AF1871C00DF9129 /* CoreTypes.h */; }; + 82B3CB882B5B016B00337232 /* PFMultiplayerServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5702AF186D500DF9129 /* PFMultiplayerServer.h */; }; + 82B3CB892B5B016B00337232 /* PFTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE57B2AF186D500DF9129 /* PFTypes.h */; }; + 82B3CB8A2B5B016B00337232 /* PFSegments.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5432AF186D500DF9129 /* PFSegments.h */; }; + 82B3CB8B2B5B016B00337232 /* PlayerDataManagementTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE55D2AF186D500DF9129 /* PlayerDataManagementTypeWrappers.h */; }; + 82B3CB8C2B5B016B00337232 /* PFCharacter.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE56C2AF186D500DF9129 /* PFCharacter.h */; }; + 82B3CB8D2B5B016B00337232 /* DataTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5522AF186D500DF9129 /* DataTypeWrappers.h */; }; + 82B3CB8E2B5B016B00337232 /* GlobalState.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE3B42AF1841900DF9129 /* GlobalState.h */; }; + 82B3CB8F2B5B016B00337232 /* PFFriendsTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE56E2AF186D500DF9129 /* PFFriendsTypes.h */; }; + 82B3CB902B5B016B00337232 /* CatalogTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5562AF186D500DF9129 /* CatalogTypeWrappers.h */; }; + 82B3CB912B5B016B00337232 /* PFInventoryTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5762AF186D500DF9129 /* PFInventoryTypes.h */; }; + 82B3CB922B5B016B00337232 /* Data.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6052AF1871C00DF9129 /* Data.h */; }; + 82B3CB932B5B016B00337232 /* PFMultiplayerServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5902AF186D500DF9129 /* PFMultiplayerServer.h */; }; + 82B3CB942B5B016B00337232 /* ProfilesTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5EE2AF1871C00DF9129 /* ProfilesTypes.h */; }; + 82B3CB952B5B016B00337232 /* LocalizationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE6062AF1871C00DF9129 /* LocalizationTypes.h */; }; + 82B3CB962B5B016B00337232 /* SegmentsTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE63F2AF1871C00DF9129 /* SegmentsTypes.h */; }; + 82B3CB972B5B016B00337232 /* PFProfiles.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5652AF186D500DF9129 /* PFProfiles.h */; }; + 82B3CB982B5B016B00337232 /* CharacterTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5EF2AF1871C00DF9129 /* CharacterTypes.h */; }; + 82B3CB992B5B016B00337232 /* GroupsTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5552AF186D500DF9129 /* GroupsTypeWrappers.h */; }; + 82B3CB9A2B5B016B00337232 /* CharacterTypeWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE55A2AF186D500DF9129 /* CharacterTypeWrappers.h */; }; + 82B3CB9B2B5B016B00337232 /* PFFriends.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5842AF186D500DF9129 /* PFFriends.h */; }; + 82B3CB9C2B5B016B00337232 /* PFCloudScript.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5682AF186D500DF9129 /* PFCloudScript.h */; }; + 82B3CB9D2B5B016B00337232 /* TitleDataManagementTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5F82AF1871C00DF9129 /* TitleDataManagementTypes.h */; }; + 82B3CB9E2B5B016B00337232 /* PFMultiplayerServerTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE54C2AF186D500DF9129 /* PFMultiplayerServerTypes.h */; }; + 82B3CB9F2B5B016B00337232 /* MultiplayerServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE63B2AF1871C00DF9129 /* MultiplayerServer.h */; }; + 82B3CBA02B5B016B00337232 /* PFProfiles.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5862AF186D500DF9129 /* PFProfiles.h */; }; + 82B3CBA12B5B016B00337232 /* PFExperimentation.h in Headers */ = {isa = PBXBuildFile; fileRef = 826AE5822AF186D500DF9129 /* PFExperimentation.h */; }; + 82B3CBA32B5B016B00337232 /* Inventory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE63A2AF1871C00DF9129 /* Inventory.cpp */; }; + 82B3CBA42B5B016B00337232 /* AccountManagement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6392AF1871C00DF9129 /* AccountManagement.cpp */; }; + 82B3CBA52B5B016B00337232 /* PushNotificationsTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6002AF1871C00DF9129 /* PushNotificationsTypes.cpp */; }; + 82B3CBA62B5B016B00337232 /* TitleDataManagementTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6092AF1871C00DF9129 /* TitleDataManagementTypes.cpp */; }; + 82B3CBA72B5B016B00337232 /* PFCatalog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6162AF1871C00DF9129 /* PFCatalog.cpp */; }; + 82B3CBA82B5B016B00337232 /* PFExperimentation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6432AF1871C00DF9129 /* PFExperimentation.cpp */; }; + 82B3CBA92B5B016B00337232 /* PlayerDataManagement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6342AF1871C00DF9129 /* PlayerDataManagement.cpp */; }; + 82B3CBAA2B5B016B00337232 /* Groups.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE5EC2AF1871C00DF9129 /* Groups.cpp */; }; + 82B3CBAB2B5B016B00337232 /* MultiplayerServerTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE62D2AF1871C00DF9129 /* MultiplayerServerTypes.cpp */; }; + 82B3CBAC2B5B016B00337232 /* ProfilesTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6352AF1871C00DF9129 /* ProfilesTypes.cpp */; }; + 82B3CBAD2B5B016B00337232 /* PFCloudScript.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE5F92AF1871C00DF9129 /* PFCloudScript.cpp */; }; + 82B3CBAE2B5B016B00337232 /* PlayerDataManagementTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6422AF1871C00DF9129 /* PlayerDataManagementTypes.cpp */; }; + 82B3CBAF2B5B016B00337232 /* CatalogTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE5F22AF1871C00DF9129 /* CatalogTypes.cpp */; }; + 82B3CBB02B5B016B00337232 /* Experimentation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE63E2AF1871C00DF9129 /* Experimentation.cpp */; }; + 82B3CBB12B5B016B00337232 /* ExperimentationTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE5ED2AF1871C00DF9129 /* ExperimentationTypes.cpp */; }; + 82B3CBB22B5B016B00337232 /* Friends.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE60B2AF1871C00DF9129 /* Friends.cpp */; }; + 82B3CBB32B5B016B00337232 /* CharacterTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6382AF1871C00DF9129 /* CharacterTypes.cpp */; }; + 82B3CBB42B5B016B00337232 /* CloudScript.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6312AF1871C00DF9129 /* CloudScript.cpp */; }; + 82B3CBB62B5B016B00337232 /* InventoryTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE5F12AF1871C00DF9129 /* InventoryTypes.cpp */; }; + 82B3CBB72B5B016B00337232 /* Segments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE5F32AF1871C00DF9129 /* Segments.cpp */; }; + 82B3CBB82B5B016B00337232 /* PFPlatformSpecific.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6272AF1871C00DF9129 /* PFPlatformSpecific.cpp */; }; + 82B3CBB92B5B016B00337232 /* PFMultiplayerServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE5FB2AF1871C00DF9129 /* PFMultiplayerServer.cpp */; }; + 82B3CBBA2B5B016B00337232 /* CoreTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6222AF1871C00DF9129 /* CoreTypes.cpp */; }; + 82B3CBBB2B5B016B00337232 /* CloudScriptTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6292AF1871C00DF9129 /* CloudScriptTypes.cpp */; }; + 82B3CBBC2B5B016B00337232 /* Profiles.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6022AF1871C00DF9129 /* Profiles.cpp */; }; + 82B3CBBD2B5B016B00337232 /* PFPlayerDataManagement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE5FF2AF1871C00DF9129 /* PFPlayerDataManagement.cpp */; }; + 82B3CBBE2B5B016B00337232 /* PlatformSpecificTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE61F2AF1871C00DF9129 /* PlatformSpecificTypes.cpp */; }; + 82B3CBBF2B5B016B00337232 /* Localization.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE60C2AF1871C00DF9129 /* Localization.cpp */; }; + 82B3CBC02B5B016B00337232 /* PFLocalization.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE62B2AF1871C00DF9129 /* PFLocalization.cpp */; }; + 82B3CBC12B5B016B00337232 /* PFProfiles.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6332AF1871C00DF9129 /* PFProfiles.cpp */; }; + 82B3CBC22B5B016B00337232 /* PFData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6182AF1871C00DF9129 /* PFData.cpp */; }; + 82B3CBC32B5B016B00337232 /* PFInventory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE60D2AF1871C00DF9129 /* PFInventory.cpp */; }; + 82B3CBC42B5B016B00337232 /* HttpClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE3B82AF1841900DF9129 /* HttpClient.cpp */; }; + 82B3CBC52B5B016B00337232 /* PushNotifications.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6442AF1871C00DF9129 /* PushNotifications.cpp */; }; + 82B3CBC62B5B016B00337232 /* PFAccountManagement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE62C2AF1871C00DF9129 /* PFAccountManagement.cpp */; }; + 82B3CBC72B5B016B00337232 /* LocalizationTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE61D2AF1871C00DF9129 /* LocalizationTypes.cpp */; }; + 82B3CBC82B5B016B00337232 /* GlobalState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE3B52AF1841900DF9129 /* GlobalState.cpp */; }; + 82B3CBC92B5B016B00337232 /* PFCharacter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6302AF1871C00DF9129 /* PFCharacter.cpp */; }; + 82B3CBCA2B5B016B00337232 /* Data.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE61A2AF1871C00DF9129 /* Data.cpp */; }; + 82B3CBCB2B5B016B00337232 /* PFFriends.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6372AF1871C00DF9129 /* PFFriends.cpp */; }; + 82B3CBCC2B5B016B00337232 /* AccountManagementTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE5F52AF1871C00DF9129 /* AccountManagementTypes.cpp */; }; + 82B3CBCD2B5B016B00337232 /* TitleDataManagement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE62E2AF1871C00DF9129 /* TitleDataManagement.cpp */; }; + 82B3CBCE2B5B016B00337232 /* PFSegments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6362AF1871C00DF9129 /* PFSegments.cpp */; }; + 82B3CBCF2B5B016B00337232 /* PFServices.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE3BB2AF1841900DF9129 /* PFServices.cpp */; }; + 82B3CBD02B5B016B00337232 /* PFPushNotifications.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE62A2AF1871C00DF9129 /* PFPushNotifications.cpp */; }; + 82B3CBD12B5B016B00337232 /* DataTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6192AF1871C00DF9129 /* DataTypes.cpp */; }; + 82B3CBD22B5B016B00337232 /* PlatformSpecific.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6122AF1871C00DF9129 /* PlatformSpecific.cpp */; }; + 82B3CBD32B5B016B00337232 /* SegmentsTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE62F2AF1871C00DF9129 /* SegmentsTypes.cpp */; }; + 82B3CBD42B5B016B00337232 /* FriendsTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6212AF1871C00DF9129 /* FriendsTypes.cpp */; }; + 82B3CBD52B5B016B00337232 /* stdafx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE3BC2AF1841900DF9129 /* stdafx.cpp */; }; + 82B3CBD62B5B016B00337232 /* PFTitleDataManagement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6072AF1871C00DF9129 /* PFTitleDataManagement.cpp */; }; + 82B3CBD72B5B016B00337232 /* GroupsTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE5FC2AF1871C00DF9129 /* GroupsTypes.cpp */; }; + 82B3CBD82B5B016B00337232 /* MultiplayerServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE61C2AF1871C00DF9129 /* MultiplayerServer.cpp */; }; + 82B3CBD92B5B016B00337232 /* Catalog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6322AF1871C00DF9129 /* Catalog.cpp */; }; + 82B3CBDA2B5B016B00337232 /* PFGroups.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE6282AF1871C00DF9129 /* PFGroups.cpp */; }; + 82B3CBDB2B5B016B00337232 /* Platform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE3B72AF1841900DF9129 /* Platform.cpp */; }; + 82B3CBF22B5B023B00337232 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82B3CBF12B5B023A00337232 /* Foundation.framework */; }; + 82B3CBF42B5B023E00337232 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82B3CBF32B5B023E00337232 /* Security.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 8206F0552B740CB500451339 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1F32B73FEFA009A4677 /* libHttpClient.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 58BD256122123EF9008942EB; + remoteInfo = libHttpClientFramework_iOS; + }; + 8286B2002B73FEFA009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1F32B73FEFA009A4677 /* libHttpClient.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 67EE817E2362599C00A5F3DE; + remoteInfo = SSL_iOS; + }; + 8286B2022B73FEFA009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1F32B73FEFA009A4677 /* libHttpClient.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = D9EF87AD25A3F0F9005C4BDF; + remoteInfo = SSL_macOS; + }; + 8286B2042B73FEFA009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1F32B73FEFA009A4677 /* libHttpClient.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 58722D0E209AD61900B071F7; + remoteInfo = libHttpClient_iOS; + }; + 8286B2062B73FEFA009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1F32B73FEFA009A4677 /* libHttpClient.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 7DB100A72119206B00AE22F5; + remoteInfo = libHttpClient_macOS; + }; + 8286B2082B73FEFA009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1F32B73FEFA009A4677 /* libHttpClient.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = D9EF884125A522BC005C4BDF; + remoteInfo = libHttpClient_NOWEBSOCKETS_iOS; + }; + 8286B20A2B73FEFA009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1F32B73FEFA009A4677 /* libHttpClient.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = D9FF0A7725A5366A0061B717; + remoteInfo = libHttpClient_NOWEBSOCKETS_macOS; + }; + 8286B20C2B73FEFA009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1F32B73FEFA009A4677 /* libHttpClient.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 58BD256222123EF9008942EB; + remoteInfo = libHttpClientFramework_iOS; + }; + 8286B20E2B73FEFA009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1F32B73FEFA009A4677 /* libHttpClient.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2C872C65221C91BD0054F791; + remoteInfo = libHttpClientFramework_macOS; + }; + 8286B2102B73FEFA009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1F32B73FEFA009A4677 /* libHttpClient.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = D9EF888425A52685005C4BDF; + remoteInfo = libHttpClientFramework_NOWEBSOCKETS_iOS; + }; + 8286B2122B73FEFA009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1F32B73FEFA009A4677 /* libHttpClient.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = D9FF0AA225A536A20061B717; + remoteInfo = libHttpClientFramework_NOWEBSOCKETS_macOS; + }; + 8286B2142B73FF0C009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1F32B73FEFA009A4677 /* libHttpClient.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 2C872C64221C91BD0054F791; + remoteInfo = libHttpClientFramework_macOS; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 8206F2082B75898900451339 /* PlayFabCore_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PlayFabCore_macOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 8206F2142B7589F300451339 /* libPlayFabSharedInternal_iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libPlayFabSharedInternal_iOS.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 8206F2162B7589FB00451339 /* libPlayFabSharedInternal_macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libPlayFabSharedInternal_macOS.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 826081552AEC31CA00D8B93D /* PlayFabServices_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PlayFabServices_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 826082822AEC346600D8B93D /* libHttpClient.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libHttpClient.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 826082842AEC346600D8B93D /* PlayFabCore_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PlayFabCore_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 826082862AEC346600D8B93D /* libPlayFabSharedInternal.iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libPlayFabSharedInternal.iOS.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 826082882AEC347E00D8B93D /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/System/Library/Frameworks/Security.framework; sourceTree = DEVELOPER_DIR; }; + 8260828A2AEC348500D8B93D /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 826AE3B22AF1841900DF9129 /* stdafx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stdafx.h; sourceTree = ""; }; + 826AE3B42AF1841900DF9129 /* GlobalState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GlobalState.h; sourceTree = ""; }; + 826AE3B52AF1841900DF9129 /* GlobalState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GlobalState.cpp; sourceTree = ""; }; + 826AE3B62AF1841900DF9129 /* HttpClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HttpClient.h; sourceTree = ""; }; + 826AE3B72AF1841900DF9129 /* Platform.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Platform.cpp; sourceTree = ""; }; + 826AE3B82AF1841900DF9129 /* HttpClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HttpClient.cpp; sourceTree = ""; }; + 826AE3B92AF1841900DF9129 /* Platform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Platform.h; sourceTree = ""; }; + 826AE3BB2AF1841900DF9129 /* PFServices.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFServices.cpp; sourceTree = ""; }; + 826AE3BC2AF1841900DF9129 /* stdafx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = stdafx.cpp; sourceTree = ""; }; + 826AE4C72AF1867400DF9129 /* PFServices.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFServices.h; sourceTree = ""; }; + 826AE5412AF186D500DF9129 /* PFTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFTypes.h; sourceTree = ""; }; + 826AE5422AF186D500DF9129 /* PFSegmentsTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFSegmentsTypes.h; sourceTree = ""; }; + 826AE5432AF186D500DF9129 /* PFSegments.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFSegments.h; sourceTree = ""; }; + 826AE5442AF186D500DF9129 /* PFTitleDataManagement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFTitleDataManagement.h; sourceTree = ""; }; + 826AE5452AF186D500DF9129 /* PFPlatformSpecific.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFPlatformSpecific.h; sourceTree = ""; }; + 826AE5462AF186D500DF9129 /* PFInventory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFInventory.h; sourceTree = ""; }; + 826AE5472AF186D500DF9129 /* PFDataTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFDataTypes.h; sourceTree = ""; }; + 826AE5482AF186D500DF9129 /* PFLocalizationTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFLocalizationTypes.h; sourceTree = ""; }; + 826AE5492AF186D500DF9129 /* PFPushNotificationsTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFPushNotificationsTypes.h; sourceTree = ""; }; + 826AE54A2AF186D500DF9129 /* PFAccountManagement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFAccountManagement.h; sourceTree = ""; }; + 826AE54B2AF186D500DF9129 /* PFExperimentation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFExperimentation.h; sourceTree = ""; }; + 826AE54C2AF186D500DF9129 /* PFMultiplayerServerTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFMultiplayerServerTypes.h; sourceTree = ""; }; + 826AE54D2AF186D500DF9129 /* PFPlatformSpecificTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFPlatformSpecificTypes.h; sourceTree = ""; }; + 826AE54E2AF186D500DF9129 /* PFFriends.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFFriends.h; sourceTree = ""; }; + 826AE54F2AF186D500DF9129 /* PFCatalogTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFCatalogTypes.h; sourceTree = ""; }; + 826AE5512AF186D500DF9129 /* MultiplayerServerTypeWrappers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MultiplayerServerTypeWrappers.h; sourceTree = ""; }; + 826AE5522AF186D500DF9129 /* DataTypeWrappers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DataTypeWrappers.h; sourceTree = ""; }; + 826AE5532AF186D500DF9129 /* AccountManagementTypeWrappers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccountManagementTypeWrappers.h; sourceTree = ""; }; + 826AE5542AF186D500DF9129 /* TypeWrappers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TypeWrappers.h; sourceTree = ""; }; + 826AE5552AF186D500DF9129 /* GroupsTypeWrappers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupsTypeWrappers.h; sourceTree = ""; }; + 826AE5562AF186D500DF9129 /* CatalogTypeWrappers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CatalogTypeWrappers.h; sourceTree = ""; }; + 826AE5572AF186D500DF9129 /* CloudScriptTypeWrappers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CloudScriptTypeWrappers.h; sourceTree = ""; }; + 826AE5582AF186D500DF9129 /* SegmentsTypeWrappers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SegmentsTypeWrappers.h; sourceTree = ""; }; + 826AE5592AF186D500DF9129 /* ExperimentationTypeWrappers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExperimentationTypeWrappers.h; sourceTree = ""; }; + 826AE55A2AF186D500DF9129 /* CharacterTypeWrappers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CharacterTypeWrappers.h; sourceTree = ""; }; + 826AE55B2AF186D500DF9129 /* LocalizationTypeWrappers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LocalizationTypeWrappers.h; sourceTree = ""; }; + 826AE55C2AF186D500DF9129 /* TitleDataManagementTypeWrappers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TitleDataManagementTypeWrappers.h; sourceTree = ""; }; + 826AE55D2AF186D500DF9129 /* PlayerDataManagementTypeWrappers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlayerDataManagementTypeWrappers.h; sourceTree = ""; }; + 826AE55E2AF186D500DF9129 /* InventoryTypeWrappers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InventoryTypeWrappers.h; sourceTree = ""; }; + 826AE55F2AF186D500DF9129 /* PushNotificationsTypeWrappers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PushNotificationsTypeWrappers.h; sourceTree = ""; }; + 826AE5602AF186D500DF9129 /* ProfilesTypeWrappers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProfilesTypeWrappers.h; sourceTree = ""; }; + 826AE5612AF186D500DF9129 /* PlatformSpecificTypeWrappers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformSpecificTypeWrappers.h; sourceTree = ""; }; + 826AE5622AF186D500DF9129 /* FriendsTypeWrappers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FriendsTypeWrappers.h; sourceTree = ""; }; + 826AE5632AF186D500DF9129 /* PFLocalization.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFLocalization.h; sourceTree = ""; }; + 826AE5642AF186D500DF9129 /* PFPushNotifications.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFPushNotifications.h; sourceTree = ""; }; + 826AE5652AF186D500DF9129 /* PFProfiles.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFProfiles.h; sourceTree = ""; }; + 826AE5662AF186D500DF9129 /* PFData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFData.h; sourceTree = ""; }; + 826AE5672AF186D500DF9129 /* PFTitleDataManagementTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFTitleDataManagementTypes.h; sourceTree = ""; }; + 826AE5682AF186D500DF9129 /* PFCloudScript.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFCloudScript.h; sourceTree = ""; }; + 826AE5692AF186D500DF9129 /* PFCatalog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFCatalog.h; sourceTree = ""; }; + 826AE56A2AF186D500DF9129 /* PFCloudScriptTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFCloudScriptTypes.h; sourceTree = ""; }; + 826AE56B2AF186D500DF9129 /* PFPlayerDataManagement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFPlayerDataManagement.h; sourceTree = ""; }; + 826AE56C2AF186D500DF9129 /* PFCharacter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFCharacter.h; sourceTree = ""; }; + 826AE56D2AF186D500DF9129 /* PFExperimentationTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFExperimentationTypes.h; sourceTree = ""; }; + 826AE56E2AF186D500DF9129 /* PFFriendsTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFFriendsTypes.h; sourceTree = ""; }; + 826AE56F2AF186D500DF9129 /* PFAccountManagementTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFAccountManagementTypes.h; sourceTree = ""; }; + 826AE5702AF186D500DF9129 /* PFMultiplayerServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFMultiplayerServer.h; sourceTree = ""; }; + 826AE5712AF186D500DF9129 /* PFProfilesTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFProfilesTypes.h; sourceTree = ""; }; + 826AE5722AF186D500DF9129 /* PFCharacterTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFCharacterTypes.h; sourceTree = ""; }; + 826AE5742AF186D500DF9129 /* PFGroups.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFGroups.h; sourceTree = ""; }; + 826AE5752AF186D500DF9129 /* PFPlayerDataManagementTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFPlayerDataManagementTypes.h; sourceTree = ""; }; + 826AE5762AF186D500DF9129 /* PFInventoryTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFInventoryTypes.h; sourceTree = ""; }; + 826AE5772AF186D500DF9129 /* PFGroupsTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFGroupsTypes.h; sourceTree = ""; }; + 826AE57B2AF186D500DF9129 /* PFTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFTypes.h; sourceTree = ""; }; + 826AE57C2AF186D500DF9129 /* PFSegmentsTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFSegmentsTypes.h; sourceTree = ""; }; + 826AE57D2AF186D500DF9129 /* PFSegments.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFSegments.h; sourceTree = ""; }; + 826AE57E2AF186D500DF9129 /* PFTitleDataManagement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFTitleDataManagement.h; sourceTree = ""; }; + 826AE57F2AF186D500DF9129 /* PFInventory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFInventory.h; sourceTree = ""; }; + 826AE5802AF186D500DF9129 /* PFDataTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFDataTypes.h; sourceTree = ""; }; + 826AE5812AF186D500DF9129 /* PFAccountManagement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFAccountManagement.h; sourceTree = ""; }; + 826AE5822AF186D500DF9129 /* PFExperimentation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFExperimentation.h; sourceTree = ""; }; + 826AE5832AF186D500DF9129 /* PFMultiplayerServerTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFMultiplayerServerTypes.h; sourceTree = ""; }; + 826AE5842AF186D500DF9129 /* PFFriends.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFFriends.h; sourceTree = ""; }; + 826AE5852AF186D500DF9129 /* PFCatalogTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFCatalogTypes.h; sourceTree = ""; }; + 826AE5862AF186D500DF9129 /* PFProfiles.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFProfiles.h; sourceTree = ""; }; + 826AE5872AF186D500DF9129 /* PFData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFData.h; sourceTree = ""; }; + 826AE5882AF186D500DF9129 /* PFTitleDataManagementTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFTitleDataManagementTypes.h; sourceTree = ""; }; + 826AE5892AF186D500DF9129 /* PFCloudScript.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFCloudScript.h; sourceTree = ""; }; + 826AE58A2AF186D500DF9129 /* PFCatalog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFCatalog.h; sourceTree = ""; }; + 826AE58B2AF186D500DF9129 /* PFCloudScriptTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFCloudScriptTypes.h; sourceTree = ""; }; + 826AE58C2AF186D500DF9129 /* PFPlayerDataManagement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFPlayerDataManagement.h; sourceTree = ""; }; + 826AE58D2AF186D500DF9129 /* PFExperimentationTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFExperimentationTypes.h; sourceTree = ""; }; + 826AE58E2AF186D500DF9129 /* PFFriendsTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFFriendsTypes.h; sourceTree = ""; }; + 826AE58F2AF186D500DF9129 /* PFAccountManagementTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFAccountManagementTypes.h; sourceTree = ""; }; + 826AE5902AF186D500DF9129 /* PFMultiplayerServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFMultiplayerServer.h; sourceTree = ""; }; + 826AE5912AF186D500DF9129 /* PFProfilesTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFProfilesTypes.h; sourceTree = ""; }; + 826AE5922AF186D500DF9129 /* PFServices.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFServices.h; sourceTree = ""; }; + 826AE5932AF186D500DF9129 /* PFGroups.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFGroups.h; sourceTree = ""; }; + 826AE5942AF186D500DF9129 /* PFPlayerDataManagementTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFPlayerDataManagementTypes.h; sourceTree = ""; }; + 826AE5952AF186D500DF9129 /* PFInventoryTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFInventoryTypes.h; sourceTree = ""; }; + 826AE5962AF186D500DF9129 /* PFGroupsTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFGroupsTypes.h; sourceTree = ""; }; + 826AE5EB2AF1871C00DF9129 /* PlatformSpecificTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformSpecificTypes.h; sourceTree = ""; }; + 826AE5EC2AF1871C00DF9129 /* Groups.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Groups.cpp; sourceTree = ""; }; + 826AE5ED2AF1871C00DF9129 /* ExperimentationTypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExperimentationTypes.cpp; sourceTree = ""; }; + 826AE5EE2AF1871C00DF9129 /* ProfilesTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProfilesTypes.h; sourceTree = ""; }; + 826AE5EF2AF1871C00DF9129 /* CharacterTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CharacterTypes.h; sourceTree = ""; }; + 826AE5F02AF1871C00DF9129 /* Localization.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Localization.h; sourceTree = ""; }; + 826AE5F12AF1871C00DF9129 /* InventoryTypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InventoryTypes.cpp; sourceTree = ""; }; + 826AE5F22AF1871C00DF9129 /* CatalogTypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CatalogTypes.cpp; sourceTree = ""; }; + 826AE5F32AF1871C00DF9129 /* Segments.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Segments.cpp; sourceTree = ""; }; + 826AE5F42AF1871C00DF9129 /* InventoryTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InventoryTypes.h; sourceTree = ""; }; + 826AE5F52AF1871C00DF9129 /* AccountManagementTypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccountManagementTypes.cpp; sourceTree = ""; }; + 826AE5F72AF1871C00DF9129 /* Profiles.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Profiles.h; sourceTree = ""; }; + 826AE5F82AF1871C00DF9129 /* TitleDataManagementTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TitleDataManagementTypes.h; sourceTree = ""; }; + 826AE5F92AF1871C00DF9129 /* PFCloudScript.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFCloudScript.cpp; sourceTree = ""; }; + 826AE5FA2AF1871C00DF9129 /* Friends.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Friends.h; sourceTree = ""; }; + 826AE5FB2AF1871C00DF9129 /* PFMultiplayerServer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFMultiplayerServer.cpp; sourceTree = ""; }; + 826AE5FC2AF1871C00DF9129 /* GroupsTypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GroupsTypes.cpp; sourceTree = ""; }; + 826AE5FD2AF1871C00DF9129 /* CatalogTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CatalogTypes.h; sourceTree = ""; }; + 826AE5FE2AF1871C00DF9129 /* AccountManagementTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccountManagementTypes.h; sourceTree = ""; }; + 826AE5FF2AF1871C00DF9129 /* PFPlayerDataManagement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFPlayerDataManagement.cpp; sourceTree = ""; }; + 826AE6002AF1871C00DF9129 /* PushNotificationsTypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PushNotificationsTypes.cpp; sourceTree = ""; }; + 826AE6022AF1871C00DF9129 /* Profiles.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Profiles.cpp; sourceTree = ""; }; + 826AE6032AF1871C00DF9129 /* CloudScript.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CloudScript.h; sourceTree = ""; }; + 826AE6052AF1871C00DF9129 /* Data.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Data.h; sourceTree = ""; }; + 826AE6062AF1871C00DF9129 /* LocalizationTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LocalizationTypes.h; sourceTree = ""; }; + 826AE6072AF1871C00DF9129 /* PFTitleDataManagement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFTitleDataManagement.cpp; sourceTree = ""; }; + 826AE6082AF1871C00DF9129 /* Experimentation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Experimentation.h; sourceTree = ""; }; + 826AE6092AF1871C00DF9129 /* TitleDataManagementTypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TitleDataManagementTypes.cpp; sourceTree = ""; }; + 826AE60A2AF1871C00DF9129 /* PlayerDataManagementTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlayerDataManagementTypes.h; sourceTree = ""; }; + 826AE60B2AF1871C00DF9129 /* Friends.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Friends.cpp; sourceTree = ""; }; + 826AE60C2AF1871C00DF9129 /* Localization.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Localization.cpp; sourceTree = ""; }; + 826AE60D2AF1871C00DF9129 /* PFInventory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFInventory.cpp; sourceTree = ""; }; + 826AE60E2AF1871C00DF9129 /* TitleDataManagement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TitleDataManagement.h; sourceTree = ""; }; + 826AE60F2AF1871C00DF9129 /* CloudScriptTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CloudScriptTypes.h; sourceTree = ""; }; + 826AE6102AF1871C00DF9129 /* MultiplayerServerTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MultiplayerServerTypes.h; sourceTree = ""; }; + 826AE6112AF1871C00DF9129 /* Catalog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Catalog.h; sourceTree = ""; }; + 826AE6122AF1871C00DF9129 /* PlatformSpecific.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PlatformSpecific.cpp; sourceTree = ""; }; + 826AE6142AF1871C00DF9129 /* FriendsTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FriendsTypes.h; sourceTree = ""; }; + 826AE6152AF1871C00DF9129 /* CacheId.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CacheId.h; sourceTree = ""; }; + 826AE6162AF1871C00DF9129 /* PFCatalog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFCatalog.cpp; sourceTree = ""; }; + 826AE6172AF1871C00DF9129 /* GroupsTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupsTypes.h; sourceTree = ""; }; + 826AE6182AF1871C00DF9129 /* PFData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFData.cpp; sourceTree = ""; }; + 826AE6192AF1871C00DF9129 /* DataTypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DataTypes.cpp; sourceTree = ""; }; + 826AE61A2AF1871C00DF9129 /* Data.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Data.cpp; sourceTree = ""; }; + 826AE61B2AF1871C00DF9129 /* AccountManagement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccountManagement.h; sourceTree = ""; }; + 826AE61C2AF1871C00DF9129 /* MultiplayerServer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MultiplayerServer.cpp; sourceTree = ""; }; + 826AE61D2AF1871C00DF9129 /* LocalizationTypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LocalizationTypes.cpp; sourceTree = ""; }; + 826AE61E2AF1871C00DF9129 /* Inventory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Inventory.h; sourceTree = ""; }; + 826AE61F2AF1871C00DF9129 /* PlatformSpecificTypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PlatformSpecificTypes.cpp; sourceTree = ""; }; + 826AE6202AF1871C00DF9129 /* DataTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DataTypes.h; sourceTree = ""; }; + 826AE6212AF1871C00DF9129 /* FriendsTypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FriendsTypes.cpp; sourceTree = ""; }; + 826AE6222AF1871C00DF9129 /* CoreTypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CoreTypes.cpp; sourceTree = ""; }; + 826AE6232AF1871C00DF9129 /* PushNotificationsTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PushNotificationsTypes.h; sourceTree = ""; }; + 826AE6242AF1871C00DF9129 /* Segments.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Segments.h; sourceTree = ""; }; + 826AE6252AF1871C00DF9129 /* PlatformSpecific.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformSpecific.h; sourceTree = ""; }; + 826AE6262AF1871C00DF9129 /* PushNotifications.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PushNotifications.h; sourceTree = ""; }; + 826AE6272AF1871C00DF9129 /* PFPlatformSpecific.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFPlatformSpecific.cpp; sourceTree = ""; }; + 826AE6282AF1871C00DF9129 /* PFGroups.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFGroups.cpp; sourceTree = ""; }; + 826AE6292AF1871C00DF9129 /* CloudScriptTypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CloudScriptTypes.cpp; sourceTree = ""; }; + 826AE62A2AF1871C00DF9129 /* PFPushNotifications.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFPushNotifications.cpp; sourceTree = ""; }; + 826AE62B2AF1871C00DF9129 /* PFLocalization.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFLocalization.cpp; sourceTree = ""; }; + 826AE62C2AF1871C00DF9129 /* PFAccountManagement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFAccountManagement.cpp; sourceTree = ""; }; + 826AE62D2AF1871C00DF9129 /* MultiplayerServerTypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MultiplayerServerTypes.cpp; sourceTree = ""; }; + 826AE62E2AF1871C00DF9129 /* TitleDataManagement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TitleDataManagement.cpp; sourceTree = ""; }; + 826AE62F2AF1871C00DF9129 /* SegmentsTypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SegmentsTypes.cpp; sourceTree = ""; }; + 826AE6302AF1871C00DF9129 /* PFCharacter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFCharacter.cpp; sourceTree = ""; }; + 826AE6312AF1871C00DF9129 /* CloudScript.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CloudScript.cpp; sourceTree = ""; }; + 826AE6322AF1871C00DF9129 /* Catalog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Catalog.cpp; sourceTree = ""; }; + 826AE6332AF1871C00DF9129 /* PFProfiles.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFProfiles.cpp; sourceTree = ""; }; + 826AE6342AF1871C00DF9129 /* PlayerDataManagement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PlayerDataManagement.cpp; sourceTree = ""; }; + 826AE6352AF1871C00DF9129 /* ProfilesTypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ProfilesTypes.cpp; sourceTree = ""; }; + 826AE6362AF1871C00DF9129 /* PFSegments.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFSegments.cpp; sourceTree = ""; }; + 826AE6372AF1871C00DF9129 /* PFFriends.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFFriends.cpp; sourceTree = ""; }; + 826AE6382AF1871C00DF9129 /* CharacterTypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CharacterTypes.cpp; sourceTree = ""; }; + 826AE6392AF1871C00DF9129 /* AccountManagement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccountManagement.cpp; sourceTree = ""; }; + 826AE63A2AF1871C00DF9129 /* Inventory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Inventory.cpp; sourceTree = ""; }; + 826AE63B2AF1871C00DF9129 /* MultiplayerServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MultiplayerServer.h; sourceTree = ""; }; + 826AE63C2AF1871C00DF9129 /* CoreTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoreTypes.h; sourceTree = ""; }; + 826AE63D2AF1871C00DF9129 /* PlayerDataManagement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlayerDataManagement.h; sourceTree = ""; }; + 826AE63E2AF1871C00DF9129 /* Experimentation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Experimentation.cpp; sourceTree = ""; }; + 826AE63F2AF1871C00DF9129 /* SegmentsTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SegmentsTypes.h; sourceTree = ""; }; + 826AE6402AF1871C00DF9129 /* Groups.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Groups.h; sourceTree = ""; }; + 826AE6412AF1871C00DF9129 /* ExperimentationTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExperimentationTypes.h; sourceTree = ""; }; + 826AE6422AF1871C00DF9129 /* PlayerDataManagementTypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PlayerDataManagementTypes.cpp; sourceTree = ""; }; + 826AE6432AF1871C00DF9129 /* PFExperimentation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PFExperimentation.cpp; sourceTree = ""; }; + 826AE6442AF1871C00DF9129 /* PushNotifications.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PushNotifications.cpp; sourceTree = ""; }; + 8286B1F32B73FEFA009A4677 /* libHttpClient.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = libHttpClient.xcodeproj; path = ../../../libHttpClient/Build/libHttpClient.Apple.C/libHttpClient.xcodeproj; sourceTree = ""; }; + 82B3CBE62B5B016B00337232 /* PlayFabServices_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PlayFabServices_macOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 82B3CBF12B5B023A00337232 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 82B3CBF32B5B023E00337232 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/System/Library/Frameworks/Security.framework; sourceTree = DEVELOPER_DIR; }; + 82B3CBF52B5B024500337232 /* libHttpClient.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libHttpClient.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 82B3CBF72B5B024900337232 /* libPlayFabSharedInternal.macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libPlayFabSharedInternal.macOS.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 82B3CBF92B5B024D00337232 /* PlayFabCore.macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PlayFabCore.macOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 826081522AEC31CA00D8B93D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8260828B2AEC348500D8B93D /* Foundation.framework in Frameworks */, + 8206F2152B7589F300451339 /* libPlayFabSharedInternal_iOS.a in Frameworks */, + 826082892AEC347E00D8B93D /* Security.framework in Frameworks */, + 826082852AEC346600D8B93D /* PlayFabCore_iOS.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 82B3CBDC2B5B016B00337232 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8206F2092B75898900451339 /* PlayFabCore_macOS.framework in Frameworks */, + 82B3CBF42B5B023E00337232 /* Security.framework in Frameworks */, + 8206F2172B7589FB00451339 /* libPlayFabSharedInternal_macOS.a in Frameworks */, + 82B3CBF22B5B023B00337232 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 8260814B2AEC31CA00D8B93D = { + isa = PBXGroup; + children = ( + 8286B1F32B73FEFA009A4677 /* libHttpClient.xcodeproj */, + 826AE2A42AF1822900DF9129 /* PlayFabServices.Common */, + 826AE2A52AF1823700DF9129 /* PlayFabServices.ServiceWrappers */, + 826081562AEC31CA00D8B93D /* Products */, + 826082812AEC346600D8B93D /* Frameworks */, + ); + sourceTree = ""; + }; + 826081562AEC31CA00D8B93D /* Products */ = { + isa = PBXGroup; + children = ( + 826081552AEC31CA00D8B93D /* PlayFabServices_iOS.framework */, + 82B3CBE62B5B016B00337232 /* PlayFabServices_macOS.framework */, + ); + name = Products; + sourceTree = ""; + }; + 826082812AEC346600D8B93D /* Frameworks */ = { + isa = PBXGroup; + children = ( + 8206F2162B7589FB00451339 /* libPlayFabSharedInternal_macOS.a */, + 8206F2142B7589F300451339 /* libPlayFabSharedInternal_iOS.a */, + 8206F2082B75898900451339 /* PlayFabCore_macOS.framework */, + 82B3CBF92B5B024D00337232 /* PlayFabCore.macOS.framework */, + 82B3CBF72B5B024900337232 /* libPlayFabSharedInternal.macOS.a */, + 82B3CBF52B5B024500337232 /* libHttpClient.a */, + 82B3CBF32B5B023E00337232 /* Security.framework */, + 8260828A2AEC348500D8B93D /* Foundation.framework */, + 82B3CBF12B5B023A00337232 /* Foundation.framework */, + 826082882AEC347E00D8B93D /* Security.framework */, + 826082822AEC346600D8B93D /* libHttpClient.a */, + 826082842AEC346600D8B93D /* PlayFabCore_iOS.framework */, + 826082862AEC346600D8B93D /* libPlayFabSharedInternal.iOS.a */, + ); + name = Frameworks; + sourceTree = ""; + }; + 826AE2A42AF1822900DF9129 /* PlayFabServices.Common */ = { + isa = PBXGroup; + children = ( + 826AE4912AF1867300DF9129 /* Include */, + 826AE3522AF1841900DF9129 /* Source */, + ); + name = PlayFabServices.Common; + sourceTree = ""; + }; + 826AE2A52AF1823700DF9129 /* PlayFabServices.ServiceWrappers */ = { + isa = PBXGroup; + children = ( + 826AE53D2AF186D500DF9129 /* Include */, + 826AE5E92AF1871C00DF9129 /* Source */, + ); + name = PlayFabServices.ServiceWrappers; + sourceTree = ""; + }; + 826AE3522AF1841900DF9129 /* Source */ = { + isa = PBXGroup; + children = ( + 826AE3BA2AF1841900DF9129 /* Api */, + 826AE3B32AF1841900DF9129 /* Common */, + 826AE3B22AF1841900DF9129 /* stdafx.h */, + 826AE3BC2AF1841900DF9129 /* stdafx.cpp */, + ); + name = Source; + path = ../../Source/PlayFabServices/Source; + sourceTree = ""; + }; + 826AE3B32AF1841900DF9129 /* Common */ = { + isa = PBXGroup; + children = ( + 826AE3B42AF1841900DF9129 /* GlobalState.h */, + 826AE3B52AF1841900DF9129 /* GlobalState.cpp */, + 826AE3B62AF1841900DF9129 /* HttpClient.h */, + 826AE3B82AF1841900DF9129 /* HttpClient.cpp */, + 826AE3B92AF1841900DF9129 /* Platform.h */, + 826AE3B72AF1841900DF9129 /* Platform.cpp */, + ); + path = Common; + sourceTree = ""; + }; + 826AE3BA2AF1841900DF9129 /* Api */ = { + isa = PBXGroup; + children = ( + 826AE3BB2AF1841900DF9129 /* PFServices.cpp */, + ); + path = Api; + sourceTree = ""; + }; + 826AE4912AF1867300DF9129 /* Include */ = { + isa = PBXGroup; + children = ( + 826AE4922AF1867300DF9129 /* Generated */, + ); + name = Include; + path = ../../Source/PlayFabServices/Include; + sourceTree = ""; + }; + 826AE4922AF1867300DF9129 /* Generated */ = { + isa = PBXGroup; + children = ( + 826AE4932AF1867300DF9129 /* playfab */, + ); + path = Generated; + sourceTree = ""; + }; + 826AE4932AF1867300DF9129 /* playfab */ = { + isa = PBXGroup; + children = ( + 826AE4942AF1867300DF9129 /* services */, + ); + path = playfab; + sourceTree = ""; + }; + 826AE4942AF1867300DF9129 /* services */ = { + isa = PBXGroup; + children = ( + 826AE4C72AF1867400DF9129 /* PFServices.h */, + ); + path = services; + sourceTree = ""; + }; + 826AE53D2AF186D500DF9129 /* Include */ = { + isa = PBXGroup; + children = ( + 826AE53E2AF186D500DF9129 /* Generated */, + 826AE5782AF186D500DF9129 /* GeneratedGdk */, + ); + name = Include; + path = ../../Source/PlayFabServices/Include; + sourceTree = ""; + }; + 826AE53E2AF186D500DF9129 /* Generated */ = { + isa = PBXGroup; + children = ( + 826AE53F2AF186D500DF9129 /* playfab */, + ); + path = Generated; + sourceTree = ""; + }; + 826AE53F2AF186D500DF9129 /* playfab */ = { + isa = PBXGroup; + children = ( + 826AE5402AF186D500DF9129 /* services */, + ); + path = playfab; + sourceTree = ""; + }; + 826AE5402AF186D500DF9129 /* services */ = { + isa = PBXGroup; + children = ( + 826AE5502AF186D500DF9129 /* cpp */, + 826AE5412AF186D500DF9129 /* PFTypes.h */, + 826AE5422AF186D500DF9129 /* PFSegmentsTypes.h */, + 826AE5432AF186D500DF9129 /* PFSegments.h */, + 826AE5442AF186D500DF9129 /* PFTitleDataManagement.h */, + 826AE5452AF186D500DF9129 /* PFPlatformSpecific.h */, + 826AE5462AF186D500DF9129 /* PFInventory.h */, + 826AE5472AF186D500DF9129 /* PFDataTypes.h */, + 826AE5482AF186D500DF9129 /* PFLocalizationTypes.h */, + 826AE5492AF186D500DF9129 /* PFPushNotificationsTypes.h */, + 826AE54A2AF186D500DF9129 /* PFAccountManagement.h */, + 826AE54B2AF186D500DF9129 /* PFExperimentation.h */, + 826AE54C2AF186D500DF9129 /* PFMultiplayerServerTypes.h */, + 826AE54D2AF186D500DF9129 /* PFPlatformSpecificTypes.h */, + 826AE54E2AF186D500DF9129 /* PFFriends.h */, + 826AE54F2AF186D500DF9129 /* PFCatalogTypes.h */, + 826AE5632AF186D500DF9129 /* PFLocalization.h */, + 826AE5642AF186D500DF9129 /* PFPushNotifications.h */, + 826AE5652AF186D500DF9129 /* PFProfiles.h */, + 826AE5662AF186D500DF9129 /* PFData.h */, + 826AE5672AF186D500DF9129 /* PFTitleDataManagementTypes.h */, + 826AE5682AF186D500DF9129 /* PFCloudScript.h */, + 826AE5692AF186D500DF9129 /* PFCatalog.h */, + 826AE56A2AF186D500DF9129 /* PFCloudScriptTypes.h */, + 826AE56B2AF186D500DF9129 /* PFPlayerDataManagement.h */, + 826AE56C2AF186D500DF9129 /* PFCharacter.h */, + 826AE56D2AF186D500DF9129 /* PFExperimentationTypes.h */, + 826AE56E2AF186D500DF9129 /* PFFriendsTypes.h */, + 826AE56F2AF186D500DF9129 /* PFAccountManagementTypes.h */, + 826AE5702AF186D500DF9129 /* PFMultiplayerServer.h */, + 826AE5712AF186D500DF9129 /* PFProfilesTypes.h */, + 826AE5722AF186D500DF9129 /* PFCharacterTypes.h */, + 826AE5742AF186D500DF9129 /* PFGroups.h */, + 826AE5752AF186D500DF9129 /* PFPlayerDataManagementTypes.h */, + 826AE5762AF186D500DF9129 /* PFInventoryTypes.h */, + 826AE5772AF186D500DF9129 /* PFGroupsTypes.h */, + ); + path = services; + sourceTree = ""; + }; + 826AE5502AF186D500DF9129 /* cpp */ = { + isa = PBXGroup; + children = ( + 826AE5512AF186D500DF9129 /* MultiplayerServerTypeWrappers.h */, + 826AE5522AF186D500DF9129 /* DataTypeWrappers.h */, + 826AE5532AF186D500DF9129 /* AccountManagementTypeWrappers.h */, + 826AE5542AF186D500DF9129 /* TypeWrappers.h */, + 826AE5552AF186D500DF9129 /* GroupsTypeWrappers.h */, + 826AE5562AF186D500DF9129 /* CatalogTypeWrappers.h */, + 826AE5572AF186D500DF9129 /* CloudScriptTypeWrappers.h */, + 826AE5582AF186D500DF9129 /* SegmentsTypeWrappers.h */, + 826AE5592AF186D500DF9129 /* ExperimentationTypeWrappers.h */, + 826AE55A2AF186D500DF9129 /* CharacterTypeWrappers.h */, + 826AE55B2AF186D500DF9129 /* LocalizationTypeWrappers.h */, + 826AE55C2AF186D500DF9129 /* TitleDataManagementTypeWrappers.h */, + 826AE55D2AF186D500DF9129 /* PlayerDataManagementTypeWrappers.h */, + 826AE55E2AF186D500DF9129 /* InventoryTypeWrappers.h */, + 826AE55F2AF186D500DF9129 /* PushNotificationsTypeWrappers.h */, + 826AE5602AF186D500DF9129 /* ProfilesTypeWrappers.h */, + 826AE5612AF186D500DF9129 /* PlatformSpecificTypeWrappers.h */, + 826AE5622AF186D500DF9129 /* FriendsTypeWrappers.h */, + ); + path = cpp; + sourceTree = ""; + }; + 826AE5782AF186D500DF9129 /* GeneratedGdk */ = { + isa = PBXGroup; + children = ( + 826AE5792AF186D500DF9129 /* playfab */, + ); + path = GeneratedGdk; + sourceTree = ""; + }; + 826AE5792AF186D500DF9129 /* playfab */ = { + isa = PBXGroup; + children = ( + 826AE57A2AF186D500DF9129 /* services */, + ); + path = playfab; + sourceTree = ""; + }; + 826AE57A2AF186D500DF9129 /* services */ = { + isa = PBXGroup; + children = ( + 826AE57B2AF186D500DF9129 /* PFTypes.h */, + 826AE57C2AF186D500DF9129 /* PFSegmentsTypes.h */, + 826AE57D2AF186D500DF9129 /* PFSegments.h */, + 826AE57E2AF186D500DF9129 /* PFTitleDataManagement.h */, + 826AE57F2AF186D500DF9129 /* PFInventory.h */, + 826AE5802AF186D500DF9129 /* PFDataTypes.h */, + 826AE5812AF186D500DF9129 /* PFAccountManagement.h */, + 826AE5822AF186D500DF9129 /* PFExperimentation.h */, + 826AE5832AF186D500DF9129 /* PFMultiplayerServerTypes.h */, + 826AE5842AF186D500DF9129 /* PFFriends.h */, + 826AE5852AF186D500DF9129 /* PFCatalogTypes.h */, + 826AE5862AF186D500DF9129 /* PFProfiles.h */, + 826AE5872AF186D500DF9129 /* PFData.h */, + 826AE5882AF186D500DF9129 /* PFTitleDataManagementTypes.h */, + 826AE5892AF186D500DF9129 /* PFCloudScript.h */, + 826AE58A2AF186D500DF9129 /* PFCatalog.h */, + 826AE58B2AF186D500DF9129 /* PFCloudScriptTypes.h */, + 826AE58C2AF186D500DF9129 /* PFPlayerDataManagement.h */, + 826AE58D2AF186D500DF9129 /* PFExperimentationTypes.h */, + 826AE58E2AF186D500DF9129 /* PFFriendsTypes.h */, + 826AE58F2AF186D500DF9129 /* PFAccountManagementTypes.h */, + 826AE5902AF186D500DF9129 /* PFMultiplayerServer.h */, + 826AE5912AF186D500DF9129 /* PFProfilesTypes.h */, + 826AE5922AF186D500DF9129 /* PFServices.h */, + 826AE5932AF186D500DF9129 /* PFGroups.h */, + 826AE5942AF186D500DF9129 /* PFPlayerDataManagementTypes.h */, + 826AE5952AF186D500DF9129 /* PFInventoryTypes.h */, + 826AE5962AF186D500DF9129 /* PFGroupsTypes.h */, + ); + path = services; + sourceTree = ""; + }; + 826AE5E92AF1871C00DF9129 /* Source */ = { + isa = PBXGroup; + children = ( + 826AE5EA2AF1871C00DF9129 /* Generated */, + ); + name = Source; + path = ../../Source/PlayFabServices/Source; + sourceTree = ""; + }; + 826AE5EA2AF1871C00DF9129 /* Generated */ = { + isa = PBXGroup; + children = ( + 826AE5EB2AF1871C00DF9129 /* PlatformSpecificTypes.h */, + 826AE5EC2AF1871C00DF9129 /* Groups.cpp */, + 826AE5ED2AF1871C00DF9129 /* ExperimentationTypes.cpp */, + 826AE5EE2AF1871C00DF9129 /* ProfilesTypes.h */, + 826AE5EF2AF1871C00DF9129 /* CharacterTypes.h */, + 826AE5F02AF1871C00DF9129 /* Localization.h */, + 826AE5F12AF1871C00DF9129 /* InventoryTypes.cpp */, + 826AE5F22AF1871C00DF9129 /* CatalogTypes.cpp */, + 826AE5F32AF1871C00DF9129 /* Segments.cpp */, + 826AE5F42AF1871C00DF9129 /* InventoryTypes.h */, + 826AE5F52AF1871C00DF9129 /* AccountManagementTypes.cpp */, + 826AE5F72AF1871C00DF9129 /* Profiles.h */, + 826AE5F82AF1871C00DF9129 /* TitleDataManagementTypes.h */, + 826AE5F92AF1871C00DF9129 /* PFCloudScript.cpp */, + 826AE5FA2AF1871C00DF9129 /* Friends.h */, + 826AE5FB2AF1871C00DF9129 /* PFMultiplayerServer.cpp */, + 826AE5FC2AF1871C00DF9129 /* GroupsTypes.cpp */, + 826AE5FD2AF1871C00DF9129 /* CatalogTypes.h */, + 826AE5FE2AF1871C00DF9129 /* AccountManagementTypes.h */, + 826AE5FF2AF1871C00DF9129 /* PFPlayerDataManagement.cpp */, + 826AE6002AF1871C00DF9129 /* PushNotificationsTypes.cpp */, + 826AE6022AF1871C00DF9129 /* Profiles.cpp */, + 826AE6032AF1871C00DF9129 /* CloudScript.h */, + 826AE6052AF1871C00DF9129 /* Data.h */, + 826AE6062AF1871C00DF9129 /* LocalizationTypes.h */, + 826AE6072AF1871C00DF9129 /* PFTitleDataManagement.cpp */, + 826AE6082AF1871C00DF9129 /* Experimentation.h */, + 826AE6092AF1871C00DF9129 /* TitleDataManagementTypes.cpp */, + 826AE60A2AF1871C00DF9129 /* PlayerDataManagementTypes.h */, + 826AE60B2AF1871C00DF9129 /* Friends.cpp */, + 826AE60C2AF1871C00DF9129 /* Localization.cpp */, + 826AE60D2AF1871C00DF9129 /* PFInventory.cpp */, + 826AE60E2AF1871C00DF9129 /* TitleDataManagement.h */, + 826AE60F2AF1871C00DF9129 /* CloudScriptTypes.h */, + 826AE6102AF1871C00DF9129 /* MultiplayerServerTypes.h */, + 826AE6112AF1871C00DF9129 /* Catalog.h */, + 826AE6122AF1871C00DF9129 /* PlatformSpecific.cpp */, + 826AE6142AF1871C00DF9129 /* FriendsTypes.h */, + 826AE6152AF1871C00DF9129 /* CacheId.h */, + 826AE6162AF1871C00DF9129 /* PFCatalog.cpp */, + 826AE6172AF1871C00DF9129 /* GroupsTypes.h */, + 826AE6182AF1871C00DF9129 /* PFData.cpp */, + 826AE6192AF1871C00DF9129 /* DataTypes.cpp */, + 826AE61A2AF1871C00DF9129 /* Data.cpp */, + 826AE61B2AF1871C00DF9129 /* AccountManagement.h */, + 826AE61C2AF1871C00DF9129 /* MultiplayerServer.cpp */, + 826AE61D2AF1871C00DF9129 /* LocalizationTypes.cpp */, + 826AE61E2AF1871C00DF9129 /* Inventory.h */, + 826AE61F2AF1871C00DF9129 /* PlatformSpecificTypes.cpp */, + 826AE6202AF1871C00DF9129 /* DataTypes.h */, + 826AE6212AF1871C00DF9129 /* FriendsTypes.cpp */, + 826AE6222AF1871C00DF9129 /* CoreTypes.cpp */, + 826AE6232AF1871C00DF9129 /* PushNotificationsTypes.h */, + 826AE6242AF1871C00DF9129 /* Segments.h */, + 826AE6252AF1871C00DF9129 /* PlatformSpecific.h */, + 826AE6262AF1871C00DF9129 /* PushNotifications.h */, + 826AE6272AF1871C00DF9129 /* PFPlatformSpecific.cpp */, + 826AE6282AF1871C00DF9129 /* PFGroups.cpp */, + 826AE6292AF1871C00DF9129 /* CloudScriptTypes.cpp */, + 826AE62A2AF1871C00DF9129 /* PFPushNotifications.cpp */, + 826AE62B2AF1871C00DF9129 /* PFLocalization.cpp */, + 826AE62C2AF1871C00DF9129 /* PFAccountManagement.cpp */, + 826AE62D2AF1871C00DF9129 /* MultiplayerServerTypes.cpp */, + 826AE62E2AF1871C00DF9129 /* TitleDataManagement.cpp */, + 826AE62F2AF1871C00DF9129 /* SegmentsTypes.cpp */, + 826AE6302AF1871C00DF9129 /* PFCharacter.cpp */, + 826AE6312AF1871C00DF9129 /* CloudScript.cpp */, + 826AE6322AF1871C00DF9129 /* Catalog.cpp */, + 826AE6332AF1871C00DF9129 /* PFProfiles.cpp */, + 826AE6342AF1871C00DF9129 /* PlayerDataManagement.cpp */, + 826AE6352AF1871C00DF9129 /* ProfilesTypes.cpp */, + 826AE6362AF1871C00DF9129 /* PFSegments.cpp */, + 826AE6372AF1871C00DF9129 /* PFFriends.cpp */, + 826AE6382AF1871C00DF9129 /* CharacterTypes.cpp */, + 826AE6392AF1871C00DF9129 /* AccountManagement.cpp */, + 826AE63A2AF1871C00DF9129 /* Inventory.cpp */, + 826AE63B2AF1871C00DF9129 /* MultiplayerServer.h */, + 826AE63C2AF1871C00DF9129 /* CoreTypes.h */, + 826AE63D2AF1871C00DF9129 /* PlayerDataManagement.h */, + 826AE63E2AF1871C00DF9129 /* Experimentation.cpp */, + 826AE63F2AF1871C00DF9129 /* SegmentsTypes.h */, + 826AE6402AF1871C00DF9129 /* Groups.h */, + 826AE6412AF1871C00DF9129 /* ExperimentationTypes.h */, + 826AE6422AF1871C00DF9129 /* PlayerDataManagementTypes.cpp */, + 826AE6432AF1871C00DF9129 /* PFExperimentation.cpp */, + 826AE6442AF1871C00DF9129 /* PushNotifications.cpp */, + ); + path = Generated; + sourceTree = ""; + }; + 8286B1F42B73FEFA009A4677 /* Products */ = { + isa = PBXGroup; + children = ( + 8286B2012B73FEFA009A4677 /* libSSL.a */, + 8286B2032B73FEFA009A4677 /* libSSL.a */, + 8286B2052B73FEFA009A4677 /* libHttpClient.a */, + 8286B2072B73FEFA009A4677 /* libHttpClient.a */, + 8286B2092B73FEFA009A4677 /* libHttpClient_NOWEBSOCKETS.a */, + 8286B20B2B73FEFA009A4677 /* libHttpClient_NOWEBSOCKETS.a */, + 8286B20D2B73FEFA009A4677 /* HttpClient.framework */, + 8286B20F2B73FEFA009A4677 /* HttpClient.framework */, + 8286B2112B73FEFA009A4677 /* NOWEBSOCKETS/HttpClient.framework */, + 8286B2132B73FEFA009A4677 /* NOWEBSOCKETS/HttpClient.framework */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 826081502AEC31CA00D8B93D /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 826AE67D2AF1871C00DF9129 /* FriendsTypes.h in Headers */, + 826AE5A92AF186D500DF9129 /* TypeWrappers.h in Headers */, + 826AE6872AF1871C00DF9129 /* Inventory.h in Headers */, + 826AE5E62AF186D500DF9129 /* PFPlayerDataManagementTypes.h in Headers */, + 826AE5A42AF186D500DF9129 /* PFFriends.h in Headers */, + 826AE5DA2AF186D500DF9129 /* PFTitleDataManagementTypes.h in Headers */, + 826AE5AC2AF186D500DF9129 /* CloudScriptTypeWrappers.h in Headers */, + 826AE51C2AF1867400DF9129 /* PFServices.h in Headers */, + 826AE6A62AF1871C00DF9129 /* PlayerDataManagement.h in Headers */, + 826AE6542AF1871C00DF9129 /* PlatformSpecificTypes.h in Headers */, + 826AE5C72AF186D500DF9129 /* PFCharacterTypes.h in Headers */, + 826AE5CA2AF186D500DF9129 /* PFPlayerDataManagementTypes.h in Headers */, + 826AE59C2AF186D500DF9129 /* PFInventory.h in Headers */, + 826AE5CE2AF186D500DF9129 /* PFSegmentsTypes.h in Headers */, + 826AE5A52AF186D500DF9129 /* PFCatalogTypes.h in Headers */, + 826AE5CF2AF186D500DF9129 /* PFSegments.h in Headers */, + 826AE5CC2AF186D500DF9129 /* PFGroupsTypes.h in Headers */, + 826AE5D92AF186D500DF9129 /* PFData.h in Headers */, + 826AE59D2AF186D500DF9129 /* PFDataTypes.h in Headers */, + 826AE5A12AF186D500DF9129 /* PFExperimentation.h in Headers */, + 826AE5BF2AF186D500DF9129 /* PFCloudScriptTypes.h in Headers */, + 826AE6A92AF1871C00DF9129 /* Groups.h in Headers */, + 826AE6732AF1871C00DF9129 /* PlayerDataManagementTypes.h in Headers */, + 826AE5D52AF186D500DF9129 /* PFMultiplayerServerTypes.h in Headers */, + 826AE5DB2AF186D500DF9129 /* PFCloudScript.h in Headers */, + 826AE6772AF1871C00DF9129 /* TitleDataManagement.h in Headers */, + 826AE5AE2AF186D500DF9129 /* ExperimentationTypeWrappers.h in Headers */, + 826AE5DE2AF186D500DF9129 /* PFPlayerDataManagement.h in Headers */, + 826AE4202AF1841900DF9129 /* Platform.h in Headers */, + 826AE6892AF1871C00DF9129 /* DataTypes.h in Headers */, + 826AE41D2AF1841900DF9129 /* HttpClient.h in Headers */, + 826AE5C42AF186D500DF9129 /* PFAccountManagementTypes.h in Headers */, + 826AE5B62AF186D500DF9129 /* PlatformSpecificTypeWrappers.h in Headers */, + 826AE5E52AF186D500DF9129 /* PFGroups.h in Headers */, + 826AE5E02AF186D500DF9129 /* PFFriendsTypes.h in Headers */, + 826AE5C22AF186D500DF9129 /* PFExperimentationTypes.h in Headers */, + 826AE5E82AF186D500DF9129 /* PFGroupsTypes.h in Headers */, + 826AE5D32AF186D500DF9129 /* PFAccountManagement.h in Headers */, + 826AE5BE2AF186D500DF9129 /* PFCatalog.h in Headers */, + 826AE59E2AF186D500DF9129 /* PFLocalizationTypes.h in Headers */, + 826AE5982AF186D500DF9129 /* PFSegmentsTypes.h in Headers */, + 826AE5C62AF186D500DF9129 /* PFProfilesTypes.h in Headers */, + 826AE5DD2AF186D500DF9129 /* PFCloudScriptTypes.h in Headers */, + 826AE5B82AF186D500DF9129 /* PFLocalization.h in Headers */, + 826AE6AA2AF1871C00DF9129 /* ExperimentationTypes.h in Headers */, + 826AE41A2AF1841900DF9129 /* stdafx.h in Headers */, + 826AE5B92AF186D500DF9129 /* PFPushNotifications.h in Headers */, + 826AE5C92AF186D500DF9129 /* PFGroups.h in Headers */, + 826AE6632AF1871C00DF9129 /* Friends.h in Headers */, + 826AE5B52AF186D500DF9129 /* ProfilesTypeWrappers.h in Headers */, + 826AE5D12AF186D500DF9129 /* PFInventory.h in Headers */, + 826AE6802AF1871C00DF9129 /* GroupsTypes.h in Headers */, + 826AE5972AF186D500DF9129 /* PFTypes.h in Headers */, + 826AE5C02AF186D500DF9129 /* PFPlayerDataManagement.h in Headers */, + 826AE5E12AF186D500DF9129 /* PFAccountManagementTypes.h in Headers */, + 826AE59F2AF186D500DF9129 /* PFPushNotificationsTypes.h in Headers */, + 826AE6662AF1871C00DF9129 /* CatalogTypes.h in Headers */, + 826AE5BB2AF186D500DF9129 /* PFData.h in Headers */, + 826AE68D2AF1871C00DF9129 /* Segments.h in Headers */, + 826AE59A2AF186D500DF9129 /* PFTitleDataManagement.h in Headers */, + 826AE68E2AF1871C00DF9129 /* PlatformSpecific.h in Headers */, + 826AE5D02AF186D500DF9129 /* PFTitleDataManagement.h in Headers */, + 826AE6782AF1871C00DF9129 /* CloudScriptTypes.h in Headers */, + 826AE6792AF1871C00DF9129 /* MultiplayerServerTypes.h in Headers */, + 826AE6712AF1871C00DF9129 /* Experimentation.h in Headers */, + 826AE5E72AF186D500DF9129 /* PFInventoryTypes.h in Headers */, + 826AE67E2AF1871C00DF9129 /* CacheId.h in Headers */, + 826AE5D22AF186D500DF9129 /* PFDataTypes.h in Headers */, + 826AE5B02AF186D500DF9129 /* LocalizationTypeWrappers.h in Headers */, + 826AE5A62AF186D500DF9129 /* MultiplayerServerTypeWrappers.h in Headers */, + 826AE5DF2AF186D500DF9129 /* PFExperimentationTypes.h in Headers */, + 826AE6842AF1871C00DF9129 /* AccountManagement.h in Headers */, + 826AE59B2AF186D500DF9129 /* PFPlatformSpecific.h in Headers */, + 826AE5AD2AF186D500DF9129 /* SegmentsTypeWrappers.h in Headers */, + 826AE5D72AF186D500DF9129 /* PFCatalogTypes.h in Headers */, + 826AE5A82AF186D500DF9129 /* AccountManagementTypeWrappers.h in Headers */, + 826AE68F2AF1871C00DF9129 /* PushNotifications.h in Headers */, + 826AE5DC2AF186D500DF9129 /* PFCatalog.h in Headers */, + 826AE5E42AF186D500DF9129 /* PFServices.h in Headers */, + 826AE5B32AF186D500DF9129 /* InventoryTypeWrappers.h in Headers */, + 826AE68C2AF1871C00DF9129 /* PushNotificationsTypes.h in Headers */, + 826AE5A32AF186D500DF9129 /* PFPlatformSpecificTypes.h in Headers */, + 826AE67A2AF1871C00DF9129 /* Catalog.h in Headers */, + 826AE5B12AF186D500DF9129 /* TitleDataManagementTypeWrappers.h in Headers */, + 826AE5B72AF186D500DF9129 /* FriendsTypeWrappers.h in Headers */, + 826AE5A02AF186D500DF9129 /* PFAccountManagement.h in Headers */, + 826AE65D2AF1871C00DF9129 /* InventoryTypes.h in Headers */, + 826AE6672AF1871C00DF9129 /* AccountManagementTypes.h in Headers */, + 826AE5E32AF186D500DF9129 /* PFProfilesTypes.h in Headers */, + 826AE5BC2AF186D500DF9129 /* PFTitleDataManagementTypes.h in Headers */, + 826AE66C2AF1871C00DF9129 /* CloudScript.h in Headers */, + 826AE6602AF1871C00DF9129 /* Profiles.h in Headers */, + 826AE5B42AF186D500DF9129 /* PushNotificationsTypeWrappers.h in Headers */, + 826AE6592AF1871C00DF9129 /* Localization.h in Headers */, + 826AE6A52AF1871C00DF9129 /* CoreTypes.h in Headers */, + 826AE5C52AF186D500DF9129 /* PFMultiplayerServer.h in Headers */, + 826AE5CD2AF186D500DF9129 /* PFTypes.h in Headers */, + 826AE5992AF186D500DF9129 /* PFSegments.h in Headers */, + 826AE5B22AF186D500DF9129 /* PlayerDataManagementTypeWrappers.h in Headers */, + 826AE5C12AF186D500DF9129 /* PFCharacter.h in Headers */, + 826AE5A72AF186D500DF9129 /* DataTypeWrappers.h in Headers */, + 826AE41B2AF1841900DF9129 /* GlobalState.h in Headers */, + 826AE5C32AF186D500DF9129 /* PFFriendsTypes.h in Headers */, + 826AE5AB2AF186D500DF9129 /* CatalogTypeWrappers.h in Headers */, + 826AE5CB2AF186D500DF9129 /* PFInventoryTypes.h in Headers */, + 826AE66E2AF1871C00DF9129 /* Data.h in Headers */, + 826AE5E22AF186D500DF9129 /* PFMultiplayerServer.h in Headers */, + 826AE6572AF1871C00DF9129 /* ProfilesTypes.h in Headers */, + 826AE66F2AF1871C00DF9129 /* LocalizationTypes.h in Headers */, + 826AE6A82AF1871C00DF9129 /* SegmentsTypes.h in Headers */, + 826AE5BA2AF186D500DF9129 /* PFProfiles.h in Headers */, + 826AE6582AF1871C00DF9129 /* CharacterTypes.h in Headers */, + 826AE5AA2AF186D500DF9129 /* GroupsTypeWrappers.h in Headers */, + 826AE5AF2AF186D500DF9129 /* CharacterTypeWrappers.h in Headers */, + 826AE5D62AF186D500DF9129 /* PFFriends.h in Headers */, + 826AE5BD2AF186D500DF9129 /* PFCloudScript.h in Headers */, + 826AE6612AF1871C00DF9129 /* TitleDataManagementTypes.h in Headers */, + 826AE5A22AF186D500DF9129 /* PFMultiplayerServerTypes.h in Headers */, + 826AE6A42AF1871C00DF9129 /* MultiplayerServer.h in Headers */, + 826AE5D82AF186D500DF9129 /* PFProfiles.h in Headers */, + 826AE5D42AF186D500DF9129 /* PFExperimentation.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 82B3CB282B5B016B00337232 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 82B3CB292B5B016B00337232 /* FriendsTypes.h in Headers */, + 82B3CB2A2B5B016B00337232 /* TypeWrappers.h in Headers */, + 82B3CB2B2B5B016B00337232 /* Inventory.h in Headers */, + 82B3CB2C2B5B016B00337232 /* PFPlayerDataManagementTypes.h in Headers */, + 82B3CB2D2B5B016B00337232 /* PFFriends.h in Headers */, + 82B3CB2E2B5B016B00337232 /* PFTitleDataManagementTypes.h in Headers */, + 82B3CB2F2B5B016B00337232 /* CloudScriptTypeWrappers.h in Headers */, + 82B3CB302B5B016B00337232 /* PFServices.h in Headers */, + 82B3CB312B5B016B00337232 /* PlayerDataManagement.h in Headers */, + 82B3CB322B5B016B00337232 /* PlatformSpecificTypes.h in Headers */, + 82B3CB332B5B016B00337232 /* PFCharacterTypes.h in Headers */, + 82B3CB342B5B016B00337232 /* PFPlayerDataManagementTypes.h in Headers */, + 82B3CB352B5B016B00337232 /* PFInventory.h in Headers */, + 82B3CB362B5B016B00337232 /* PFSegmentsTypes.h in Headers */, + 82B3CB372B5B016B00337232 /* PFCatalogTypes.h in Headers */, + 82B3CB382B5B016B00337232 /* PFSegments.h in Headers */, + 82B3CB392B5B016B00337232 /* PFGroupsTypes.h in Headers */, + 82B3CB3A2B5B016B00337232 /* PFData.h in Headers */, + 82B3CB3B2B5B016B00337232 /* PFDataTypes.h in Headers */, + 82B3CB3C2B5B016B00337232 /* PFExperimentation.h in Headers */, + 82B3CB3D2B5B016B00337232 /* PFCloudScriptTypes.h in Headers */, + 82B3CB3E2B5B016B00337232 /* Groups.h in Headers */, + 82B3CB3F2B5B016B00337232 /* PlayerDataManagementTypes.h in Headers */, + 82B3CB402B5B016B00337232 /* PFMultiplayerServerTypes.h in Headers */, + 82B3CB412B5B016B00337232 /* PFCloudScript.h in Headers */, + 82B3CB422B5B016B00337232 /* TitleDataManagement.h in Headers */, + 82B3CB432B5B016B00337232 /* ExperimentationTypeWrappers.h in Headers */, + 82B3CB442B5B016B00337232 /* PFPlayerDataManagement.h in Headers */, + 82B3CB452B5B016B00337232 /* Platform.h in Headers */, + 82B3CB462B5B016B00337232 /* DataTypes.h in Headers */, + 82B3CB472B5B016B00337232 /* HttpClient.h in Headers */, + 82B3CB482B5B016B00337232 /* PFAccountManagementTypes.h in Headers */, + 82B3CB492B5B016B00337232 /* PlatformSpecificTypeWrappers.h in Headers */, + 82B3CB4A2B5B016B00337232 /* PFGroups.h in Headers */, + 82B3CB4B2B5B016B00337232 /* PFFriendsTypes.h in Headers */, + 82B3CB4C2B5B016B00337232 /* PFExperimentationTypes.h in Headers */, + 82B3CB4D2B5B016B00337232 /* PFGroupsTypes.h in Headers */, + 82B3CB4E2B5B016B00337232 /* PFAccountManagement.h in Headers */, + 82B3CB4F2B5B016B00337232 /* PFCatalog.h in Headers */, + 82B3CB502B5B016B00337232 /* PFLocalizationTypes.h in Headers */, + 82B3CB512B5B016B00337232 /* PFSegmentsTypes.h in Headers */, + 82B3CB522B5B016B00337232 /* PFProfilesTypes.h in Headers */, + 82B3CB532B5B016B00337232 /* PFCloudScriptTypes.h in Headers */, + 82B3CB542B5B016B00337232 /* PFLocalization.h in Headers */, + 82B3CB552B5B016B00337232 /* ExperimentationTypes.h in Headers */, + 82B3CB562B5B016B00337232 /* stdafx.h in Headers */, + 82B3CB572B5B016B00337232 /* PFPushNotifications.h in Headers */, + 82B3CB582B5B016B00337232 /* PFGroups.h in Headers */, + 82B3CB592B5B016B00337232 /* Friends.h in Headers */, + 82B3CB5A2B5B016B00337232 /* ProfilesTypeWrappers.h in Headers */, + 82B3CB5B2B5B016B00337232 /* PFInventory.h in Headers */, + 82B3CB5C2B5B016B00337232 /* GroupsTypes.h in Headers */, + 82B3CB5D2B5B016B00337232 /* PFTypes.h in Headers */, + 82B3CB5E2B5B016B00337232 /* PFPlayerDataManagement.h in Headers */, + 82B3CB5F2B5B016B00337232 /* PFAccountManagementTypes.h in Headers */, + 82B3CB602B5B016B00337232 /* PFPushNotificationsTypes.h in Headers */, + 82B3CB612B5B016B00337232 /* CatalogTypes.h in Headers */, + 82B3CB622B5B016B00337232 /* PFData.h in Headers */, + 82B3CB632B5B016B00337232 /* Segments.h in Headers */, + 82B3CB642B5B016B00337232 /* PFTitleDataManagement.h in Headers */, + 82B3CB652B5B016B00337232 /* PlatformSpecific.h in Headers */, + 82B3CB662B5B016B00337232 /* PFTitleDataManagement.h in Headers */, + 82B3CB672B5B016B00337232 /* CloudScriptTypes.h in Headers */, + 82B3CB682B5B016B00337232 /* MultiplayerServerTypes.h in Headers */, + 82B3CB692B5B016B00337232 /* Experimentation.h in Headers */, + 82B3CB6A2B5B016B00337232 /* PFInventoryTypes.h in Headers */, + 82B3CB6B2B5B016B00337232 /* CacheId.h in Headers */, + 82B3CB6C2B5B016B00337232 /* PFDataTypes.h in Headers */, + 82B3CB6D2B5B016B00337232 /* LocalizationTypeWrappers.h in Headers */, + 82B3CB6E2B5B016B00337232 /* MultiplayerServerTypeWrappers.h in Headers */, + 82B3CB6F2B5B016B00337232 /* PFExperimentationTypes.h in Headers */, + 82B3CB702B5B016B00337232 /* AccountManagement.h in Headers */, + 82B3CB712B5B016B00337232 /* PFPlatformSpecific.h in Headers */, + 82B3CB722B5B016B00337232 /* SegmentsTypeWrappers.h in Headers */, + 82B3CB732B5B016B00337232 /* PFCatalogTypes.h in Headers */, + 82B3CB742B5B016B00337232 /* AccountManagementTypeWrappers.h in Headers */, + 82B3CB752B5B016B00337232 /* PushNotifications.h in Headers */, + 82B3CB762B5B016B00337232 /* PFCatalog.h in Headers */, + 82B3CB772B5B016B00337232 /* PFServices.h in Headers */, + 82B3CB782B5B016B00337232 /* InventoryTypeWrappers.h in Headers */, + 82B3CB792B5B016B00337232 /* PushNotificationsTypes.h in Headers */, + 82B3CB7A2B5B016B00337232 /* PFPlatformSpecificTypes.h in Headers */, + 82B3CB7B2B5B016B00337232 /* Catalog.h in Headers */, + 82B3CB7C2B5B016B00337232 /* TitleDataManagementTypeWrappers.h in Headers */, + 82B3CB7D2B5B016B00337232 /* FriendsTypeWrappers.h in Headers */, + 82B3CB7E2B5B016B00337232 /* PFAccountManagement.h in Headers */, + 82B3CB7F2B5B016B00337232 /* InventoryTypes.h in Headers */, + 82B3CB802B5B016B00337232 /* AccountManagementTypes.h in Headers */, + 82B3CB812B5B016B00337232 /* PFProfilesTypes.h in Headers */, + 82B3CB822B5B016B00337232 /* PFTitleDataManagementTypes.h in Headers */, + 82B3CB832B5B016B00337232 /* CloudScript.h in Headers */, + 82B3CB842B5B016B00337232 /* Profiles.h in Headers */, + 82B3CB852B5B016B00337232 /* PushNotificationsTypeWrappers.h in Headers */, + 82B3CB862B5B016B00337232 /* Localization.h in Headers */, + 82B3CB872B5B016B00337232 /* CoreTypes.h in Headers */, + 82B3CB882B5B016B00337232 /* PFMultiplayerServer.h in Headers */, + 82B3CB892B5B016B00337232 /* PFTypes.h in Headers */, + 82B3CB8A2B5B016B00337232 /* PFSegments.h in Headers */, + 82B3CB8B2B5B016B00337232 /* PlayerDataManagementTypeWrappers.h in Headers */, + 82B3CB8C2B5B016B00337232 /* PFCharacter.h in Headers */, + 82B3CB8D2B5B016B00337232 /* DataTypeWrappers.h in Headers */, + 82B3CB8E2B5B016B00337232 /* GlobalState.h in Headers */, + 82B3CB8F2B5B016B00337232 /* PFFriendsTypes.h in Headers */, + 82B3CB902B5B016B00337232 /* CatalogTypeWrappers.h in Headers */, + 82B3CB912B5B016B00337232 /* PFInventoryTypes.h in Headers */, + 82B3CB922B5B016B00337232 /* Data.h in Headers */, + 82B3CB932B5B016B00337232 /* PFMultiplayerServer.h in Headers */, + 82B3CB942B5B016B00337232 /* ProfilesTypes.h in Headers */, + 82B3CB952B5B016B00337232 /* LocalizationTypes.h in Headers */, + 82B3CB962B5B016B00337232 /* SegmentsTypes.h in Headers */, + 82B3CB972B5B016B00337232 /* PFProfiles.h in Headers */, + 82B3CB982B5B016B00337232 /* CharacterTypes.h in Headers */, + 82B3CB992B5B016B00337232 /* GroupsTypeWrappers.h in Headers */, + 82B3CB9A2B5B016B00337232 /* CharacterTypeWrappers.h in Headers */, + 82B3CB9B2B5B016B00337232 /* PFFriends.h in Headers */, + 82B3CB9C2B5B016B00337232 /* PFCloudScript.h in Headers */, + 82B3CB9D2B5B016B00337232 /* TitleDataManagementTypes.h in Headers */, + 82B3CB9E2B5B016B00337232 /* PFMultiplayerServerTypes.h in Headers */, + 82B3CB9F2B5B016B00337232 /* MultiplayerServer.h in Headers */, + 82B3CBA02B5B016B00337232 /* PFProfiles.h in Headers */, + 82B3CBA12B5B016B00337232 /* PFExperimentation.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 826081542AEC31CA00D8B93D /* PlayFabServices_iOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 8260815C2AEC31CA00D8B93D /* Build configuration list for PBXNativeTarget "PlayFabServices_iOS" */; + buildPhases = ( + 826081502AEC31CA00D8B93D /* Headers */, + 826081512AEC31CA00D8B93D /* Sources */, + 826081522AEC31CA00D8B93D /* Frameworks */, + 826081532AEC31CA00D8B93D /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 8206F0562B740CB500451339 /* PBXTargetDependency */, + ); + name = PlayFabServices_iOS; + productName = PlayFabServices.iOS; + productReference = 826081552AEC31CA00D8B93D /* PlayFabServices_iOS.framework */; + productType = "com.apple.product-type.framework"; + }; + 82B3CB272B5B016B00337232 /* PlayFabServices_macOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 82B3CBE32B5B016B00337232 /* Build configuration list for PBXNativeTarget "PlayFabServices_macOS" */; + buildPhases = ( + 82B3CB282B5B016B00337232 /* Headers */, + 82B3CBA22B5B016B00337232 /* Sources */, + 82B3CBDC2B5B016B00337232 /* Frameworks */, + 82B3CBE22B5B016B00337232 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 8286B2152B73FF0C009A4677 /* PBXTargetDependency */, + ); + name = PlayFabServices_macOS; + productName = PlayFabServices.iOS; + productReference = 82B3CBE62B5B016B00337232 /* PlayFabServices_macOS.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 8260814C2AEC31CA00D8B93D /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastUpgradeCheck = 1500; + TargetAttributes = { + 826081542AEC31CA00D8B93D = { + CreatedOnToolsVersion = 15.0; + }; + }; + }; + buildConfigurationList = 8260814F2AEC31CA00D8B93D /* Build configuration list for PBXProject "PlayFabServices.Apple" */; + compatibilityVersion = "Xcode 14.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 8260814B2AEC31CA00D8B93D; + productRefGroup = 826081562AEC31CA00D8B93D /* Products */; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = 8286B1F42B73FEFA009A4677 /* Products */; + ProjectRef = 8286B1F32B73FEFA009A4677 /* libHttpClient.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + 826081542AEC31CA00D8B93D /* PlayFabServices_iOS */, + 82B3CB272B5B016B00337232 /* PlayFabServices_macOS */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + 8286B2012B73FEFA009A4677 /* libSSL.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libSSL.a; + remoteRef = 8286B2002B73FEFA009A4677 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 8286B2032B73FEFA009A4677 /* libSSL.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libSSL.a; + remoteRef = 8286B2022B73FEFA009A4677 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 8286B2052B73FEFA009A4677 /* libHttpClient.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libHttpClient.a; + remoteRef = 8286B2042B73FEFA009A4677 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 8286B2072B73FEFA009A4677 /* libHttpClient.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libHttpClient.a; + remoteRef = 8286B2062B73FEFA009A4677 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 8286B2092B73FEFA009A4677 /* libHttpClient_NOWEBSOCKETS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libHttpClient_NOWEBSOCKETS.a; + remoteRef = 8286B2082B73FEFA009A4677 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 8286B20B2B73FEFA009A4677 /* libHttpClient_NOWEBSOCKETS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libHttpClient_NOWEBSOCKETS.a; + remoteRef = 8286B20A2B73FEFA009A4677 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 8286B20D2B73FEFA009A4677 /* HttpClient.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = HttpClient.framework; + remoteRef = 8286B20C2B73FEFA009A4677 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 8286B20F2B73FEFA009A4677 /* HttpClient.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = HttpClient.framework; + remoteRef = 8286B20E2B73FEFA009A4677 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 8286B2112B73FEFA009A4677 /* NOWEBSOCKETS/HttpClient.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = NOWEBSOCKETS/HttpClient.framework; + remoteRef = 8286B2102B73FEFA009A4677 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 8286B2132B73FEFA009A4677 /* NOWEBSOCKETS/HttpClient.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = NOWEBSOCKETS/HttpClient.framework; + remoteRef = 8286B2122B73FEFA009A4677 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXResourcesBuildPhase section */ + 826081532AEC31CA00D8B93D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 82B3CBE22B5B016B00337232 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 826081512AEC31CA00D8B93D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 826AE6A32AF1871C00DF9129 /* Inventory.cpp in Sources */, + 826AE6A22AF1871C00DF9129 /* AccountManagement.cpp in Sources */, + 826AE6692AF1871C00DF9129 /* PushNotificationsTypes.cpp in Sources */, + 826AE6722AF1871C00DF9129 /* TitleDataManagementTypes.cpp in Sources */, + 826AE67F2AF1871C00DF9129 /* PFCatalog.cpp in Sources */, + 826AE6AC2AF1871C00DF9129 /* PFExperimentation.cpp in Sources */, + 826AE69D2AF1871C00DF9129 /* PlayerDataManagement.cpp in Sources */, + 826AE6552AF1871C00DF9129 /* Groups.cpp in Sources */, + 826AE6962AF1871C00DF9129 /* MultiplayerServerTypes.cpp in Sources */, + 826AE69E2AF1871C00DF9129 /* ProfilesTypes.cpp in Sources */, + 826AE6622AF1871C00DF9129 /* PFCloudScript.cpp in Sources */, + 826AE6AB2AF1871C00DF9129 /* PlayerDataManagementTypes.cpp in Sources */, + 826AE65B2AF1871C00DF9129 /* CatalogTypes.cpp in Sources */, + 826AE6A72AF1871C00DF9129 /* Experimentation.cpp in Sources */, + 826AE6562AF1871C00DF9129 /* ExperimentationTypes.cpp in Sources */, + 826AE6742AF1871C00DF9129 /* Friends.cpp in Sources */, + 826AE6A12AF1871C00DF9129 /* CharacterTypes.cpp in Sources */, + 826AE69A2AF1871C00DF9129 /* CloudScript.cpp in Sources */, + 826AE65A2AF1871C00DF9129 /* InventoryTypes.cpp in Sources */, + 826AE65C2AF1871C00DF9129 /* Segments.cpp in Sources */, + 826AE6902AF1871C00DF9129 /* PFPlatformSpecific.cpp in Sources */, + 826AE6642AF1871C00DF9129 /* PFMultiplayerServer.cpp in Sources */, + 826AE68B2AF1871C00DF9129 /* CoreTypes.cpp in Sources */, + 826AE6922AF1871C00DF9129 /* CloudScriptTypes.cpp in Sources */, + 826AE66B2AF1871C00DF9129 /* Profiles.cpp in Sources */, + 826AE6682AF1871C00DF9129 /* PFPlayerDataManagement.cpp in Sources */, + 826AE6882AF1871C00DF9129 /* PlatformSpecificTypes.cpp in Sources */, + 826AE6752AF1871C00DF9129 /* Localization.cpp in Sources */, + 826AE6942AF1871C00DF9129 /* PFLocalization.cpp in Sources */, + 826AE69C2AF1871C00DF9129 /* PFProfiles.cpp in Sources */, + 826AE6812AF1871C00DF9129 /* PFData.cpp in Sources */, + 826AE6762AF1871C00DF9129 /* PFInventory.cpp in Sources */, + 826AE41F2AF1841900DF9129 /* HttpClient.cpp in Sources */, + 826AE6AD2AF1871C00DF9129 /* PushNotifications.cpp in Sources */, + 826AE6952AF1871C00DF9129 /* PFAccountManagement.cpp in Sources */, + 826AE6862AF1871C00DF9129 /* LocalizationTypes.cpp in Sources */, + 826AE41C2AF1841900DF9129 /* GlobalState.cpp in Sources */, + 826AE6992AF1871C00DF9129 /* PFCharacter.cpp in Sources */, + 826AE6832AF1871C00DF9129 /* Data.cpp in Sources */, + 826AE6A02AF1871C00DF9129 /* PFFriends.cpp in Sources */, + 826AE65E2AF1871C00DF9129 /* AccountManagementTypes.cpp in Sources */, + 826AE6972AF1871C00DF9129 /* TitleDataManagement.cpp in Sources */, + 826AE69F2AF1871C00DF9129 /* PFSegments.cpp in Sources */, + 826AE4212AF1841900DF9129 /* PFServices.cpp in Sources */, + 826AE6932AF1871C00DF9129 /* PFPushNotifications.cpp in Sources */, + 826AE6822AF1871C00DF9129 /* DataTypes.cpp in Sources */, + 826AE67B2AF1871C00DF9129 /* PlatformSpecific.cpp in Sources */, + 826AE6982AF1871C00DF9129 /* SegmentsTypes.cpp in Sources */, + 826AE68A2AF1871C00DF9129 /* FriendsTypes.cpp in Sources */, + 826AE4222AF1841900DF9129 /* stdafx.cpp in Sources */, + 826AE6702AF1871C00DF9129 /* PFTitleDataManagement.cpp in Sources */, + 826AE6652AF1871C00DF9129 /* GroupsTypes.cpp in Sources */, + 826AE6852AF1871C00DF9129 /* MultiplayerServer.cpp in Sources */, + 826AE69B2AF1871C00DF9129 /* Catalog.cpp in Sources */, + 826AE6912AF1871C00DF9129 /* PFGroups.cpp in Sources */, + 826AE41E2AF1841900DF9129 /* Platform.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 82B3CBA22B5B016B00337232 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 82B3CBA32B5B016B00337232 /* Inventory.cpp in Sources */, + 82B3CBA42B5B016B00337232 /* AccountManagement.cpp in Sources */, + 82B3CBA52B5B016B00337232 /* PushNotificationsTypes.cpp in Sources */, + 82B3CBA62B5B016B00337232 /* TitleDataManagementTypes.cpp in Sources */, + 82B3CBA72B5B016B00337232 /* PFCatalog.cpp in Sources */, + 82B3CBA82B5B016B00337232 /* PFExperimentation.cpp in Sources */, + 82B3CBA92B5B016B00337232 /* PlayerDataManagement.cpp in Sources */, + 82B3CBAA2B5B016B00337232 /* Groups.cpp in Sources */, + 82B3CBAB2B5B016B00337232 /* MultiplayerServerTypes.cpp in Sources */, + 82B3CBAC2B5B016B00337232 /* ProfilesTypes.cpp in Sources */, + 82B3CBAD2B5B016B00337232 /* PFCloudScript.cpp in Sources */, + 82B3CBAE2B5B016B00337232 /* PlayerDataManagementTypes.cpp in Sources */, + 82B3CBAF2B5B016B00337232 /* CatalogTypes.cpp in Sources */, + 82B3CBB02B5B016B00337232 /* Experimentation.cpp in Sources */, + 82B3CBB12B5B016B00337232 /* ExperimentationTypes.cpp in Sources */, + 82B3CBB22B5B016B00337232 /* Friends.cpp in Sources */, + 82B3CBB32B5B016B00337232 /* CharacterTypes.cpp in Sources */, + 82B3CBB42B5B016B00337232 /* CloudScript.cpp in Sources */, + 82B3CBB62B5B016B00337232 /* InventoryTypes.cpp in Sources */, + 82B3CBB72B5B016B00337232 /* Segments.cpp in Sources */, + 82B3CBB82B5B016B00337232 /* PFPlatformSpecific.cpp in Sources */, + 82B3CBB92B5B016B00337232 /* PFMultiplayerServer.cpp in Sources */, + 82B3CBBA2B5B016B00337232 /* CoreTypes.cpp in Sources */, + 82B3CBBB2B5B016B00337232 /* CloudScriptTypes.cpp in Sources */, + 82B3CBBC2B5B016B00337232 /* Profiles.cpp in Sources */, + 82B3CBBD2B5B016B00337232 /* PFPlayerDataManagement.cpp in Sources */, + 82B3CBBE2B5B016B00337232 /* PlatformSpecificTypes.cpp in Sources */, + 82B3CBBF2B5B016B00337232 /* Localization.cpp in Sources */, + 82B3CBC02B5B016B00337232 /* PFLocalization.cpp in Sources */, + 82B3CBC12B5B016B00337232 /* PFProfiles.cpp in Sources */, + 82B3CBC22B5B016B00337232 /* PFData.cpp in Sources */, + 82B3CBC32B5B016B00337232 /* PFInventory.cpp in Sources */, + 82B3CBC42B5B016B00337232 /* HttpClient.cpp in Sources */, + 82B3CBC52B5B016B00337232 /* PushNotifications.cpp in Sources */, + 82B3CBC62B5B016B00337232 /* PFAccountManagement.cpp in Sources */, + 82B3CBC72B5B016B00337232 /* LocalizationTypes.cpp in Sources */, + 82B3CBC82B5B016B00337232 /* GlobalState.cpp in Sources */, + 82B3CBC92B5B016B00337232 /* PFCharacter.cpp in Sources */, + 82B3CBCA2B5B016B00337232 /* Data.cpp in Sources */, + 82B3CBCB2B5B016B00337232 /* PFFriends.cpp in Sources */, + 82B3CBCC2B5B016B00337232 /* AccountManagementTypes.cpp in Sources */, + 82B3CBCD2B5B016B00337232 /* TitleDataManagement.cpp in Sources */, + 82B3CBCE2B5B016B00337232 /* PFSegments.cpp in Sources */, + 82B3CBCF2B5B016B00337232 /* PFServices.cpp in Sources */, + 82B3CBD02B5B016B00337232 /* PFPushNotifications.cpp in Sources */, + 82B3CBD12B5B016B00337232 /* DataTypes.cpp in Sources */, + 82B3CBD22B5B016B00337232 /* PlatformSpecific.cpp in Sources */, + 82B3CBD32B5B016B00337232 /* SegmentsTypes.cpp in Sources */, + 82B3CBD42B5B016B00337232 /* FriendsTypes.cpp in Sources */, + 82B3CBD52B5B016B00337232 /* stdafx.cpp in Sources */, + 82B3CBD62B5B016B00337232 /* PFTitleDataManagement.cpp in Sources */, + 82B3CBD72B5B016B00337232 /* GroupsTypes.cpp in Sources */, + 82B3CBD82B5B016B00337232 /* MultiplayerServer.cpp in Sources */, + 82B3CBD92B5B016B00337232 /* Catalog.cpp in Sources */, + 82B3CBDA2B5B016B00337232 /* PFGroups.cpp in Sources */, + 82B3CBDB2B5B016B00337232 /* Platform.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 8206F0562B740CB500451339 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = libHttpClientFramework_iOS; + targetProxy = 8206F0552B740CB500451339 /* PBXContainerItemProxy */; + }; + 8286B2152B73FF0C009A4677 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = libHttpClientFramework_macOS; + targetProxy = 8286B2142B73FF0C009A4677 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 8260815A2AEC31CA00D8B93D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + "HC_LINK_STATIC=1", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + OTHER_CPLUSPLUSFLAGS = ( + "$(OTHER_CFLAGS)", + "-fstack-protector-strong", + "-fPIC", + "-Wformat", + "-Wformat-security", + "-Werror=format-security", + ); + REEXPORTED_FRAMEWORK_NAMES = HttpClient; + SDKROOT = iphoneos; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 8260815B2AEC31CA00D8B93D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = "HC_LINK_STATIC=1"; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + OTHER_CPLUSPLUSFLAGS = ( + "$(OTHER_CFLAGS)", + "-fstack-protector-strong", + "-fPIC", + "-Wformat", + "-Wformat-security", + "-Werror=format-security", + ); + REEXPORTED_FRAMEWORK_NAMES = HttpClient; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 8260815D2AEC31CA00D8B93D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = NO; + DEVELOPMENT_TEAM = UBF8T346G9; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; + EXPORTED_SYMBOLS_FILE = "$(SRCROOT)/../../Build/PlayFabServices.Apple/symbols.iOS.exp"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GENERATE_INFOPLIST_FILE = YES; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../../../libHttpClient/Include", + "$(SRCROOT)/../../External/rapidjson/include", + "$(SRCROOT)/../../Source/PlayFabSharedInternal/Include", + "$(SRCROOT)/../../Source/PlayFabSharedInternal/Include/Generated", + "$(SRCROOT)/../../Source/PlayFabCore/Include", + "$(SRCROOT)/../../Source/PlayFabCore/Include/Generated", + "$(SRCROOT)/../../Source/PlayFabServices/Include", + "$(SRCROOT)/../../Source/PlayFabServices/Include/Generated", + "$(SRCROOT)/../../Source/PlayFabServices/Source", + "$(SRCROOT)/../../Source/PlayFabServices/Source/Generated", + ); + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; + PRODUCT_BUNDLE_IDENTIFIER = "Microsoft.PlayFabServices-iOS"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = NO; + SWIFT_EMIT_LOC_STRINGS = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + USER_HEADER_SEARCH_PATHS = ""; + }; + name = Debug; + }; + 8260815E2AEC31CA00D8B93D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = NO; + DEVELOPMENT_TEAM = UBF8T346G9; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; + EXPORTED_SYMBOLS_FILE = "$(SRCROOT)/../../Build/PlayFabServices.Apple/symbols.iOS.exp"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GENERATE_INFOPLIST_FILE = YES; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../../../libHttpClient/Include", + "$(SRCROOT)/../../External/rapidjson/include", + "$(SRCROOT)/../../Source/PlayFabSharedInternal/Include", + "$(SRCROOT)/../../Source/PlayFabSharedInternal/Include/Generated", + "$(SRCROOT)/../../Source/PlayFabCore/Include", + "$(SRCROOT)/../../Source/PlayFabCore/Include/Generated", + "$(SRCROOT)/../../Source/PlayFabServices/Include", + "$(SRCROOT)/../../Source/PlayFabServices/Include/Generated", + "$(SRCROOT)/../../Source/PlayFabServices/Source", + "$(SRCROOT)/../../Source/PlayFabServices/Source/Generated", + ); + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; + PRODUCT_BUNDLE_IDENTIFIER = "Microsoft.PlayFabServices-iOS"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = NO; + SWIFT_EMIT_LOC_STRINGS = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + USER_HEADER_SEARCH_PATHS = ""; + }; + name = Release; + }; + 82B3CBE42B5B016B00337232 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = NO; + DEVELOPMENT_TEAM = UBF8T346G9; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; + EXPORTED_SYMBOLS_FILE = "$(SRCROOT)/../../Build/PlayFabServices.Apple/symbols.macOS.exp"; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GENERATE_INFOPLIST_FILE = YES; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../../../libHttpClient/Include", + "$(SRCROOT)/../../External/rapidjson/include", + "$(SRCROOT)/../../Source/PlayFabSharedInternal/Include", + "$(SRCROOT)/../../Source/PlayFabSharedInternal/Include/Generated", + "$(SRCROOT)/../../Source/PlayFabCore/Include", + "$(SRCROOT)/../../Source/PlayFabCore/Include/Generated", + "$(SRCROOT)/../../Source/PlayFabServices/Include", + "$(SRCROOT)/../../Source/PlayFabServices/Include/Generated", + "$(SRCROOT)/../../Source/PlayFabServices/Source", + "$(SRCROOT)/../../Source/PlayFabServices/Source/Generated", + ); + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; + PRODUCT_BUNDLE_IDENTIFIER = "Microsoft.PlayFabServices-macOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + REEXPORTED_FRAMEWORK_NAMES = HttpClient; + SDKROOT = macosx; + SKIP_INSTALL = NO; + SWIFT_EMIT_LOC_STRINGS = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + USER_HEADER_SEARCH_PATHS = ""; + }; + name = Debug; + }; + 82B3CBE52B5B016B00337232 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = NO; + DEVELOPMENT_TEAM = UBF8T346G9; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; + EXPORTED_SYMBOLS_FILE = "$(SRCROOT)/../../Build/PlayFabServices.Apple/symbols.macOS.exp"; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GENERATE_INFOPLIST_FILE = YES; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../../../libHttpClient/Include", + "$(SRCROOT)/../../External/rapidjson/include", + "$(SRCROOT)/../../Source/PlayFabSharedInternal/Include", + "$(SRCROOT)/../../Source/PlayFabSharedInternal/Include/Generated", + "$(SRCROOT)/../../Source/PlayFabCore/Include", + "$(SRCROOT)/../../Source/PlayFabCore/Include/Generated", + "$(SRCROOT)/../../Source/PlayFabServices/Include", + "$(SRCROOT)/../../Source/PlayFabServices/Include/Generated", + "$(SRCROOT)/../../Source/PlayFabServices/Source", + "$(SRCROOT)/../../Source/PlayFabServices/Source/Generated", + ); + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; + PRODUCT_BUNDLE_IDENTIFIER = "Microsoft.PlayFabServices-macOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + REEXPORTED_FRAMEWORK_NAMES = HttpClient; + SDKROOT = macosx; + SKIP_INSTALL = NO; + SWIFT_EMIT_LOC_STRINGS = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + USER_HEADER_SEARCH_PATHS = ""; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 8260814F2AEC31CA00D8B93D /* Build configuration list for PBXProject "PlayFabServices.Apple" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 8260815A2AEC31CA00D8B93D /* Debug */, + 8260815B2AEC31CA00D8B93D /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 8260815C2AEC31CA00D8B93D /* Build configuration list for PBXNativeTarget "PlayFabServices_iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 8260815D2AEC31CA00D8B93D /* Debug */, + 8260815E2AEC31CA00D8B93D /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 82B3CBE32B5B016B00337232 /* Build configuration list for PBXNativeTarget "PlayFabServices_macOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 82B3CBE42B5B016B00337232 /* Debug */, + 82B3CBE52B5B016B00337232 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 8260814C2AEC31CA00D8B93D /* Project object */; +} diff --git a/Build/PlayFabServices.Apple/PlayFabServices.Apple.xcodeproj/xcshareddata/xcschemes/PlayFabServices_iOS.xcscheme b/Build/PlayFabServices.Apple/PlayFabServices.Apple.xcodeproj/xcshareddata/xcschemes/PlayFabServices_iOS.xcscheme new file mode 100644 index 0000000..8bb4c95 --- /dev/null +++ b/Build/PlayFabServices.Apple/PlayFabServices.Apple.xcodeproj/xcshareddata/xcschemes/PlayFabServices_iOS.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Build/PlayFabServices.Apple/PlayFabServices.Apple.xcodeproj/xcshareddata/xcschemes/PlayFabServices_macOS.xcscheme b/Build/PlayFabServices.Apple/PlayFabServices.Apple.xcodeproj/xcshareddata/xcschemes/PlayFabServices_macOS.xcscheme new file mode 100644 index 0000000..f3a5d67 --- /dev/null +++ b/Build/PlayFabServices.Apple/PlayFabServices.Apple.xcodeproj/xcshareddata/xcschemes/PlayFabServices_macOS.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Build/PlayFabServices.Apple/symbols.iOS.exp b/Build/PlayFabServices.Apple/symbols.iOS.exp new file mode 100644 index 0000000..bcf8e4a --- /dev/null +++ b/Build/PlayFabServices.Apple/symbols.iOS.exp @@ -0,0 +1,262 @@ +_PFAccountManagementClientGetAccountInfoAsync +_PFAccountManagementClientGetAccountInfoGetResult +_PFAccountManagementClientGetAccountInfoGetResultSize +_PFAccountManagementClientGetPlayFabIDsFromFacebookIDsAsync +_PFAccountManagementClientGetPlayFabIDsFromFacebookIDsGetResult +_PFAccountManagementClientGetPlayFabIDsFromFacebookIDsGetResultSize +_PFAccountManagementClientGetPlayFabIDsFromGameCenterIDsAsync +_PFAccountManagementClientGetPlayFabIDsFromGameCenterIDsGetResult +_PFAccountManagementClientGetPlayFabIDsFromGameCenterIDsGetResultSize +_PFAccountManagementClientGetPlayerCombinedInfoAsync +_PFAccountManagementClientGetPlayerCombinedInfoGetResult +_PFAccountManagementClientGetPlayerCombinedInfoGetResultSize +_PFAccountManagementClientGetPlayerProfileAsync +_PFAccountManagementClientGetPlayerProfileGetResult +_PFAccountManagementClientGetPlayerProfileGetResultSize +_PFAccountManagementClientLinkAppleAsync +_PFAccountManagementClientLinkCustomIDAsync +_PFAccountManagementClientLinkFacebookAccountAsync +_PFAccountManagementClientLinkGameCenterAccountAsync +_PFAccountManagementClientLinkOpenIdConnectAsync +_PFAccountManagementClientReportPlayerAsync +_PFAccountManagementClientReportPlayerGetResult +_PFAccountManagementClientUnlinkAppleAsync +_PFAccountManagementClientUnlinkCustomIDAsync +_PFAccountManagementClientUnlinkFacebookAccountAsync +_PFAccountManagementClientUnlinkGameCenterAccountAsync +_PFAccountManagementClientUnlinkOpenIdConnectAsync +_PFAccountManagementClientUpdateAvatarUrlAsync +_PFCatalogCreateDraftItemAsync +_PFCatalogCreateDraftItemGetResult +_PFCatalogCreateDraftItemGetResultSize +_PFCatalogCreateUploadUrlsAsync +_PFCatalogCreateUploadUrlsGetResult +_PFCatalogCreateUploadUrlsGetResultSize +_PFCatalogDeleteItemAsync +_PFCatalogGetDraftItemAsync +_PFCatalogGetDraftItemGetResult +_PFCatalogGetDraftItemGetResultSize +_PFCatalogGetDraftItemsAsync +_PFCatalogGetDraftItemsGetResult +_PFCatalogGetDraftItemsGetResultSize +_PFCatalogGetEntityDraftItemsAsync +_PFCatalogGetEntityDraftItemsGetResult +_PFCatalogGetEntityDraftItemsGetResultSize +_PFCatalogGetEntityItemReviewAsync +_PFCatalogGetEntityItemReviewGetResult +_PFCatalogGetEntityItemReviewGetResultSize +_PFCatalogGetItemAsync +_PFCatalogGetItemContainersAsync +_PFCatalogGetItemContainersGetResult +_PFCatalogGetItemContainersGetResultSize +_PFCatalogGetItemGetResult +_PFCatalogGetItemGetResultSize +_PFCatalogGetItemPublishStatusAsync +_PFCatalogGetItemPublishStatusGetResult +_PFCatalogGetItemPublishStatusGetResultSize +_PFCatalogGetItemReviewSummaryAsync +_PFCatalogGetItemReviewSummaryGetResult +_PFCatalogGetItemReviewSummaryGetResultSize +_PFCatalogGetItemReviewsAsync +_PFCatalogGetItemReviewsGetResult +_PFCatalogGetItemReviewsGetResultSize +_PFCatalogGetItemsAsync +_PFCatalogGetItemsGetResult +_PFCatalogGetItemsGetResultSize +_PFCatalogPublishDraftItemAsync +_PFCatalogReportItemAsync +_PFCatalogReportItemReviewAsync +_PFCatalogReviewItemAsync +_PFCatalogSearchItemsAsync +_PFCatalogSearchItemsGetResult +_PFCatalogSearchItemsGetResultSize +_PFCatalogSubmitItemReviewVoteAsync +_PFCatalogUpdateDraftItemAsync +_PFCatalogUpdateDraftItemGetResult +_PFCatalogUpdateDraftItemGetResultSize +_PFCloudScriptClientExecuteCloudScriptAsync +_PFCloudScriptClientExecuteCloudScriptGetResult +_PFCloudScriptClientExecuteCloudScriptGetResultSize +_PFCloudScriptExecuteEntityCloudScriptAsync +_PFCloudScriptExecuteEntityCloudScriptGetResult +_PFCloudScriptExecuteEntityCloudScriptGetResultSize +_PFCloudScriptExecuteFunctionAsync +_PFCloudScriptExecuteFunctionGetResult +_PFCloudScriptExecuteFunctionGetResultSize +_PFDataAbortFileUploadsAsync +_PFDataAbortFileUploadsGetResult +_PFDataAbortFileUploadsGetResultSize +_PFDataDeleteFilesAsync +_PFDataDeleteFilesGetResult +_PFDataDeleteFilesGetResultSize +_PFDataFinalizeFileUploadsAsync +_PFDataFinalizeFileUploadsGetResult +_PFDataFinalizeFileUploadsGetResultSize +_PFDataGetFilesAsync +_PFDataGetFilesGetResult +_PFDataGetFilesGetResultSize +_PFDataGetObjectsAsync +_PFDataGetObjectsGetResult +_PFDataGetObjectsGetResultSize +_PFDataInitiateFileUploadsAsync +_PFDataInitiateFileUploadsGetResult +_PFDataInitiateFileUploadsGetResultSize +_PFDataSetObjectsAsync +_PFDataSetObjectsGetResult +_PFDataSetObjectsGetResultSize +_PFExperimentationGetTreatmentAssignmentAsync +_PFExperimentationGetTreatmentAssignmentGetResult +_PFExperimentationGetTreatmentAssignmentGetResultSize +_PFFriendsClientAddFriendAsync +_PFFriendsClientAddFriendGetResult +_PFFriendsClientGetFriendsListAsync +_PFFriendsClientGetFriendsListGetResult +_PFFriendsClientGetFriendsListGetResultSize +_PFFriendsClientRemoveFriendAsync +_PFFriendsClientSetFriendTagsAsync +_PFGroupsAcceptGroupApplicationAsync +_PFGroupsAcceptGroupInvitationAsync +_PFGroupsAddMembersAsync +_PFGroupsApplyToGroupAsync +_PFGroupsApplyToGroupGetResult +_PFGroupsApplyToGroupGetResultSize +_PFGroupsBlockEntityAsync +_PFGroupsChangeMemberRoleAsync +_PFGroupsCreateGroupAsync +_PFGroupsCreateGroupGetResult +_PFGroupsCreateGroupGetResultSize +_PFGroupsCreateRoleAsync +_PFGroupsCreateRoleGetResult +_PFGroupsCreateRoleGetResultSize +_PFGroupsDeleteGroupAsync +_PFGroupsDeleteRoleAsync +_PFGroupsGetGroupAsync +_PFGroupsGetGroupGetResult +_PFGroupsGetGroupGetResultSize +_PFGroupsInviteToGroupAsync +_PFGroupsInviteToGroupGetResult +_PFGroupsInviteToGroupGetResultSize +_PFGroupsIsMemberAsync +_PFGroupsIsMemberGetResult +_PFGroupsListGroupApplicationsAsync +_PFGroupsListGroupApplicationsGetResult +_PFGroupsListGroupApplicationsGetResultSize +_PFGroupsListGroupBlocksAsync +_PFGroupsListGroupBlocksGetResult +_PFGroupsListGroupBlocksGetResultSize +_PFGroupsListGroupInvitationsAsync +_PFGroupsListGroupInvitationsGetResult +_PFGroupsListGroupInvitationsGetResultSize +_PFGroupsListGroupMembersAsync +_PFGroupsListGroupMembersGetResult +_PFGroupsListGroupMembersGetResultSize +_PFGroupsListMembershipAsync +_PFGroupsListMembershipGetResult +_PFGroupsListMembershipGetResultSize +_PFGroupsListMembershipOpportunitiesAsync +_PFGroupsListMembershipOpportunitiesGetResult +_PFGroupsListMembershipOpportunitiesGetResultSize +_PFGroupsRemoveGroupApplicationAsync +_PFGroupsRemoveGroupInvitationAsync +_PFGroupsRemoveMembersAsync +_PFGroupsUnblockEntityAsync +_PFGroupsUpdateGroupAsync +_PFGroupsUpdateGroupGetResult +_PFGroupsUpdateGroupGetResultSize +_PFGroupsUpdateRoleAsync +_PFGroupsUpdateRoleGetResult +_PFGroupsUpdateRoleGetResultSize +_PFInventoryAddInventoryItemsAsync +_PFInventoryAddInventoryItemsGetResult +_PFInventoryAddInventoryItemsGetResultSize +_PFInventoryDeleteInventoryCollectionAsync +_PFInventoryDeleteInventoryItemsAsync +_PFInventoryDeleteInventoryItemsGetResult +_PFInventoryDeleteInventoryItemsGetResultSize +_PFInventoryExecuteInventoryOperationsAsync +_PFInventoryExecuteInventoryOperationsGetResult +_PFInventoryExecuteInventoryOperationsGetResultSize +_PFInventoryGetInventoryCollectionIdsAsync +_PFInventoryGetInventoryCollectionIdsGetResult +_PFInventoryGetInventoryCollectionIdsGetResultSize +_PFInventoryGetInventoryItemsAsync +_PFInventoryGetInventoryItemsGetResult +_PFInventoryGetInventoryItemsGetResultSize +_PFInventoryPurchaseInventoryItemsAsync +_PFInventoryPurchaseInventoryItemsGetResult +_PFInventoryPurchaseInventoryItemsGetResultSize +_PFInventoryRedeemAppleAppStoreInventoryItemsAsync +_PFInventoryRedeemAppleAppStoreInventoryItemsGetResult +_PFInventoryRedeemAppleAppStoreInventoryItemsGetResultSize +_PFInventorySubtractInventoryItemsAsync +_PFInventorySubtractInventoryItemsGetResult +_PFInventorySubtractInventoryItemsGetResultSize +_PFInventoryTransferInventoryItemsAsync +_PFInventoryTransferInventoryItemsGetResult +_PFInventoryTransferInventoryItemsGetResultSize +_PFInventoryUpdateInventoryItemsAsync +_PFInventoryUpdateInventoryItemsGetResult +_PFInventoryUpdateInventoryItemsGetResultSize +_PFMultiplayerServerListBuildAliasesAsync +_PFMultiplayerServerListBuildAliasesGetResult +_PFMultiplayerServerListBuildAliasesGetResultSize +_PFMultiplayerServerListBuildSummariesV2Async +_PFMultiplayerServerListBuildSummariesV2GetResult +_PFMultiplayerServerListBuildSummariesV2GetResultSize +_PFMultiplayerServerListQosServersForTitleAsync +_PFMultiplayerServerListQosServersForTitleGetResult +_PFMultiplayerServerListQosServersForTitleGetResultSize +_PFMultiplayerServerRequestMultiplayerServerAsync +_PFMultiplayerServerRequestMultiplayerServerGetResult +_PFMultiplayerServerRequestMultiplayerServerGetResultSize +_PFPlatformSpecificClientRegisterForIOSPushNotificationAsync +_PFPlayerDataManagementClientGetUserDataAsync +_PFPlayerDataManagementClientGetUserDataGetResult +_PFPlayerDataManagementClientGetUserDataGetResultSize +_PFPlayerDataManagementClientGetUserPublisherDataAsync +_PFPlayerDataManagementClientGetUserPublisherDataGetResult +_PFPlayerDataManagementClientGetUserPublisherDataGetResultSize +_PFPlayerDataManagementClientGetUserPublisherReadOnlyDataAsync +_PFPlayerDataManagementClientGetUserPublisherReadOnlyDataGetResult +_PFPlayerDataManagementClientGetUserPublisherReadOnlyDataGetResultSize +_PFPlayerDataManagementClientGetUserReadOnlyDataAsync +_PFPlayerDataManagementClientGetUserReadOnlyDataGetResult +_PFPlayerDataManagementClientGetUserReadOnlyDataGetResultSize +_PFPlayerDataManagementClientUpdateUserDataAsync +_PFPlayerDataManagementClientUpdateUserDataGetResult +_PFPlayerDataManagementClientUpdateUserPublisherDataAsync +_PFPlayerDataManagementClientUpdateUserPublisherDataGetResult +_PFProfilesGetProfileAsync +_PFProfilesGetProfileGetResult +_PFProfilesGetProfileGetResultSize +_PFProfilesGetProfilesAsync +_PFProfilesGetProfilesGetResult +_PFProfilesGetProfilesGetResultSize +_PFProfilesGetTitlePlayersFromMasterPlayerAccountIdsAsync +_PFProfilesGetTitlePlayersFromMasterPlayerAccountIdsGetResult +_PFProfilesGetTitlePlayersFromMasterPlayerAccountIdsGetResultSize +_PFProfilesSetProfileLanguageAsync +_PFProfilesSetProfileLanguageGetResult +_PFProfilesSetProfileLanguageGetResultSize +_PFProfilesSetProfilePolicyAsync +_PFProfilesSetProfilePolicyGetResult +_PFProfilesSetProfilePolicyGetResultSize +_PFSegmentsClientGetPlayerSegmentsAsync +_PFSegmentsClientGetPlayerSegmentsGetResult +_PFSegmentsClientGetPlayerSegmentsGetResultSize +_PFSegmentsClientGetPlayerTagsAsync +_PFSegmentsClientGetPlayerTagsGetResult +_PFSegmentsClientGetPlayerTagsGetResultSize +_PFServicesInitialize +_PFServicesUninitializeAsync +_PFTitleDataManagementClientGetPublisherDataAsync +_PFTitleDataManagementClientGetPublisherDataGetResult +_PFTitleDataManagementClientGetPublisherDataGetResultSize +_PFTitleDataManagementClientGetTimeAsync +_PFTitleDataManagementClientGetTimeGetResult +_PFTitleDataManagementClientGetTitleDataAsync +_PFTitleDataManagementClientGetTitleDataGetResult +_PFTitleDataManagementClientGetTitleDataGetResultSize +_PFTitleDataManagementClientGetTitleNewsAsync +_PFTitleDataManagementClientGetTitleNewsGetResult +_PFTitleDataManagementClientGetTitleNewsGetResultSize diff --git a/Build/PlayFabServices.Apple/symbols.macOS.exp b/Build/PlayFabServices.Apple/symbols.macOS.exp new file mode 100644 index 0000000..58da692 --- /dev/null +++ b/Build/PlayFabServices.Apple/symbols.macOS.exp @@ -0,0 +1,488 @@ +_PFAccountManagementClientGetAccountInfoAsync +_PFAccountManagementClientGetAccountInfoGetResult +_PFAccountManagementClientGetAccountInfoGetResultSize +_PFAccountManagementClientGetPlayerCombinedInfoAsync +_PFAccountManagementClientGetPlayerCombinedInfoGetResult +_PFAccountManagementClientGetPlayerCombinedInfoGetResultSize +_PFAccountManagementClientGetPlayerProfileAsync +_PFAccountManagementClientGetPlayerProfileGetResult +_PFAccountManagementClientGetPlayerProfileGetResultSize +_PFAccountManagementClientLinkCustomIDAsync +_PFAccountManagementClientLinkOpenIdConnectAsync +_PFAccountManagementClientReportPlayerAsync +_PFAccountManagementClientReportPlayerGetResult +_PFAccountManagementClientUnlinkCustomIDAsync +_PFAccountManagementClientUnlinkOpenIdConnectAsync +_PFAccountManagementClientUpdateAvatarUrlAsync +_PFCatalogCreateDraftItemAsync +_PFCatalogCreateDraftItemGetResult +_PFCatalogCreateDraftItemGetResultSize +_PFCatalogCreateUploadUrlsAsync +_PFCatalogCreateUploadUrlsGetResult +_PFCatalogCreateUploadUrlsGetResultSize +_PFCatalogDeleteItemAsync +_PFCatalogGetDraftItemAsync +_PFCatalogGetDraftItemGetResult +_PFCatalogGetDraftItemGetResultSize +_PFCatalogGetDraftItemsAsync +_PFCatalogGetDraftItemsGetResult +_PFCatalogGetDraftItemsGetResultSize +_PFCatalogGetEntityDraftItemsAsync +_PFCatalogGetEntityDraftItemsGetResult +_PFCatalogGetEntityDraftItemsGetResultSize +_PFCatalogGetEntityItemReviewAsync +_PFCatalogGetEntityItemReviewGetResult +_PFCatalogGetEntityItemReviewGetResultSize +_PFCatalogGetItemAsync +_PFCatalogGetItemContainersAsync +_PFCatalogGetItemContainersGetResult +_PFCatalogGetItemContainersGetResultSize +_PFCatalogGetItemGetResult +_PFCatalogGetItemGetResultSize +_PFCatalogGetItemPublishStatusAsync +_PFCatalogGetItemPublishStatusGetResult +_PFCatalogGetItemPublishStatusGetResultSize +_PFCatalogGetItemReviewSummaryAsync +_PFCatalogGetItemReviewSummaryGetResult +_PFCatalogGetItemReviewSummaryGetResultSize +_PFCatalogGetItemReviewsAsync +_PFCatalogGetItemReviewsGetResult +_PFCatalogGetItemReviewsGetResultSize +_PFCatalogGetItemsAsync +_PFCatalogGetItemsGetResult +_PFCatalogGetItemsGetResultSize +_PFCatalogPublishDraftItemAsync +_PFCatalogReportItemAsync +_PFCatalogReportItemReviewAsync +_PFCatalogReviewItemAsync +_PFCatalogSearchItemsAsync +_PFCatalogSearchItemsGetResult +_PFCatalogSearchItemsGetResultSize +_PFCatalogSubmitItemReviewVoteAsync +_PFCatalogUpdateDraftItemAsync +_PFCatalogUpdateDraftItemGetResult +_PFCatalogUpdateDraftItemGetResultSize +_PFCloudScriptClientExecuteCloudScriptAsync +_PFCloudScriptClientExecuteCloudScriptGetResult +_PFCloudScriptClientExecuteCloudScriptGetResultSize +_PFCloudScriptExecuteEntityCloudScriptAsync +_PFCloudScriptExecuteEntityCloudScriptGetResult +_PFCloudScriptExecuteEntityCloudScriptGetResultSize +_PFCloudScriptExecuteFunctionAsync +_PFCloudScriptExecuteFunctionGetResult +_PFCloudScriptExecuteFunctionGetResultSize +_PFDataAbortFileUploadsAsync +_PFDataAbortFileUploadsGetResult +_PFDataAbortFileUploadsGetResultSize +_PFDataDeleteFilesAsync +_PFDataDeleteFilesGetResult +_PFDataDeleteFilesGetResultSize +_PFDataFinalizeFileUploadsAsync +_PFDataFinalizeFileUploadsGetResult +_PFDataFinalizeFileUploadsGetResultSize +_PFDataGetFilesAsync +_PFDataGetFilesGetResult +_PFDataGetFilesGetResultSize +_PFDataGetObjectsAsync +_PFDataGetObjectsGetResult +_PFDataGetObjectsGetResultSize +_PFDataInitiateFileUploadsAsync +_PFDataInitiateFileUploadsGetResult +_PFDataInitiateFileUploadsGetResultSize +_PFDataSetObjectsAsync +_PFDataSetObjectsGetResult +_PFDataSetObjectsGetResultSize +_PFExperimentationGetTreatmentAssignmentAsync +_PFExperimentationGetTreatmentAssignmentGetResult +_PFExperimentationGetTreatmentAssignmentGetResultSize +_PFFriendsClientAddFriendAsync +_PFFriendsClientAddFriendGetResult +_PFFriendsClientGetFriendsListAsync +_PFFriendsClientGetFriendsListGetResult +_PFFriendsClientGetFriendsListGetResultSize +_PFFriendsClientRemoveFriendAsync +_PFFriendsClientSetFriendTagsAsync +_PFGroupsAcceptGroupApplicationAsync +_PFGroupsAcceptGroupInvitationAsync +_PFGroupsAddMembersAsync +_PFGroupsApplyToGroupAsync +_PFGroupsApplyToGroupGetResult +_PFGroupsApplyToGroupGetResultSize +_PFGroupsBlockEntityAsync +_PFGroupsChangeMemberRoleAsync +_PFGroupsCreateGroupAsync +_PFGroupsCreateGroupGetResult +_PFGroupsCreateGroupGetResultSize +_PFGroupsCreateRoleAsync +_PFGroupsCreateRoleGetResult +_PFGroupsCreateRoleGetResultSize +_PFGroupsDeleteGroupAsync +_PFGroupsDeleteRoleAsync +_PFGroupsGetGroupAsync +_PFGroupsGetGroupGetResult +_PFGroupsGetGroupGetResultSize +_PFGroupsInviteToGroupAsync +_PFGroupsInviteToGroupGetResult +_PFGroupsInviteToGroupGetResultSize +_PFGroupsIsMemberAsync +_PFGroupsIsMemberGetResult +_PFGroupsListGroupApplicationsAsync +_PFGroupsListGroupApplicationsGetResult +_PFGroupsListGroupApplicationsGetResultSize +_PFGroupsListGroupBlocksAsync +_PFGroupsListGroupBlocksGetResult +_PFGroupsListGroupBlocksGetResultSize +_PFGroupsListGroupInvitationsAsync +_PFGroupsListGroupInvitationsGetResult +_PFGroupsListGroupInvitationsGetResultSize +_PFGroupsListGroupMembersAsync +_PFGroupsListGroupMembersGetResult +_PFGroupsListGroupMembersGetResultSize +_PFGroupsListMembershipAsync +_PFGroupsListMembershipGetResult +_PFGroupsListMembershipGetResultSize +_PFGroupsListMembershipOpportunitiesAsync +_PFGroupsListMembershipOpportunitiesGetResult +_PFGroupsListMembershipOpportunitiesGetResultSize +_PFGroupsRemoveGroupApplicationAsync +_PFGroupsRemoveGroupInvitationAsync +_PFGroupsRemoveMembersAsync +_PFGroupsUnblockEntityAsync +_PFGroupsUpdateGroupAsync +_PFGroupsUpdateGroupGetResult +_PFGroupsUpdateGroupGetResultSize +_PFGroupsUpdateRoleAsync +_PFGroupsUpdateRoleGetResult +_PFGroupsUpdateRoleGetResultSize +_PFInventoryAddInventoryItemsAsync +_PFInventoryAddInventoryItemsGetResult +_PFInventoryAddInventoryItemsGetResultSize +_PFInventoryDeleteInventoryCollectionAsync +_PFInventoryDeleteInventoryItemsAsync +_PFInventoryDeleteInventoryItemsGetResult +_PFInventoryDeleteInventoryItemsGetResultSize +_PFInventoryExecuteInventoryOperationsAsync +_PFInventoryExecuteInventoryOperationsGetResult +_PFInventoryExecuteInventoryOperationsGetResultSize +_PFInventoryGetInventoryCollectionIdsAsync +_PFInventoryGetInventoryCollectionIdsGetResult +_PFInventoryGetInventoryCollectionIdsGetResultSize +_PFInventoryGetInventoryItemsAsync +_PFInventoryGetInventoryItemsGetResult +_PFInventoryGetInventoryItemsGetResultSize +_PFInventoryPurchaseInventoryItemsAsync +_PFInventoryPurchaseInventoryItemsGetResult +_PFInventoryPurchaseInventoryItemsGetResultSize +_PFInventorySubtractInventoryItemsAsync +_PFInventorySubtractInventoryItemsGetResult +_PFInventorySubtractInventoryItemsGetResultSize +_PFInventoryTransferInventoryItemsAsync +_PFInventoryTransferInventoryItemsGetResult +_PFInventoryTransferInventoryItemsGetResultSize +_PFInventoryUpdateInventoryItemsAsync +_PFInventoryUpdateInventoryItemsGetResult +_PFInventoryUpdateInventoryItemsGetResultSize +_PFMultiplayerServerListBuildAliasesAsync +_PFMultiplayerServerListBuildAliasesGetResult +_PFMultiplayerServerListBuildAliasesGetResultSize +_PFMultiplayerServerListBuildSummariesV2Async +_PFMultiplayerServerListBuildSummariesV2GetResult +_PFMultiplayerServerListBuildSummariesV2GetResultSize +_PFMultiplayerServerListQosServersForTitleAsync +_PFMultiplayerServerListQosServersForTitleGetResult +_PFMultiplayerServerListQosServersForTitleGetResultSize +_PFMultiplayerServerRequestMultiplayerServerAsync +_PFMultiplayerServerRequestMultiplayerServerGetResult +_PFMultiplayerServerRequestMultiplayerServerGetResultSize +_PFPlayerDataManagementClientGetUserDataAsync +_PFPlayerDataManagementClientGetUserDataGetResult +_PFPlayerDataManagementClientGetUserDataGetResultSize +_PFPlayerDataManagementClientGetUserPublisherDataAsync +_PFPlayerDataManagementClientGetUserPublisherDataGetResult +_PFPlayerDataManagementClientGetUserPublisherDataGetResultSize +_PFPlayerDataManagementClientGetUserPublisherReadOnlyDataAsync +_PFPlayerDataManagementClientGetUserPublisherReadOnlyDataGetResult +_PFPlayerDataManagementClientGetUserPublisherReadOnlyDataGetResultSize +_PFPlayerDataManagementClientGetUserReadOnlyDataAsync +_PFPlayerDataManagementClientGetUserReadOnlyDataGetResult +_PFPlayerDataManagementClientGetUserReadOnlyDataGetResultSize +_PFPlayerDataManagementClientUpdateUserDataAsync +_PFPlayerDataManagementClientUpdateUserDataGetResult +_PFPlayerDataManagementClientUpdateUserPublisherDataAsync +_PFPlayerDataManagementClientUpdateUserPublisherDataGetResult +_PFProfilesGetProfileAsync +_PFProfilesGetProfileGetResult +_PFProfilesGetProfileGetResultSize +_PFProfilesGetProfilesAsync +_PFProfilesGetProfilesGetResult +_PFProfilesGetProfilesGetResultSize +_PFProfilesGetTitlePlayersFromMasterPlayerAccountIdsAsync +_PFProfilesGetTitlePlayersFromMasterPlayerAccountIdsGetResult +_PFProfilesGetTitlePlayersFromMasterPlayerAccountIdsGetResultSize +_PFProfilesSetProfileLanguageAsync +_PFProfilesSetProfileLanguageGetResult +_PFProfilesSetProfileLanguageGetResultSize +_PFProfilesSetProfilePolicyAsync +_PFProfilesSetProfilePolicyGetResult +_PFProfilesSetProfilePolicyGetResultSize +_PFSegmentsClientGetPlayerSegmentsAsync +_PFSegmentsClientGetPlayerSegmentsGetResult +_PFSegmentsClientGetPlayerSegmentsGetResultSize +_PFSegmentsClientGetPlayerTagsAsync +_PFSegmentsClientGetPlayerTagsGetResult +_PFSegmentsClientGetPlayerTagsGetResultSize +_PFServicesInitialize +_PFServicesUninitializeAsync +_PFTitleDataManagementClientGetPublisherDataAsync +_PFTitleDataManagementClientGetPublisherDataGetResult +_PFTitleDataManagementClientGetPublisherDataGetResultSize +_PFTitleDataManagementClientGetTimeAsync +_PFTitleDataManagementClientGetTimeGetResult +_PFTitleDataManagementClientGetTitleDataAsync +_PFTitleDataManagementClientGetTitleDataGetResult +_PFTitleDataManagementClientGetTitleDataGetResultSize +_PFTitleDataManagementClientGetTitleNewsAsync +_PFTitleDataManagementClientGetTitleNewsGetResult +_PFTitleDataManagementClientGetTitleNewsGetResultSize +_PFAccountManagementClientAddOrUpdateContactEmailAsync +_PFAccountManagementClientAddUsernamePasswordAsync +_PFAccountManagementClientAddUsernamePasswordGetResult +_PFAccountManagementClientAddUsernamePasswordGetResultSize +_PFAccountManagementClientGetPlayFabIDsFromFacebookIDsAsync +_PFAccountManagementClientGetPlayFabIDsFromFacebookIDsGetResult +_PFAccountManagementClientGetPlayFabIDsFromFacebookIDsGetResultSize +_PFAccountManagementClientGetPlayFabIDsFromFacebookInstantGamesIdsAsync +_PFAccountManagementClientGetPlayFabIDsFromFacebookInstantGamesIdsGetResult +_PFAccountManagementClientGetPlayFabIDsFromFacebookInstantGamesIdsGetResultSize +_PFAccountManagementClientGetPlayFabIDsFromGameCenterIDsAsync +_PFAccountManagementClientGetPlayFabIDsFromGameCenterIDsGetResult +_PFAccountManagementClientGetPlayFabIDsFromGameCenterIDsGetResultSize +_PFAccountManagementClientGetPlayFabIDsFromGoogleIDsAsync +_PFAccountManagementClientGetPlayFabIDsFromGoogleIDsGetResult +_PFAccountManagementClientGetPlayFabIDsFromGoogleIDsGetResultSize +_PFAccountManagementClientGetPlayFabIDsFromGooglePlayGamesPlayerIDsAsync +_PFAccountManagementClientGetPlayFabIDsFromGooglePlayGamesPlayerIDsGetResult +_PFAccountManagementClientGetPlayFabIDsFromGooglePlayGamesPlayerIDsGetResultSize +_PFAccountManagementClientGetPlayFabIDsFromKongregateIDsAsync +_PFAccountManagementClientGetPlayFabIDsFromKongregateIDsGetResult +_PFAccountManagementClientGetPlayFabIDsFromKongregateIDsGetResultSize +_PFAccountManagementClientGetPlayFabIDsFromNintendoServiceAccountIdsAsync +_PFAccountManagementClientGetPlayFabIDsFromNintendoServiceAccountIdsGetResult +_PFAccountManagementClientGetPlayFabIDsFromNintendoServiceAccountIdsGetResultSize +_PFAccountManagementClientGetPlayFabIDsFromNintendoSwitchDeviceIdsAsync +_PFAccountManagementClientGetPlayFabIDsFromNintendoSwitchDeviceIdsGetResult +_PFAccountManagementClientGetPlayFabIDsFromNintendoSwitchDeviceIdsGetResultSize +_PFAccountManagementClientGetPlayFabIDsFromPSNAccountIDsAsync +_PFAccountManagementClientGetPlayFabIDsFromPSNAccountIDsGetResult +_PFAccountManagementClientGetPlayFabIDsFromPSNAccountIDsGetResultSize +_PFAccountManagementClientGetPlayFabIDsFromSteamIDsAsync +_PFAccountManagementClientGetPlayFabIDsFromSteamIDsGetResult +_PFAccountManagementClientGetPlayFabIDsFromSteamIDsGetResultSize +_PFAccountManagementClientGetPlayFabIDsFromTwitchIDsAsync +_PFAccountManagementClientGetPlayFabIDsFromTwitchIDsGetResult +_PFAccountManagementClientGetPlayFabIDsFromTwitchIDsGetResultSize +_PFAccountManagementClientGetPlayFabIDsFromXboxLiveIDsAsync +_PFAccountManagementClientGetPlayFabIDsFromXboxLiveIDsGetResult +_PFAccountManagementClientGetPlayFabIDsFromXboxLiveIDsGetResultSize +_PFAccountManagementClientLinkAndroidDeviceIDAsync +_PFAccountManagementClientLinkAppleAsync +_PFAccountManagementClientLinkFacebookAccountAsync +_PFAccountManagementClientLinkFacebookInstantGamesIdAsync +_PFAccountManagementClientLinkGameCenterAccountAsync +_PFAccountManagementClientLinkGoogleAccountAsync +_PFAccountManagementClientLinkGooglePlayGamesServicesAccountAsync +_PFAccountManagementClientLinkIOSDeviceIDAsync +_PFAccountManagementClientLinkKongregateAsync +_PFAccountManagementClientLinkNintendoServiceAccountAsync +_PFAccountManagementClientLinkNintendoSwitchDeviceIdAsync +_PFAccountManagementClientLinkPSNAccountAsync +_PFAccountManagementClientLinkSteamAccountAsync +_PFAccountManagementClientLinkTwitchAsync +_PFAccountManagementClientLinkXboxAccountAsync +_PFAccountManagementClientRemoveContactEmailAsync +_PFAccountManagementClientSendAccountRecoveryEmailAsync +_PFAccountManagementClientUnlinkAndroidDeviceIDAsync +_PFAccountManagementClientUnlinkAppleAsync +_PFAccountManagementClientUnlinkFacebookAccountAsync +_PFAccountManagementClientUnlinkFacebookInstantGamesIdAsync +_PFAccountManagementClientUnlinkGameCenterAccountAsync +_PFAccountManagementClientUnlinkGoogleAccountAsync +_PFAccountManagementClientUnlinkGooglePlayGamesServicesAccountAsync +_PFAccountManagementClientUnlinkIOSDeviceIDAsync +_PFAccountManagementClientUnlinkKongregateAsync +_PFAccountManagementClientUnlinkNintendoServiceAccountAsync +_PFAccountManagementClientUnlinkNintendoSwitchDeviceIdAsync +_PFAccountManagementClientUnlinkPSNAccountAsync +_PFAccountManagementClientUnlinkSteamAccountAsync +_PFAccountManagementClientUnlinkTwitchAsync +_PFAccountManagementClientUnlinkXboxAccountAsync +_PFAccountManagementClientUpdateUserTitleDisplayNameAsync +_PFAccountManagementClientUpdateUserTitleDisplayNameGetResult +_PFAccountManagementClientUpdateUserTitleDisplayNameGetResultSize +_PFAccountManagementGetTitlePlayersFromXboxLiveIDsAsync +_PFAccountManagementGetTitlePlayersFromXboxLiveIDsGetResult +_PFAccountManagementGetTitlePlayersFromXboxLiveIDsGetResultSize +_PFAccountManagementServerBanUsersAsync +_PFAccountManagementServerBanUsersGetResult +_PFAccountManagementServerBanUsersGetResultSize +_PFAccountManagementServerDeletePlayerAsync +_PFAccountManagementServerGetPlayFabIDsFromFacebookIDsAsync +_PFAccountManagementServerGetPlayFabIDsFromFacebookIDsGetResult +_PFAccountManagementServerGetPlayFabIDsFromFacebookIDsGetResultSize +_PFAccountManagementServerGetPlayFabIDsFromFacebookInstantGamesIdsAsync +_PFAccountManagementServerGetPlayFabIDsFromFacebookInstantGamesIdsGetResult +_PFAccountManagementServerGetPlayFabIDsFromFacebookInstantGamesIdsGetResultSize +_PFAccountManagementServerGetPlayFabIDsFromNintendoServiceAccountIdsAsync +_PFAccountManagementServerGetPlayFabIDsFromNintendoServiceAccountIdsGetResult +_PFAccountManagementServerGetPlayFabIDsFromNintendoServiceAccountIdsGetResultSize +_PFAccountManagementServerGetPlayFabIDsFromNintendoSwitchDeviceIdsAsync +_PFAccountManagementServerGetPlayFabIDsFromNintendoSwitchDeviceIdsGetResult +_PFAccountManagementServerGetPlayFabIDsFromNintendoSwitchDeviceIdsGetResultSize +_PFAccountManagementServerGetPlayFabIDsFromPSNAccountIDsAsync +_PFAccountManagementServerGetPlayFabIDsFromPSNAccountIDsGetResult +_PFAccountManagementServerGetPlayFabIDsFromPSNAccountIDsGetResultSize +_PFAccountManagementServerGetPlayFabIDsFromSteamIDsAsync +_PFAccountManagementServerGetPlayFabIDsFromSteamIDsGetResult +_PFAccountManagementServerGetPlayFabIDsFromSteamIDsGetResultSize +_PFAccountManagementServerGetPlayFabIDsFromTwitchIDsAsync +_PFAccountManagementServerGetPlayFabIDsFromTwitchIDsGetResult +_PFAccountManagementServerGetPlayFabIDsFromTwitchIDsGetResultSize +_PFAccountManagementServerGetPlayFabIDsFromXboxLiveIDsAsync +_PFAccountManagementServerGetPlayFabIDsFromXboxLiveIDsGetResult +_PFAccountManagementServerGetPlayFabIDsFromXboxLiveIDsGetResultSize +_PFAccountManagementServerGetPlayerCombinedInfoAsync +_PFAccountManagementServerGetPlayerCombinedInfoGetResult +_PFAccountManagementServerGetPlayerCombinedInfoGetResultSize +_PFAccountManagementServerGetPlayerProfileAsync +_PFAccountManagementServerGetPlayerProfileGetResult +_PFAccountManagementServerGetPlayerProfileGetResultSize +_PFAccountManagementServerGetServerCustomIDsFromPlayFabIDsAsync +_PFAccountManagementServerGetServerCustomIDsFromPlayFabIDsGetResult +_PFAccountManagementServerGetServerCustomIDsFromPlayFabIDsGetResultSize +_PFAccountManagementServerGetUserAccountInfoAsync +_PFAccountManagementServerGetUserAccountInfoGetResult +_PFAccountManagementServerGetUserAccountInfoGetResultSize +_PFAccountManagementServerGetUserBansAsync +_PFAccountManagementServerGetUserBansGetResult +_PFAccountManagementServerGetUserBansGetResultSize +_PFAccountManagementServerLinkNintendoServiceAccountAsync +_PFAccountManagementServerLinkNintendoServiceAccountSubjectAsync +_PFAccountManagementServerLinkNintendoSwitchDeviceIdAsync +_PFAccountManagementServerLinkPSNAccountAsync +_PFAccountManagementServerLinkServerCustomIdAsync +_PFAccountManagementServerLinkSteamIdAsync +_PFAccountManagementServerLinkXboxAccountAsync +_PFAccountManagementServerRevokeAllBansForUserAsync +_PFAccountManagementServerRevokeAllBansForUserGetResult +_PFAccountManagementServerRevokeAllBansForUserGetResultSize +_PFAccountManagementServerRevokeBansAsync +_PFAccountManagementServerRevokeBansGetResult +_PFAccountManagementServerRevokeBansGetResultSize +_PFAccountManagementServerSendCustomAccountRecoveryEmailAsync +_PFAccountManagementServerSendEmailFromTemplateAsync +_PFAccountManagementServerUnlinkNintendoServiceAccountAsync +_PFAccountManagementServerUnlinkNintendoSwitchDeviceIdAsync +_PFAccountManagementServerUnlinkPSNAccountAsync +_PFAccountManagementServerUnlinkServerCustomIdAsync +_PFAccountManagementServerUnlinkSteamIdAsync +_PFAccountManagementServerUnlinkXboxAccountAsync +_PFAccountManagementServerUpdateAvatarUrlAsync +_PFAccountManagementServerUpdateBansAsync +_PFAccountManagementServerUpdateBansGetResult +_PFAccountManagementServerUpdateBansGetResultSize +_PFCloudScriptServerExecuteCloudScriptAsync +_PFCloudScriptServerExecuteCloudScriptGetResult +_PFCloudScriptServerExecuteCloudScriptGetResultSize +_PFFriendsServerAddFriendAsync +_PFFriendsServerGetFriendsListAsync +_PFFriendsServerGetFriendsListGetResult +_PFFriendsServerGetFriendsListGetResultSize +_PFFriendsServerRemoveFriendAsync +_PFFriendsServerSetFriendTagsAsync +_PFInventoryGetMicrosoftStoreAccessTokensAsync +_PFInventoryGetMicrosoftStoreAccessTokensGetResult +_PFInventoryGetMicrosoftStoreAccessTokensGetResultSize +_PFInventoryGetTransactionHistoryAsync +_PFInventoryGetTransactionHistoryGetResult +_PFInventoryGetTransactionHistoryGetResultSize +_PFInventoryRedeemMicrosoftStoreInventoryItemsAsync +_PFInventoryRedeemMicrosoftStoreInventoryItemsGetResult +_PFInventoryRedeemMicrosoftStoreInventoryItemsGetResultSize +_PFInventoryRedeemNintendoEShopInventoryItemsAsync +_PFInventoryRedeemNintendoEShopInventoryItemsGetResult +_PFInventoryRedeemNintendoEShopInventoryItemsGetResultSize +_PFInventoryRedeemPlayStationStoreInventoryItemsAsync +_PFInventoryRedeemPlayStationStoreInventoryItemsGetResult +_PFInventoryRedeemPlayStationStoreInventoryItemsGetResultSize +_PFInventoryRedeemSteamInventoryItemsAsync +_PFInventoryRedeemSteamInventoryItemsGetResult +_PFInventoryRedeemSteamInventoryItemsGetResultSize +_PFLocalizationGetLanguageListAsync +_PFLocalizationGetLanguageListGetResult +_PFLocalizationGetLanguageListGetResultSize +_PFPlatformSpecificServerAwardSteamAchievementAsync +_PFPlatformSpecificServerAwardSteamAchievementGetResult +_PFPlatformSpecificServerAwardSteamAchievementGetResultSize +_PFPlayerDataManagementServerGetUserDataAsync +_PFPlayerDataManagementServerGetUserDataGetResult +_PFPlayerDataManagementServerGetUserDataGetResultSize +_PFPlayerDataManagementServerGetUserInternalDataAsync +_PFPlayerDataManagementServerGetUserInternalDataGetResult +_PFPlayerDataManagementServerGetUserInternalDataGetResultSize +_PFPlayerDataManagementServerGetUserPublisherDataAsync +_PFPlayerDataManagementServerGetUserPublisherDataGetResult +_PFPlayerDataManagementServerGetUserPublisherDataGetResultSize +_PFPlayerDataManagementServerGetUserPublisherInternalDataAsync +_PFPlayerDataManagementServerGetUserPublisherInternalDataGetResult +_PFPlayerDataManagementServerGetUserPublisherInternalDataGetResultSize +_PFPlayerDataManagementServerGetUserPublisherReadOnlyDataAsync +_PFPlayerDataManagementServerGetUserPublisherReadOnlyDataGetResult +_PFPlayerDataManagementServerGetUserPublisherReadOnlyDataGetResultSize +_PFPlayerDataManagementServerGetUserReadOnlyDataAsync +_PFPlayerDataManagementServerGetUserReadOnlyDataGetResult +_PFPlayerDataManagementServerGetUserReadOnlyDataGetResultSize +_PFPlayerDataManagementServerUpdateUserDataAsync +_PFPlayerDataManagementServerUpdateUserDataGetResult +_PFPlayerDataManagementServerUpdateUserInternalDataAsync +_PFPlayerDataManagementServerUpdateUserInternalDataGetResult +_PFPlayerDataManagementServerUpdateUserPublisherDataAsync +_PFPlayerDataManagementServerUpdateUserPublisherDataGetResult +_PFPlayerDataManagementServerUpdateUserPublisherInternalDataAsync +_PFPlayerDataManagementServerUpdateUserPublisherInternalDataGetResult +_PFPlayerDataManagementServerUpdateUserPublisherReadOnlyDataAsync +_PFPlayerDataManagementServerUpdateUserPublisherReadOnlyDataGetResult +_PFPlayerDataManagementServerUpdateUserReadOnlyDataAsync +_PFPlayerDataManagementServerUpdateUserReadOnlyDataGetResult +_PFPushNotificationsServerSendPushNotificationAsync +_PFPushNotificationsServerSendPushNotificationFromTemplateAsync +_PFSegmentsServerAddPlayerTagAsync +_PFSegmentsServerGetAllSegmentsAsync +_PFSegmentsServerGetAllSegmentsGetResult +_PFSegmentsServerGetAllSegmentsGetResultSize +_PFSegmentsServerGetPlayerSegmentsAsync +_PFSegmentsServerGetPlayerSegmentsGetResult +_PFSegmentsServerGetPlayerSegmentsGetResultSize +_PFSegmentsServerGetPlayerTagsAsync +_PFSegmentsServerGetPlayerTagsGetResult +_PFSegmentsServerGetPlayerTagsGetResultSize +_PFSegmentsServerGetPlayersInSegmentAsync +_PFSegmentsServerGetPlayersInSegmentGetResult +_PFSegmentsServerGetPlayersInSegmentGetResultSize +_PFSegmentsServerRemovePlayerTagAsync +_PFTitleDataManagementServerGetPublisherDataAsync +_PFTitleDataManagementServerGetPublisherDataGetResult +_PFTitleDataManagementServerGetPublisherDataGetResultSize +_PFTitleDataManagementServerGetTimeAsync +_PFTitleDataManagementServerGetTimeGetResult +_PFTitleDataManagementServerGetTitleDataAsync +_PFTitleDataManagementServerGetTitleDataGetResult +_PFTitleDataManagementServerGetTitleDataGetResultSize +_PFTitleDataManagementServerGetTitleInternalDataAsync +_PFTitleDataManagementServerGetTitleInternalDataGetResult +_PFTitleDataManagementServerGetTitleInternalDataGetResultSize +_PFTitleDataManagementServerGetTitleNewsAsync +_PFTitleDataManagementServerGetTitleNewsGetResult +_PFTitleDataManagementServerGetTitleNewsGetResultSize +_PFTitleDataManagementServerSetPublisherDataAsync +_PFTitleDataManagementServerSetTitleDataAsync +_PFTitleDataManagementServerSetTitleInternalDataAsync \ No newline at end of file diff --git a/Build/PlayFabServices.CMake/GetCommonSourceFiles.cmake b/Build/PlayFabServices.CMake/GetCommonSourceFiles.cmake new file mode 100644 index 0000000..752cfad --- /dev/null +++ b/Build/PlayFabServices.CMake/GetCommonSourceFiles.cmake @@ -0,0 +1,23 @@ +cmake_minimum_required(VERSION 3.6) + +# file list similar to PlayFabServices.Common.vcxitems +function(GET_COMMON_SOURCE_FILES + OUT_COMMON_SOURCE_FILES + PATH_TO_SOURCE + ) + +set(${OUT_COMMON_SOURCE_FILES} + "${PATH_TO_SOURCE}/PlayFabServices/Source/Api/PFServices.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Common/GlobalState.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Common/HttpClient.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Common/Platform.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Source/stdafx.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFServices.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Common/GlobalState.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Common/HttpClient.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Common/Platform.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/stdafx.h" + PARENT_SCOPE + ) + +endfunction() diff --git a/Build/PlayFabServices.CMake/GetServiceWrapperFiles.cmake b/Build/PlayFabServices.CMake/GetServiceWrapperFiles.cmake new file mode 100644 index 0000000..5ca205c --- /dev/null +++ b/Build/PlayFabServices.CMake/GetServiceWrapperFiles.cmake @@ -0,0 +1,147 @@ +cmake_minimum_required(VERSION 3.6) + +# file list similar to PlayFabServices.ServiceWrappers.vcxitems +function(GET_SERVICE_WRAPPER_SOURCE_FILES + OUT_SERVICE_WRAPPER_SOURCE_FILES + PATH_TO_SOURCE + ) + +set(${OUT_SERVICE_WRAPPER_SOURCE_FILES} + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/CoreTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/CoreTypes.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/cpp/TypeWrappers.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/Types.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/Types.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFFriendsTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/cpp/FriendsTypeWrappers.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/FriendsTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/FriendsTypes.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/Friends.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/Friends.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFFriends.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/PFFriends.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFAccountManagementTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/cpp/AccountManagementTypeWrappers.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/AccountManagementTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/AccountManagementTypes.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/AccountManagement.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/AccountManagement.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFAccountManagement.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/PFAccountManagement.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFPlatformSpecificTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/cpp/PlatformSpecificTypeWrappers.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/PlatformSpecificTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/PlatformSpecificTypes.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/PlatformSpecific.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/PlatformSpecific.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFPlatformSpecific.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/PFPlatformSpecific.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFCloudScriptTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/cpp/CloudScriptTypeWrappers.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/CloudScriptTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/CloudScriptTypes.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/CloudScript.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/CloudScript.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFCloudScript.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/PFCloudScript.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFSegmentsTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/cpp/SegmentsTypeWrappers.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/SegmentsTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/SegmentsTypes.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/Segments.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/Segments.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFSegments.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/PFSegments.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFTitleDataManagementTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/cpp/TitleDataManagementTypeWrappers.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/TitleDataManagementTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/TitleDataManagementTypes.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/TitleDataManagement.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/TitleDataManagement.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFTitleDataManagement.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/PFTitleDataManagement.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFPlayerDataManagementTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/cpp/PlayerDataManagementTypeWrappers.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/PlayerDataManagementTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/PlayerDataManagementTypes.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/PlayerDataManagement.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/PlayerDataManagement.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFPlayerDataManagement.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/PFPlayerDataManagement.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFPushNotificationsTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/cpp/PushNotificationsTypeWrappers.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/PushNotificationsTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/PushNotificationsTypes.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/PushNotifications.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/PushNotifications.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFPushNotifications.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/PFPushNotifications.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFDataTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/cpp/DataTypeWrappers.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/DataTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/DataTypes.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/Data.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/Data.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFData.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/PFData.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFInventoryTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/cpp/InventoryTypeWrappers.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/InventoryTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/InventoryTypes.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/Inventory.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/Inventory.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFInventory.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/PFInventory.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFCatalogTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/cpp/CatalogTypeWrappers.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/CatalogTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/CatalogTypes.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/Catalog.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/Catalog.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFCatalog.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/PFCatalog.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFExperimentationTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/cpp/ExperimentationTypeWrappers.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/ExperimentationTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/ExperimentationTypes.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/Experimentation.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/Experimentation.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFExperimentation.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/PFExperimentation.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFGroupsTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/cpp/GroupsTypeWrappers.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/GroupsTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/GroupsTypes.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/Groups.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/Groups.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFGroups.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/PFGroups.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFLocalizationTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/cpp/LocalizationTypeWrappers.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/LocalizationTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/LocalizationTypes.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/Localization.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/Localization.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFLocalization.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/PFLocalization.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFMultiplayerServerTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/cpp/MultiplayerServerTypeWrappers.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/MultiplayerServerTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/MultiplayerServerTypes.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/MultiplayerServer.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/MultiplayerServer.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFMultiplayerServer.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/PFMultiplayerServer.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFProfilesTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/cpp/ProfilesTypeWrappers.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/ProfilesTypes.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/ProfilesTypes.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/Profiles.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/Profiles.cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated/playfab/services/PFProfiles.h" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Generated/PFProfiles.cpp" + PARENT_SCOPE + ) + +endfunction() diff --git a/Build/PlayFabServices.GDK.142/PlayFabServices.GDK.142.vcxproj b/Build/PlayFabServices.GDK.142/PlayFabServices.GDK.142.vcxproj deleted file mode 100644 index edb4eb1..0000000 --- a/Build/PlayFabServices.GDK.142/PlayFabServices.GDK.142.vcxproj +++ /dev/null @@ -1,15 +0,0 @@ - - - - {7cf96aad-a922-47b4-9da2-fa30f7e47d72} - DynamicLibrary - v142 - - - - - - - - - \ No newline at end of file diff --git a/Build/PlayFabServices.GDK/PlayFabServices.GDK.vcxitems b/Build/PlayFabServices.GDK/PlayFabServices.GDK.vcxitems deleted file mode 100644 index bd118a6..0000000 --- a/Build/PlayFabServices.GDK/PlayFabServices.GDK.vcxitems +++ /dev/null @@ -1,21 +0,0 @@ - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - true - {56671826-2060-4e28-b815-e30ef7f88535} - - - - %(AdditionalIncludeDirectories);$(MSBuildThisFileDirectory) - - - - - - - - - - - \ No newline at end of file diff --git a/Build/PlayFabServices.GDK/PlayFabServices.GDK.vcxitems.filters b/Build/PlayFabServices.GDK/PlayFabServices.GDK.vcxitems.filters deleted file mode 100644 index 543331b..0000000 --- a/Build/PlayFabServices.GDK/PlayFabServices.GDK.vcxitems.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {6a477f34-9fc5-49c2-94c3-7f532b4684f1} - - - {b843c27b-49ba-47d1-a378-c7f69dd2cd77} - - - - - Source\GDK - - - Source\GDK - - - Source\GDK - - - \ No newline at end of file diff --git a/Build/PlayFabServices.GDK.143/PlayFabServices.GDK.143.vcxproj b/Build/PlayFabServices.GDK/PlayFabServices.GDK.vcxproj similarity index 70% rename from Build/PlayFabServices.GDK.143/PlayFabServices.GDK.143.vcxproj rename to Build/PlayFabServices.GDK/PlayFabServices.GDK.vcxproj index 951751f..fcc7841 100644 --- a/Build/PlayFabServices.GDK.143/PlayFabServices.GDK.143.vcxproj +++ b/Build/PlayFabServices.GDK/PlayFabServices.GDK.vcxproj @@ -4,12 +4,17 @@ {fb3a4738-544d-4a89-ba69-31d7c86e7af7} DynamicLibrary v143 + 10.0.19041.0 + + + + + - \ No newline at end of file diff --git a/Build/PlayFabServices.GDK/PlayFabServices.GDK.vcxproj.filters b/Build/PlayFabServices.GDK/PlayFabServices.GDK.vcxproj.filters new file mode 100644 index 0000000..1a8b56a --- /dev/null +++ b/Build/PlayFabServices.GDK/PlayFabServices.GDK.vcxproj.filters @@ -0,0 +1,22 @@ + + + + + {fcaa300b-5633-4e30-83f9-b0e0e141b599} + + + {f337db9e-dfda-42b1-a59f-40aaf4c3303c} + + + + + Source\GDK + + + Source\GDK + + + Source\GDK + + + \ No newline at end of file diff --git a/Build/PlayFabServices.Linux/CMakeLists.txt b/Build/PlayFabServices.Linux/CMakeLists.txt new file mode 100644 index 0000000..3610f3f --- /dev/null +++ b/Build/PlayFabServices.Linux/CMakeLists.txt @@ -0,0 +1,132 @@ +cmake_minimum_required(VERSION 3.6) + +get_filename_component(PATH_TO_ROOT "../../" ABSOLUTE) +get_filename_component(PATH_TO_SOURCE "../../Source" ABSOLUTE) + +set(PATH_TO_LHC ${LHC_PATH}) +if(NOT EXISTS "${PATH_TO_LHC}/README.md") + set(PATH_TO_LHC ${PATH_TO_ROOT}/${LHC_PATH}) +endif() + +project("PlayFabServices.Linux") + +set(CMAKE_C_COMPILER clang) +set(CMAKE_CXX_COMPILER clang++) +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_FLAGS "-fvisibility=hidden") +set(CMAKE_C_FLAGS "-fvisibility=hidden") +set(CMAKE_SHARED_LIBRARY_PREFIX "") +set(CMAKE_POSITION_INDEPENDENT_CODE ON) +set(CMAKE_CXX_VISIBILITY_PRESET hidden) +set(CMAKE_SHARED_LINKER_FLAGS "-Wl,-z,now") # https://www.redhat.com/en/blog/hardening-elf-binaries-using-relocation-read-only-relro + +########################################### +### Set up paths for source and include ### +########################################### + +# Set final output folder +SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${PATH_TO_ROOT}/Out/x64/Debug/${PROJECT_NAME}) +SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${PATH_TO_ROOT}/Out/x64/Release/${PROJECT_NAME}) +SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${PATH_TO_ROOT}/Out/x64/Debug/${PROJECT_NAME}) +SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${PATH_TO_ROOT}/Out/x64/Release/${PROJECT_NAME}) +SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${PATH_TO_ROOT}/Out/x64/Debug/${PROJECT_NAME}) +SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${PATH_TO_ROOT}/Out/x64/Release/${PROJECT_NAME}) + +# BINARY_DIR is a temp folder used by cmake itself. +# Binary folder can be remove freely. +# See more details: https://cmake.org/cmake/help/v3.4/command/add_subdirectory.html +set(BINARY_DIR ${PATH_TO_ROOT}/Int/CMake/${PROJECT_NAME}) + +include("../PlayFabServices.CMake/GetCommonSourceFiles.cmake") +get_common_source_files( + COMMON_SOURCE_FILES + "${PATH_TO_SOURCE}" + ) + +include("../PlayFabServices.CMake/GetServiceWrapperFiles.cmake") +get_service_wrapper_source_files( + SERVICE_WRAPPER_SOURCE_FILES + "${PATH_TO_SOURCE}" + ) + +set(COMMON_INCLUDE_DIRS + "${PATH_TO_SOURCE}/PlayFabCore/Include" + "${PATH_TO_SOURCE}/PlayFabCore/Include/Generated" + "${PATH_TO_SOURCE}/PlayFabServices/Source" + "${PATH_TO_SOURCE}/PlayFabServices/Source/Common" + "${PATH_TO_SOURCE}/PlayFabServices/Include" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated" + "${PATH_TO_SOURCE}/PlayFabServices/Include/playfab/core/cpp" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/Generated" + "${PATH_TO_ROOT}/External/rapidjson/include/rapidjson" + "${PATH_TO_ROOT}/External/rapidjson/include" + "${PATH_TO_LHC}/Include" + ) + +set(LIBHTTPCLIENT_BINARY_PATH + ${PATH_TO_LHC}/Out/x64/${CMAKE_BUILD_TYPE}/libHttpClient.Linux/libHttpClient.Linux.so +) +message(STATUS "LIBHTTPCLIENT_BINARY_PATH: ${LIBHTTPCLIENT_BINARY_PATH}") + +set(PLAYFAB_SHARED_INTERNAL_BINARY_PATH + ${PATH_TO_ROOT}/Out/x64/${CMAKE_BUILD_TYPE}/PlayFabSharedInternal.Linux/PlayFabSharedInternal.Linux.a +) +message(STATUS "PLAYFAB_SHARED_INTERNAL_BINARY_PATH: ${PLAYFAB_SHARED_INTERNAL_BINARY_PATH}") + +set(PLAYFAB_CORE_BINARY_PATH + ${PATH_TO_ROOT}/Out/x64/${CMAKE_BUILD_TYPE}/PlayFabCore.Linux/PlayFabCore.Linux.so +) +message(STATUS "PLAYFAB_CORE_BINARY_PATH: ${PLAYFAB_CORE_BINARY_PATH}") + +message(STATUS "PROJECT_NAME: ${PROJECT_NAME}") + +message(STATUS "CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}") +if (CMAKE_BUILD_TYPE STREQUAL "Debug") + add_definitions("-DDBG -D_DBG -DDEBUG -D_DEBUG") +endif() + +# make ${PROJECT_NAME}.so +add_library( + "${PROJECT_NAME}" + SHARED + "${SERVICE_WRAPPER_SOURCE_FILES}" + "${COMMON_SOURCE_FILES}" + ) + +target_link_libraries("${PROJECT_NAME}" + PRIVATE ${PLAYFAB_CORE_BINARY_PATH} + PRIVATE ${PLAYFAB_SHARED_INTERNAL_BINARY_PATH} + PRIVATE ${LIBHTTPCLIENT_BINARY_PATH} +) + +target_include_directories( + ${PROJECT_NAME} + PRIVATE + "${COMMON_INCLUDE_DIRS}" + ) + +target_include_directories( + ${PROJECT_NAME} + PUBLIC + $ + $ + $ + $ + $ +) + +include("../PlayFabSharedInternal.CMake/GetLinuxFlags.cmake") +get_linux_flags(FLAGS FLAGS_DEBUG FLAGS_RELEASE) + +include("../PlayFabSharedInternal.CMake/TargetSetFlags.cmake") +target_set_flags( + "${PROJECT_NAME}" + "${FLAGS}" + "${FLAGS_DEBUG}" + "${FLAGS_RELEASE}" + ) + +export(TARGETS ${PROJECT_NAME} FILE ${PROJECT_NAME}Config.cmake) diff --git a/Build/PlayFabServices.Linux/PlayFabServices_Linux.bash b/Build/PlayFabServices.Linux/PlayFabServices_Linux.bash new file mode 100644 index 0000000..19d692d --- /dev/null +++ b/Build/PlayFabServices.Linux/PlayFabServices_Linux.bash @@ -0,0 +1,100 @@ +#!/bin/bash +log () { + echo "***** $1 *****" +} + +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) + +POSITIONAL_ARGS=() + +# Default configurations +CONFIGURATION="Release" +BUILD_PF_CORE=true +BUILD_PF_SHARED_INTERNAL=true +BUILD_LHC=true +if [ "$LHC_PATH" == "" ]; then + LHC_PATH="../libHttpClient" +fi + +while [[ $# -gt 0 ]]; do + case $1 in + -c|--config) + CONFIGURATION="$2" + shift # past argument + shift # past value + ;; + -lhc|--libHttpClientPath) + LHC_PATH="$2" + shift # past argument + shift # past value + ;; + -nc|--nocore) + BUILD_PF_CORE=false + shift + ;; + -ns|--nosharedinternal) + BUILD_PF_SHARED_INTERNAL=false + shift + ;; + -nlhc|--nolibhttpclient) + BUILD_LHC=false + shift + ;; + -sg|--skipaptget) + DO_APTGET=false + shift + ;; + -*|--*) + echo "Unknown option $1" + exit 1 + ;; + *) + POSITIONAL_ARGS+=("$1") # save positional arg + shift # past argument + ;; + esac +done + +set -- "${POSITIONAL_ARGS[@]}" # restore positional parameters + +if [ "$DO_APTGET" != "false" ]; then + sudo hwclock --hctosys + sudo apt-get update + sudo apt-get install clang + sudo apt-get install cmake + sudo apt-get install make + sudo apt-get install autoconf + sudo apt-get install automake + sudo apt-get install libtool +fi + +# make libHttpClient +if [ "$BUILD_LHC" = true ]; then + log "Building libHttpClient" + sed -i -e 's/\r$//' "$SCRIPT_DIR"/../../"$LHC_PATH"/Build/libHttpClient.Linux/libHttpClient_Linux.bash + bash "$SCRIPT_DIR"/../../"$LHC_PATH"/Build/libHttpClient.Linux/libHttpClient_Linux.bash -c "$CONFIGURATION" -sg +fi + +# make PlayFabSharedInternal and PlayFabCore +if [ "$BUILD_PF_SHARED_INTERNAL" = true ]; then + log "Building PlayFabSharedInternal" + sed -i -e 's/\r$//' "$SCRIPT_DIR"/../PlayFabSharedInternal.Linux/PlayFabSharedInternal_Linux.bash + bash "$SCRIPT_DIR"/../PlayFabSharedInternal.Linux/PlayFabSharedInternal_Linux.bash -c "$CONFIGURATION" -lhc "$LHC_PATH" +fi + +if [ "$BUILD_PF_CORE" = true ]; then + log "Building PlayFabCore" + sed -i -e 's/\r$//' "$SCRIPT_DIR"/../PlayFabCore.Linux/PlayFabCore_Linux.bash + bash "$SCRIPT_DIR"/../PlayFabCore.Linux/PlayFabCore_Linux.bash -c "$CONFIGURATION" -lhc "$LHC_PATH" +fi + +log "#### Building PlayFabServices ####" +log "CONFIGURATION = ${CONFIGURATION}" +log "LHC_PATH = ${LHC_PATH}" +log "BUILD_LHC = ${BUILD_LHC}" +log "BUILD_PF_SHARED_INTERNAL = ${BUILD_PF_SHARED_INTERNAL}" +log "BUILD_PF_CORE = ${BUILD_PF_CORE}" + +# make PlayFabServices +sudo cmake -S "$SCRIPT_DIR" -B "$SCRIPT_DIR"/../../Int/CMake/PlayFabServices.Linux -D CMAKE_BUILD_TYPE=$CONFIGURATION -D LHC_PATH=$LHC_PATH +sudo make -C "$SCRIPT_DIR"/../../Int/CMake/PlayFabServices.Linux diff --git a/Build/PlayFabServices.Linux/README.md b/Build/PlayFabServices.Linux/README.md new file mode 100644 index 0000000..651aed1 --- /dev/null +++ b/Build/PlayFabServices.Linux/README.md @@ -0,0 +1,61 @@ +# Building PlayFab for Linux + +Running the `./PlayFabServices_Linux.bash` script will be used to build the PlayFab Services shared library and its dependencies. + +## Dependencies + +To run the build script you will need Linux either as installed on physical machine, or a Linux virtual machine, or by using the Windows Subsystem for Linux (WSL). + +## PlayFabServices_Linux.bash + +Running `./PlayFabServices_Linux.bash` will generate a variety of build configurations and binaries for PlayFab and its dependencies. These binaries will be placed at `/Out/x64/{Configuration}/{Library}`. After the PlayFab Services shared library is built by default it will be found at `/Out/x64/Release/PlayFabServices.Linux/PlayFabServicesLinux.so` + +Example usage: + +``` +./PlayFabServices_Linux.bash +``` + +Running the build script with no arguments will generate a Release binaries. +Running the build script with the `-c|--config` argument will generate Debug or Release binaries. + +``` +./PlayFabServices_Linux.bash <-c|--config> +``` + +Running the build script with the `-lhc|--libHttpClientPath` argument will set the path to the libHttpClient repo. By default its assume to be a sibling of this repo. You can alternatively set the LHC_PATH enviroment varible to control this, for example: `export LHC_PATH=../libHttpClient` + +``` +./PlayFabServices_Linux.bash <-lhc|--libHttpClientPath> ../libHttpClient +``` + +Running the build script with the `-sg|--skipaptget` argument will skip calling apt-get which installs the required components. + +Running the build script with the -nc|--nocore will not generate a binary of `PlayFabCore.Linux.so`. Might be useful for advanced build scenarios + +``` +./PlayFabServices_Linux.bash <-nc|--nocore> +``` + +Running the build script with the -ns|--nosharedinternal will not generate a binary of `PlayFabSharedInternal.a`. Might be useful for advanced build scenarios + +``` +./PlayFabServices_Linux.bash <-ns|--nosharedinternal> +``` + +Running the build script with the -nlhc|--nolibhttpclient will not generate a binary of `libHttpClient.Linux.so`. Might be useful for advanced build scenarios + +``` +./PlayFabServices_Linux.bash <-nlhc|--nolibhttpclient> +``` + +## FAQ + +If the bash script fails to run and produces the error: +``` +/bin/bash^M: bad interpreter +``` +This is due to improper line endings. Running the following command and re-running the script should fix it. +``` +sed -i -e 's/\r$//' PlayFabServices_Linux.bash +``` diff --git a/Build/PlayFabServices.Linux/main.cpp b/Build/PlayFabServices.Linux/main.cpp new file mode 100644 index 0000000..e69de29 diff --git a/Build/PlayFabServices.Win32.143/PlayFabServices.Win32.143.vcxproj b/Build/PlayFabServices.Win32/PlayFabServices.Win32.vcxproj similarity index 100% rename from Build/PlayFabServices.Win32.143/PlayFabServices.Win32.143.vcxproj rename to Build/PlayFabServices.Win32/PlayFabServices.Win32.vcxproj diff --git a/Build/PlayFabServices.import.props b/Build/PlayFabServices.import.props index 9e890d5..fe2b7bc 100644 --- a/Build/PlayFabServices.import.props +++ b/Build/PlayFabServices.import.props @@ -14,16 +14,15 @@ - PlayFabServices.$(HCPlatform).$(PlayFabCoreToolset) + PlayFabServices.$(HCPlatform) $(PlayFabOutRoot)\$(Platform)\$(Configuration)\$(PlayFabServicesProjectName)\ - {9740c935-821c-498c-a942-817eea7fdcd7} - {7cf96aad-a922-47b4-9da2-fa30f7e47d72} - {fb3a4738-544d-4a89-ba69-31d7c86e7af7} + {9740c935-821c-498c-a942-817eea7fdcd7} + {fb3a4738-544d-4a89-ba69-31d7c86e7af7} diff --git a/Build/PlayFabSharedInternal.Android/CMakeLists.txt b/Build/PlayFabSharedInternal.Android/CMakeLists.txt new file mode 100644 index 0000000..299954e --- /dev/null +++ b/Build/PlayFabSharedInternal.Android/CMakeLists.txt @@ -0,0 +1,63 @@ +cmake_minimum_required(VERSION 3.6) + +get_filename_component(PATH_TO_ROOT "../../" ABSOLUTE) +get_filename_component(PATH_TO_SOURCE "../../Source" ABSOLUTE) + +set(PATH_TO_LHC ../libHttpClient) +if(NOT EXISTS "${PATH_TO_LHC}/README.md") + set(PATH_TO_LHC ${PATH_TO_ROOT}/../libHttpClient) +endif() + +project("PlayFabSharedInternal.Android") + +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_STATIC_LIBRARY_PREFIX "") + +########################################### +### Set up paths for source and include ### +########################################### + +include("../PlayFabSharedInternal.CMake/GetPlayFabSharedInternalFiles.cmake") +get_playfab_shared_internal_files( + PLAYFAB_SHARED_INTERNAL_FILES + "${PATH_TO_SOURCE}" +) + +set(COMMON_INCLUDE_DIRS + "${PATH_TO_SOURCE}/PlayFabCore/Include" + "${PATH_TO_SOURCE}/PlayFabCore/Include/Generated" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Source" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Source/Common" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/Generated" + "${PATH_TO_ROOT}/External/rapidjson/include" + "${PATH_TO_LHC}/Include" +) + +######################### +### Set up static lib ### +######################### + +add_library( + "PlayFabSharedInternal.Android" + STATIC + "${PLAYFAB_SHARED_INTERNAL_FILES}" +) + +target_include_directories( + "PlayFabSharedInternal.Android" + PRIVATE + "${COMMON_INCLUDE_DIRS}" +) + +include("../PlayFabSharedInternal.CMake/GetLinuxFlags.cmake") +get_linux_flags(FLAGS FLAGS_DEBUG FLAGS_RELEASE) + +include("../PlayFabSharedInternal.CMake/TargetSetFlags.cmake") +target_set_flags( + "PlayFabSharedInternal.Android" + "${FLAGS}" + "${FLAGS_DEBUG}" + "${FLAGS_RELEASE}" +) diff --git a/Build/PlayFabSharedInternal.Android/build.gradle b/Build/PlayFabSharedInternal.Android/build.gradle new file mode 100644 index 0000000..37b652e --- /dev/null +++ b/Build/PlayFabSharedInternal.Android/build.gradle @@ -0,0 +1,73 @@ +apply plugin: "com.android.library" + +android { + compileSdk 34 + ndkVersion "25.1.8937393" + + defaultConfig { + targetSdkVersion 34 + minSdkVersion 21 + + externalNativeBuild { + cmake { + // externalNativeBuild normally skips static + // lib targets. This forces it to build. + targets "PlayFabSharedInternal.Android" + arguments "-DANDROID_TOOLCHAIN=clang++" + } + } + } + + externalNativeBuild { + cmake { + version "3.18.1" + path "CMakeLists.txt" + buildStagingDirectory "${project.buildDir.getParentFile().getAbsolutePath()}/.cxx/${project.name}" + } + } + + flavorDimensions "ABI" + + productFlavors { + full { + dimension "ABI" + externalNativeBuild { + cmake { + abiFilters "arm64-v8a", "x86_64" + } + } + } + arm8 { + dimension "ABI" + externalNativeBuild { + cmake { + abiFilters "arm64-v8a" + } + } + } + x86_64 { + dimension "ABI" + externalNativeBuild { + cmake { + abiFilters "x86_64" + } + } + } + } + + compileOptions { + sourceCompatibility=JavaVersion.VERSION_1_8 + targetCompatibility=JavaVersion.VERSION_1_8 + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile("proguard-android.txt") + } + } +} + +// Put all the Gradle build files under the /Out directory +def binariesDir = project.file("../../Out/Android/${project.name}").getAbsolutePath() +project.buildDir(new File(binariesDir)) \ No newline at end of file diff --git a/Build/PlayFabSharedInternal.Android/src/main/AndroidManifest.xml b/Build/PlayFabSharedInternal.Android/src/main/AndroidManifest.xml new file mode 100644 index 0000000..5f4c957 --- /dev/null +++ b/Build/PlayFabSharedInternal.Android/src/main/AndroidManifest.xml @@ -0,0 +1,6 @@ + + + \ No newline at end of file diff --git a/Build/PlayFabSharedInternal.Apple/PlayFabSharedInternal.Apple.xcodeproj/project.pbxproj b/Build/PlayFabSharedInternal.Apple/PlayFabSharedInternal.Apple.xcodeproj/project.pbxproj new file mode 100644 index 0000000..9c77992 --- /dev/null +++ b/Build/PlayFabSharedInternal.Apple/PlayFabSharedInternal.Apple.xcodeproj/project.pbxproj @@ -0,0 +1,879 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 56; + objects = { + +/* Begin PBXBuildFile section */ + 820245182AF0812000390A86 /* Error.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 820245172AF0812000390A86 /* Error.cpp */; }; + 8236DDA22B5AE91900FFA328 /* RunContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FD92AEAF76A00D8B93D /* RunContext.h */; }; + 8236DDA32B5AE91900FFA328 /* XAsyncOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FDA2AEAF76A00D8B93D /* XAsyncOperation.h */; }; + 8236DDA42B5AE91900FFA328 /* EnumTraits.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FDB2AEAF76A00D8B93D /* EnumTraits.h */; }; + 8236DDA52B5AE91900FFA328 /* RapidJson.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FDC2AEAF76A00D8B93D /* RapidJson.h */; }; + 8236DDA62B5AE91900FFA328 /* SdkVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FDD2AEAF76A00D8B93D /* SdkVersion.h */; }; + 8236DDA72B5AE91900FFA328 /* Types.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FDE2AEAF76A00D8B93D /* Types.h */; }; + 8236DDA82B5AE91900FFA328 /* Trace.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FDF2AEAF76A00D8B93D /* Trace.h */; }; + 8236DDA92B5AE91900FFA328 /* Result.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FE02AEAF76A00D8B93D /* Result.h */; }; + 8236DDAA2B5AE91900FFA328 /* XAsyncProviderBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FE12AEAF76A00D8B93D /* XAsyncProviderBase.h */; }; + 8236DDAB2B5AE91900FFA328 /* PlatformUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FE22AEAF76A00D8B93D /* PlatformUtils.h */; }; + 8236DDAC2B5AE91900FFA328 /* ApiXAsyncProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FE32AEAF76A00D8B93D /* ApiXAsyncProvider.h */; }; + 8236DDAD2B5AE91900FFA328 /* ModelBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FE42AEAF76A00D8B93D /* ModelBuffer.h */; }; + 8236DDAE2B5AE91900FFA328 /* ResultMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FE52AEAF76A00D8B93D /* ResultMacros.h */; }; + 8236DDAF2B5AE91900FFA328 /* Memory.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FE62AEAF76A00D8B93D /* Memory.h */; }; + 8236DDB02B5AE91900FFA328 /* HttpRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FE72AEAF76A00D8B93D /* HttpRequest.h */; }; + 8236DDB12B5AE91900FFA328 /* PlatformUser_Apple.h in Headers */ = {isa = PBXBuildFile; fileRef = 82AB6DB52B4DE4EE0082EDED /* PlatformUser_Apple.h */; }; + 8236DDB22B5AE91900FFA328 /* PlatformUser.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FE82AEAF76A00D8B93D /* PlatformUser.h */; }; + 8236DDB32B5AE91900FFA328 /* CancellationToken.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FE92AEAF76A00D8B93D /* CancellationToken.h */; }; + 8236DDB42B5AE91900FFA328 /* BaseModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FEA2AEAF76A00D8B93D /* BaseModel.h */; }; + 8236DDB52B5AE91900FFA328 /* JsonUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FEB2AEAF76A00D8B93D /* JsonUtils.h */; }; + 8236DDB62B5AE91900FFA328 /* AsyncOp.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FEC2AEAF76A00D8B93D /* AsyncOp.h */; }; + 8236DDB82B5AE91900FFA328 /* pch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826080052AEAF7A500D8B93D /* pch.cpp */; }; + 8236DDB92B5AE91900FFA328 /* CancellationToken.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE2A22AF16F3F00DF9129 /* CancellationToken.cpp */; }; + 8236DDBA2B5AE91900FFA328 /* PlatformUser_Apple.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 82AB6DB32B4DE4CE0082EDED /* PlatformUser_Apple.cpp */; }; + 8236DDBB2B5AE91900FFA328 /* ModelBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826080062AEAF7A500D8B93D /* ModelBuffer.cpp */; }; + 8236DDBC2B5AE91900FFA328 /* RunContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826080092AEAF7A500D8B93D /* RunContext.cpp */; }; + 8236DDBD2B5AE91900FFA328 /* XAsyncOperation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8260800A2AEAF7A500D8B93D /* XAsyncOperation.cpp */; }; + 8236DDBE2B5AE91900FFA328 /* Trace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8260800B2AEAF7A500D8B93D /* Trace.cpp */; }; + 8236DDBF2B5AE91900FFA328 /* XAsyncProviderBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8260800C2AEAF7A500D8B93D /* XAsyncProviderBase.cpp */; }; + 8236DDC02B5AE91900FFA328 /* JsonUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8260800D2AEAF7A500D8B93D /* JsonUtils.cpp */; }; + 8236DDC12B5AE91900FFA328 /* Error.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 820245172AF0812000390A86 /* Error.cpp */; }; + 8236DDC22B5AE91900FFA328 /* pch.h in Sources */ = {isa = PBXBuildFile; fileRef = 8260800E2AEAF7A500D8B93D /* pch.h */; }; + 8236DDC32B5AE91900FFA328 /* HttpRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8260800F2AEAF7A500D8B93D /* HttpRequest.cpp */; }; + 8236DDC42B5AE91900FFA328 /* PlatformUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826080102AEAF7A500D8B93D /* PlatformUtils.cpp */; }; + 8236DDC52B5AE91900FFA328 /* Memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826080112AEAF7A500D8B93D /* Memory.cpp */; }; + 82607FED2AEAF76A00D8B93D /* RunContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FD92AEAF76A00D8B93D /* RunContext.h */; }; + 82607FEE2AEAF76A00D8B93D /* XAsyncOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FDA2AEAF76A00D8B93D /* XAsyncOperation.h */; }; + 82607FEF2AEAF76A00D8B93D /* EnumTraits.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FDB2AEAF76A00D8B93D /* EnumTraits.h */; }; + 82607FF02AEAF76A00D8B93D /* RapidJson.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FDC2AEAF76A00D8B93D /* RapidJson.h */; }; + 82607FF12AEAF76A00D8B93D /* SdkVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FDD2AEAF76A00D8B93D /* SdkVersion.h */; }; + 82607FF22AEAF76A00D8B93D /* Types.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FDE2AEAF76A00D8B93D /* Types.h */; }; + 82607FF32AEAF76A00D8B93D /* Trace.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FDF2AEAF76A00D8B93D /* Trace.h */; }; + 82607FF42AEAF76A00D8B93D /* Result.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FE02AEAF76A00D8B93D /* Result.h */; }; + 82607FF52AEAF76A00D8B93D /* XAsyncProviderBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FE12AEAF76A00D8B93D /* XAsyncProviderBase.h */; }; + 82607FF62AEAF76A00D8B93D /* PlatformUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FE22AEAF76A00D8B93D /* PlatformUtils.h */; }; + 82607FF72AEAF76A00D8B93D /* ApiXAsyncProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FE32AEAF76A00D8B93D /* ApiXAsyncProvider.h */; }; + 82607FF82AEAF76A00D8B93D /* ModelBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FE42AEAF76A00D8B93D /* ModelBuffer.h */; }; + 82607FF92AEAF76A00D8B93D /* ResultMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FE52AEAF76A00D8B93D /* ResultMacros.h */; }; + 82607FFA2AEAF76A00D8B93D /* Memory.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FE62AEAF76A00D8B93D /* Memory.h */; }; + 82607FFB2AEAF76A00D8B93D /* HttpRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FE72AEAF76A00D8B93D /* HttpRequest.h */; }; + 82607FFC2AEAF76A00D8B93D /* PlatformUser.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FE82AEAF76A00D8B93D /* PlatformUser.h */; }; + 82607FFD2AEAF76A00D8B93D /* CancellationToken.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FE92AEAF76A00D8B93D /* CancellationToken.h */; }; + 82607FFE2AEAF76A00D8B93D /* BaseModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FEA2AEAF76A00D8B93D /* BaseModel.h */; }; + 82607FFF2AEAF76A00D8B93D /* JsonUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FEB2AEAF76A00D8B93D /* JsonUtils.h */; }; + 826080002AEAF76A00D8B93D /* AsyncOp.h in Headers */ = {isa = PBXBuildFile; fileRef = 82607FEC2AEAF76A00D8B93D /* AsyncOp.h */; }; + 826080122AEAF7A500D8B93D /* pch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826080052AEAF7A500D8B93D /* pch.cpp */; }; + 826080132AEAF7A500D8B93D /* ModelBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826080062AEAF7A500D8B93D /* ModelBuffer.cpp */; }; + 826080162AEAF7A500D8B93D /* RunContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826080092AEAF7A500D8B93D /* RunContext.cpp */; }; + 826080172AEAF7A500D8B93D /* XAsyncOperation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8260800A2AEAF7A500D8B93D /* XAsyncOperation.cpp */; }; + 826080182AEAF7A500D8B93D /* Trace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8260800B2AEAF7A500D8B93D /* Trace.cpp */; }; + 826080192AEAF7A500D8B93D /* XAsyncProviderBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8260800C2AEAF7A500D8B93D /* XAsyncProviderBase.cpp */; }; + 8260801A2AEAF7A500D8B93D /* JsonUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8260800D2AEAF7A500D8B93D /* JsonUtils.cpp */; }; + 8260801B2AEAF7A500D8B93D /* pch.h in Sources */ = {isa = PBXBuildFile; fileRef = 8260800E2AEAF7A500D8B93D /* pch.h */; }; + 8260801C2AEAF7A500D8B93D /* HttpRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8260800F2AEAF7A500D8B93D /* HttpRequest.cpp */; }; + 8260801D2AEAF7A500D8B93D /* PlatformUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826080102AEAF7A500D8B93D /* PlatformUtils.cpp */; }; + 8260801E2AEAF7A500D8B93D /* Memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826080112AEAF7A500D8B93D /* Memory.cpp */; }; + 826AE2A32AF16F3F00DF9129 /* CancellationToken.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 826AE2A22AF16F3F00DF9129 /* CancellationToken.cpp */; }; + 82AB6DB42B4DE4CE0082EDED /* PlatformUser_Apple.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 82AB6DB32B4DE4CE0082EDED /* PlatformUser_Apple.cpp */; }; + 82AB6DB62B4DE4EE0082EDED /* PlatformUser_Apple.h in Headers */ = {isa = PBXBuildFile; fileRef = 82AB6DB52B4DE4EE0082EDED /* PlatformUser_Apple.h */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 8206F0482B740BC000451339 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1D02B73FE9D009A4677 /* libHttpClient.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 58BD256122123EF9008942EB; + remoteInfo = libHttpClientFramework_iOS; + }; + 8286B1DD2B73FE9D009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1D02B73FE9D009A4677 /* libHttpClient.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 67EE817E2362599C00A5F3DE; + remoteInfo = SSL_iOS; + }; + 8286B1DF2B73FE9D009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1D02B73FE9D009A4677 /* libHttpClient.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = D9EF87AD25A3F0F9005C4BDF; + remoteInfo = SSL_macOS; + }; + 8286B1E12B73FE9D009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1D02B73FE9D009A4677 /* libHttpClient.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 58722D0E209AD61900B071F7; + remoteInfo = libHttpClient_iOS; + }; + 8286B1E32B73FE9D009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1D02B73FE9D009A4677 /* libHttpClient.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 7DB100A72119206B00AE22F5; + remoteInfo = libHttpClient_macOS; + }; + 8286B1E52B73FE9D009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1D02B73FE9D009A4677 /* libHttpClient.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = D9EF884125A522BC005C4BDF; + remoteInfo = libHttpClient_NOWEBSOCKETS_iOS; + }; + 8286B1E72B73FE9D009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1D02B73FE9D009A4677 /* libHttpClient.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = D9FF0A7725A5366A0061B717; + remoteInfo = libHttpClient_NOWEBSOCKETS_macOS; + }; + 8286B1E92B73FE9D009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1D02B73FE9D009A4677 /* libHttpClient.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 58BD256222123EF9008942EB; + remoteInfo = libHttpClientFramework_iOS; + }; + 8286B1EB2B73FE9D009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1D02B73FE9D009A4677 /* libHttpClient.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2C872C65221C91BD0054F791; + remoteInfo = libHttpClientFramework_macOS; + }; + 8286B1ED2B73FE9D009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1D02B73FE9D009A4677 /* libHttpClient.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = D9EF888425A52685005C4BDF; + remoteInfo = libHttpClientFramework_NOWEBSOCKETS_iOS; + }; + 8286B1EF2B73FE9D009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1D02B73FE9D009A4677 /* libHttpClient.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = D9FF0AA225A536A20061B717; + remoteInfo = libHttpClientFramework_NOWEBSOCKETS_macOS; + }; + 8286B1F12B73FEB2009A4677 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 8286B1D02B73FE9D009A4677 /* libHttpClient.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 2C872C64221C91BD0054F791; + remoteInfo = libHttpClientFramework_macOS; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 8236DDC82B5AE91900FFA328 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "include/$(PRODUCT_NAME)"; + dstSubfolderSpec = 16; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 829F6FE72AEADC8D00208ADE /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "include/$(PRODUCT_NAME)"; + dstSubfolderSpec = 16; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 820245172AF0812000390A86 /* Error.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Error.cpp; sourceTree = ""; }; + 8236DDCC2B5AE91900FFA328 /* libPlayFabSharedInternal_macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPlayFabSharedInternal_macOS.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 82607FD92AEAF76A00D8B93D /* RunContext.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RunContext.h; path = ../../Source/PlayFabSharedInternal/Include/RunContext.h; sourceTree = ""; }; + 82607FDA2AEAF76A00D8B93D /* XAsyncOperation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = XAsyncOperation.h; path = ../../Source/PlayFabSharedInternal/Include/XAsyncOperation.h; sourceTree = ""; }; + 82607FDB2AEAF76A00D8B93D /* EnumTraits.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EnumTraits.h; path = ../../Source/PlayFabSharedInternal/Include/EnumTraits.h; sourceTree = ""; }; + 82607FDC2AEAF76A00D8B93D /* RapidJson.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RapidJson.h; path = ../../Source/PlayFabSharedInternal/Include/RapidJson.h; sourceTree = ""; }; + 82607FDD2AEAF76A00D8B93D /* SdkVersion.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SdkVersion.h; path = ../../Source/PlayFabSharedInternal/Include/SdkVersion.h; sourceTree = ""; }; + 82607FDE2AEAF76A00D8B93D /* Types.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Types.h; path = ../../Source/PlayFabSharedInternal/Include/Types.h; sourceTree = ""; }; + 82607FDF2AEAF76A00D8B93D /* Trace.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Trace.h; path = ../../Source/PlayFabSharedInternal/Include/Trace.h; sourceTree = ""; }; + 82607FE02AEAF76A00D8B93D /* Result.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Result.h; path = ../../Source/PlayFabSharedInternal/Include/Result.h; sourceTree = ""; }; + 82607FE12AEAF76A00D8B93D /* XAsyncProviderBase.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = XAsyncProviderBase.h; path = ../../Source/PlayFabSharedInternal/Include/XAsyncProviderBase.h; sourceTree = ""; }; + 82607FE22AEAF76A00D8B93D /* PlatformUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PlatformUtils.h; path = ../../Source/PlayFabSharedInternal/Include/PlatformUtils.h; sourceTree = ""; }; + 82607FE32AEAF76A00D8B93D /* ApiXAsyncProvider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ApiXAsyncProvider.h; path = ../../Source/PlayFabSharedInternal/Include/ApiXAsyncProvider.h; sourceTree = ""; }; + 82607FE42AEAF76A00D8B93D /* ModelBuffer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ModelBuffer.h; path = ../../Source/PlayFabSharedInternal/Include/ModelBuffer.h; sourceTree = ""; }; + 82607FE52AEAF76A00D8B93D /* ResultMacros.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ResultMacros.h; path = ../../Source/PlayFabSharedInternal/Include/ResultMacros.h; sourceTree = ""; }; + 82607FE62AEAF76A00D8B93D /* Memory.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Memory.h; path = ../../Source/PlayFabSharedInternal/Include/Memory.h; sourceTree = ""; }; + 82607FE72AEAF76A00D8B93D /* HttpRequest.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HttpRequest.h; path = ../../Source/PlayFabSharedInternal/Include/HttpRequest.h; sourceTree = ""; }; + 82607FE82AEAF76A00D8B93D /* PlatformUser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PlatformUser.h; path = ../../Source/PlayFabSharedInternal/Include/PlatformUser.h; sourceTree = ""; }; + 82607FE92AEAF76A00D8B93D /* CancellationToken.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CancellationToken.h; path = ../../Source/PlayFabSharedInternal/Include/CancellationToken.h; sourceTree = ""; }; + 82607FEA2AEAF76A00D8B93D /* BaseModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BaseModel.h; path = ../../Source/PlayFabSharedInternal/Include/BaseModel.h; sourceTree = ""; }; + 82607FEB2AEAF76A00D8B93D /* JsonUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JsonUtils.h; path = ../../Source/PlayFabSharedInternal/Include/JsonUtils.h; sourceTree = ""; }; + 82607FEC2AEAF76A00D8B93D /* AsyncOp.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AsyncOp.h; path = ../../Source/PlayFabSharedInternal/Include/AsyncOp.h; sourceTree = ""; }; + 826080052AEAF7A500D8B93D /* pch.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = pch.cpp; path = ../../Source/PlayFabSharedInternal/Source/pch.cpp; sourceTree = ""; }; + 826080062AEAF7A500D8B93D /* ModelBuffer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ModelBuffer.cpp; path = ../../Source/PlayFabSharedInternal/Source/ModelBuffer.cpp; sourceTree = ""; }; + 826080092AEAF7A500D8B93D /* RunContext.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = RunContext.cpp; path = ../../Source/PlayFabSharedInternal/Source/RunContext.cpp; sourceTree = ""; }; + 8260800A2AEAF7A500D8B93D /* XAsyncOperation.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = XAsyncOperation.cpp; path = ../../Source/PlayFabSharedInternal/Source/XAsyncOperation.cpp; sourceTree = ""; }; + 8260800B2AEAF7A500D8B93D /* Trace.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Trace.cpp; path = ../../Source/PlayFabSharedInternal/Source/Trace.cpp; sourceTree = ""; }; + 8260800C2AEAF7A500D8B93D /* XAsyncProviderBase.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = XAsyncProviderBase.cpp; path = ../../Source/PlayFabSharedInternal/Source/XAsyncProviderBase.cpp; sourceTree = ""; }; + 8260800D2AEAF7A500D8B93D /* JsonUtils.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = JsonUtils.cpp; path = ../../Source/PlayFabSharedInternal/Source/JsonUtils.cpp; sourceTree = ""; }; + 8260800E2AEAF7A500D8B93D /* pch.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pch.h; path = ../../Source/PlayFabSharedInternal/Source/pch.h; sourceTree = ""; }; + 8260800F2AEAF7A500D8B93D /* HttpRequest.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = HttpRequest.cpp; path = ../../Source/PlayFabSharedInternal/Source/HttpRequest.cpp; sourceTree = ""; }; + 826080102AEAF7A500D8B93D /* PlatformUtils.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PlatformUtils.cpp; path = ../../Source/PlayFabSharedInternal/Source/PlatformUtils.cpp; sourceTree = ""; }; + 826080112AEAF7A500D8B93D /* Memory.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Memory.cpp; path = ../../Source/PlayFabSharedInternal/Source/Memory.cpp; sourceTree = ""; }; + 826082A52AF0406B00D8B93D /* Generated */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Generated; path = ../../Source/PlayFabSharedInternal/Include/Generated; sourceTree = ""; }; + 82628C782B73124D00ED8BF8 /* HttpClient.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = HttpClient.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 826AE2A22AF16F3F00DF9129 /* CancellationToken.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CancellationToken.cpp; path = ../../Source/PlayFabSharedInternal/Source/CancellationToken.cpp; sourceTree = ""; }; + 8286B1D02B73FE9D009A4677 /* libHttpClient.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = libHttpClient.xcodeproj; path = ../../../libHttpClient/Build/libHttpClient.Apple.C/libHttpClient.xcodeproj; sourceTree = ""; }; + 829F704E2AEAE11000208ADE /* libPlayFabSharedInternal_iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPlayFabSharedInternal_iOS.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 829F70562AEAE74100208ADE /* HttpClient.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = HttpClient.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 82AB6DB32B4DE4CE0082EDED /* PlatformUser_Apple.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PlatformUser_Apple.cpp; path = ../../Source/PlayFabSharedInternal/Source/Apple/PlatformUser_Apple.cpp; sourceTree = ""; }; + 82AB6DB52B4DE4EE0082EDED /* PlatformUser_Apple.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PlatformUser_Apple.h; path = ../../Source/PlayFabSharedInternal/Include/Apple/PlatformUser_Apple.h; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8236DDC62B5AE91900FFA328 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 829F6FE62AEADC8D00208ADE /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 820245162AF0812000390A86 /* Generated */ = { + isa = PBXGroup; + children = ( + 820245172AF0812000390A86 /* Error.cpp */, + ); + name = Generated; + path = ../../Source/PlayFabSharedInternal/Source/Generated; + sourceTree = ""; + }; + 826082A12AF03BBF00D8B93D /* Include */ = { + isa = PBXGroup; + children = ( + 826082A52AF0406B00D8B93D /* Generated */, + 82607FE32AEAF76A00D8B93D /* ApiXAsyncProvider.h */, + 82607FEC2AEAF76A00D8B93D /* AsyncOp.h */, + 82607FEA2AEAF76A00D8B93D /* BaseModel.h */, + 82607FE92AEAF76A00D8B93D /* CancellationToken.h */, + 82607FDB2AEAF76A00D8B93D /* EnumTraits.h */, + 82607FE72AEAF76A00D8B93D /* HttpRequest.h */, + 82607FEB2AEAF76A00D8B93D /* JsonUtils.h */, + 82607FE62AEAF76A00D8B93D /* Memory.h */, + 82607FE42AEAF76A00D8B93D /* ModelBuffer.h */, + 82607FE82AEAF76A00D8B93D /* PlatformUser.h */, + 82607FE22AEAF76A00D8B93D /* PlatformUtils.h */, + 82607FDC2AEAF76A00D8B93D /* RapidJson.h */, + 82607FE02AEAF76A00D8B93D /* Result.h */, + 82607FE52AEAF76A00D8B93D /* ResultMacros.h */, + 82607FD92AEAF76A00D8B93D /* RunContext.h */, + 82607FDD2AEAF76A00D8B93D /* SdkVersion.h */, + 82607FDF2AEAF76A00D8B93D /* Trace.h */, + 82607FDE2AEAF76A00D8B93D /* Types.h */, + 82607FDA2AEAF76A00D8B93D /* XAsyncOperation.h */, + 82607FE12AEAF76A00D8B93D /* XAsyncProviderBase.h */, + 82AB6DB52B4DE4EE0082EDED /* PlatformUser_Apple.h */, + ); + name = Include; + sourceTree = ""; + }; + 826082A22AF03BD000D8B93D /* Source */ = { + isa = PBXGroup; + children = ( + 820245162AF0812000390A86 /* Generated */, + 826AE2A22AF16F3F00DF9129 /* CancellationToken.cpp */, + 8260800F2AEAF7A500D8B93D /* HttpRequest.cpp */, + 8260800D2AEAF7A500D8B93D /* JsonUtils.cpp */, + 826080112AEAF7A500D8B93D /* Memory.cpp */, + 826080062AEAF7A500D8B93D /* ModelBuffer.cpp */, + 826080052AEAF7A500D8B93D /* pch.cpp */, + 8260800E2AEAF7A500D8B93D /* pch.h */, + 826080102AEAF7A500D8B93D /* PlatformUtils.cpp */, + 826080092AEAF7A500D8B93D /* RunContext.cpp */, + 8260800B2AEAF7A500D8B93D /* Trace.cpp */, + 8260800A2AEAF7A500D8B93D /* XAsyncOperation.cpp */, + 8260800C2AEAF7A500D8B93D /* XAsyncProviderBase.cpp */, + 82AB6DB32B4DE4CE0082EDED /* PlatformUser_Apple.cpp */, + ); + name = Source; + sourceTree = ""; + }; + 8286B1D12B73FE9D009A4677 /* Products */ = { + isa = PBXGroup; + children = ( + 8286B1DE2B73FE9D009A4677 /* libSSL.a */, + 8286B1E02B73FE9D009A4677 /* libSSL.a */, + 8286B1E22B73FE9D009A4677 /* libHttpClient.a */, + 8286B1E42B73FE9D009A4677 /* libHttpClient.a */, + 8286B1E62B73FE9D009A4677 /* libHttpClient_NOWEBSOCKETS.a */, + 8286B1E82B73FE9D009A4677 /* libHttpClient_NOWEBSOCKETS.a */, + 8286B1EA2B73FE9D009A4677 /* HttpClient.framework */, + 8286B1EC2B73FE9D009A4677 /* HttpClient.framework */, + 8286B1EE2B73FE9D009A4677 /* NOWEBSOCKETS/HttpClient.framework */, + 8286B1F02B73FE9D009A4677 /* NOWEBSOCKETS/HttpClient.framework */, + ); + name = Products; + sourceTree = ""; + }; + 829F6FE02AEADC8D00208ADE = { + isa = PBXGroup; + children = ( + 8286B1D02B73FE9D009A4677 /* libHttpClient.xcodeproj */, + 826082A12AF03BBF00D8B93D /* Include */, + 826082A22AF03BD000D8B93D /* Source */, + 829F70062AEAE04200208ADE /* Frameworks */, + 829F704E2AEAE11000208ADE /* libPlayFabSharedInternal_iOS.a */, + 8236DDCC2B5AE91900FFA328 /* libPlayFabSharedInternal_macOS.a */, + ); + sourceTree = ""; + }; + 829F70062AEAE04200208ADE /* Frameworks */ = { + isa = PBXGroup; + children = ( + 82628C782B73124D00ED8BF8 /* HttpClient.framework */, + 829F70562AEAE74100208ADE /* HttpClient.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8236DDA12B5AE91900FFA328 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 8236DDA22B5AE91900FFA328 /* RunContext.h in Headers */, + 8236DDA32B5AE91900FFA328 /* XAsyncOperation.h in Headers */, + 8236DDA42B5AE91900FFA328 /* EnumTraits.h in Headers */, + 8236DDA52B5AE91900FFA328 /* RapidJson.h in Headers */, + 8236DDA62B5AE91900FFA328 /* SdkVersion.h in Headers */, + 8236DDA72B5AE91900FFA328 /* Types.h in Headers */, + 8236DDA82B5AE91900FFA328 /* Trace.h in Headers */, + 8236DDA92B5AE91900FFA328 /* Result.h in Headers */, + 8236DDAA2B5AE91900FFA328 /* XAsyncProviderBase.h in Headers */, + 8236DDAB2B5AE91900FFA328 /* PlatformUtils.h in Headers */, + 8236DDAC2B5AE91900FFA328 /* ApiXAsyncProvider.h in Headers */, + 8236DDAD2B5AE91900FFA328 /* ModelBuffer.h in Headers */, + 8236DDAE2B5AE91900FFA328 /* ResultMacros.h in Headers */, + 8236DDAF2B5AE91900FFA328 /* Memory.h in Headers */, + 8236DDB02B5AE91900FFA328 /* HttpRequest.h in Headers */, + 8236DDB12B5AE91900FFA328 /* PlatformUser_Apple.h in Headers */, + 8236DDB22B5AE91900FFA328 /* PlatformUser.h in Headers */, + 8236DDB32B5AE91900FFA328 /* CancellationToken.h in Headers */, + 8236DDB42B5AE91900FFA328 /* BaseModel.h in Headers */, + 8236DDB52B5AE91900FFA328 /* JsonUtils.h in Headers */, + 8236DDB62B5AE91900FFA328 /* AsyncOp.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 829F70232AEAE0E900208ADE /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 82607FED2AEAF76A00D8B93D /* RunContext.h in Headers */, + 82607FEE2AEAF76A00D8B93D /* XAsyncOperation.h in Headers */, + 82607FEF2AEAF76A00D8B93D /* EnumTraits.h in Headers */, + 82607FF02AEAF76A00D8B93D /* RapidJson.h in Headers */, + 82607FF12AEAF76A00D8B93D /* SdkVersion.h in Headers */, + 82607FF22AEAF76A00D8B93D /* Types.h in Headers */, + 82607FF32AEAF76A00D8B93D /* Trace.h in Headers */, + 82607FF42AEAF76A00D8B93D /* Result.h in Headers */, + 82607FF52AEAF76A00D8B93D /* XAsyncProviderBase.h in Headers */, + 82607FF62AEAF76A00D8B93D /* PlatformUtils.h in Headers */, + 82607FF72AEAF76A00D8B93D /* ApiXAsyncProvider.h in Headers */, + 82607FF82AEAF76A00D8B93D /* ModelBuffer.h in Headers */, + 82607FF92AEAF76A00D8B93D /* ResultMacros.h in Headers */, + 82607FFA2AEAF76A00D8B93D /* Memory.h in Headers */, + 82607FFB2AEAF76A00D8B93D /* HttpRequest.h in Headers */, + 82AB6DB62B4DE4EE0082EDED /* PlatformUser_Apple.h in Headers */, + 82607FFC2AEAF76A00D8B93D /* PlatformUser.h in Headers */, + 82607FFD2AEAF76A00D8B93D /* CancellationToken.h in Headers */, + 82607FFE2AEAF76A00D8B93D /* BaseModel.h in Headers */, + 82607FFF2AEAF76A00D8B93D /* JsonUtils.h in Headers */, + 826080002AEAF76A00D8B93D /* AsyncOp.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 8236DDA02B5AE91900FFA328 /* PlayFabSharedInternal_macOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 8236DDC92B5AE91900FFA328 /* Build configuration list for PBXNativeTarget "PlayFabSharedInternal_macOS" */; + buildPhases = ( + 8236DDA12B5AE91900FFA328 /* Headers */, + 8236DDB72B5AE91900FFA328 /* Sources */, + 8236DDC62B5AE91900FFA328 /* Frameworks */, + 8236DDC82B5AE91900FFA328 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + 8286B1F22B73FEB2009A4677 /* PBXTargetDependency */, + ); + name = PlayFabSharedInternal_macOS; + productName = PlayFabSharedInternal.iOS; + productReference = 8236DDCC2B5AE91900FFA328 /* libPlayFabSharedInternal_macOS.a */; + productType = "com.apple.product-type.library.static"; + }; + 829F6FE82AEADC8D00208ADE /* PlayFabSharedInternal_iOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 829F6FF22AEADC8D00208ADE /* Build configuration list for PBXNativeTarget "PlayFabSharedInternal_iOS" */; + buildPhases = ( + 829F70232AEAE0E900208ADE /* Headers */, + 829F6FE52AEADC8D00208ADE /* Sources */, + 829F6FE62AEADC8D00208ADE /* Frameworks */, + 829F6FE72AEADC8D00208ADE /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + 8206F0492B740BC000451339 /* PBXTargetDependency */, + ); + name = PlayFabSharedInternal_iOS; + productName = PlayFabSharedInternal.iOS; + productReference = 829F704E2AEAE11000208ADE /* libPlayFabSharedInternal_iOS.a */; + productType = "com.apple.product-type.library.static"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 829F6FE12AEADC8D00208ADE /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastUpgradeCheck = 1500; + TargetAttributes = { + 829F6FE82AEADC8D00208ADE = { + CreatedOnToolsVersion = 15.0; + }; + }; + }; + buildConfigurationList = 829F6FE42AEADC8D00208ADE /* Build configuration list for PBXProject "PlayFabSharedInternal.Apple" */; + compatibilityVersion = "Xcode 14.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 829F6FE02AEADC8D00208ADE; + productRefGroup = 829F6FE02AEADC8D00208ADE; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = 8286B1D12B73FE9D009A4677 /* Products */; + ProjectRef = 8286B1D02B73FE9D009A4677 /* libHttpClient.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + 829F6FE82AEADC8D00208ADE /* PlayFabSharedInternal_iOS */, + 8236DDA02B5AE91900FFA328 /* PlayFabSharedInternal_macOS */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + 8286B1DE2B73FE9D009A4677 /* libSSL.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libSSL.a; + remoteRef = 8286B1DD2B73FE9D009A4677 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 8286B1E02B73FE9D009A4677 /* libSSL.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libSSL.a; + remoteRef = 8286B1DF2B73FE9D009A4677 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 8286B1E22B73FE9D009A4677 /* libHttpClient.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libHttpClient.a; + remoteRef = 8286B1E12B73FE9D009A4677 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 8286B1E42B73FE9D009A4677 /* libHttpClient.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libHttpClient.a; + remoteRef = 8286B1E32B73FE9D009A4677 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 8286B1E62B73FE9D009A4677 /* libHttpClient_NOWEBSOCKETS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libHttpClient_NOWEBSOCKETS.a; + remoteRef = 8286B1E52B73FE9D009A4677 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 8286B1E82B73FE9D009A4677 /* libHttpClient_NOWEBSOCKETS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libHttpClient_NOWEBSOCKETS.a; + remoteRef = 8286B1E72B73FE9D009A4677 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 8286B1EA2B73FE9D009A4677 /* HttpClient.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = HttpClient.framework; + remoteRef = 8286B1E92B73FE9D009A4677 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 8286B1EC2B73FE9D009A4677 /* HttpClient.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = HttpClient.framework; + remoteRef = 8286B1EB2B73FE9D009A4677 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 8286B1EE2B73FE9D009A4677 /* NOWEBSOCKETS/HttpClient.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = NOWEBSOCKETS/HttpClient.framework; + remoteRef = 8286B1ED2B73FE9D009A4677 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 8286B1F02B73FE9D009A4677 /* NOWEBSOCKETS/HttpClient.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = NOWEBSOCKETS/HttpClient.framework; + remoteRef = 8286B1EF2B73FE9D009A4677 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXSourcesBuildPhase section */ + 8236DDB72B5AE91900FFA328 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8236DDB82B5AE91900FFA328 /* pch.cpp in Sources */, + 8236DDB92B5AE91900FFA328 /* CancellationToken.cpp in Sources */, + 8236DDBA2B5AE91900FFA328 /* PlatformUser_Apple.cpp in Sources */, + 8236DDBB2B5AE91900FFA328 /* ModelBuffer.cpp in Sources */, + 8236DDBC2B5AE91900FFA328 /* RunContext.cpp in Sources */, + 8236DDBD2B5AE91900FFA328 /* XAsyncOperation.cpp in Sources */, + 8236DDBE2B5AE91900FFA328 /* Trace.cpp in Sources */, + 8236DDBF2B5AE91900FFA328 /* XAsyncProviderBase.cpp in Sources */, + 8236DDC02B5AE91900FFA328 /* JsonUtils.cpp in Sources */, + 8236DDC12B5AE91900FFA328 /* Error.cpp in Sources */, + 8236DDC22B5AE91900FFA328 /* pch.h in Sources */, + 8236DDC32B5AE91900FFA328 /* HttpRequest.cpp in Sources */, + 8236DDC42B5AE91900FFA328 /* PlatformUtils.cpp in Sources */, + 8236DDC52B5AE91900FFA328 /* Memory.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 829F6FE52AEADC8D00208ADE /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 826080122AEAF7A500D8B93D /* pch.cpp in Sources */, + 826AE2A32AF16F3F00DF9129 /* CancellationToken.cpp in Sources */, + 82AB6DB42B4DE4CE0082EDED /* PlatformUser_Apple.cpp in Sources */, + 826080132AEAF7A500D8B93D /* ModelBuffer.cpp in Sources */, + 826080162AEAF7A500D8B93D /* RunContext.cpp in Sources */, + 826080172AEAF7A500D8B93D /* XAsyncOperation.cpp in Sources */, + 826080182AEAF7A500D8B93D /* Trace.cpp in Sources */, + 826080192AEAF7A500D8B93D /* XAsyncProviderBase.cpp in Sources */, + 8260801A2AEAF7A500D8B93D /* JsonUtils.cpp in Sources */, + 820245182AF0812000390A86 /* Error.cpp in Sources */, + 8260801B2AEAF7A500D8B93D /* pch.h in Sources */, + 8260801C2AEAF7A500D8B93D /* HttpRequest.cpp in Sources */, + 8260801D2AEAF7A500D8B93D /* PlatformUtils.cpp in Sources */, + 8260801E2AEAF7A500D8B93D /* Memory.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 8206F0492B740BC000451339 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = libHttpClientFramework_iOS; + targetProxy = 8206F0482B740BC000451339 /* PBXContainerItemProxy */; + }; + 8286B1F22B73FEB2009A4677 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = libHttpClientFramework_macOS; + targetProxy = 8286B1F12B73FEB2009A4677 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 8236DDCA2B5AE91900FFA328 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = UBF8T346G9; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = ../../Source/PlayFabSharedInternal/Source/pch.h; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../../../libHttpClient/Include", + "$(SRCROOT)/../../Source/PlayFabCore/Include/**", + "$(SRCROOT)/../../External/rapidjson/include", + "$(SRCROOT)/../../Source/PlayFabSharedInternal/Include/Generated", + ); + OTHER_LDFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + USER_HEADER_SEARCH_PATHS = ""; + VALIDATE_PRODUCT = NO; + }; + name = Debug; + }; + 8236DDCB2B5AE91900FFA328 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = UBF8T346G9; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = ../../Source/PlayFabSharedInternal/Source/pch.h; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../../../libHttpClient/Include", + "$(SRCROOT)/../../Source/PlayFabCore/Include/**", + "$(SRCROOT)/../../External/rapidjson/include", + "$(SRCROOT)/../../Source/PlayFabSharedInternal/Include/Generated", + ); + OTHER_LDFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + USER_HEADER_SEARCH_PATHS = ""; + VALIDATE_PRODUCT = NO; + }; + name = Release; + }; + 829F6FF02AEADC8D00208ADE /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + "HC_LINK_STATIC=1", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + OTHER_CPLUSPLUSFLAGS = ( + "$(OTHER_CFLAGS)", + "-fstack-protector-strong", + "-fPIC", + "-Wformat", + "-Wformat-security", + "-Werror=format-security", + ); + SDKROOT = iphoneos; + }; + name = Debug; + }; + 829F6FF12AEADC8D00208ADE /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = "HC_LINK_STATIC=1"; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + OTHER_CPLUSPLUSFLAGS = ( + "$(OTHER_CFLAGS)", + "-fstack-protector-strong", + "-fPIC", + "-Wformat", + "-Wformat-security", + "-Werror=format-security", + ); + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 829F6FF32AEADC8D00208ADE /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = UBF8T346G9; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = ../../Source/PlayFabSharedInternal/Source/pch.h; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../../../libHttpClient/Include", + "$(SRCROOT)/../../Source/PlayFabCore/Include/**", + "$(SRCROOT)/../../External/rapidjson/include", + "$(SRCROOT)/../../Source/PlayFabSharedInternal/Include/Generated", + ); + OTHER_LDFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + USER_HEADER_SEARCH_PATHS = ""; + VALIDATE_PRODUCT = NO; + }; + name = Debug; + }; + 829F6FF42AEADC8D00208ADE /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = UBF8T346G9; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = ../../Source/PlayFabSharedInternal/Source/pch.h; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../../../libHttpClient/Include", + "$(SRCROOT)/../../Source/PlayFabCore/Include/**", + "$(SRCROOT)/../../External/rapidjson/include", + "$(SRCROOT)/../../Source/PlayFabSharedInternal/Include/Generated", + ); + OTHER_LDFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + USER_HEADER_SEARCH_PATHS = ""; + VALIDATE_PRODUCT = NO; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 8236DDC92B5AE91900FFA328 /* Build configuration list for PBXNativeTarget "PlayFabSharedInternal_macOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 8236DDCA2B5AE91900FFA328 /* Debug */, + 8236DDCB2B5AE91900FFA328 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 829F6FE42AEADC8D00208ADE /* Build configuration list for PBXProject "PlayFabSharedInternal.Apple" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 829F6FF02AEADC8D00208ADE /* Debug */, + 829F6FF12AEADC8D00208ADE /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 829F6FF22AEADC8D00208ADE /* Build configuration list for PBXNativeTarget "PlayFabSharedInternal_iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 829F6FF32AEADC8D00208ADE /* Debug */, + 829F6FF42AEADC8D00208ADE /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 829F6FE12AEADC8D00208ADE /* Project object */; +} diff --git a/Build/PlayFabSharedInternal.Apple/PlayFabSharedInternal.Apple.xcodeproj/xcshareddata/xcschemes/PlayFabSharedInternal_iOS.xcscheme b/Build/PlayFabSharedInternal.Apple/PlayFabSharedInternal.Apple.xcodeproj/xcshareddata/xcschemes/PlayFabSharedInternal_iOS.xcscheme new file mode 100644 index 0000000..48faf94 --- /dev/null +++ b/Build/PlayFabSharedInternal.Apple/PlayFabSharedInternal.Apple.xcodeproj/xcshareddata/xcschemes/PlayFabSharedInternal_iOS.xcscheme @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Build/PlayFabSharedInternal.Apple/PlayFabSharedInternal.Apple.xcodeproj/xcshareddata/xcschemes/PlayFabSharedInternal_macOS.xcscheme b/Build/PlayFabSharedInternal.Apple/PlayFabSharedInternal.Apple.xcodeproj/xcshareddata/xcschemes/PlayFabSharedInternal_macOS.xcscheme new file mode 100644 index 0000000..f7fe97e --- /dev/null +++ b/Build/PlayFabSharedInternal.Apple/PlayFabSharedInternal.Apple.xcodeproj/xcshareddata/xcschemes/PlayFabSharedInternal_macOS.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Build/PlayFabSharedInternal.CMake/GetLinuxFlags.cmake b/Build/PlayFabSharedInternal.CMake/GetLinuxFlags.cmake new file mode 100644 index 0000000..b543106 --- /dev/null +++ b/Build/PlayFabSharedInternal.CMake/GetLinuxFlags.cmake @@ -0,0 +1,31 @@ +cmake_minimum_required(VERSION 3.6) + +# This function will set common, debug, and release config compiler flags +# into the three OUT_XXX variables, respectively. These are intended to then +# be passed to `target_set_flags`, from `TargetSetFlags.cmake`. +function(GET_LINUX_FLAGS OUT_FLAGS OUT_FLAGS_DEBUG OUT_FLAGS_RELEASE) + set(FLAGS + "-Wall" + "-fexceptions" + "-fdeclspec" + "-frtti" + "-Wno-unknown-pragmas" + "-Wno-pragma-once-outside-header" + "-DHC_PLATFORM_MSBUILD_GUESS=HC_PLATFORM_LINUX" + PARENT_SCOPE + ) + + set("${OUT_FLAGS}" "${FLAGS}" PARENT_SCOPE) + + set("${OUT_FLAGS_DEBUG}" + "-O0" + "-DHC_TRACE_BUILD_LEVEL=HC_PRIVATE_TRACE_LEVEL_VERBOSE" + PARENT_SCOPE + ) + + set("${OUT_FLAGS_RELEASE}" + "-Os" + "-DHC_TRACE_BUILD_LEVEL=HC_PRIVATE_TRACE_LEVEL_IMPORTANT" + PARENT_SCOPE + ) +endfunction() diff --git a/Build/PlayFabSharedInternal.CMake/GetPlayFabSharedInternalFiles.cmake b/Build/PlayFabSharedInternal.CMake/GetPlayFabSharedInternalFiles.cmake new file mode 100644 index 0000000..1c5e5f3 --- /dev/null +++ b/Build/PlayFabSharedInternal.CMake/GetPlayFabSharedInternalFiles.cmake @@ -0,0 +1,49 @@ +cmake_minimum_required(VERSION 3.6) + +# file list similar to PlayFabSharedInternal.vcxitems +function(GET_PLAYFAB_SHARED_INTERNAL_FILES + OUT_PLAYFAB_SHARED_INTERNAL_FILES + PATH_TO_SOURCE + ) + + set(${OUT_PLAYFAB_SHARED_INTERNAL_FILES} + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/Linux/PlatformUser_Linux.h" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/ApiXAsyncProvider.h" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/AsyncOp.h" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/BaseModel.h" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/CancellationToken.h" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/EnumTraits.h" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/Generated/Error.h" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/HttpRequest.h" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/JsonUtils.h" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/Memory.h" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/ModelBuffer.h" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/PlatformUser.h" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/PlatformUtils.h" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/RapidJson.h" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/Result.h" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/ResultMacros.h" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/RunContext.h" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/SdkVersion.h" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/Trace.h" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/Types.h" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/XAsyncOperation.h" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/XAsyncProviderBase.h" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Source/pch.h" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Source/Linux/PlatformUser_Linux.cpp" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Source/CancellationToken.cpp" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Source/Generated/Error.cpp" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Source/HttpRequest.cpp" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Source/JsonUtils.cpp" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Source/Memory.cpp" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Source/ModelBuffer.cpp" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Source/pch.cpp" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Source/PlatformUtils.cpp" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Source/RunContext.cpp" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Source/Trace.cpp" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Source/XAsyncOperation.cpp" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Source/XAsyncProviderBase.cpp" + PARENT_SCOPE + ) + +endfunction() diff --git a/Build/PlayFabSharedInternal.CMake/TargetSetFlags.cmake b/Build/PlayFabSharedInternal.CMake/TargetSetFlags.cmake new file mode 100644 index 0000000..98f1754 --- /dev/null +++ b/Build/PlayFabSharedInternal.CMake/TargetSetFlags.cmake @@ -0,0 +1,17 @@ +function(TARGET_SET_FLAGS TARGET_NAME FLAGS FLAGS_DEBUG FLAGS_RELEASE) + + foreach(flag "${FLAGS}") + target_compile_options("${TARGET_NAME}" PRIVATE "${flag}") + endforeach() + + if (CMAKE_BUILD_TYPE STREQUAL "Debug") + foreach(flag "${FLAGS_DEBUG}") + target_compile_options("${TARGET_NAME}" PRIVATE "${flag}") + endforeach() + elseif (CMAKE_BUILD_TYPE STREQUAL "Release") + foreach(flag "${FLAGS_RELEASE}") + target_compile_options("${TARGET_NAME}" PRIVATE "${flag}") + endforeach() + endif() + +endfunction() diff --git a/Build/PlayFabSharedInternal.GDK.142/PlayFabSharedInternal.GDK.142.vcxproj b/Build/PlayFabSharedInternal.GDK.142/PlayFabSharedInternal.GDK.142.vcxproj deleted file mode 100644 index 5e7acff..0000000 --- a/Build/PlayFabSharedInternal.GDK.142/PlayFabSharedInternal.GDK.142.vcxproj +++ /dev/null @@ -1,12 +0,0 @@ - - - - {6741104b-b479-4d1d-8b5c-588f13f4d51a} - StaticLibrary - v142 - - - - - - \ No newline at end of file diff --git a/Build/PlayFabSharedInternal.Linux/CMakeLists.txt b/Build/PlayFabSharedInternal.Linux/CMakeLists.txt new file mode 100644 index 0000000..c842051 --- /dev/null +++ b/Build/PlayFabSharedInternal.Linux/CMakeLists.txt @@ -0,0 +1,80 @@ +cmake_minimum_required(VERSION 3.6) + +get_filename_component(PATH_TO_ROOT "../../" ABSOLUTE) +get_filename_component(PATH_TO_SOURCE "../../Source" ABSOLUTE) + +set(PATH_TO_LHC ${LHC_PATH}) +if(NOT EXISTS "${PATH_TO_LHC}/README.md") + set(PATH_TO_LHC ${PATH_TO_ROOT}/${LHC_PATH}) +endif() + +project("PlayFabSharedInternal.Linux") + +set(CMAKE_C_COMPILER clang) +set(CMAKE_CXX_COMPILER clang++) +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_STATIC_LIBRARY_PREFIX "") +set(CMAKE_POSITION_INDEPENDENT_CODE ON) + +########################################### +### Set up paths for source and include ### +########################################### + +# Set final static libraries output folder +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${PATH_TO_ROOT}/Out/x64/Debug/${PROJECT_NAME}) +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${PATH_TO_ROOT}/Out/x64/Release/${PROJECT_NAME}) + +# BINARY_DIR is a temp folder used by cmake itself. +# Binary folder can be remove freely. +# See more details: https://cmake.org/cmake/help/v3.4/command/add_subdirectory.html +set(BINARY_DIR ${PATH_TO_ROOT}/Int/CMake/${PROJECT_NAME}) + +include("../PlayFabSharedInternal.CMake/GetPlayFabSharedInternalFiles.cmake") +get_playfab_shared_internal_files( + PLAYFAB_SHARED_INTERNAL_FILES + "${PATH_TO_SOURCE}" + ) + +set(COMMON_INCLUDE_DIRS + "${PATH_TO_SOURCE}/PlayFabCore/Include" + "${PATH_TO_SOURCE}/PlayFabCore/Include/Generated" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Source" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Source/Common" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/Generated" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/playfab/core/cpp" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/Generated" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/Generated" + "${PATH_TO_ROOT}/External/rapidjson/include/rapidjson" + "${PATH_TO_ROOT}/External/rapidjson/include" + "${PATH_TO_LHC}/Include" + ) + +######################### +### Set up static lib ### +######################### + +add_library( + "${PROJECT_NAME}" + STATIC + "${PLAYFAB_SHARED_INTERNAL_FILES}" + ) + +target_include_directories( + "${PROJECT_NAME}" + PRIVATE + "${COMMON_INCLUDE_DIRS}" + ) + +include("../PlayFabSharedInternal.CMake/GetLinuxFlags.cmake") +get_linux_flags(FLAGS FLAGS_DEBUG FLAGS_RELEASE) + +include("../PlayFabSharedInternal.CMake/TargetSetFlags.cmake") +target_set_flags( + "${PROJECT_NAME}" + "${FLAGS}" + "${FLAGS_DEBUG}" + "${FLAGS_RELEASE}" + ) diff --git a/Build/PlayFabSharedInternal.Linux/PlayFabSharedInternal_Linux.bash b/Build/PlayFabSharedInternal.Linux/PlayFabSharedInternal_Linux.bash new file mode 100644 index 0000000..c4d0252 --- /dev/null +++ b/Build/PlayFabSharedInternal.Linux/PlayFabSharedInternal_Linux.bash @@ -0,0 +1,47 @@ +#!/bin/bash +log () { + echo "***** $1 *****" +} + +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) + +POSITIONAL_ARGS=() + +# Default configurations +CONFIGURATION="Release" +if [ "$LHC_PATH" == "" ]; then + LHC_PATH="../libHttpClient" +fi + +while [[ $# -gt 0 ]]; do + case $1 in + -c|--config) + CONFIGURATION="$2" + shift # past argument + shift # past value + ;; + -lhc|--libHttpClientPath) + LHC_PATH="$2" + shift # past argument + shift # past value + ;; + -*|--*) + echo "Unknown option $1" + exit 1 + ;; + *) + POSITIONAL_ARGS+=("$1") # save positional arg + shift # past argument + ;; + esac +done + +set -- "${POSITIONAL_ARGS[@]}" # restore positional parameters + +log "#### Building PlayFabSharedInternal ####" +log "CONFIGURATION = ${CONFIGURATION}" +log "LHC_PATH = ${LHC_PATH}" + +# make PlayFabSharedInternal +sudo cmake -S "$SCRIPT_DIR" -B "$SCRIPT_DIR"/../../Int/CMake/PlayFabSharedInternal.Linux -D CMAKE_BUILD_TYPE=$CONFIGURATION -D LHC_PATH=$LHC_PATH +sudo make -C "$SCRIPT_DIR"/../../Int/CMake/PlayFabSharedInternal.Linux diff --git a/Build/PlayFabSharedInternal.Linux/README.md b/Build/PlayFabSharedInternal.Linux/README.md new file mode 100644 index 0000000..9eb4857 --- /dev/null +++ b/Build/PlayFabSharedInternal.Linux/README.md @@ -0,0 +1,3 @@ +# Building PlayFab for Linux + +See [../PlayFabServices.Linux/README.md] for Linux build instructions \ No newline at end of file diff --git a/Build/libHttpClient.142.GDK.C/libHttpClient.142.GDK.C.vcxproj b/Build/libHttpClient.142.GDK.C/libHttpClient.142.GDK.C.vcxproj deleted file mode 100644 index f35c2dd..0000000 --- a/Build/libHttpClient.142.GDK.C/libHttpClient.142.GDK.C.vcxproj +++ /dev/null @@ -1,18 +0,0 @@ - - - - {66365E18-7B53-44BF-A348-6735058E359E} - StaticLibrary - v142 - - - - - - - - %(AdditionalIncludeDirectories);$(Console_SdkIncludeRoot) - - - - \ No newline at end of file diff --git a/Build/libHttpClient.143.GDK.C/libHttpClient.143.GDK.C.vcxproj b/Build/libHttpClient.143.GDK.C/libHttpClient.143.GDK.C.vcxproj index 03eb0c6..7344d84 100644 --- a/Build/libHttpClient.143.GDK.C/libHttpClient.143.GDK.C.vcxproj +++ b/Build/libHttpClient.143.GDK.C/libHttpClient.143.GDK.C.vcxproj @@ -8,7 +8,7 @@ - + diff --git a/Build/libHttpClient.GDK/libHttpClient.GDK.vcxproj b/Build/libHttpClient.GDK/libHttpClient.GDK.vcxproj new file mode 100644 index 0000000..8295859 --- /dev/null +++ b/Build/libHttpClient.GDK/libHttpClient.GDK.vcxproj @@ -0,0 +1,19 @@ + + + + {A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743} + DynamicLibrary + Xbox.XCurl.API + + + + + $(HCBuildRoot)\$(ProjectName)\$(ProjectName).def + %(AdditionalDependencies);Appnotify.lib;winhttp.lib;crypt32.lib + + + + + + + \ No newline at end of file diff --git a/Build/libHttpClient.143.Win32.C/libHttpClient.143.Win32.C.vcxproj b/Build/libHttpClient.Win32/libHttpClient.Win32.vcxproj similarity index 62% rename from Build/libHttpClient.143.Win32.C/libHttpClient.143.Win32.C.vcxproj rename to Build/libHttpClient.Win32/libHttpClient.Win32.vcxproj index 6308603..0209636 100644 --- a/Build/libHttpClient.143.Win32.C/libHttpClient.143.Win32.C.vcxproj +++ b/Build/libHttpClient.Win32/libHttpClient.Win32.vcxproj @@ -2,14 +2,18 @@ {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8} - StaticLibrary - v143 + DynamicLibrary - + + + $(HCBuildRoot)\$(ProjectName)\$(ProjectName).def + %(AdditionalDependencies);Appnotify.lib;winhttp.lib;crypt32.lib + + - + \ No newline at end of file diff --git a/Build/libHttpClient.import.props b/Build/libHttpClient.import.props index 914a25d..503a4ff 100644 --- a/Build/libHttpClient.import.props +++ b/Build/libHttpClient.import.props @@ -10,21 +10,18 @@ - $(PlatformToolsetVersion) - 141 - 142 - 143 - libHttpClient.$(HCLibToolset).$(HCPlatform).C + libHttpClient.Win32 + libHttpClient.143.GDK.C + $(PlayFabOutRoot)\$(Platform)\$(Configuration)\$(HCProjectName)\ - + - + - {9164C6C9-3872-4922-A3E3-3822622D3E71} - {66365E18-7B53-44BF-A348-6735058E359E} - {0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C} + {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8} + {FD35375E-DCEA-4BF5-874E-5C2733DAB50E} @@ -33,7 +30,7 @@ %(AdditionalIncludeDirectories);$(HCIncludeDir) - %(AdditionalDependencies);Appnotify.lib;winhttp.lib;crypt32.lib + %(AdditionalDependencies);Appnotify.lib;winhttp.lib;crypt32.lib @@ -47,4 +44,9 @@ + + + + + diff --git a/External/libHttpClient b/External/libHttpClient index a21681e..44bea21 160000 --- a/External/libHttpClient +++ b/External/libHttpClient @@ -1 +1 @@ -Subproject commit a21681e91d945a8d95c97021b512da4c8d112686 +Subproject commit 44bea21eea5426c22120bee9178afd06ffb180ea diff --git a/PlayFab.C.vs2022.sln b/PlayFab.C.vs2022.sln index a81b5b2..ebdbb7b 100644 --- a/PlayFab.C.vs2022.sln +++ b/PlayFab.C.vs2022.sln @@ -32,8 +32,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Test", "Test", "{3CD23B1E-3 EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PlayFabSharedInternal.GDK.143", "Build\PlayFabSharedInternal.GDK.143\PlayFabSharedInternal.GDK.143.vcxproj", "{91E7010A-A099-41A7-914C-1C19A3539A79}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PlayFabServices.GDK", "Build\PlayFabServices.GDK\PlayFabServices.GDK.vcxitems", "{56671826-2060-4E28-B815-E30EF7F88535}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PlayFabCore.UnitTests", "Test\PlayFabCore.UnitTests\PlayFabCore.UnitTests.vcxproj", "{2800A769-2DA4-42CC-AC27-6AD411BC4349}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PlayFabSharedInternal", "Build\PlayFabSharedInternal\PlayFabSharedInternal.vcxitems", "{C069FFAD-7E86-4569-852A-BE773DAC9A6F}" @@ -46,140 +44,246 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PlayFabServices.Common", "B EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PlayFabServices.ServiceWrappers", "Build\PlayFabServices.ServiceWrappers\PlayFabServices.ServiceWrappers.vcxitems", "{358C20A7-2D82-440B-AF94-8F419D3B0E75}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PlayFabCore.GDK", "Build\PlayFabCore.GDK\PlayFabCore.GDK.vcxitems", "{F6ABE37D-E40B-4622-8D9A-3956B87EF4EA}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libHttpClient.143.Win32.C", "Build\libHttpClient.143.Win32.C\libHttpClient.143.Win32.C.vcxproj", "{E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PlayFabSharedInternal.Win32.143", "Build\PlayFabSharedInternal.Win32.143\PlayFabSharedInternal.Win32.143.vcxproj", "{96E92B5B-7172-4A6B-9982-19F7C0C48632}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libHttpClient.143.GDK.C", "Build\libHttpClient.143.GDK.C\libHttpClient.143.GDK.C.vcxproj", "{FD35375E-DCEA-4BF5-874E-5C2733DAB50E}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PlayFabServicesTestApp.GDK", "Test\PlayFabServicesTestApp\GDK\PlayFabServicesTestApp.GDK.vcxproj", "{2298C785-C226-4ED7-8BD6-305C4D73BD1C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PlayFabServicesTestApp.Common", "Test\PlayFabServicesTestApp\PlayFabServicesTestApp.Common.vcxitems", "{7EFAAB05-6336-49B3-9262-13FD023BEDE5}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PlayFabCore.GDK.143", "Build\PlayFabCore.GDK.143\PlayFabCore.GDK.143.vcxproj", "{D5C6A9A7-DA63-4032-8AB2-3350F89162FC}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PlayFabSharedInternal.GDK", "Build\PlayFabSharedInternal.GDK\PlayFabSharedInternal.GDK.vcxitems", "{FA97DC9E-93BA-4AFD-A301-47FF0B618DF6}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PlayFabCore.Win32.143", "Build\PlayFabCore.Win32.143\PlayFabCore.Win32.143.vcxproj", "{E39E44EE-0F50-4A99-A5D5-04633B19128F}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PlayFabCore.GDK", "Build\PlayFabCore.GDK\PlayFabCore.GDK.vcxproj", "{D5C6A9A7-DA63-4032-8AB2-3350F89162FC}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PlayFabServices.Win32.143", "Build\PlayFabServices.Win32.143\PlayFabServices.Win32.143.vcxproj", "{9740C935-821C-498C-A942-817EEA7FDCD7}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PlayFabServices.GDK", "Build\PlayFabServices.GDK\PlayFabServices.GDK.vcxproj", "{FB3A4738-544D-4A89-BA69-31D7C86E7AF7}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PlayFabServices.GDK.143", "Build\PlayFabServices.GDK.143\PlayFabServices.GDK.143.vcxproj", "{FB3A4738-544D-4A89-BA69-31D7C86E7AF7}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PlayFabCore.Win32", "Build\PlayFabCore.Win32\PlayFabCore.Win32.vcxproj", "{E39E44EE-0F50-4A99-A5D5-04633B19128F}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PlayFabServicesTestApp.GDK", "Test\PlayFabServicesTestApp\GDK\PlayFabServicesTestApp.GDK.vcxproj", "{2298C785-C226-4ED7-8BD6-305C4D73BD1C}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PlayFabServices.Win32", "Build\PlayFabServices.Win32\PlayFabServices.Win32.vcxproj", "{9740C935-821C-498C-A942-817EEA7FDCD7}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PlayFabServicesTestApp.Common", "Test\PlayFabServicesTestApp\PlayFabServicesTestApp.Common.vcxitems", "{7EFAAB05-6336-49B3-9262-13FD023BEDE5}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libHttpClient.Win32", "Build\libHttpClient.Win32\libHttpClient.Win32.vcxproj", "{E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PlayFabSharedInternal.GDK", "Build\PlayFabSharedInternal.GDK\PlayFabSharedInternal.GDK.vcxitems", "{FA97DC9E-93BA-4AFD-A301-47FF0B618DF6}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libHttpClient.GDK", "Build\libHttpClient.GDK\libHttpClient.GDK.vcxproj", "{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PlayFabCore.Win32", "Build\PlayFabCore.Win32\PlayFabCore.Win32.vcxitems", "{9D812310-C3EA-499B-91C6-0C82E83B3D74}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libHttpClient.143.GDK.C", "Build\libHttpClient.143.GDK.C\libHttpClient.143.GDK.C.vcxproj", "{FD35375E-DCEA-4BF5-874E-5C2733DAB50E}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|ARM = Debug|ARM + Debug|ARM64 = Debug|ARM64 Debug|Gaming.Desktop.x64 = Debug|Gaming.Desktop.x64 Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 + Release|ARM = Release|ARM + Release|ARM64 = Release|ARM64 Release|Gaming.Desktop.x64 = Release|Gaming.Desktop.x64 Release|x64 = Release|x64 Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {09CAF325-10E5-4DA3-A2C0-88D26416A4B1}.Debug|ARM.ActiveCfg = Debug|ARM + {09CAF325-10E5-4DA3-A2C0-88D26416A4B1}.Debug|ARM.Build.0 = Debug|ARM + {09CAF325-10E5-4DA3-A2C0-88D26416A4B1}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {09CAF325-10E5-4DA3-A2C0-88D26416A4B1}.Debug|ARM64.Build.0 = Debug|ARM64 {09CAF325-10E5-4DA3-A2C0-88D26416A4B1}.Debug|Gaming.Desktop.x64.ActiveCfg = Debug|x64 {09CAF325-10E5-4DA3-A2C0-88D26416A4B1}.Debug|x64.ActiveCfg = Debug|x64 {09CAF325-10E5-4DA3-A2C0-88D26416A4B1}.Debug|x64.Build.0 = Debug|x64 {09CAF325-10E5-4DA3-A2C0-88D26416A4B1}.Debug|x86.ActiveCfg = Debug|Win32 {09CAF325-10E5-4DA3-A2C0-88D26416A4B1}.Debug|x86.Build.0 = Debug|Win32 + {09CAF325-10E5-4DA3-A2C0-88D26416A4B1}.Release|ARM.ActiveCfg = Release|ARM + {09CAF325-10E5-4DA3-A2C0-88D26416A4B1}.Release|ARM.Build.0 = Release|ARM + {09CAF325-10E5-4DA3-A2C0-88D26416A4B1}.Release|ARM64.ActiveCfg = Release|ARM64 + {09CAF325-10E5-4DA3-A2C0-88D26416A4B1}.Release|ARM64.Build.0 = Release|ARM64 {09CAF325-10E5-4DA3-A2C0-88D26416A4B1}.Release|Gaming.Desktop.x64.ActiveCfg = Release|x64 {09CAF325-10E5-4DA3-A2C0-88D26416A4B1}.Release|x64.ActiveCfg = Release|x64 {09CAF325-10E5-4DA3-A2C0-88D26416A4B1}.Release|x64.Build.0 = Release|x64 {09CAF325-10E5-4DA3-A2C0-88D26416A4B1}.Release|x86.ActiveCfg = Release|Win32 {09CAF325-10E5-4DA3-A2C0-88D26416A4B1}.Release|x86.Build.0 = Release|Win32 + {91E7010A-A099-41A7-914C-1C19A3539A79}.Debug|ARM.ActiveCfg = Debug|Gaming.Desktop.x64 + {91E7010A-A099-41A7-914C-1C19A3539A79}.Debug|ARM.Build.0 = Debug|Gaming.Desktop.x64 + {91E7010A-A099-41A7-914C-1C19A3539A79}.Debug|ARM64.ActiveCfg = Debug|Gaming.Desktop.x64 + {91E7010A-A099-41A7-914C-1C19A3539A79}.Debug|ARM64.Build.0 = Debug|Gaming.Desktop.x64 {91E7010A-A099-41A7-914C-1C19A3539A79}.Debug|Gaming.Desktop.x64.ActiveCfg = Debug|Gaming.Desktop.x64 {91E7010A-A099-41A7-914C-1C19A3539A79}.Debug|Gaming.Desktop.x64.Build.0 = Debug|Gaming.Desktop.x64 {91E7010A-A099-41A7-914C-1C19A3539A79}.Debug|x64.ActiveCfg = Debug|Gaming.Desktop.x64 {91E7010A-A099-41A7-914C-1C19A3539A79}.Debug|x86.ActiveCfg = Debug|Gaming.Desktop.x64 + {91E7010A-A099-41A7-914C-1C19A3539A79}.Release|ARM.ActiveCfg = Release|Gaming.Desktop.x64 + {91E7010A-A099-41A7-914C-1C19A3539A79}.Release|ARM.Build.0 = Release|Gaming.Desktop.x64 + {91E7010A-A099-41A7-914C-1C19A3539A79}.Release|ARM64.ActiveCfg = Release|Gaming.Desktop.x64 + {91E7010A-A099-41A7-914C-1C19A3539A79}.Release|ARM64.Build.0 = Release|Gaming.Desktop.x64 {91E7010A-A099-41A7-914C-1C19A3539A79}.Release|Gaming.Desktop.x64.ActiveCfg = Release|Gaming.Desktop.x64 {91E7010A-A099-41A7-914C-1C19A3539A79}.Release|Gaming.Desktop.x64.Build.0 = Release|Gaming.Desktop.x64 {91E7010A-A099-41A7-914C-1C19A3539A79}.Release|x64.ActiveCfg = Release|Gaming.Desktop.x64 {91E7010A-A099-41A7-914C-1C19A3539A79}.Release|x86.ActiveCfg = Release|Gaming.Desktop.x64 + {2800A769-2DA4-42CC-AC27-6AD411BC4349}.Debug|ARM.ActiveCfg = Debug|ARM + {2800A769-2DA4-42CC-AC27-6AD411BC4349}.Debug|ARM.Build.0 = Debug|ARM + {2800A769-2DA4-42CC-AC27-6AD411BC4349}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {2800A769-2DA4-42CC-AC27-6AD411BC4349}.Debug|ARM64.Build.0 = Debug|ARM64 {2800A769-2DA4-42CC-AC27-6AD411BC4349}.Debug|Gaming.Desktop.x64.ActiveCfg = Debug|x64 {2800A769-2DA4-42CC-AC27-6AD411BC4349}.Debug|x64.ActiveCfg = Debug|x64 {2800A769-2DA4-42CC-AC27-6AD411BC4349}.Debug|x64.Build.0 = Debug|x64 {2800A769-2DA4-42CC-AC27-6AD411BC4349}.Debug|x86.ActiveCfg = Debug|Win32 {2800A769-2DA4-42CC-AC27-6AD411BC4349}.Debug|x86.Build.0 = Debug|Win32 + {2800A769-2DA4-42CC-AC27-6AD411BC4349}.Release|ARM.ActiveCfg = Release|ARM + {2800A769-2DA4-42CC-AC27-6AD411BC4349}.Release|ARM.Build.0 = Release|ARM + {2800A769-2DA4-42CC-AC27-6AD411BC4349}.Release|ARM64.ActiveCfg = Release|ARM64 + {2800A769-2DA4-42CC-AC27-6AD411BC4349}.Release|ARM64.Build.0 = Release|ARM64 {2800A769-2DA4-42CC-AC27-6AD411BC4349}.Release|Gaming.Desktop.x64.ActiveCfg = Release|x64 {2800A769-2DA4-42CC-AC27-6AD411BC4349}.Release|x64.ActiveCfg = Release|x64 {2800A769-2DA4-42CC-AC27-6AD411BC4349}.Release|x64.Build.0 = Release|x64 {2800A769-2DA4-42CC-AC27-6AD411BC4349}.Release|x86.ActiveCfg = Release|Win32 {2800A769-2DA4-42CC-AC27-6AD411BC4349}.Release|x86.Build.0 = Release|Win32 - {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}.Debug|Gaming.Desktop.x64.ActiveCfg = Debug|x64 - {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}.Debug|x64.ActiveCfg = Debug|x64 - {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}.Debug|x64.Build.0 = Debug|x64 - {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}.Debug|x86.ActiveCfg = Debug|Win32 - {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}.Debug|x86.Build.0 = Debug|Win32 - {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}.Release|Gaming.Desktop.x64.ActiveCfg = Release|x64 - {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}.Release|x64.ActiveCfg = Release|x64 - {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}.Release|x64.Build.0 = Release|x64 - {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}.Release|x86.ActiveCfg = Release|Win32 - {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}.Release|x86.Build.0 = Release|Win32 + {96E92B5B-7172-4A6B-9982-19F7C0C48632}.Debug|ARM.ActiveCfg = Debug|ARM + {96E92B5B-7172-4A6B-9982-19F7C0C48632}.Debug|ARM.Build.0 = Debug|ARM + {96E92B5B-7172-4A6B-9982-19F7C0C48632}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {96E92B5B-7172-4A6B-9982-19F7C0C48632}.Debug|ARM64.Build.0 = Debug|ARM64 {96E92B5B-7172-4A6B-9982-19F7C0C48632}.Debug|Gaming.Desktop.x64.ActiveCfg = Debug|x64 {96E92B5B-7172-4A6B-9982-19F7C0C48632}.Debug|x64.ActiveCfg = Debug|x64 {96E92B5B-7172-4A6B-9982-19F7C0C48632}.Debug|x64.Build.0 = Debug|x64 {96E92B5B-7172-4A6B-9982-19F7C0C48632}.Debug|x86.ActiveCfg = Debug|Win32 {96E92B5B-7172-4A6B-9982-19F7C0C48632}.Debug|x86.Build.0 = Debug|Win32 + {96E92B5B-7172-4A6B-9982-19F7C0C48632}.Release|ARM.ActiveCfg = Release|ARM + {96E92B5B-7172-4A6B-9982-19F7C0C48632}.Release|ARM.Build.0 = Release|ARM + {96E92B5B-7172-4A6B-9982-19F7C0C48632}.Release|ARM64.ActiveCfg = Release|ARM64 + {96E92B5B-7172-4A6B-9982-19F7C0C48632}.Release|ARM64.Build.0 = Release|ARM64 {96E92B5B-7172-4A6B-9982-19F7C0C48632}.Release|Gaming.Desktop.x64.ActiveCfg = Release|x64 {96E92B5B-7172-4A6B-9982-19F7C0C48632}.Release|x64.ActiveCfg = Release|x64 {96E92B5B-7172-4A6B-9982-19F7C0C48632}.Release|x64.Build.0 = Release|x64 {96E92B5B-7172-4A6B-9982-19F7C0C48632}.Release|x86.ActiveCfg = Release|Win32 {96E92B5B-7172-4A6B-9982-19F7C0C48632}.Release|x86.Build.0 = Release|Win32 - {FD35375E-DCEA-4BF5-874E-5C2733DAB50E}.Debug|Gaming.Desktop.x64.ActiveCfg = Debug|Gaming.Desktop.x64 - {FD35375E-DCEA-4BF5-874E-5C2733DAB50E}.Debug|Gaming.Desktop.x64.Build.0 = Debug|Gaming.Desktop.x64 - {FD35375E-DCEA-4BF5-874E-5C2733DAB50E}.Debug|x64.ActiveCfg = Debug|Gaming.Desktop.x64 - {FD35375E-DCEA-4BF5-874E-5C2733DAB50E}.Debug|x86.ActiveCfg = Debug|Gaming.Desktop.x64 - {FD35375E-DCEA-4BF5-874E-5C2733DAB50E}.Release|Gaming.Desktop.x64.ActiveCfg = Release|Gaming.Desktop.x64 - {FD35375E-DCEA-4BF5-874E-5C2733DAB50E}.Release|Gaming.Desktop.x64.Build.0 = Release|Gaming.Desktop.x64 - {FD35375E-DCEA-4BF5-874E-5C2733DAB50E}.Release|x64.ActiveCfg = Release|Gaming.Desktop.x64 - {FD35375E-DCEA-4BF5-874E-5C2733DAB50E}.Release|x86.ActiveCfg = Release|Gaming.Desktop.x64 + {2298C785-C226-4ED7-8BD6-305C4D73BD1C}.Debug|ARM.ActiveCfg = Debug|Gaming.Desktop.x64 + {2298C785-C226-4ED7-8BD6-305C4D73BD1C}.Debug|ARM.Build.0 = Debug|Gaming.Desktop.x64 + {2298C785-C226-4ED7-8BD6-305C4D73BD1C}.Debug|ARM64.ActiveCfg = Debug|Gaming.Desktop.x64 + {2298C785-C226-4ED7-8BD6-305C4D73BD1C}.Debug|ARM64.Build.0 = Debug|Gaming.Desktop.x64 + {2298C785-C226-4ED7-8BD6-305C4D73BD1C}.Debug|Gaming.Desktop.x64.ActiveCfg = Debug|Gaming.Desktop.x64 + {2298C785-C226-4ED7-8BD6-305C4D73BD1C}.Debug|Gaming.Desktop.x64.Build.0 = Debug|Gaming.Desktop.x64 + {2298C785-C226-4ED7-8BD6-305C4D73BD1C}.Debug|x64.ActiveCfg = Debug|Gaming.Desktop.x64 + {2298C785-C226-4ED7-8BD6-305C4D73BD1C}.Debug|x86.ActiveCfg = Debug|Gaming.Desktop.x64 + {2298C785-C226-4ED7-8BD6-305C4D73BD1C}.Release|ARM.ActiveCfg = Release|Gaming.Desktop.x64 + {2298C785-C226-4ED7-8BD6-305C4D73BD1C}.Release|ARM.Build.0 = Release|Gaming.Desktop.x64 + {2298C785-C226-4ED7-8BD6-305C4D73BD1C}.Release|ARM64.ActiveCfg = Release|Gaming.Desktop.x64 + {2298C785-C226-4ED7-8BD6-305C4D73BD1C}.Release|ARM64.Build.0 = Release|Gaming.Desktop.x64 + {2298C785-C226-4ED7-8BD6-305C4D73BD1C}.Release|Gaming.Desktop.x64.ActiveCfg = Release|Gaming.Desktop.x64 + {2298C785-C226-4ED7-8BD6-305C4D73BD1C}.Release|Gaming.Desktop.x64.Build.0 = Release|Gaming.Desktop.x64 + {2298C785-C226-4ED7-8BD6-305C4D73BD1C}.Release|x64.ActiveCfg = Release|Gaming.Desktop.x64 + {2298C785-C226-4ED7-8BD6-305C4D73BD1C}.Release|x86.ActiveCfg = Release|Gaming.Desktop.x64 + {D5C6A9A7-DA63-4032-8AB2-3350F89162FC}.Debug|ARM.ActiveCfg = Debug|Gaming.Desktop.x64 + {D5C6A9A7-DA63-4032-8AB2-3350F89162FC}.Debug|ARM.Build.0 = Debug|Gaming.Desktop.x64 + {D5C6A9A7-DA63-4032-8AB2-3350F89162FC}.Debug|ARM64.ActiveCfg = Debug|Gaming.Desktop.x64 + {D5C6A9A7-DA63-4032-8AB2-3350F89162FC}.Debug|ARM64.Build.0 = Debug|Gaming.Desktop.x64 {D5C6A9A7-DA63-4032-8AB2-3350F89162FC}.Debug|Gaming.Desktop.x64.ActiveCfg = Debug|Gaming.Desktop.x64 {D5C6A9A7-DA63-4032-8AB2-3350F89162FC}.Debug|Gaming.Desktop.x64.Build.0 = Debug|Gaming.Desktop.x64 {D5C6A9A7-DA63-4032-8AB2-3350F89162FC}.Debug|x64.ActiveCfg = Debug|Gaming.Desktop.x64 {D5C6A9A7-DA63-4032-8AB2-3350F89162FC}.Debug|x86.ActiveCfg = Debug|Gaming.Desktop.x64 + {D5C6A9A7-DA63-4032-8AB2-3350F89162FC}.Release|ARM.ActiveCfg = Release|Gaming.Desktop.x64 + {D5C6A9A7-DA63-4032-8AB2-3350F89162FC}.Release|ARM.Build.0 = Release|Gaming.Desktop.x64 + {D5C6A9A7-DA63-4032-8AB2-3350F89162FC}.Release|ARM64.ActiveCfg = Release|Gaming.Desktop.x64 + {D5C6A9A7-DA63-4032-8AB2-3350F89162FC}.Release|ARM64.Build.0 = Release|Gaming.Desktop.x64 {D5C6A9A7-DA63-4032-8AB2-3350F89162FC}.Release|Gaming.Desktop.x64.ActiveCfg = Release|Gaming.Desktop.x64 {D5C6A9A7-DA63-4032-8AB2-3350F89162FC}.Release|Gaming.Desktop.x64.Build.0 = Release|Gaming.Desktop.x64 {D5C6A9A7-DA63-4032-8AB2-3350F89162FC}.Release|x64.ActiveCfg = Release|Gaming.Desktop.x64 {D5C6A9A7-DA63-4032-8AB2-3350F89162FC}.Release|x86.ActiveCfg = Release|Gaming.Desktop.x64 + {FB3A4738-544D-4A89-BA69-31D7C86E7AF7}.Debug|ARM.ActiveCfg = Debug|Gaming.Desktop.x64 + {FB3A4738-544D-4A89-BA69-31D7C86E7AF7}.Debug|ARM.Build.0 = Debug|Gaming.Desktop.x64 + {FB3A4738-544D-4A89-BA69-31D7C86E7AF7}.Debug|ARM64.ActiveCfg = Debug|Gaming.Desktop.x64 + {FB3A4738-544D-4A89-BA69-31D7C86E7AF7}.Debug|ARM64.Build.0 = Debug|Gaming.Desktop.x64 + {FB3A4738-544D-4A89-BA69-31D7C86E7AF7}.Debug|Gaming.Desktop.x64.ActiveCfg = Debug|Gaming.Desktop.x64 + {FB3A4738-544D-4A89-BA69-31D7C86E7AF7}.Debug|Gaming.Desktop.x64.Build.0 = Debug|Gaming.Desktop.x64 + {FB3A4738-544D-4A89-BA69-31D7C86E7AF7}.Debug|x64.ActiveCfg = Debug|Gaming.Desktop.x64 + {FB3A4738-544D-4A89-BA69-31D7C86E7AF7}.Debug|x86.ActiveCfg = Debug|Gaming.Desktop.x64 + {FB3A4738-544D-4A89-BA69-31D7C86E7AF7}.Release|ARM.ActiveCfg = Release|Gaming.Desktop.x64 + {FB3A4738-544D-4A89-BA69-31D7C86E7AF7}.Release|ARM.Build.0 = Release|Gaming.Desktop.x64 + {FB3A4738-544D-4A89-BA69-31D7C86E7AF7}.Release|ARM64.ActiveCfg = Release|Gaming.Desktop.x64 + {FB3A4738-544D-4A89-BA69-31D7C86E7AF7}.Release|ARM64.Build.0 = Release|Gaming.Desktop.x64 + {FB3A4738-544D-4A89-BA69-31D7C86E7AF7}.Release|Gaming.Desktop.x64.ActiveCfg = Release|Gaming.Desktop.x64 + {FB3A4738-544D-4A89-BA69-31D7C86E7AF7}.Release|Gaming.Desktop.x64.Build.0 = Release|Gaming.Desktop.x64 + {FB3A4738-544D-4A89-BA69-31D7C86E7AF7}.Release|x64.ActiveCfg = Release|Gaming.Desktop.x64 + {FB3A4738-544D-4A89-BA69-31D7C86E7AF7}.Release|x86.ActiveCfg = Release|Gaming.Desktop.x64 + {E39E44EE-0F50-4A99-A5D5-04633B19128F}.Debug|ARM.ActiveCfg = Debug|ARM + {E39E44EE-0F50-4A99-A5D5-04633B19128F}.Debug|ARM.Build.0 = Debug|ARM + {E39E44EE-0F50-4A99-A5D5-04633B19128F}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {E39E44EE-0F50-4A99-A5D5-04633B19128F}.Debug|ARM64.Build.0 = Debug|ARM64 {E39E44EE-0F50-4A99-A5D5-04633B19128F}.Debug|Gaming.Desktop.x64.ActiveCfg = Debug|x64 {E39E44EE-0F50-4A99-A5D5-04633B19128F}.Debug|x64.ActiveCfg = Debug|x64 {E39E44EE-0F50-4A99-A5D5-04633B19128F}.Debug|x64.Build.0 = Debug|x64 {E39E44EE-0F50-4A99-A5D5-04633B19128F}.Debug|x86.ActiveCfg = Debug|Win32 {E39E44EE-0F50-4A99-A5D5-04633B19128F}.Debug|x86.Build.0 = Debug|Win32 + {E39E44EE-0F50-4A99-A5D5-04633B19128F}.Release|ARM.ActiveCfg = Release|ARM + {E39E44EE-0F50-4A99-A5D5-04633B19128F}.Release|ARM.Build.0 = Release|ARM + {E39E44EE-0F50-4A99-A5D5-04633B19128F}.Release|ARM64.ActiveCfg = Release|ARM64 + {E39E44EE-0F50-4A99-A5D5-04633B19128F}.Release|ARM64.Build.0 = Release|ARM64 {E39E44EE-0F50-4A99-A5D5-04633B19128F}.Release|Gaming.Desktop.x64.ActiveCfg = Release|x64 {E39E44EE-0F50-4A99-A5D5-04633B19128F}.Release|x64.ActiveCfg = Release|x64 {E39E44EE-0F50-4A99-A5D5-04633B19128F}.Release|x64.Build.0 = Release|x64 {E39E44EE-0F50-4A99-A5D5-04633B19128F}.Release|x86.ActiveCfg = Release|Win32 {E39E44EE-0F50-4A99-A5D5-04633B19128F}.Release|x86.Build.0 = Release|Win32 + {9740C935-821C-498C-A942-817EEA7FDCD7}.Debug|ARM.ActiveCfg = Debug|ARM + {9740C935-821C-498C-A942-817EEA7FDCD7}.Debug|ARM.Build.0 = Debug|ARM + {9740C935-821C-498C-A942-817EEA7FDCD7}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {9740C935-821C-498C-A942-817EEA7FDCD7}.Debug|ARM64.Build.0 = Debug|ARM64 {9740C935-821C-498C-A942-817EEA7FDCD7}.Debug|Gaming.Desktop.x64.ActiveCfg = Debug|x64 {9740C935-821C-498C-A942-817EEA7FDCD7}.Debug|x64.ActiveCfg = Debug|x64 {9740C935-821C-498C-A942-817EEA7FDCD7}.Debug|x64.Build.0 = Debug|x64 {9740C935-821C-498C-A942-817EEA7FDCD7}.Debug|x86.ActiveCfg = Debug|Win32 {9740C935-821C-498C-A942-817EEA7FDCD7}.Debug|x86.Build.0 = Debug|Win32 + {9740C935-821C-498C-A942-817EEA7FDCD7}.Release|ARM.ActiveCfg = Release|ARM + {9740C935-821C-498C-A942-817EEA7FDCD7}.Release|ARM.Build.0 = Release|ARM + {9740C935-821C-498C-A942-817EEA7FDCD7}.Release|ARM64.ActiveCfg = Release|ARM64 + {9740C935-821C-498C-A942-817EEA7FDCD7}.Release|ARM64.Build.0 = Release|ARM64 {9740C935-821C-498C-A942-817EEA7FDCD7}.Release|Gaming.Desktop.x64.ActiveCfg = Release|x64 {9740C935-821C-498C-A942-817EEA7FDCD7}.Release|x64.ActiveCfg = Release|x64 {9740C935-821C-498C-A942-817EEA7FDCD7}.Release|x64.Build.0 = Release|x64 {9740C935-821C-498C-A942-817EEA7FDCD7}.Release|x86.ActiveCfg = Release|Win32 {9740C935-821C-498C-A942-817EEA7FDCD7}.Release|x86.Build.0 = Release|Win32 - {FB3A4738-544D-4A89-BA69-31D7C86E7AF7}.Debug|Gaming.Desktop.x64.ActiveCfg = Debug|Gaming.Desktop.x64 - {FB3A4738-544D-4A89-BA69-31D7C86E7AF7}.Debug|Gaming.Desktop.x64.Build.0 = Debug|Gaming.Desktop.x64 - {FB3A4738-544D-4A89-BA69-31D7C86E7AF7}.Debug|x64.ActiveCfg = Debug|Gaming.Desktop.x64 - {FB3A4738-544D-4A89-BA69-31D7C86E7AF7}.Debug|x86.ActiveCfg = Debug|Gaming.Desktop.x64 - {FB3A4738-544D-4A89-BA69-31D7C86E7AF7}.Release|Gaming.Desktop.x64.ActiveCfg = Release|Gaming.Desktop.x64 - {FB3A4738-544D-4A89-BA69-31D7C86E7AF7}.Release|Gaming.Desktop.x64.Build.0 = Release|Gaming.Desktop.x64 - {FB3A4738-544D-4A89-BA69-31D7C86E7AF7}.Release|x64.ActiveCfg = Release|Gaming.Desktop.x64 - {FB3A4738-544D-4A89-BA69-31D7C86E7AF7}.Release|x86.ActiveCfg = Release|Gaming.Desktop.x64 - {2298C785-C226-4ED7-8BD6-305C4D73BD1C}.Debug|Gaming.Desktop.x64.ActiveCfg = Debug|Gaming.Desktop.x64 - {2298C785-C226-4ED7-8BD6-305C4D73BD1C}.Debug|Gaming.Desktop.x64.Build.0 = Debug|Gaming.Desktop.x64 - {2298C785-C226-4ED7-8BD6-305C4D73BD1C}.Debug|x64.ActiveCfg = Debug|Gaming.Desktop.x64 - {2298C785-C226-4ED7-8BD6-305C4D73BD1C}.Debug|x86.ActiveCfg = Debug|Gaming.Desktop.x64 - {2298C785-C226-4ED7-8BD6-305C4D73BD1C}.Release|Gaming.Desktop.x64.ActiveCfg = Release|Gaming.Desktop.x64 - {2298C785-C226-4ED7-8BD6-305C4D73BD1C}.Release|Gaming.Desktop.x64.Build.0 = Release|Gaming.Desktop.x64 - {2298C785-C226-4ED7-8BD6-305C4D73BD1C}.Release|x64.ActiveCfg = Release|Gaming.Desktop.x64 - {2298C785-C226-4ED7-8BD6-305C4D73BD1C}.Release|x86.ActiveCfg = Release|Gaming.Desktop.x64 + {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}.Debug|ARM.ActiveCfg = Debug|ARM + {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}.Debug|ARM.Build.0 = Debug|ARM + {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}.Debug|ARM64.Build.0 = Debug|ARM64 + {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}.Debug|Gaming.Desktop.x64.ActiveCfg = Debug|x64 + {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}.Debug|x64.ActiveCfg = Debug|x64 + {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}.Debug|x64.Build.0 = Debug|x64 + {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}.Debug|x86.ActiveCfg = Debug|Win32 + {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}.Debug|x86.Build.0 = Debug|Win32 + {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}.Release|ARM.ActiveCfg = Release|ARM + {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}.Release|ARM.Build.0 = Release|ARM + {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}.Release|ARM64.ActiveCfg = Release|ARM64 + {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}.Release|ARM64.Build.0 = Release|ARM64 + {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}.Release|Gaming.Desktop.x64.ActiveCfg = Release|x64 + {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}.Release|x64.ActiveCfg = Release|x64 + {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}.Release|x64.Build.0 = Release|x64 + {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}.Release|x86.ActiveCfg = Release|Win32 + {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}.Release|x86.Build.0 = Release|Win32 + {A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Debug|ARM.ActiveCfg = Debug|Gaming.Desktop.x64 + {A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Debug|ARM.Build.0 = Debug|Gaming.Desktop.x64 + {A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Debug|ARM64.ActiveCfg = Debug|Gaming.Desktop.x64 + {A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Debug|ARM64.Build.0 = Debug|Gaming.Desktop.x64 + {A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Debug|Gaming.Desktop.x64.ActiveCfg = Debug|Gaming.Desktop.x64 + {A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Debug|Gaming.Desktop.x64.Build.0 = Debug|Gaming.Desktop.x64 + {A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Debug|x64.ActiveCfg = Debug|Gaming.Desktop.x64 + {A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Debug|x86.ActiveCfg = Debug|Gaming.Desktop.x64 + {A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Release|ARM.ActiveCfg = Release|Gaming.Desktop.x64 + {A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Release|ARM.Build.0 = Release|Gaming.Desktop.x64 + {A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Release|ARM64.ActiveCfg = Release|Gaming.Desktop.x64 + {A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Release|ARM64.Build.0 = Release|Gaming.Desktop.x64 + {A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Release|Gaming.Desktop.x64.ActiveCfg = Release|Gaming.Desktop.x64 + {A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Release|Gaming.Desktop.x64.Build.0 = Release|Gaming.Desktop.x64 + {A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Release|x64.ActiveCfg = Release|Gaming.Desktop.x64 + {A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Release|x86.ActiveCfg = Release|Gaming.Desktop.x64 + {FD35375E-DCEA-4BF5-874E-5C2733DAB50E}.Debug|ARM.ActiveCfg = Debug|Gaming.Desktop.x64 + {FD35375E-DCEA-4BF5-874E-5C2733DAB50E}.Debug|ARM.Build.0 = Debug|Gaming.Desktop.x64 + {FD35375E-DCEA-4BF5-874E-5C2733DAB50E}.Debug|ARM64.ActiveCfg = Debug|Gaming.Desktop.x64 + {FD35375E-DCEA-4BF5-874E-5C2733DAB50E}.Debug|ARM64.Build.0 = Debug|Gaming.Desktop.x64 + {FD35375E-DCEA-4BF5-874E-5C2733DAB50E}.Debug|Gaming.Desktop.x64.ActiveCfg = Debug|Gaming.Desktop.x64 + {FD35375E-DCEA-4BF5-874E-5C2733DAB50E}.Debug|Gaming.Desktop.x64.Build.0 = Debug|Gaming.Desktop.x64 + {FD35375E-DCEA-4BF5-874E-5C2733DAB50E}.Debug|x64.ActiveCfg = Debug|Gaming.Desktop.x64 + {FD35375E-DCEA-4BF5-874E-5C2733DAB50E}.Debug|x86.ActiveCfg = Debug|Gaming.Desktop.x64 + {FD35375E-DCEA-4BF5-874E-5C2733DAB50E}.Release|ARM.ActiveCfg = Release|Gaming.Desktop.x64 + {FD35375E-DCEA-4BF5-874E-5C2733DAB50E}.Release|ARM.Build.0 = Release|Gaming.Desktop.x64 + {FD35375E-DCEA-4BF5-874E-5C2733DAB50E}.Release|ARM64.ActiveCfg = Release|Gaming.Desktop.x64 + {FD35375E-DCEA-4BF5-874E-5C2733DAB50E}.Release|ARM64.Build.0 = Release|Gaming.Desktop.x64 + {FD35375E-DCEA-4BF5-874E-5C2733DAB50E}.Release|Gaming.Desktop.x64.ActiveCfg = Release|Gaming.Desktop.x64 + {FD35375E-DCEA-4BF5-874E-5C2733DAB50E}.Release|Gaming.Desktop.x64.Build.0 = Release|Gaming.Desktop.x64 + {FD35375E-DCEA-4BF5-874E-5C2733DAB50E}.Release|x64.ActiveCfg = Release|Gaming.Desktop.x64 + {FD35375E-DCEA-4BF5-874E-5C2733DAB50E}.Release|x86.ActiveCfg = Release|Gaming.Desktop.x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -191,20 +295,18 @@ Global {09CAF325-10E5-4DA3-A2C0-88D26416A4B1} = {24C7A79B-55BA-48C0-824D-1B95BE3B71EC} {3CD23B1E-3FEA-4076-BC6B-A3D2298CCEEA} = {7B0C92B1-9A07-49BA-8C74-02551B46EADB} {91E7010A-A099-41A7-914C-1C19A3539A79} = {7B0C92B1-9A07-49BA-8C74-02551B46EADB} - {56671826-2060-4E28-B815-E30EF7F88535} = {7B0C92B1-9A07-49BA-8C74-02551B46EADB} {2800A769-2DA4-42CC-AC27-6AD411BC4349} = {766242E2-BD80-4F36-B7FB-FD141D54ED27} - {F6ABE37D-E40B-4622-8D9A-3956B87EF4EA} = {7B0C92B1-9A07-49BA-8C74-02551B46EADB} - {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8} = {5E84551E-42EB-42A4-90FE-ED5DFC3C6B93} {96E92B5B-7172-4A6B-9982-19F7C0C48632} = {5E84551E-42EB-42A4-90FE-ED5DFC3C6B93} - {FD35375E-DCEA-4BF5-874E-5C2733DAB50E} = {7B0C92B1-9A07-49BA-8C74-02551B46EADB} - {D5C6A9A7-DA63-4032-8AB2-3350F89162FC} = {7B0C92B1-9A07-49BA-8C74-02551B46EADB} - {E39E44EE-0F50-4A99-A5D5-04633B19128F} = {5E84551E-42EB-42A4-90FE-ED5DFC3C6B93} - {9740C935-821C-498C-A942-817EEA7FDCD7} = {5E84551E-42EB-42A4-90FE-ED5DFC3C6B93} - {FB3A4738-544D-4A89-BA69-31D7C86E7AF7} = {7B0C92B1-9A07-49BA-8C74-02551B46EADB} {2298C785-C226-4ED7-8BD6-305C4D73BD1C} = {3CD23B1E-3FEA-4076-BC6B-A3D2298CCEEA} {7EFAAB05-6336-49B3-9262-13FD023BEDE5} = {766242E2-BD80-4F36-B7FB-FD141D54ED27} {FA97DC9E-93BA-4AFD-A301-47FF0B618DF6} = {7B0C92B1-9A07-49BA-8C74-02551B46EADB} - {9D812310-C3EA-499B-91C6-0C82E83B3D74} = {5E84551E-42EB-42A4-90FE-ED5DFC3C6B93} + {D5C6A9A7-DA63-4032-8AB2-3350F89162FC} = {7B0C92B1-9A07-49BA-8C74-02551B46EADB} + {FB3A4738-544D-4A89-BA69-31D7C86E7AF7} = {7B0C92B1-9A07-49BA-8C74-02551B46EADB} + {E39E44EE-0F50-4A99-A5D5-04633B19128F} = {5E84551E-42EB-42A4-90FE-ED5DFC3C6B93} + {9740C935-821C-498C-A942-817EEA7FDCD7} = {5E84551E-42EB-42A4-90FE-ED5DFC3C6B93} + {E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8} = {5E84551E-42EB-42A4-90FE-ED5DFC3C6B93} + {A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743} = {7B0C92B1-9A07-49BA-8C74-02551B46EADB} + {FD35375E-DCEA-4BF5-874E-5C2733DAB50E} = {7B0C92B1-9A07-49BA-8C74-02551B46EADB} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {B4E1CAC7-E8D6-4B4F-A822-DCCF848F75C9} @@ -219,7 +321,6 @@ Global Build\PlayFabCore.Common\PlayFabCore.Common.vcxitems*{2800a769-2da4-42cc-ac27-6ad411bc4349}*SharedItemsImports = 4 Build\PlayFabCore.ServiceWrappers\PlayFabCore.ServiceWrappers.vcxitems*{2800a769-2da4-42cc-ac27-6ad411bc4349}*SharedItemsImports = 4 Build\PlayFabServices.ServiceWrappers\PlayFabServices.ServiceWrappers.vcxitems*{358c20a7-2d82-440b-af94-8f419d3b0e75}*SharedItemsImports = 9 - Build\PlayFabServices.GDK\PlayFabServices.GDK.vcxitems*{56671826-2060-4e28-b815-e30ef7f88535}*SharedItemsImports = 9 Test\PlayFabServicesTestApp\PlayFabServicesTestApp.Common.vcxitems*{7efaab05-6336-49b3-9262-13fd023bede5}*SharedItemsImports = 9 Test\PlayFabServices.GeneratedApiWrappers\PlayFabServices.GeneratedApiWrappers.vcxitems*{893d9f15-d625-483b-969f-0e54ded9960d}*SharedItemsImports = 9 Build\PlayFabSharedInternal.GDK\PlayFabSharedInternal.GDK.vcxitems*{91e7010a-a099-41a7-914c-1c19a3539a79}*SharedItemsImports = 4 @@ -227,29 +328,27 @@ Global Build\PlayFabSharedInternal\PlayFabSharedInternal.vcxitems*{96e92b5b-7172-4a6b-9982-19f7c0c48632}*SharedItemsImports = 4 Build\PlayFabServices.Common\PlayFabServices.Common.vcxitems*{9740c935-821c-498c-a942-817eea7fdcd7}*SharedItemsImports = 4 Build\PlayFabServices.ServiceWrappers\PlayFabServices.ServiceWrappers.vcxitems*{9740c935-821c-498c-a942-817eea7fdcd7}*SharedItemsImports = 4 - Build\PlayFabCore.Win32\PlayFabCore.Win32.vcxitems*{9d812310-c3ea-499b-91c6-0c82e83b3d74}*SharedItemsImports = 9 Build\PlayFabCore.ServiceWrappers\PlayFabCore.ServiceWrappers.vcxitems*{a3f3486c-8053-4cf1-a9c6-0330d41ef9f5}*SharedItemsImports = 9 + ..\libHttpClient\Build\libHttpClient.Common\libHttpClient.Common.vcxitems*{a5a6e02a-21ba-4d55-9fb9-7b24dedd3743}*SharedItemsImports = 4 + ..\libHttpClient\Build\libHttpClient.GDK.Shared\libHttpClient.GDK.Shared.vcxitems*{a5a6e02a-21ba-4d55-9fb9-7b24dedd3743}*SharedItemsImports = 4 + ..\libHttpClient\Build\libHttpClient.Zlib\libHttpClient.Zlib.vcxitems*{a5a6e02a-21ba-4d55-9fb9-7b24dedd3743}*SharedItemsImports = 4 Build\PlayFabSharedInternal\PlayFabSharedInternal.vcxitems*{c069ffad-7e86-4569-852a-be773dac9a6f}*SharedItemsImports = 9 Build\PlayFabServices.Common\PlayFabServices.Common.vcxitems*{c0fc43fe-b741-4214-8278-04285ba33859}*SharedItemsImports = 9 Build\PlayFabCore.Common\PlayFabCore.Common.vcxitems*{c48a8f56-812f-43de-9512-7e408497fde8}*SharedItemsImports = 9 Build\PlayFabCore.Common\PlayFabCore.Common.vcxitems*{d5c6a9a7-da63-4032-8ab2-3350f89162fc}*SharedItemsImports = 4 - Build\PlayFabCore.GDK\PlayFabCore.GDK.vcxitems*{d5c6a9a7-da63-4032-8ab2-3350f89162fc}*SharedItemsImports = 4 Build\PlayFabCore.ServiceWrappers\PlayFabCore.ServiceWrappers.vcxitems*{d5c6a9a7-da63-4032-8ab2-3350f89162fc}*SharedItemsImports = 4 ..\libHttpClient\Build\libHttpClient.Common\libHttpClient.Common.vcxitems*{e35ba8a1-ae7b-4fb5-8200-469b98bc1ca8}*SharedItemsImports = 4 - ..\libHttpClient\Build\libHttpClient.Win32\libHttpClient.Win32.vcxitems*{e35ba8a1-ae7b-4fb5-8200-469b98bc1ca8}*SharedItemsImports = 4 + ..\libHttpClient\Build\libHttpClient.Win32.Shared\libHttpClient.Win32.Shared.vcxitems*{e35ba8a1-ae7b-4fb5-8200-469b98bc1ca8}*SharedItemsImports = 4 ..\libHttpClient\Build\libHttpClient.XAsync\libHttpClient.XAsync.vcxitems*{e35ba8a1-ae7b-4fb5-8200-469b98bc1ca8}*SharedItemsImports = 4 ..\libHttpClient\Build\libHttpClient.Zlib\libHttpClient.Zlib.vcxitems*{e35ba8a1-ae7b-4fb5-8200-469b98bc1ca8}*SharedItemsImports = 4 Build\PlayFabCore.Common\PlayFabCore.Common.vcxitems*{e39e44ee-0f50-4a99-a5d5-04633b19128f}*SharedItemsImports = 4 Build\PlayFabCore.ServiceWrappers\PlayFabCore.ServiceWrappers.vcxitems*{e39e44ee-0f50-4a99-a5d5-04633b19128f}*SharedItemsImports = 4 - Build\PlayFabCore.Win32\PlayFabCore.Win32.vcxitems*{e39e44ee-0f50-4a99-a5d5-04633b19128f}*SharedItemsImports = 4 Test\PlayFabServices.GeneratedTests\PlayFabServices.GeneratedTests.vcxitems*{ed91bb24-b033-4dee-984f-1b4609c0811a}*SharedItemsImports = 9 - Build\PlayFabCore.GDK\PlayFabCore.GDK.vcxitems*{f6abe37d-e40b-4622-8d9a-3956b87ef4ea}*SharedItemsImports = 9 Build\PlayFabSharedInternal.GDK\PlayFabSharedInternal.GDK.vcxitems*{fa97dc9e-93ba-4afd-a301-47ff0b618df6}*SharedItemsImports = 9 Build\PlayFabServices.Common\PlayFabServices.Common.vcxitems*{fb3a4738-544d-4a89-ba69-31d7c86e7af7}*SharedItemsImports = 4 - Build\PlayFabServices.GDK\PlayFabServices.GDK.vcxitems*{fb3a4738-544d-4a89-ba69-31d7c86e7af7}*SharedItemsImports = 4 Build\PlayFabServices.ServiceWrappers\PlayFabServices.ServiceWrappers.vcxitems*{fb3a4738-544d-4a89-ba69-31d7c86e7af7}*SharedItemsImports = 4 ..\libHttpClient\Build\libHttpClient.Common\libHttpClient.Common.vcxitems*{fd35375e-dcea-4bf5-874e-5c2733dab50e}*SharedItemsImports = 4 - ..\libHttpClient\Build\libHttpClient.GDK\libHttpClient.GDK.vcxitems*{fd35375e-dcea-4bf5-874e-5c2733dab50e}*SharedItemsImports = 4 + ..\libHttpClient\Build\libHttpClient.GDK.Shared\libHttpClient.GDK.Shared.vcxitems*{fd35375e-dcea-4bf5-874e-5c2733dab50e}*SharedItemsImports = 4 ..\libHttpClient\Build\libHttpClient.Zlib\libHttpClient.Zlib.vcxitems*{fd35375e-dcea-4bf5-874e-5c2733dab50e}*SharedItemsImports = 4 EndGlobalSection EndGlobal diff --git a/README.md b/README.md index acb1e5b..b82ac8e 100644 --- a/README.md +++ b/README.md @@ -4,23 +4,120 @@ Cross-Platform C/C++ PlayFab SDK. This SDK currently supports the following platforms: - Windows (Win32) x64 - GDK (Xbox and Windows) +- Linux (eg. Ubuntu 22.04 or Windows Subsystem for Linux) +- iOS +- macOS +- Android For per-platform getting started guides and a complete list of available APIs, check out the [online documentation](https://learn.microsoft.com/gaming/playfab/sdks/c). ## Requirements -- A [PlayFab developer account](https://developer.playfab.com). +### Win32 +- A [PlayFab developer account](https://developer.playfab.com). - [Visual Studio 2022](https://visualstudio.microsoft.com/) installed (to build from source). +### iOS / macOS +- A [PlayFab developer account](https://developer.playfab.com). +- [XCode](https://developer.apple.com/xcode/) IDE installed (to build from source). + +### Android +- A [PlayFab developer account](https://developer.playfab.com). +- [Android Studio](https://developer.android.com/studio) IDE installed (to build from source). + ## Project setup ### Building with binary release package -Download the most recent release of the SDK from [PlayFabCSdk releases](https://github.com/PlayFab/PlayFabCSdk/releases). The release package contains the required headers, binaries, and a PlayFabServicesSDK.Win32.props file that can imported to your project to automatically add references to them. +Download the most recent release of the SDK from [PlayFabCSdk releases](https://github.com/PlayFab/PlayFabCSdk/releases). + +#### Integrate PlayFab C SDK into your own project - Visual Studio + +The release package contains the required headers, binaries, and a PlayFabServicesSDK.Win32.props file that can imported to your project to automatically add references to them. You can import the props file manually by editing the .vcxproj files directly or by opening the Property Manager window in Visual Studio, right clicking on the project, and choosing __Add Existing Property Sheet__. After importing PlayFabServicesSDK.Win32.props, the headers should be available in your include path and references to the PlayFabServices library and its dependecies will be automatically added. -### Building from source +#### Integrate PlayFab C SDK into your own project - XCode + +##### Add binaries to your game + +After getting your binaries by download or building from source you should be able to easily integrate them into your game/app. + +Follow these instructions to add them: + +1. In XCode, navigate to your desired target and select it. +2. Scroll down and in the "**Frameworks, Libraries, and Embedded Content**" section, click on the "**+**" sign. +3. Search for your **PlayFabServices** / **PlayFabCore** / **HttpClient** binaries. (_If you downloaded the xcframework file you can also select and it will automatically import whatever library is required independently if you're building for devices or simulator._) + +##### Add Header search paths + +Once binaries have been added you'll need to ensure that header search paths are also correctly set up. + +1. Navigate to your project. +2. Click on "**Build Settings**" and then search for "**Header Search Paths**". +3. Update the property value to include the SDK Headers. Please note that if you are using binaries from the downloaded release package you can simply reference the headers found in the **include** folder. However, if you are using binaries built from source you'll need to include the following paths: + ``` + PlayFab.C/Source/PlayFabServices/Include/Generated/ + PlayFab.C/Source/PlayFabCore/Include/ + PlayFab.C/Source/PlayFabCore/Include/Generated + libHttpClient/Include + ``` + +#### Integrate PlayFab C SDK into your own project - Android Studio + +##### Add Shared Objects and Header files + +1. Using __target_include_directories__ or another equivalent function, add the headers under "Include" from the PlayFab SDK release: +``` +TARGET_INCLUDE_DIRECTORIES( + ${PROJECT_NAME} + "Include" +) +``` + +If you're building from source, add this list of headers from the PlayFab SDK repository: + +``` + "PlayFab.C/Source/PlayFabServices/Include" + "PlayFab.C/Source/PlayFabServices/Include/Generated" + "PlayFab.C/Source/PlayFabCore/Include" + "PlayFab.C/Source/PlayFabCore/Include/Generated" + "libHttpClient/Include" +``` + +3. Using __target_link_libraries__ or another equivalent function, link the locations of the .so files to your project. + + For example: + +```cmake +set(PLAYFAB_SERVICES_PATH "[LOCATION OF YOUR FILE]/libPlayFabServices.Android.so") + +set(PLAYFAB_CORE_PATH "[LOCATION OF YOUR FILE]/libPlayFabCore.Android.so") + +set(LIBHTTPCLIENT_PATH "[LOCATION OF YOUR FILE]/libHttpClient.Android.so") + +TARGET_LINK_LIBRARIES( + [YOUR PROJECT NAME] + ${PLAYFAB_SERVICES_PATH} + ${PLAYFAB_CORE_PATH} + ${LIBHTTPCLIENT_PATH} +) +``` + +##### Add Android Archive files + +1. Create a libs folder within app level Android project directory. + +2. Copy the .aar files into the libs folder. + +3. In app level build.gradle file, the one in the same directory as the libs folder, add these lines to the dependencies section. The second line is required as a dependency for libHttpClient. +```gradle +implementation fileTree(dir: 'libs', include: ['*.aar']) +implementation 'com.squareup.okhttp3:okhttp:4.9.1' +``` + + +### Cloning source This SDK depends on some external third-party open source libraries referenced as git submodules in directory `/External`. Please make sure to use `--recurse-submodules` command line parameter when cloning this git repo: ``` @@ -31,9 +128,16 @@ or run the following commands to sync the content of submodules if the repo was ``` git submodule update --init --recursive ``` + +### Building from source for Windows and GDK + After cloning this repository and its submodules, you can build the libraries by opening the solution file PlayFab.C.vs2022.sln. That solution contains the PlayFabServices project, its dependencies, and a test app. After building, the binaries will be in a subdirectory within \Out. -#### Import Property Sheet +#### Import Property Sheet (Windows and GDK) + +To add a reference to the PlayFabServices projects to your own title, import the \Build\PlayFabServices.import.props file to your project. You can do this manually by editing the .vcxproj files directly or by opening the Property Manager window in Visual Studio, right clicking on the project, and choosing __Add Existing Property Sheet__. Note that the props file differs from the PlayFabServicesSDK.Win32.props mentioned above - it adds references to the projects instead of the prebuilt binaries. + +#### Building (Windows and GDK) To add a reference to the PlayFabServices projects to your own title, import the \Build\PlayFabServices.import.props file to your project. You can do this manually by editing the .vcxproj files directly or by opening the Property Manager window in Visual Studio, right clicking on the project, and choosing __Add Existing Property Sheet__. Note that the props file differs from the PlayFabServicesSDK.Win32.props mentioned above - it adds references to the projects instead of the prebuilt binaries. @@ -43,6 +147,82 @@ The included test app __PlayFabServicesTestApp__ project will build as is, but s Even without making those changes, the __PlayFabServicesTestApp__ source code serves as a good example of basic PlayFabServices SDK usage. +### Building from source for Linux + +After cloning this repository and its submodules, you can build the libraries by running + +``` +./Build/PlayFabServices.Linux/PlayFabServices_Linux.bash +``` +For more detail on script options see [PlayFabServices_Linux](Build/PlayFabServices.Linux/README.md) + +Once built, the shared library can be used by adding this to your project's CMakeLists.txt: + +``` +find_package(PlayFabServicesLinux REQUIRED) +target_link_libraries(${PROJECT_NAME} PUBLIC PlayFabServicesLinux) +``` + +when running cmake, add this option and adjust the path as needed to tell it where package material can be found: + +``` +-D PlayFabServicesLinux_DIR=./Int/CMake/PlayFabServicesLinux +``` + +See `.\Test\PlayFabServicesTestApp\Linux` for example CMake usage. + +### Building from source for iOS + +After cloning this repository and its submodules, you can build the libraries by opening the workspace [PlayFab.C.Apple.xcworkspace](Build/PlayFab.C.Apple/PlayFab.C.Apple.xcworkspace) with XCode, then follow these steps: + +1. Select the scheme you want to build. +- If you want to build PlayFabServices and PlayFabCore frameworks, select **PlayFabServices_iOS**/**PlayFabServices_._macOS** scheme and build. This scheme will generate the frameworks required to use PlayFab SDK: + - PlayFabCore_[iOS/macOS].framework + - PlayFabServices_[iOS/macOS].framework + - HttpClient_[iOS/macOS].framework + +- If you want to run the Test App, select the **PlayFabServicesTestApp_._iOS**/**PlayFabServicesTestApp_macOS** scheme, build and run the app. + +2. Select the run destination. + +- For macOS you should be able to run on your own Mac, however, for iOS, you should select a Simulator running iOS 16.2 (or later) or you can run it on a physical devices attached to your Mac. Be aware that libraries built for simulators won't work on real devices and viceversa, so you need to choose the run destination based on where you want to run your app. + +3. Grab the binaries. There are 2 different ways to do it: + + 1. Binaries will be placed in XCode default build directory which it's in the DerivedData folder usually located in: + + ``~/Library/Developer/Xcode/DerivedData`` + + In there, you can go to the target folder and navigate to the Build/Products folder to get all the binaries. + + 2. Another way to get to the binaries if you want to navigate directly to them: + + 1. In the workspace navigation on XCode go to "**Products**" and expand it. + 2. Right-click on the framework generated and click "**Show on Finder**". + +### Building from source for Android + +After cloning this repository and its submodules, you can build the libraries from the `PlayFab.C/Build/PlayFabServices.Android.Workspace` directory by running: +``` +./gradlew assembleFull +``` + +This will build the library in two configurations, debug and release, and two Android ABIs, arm64-v8a and x86_64. + +If you wish to build separately for a single configuration, ABI, or both, the command can be freely mix and matched for this purpose. + +Some examples of altering the command: + +This builds for debug arm64-v8a and debug x86_64. +``` +./gradlew assembleFullDebug +``` + +This builds for release x86_64. +``` +./gradlew assemblex86_64Release +``` + ## Init and Logging in ### Headers @@ -77,7 +257,7 @@ After making a login call, you can check the status of the call with __XAsyncGet Along with an __S_OK__ result, you get back a __PFEntityHandle__. You use this handle to make subsequent PlayFab calls as the logged in player. It includes any material required to authenticate with the PlayFab service as that player. ```cpp - PFAuthenticationLoginWithSteamRequest request{}; + PFAuthenticationLoginWithCustomIDRequest request{}; request.createAccount = true; request.customId = "player1"; @@ -88,11 +268,11 @@ Along with an __S_OK__ result, you get back a __PFEntityHandle__. You use this h std::vector loginResultBuffer; PFAuthenticationLoginResult const* loginResult; size_t bufferSize; - hr = PFAuthenticationLoginWithSteamGetResultSize(&async, &bufferSize); + hr = PFAuthenticationLoginWithCustomIDGetResultSize(&async, &bufferSize); loginResultBuffer.resize(bufferSize); PFEntityHandle entityHandle{ nullptr }; - hr = PFAuthenticationLoginWithSteamGetResult(&async, &entityHandle, loginResultBuffer.size(), loginResultBuffer.data(), &loginResult, nullptr); + hr = PFAuthenticationLoginWithCustomIDGetResult(&async, &entityHandle, loginResultBuffer.size(), loginResultBuffer.data(), &loginResult, nullptr); ``` ## Service Calls @@ -115,7 +295,7 @@ One thing that can be useful for some calls to PlayFab is knowing the __PFEntity ### Calling GetFiles -All PlayFab calls follow a similar pattern of preparing the request object, making the call (using the __PFEntityHandle__ from login), creating an object to receive the response, and then calling a __GetResult__ function to fill the newly created container. +All PlayFab calls follow a similar pattern of preparing the request object, making the call (using the __PFEntityHandle__ from login), creating an object to receive the response, and then calling a __GetResult__ function to fill the newly created container. ```cpp XAsyncBlock async{}; diff --git a/Source/PlayFabCore/API-List.csv b/Source/PlayFabCore/API-List.csv index 8b433e7..9d5b6f3 100644 --- a/Source/PlayFabCore/API-List.csv +++ b/Source/PlayFabCore/API-List.csv @@ -1,33 +1,33 @@ -Library,Feature Group,API Name,Auth,Subgroup,Call Name,Trimmed?,GDK?,Win32?,Switch?,PlayStation? -PF Core,Authentication,PFAuthenticationLoginWithAndroidDeviceIDAsync,None,Authentication,LoginWithAndroidDeviceID,false,No,No,No,No -PF Core,Authentication,PFAuthenticationLoginWithAppleAsync,None,Authentication,LoginWithApple,false,No,No,No,No -PF Core,Authentication,PFAuthenticationLoginWithCustomIDAsync,None,Authentication,LoginWithCustomID,false,Yes,Yes,Yes,Yes -PF Core,Authentication,PFAuthenticationLoginWithEmailAddressAsync,None,Authentication,LoginWithEmailAddress,false,No,No,No,No -PF Core,Authentication,PFAuthenticationLoginWithFacebookAsync,None,Authentication,LoginWithFacebook,false,No,No,No,No -PF Core,Authentication,PFAuthenticationLoginWithFacebookInstantGamesIdAsync,None,Authentication,LoginWithFacebookInstantGamesId,false,No,No,No,No -PF Core,Authentication,PFAuthenticationLoginWithGameCenterAsync,None,Authentication,LoginWithGameCenter,false,No,No,No,No -PF Core,Authentication,PFAuthenticationLoginWithGoogleAccountAsync,None,Authentication,LoginWithGoogleAccount,false,No,No,No,No -PF Core,Authentication,PFAuthenticationLoginWithGooglePlayGamesServicesAsync,None,Authentication,LoginWithGooglePlayGamesServices,false,No,No,No,No -PF Core,Authentication,PFAuthenticationLoginWithIOSDeviceIDAsync,None,Authentication,LoginWithIOSDeviceID,false,No,No,No,No -PF Core,Authentication,PFAuthenticationLoginWithKongregateAsync,None,Authentication,LoginWithKongregate,false,No,No,No,No -PF Core,Authentication,PFAuthenticationLoginWithNintendoServiceAccountAsync,None,Authentication,LoginWithNintendoServiceAccount,false,No,No,Yes,No -PF Core,Authentication,PFAuthenticationLoginWithNintendoSwitchDeviceIdAsync,None,Authentication,LoginWithNintendoSwitchDeviceId,false,No,No,No,No -PF Core,Authentication,PFAuthenticationLoginWithOpenIdConnectAsync,None,Authentication,LoginWithOpenIdConnect,false,Yes,Yes,Yes,Yes -PF Core,Authentication,PFAuthenticationLoginWithPlayFabAsync,None,Authentication,LoginWithPlayFab,false,No,No,No,No -PF Core,Authentication,PFAuthenticationLoginWithPSNAsync,None,Authentication,LoginWithPSN,false,No,No,No,Yes -PF Core,Authentication,PFAuthenticationLoginWithSteamAsync,None,Authentication,LoginWithSteam,false,No,Yes,No,No -PF Core,Authentication,PFAuthenticationLoginWithTwitchAsync,None,Authentication,LoginWithTwitch,false,No,No,No,No -PF Core,Authentication,PFAuthenticationLoginWithXboxAsync,None,Authentication,LoginWithXbox,false,No,Yes,No,No -PF Core,Authentication,PFAuthenticationRegisterPlayFabUserAsync,None,Authentication,RegisterPlayFabUser,false,No,No,No,No -PF Core,Authentication,PFAuthenticationServerLoginWithServerCustomIdAsync,SecretKey,Authentication,ServerLoginWithServerCustomId,false,No,Yes,No,No -PF Core,Authentication,PFAuthenticationServerLoginWithSteamIdAsync,SecretKey,Authentication,ServerLoginWithSteamId,false,No,Yes,No,No -PF Core,Authentication,PFAuthenticationServerLoginWithXboxAsync,SecretKey,Authentication,ServerLoginWithXbox,false,No,Yes,No,No -PF Core,Authentication,PFAuthenticationServerLoginWithXboxIdAsync,SecretKey,Authentication,ServerLoginWithXboxId,false,No,Yes,No,No -PF Core,Authentication,PFAuthenticationAuthenticateGameServerWithCustomIdAsync,EntityToken,Authentication,AuthenticateGameServerWithCustomId,false,No,Yes,No,No -PF Core,Authentication,PFAuthenticationDeleteAsync,EntityToken,Authentication,Delete,false,No,Yes,No,No -PF Core,Authentication,PFAuthenticationGetEntityAsync,None,Authentication,GetEntity,false,No,Yes,No,No -PF Core,Authentication,PFAuthenticationGetEntityWithSecretKeyAsync,SecretKey,Authentication,GetEntityWithSecretKey,false,No,Yes,No,No -PF Core,Authentication,PFAuthenticationValidateEntityTokenAsync,EntityToken,Authentication,ValidateEntityToken,false,No,Yes,No,No -PF Core,Events,PFEventsWriteEventsAsync,EntityToken,PlayStream Events,WriteEvents,false,Yes,Yes,Yes,Yes -PF Core,Events,PFEventsWriteTelemetryEventsAsync,EntityToken,PlayStream Events,WriteTelemetryEvents,false,Yes,Yes,Yes,Yes +Library,Feature Group,API Name,Auth,Subgroup,Call Name,Trimmed?,GDK?,Win32?,Switch?,PlayStation?,Linux?,Android?,iOS?,Macos? +PF Core,Authentication,PFAuthenticationLoginWithAndroidDeviceIDAsync,None,Authentication,LoginWithAndroidDeviceID,false,No,No,No,No,No,No,No,No +PF Core,Authentication,PFAuthenticationLoginWithAppleAsync,None,Authentication,LoginWithApple,false,No,No,No,No,No,No,Yes,Yes +PF Core,Authentication,PFAuthenticationLoginWithCustomIDAsync,None,Authentication,LoginWithCustomID,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Core,Authentication,PFAuthenticationLoginWithEmailAddressAsync,None,Authentication,LoginWithEmailAddress,false,No,No,No,No,No,No,No,No +PF Core,Authentication,PFAuthenticationLoginWithFacebookAsync,None,Authentication,LoginWithFacebook,false,No,No,No,No,No,Yes,Yes,No +PF Core,Authentication,PFAuthenticationLoginWithFacebookInstantGamesIdAsync,None,Authentication,LoginWithFacebookInstantGamesId,false,No,No,No,No,No,No,No,No +PF Core,Authentication,PFAuthenticationLoginWithGameCenterAsync,None,Authentication,LoginWithGameCenter,false,No,No,No,No,No,No,Yes,No +PF Core,Authentication,PFAuthenticationLoginWithGoogleAccountAsync,None,Authentication,LoginWithGoogleAccount,false,No,No,No,No,No,Yes,No,No +PF Core,Authentication,PFAuthenticationLoginWithGooglePlayGamesServicesAsync,None,Authentication,LoginWithGooglePlayGamesServices,false,No,No,No,No,No,Yes,No,No +PF Core,Authentication,PFAuthenticationLoginWithIOSDeviceIDAsync,None,Authentication,LoginWithIOSDeviceID,false,No,No,No,No,No,No,No,No +PF Core,Authentication,PFAuthenticationLoginWithKongregateAsync,None,Authentication,LoginWithKongregate,false,No,No,No,No,No,No,No,No +PF Core,Authentication,PFAuthenticationLoginWithNintendoServiceAccountAsync,None,Authentication,LoginWithNintendoServiceAccount,false,No,No,Yes,No,No,No,No,No +PF Core,Authentication,PFAuthenticationLoginWithNintendoSwitchDeviceIdAsync,None,Authentication,LoginWithNintendoSwitchDeviceId,false,No,No,No,No,No,No,No,No +PF Core,Authentication,PFAuthenticationLoginWithOpenIdConnectAsync,None,Authentication,LoginWithOpenIdConnect,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Core,Authentication,PFAuthenticationLoginWithPlayFabAsync,None,Authentication,LoginWithPlayFab,false,No,No,No,No,No,No,No,No +PF Core,Authentication,PFAuthenticationLoginWithPSNAsync,None,Authentication,LoginWithPSN,false,No,No,No,Yes,No,No,No,No +PF Core,Authentication,PFAuthenticationLoginWithSteamAsync,None,Authentication,LoginWithSteam,false,No,Yes,No,No,Yes,No,No,Yes +PF Core,Authentication,PFAuthenticationLoginWithTwitchAsync,None,Authentication,LoginWithTwitch,false,No,No,No,No,No,No,No,No +PF Core,Authentication,PFAuthenticationLoginWithXboxAsync,None,Authentication,LoginWithXbox,false,No,Yes,No,No,Yes,No,No,Yes +PF Core,Authentication,PFAuthenticationRegisterPlayFabUserAsync,None,Authentication,RegisterPlayFabUser,false,No,No,No,No,No,No,No,No +PF Core,Authentication,PFAuthenticationServerLoginWithServerCustomIdAsync,SecretKey,Authentication,ServerLoginWithServerCustomId,false,No,Yes,No,No,Yes,No,No,Yes +PF Core,Authentication,PFAuthenticationServerLoginWithSteamIdAsync,SecretKey,Authentication,ServerLoginWithSteamId,false,No,Yes,No,No,Yes,No,No,Yes +PF Core,Authentication,PFAuthenticationServerLoginWithXboxAsync,SecretKey,Authentication,ServerLoginWithXbox,false,No,Yes,No,No,Yes,No,No,Yes +PF Core,Authentication,PFAuthenticationServerLoginWithXboxIdAsync,SecretKey,Authentication,ServerLoginWithXboxId,false,No,Yes,No,No,Yes,No,No,Yes +PF Core,Authentication,PFAuthenticationAuthenticateGameServerWithCustomIdAsync,EntityToken,Authentication,AuthenticateGameServerWithCustomId,false,No,Yes,No,No,Yes,No,No,Yes +PF Core,Authentication,PFAuthenticationDeleteAsync,EntityToken,Authentication,Delete,false,No,Yes,No,No,Yes,No,No,Yes +PF Core,Authentication,PFAuthenticationGetEntityAsync,None,Authentication,GetEntity,false,No,Yes,No,No,Yes,No,No,Yes +PF Core,Authentication,PFAuthenticationGetEntityWithSecretKeyAsync,SecretKey,Authentication,GetEntityWithSecretKey,false,No,Yes,No,No,Yes,No,No,Yes +PF Core,Authentication,PFAuthenticationValidateEntityTokenAsync,EntityToken,Authentication,ValidateEntityToken,false,No,Yes,No,No,Yes,No,No,Yes +PF Core,Events,PFEventsWriteEventsAsync,EntityToken,PlayStream Events,WriteEvents,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Core,Events,PFEventsWriteTelemetryEventsAsync,EntityToken,PlayStream Events,WriteTelemetryEvents,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes diff --git a/Source/PlayFabCore/Include/Generated/playfab/core/PFAuthentication.h b/Source/PlayFabCore/Include/Generated/playfab/core/PFAuthentication.h index 548b30d..031f7ef 100644 --- a/Source/PlayFabCore/Include/Generated/playfab/core/PFAuthentication.h +++ b/Source/PlayFabCore/Include/Generated/playfab/core/PFAuthentication.h @@ -112,7 +112,7 @@ PF_API PFAuthenticationReLoginWithAndroidDeviceIDAsync( #endif -#if 0 +#if HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC ///

/// Signs in the user with a Sign in with Apple identity token. /// @@ -121,6 +121,7 @@ PF_API PFAuthenticationReLoginWithAndroidDeviceIDAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// +/// This API is available on iOS and macOS. /// See also ClientLinkAppleAsync, ClientUnlinkAppleAsync. /// /// When the asynchronous task is complete, call @@ -140,9 +141,9 @@ PF_API PFAuthenticationLoginWithAppleAsync( /// /// Result code for this API operation. If the service call is unsuccessful, the result will be E_PF_APPLE_NOT_ENABLED_FOR_TITLE, /// E_PF_ENCRYPTION_KEY_MISSING, E_PF_EVALUATION_MODE_PLAYER_COUNT_EXCEEDED, E_PF_INVALID_SIGNATURE, E_PF_INVALID_SIGNATURE_TIME, -/// E_PF_PLAYER_SECRET_ALREADY_CONFIGURED, E_PF_PLAYER_SECRET_NOT_CONFIGURED, E_PF_REQUEST_VIEW_CONSTRAINT_PARAMS_NOT_ALLOWED -/// or any of the global PlayFab Service errors. See doc page "Handling PlayFab Errors" for more details -/// on error handling. +/// E_PF_PLAYER_SECRET_ALREADY_CONFIGURED, E_PF_PLAYER_SECRET_NOT_CONFIGURED, E_PF_REQUEST_VIEW_CONSTRAINT_PARAMS_NOT_ALLOWED, +/// E_PF_TOKEN_SIGNING_KEY_NOT_FOUND or any of the global PlayFab Service errors. See doc page "Handling +/// PlayFab Errors" for more details on error handling. /// PF_API PFAuthenticationLoginWithAppleGetResultSize( _Inout_ XAsyncBlock* async, @@ -162,9 +163,9 @@ PF_API PFAuthenticationLoginWithAppleGetResultSize( /// /// Result code for this API operation. If the service call is unsuccessful, the result will be E_PF_APPLE_NOT_ENABLED_FOR_TITLE, /// E_PF_ENCRYPTION_KEY_MISSING, E_PF_EVALUATION_MODE_PLAYER_COUNT_EXCEEDED, E_PF_INVALID_SIGNATURE, E_PF_INVALID_SIGNATURE_TIME, -/// E_PF_PLAYER_SECRET_ALREADY_CONFIGURED, E_PF_PLAYER_SECRET_NOT_CONFIGURED, E_PF_REQUEST_VIEW_CONSTRAINT_PARAMS_NOT_ALLOWED -/// or any of the global PlayFab Service errors. See doc page "Handling PlayFab Errors" for more details -/// on error handling. +/// E_PF_PLAYER_SECRET_ALREADY_CONFIGURED, E_PF_PLAYER_SECRET_NOT_CONFIGURED, E_PF_REQUEST_VIEW_CONSTRAINT_PARAMS_NOT_ALLOWED, +/// E_PF_TOKEN_SIGNING_KEY_NOT_FOUND or any of the global PlayFab Service errors. See doc page "Handling +/// PlayFab Errors" for more details on error handling. /// /// /// If the PFAuthenticationLoginWithAppleAsync call fails, entityHandle with be null. Otherwise, the handle must be closed with PFEntityCloseHandle @@ -378,7 +379,7 @@ PF_API PFAuthenticationReLoginWithEmailAddressAsync( #endif -#if 0 +#if HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_IOS /// /// Signs the user in using a Facebook access token, returning a session identifier that can subsequently /// be used for API calls which require an authenticated user @@ -388,6 +389,7 @@ PF_API PFAuthenticationReLoginWithEmailAddressAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// +/// This API is available on Android and iOS. /// Facebook sign-in is accomplished using the Facebook User Access Token. More information on the Token /// can be found in the Facebook developer documentation (https://developers.facebook.com/docs/facebook-login/access-tokens/). /// In Unity, for example, the Token is available as AccessToken in the Facebook SDK ScriptableObject @@ -566,7 +568,7 @@ PF_API PFAuthenticationReLoginWithFacebookInstantGamesIdAsync( #endif -#if 0 +#if HC_PLATFORM == HC_PLATFORM_IOS /// /// Signs the user in using an iOS Game Center player identifier, returning a session identifier that /// can subsequently be used for API calls which require an authenticated user. Logging in with a Game @@ -580,6 +582,7 @@ PF_API PFAuthenticationReLoginWithFacebookInstantGamesIdAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// +/// This API is available on iOS. /// The Game Center player identifier (https://developer.apple.com/library/ios/documentation/Accounts/Reference/ACAccountClassRef/index.html#//apple_ref/occ/instp/ACAccount/identifier) /// is a generated string which is stored on the local device. As with device identifiers, care must be /// taken to never expose a player's Game Center identifier to end users, as that could result in a user's @@ -665,7 +668,7 @@ PF_API PFAuthenticationReLoginWithGameCenterAsync( #endif -#if 0 +#if HC_PLATFORM == HC_PLATFORM_ANDROID /// /// Signs the user in using their Google account credentials /// @@ -674,6 +677,7 @@ PF_API PFAuthenticationReLoginWithGameCenterAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// +/// This API is available on Android. /// Google sign-in is accomplished by obtaining a Google OAuth 2.0 credential using the Google sign-in /// for Android APIs on the device and passing it to this API. If this is the first time a user has signed /// in with the Google account and CreateAccount is set to true, a new PlayFab account will be created @@ -766,7 +770,7 @@ PF_API PFAuthenticationReLoginWithGoogleAccountAsync( #endif -#if 0 +#if HC_PLATFORM == HC_PLATFORM_ANDROID /// /// Signs the user in using their Google Play Games account credentials /// @@ -775,6 +779,7 @@ PF_API PFAuthenticationReLoginWithGoogleAccountAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// +/// This API is available on Android. /// Google Play Games sign-in is accomplished by obtaining a Google OAuth 2.0 credential using the Google /// Play Games sign-in for Android APIs on the device and passing it to this API. If this is the first /// time a user has signed in with the Google Play Games account and CreateAccount is set to true, a new @@ -1495,7 +1500,7 @@ PF_API PFAuthenticationReLoginWithPSNAsync( #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Signs the user in using a Steam authentication ticket, returning a session identifier that can subsequently /// be used for API calls which require an authenticated user @@ -1505,7 +1510,7 @@ PF_API PFAuthenticationReLoginWithPSNAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// Steam sign-in is accomplished with the Steam Session Ticket. More information on the Ticket can be /// found in the Steamworks SDK, here: https://partner.steamgames.com/documentation/auth. NOTE: For Steam /// authentication to work, the title must be configured with the Steam Application ID and Web API Key @@ -1685,7 +1690,7 @@ PF_API PFAuthenticationReLoginWithTwitchAsync( #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Signs the user in using a Xbox Live Token, returning a session identifier that can subsequently be /// used for API calls which require an authenticated user @@ -1695,7 +1700,7 @@ PF_API PFAuthenticationReLoginWithTwitchAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// If this is the first time a user has signed in with the Xbox Live account and CreateAccount is set /// to true, a new PlayFab account will be created and linked to the Xbox Live account. In this case, /// no email or username will be associated with the PlayFab account. Otherwise, if no PlayFab account @@ -1930,7 +1935,7 @@ PF_API PFAuthenticationRegisterPlayFabUserGetResult( #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Securely login a game client from an external server backend using a custom identifier for that player. /// Server Custom ID and Client Custom ID are mutually exclusive and cannot be used to retrieve the same @@ -1942,7 +1947,7 @@ PF_API PFAuthenticationRegisterPlayFabUserGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// When the asynchronous task is complete, call /// to get the result. /// @@ -1998,7 +2003,7 @@ PF_API PFAuthenticationServerLoginWithServerCustomIdGetResult( #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Signs the user in using an Steam ID, returning a session identifier that can subsequently be used /// for API calls which require an authenticated user @@ -2009,7 +2014,7 @@ PF_API PFAuthenticationServerLoginWithServerCustomIdGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// If this is the first time a user has signed in with the Steam ID and CreateAccount is set to true, /// a new PlayFab account will be created and linked to the Steam account. In this case, no email or username /// will be associated with the PlayFab account. Otherwise, if no PlayFab account is linked to the Steam @@ -2075,7 +2080,7 @@ PF_API PFAuthenticationServerLoginWithSteamIdGetResult( #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Signs the user in using a Xbox Live Token from an external server backend, returning a session identifier /// that can subsequently be used for API calls which require an authenticated user @@ -2086,7 +2091,7 @@ PF_API PFAuthenticationServerLoginWithSteamIdGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// If this is the first time a user has signed in with the Xbox Live account and CreateAccount is set /// to true, a new PlayFab account will be created and linked to the Xbox Live account. In this case, /// no email or username will be associated with the PlayFab account. Otherwise, if no PlayFab account @@ -2152,7 +2157,7 @@ PF_API PFAuthenticationServerLoginWithXboxGetResult( #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Signs the user in using an Xbox ID and Sandbox ID, returning a session identifier that can subsequently /// be used for API calls which require an authenticated user @@ -2163,7 +2168,7 @@ PF_API PFAuthenticationServerLoginWithXboxGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// If this is the first time a user has signed in with the Xbox ID and CreateAccount is set to true, /// a new PlayFab account will be created and linked to the Xbox Live account. In this case, no email /// or username will be associated with the PlayFab account. Otherwise, if no PlayFab account is linked @@ -2227,7 +2232,7 @@ PF_API PFAuthenticationServerLoginWithXboxIdGetResult( #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Create a game_server entity token and return a new or existing game_server entity. /// @@ -2236,7 +2241,7 @@ PF_API PFAuthenticationServerLoginWithXboxIdGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// Create or return a game_server entity token. Caller must be a title entity. /// /// When the asynchronous task is complete, call @@ -2284,7 +2289,7 @@ PF_API PFAuthenticationAuthenticateGameServerWithCustomIdGetResult( #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Delete a game_server entity. /// @@ -2293,7 +2298,7 @@ PF_API PFAuthenticationAuthenticateGameServerWithCustomIdGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// Delete a game_server entity. The caller can be the game_server entity attempting to delete itself. /// Or a title entity attempting to delete game_server entities for this title. /// @@ -2309,7 +2314,7 @@ PF_API PFAuthenticationDeleteAsync( #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Method to exchange a legacy AuthenticationTicket or title SecretKey for an Entity Token or to refresh /// a still valid Entity Token. @@ -2319,7 +2324,7 @@ PF_API PFAuthenticationDeleteAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// This API must be called with X-SecretKey, X-Authentication or X-EntityToken headers. An optional /// EntityKey may be included to attempt to set the resulting EntityToken to a specific entity, however /// the entity must be a relation of the caller, such as the master_player_account of a character. If @@ -2357,7 +2362,7 @@ PF_API PFAuthenticationGetEntityGetResult( #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Method to exchange a legacy AuthenticationTicket or title SecretKey for an Entity Token or to refresh /// a still valid Entity Token. @@ -2368,7 +2373,7 @@ PF_API PFAuthenticationGetEntityGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// This API must be called with X-SecretKey, X-Authentication or X-EntityToken headers. An optional /// EntityKey may be included to attempt to set the resulting EntityToken to a specific entity, however /// the entity must be a relation of the caller, such as the master_player_account of a character. If @@ -2407,7 +2412,7 @@ PF_API PFAuthenticationGetEntityWithSecretKeyGetResult( #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Method for a server to validate a client provided EntityToken. Only callable by the title entity. /// @@ -2416,7 +2421,7 @@ PF_API PFAuthenticationGetEntityWithSecretKeyGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// Given an entity token, validates that it hasn't expired or been revoked and will return details of /// the owner. /// diff --git a/Source/PlayFabCore/Include/Generated/playfab/core/PFEntity.h b/Source/PlayFabCore/Include/Generated/playfab/core/PFEntity.h index 93c400c..9d854a8 100644 --- a/Source/PlayFabCore/Include/Generated/playfab/core/PFEntity.h +++ b/Source/PlayFabCore/Include/Generated/playfab/core/PFEntity.h @@ -110,7 +110,7 @@ PF_API PFEntityGetEntityTokenResult( _Out_opt_ size_t* bufferUsed ) noexcept; -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_MAC || HC_PLATFORM == HC_PLATFORM_LINUX /// /// Gets the size of the buffer needed to hold the PlayFab secretKey. Will fail with E_PF_NOSECRETKEY if there is no /// Secret Key associated with the provided Entity. diff --git a/Source/PlayFabCore/Include/Generated/playfab/core/PFErrors.h b/Source/PlayFabCore/Include/Generated/playfab/core/PFErrors.h index 6034fa7..9fef36b 100644 --- a/Source/PlayFabCore/Include/Generated/playfab/core/PFErrors.h +++ b/Source/PlayFabCore/Include/Generated/playfab/core/PFErrors.h @@ -12,13 +12,14 @@ extern "C" { -// PlayFab HRESULT error codes start at FACILITY_XBOX + 0x5400 +// PlayFab Core HRESULT error codes start at FACILITY_XBOX + 0x5400 // Client-side errors. Typically these errors indicate improper calling patterns. #define E_PF_CORE_NOT_INITIALIZED MAKE_E_HC(0x5400L) // 0x89235400 #define E_PF_CORE_ALREADY_INITIALIZED MAKE_E_HC(0x5401L) // 0x89235401 #define E_PF_INVALIDHANDLE MAKE_E_HC(0x5402L) // 0x89235402 #define E_PF_CORE_MISSING_PLATFORM_HANDLER MAKE_E_HC(0x5403L) // 0x89235403 +#define E_PF_CORE_EVENT_PIPELINE_BUFFER_FULL MAKE_E_HC(0x5404L) // 0x89235404 // Client-side auth token check errors. Returned when the required auth token is missing or expired. #define E_PF_NOENTITYTOKEN MAKE_E_HC(0x5411L) // 0x89235411 @@ -575,6 +576,11 @@ extern "C" #define E_PF_INVALID_NAMESPACE_MISMATCH MAKE_E_HC(0x5643L) // 0x89235643 #define E_PF_LEADERBOARD_COLUMN_LENGTH_MISMATCH MAKE_E_HC(0x5644L) // 0x89235644 #define E_PF_INVALID_STATISTIC_SCORE MAKE_E_HC(0x5645L) // 0x89235645 +#define E_PF_LEADERBOARD_COLUMNS_NOT_SPECIFIED MAKE_E_HC(0x570aL) // 0x8923570a +#define E_PF_LEADERBOARD_MAX_SIZE_TOO_LARGE MAKE_E_HC(0x5710L) // 0x89235710 +#define E_PF_INVALID_ATTRIBUTE_STATISTICS_SPECIFIED MAKE_E_HC(0x5712L) // 0x89235712 +#define E_PF_LEADERBOARD_NOT_FOUND MAKE_E_HC(0x5725L) // 0x89235725 +#define E_PF_TOKEN_SIGNING_KEY_NOT_FOUND MAKE_E_HC(0x5726L) // 0x89235726 #define E_PF_MATCHMAKING_ENTITY_INVALID MAKE_E_HC(0x5646L) // 0x89235646 #define E_PF_MATCHMAKING_PLAYER_ATTRIBUTES_INVALID MAKE_E_HC(0x5647L) // 0x89235647 #define E_PF_MATCHMAKING_QUEUE_NOT_FOUND MAKE_E_HC(0x5648L) // 0x89235648 @@ -618,6 +624,7 @@ extern "C" #define E_PF_CATALOG_ITEM_TYPE_INVALID MAKE_E_HC(0x566eL) // 0x8923566e #define E_PF_CATALOG_BAD_REQUEST MAKE_E_HC(0x566fL) // 0x8923566f #define E_PF_CATALOG_TOO_MANY_REQUESTS MAKE_E_HC(0x5670L) // 0x89235670 +#define E_PF_INVALID_CATALOG_ITEM_CONFIGURATION MAKE_E_HC(0x5711L) // 0x89235711 #define E_PF_EXPORT_INVALID_STATUS_UPDATE MAKE_E_HC(0x5671L) // 0x89235671 #define E_PF_EXPORT_INVALID_PREFIX MAKE_E_HC(0x5672L) // 0x89235672 #define E_PF_EXPORT_BLOB_CONTAINER_DOES_NOT_EXIST MAKE_E_HC(0x5673L) // 0x89235673 @@ -719,48 +726,76 @@ extern "C" #define E_PF_LOBBY_NEW_OWNER_MUST_BE_CONNECTED MAKE_E_HC(0x56d3L) // 0x892356d3 #define E_PF_LOBBY_CURRENT_OWNER_STILL_CONNECTED MAKE_E_HC(0x56d4L) // 0x892356d4 #define E_PF_LOBBY_MEMBER_IS_NOT_OWNER MAKE_E_HC(0x56d5L) // 0x892356d5 -#define E_PF_EVENT_SAMPLING_INVALID_RATIO MAKE_E_HC(0x56d6L) // 0x892356d6 -#define E_PF_EVENT_SAMPLING_INVALID_EVENT_NAMESPACE MAKE_E_HC(0x56d7L) // 0x892356d7 -#define E_PF_EVENT_SAMPLING_INVALID_EVENT_NAME MAKE_E_HC(0x56d8L) // 0x892356d8 -#define E_PF_EVENT_SAMPLING_RATIO_NOT_FOUND MAKE_E_HC(0x56d9L) // 0x892356d9 -#define E_PF_TELEMETRY_KEY_NOT_FOUND MAKE_E_HC(0x56daL) // 0x892356da -#define E_PF_TELEMETRY_KEY_INVALID_NAME MAKE_E_HC(0x56dbL) // 0x892356db -#define E_PF_TELEMETRY_KEY_ALREADY_EXISTS MAKE_E_HC(0x56dcL) // 0x892356dc -#define E_PF_TELEMETRY_KEY_INVALID MAKE_E_HC(0x56ddL) // 0x892356dd -#define E_PF_TELEMETRY_KEY_COUNT_OVER_LIMIT MAKE_E_HC(0x56deL) // 0x892356de -#define E_PF_TELEMETRY_KEY_DEACTIVATED MAKE_E_HC(0x56dfL) // 0x892356df -#define E_PF_TELEMETRY_KEY_LONG_INSIGHTS_RETENTION_NOT_ALLOWED MAKE_E_HC(0x56e0L) // 0x892356e0 -#define E_PF_EVENT_SINK_CONNECTION_INVALID MAKE_E_HC(0x56e1L) // 0x892356e1 -#define E_PF_EVENT_SINK_CONNECTION_UNAUTHORIZED MAKE_E_HC(0x56e2L) // 0x892356e2 -#define E_PF_EVENT_SINK_REGION_INVALID MAKE_E_HC(0x56e3L) // 0x892356e3 -#define E_PF_EVENT_SINK_LIMIT_EXCEEDED MAKE_E_HC(0x56e4L) // 0x892356e4 -#define E_PF_EVENT_SINK_SAS_TOKEN_INVALID MAKE_E_HC(0x56e5L) // 0x892356e5 -#define E_PF_EVENT_SINK_NOT_FOUND MAKE_E_HC(0x56e6L) // 0x892356e6 -#define E_PF_EVENT_SINK_NAME_INVALID MAKE_E_HC(0x56e7L) // 0x892356e7 -#define E_PF_EVENT_SINK_SAS_TOKEN_PERMISSION_INVALID MAKE_E_HC(0x56e8L) // 0x892356e8 -#define E_PF_EVENT_SINK_SECRET_INVALID MAKE_E_HC(0x56e9L) // 0x892356e9 -#define E_PF_EVENT_SINK_TENANT_NOT_FOUND MAKE_E_HC(0x56eaL) // 0x892356ea -#define E_PF_EVENT_SINK_AAD_NOT_FOUND MAKE_E_HC(0x56ebL) // 0x892356eb -#define E_PF_EVENT_SINK_DATABASE_NOT_FOUND MAKE_E_HC(0x56ecL) // 0x892356ec -#define E_PF_OPERATION_CANCELED MAKE_E_HC(0x56edL) // 0x892356ed -#define E_PF_INVALID_DISPLAY_NAME_RANDOM_SUFFIX_LENGTH MAKE_E_HC(0x56eeL) // 0x892356ee -#define E_PF_ALLOW_NON_UNIQUE_PLAYER_DISPLAY_NAMES_DISABLE_NOT_ALLOWED MAKE_E_HC(0x56efL) // 0x892356ef -#define E_PF_PARTITIONED_EVENT_INVALID MAKE_E_HC(0x56f0L) // 0x892356f0 -#define E_PF_PARTITIONED_EVENT_COUNT_OVER_LIMIT MAKE_E_HC(0x56f1L) // 0x892356f1 -#define E_PF_MANAGE_EVENT_NAMESPACE_INVALID MAKE_E_HC(0x56f2L) // 0x892356f2 -#define E_PF_MANAGE_EVENT_NAME_INVALID MAKE_E_HC(0x56f3L) // 0x892356f3 -#define E_PF_MANAGED_EVENT_NOT_FOUND MAKE_E_HC(0x56f4L) // 0x892356f4 -#define E_PF_MANAGE_EVENTS_INVALID_RATIO MAKE_E_HC(0x56f5L) // 0x892356f5 -#define E_PF_MANAGED_EVENT_INVALID MAKE_E_HC(0x56f6L) // 0x892356f6 -#define E_PF_PLAYER_CUSTOM_PROPERTIES_PROPERTY_NAME_TOO_LONG MAKE_E_HC(0x56f7L) // 0x892356f7 -#define E_PF_PLAYER_CUSTOM_PROPERTIES_PROPERTY_NAME_IS_INVALID MAKE_E_HC(0x56f8L) // 0x892356f8 -#define E_PF_PLAYER_CUSTOM_PROPERTIES_STRING_PROPERTY_VALUE_TOO_LONG MAKE_E_HC(0x56f9L) // 0x892356f9 -#define E_PF_PLAYER_CUSTOM_PROPERTIES_VALUE_IS_INVALID_TYPE MAKE_E_HC(0x56faL) // 0x892356fa -#define E_PF_PLAYER_CUSTOM_PROPERTIES_VERSION_MISMATCH MAKE_E_HC(0x56fbL) // 0x892356fb -#define E_PF_PLAYER_CUSTOM_PROPERTIES_PROPERTY_COUNT_TOO_HIGH MAKE_E_HC(0x56fcL) // 0x892356fc -#define E_PF_PLAYER_CUSTOM_PROPERTIES_DUPLICATE_PROPERTY_NAME MAKE_E_HC(0x56fdL) // 0x892356fd -#define E_PF_PLAYER_CUSTOM_PROPERTIES_PROPERTY_DOES_NOT_EXIST MAKE_E_HC(0x56feL) // 0x892356fe -#define E_PF_ADDON_ALREADY_EXISTS MAKE_E_HC(0x56ffL) // 0x892356ff -#define E_PF_ADDON_DOESNT_EXIST MAKE_E_HC(0x5700L) // 0x89235700 +#define E_PF_LOBBY_SERVER_MISMATCH MAKE_E_HC(0x570bL) // 0x8923570b +#define E_PF_LOBBY_SERVER_NOT_FOUND MAKE_E_HC(0x570cL) // 0x8923570c +#define E_PF_LOBBY_DIFFERENT_SERVER_ALREADY_JOINED MAKE_E_HC(0x570dL) // 0x8923570d +#define E_PF_LOBBY_SERVER_ALREADY_JOINED MAKE_E_HC(0x570eL) // 0x8923570e +#define E_PF_LOBBY_IS_NOT_CLIENT_OWNED MAKE_E_HC(0x56daL) // 0x892356da +#define E_PF_LOBBY_DOES_NOT_USE_CONNECTIONS MAKE_E_HC(0x56dbL) // 0x892356db +#define E_PF_EVENT_SAMPLING_INVALID_RATIO MAKE_E_HC(0x56dcL) // 0x892356dc +#define E_PF_EVENT_SAMPLING_INVALID_EVENT_NAMESPACE MAKE_E_HC(0x56ddL) // 0x892356dd +#define E_PF_EVENT_SAMPLING_INVALID_EVENT_NAME MAKE_E_HC(0x56deL) // 0x892356de +#define E_PF_EVENT_SAMPLING_RATIO_NOT_FOUND MAKE_E_HC(0x56dfL) // 0x892356df +#define E_PF_TELEMETRY_KEY_NOT_FOUND MAKE_E_HC(0x56e0L) // 0x892356e0 +#define E_PF_TELEMETRY_KEY_INVALID_NAME MAKE_E_HC(0x56e1L) // 0x892356e1 +#define E_PF_TELEMETRY_KEY_ALREADY_EXISTS MAKE_E_HC(0x56e2L) // 0x892356e2 +#define E_PF_TELEMETRY_KEY_INVALID MAKE_E_HC(0x56e3L) // 0x892356e3 +#define E_PF_TELEMETRY_KEY_COUNT_OVER_LIMIT MAKE_E_HC(0x56e4L) // 0x892356e4 +#define E_PF_TELEMETRY_KEY_DEACTIVATED MAKE_E_HC(0x56e5L) // 0x892356e5 +#define E_PF_TELEMETRY_KEY_LONG_INSIGHTS_RETENTION_NOT_ALLOWED MAKE_E_HC(0x56e6L) // 0x892356e6 +#define E_PF_EVENT_SINK_CONNECTION_INVALID MAKE_E_HC(0x56e7L) // 0x892356e7 +#define E_PF_EVENT_SINK_CONNECTION_UNAUTHORIZED MAKE_E_HC(0x56e8L) // 0x892356e8 +#define E_PF_EVENT_SINK_REGION_INVALID MAKE_E_HC(0x56e9L) // 0x892356e9 +#define E_PF_EVENT_SINK_LIMIT_EXCEEDED MAKE_E_HC(0x56eaL) // 0x892356ea +#define E_PF_EVENT_SINK_SAS_TOKEN_INVALID MAKE_E_HC(0x56ebL) // 0x892356eb +#define E_PF_EVENT_SINK_NOT_FOUND MAKE_E_HC(0x56ecL) // 0x892356ec +#define E_PF_EVENT_SINK_NAME_INVALID MAKE_E_HC(0x56edL) // 0x892356ed +#define E_PF_EVENT_SINK_SAS_TOKEN_PERMISSION_INVALID MAKE_E_HC(0x56eeL) // 0x892356ee +#define E_PF_EVENT_SINK_SECRET_INVALID MAKE_E_HC(0x56efL) // 0x892356ef +#define E_PF_EVENT_SINK_TENANT_NOT_FOUND MAKE_E_HC(0x56f0L) // 0x892356f0 +#define E_PF_EVENT_SINK_AAD_NOT_FOUND MAKE_E_HC(0x56f1L) // 0x892356f1 +#define E_PF_EVENT_SINK_DATABASE_NOT_FOUND MAKE_E_HC(0x56f2L) // 0x892356f2 +#define E_PF_EVENT_SINK_TITLE_UNAUTHORIZED MAKE_E_HC(0x56f3L) // 0x892356f3 +#define E_PF_EVENT_SINK_INSUFFICIENT_ROLE_ASSIGNMENT MAKE_E_HC(0x5713L) // 0x89235713 +#define E_PF_EVENT_SINK_CONTAINER_NOT_FOUND MAKE_E_HC(0x5714L) // 0x89235714 +#define E_PF_OPERATION_CANCELED MAKE_E_HC(0x56f4L) // 0x892356f4 +#define E_PF_INVALID_DISPLAY_NAME_RANDOM_SUFFIX_LENGTH MAKE_E_HC(0x56f5L) // 0x892356f5 +#define E_PF_ALLOW_NON_UNIQUE_PLAYER_DISPLAY_NAMES_DISABLE_NOT_ALLOWED MAKE_E_HC(0x56f6L) // 0x892356f6 +#define E_PF_PARTITIONED_EVENT_INVALID MAKE_E_HC(0x56f7L) // 0x892356f7 +#define E_PF_PARTITIONED_EVENT_COUNT_OVER_LIMIT MAKE_E_HC(0x56f8L) // 0x892356f8 +#define E_PF_MANAGE_EVENT_NAMESPACE_INVALID MAKE_E_HC(0x56f9L) // 0x892356f9 +#define E_PF_MANAGE_EVENT_NAME_INVALID MAKE_E_HC(0x56faL) // 0x892356fa +#define E_PF_MANAGED_EVENT_NOT_FOUND MAKE_E_HC(0x56fbL) // 0x892356fb +#define E_PF_MANAGE_EVENTS_INVALID_RATIO MAKE_E_HC(0x56fcL) // 0x892356fc +#define E_PF_MANAGED_EVENT_INVALID MAKE_E_HC(0x56fdL) // 0x892356fd +#define E_PF_PLAYER_CUSTOM_PROPERTIES_PROPERTY_NAME_TOO_LONG MAKE_E_HC(0x56feL) // 0x892356fe +#define E_PF_PLAYER_CUSTOM_PROPERTIES_PROPERTY_NAME_IS_INVALID MAKE_E_HC(0x56ffL) // 0x892356ff +#define E_PF_PLAYER_CUSTOM_PROPERTIES_STRING_PROPERTY_VALUE_TOO_LONG MAKE_E_HC(0x5700L) // 0x89235700 +#define E_PF_PLAYER_CUSTOM_PROPERTIES_VALUE_IS_INVALID_TYPE MAKE_E_HC(0x5701L) // 0x89235701 +#define E_PF_PLAYER_CUSTOM_PROPERTIES_VERSION_MISMATCH MAKE_E_HC(0x5702L) // 0x89235702 +#define E_PF_PLAYER_CUSTOM_PROPERTIES_PROPERTY_COUNT_TOO_HIGH MAKE_E_HC(0x5703L) // 0x89235703 +#define E_PF_PLAYER_CUSTOM_PROPERTIES_DUPLICATE_PROPERTY_NAME MAKE_E_HC(0x5704L) // 0x89235704 +#define E_PF_PLAYER_CUSTOM_PROPERTIES_PROPERTY_DOES_NOT_EXIST MAKE_E_HC(0x5705L) // 0x89235705 +#define E_PF_ADDON_ALREADY_EXISTS MAKE_E_HC(0x5706L) // 0x89235706 +#define E_PF_ADDON_DOESNT_EXIST MAKE_E_HC(0x5707L) // 0x89235707 +#define E_PF_COPILOT_DISABLED MAKE_E_HC(0x5708L) // 0x89235708 +#define E_PF_COPILOT_INVALID_REQUEST MAKE_E_HC(0x5709L) // 0x89235709 +#define E_PF_TRUE_SKILL_UNAUTHORIZED MAKE_E_HC(0x570fL) // 0x8923570f +#define E_PF_TRUE_SKILL_BAD_REQUEST MAKE_E_HC(0x5715L) // 0x89235715 +#define E_PF_TRUE_SKILL_MATCH_RESULT_ALREADY_SUBMITTED MAKE_E_HC(0x5716L) // 0x89235716 +#define E_PF_TRUE_SKILL_DUPLICATE_PLAYER_IN_MATCH_RESULT MAKE_E_HC(0x5717L) // 0x89235717 +#define E_PF_TRUE_SKILL_INVALID_RANKS_IN_MATCH_RESULT MAKE_E_HC(0x5718L) // 0x89235718 +#define E_PF_TRUE_SKILL_NO_WINNER_IN_MATCH_RESULT MAKE_E_HC(0x5719L) // 0x89235719 +#define E_PF_TRUE_SKILL_MISSING_REQUIRED_CONDITION_IN_MATCH_RESULT MAKE_E_HC(0x571aL) // 0x8923571a +#define E_PF_TRUE_SKILL_MISSING_REQUIRED_EVENT_IN_MATCH_RESULT MAKE_E_HC(0x571bL) // 0x8923571b +#define E_PF_TRUE_SKILL_UNKNOWN_EVENT_IN_MATCH_RESULT MAKE_E_HC(0x571cL) // 0x8923571c +#define E_PF_TRUE_SKILL_UNKNOWN_CONDITION_NAME MAKE_E_HC(0x571dL) // 0x8923571d +#define E_PF_TRUE_SKILL_UNKNOWN_CONDITION_VALUE MAKE_E_HC(0x571eL) // 0x8923571e +#define E_PF_TRUE_SKILL_UNKNOWN_SCENARIO_ID MAKE_E_HC(0x571fL) // 0x8923571f +#define E_PF_TRUE_SKILL_UNKNOWN_MODEL_ID MAKE_E_HC(0x5720L) // 0x89235720 +#define E_PF_TRUE_SKILL_NO_ACTIVE_MODEL_IN_SCENARIO MAKE_E_HC(0x5721L) // 0x89235721 +#define E_PF_STATE_SHARE_UNAUTHORIZED MAKE_E_HC(0x5722L) // 0x89235722 +#define E_PF_STATE_SHARE_STATE_NOT_FOUND MAKE_E_HC(0x5723L) // 0x89235723 +#define E_PF_STATE_SHARE_LINK_NOT_FOUND MAKE_E_HC(0x5724L) // 0x89235724 } diff --git a/Source/PlayFabCore/Include/playfab/core/PFCore.h b/Source/PlayFabCore/Include/playfab/core/PFCore.h index af7c5aa..0ae04d3 100644 --- a/Source/PlayFabCore/Include/playfab/core/PFCore.h +++ b/Source/PlayFabCore/Include/playfab/core/PFCore.h @@ -16,12 +16,11 @@ #include #include #include -#include extern "C" { -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC /// /// Initialize PlayFabCore global state. Custom platform hooks must be configured prior to calling PFInitialize. /// @@ -32,6 +31,25 @@ PF_API PFInitialize( ) noexcept; #endif +#if HC_PLATFORM == HC_PLATFORM_ANDROID +/// +/// Initializes PlayFabCore global state. Custom platform hooks must be configured prior to calling PFInitialize. +/// +/// An XTaskQueue that should be used for background work. If no queue is provided then a default (threadpool) queue will be used. +/// Args for initializing libHttpClient. +/// +/// This will internally call PFInitialize(nullptr) if it hasn't been called already by the +/// title. If control of PFCore background work is needed, the title should explicitly call +/// PFInitialize and PFUninitialize. +/// +/// Result code for this API operation. +PF_API PFInitialize( + _In_opt_ XTaskQueueHandle backgroundQueue, + _In_ JavaVM* javaVm, + _In_ jobject applicationContext +) noexcept; +#endif + /// /// Cleanup PlayFab global state. /// diff --git a/Source/PlayFabCore/Include/playfab/core/PFEventPipeline.h b/Source/PlayFabCore/Include/playfab/core/PFEventPipeline.h index 3bb92b1..61e7084 100644 --- a/Source/PlayFabCore/Include/playfab/core/PFEventPipeline.h +++ b/Source/PlayFabCore/Include/playfab/core/PFEventPipeline.h @@ -46,6 +46,16 @@ const uint32_t PFTelemetryEventPipelineMaxWaitTimeInSecondsDefault = 3; /// const uint32_t PFTelemetryEventPipelinePollDelayInMsDefault = 10; +/// +/// Default value for attempting a retry of event emission when losing connection. +/// +const bool PFTelemetryEventPipelineRetryOnDisconnectDefault = true; + +/// +/// Default value for the maximum amount of events in the event buffer. +/// +const size_t PFEventPipelineBufferSizeDefault = 1024; + /// /// Event to be uploaded to PlayFab. /// @@ -134,6 +144,16 @@ struct PFEventPipelineConfig /// The event pipeline will send events using GZIP compression with the level specified. If sent null, no compression will be made. /// _Maybenull_ PFHCCompressionLevel* compressionLevel; + + /// + /// The event pipeline will retry sending events that failed due to lost connection. If sent null, default behavior will be to retry (true) (not available for PlayStream). + /// + _Maybenull_ bool* retryOnDisconnect; + + /// + /// The limit of the amount of events in the pipeline's buffer. If sent null, default value will be used (1024 for either type). + /// + _Maybenull_ size_t* bufferSize; }; /// diff --git a/Source/PlayFabCore/Include/playfab/core/PFPal.h b/Source/PlayFabCore/Include/playfab/core/PFPal.h index 6ceec0b..6ca8be4 100644 --- a/Source/PlayFabCore/Include/playfab/core/PFPal.h +++ b/Source/PlayFabCore/Include/playfab/core/PFPal.h @@ -17,10 +17,16 @@ #if HC_PLATFORM_IS_MICROSOFT || HC_PLATFORM_IS_PLAYSTATION #define PF_API_ATTRIBUTES __declspec(dllexport) +#elif HC_PLATFORM == HC_PLATFORM_LINUX +#define PF_API_ATTRIBUTES __attribute__((visibility("default"))) #else #define PF_API_ATTRIBUTES #endif +#if HC_PLATFORM_IS_APPLE || HC_PLATFORM == HC_PLATFORM_ANDROID +#include +#endif // HC_PLATFORM_IS_APPLE || HC_PLATFORM == HC_PLATFORM_ANDROID + #ifndef STDAPICALLTYPE #define STDAPICALLTYPE #endif diff --git a/Source/PlayFabCore/Include/playfab/core/cpp/Entity.h b/Source/PlayFabCore/Include/playfab/core/cpp/Entity.h index a6f9aa3..60f5817 100644 --- a/Source/PlayFabCore/Include/playfab/core/cpp/Entity.h +++ b/Source/PlayFabCore/Include/playfab/core/cpp/Entity.h @@ -85,7 +85,7 @@ class Entity { try { -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_MAC || HC_PLATFORM == HC_PLATFORM_LINUX size_t size{ 0 }; THROW_IF_FAILED(PFEntityGetSecretKeySize(m_handle, &size)); @@ -97,7 +97,7 @@ class Entity #else UNREFERENCED_PARAMETER(secretKey); assert(false); - return S_OK; + return E_PF_NOSECRETKEY; #endif } catch (Wrappers::Exception& e) diff --git a/Source/PlayFabCore/Include/playfab/core/cpp/ServiceConfig.h b/Source/PlayFabCore/Include/playfab/core/cpp/ServiceConfig.h index 791faa5..c4ea9fc 100644 --- a/Source/PlayFabCore/Include/playfab/core/cpp/ServiceConfig.h +++ b/Source/PlayFabCore/Include/playfab/core/cpp/ServiceConfig.h @@ -8,6 +8,7 @@ #pragma once #include +#include "PlayFabException.h" #include #include @@ -22,7 +23,7 @@ class ServiceConfig public: using String = typename std::basic_string, Alloc>; template - using Vector = typename std::vector>; + using Vector = typename std::vector>; // Creates a ServiceConfig by wrapping a PFServiceConfigHandle (transfers ownership of the handle) static ServiceConfig Wrap(PFServiceConfigHandle handle) diff --git a/Source/PlayFabCore/Include/playfab/httpClient/PFHttpClient.h b/Source/PlayFabCore/Include/playfab/httpClient/PFHttpClient.h index 8fb6dd2..6c12f3f 100644 --- a/Source/PlayFabCore/Include/playfab/httpClient/PFHttpClient.h +++ b/Source/PlayFabCore/Include/playfab/httpClient/PFHttpClient.h @@ -755,7 +755,7 @@ enum class PFHCCompressionLevel : uint32_t High = 9 }; -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC /// /// Enable GZIP compression on the provided body payload. /// diff --git a/Source/PlayFabCore/Source/Api/PFCore.cpp b/Source/PlayFabCore/Source/Api/PFCore.cpp index 29be32b..329ba01 100644 --- a/Source/PlayFabCore/Source/Api/PFCore.cpp +++ b/Source/PlayFabCore/Source/Api/PFCore.cpp @@ -1,15 +1,32 @@ #include "stdafx.h" #include -#include "Common/GlobalState.h" +#include "Common/PFCoreGlobalState.h" using namespace PlayFab; -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +extern "C" +{ + +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFInitialize( _In_opt_ XTaskQueueHandle backgroundQueue ) noexcept { - return GlobalState::Create(backgroundQueue, nullptr); + return PFCoreGlobalState::Create(backgroundQueue, nullptr); +} +#endif + +#if HC_PLATFORM == HC_PLATFORM_ANDROID +PF_API PFInitialize( + _In_opt_ XTaskQueueHandle backgroundQueue, + _In_ JavaVM* javaVm, + _In_ jobject applicationContext +) noexcept +{ + HCInitArgs initArgs; + initArgs.javaVM = javaVm; + initArgs.applicationContext = applicationContext; + return PFCoreGlobalState::Create(backgroundQueue, &initArgs); } #endif @@ -21,12 +38,14 @@ PF_API PFInitializeWithLHC( _In_ HCInitArgs* args ) noexcept { - return GlobalState::Create(backgroundQueue, args); + return PFCoreGlobalState::Create(backgroundQueue, args); } PF_API PFUninitializeAsync( _In_ XAsyncBlock* async ) noexcept { - return GlobalState::CleanupAsync(async); + return PFCoreGlobalState::CleanupAsync(async); +} + } diff --git a/Source/PlayFabCore/Source/Api/PFEntity.cpp b/Source/PlayFabCore/Source/Api/PFEntity.cpp index d09eeb3..2ab1581 100644 --- a/Source/PlayFabCore/Source/Api/PFEntity.cpp +++ b/Source/PlayFabCore/Source/Api/PFEntity.cpp @@ -1,6 +1,6 @@ #include "stdafx.h" #include -#include "GlobalState.h" +#include "PFCoreGlobalState.h" #include "ApiHelpers.h" #include @@ -11,7 +11,7 @@ PF_API PFEntityDuplicateHandle( _Out_ PFEntityHandle* duplicatedEntityHandle ) noexcept { - return ApiImpl(XASYNC_IDENTITY(PFEntityDuplicateHandle), [&](GlobalState& state) + return ApiImpl(XASYNC_IDENTITY(PFEntityDuplicateHandle), [&](PFCoreGlobalState& state) { RETURN_HR_INVALIDARG_IF_NULL(duplicatedEntityHandle); @@ -25,7 +25,7 @@ PF_API_(void) PFEntityCloseHandle( _In_ PFEntityHandle entityHandle ) noexcept { - ApiImpl(XASYNC_IDENTITY(PFEntityCloseHandle), [&](GlobalState& state) + ApiImpl(XASYNC_IDENTITY(PFEntityCloseHandle), [&](PFCoreGlobalState& state) { state.Entities().CloseHandle(entityHandle); return S_OK; @@ -88,7 +88,7 @@ PF_API PFEntityGetEntityTokenResult( return hr; } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_MAC || HC_PLATFORM == HC_PLATFORM_LINUX PF_API PFEntityGetSecretKeySize( _In_ PFEntityHandle handle, _Out_ size_t* secretKeySize @@ -229,7 +229,7 @@ PF_API PFEntityRegisterTokenExpiredEventHandler( _Out_ PFRegistrationToken* token ) noexcept { - return ApiImpl(XASYNC_IDENTITY(PFEntityRegisterTokenExpiredEventHandler), [&](GlobalState& state) + return ApiImpl(XASYNC_IDENTITY(PFEntityRegisterTokenExpiredEventHandler), [&](PFCoreGlobalState& state) { return state.TokenExpiredHandler().RegisterClientHandler(state.RunContext().DeriveOnQueue(queue), context, handler, token); }); @@ -239,8 +239,8 @@ PF_API_(void) PFEntityUnregisterTokenExpiredEventHandler( _In_ PFRegistrationToken token ) noexcept { - SharedPtr state; - GlobalState::Get(state); + SharedPtr state; + PFCoreGlobalState::Get(state); if (state) { state->TokenExpiredHandler().UnregisterClientHandler(token); @@ -254,8 +254,8 @@ PF_API PFEntityRegisterTokenRefreshedEventHandler( _Out_ PFRegistrationToken* token ) noexcept { - SharedPtr state; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); return state->TokenRefreshedHandler().RegisterClientHandler( state->RunContext().DeriveOnQueue(queue), @@ -270,8 +270,8 @@ PF_API_(void) PFEntityUnregisterTokenRefreshedEventHandler( ) noexcept { - SharedPtr state; - GlobalState::Get(state); + SharedPtr state; + PFCoreGlobalState::Get(state); if (state) { state->TokenRefreshedHandler().UnregisterClientHandler(token); diff --git a/Source/PlayFabCore/Source/Api/PFEventPipeline.cpp b/Source/PlayFabCore/Source/Api/PFEventPipeline.cpp index 70e3d4f..9fc9a77 100644 --- a/Source/PlayFabCore/Source/Api/PFEventPipeline.cpp +++ b/Source/PlayFabCore/Source/Api/PFEventPipeline.cpp @@ -14,7 +14,7 @@ HRESULT EventPipelineCreationHelper( PFEventPipelineBatchUploadSucceededEventHandler* batchUploadedEventHandler, PFEventPipelineBatchUploadFailedEventHandler* batchFailedEventHandler, void* handlerContext, - GlobalState& state, + PFCoreGlobalState& state, PFEventPipelineHandle* eventPipelineHandle ) noexcept { @@ -45,6 +45,8 @@ HRESULT EventPipelineCreationHelper( uint32_t maxEvents, maxWaitTime, pollDelay; PFHCCompressionLevel compressionLevel; + bool retryOnDisconnect; + size_t bufferSize; if (eventPipelineType == PFEventPipelineType::PlayStream) { @@ -57,8 +59,10 @@ HRESULT EventPipelineCreationHelper( maxEvents = !eventPipelineConfig || !eventPipelineConfig->maxEventsPerBatch ? PFTelemetryEventPipelineMaxEventsPerBatchDefault : *eventPipelineConfig->maxEventsPerBatch; maxWaitTime = !eventPipelineConfig || !eventPipelineConfig->maxWaitTimeInSeconds ? PFTelemetryEventPipelineMaxWaitTimeInSecondsDefault : *eventPipelineConfig->maxWaitTimeInSeconds; pollDelay = !eventPipelineConfig || !eventPipelineConfig->pollDelayInMs ? PFTelemetryEventPipelinePollDelayInMsDefault : *eventPipelineConfig->pollDelayInMs; + retryOnDisconnect = !eventPipelineConfig || !eventPipelineConfig->retryOnDisconnect ? PFTelemetryEventPipelineRetryOnDisconnectDefault : *eventPipelineConfig->retryOnDisconnect; } + bufferSize = !eventPipelineConfig || !eventPipelineConfig->bufferSize ? PFEventPipelineBufferSizeDefault : *eventPipelineConfig->bufferSize; compressionLevel = !eventPipelineConfig || !eventPipelineConfig->compressionLevel ? PFHCCompressionLevel::None : *eventPipelineConfig->compressionLevel; SharedPtr pipeline; @@ -73,6 +77,8 @@ HRESULT EventPipelineCreationHelper( maxWaitTime, pollDelay, compressionLevel, + retryOnDisconnect, + bufferSize, batchUploadedEventHandler, batchFailedEventHandler, handlerContext @@ -89,6 +95,8 @@ HRESULT EventPipelineCreationHelper( maxWaitTime, pollDelay, compressionLevel, + retryOnDisconnect, + bufferSize, batchUploadedEventHandler, batchFailedEventHandler, handlerContext @@ -107,7 +115,7 @@ PF_API PFEventPipelineCreateTelemetryPipelineHandleWithKey( _Out_ PFEventPipelineHandle* eventPipelineHandle ) noexcept { - return ApiImpl(XASYNC_IDENTITY(PFEventPipelineCreateTelemetryPipelineHandleWithKey), [&](GlobalState& state) + return ApiImpl(XASYNC_IDENTITY(PFEventPipelineCreateTelemetryPipelineHandleWithKey), [&](PFCoreGlobalState& state) { return EventPipelineCreationHelper( PFEventPipelineType::Telemetry, @@ -133,7 +141,7 @@ PF_API PFEventPipelineCreateTelemetryPipelineHandleWithEntity( _Out_ PFEventPipelineHandle* eventPipelineHandle ) noexcept { - return ApiImpl(XASYNC_IDENTITY(PFEventPipelineCreateTelemetryPipelineHandleWithEntity), [&](GlobalState& state) + return ApiImpl(XASYNC_IDENTITY(PFEventPipelineCreateTelemetryPipelineHandleWithEntity), [&](PFCoreGlobalState& state) { return EventPipelineCreationHelper( PFEventPipelineType::Telemetry, @@ -159,7 +167,7 @@ PF_API PFEventPipelineCreatePlayStreamPipelineHandle( _Out_ PFEventPipelineHandle* eventPipelineHandle ) noexcept { - return ApiImpl(XASYNC_IDENTITY(PFEventPipelineCreatePlayStreamPipelineHandle), [&](GlobalState& state) + return ApiImpl(XASYNC_IDENTITY(PFEventPipelineCreatePlayStreamPipelineHandle), [&](PFCoreGlobalState& state) { return EventPipelineCreationHelper( PFEventPipelineType::PlayStream, @@ -181,7 +189,7 @@ PF_API PFEventPipelineDuplicateHandle( _In_ PFEventPipelineHandle* duplicatedEventPipelineHandle ) noexcept { - return ApiImpl(XASYNC_IDENTITY(PFEventPipelineDuplicateHandle), [&](GlobalState& state) + return ApiImpl(XASYNC_IDENTITY(PFEventPipelineDuplicateHandle), [&](PFCoreGlobalState& state) { RETURN_HR_INVALIDARG_IF_NULL(duplicatedEventPipelineHandle); @@ -195,7 +203,7 @@ PF_API_(void) PFEventPipelineCloseHandle( _In_ PFEventPipelineHandle eventPipelineHandle ) noexcept { - ApiImpl(XASYNC_IDENTITY(PFEventPipelineCloseHandle), [&](GlobalState& state) + ApiImpl(XASYNC_IDENTITY(PFEventPipelineCloseHandle), [&](PFCoreGlobalState& state) { state.ClientEventPipelines().CloseHandle(eventPipelineHandle); return S_OK; @@ -207,7 +215,7 @@ PF_API PFEventPipelineEmitEvent( _In_ PFEvent const* event ) noexcept { - return ApiImpl(XASYNC_IDENTITY(PFEventPipelineEmitEvent), [&](GlobalState& state) + return ApiImpl(XASYNC_IDENTITY(PFEventPipelineEmitEvent), [&](PFCoreGlobalState& state) { RETURN_HR_INVALIDARG_IF_NULL(event); @@ -223,7 +231,7 @@ PF_API PFEventPipelineAddUploadingEntity( _In_ PFEntityHandle entityHandle ) noexcept { - return ApiImpl(XASYNC_IDENTITY(PFEventPipelineAddUploadingEntity), [&](GlobalState& state) + return ApiImpl(XASYNC_IDENTITY(PFEventPipelineAddUploadingEntity), [&](PFCoreGlobalState& state) { RETURN_HR_INVALIDARG_IF_NULL(entityHandle); @@ -241,7 +249,7 @@ PF_API PFEventPipelineRemoveUploadingEntity( _In_ PFEventPipelineHandle eventPipelineHandle ) noexcept { - return ApiImpl(XASYNC_IDENTITY(PFEventPipelineRemoveUploadingEntity), [&](GlobalState& state) + return ApiImpl(XASYNC_IDENTITY(PFEventPipelineRemoveUploadingEntity), [&](PFCoreGlobalState& state) { SharedPtr pipeline; RETURN_IF_FAILED(state.ClientEventPipelines().FromHandle(eventPipelineHandle, pipeline)); @@ -255,7 +263,7 @@ PF_API PFEventPipelineUpdateConfiguration( _In_ PFEventPipelineConfig eventPipelineConfig ) noexcept { - return ApiImpl(XASYNC_IDENTITY(PFEventPipelineUpdateConfiguration), [&](GlobalState& state) + return ApiImpl(XASYNC_IDENTITY(PFEventPipelineUpdateConfiguration), [&](PFCoreGlobalState& state) { SharedPtr pipeline; RETURN_IF_FAILED(state.ClientEventPipelines().FromHandle(eventPipelineHandle, pipeline)); diff --git a/Source/PlayFabCore/Source/Api/PFHttpConfig.cpp b/Source/PlayFabCore/Source/Api/PFHttpConfig.cpp index d8cd58d..fbb9247 100644 --- a/Source/PlayFabCore/Source/Api/PFHttpConfig.cpp +++ b/Source/PlayFabCore/Source/Api/PFHttpConfig.cpp @@ -1,5 +1,5 @@ #include "stdafx.h" -#include "Common/GlobalState.h" +#include "Common/PFCoreGlobalState.h" #include "Common/ApiHelpers.h" using namespace PlayFab; @@ -8,7 +8,7 @@ PF_API PFSetHttpRetrySettings( _In_ PFHttpRetrySettings const* settings ) noexcept { - return ApiImpl(XASYNC_IDENTITY(PFSetHttpRetrySettings), [&](GlobalState& state) + return ApiImpl(XASYNC_IDENTITY(PFSetHttpRetrySettings), [&](PFCoreGlobalState& state) { RETURN_HR_INVALIDARG_IF_NULL(settings); *state.HttpRetrySettings() = *settings; @@ -20,7 +20,7 @@ PF_API PFGetHttpRetrySettings( _Out_ PFHttpRetrySettings* settings ) noexcept { - return ApiImpl(XASYNC_IDENTITY(PFGetHttpRetrySettings), [&](GlobalState& state) + return ApiImpl(XASYNC_IDENTITY(PFGetHttpRetrySettings), [&](PFCoreGlobalState& state) { RETURN_HR_INVALIDARG_IF_NULL(settings); *settings = *state.HttpRetrySettings(); diff --git a/Source/PlayFabCore/Source/Api/PFPlatform.cpp b/Source/PlayFabCore/Source/Api/PFPlatform.cpp index 1594d8c..6bcafb9 100644 --- a/Source/PlayFabCore/Source/Api/PFPlatform.cpp +++ b/Source/PlayFabCore/Source/Api/PFPlatform.cpp @@ -1,7 +1,7 @@ #include "stdafx.h" #include #include "Platform/Platform.h" -#include "GlobalState.h" +#include "PFCoreGlobalState.h" using namespace PlayFab; @@ -11,8 +11,8 @@ PF_API PFMemSetFunctions( { RETURN_HR_INVALIDARG_IF_NULL(hooks); - SharedPtr state; - GlobalState::Get(state); + SharedPtr state; + PFCoreGlobalState::Get(state); RETURN_HR_IF(E_PF_CORE_ALREADY_INITIALIZED, state); RETURN_IF_FAILED(PlayFab::SetMemoryHooks(*hooks)); @@ -52,8 +52,8 @@ PF_API PFPlatformLocalStorageSetHandlers( { RETURN_HR_INVALIDARG_IF_NULL(hooks); - SharedPtr state; - GlobalState::Get(state); + SharedPtr state; + PFCoreGlobalState::Get(state); RETURN_HR_IF(E_PF_CORE_ALREADY_INITIALIZED, state); return PlayFab::SetLocalStorageHandlers(*hooks); diff --git a/Source/PlayFabCore/Source/Api/PFServiceConfig.cpp b/Source/PlayFabCore/Source/Api/PFServiceConfig.cpp index d555b19..0bcb75c 100644 --- a/Source/PlayFabCore/Source/Api/PFServiceConfig.cpp +++ b/Source/PlayFabCore/Source/Api/PFServiceConfig.cpp @@ -1,6 +1,6 @@ #include "stdafx.h" #include -#include "GlobalState.h" +#include "PFCoreGlobalState.h" #include "ServiceConfig.h" #include "ApiHelpers.h" @@ -12,7 +12,7 @@ PF_API PFServiceConfigCreateHandle( _Out_ PFServiceConfigHandle* serviceConfigHandle ) noexcept { - return ApiImpl(XASYNC_IDENTITY(PFServiceConfigCreateHandle), [&](GlobalState& state) + return ApiImpl(XASYNC_IDENTITY(PFServiceConfigCreateHandle), [&](PFCoreGlobalState& state) { RETURN_HR_INVALIDARG_IF_NULL(apiEndpoint); RETURN_HR_INVALIDARG_IF_NULL(titleId); @@ -28,7 +28,7 @@ PF_API PFServiceConfigDuplicateHandle( PFServiceConfigHandle* duplicatedHandle ) noexcept { - return ApiImpl(XASYNC_IDENTITY(PFServiceConfigDuplicateHandle), [&](GlobalState& state) + return ApiImpl(XASYNC_IDENTITY(PFServiceConfigDuplicateHandle), [&](PFCoreGlobalState& state) { RETURN_HR_INVALIDARG_IF_NULL(duplicatedHandle); @@ -42,7 +42,7 @@ PF_API_(void) PFServiceConfigCloseHandle( PFServiceConfigHandle handle ) noexcept { - ApiImpl(XASYNC_IDENTITY(PFServiceConfigCloseHandle), [&](GlobalState& state) + ApiImpl(XASYNC_IDENTITY(PFServiceConfigCloseHandle), [&](PFCoreGlobalState& state) { state.ServiceConfigs().CloseHandle(handle); return S_OK; diff --git a/Source/PlayFabCore/Source/Api/PFTrace.cpp b/Source/PlayFabCore/Source/Api/PFTrace.cpp index ce4bdab..9886c4d 100644 --- a/Source/PlayFabCore/Source/Api/PFTrace.cpp +++ b/Source/PlayFabCore/Source/Api/PFTrace.cpp @@ -1,6 +1,6 @@ #include "stdafx.h" #include -#include "Common/GlobalState.h" +#include "Common/PFCoreGlobalState.h" #include "Trace/TraceState.h" using namespace PlayFab; @@ -9,8 +9,8 @@ PF_API PFTraceEnableTraceToFile( _In_z_ const char* traceFileDirectory ) noexcept { - SharedPtr state; - GlobalState::Get(state); + SharedPtr state; + PFCoreGlobalState::Get(state); RETURN_HR_IF(E_PF_CORE_ALREADY_INITIALIZED, state); auto& settings = GetTraceSettings(); diff --git a/Source/PlayFabCore/Source/Authentication/CombinedLoginResult.cpp b/Source/PlayFabCore/Source/Authentication/CombinedLoginResult.cpp index b8b3538..0ea7d31 100644 --- a/Source/PlayFabCore/Source/Authentication/CombinedLoginResult.cpp +++ b/Source/PlayFabCore/Source/Authentication/CombinedLoginResult.cpp @@ -1,6 +1,6 @@ #include "stdafx.h" #include "CombinedLoginResult.h" -#include "GlobalState.h" +#include "PFCoreGlobalState.h" #include "JsonUtils.h" namespace PlayFab @@ -8,19 +8,19 @@ namespace PlayFab namespace Authentication { -CombinedLoginResult::CombinedLoginResult(SharedPtr globalState) noexcept - : m_globalState{ std::move(globalState) } +CombinedLoginResult::CombinedLoginResult(SharedPtr PFCoreGlobalState) noexcept + : m_PFCoreGlobalState{ std::move(PFCoreGlobalState) } { } Result CombinedLoginResult::FromJson( const JsonValue& loginResponse, - SharedPtr globalState, + SharedPtr PFCoreGlobalState, SharedPtr serviceConfig, SharedPtr loginContext ) noexcept { - CombinedLoginResult result{ std::move(globalState) }; + CombinedLoginResult result{ std::move(PFCoreGlobalState) }; RETURN_IF_FAILED(result.loginResult.FromJson(loginResponse)); @@ -30,10 +30,10 @@ Result CombinedLoginResult::FromJson( auto makeEntityResult = Entity::Make( std::move(entityToken), std::move(serviceConfig), - result.m_globalState->RunContext().Derive(), + result.m_PFCoreGlobalState->RunContext().Derive(), std::move(loginContext), - result.m_globalState->TokenExpiredHandler(), - result.m_globalState->TokenRefreshedHandler() + result.m_PFCoreGlobalState->TokenExpiredHandler(), + result.m_PFCoreGlobalState->TokenRefreshedHandler() ); RETURN_IF_FAILED(makeEntityResult.hr); @@ -57,14 +57,14 @@ Result CombinedLoginResult::Copy(ModelBuffer& buff auto output = allocResult.ExtractPayload(); // Create PFEntityHandle for entity - RETURN_IF_FAILED(m_globalState->Entities().MakeHandle(entity, output->entityHandle)); + RETURN_IF_FAILED(m_PFCoreGlobalState->Entities().MakeHandle(entity, output->entityHandle)); // Copy LoginResult auto propCopyResult = buffer.CopyTo(&loginResult.Model()); RETURN_IF_FAILED(propCopyResult.hr); output->loginResult = propCopyResult.ExtractPayload(); - return output; + return std::move(output); } Result ServerCombinedLoginResult::FromJson( @@ -105,7 +105,7 @@ Result ServerCombinedLoginResult::Copy(Model RETURN_IF_FAILED(entityTokenCopyResult.hr); output->entityTokenResponse = entityTokenCopyResult.ExtractPayload(); - return output; + return std::move(output); } } // namespace Authentication diff --git a/Source/PlayFabCore/Source/Authentication/CombinedLoginResult.h b/Source/PlayFabCore/Source/Authentication/CombinedLoginResult.h index b31f71b..771ba38 100644 --- a/Source/PlayFabCore/Source/Authentication/CombinedLoginResult.h +++ b/Source/PlayFabCore/Source/Authentication/CombinedLoginResult.h @@ -2,7 +2,7 @@ #include "Generated/AuthenticationTypes.h" #include "Entity.h" -#include "GlobalState.h" +#include "PFCoreGlobalState.h" namespace PlayFab { @@ -18,13 +18,13 @@ struct PFCombinedLoginResult }; // Internal combined LoginResult. Contains both the Entity object and the (trimmed) LoginResult model. -// Holds reference to GlobalState to create Entity object and handles to it. +// Holds reference to PFCoreGlobalState to create Entity object and handles to it. class CombinedLoginResult : public ClientOutputModel { public: static Result FromJson( const JsonValue& loginResponse, - SharedPtr globalState, + SharedPtr PFCoreGlobalState, SharedPtr serviceConfig, SharedPtr loginContext ) noexcept; @@ -45,10 +45,10 @@ class CombinedLoginResult : public ClientOutputModel Result Copy(ModelBuffer& buffer) const override; private: - CombinedLoginResult(SharedPtr globalState) noexcept; + CombinedLoginResult(SharedPtr PFCoreGlobalState) noexcept; // Need global state to Copy, as that creates a PFEntityHandle for 'entity' - SharedPtr const m_globalState; + SharedPtr const m_PFCoreGlobalState; }; // Struct to hold public server result types. Although the entityToken and loginResult are returned via separate parameters diff --git a/Source/PlayFabCore/Source/Authentication/GDK/Authentication_GDK.cpp b/Source/PlayFabCore/Source/Authentication/GDK/Authentication_GDK.cpp index 83f2080..8308e00 100644 --- a/Source/PlayFabCore/Source/Authentication/GDK/Authentication_GDK.cpp +++ b/Source/PlayFabCore/Source/Authentication/GDK/Authentication_GDK.cpp @@ -1,6 +1,6 @@ #include "stdafx.h" #include "Generated/Authentication.h" -#include "GlobalState.h" +#include "PFCoreGlobalState.h" #include "JsonUtils.h" #include "GDK/PlatformUser_GDK.h" @@ -52,7 +52,7 @@ AsyncOp XUserLoginContext::GetRequestBody(RunContext runContext) cons } AsyncOp AuthenticationAPI::LoginWithXUser( - SharedPtr state, + SharedPtr state, SharedPtr serviceConfig, const LoginWithXUserRequest& request, RunContext rc diff --git a/Source/PlayFabCore/Source/Authentication/GetEntityAsyncProvider.h b/Source/PlayFabCore/Source/Authentication/GetEntityAsyncProvider.h index bcf5b3c..fc81189 100644 --- a/Source/PlayFabCore/Source/Authentication/GetEntityAsyncProvider.h +++ b/Source/PlayFabCore/Source/Authentication/GetEntityAsyncProvider.h @@ -1,13 +1,13 @@ #pragma once #include -#include "GlobalState.h" +#include "PFCoreGlobalState.h" namespace PlayFab { // XAsyncProvider for PlayFab GetEntity API calls. This provider wraps an internal call which returns a SharedPtr rather than a ClientOutputModel. -// It holds a referece to the GlobalState so that it has access to the EntityTable and can create and provide a PFEntityHandle to the title in GetResult. +// It holds a referece to the PFCoreGlobalState so that it has access to the EntityTable and can create and provide a PFEntityHandle to the title in GetResult. template class GetEntityAsyncProvider : public XAsyncProviderBase { @@ -15,7 +15,7 @@ class GetEntityAsyncProvider : public XAsyncProviderBase static_assert(std::is_same_v, typename Detail::UnwrapAsyncT>>, "CallT must return an Entity"); template - GetEntityAsyncProvider(RunContext&& runContext, XAsyncBlock* async, const char(&identityName)[n], CallT authCall, SharedPtr state) + GetEntityAsyncProvider(RunContext&& runContext, XAsyncBlock* async, const char(&identityName)[n], CallT authCall, SharedPtr state) : XAsyncProviderBase{ std::move(runContext), async, identityName }, m_call{ authCall }, m_state{ std::move(state) } @@ -53,12 +53,12 @@ class GetEntityAsyncProvider : public XAsyncProviderBase private: CallT m_call; - SharedPtr m_state; + SharedPtr m_state; SharedPtr m_result; }; template -UniquePtr> MakeGetEntityProvider(RunContext&& runContext, XAsyncBlock* async, const char(&identityName)[n], CallT authCall, SharedPtr state) +UniquePtr> MakeGetEntityProvider(RunContext&& runContext, XAsyncBlock* async, const char(&identityName)[n], CallT authCall, SharedPtr state) { return MakeUnique>(std::move(runContext), async, identityName, std::move(authCall), std::move(state)); } diff --git a/Source/PlayFabCore/Source/Common/ApiHelpers.h b/Source/PlayFabCore/Source/Common/ApiHelpers.h index 7bc91b9..a3c8d1e 100644 --- a/Source/PlayFabCore/Source/Common/ApiHelpers.h +++ b/Source/PlayFabCore/Source/Common/ApiHelpers.h @@ -1,7 +1,7 @@ #pragma once #include "Error.h" -#include "GlobalState.h" +#include "PFCoreGlobalState.h" namespace PlayFab { @@ -15,8 +15,8 @@ inline HRESULT ApiImpl(const char* apiIdentity, TWork&& work) noexcept { try { - SharedPtr state; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); return work(*state); } @@ -32,8 +32,8 @@ inline HRESULT AsyncApiImpl(XAsyncBlock* async, const char* apiIdentity, TWork&& { try { - SharedPtr state; - HRESULT hr = GlobalState::Get(state); + SharedPtr state; + HRESULT hr = PFCoreGlobalState::Get(state); if (FAILED(hr)) { return Detail::CompleteAsyncWithError(async, apiIdentity, hr); @@ -53,8 +53,8 @@ inline HRESULT ServiceConfigApiImpl(const char* apiIdentity, PFServiceConfigHand { try { - SharedPtr state; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr serviceConfig; RETURN_IF_FAILED(state->ServiceConfigs().FromHandle(serviceConfigHandle, serviceConfig)); @@ -73,8 +73,8 @@ inline HRESULT EntityApiImpl(const char* apiIdentity, PFEntityHandle entityHandl { try { - SharedPtr state; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr entity; RETURN_IF_FAILED(state->Entities().FromHandle(entityHandle, entity)); @@ -93,8 +93,8 @@ inline HRESULT EntityAsyncApiImpl(XAsyncBlock* async, const char* apiIdentity, P { try { - SharedPtr state; - HRESULT hr = GlobalState::Get(state); + SharedPtr state; + HRESULT hr = PFCoreGlobalState::Get(state); if (FAILED(hr)) { return Detail::CompleteAsyncWithError(async, apiIdentity, hr); diff --git a/Source/PlayFabCore/Source/Common/Entity.cpp b/Source/PlayFabCore/Source/Common/Entity.cpp index 8439700..82f330b 100644 --- a/Source/PlayFabCore/Source/Common/Entity.cpp +++ b/Source/PlayFabCore/Source/Common/Entity.cpp @@ -70,13 +70,13 @@ uint32_t TokenRefreshWorker::s_interval = 1000 * 60 * 30; // 30 Minutes bool TokenRefreshWorker::s_debugForceExpireToken = false; #endif -#if _DEBUG -extern "C" __declspec(dllexport) void PFDebugSetTokenRefreshDebugState(bool expireToken) +#if _DEBUG +extern "C" PF_API_ATTRIBUTES void PFDebugSetTokenRefreshDebugState(bool expireToken) { TokenRefreshWorker::SetDebugForceExpireToken(expireToken); } -extern "C" __declspec(dllexport) void PFDebugSetSetInterval(uint32_t interval) +extern "C" PF_API_ATTRIBUTES void PFDebugSetSetInterval(uint32_t interval) { TokenRefreshWorker::SetInterval(interval); } diff --git a/Source/PlayFabCore/Source/Common/EntityToken.cpp b/Source/PlayFabCore/Source/Common/EntityToken.cpp index ce58d1f..8cdfb36 100644 --- a/Source/PlayFabCore/Source/Common/EntityToken.cpp +++ b/Source/PlayFabCore/Source/Common/EntityToken.cpp @@ -89,7 +89,7 @@ Result EntityToken::Copy(ModelBuffer& buffer) const { outputPtr->expiration = this->expiration; } - return outputPtr; + return std::move(outputPtr); } } diff --git a/Source/PlayFabCore/Source/Common/HttpClient.cpp b/Source/PlayFabCore/Source/Common/HttpClient.cpp index 280b007..cb23d59 100644 --- a/Source/PlayFabCore/Source/Common/HttpClient.cpp +++ b/Source/PlayFabCore/Source/Common/HttpClient.cpp @@ -24,6 +24,30 @@ String HttpClient::GetUrl(const char* path) const // Add sdk version param (used by service for telemetry) fullUrl << "?sdk=" << versionString << sdkVersion; + fullUrl << "&platform="; + + // Add Platform param (used by service for telemetry) +#if HC_PLATFORM == HC_PLATFORM_WIN32 + fullUrl << win32Plat; +#elif HC_PLATFORM == HC_PLATFORM_GDK + fullUrl << gdkPlat; +#elif HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 + fullUrl << ps4Plat; +#elif HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 + fullUrl << ps5Plat; +#elif HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH + fullUrl << nintendoPlat; +#elif HC_PLATFORM == HC_PLATFORM_LINUX + fullUrl << linuxPlat; +#elif HC_PLATFORM == HC_PLATFORM_IOS + fullUrl << iosPlat; +#elif HC_PLATFORM == HC_PLATFORM_ANDROID + fullUrl << androidPlat; +#endif + + // Add Build Origin param (used by service for telemetry) + fullUrl << "&origin=" << buildOrigin; + return fullUrl.str(); } diff --git a/Source/PlayFabCore/Source/Common/HttpClient.h b/Source/PlayFabCore/Source/Common/HttpClient.h index 236b327..7632165 100644 --- a/Source/PlayFabCore/Source/Common/HttpClient.h +++ b/Source/PlayFabCore/Source/Common/HttpClient.h @@ -2,7 +2,6 @@ #include #include -#include #include #include "Generated/CacheId.h" diff --git a/Source/PlayFabCore/Source/Common/GlobalState.cpp b/Source/PlayFabCore/Source/Common/PFCoreGlobalState.cpp similarity index 65% rename from Source/PlayFabCore/Source/Common/GlobalState.cpp rename to Source/PlayFabCore/Source/Common/PFCoreGlobalState.cpp index 239f8bb..1226962 100644 --- a/Source/PlayFabCore/Source/Common/GlobalState.cpp +++ b/Source/PlayFabCore/Source/Common/PFCoreGlobalState.cpp @@ -1,5 +1,5 @@ #include "stdafx.h" -#include "GlobalState.h" +#include "PFCoreGlobalState.h" #include "Platform/Platform.h" #include "Trace/TraceState.h" #include @@ -26,15 +26,15 @@ enum class AccessMode Cleanup }; -HRESULT AccessGlobalState(AccessMode mode, SharedPtr& state) +HRESULT AccessPFCoreGlobalState(AccessMode mode, SharedPtr& state) { - struct GlobalStateHolder + struct PFCoreGlobalStateHolder { - SharedPtr const state; + SharedPtr const state; }; - static std::atomic s_globalStateHolder{ nullptr }; // intentional non-owning pointer - assert(s_globalStateHolder.is_lock_free()); + static std::atomic s_PFCoreGlobalStateHolder{ nullptr }; // intentional non-owning pointer + assert(s_PFCoreGlobalStateHolder.is_lock_free()); try { @@ -45,10 +45,10 @@ HRESULT AccessGlobalState(AccessMode mode, SharedPtr& state) { RETURN_HR_INVALIDARG_IF_NULL(state); - UniquePtr stateHolder{ new (Allocator{}.allocate(1)) GlobalStateHolder{ state } }; + UniquePtr stateHolder{ new (Allocator{}.allocate(1)) PFCoreGlobalStateHolder{ state } }; - GlobalStateHolder* expected{ nullptr }; - if (!s_globalStateHolder.compare_exchange_strong(expected, stateHolder.get())) + PFCoreGlobalStateHolder* expected{ nullptr }; + if (!s_PFCoreGlobalStateHolder.compare_exchange_strong(expected, stateHolder.get())) { return E_PF_CORE_ALREADY_INITIALIZED; } @@ -59,7 +59,7 @@ HRESULT AccessGlobalState(AccessMode mode, SharedPtr& state) } case AccessMode::Get: { - GlobalStateHolder* stateHolder = s_globalStateHolder.load(); + PFCoreGlobalStateHolder* stateHolder = s_PFCoreGlobalStateHolder.load(); RETURN_HR_IF(E_PF_CORE_NOT_INITIALIZED, !stateHolder); assert(stateHolder->state); @@ -69,7 +69,7 @@ HRESULT AccessGlobalState(AccessMode mode, SharedPtr& state) } case AccessMode::Cleanup: { - UniquePtr stateHolder{ s_globalStateHolder.exchange(nullptr) }; + UniquePtr stateHolder{ s_PFCoreGlobalStateHolder.exchange(nullptr) }; RETURN_HR_IF(E_PF_CORE_NOT_INITIALIZED, !stateHolder); state = stateHolder->state; @@ -90,62 +90,63 @@ HRESULT AccessGlobalState(AccessMode mode, SharedPtr& state) } -GlobalState::GlobalState(XTaskQueueHandle backgroundQueue) noexcept : +PFCoreGlobalState::PFCoreGlobalState(XTaskQueueHandle backgroundQueue) noexcept : m_runContext{ RunContext::Root(backgroundQueue) }, m_serviceConfigs{ Detail::kFirstServiceConfigHandle }, m_entities{ Detail::kFirstEntityHandle }, m_clientEventPipelines{ Detail::kFirstEventPipelineHandle }, m_httpRetrySettings{ MakeShared() } { - TRACE_VERBOSE("PlayFabCore::GlobalState::GlobalState"); + TRACE_VERBOSE("PlayFabCore::PFCoreGlobalState::PFCoreGlobalState"); m_httpRetrySettings->allowRetry = kDefaultHttpRetryAllowed; m_httpRetrySettings->minimumRetryDelayInSeconds = kDefaultHttpRetryDelay; m_httpRetrySettings->timeoutWindowInSeconds = kDefaultHttpTimeoutWindow; } -GlobalState::~GlobalState() noexcept +PFCoreGlobalState::~PFCoreGlobalState() noexcept { - TRACE_VERBOSE("PlayFabCore::GlobalState::~GlobalState"); + TRACE_VERBOSE("PlayFabCore::PFCoreGlobalState::~PFCoreGlobalState"); } -HRESULT GlobalState::Create(XTaskQueueHandle backgroundQueue, HCInitArgs* args) noexcept +HRESULT PFCoreGlobalState::Create(XTaskQueueHandle backgroundQueue, HCInitArgs* args) noexcept { // Initialize any platform hooks. This happens first because these hooks may be used after this point RETURN_IF_FAILED(PlatformInitialize()); // Next set up tracing so that we can trace as much of initialization as possible. // LocalStorage not needed anywhere else currently so create an instance just for TraceState. If - // it is needed elsewhere, there should be a single shared instance hanging off of GlobalState + // it is needed elsewhere, there should be a single shared instance hanging off of PFCoreGlobalState RETURN_IF_FAILED(TraceState::Create(RunContext::Root(backgroundQueue), LocalStorage())); RETURN_IF_FAILED(HCInitialize(args)); - Allocator a{}; - SharedPtr state = SharedPtr{ new (a.allocate(1)) GlobalState{ backgroundQueue }, Deleter(), a }; - return AccessGlobalState(AccessMode::Initialize, state); + Allocator a{}; + SharedPtr state = SharedPtr{ new (a.allocate(1)) PFCoreGlobalState{ backgroundQueue }, Deleter(), a }; + return AccessPFCoreGlobalState(AccessMode::Initialize, state); } -HRESULT GlobalState::Get(SharedPtr& state) noexcept +HRESULT PFCoreGlobalState::Get(SharedPtr& state) noexcept { - return AccessGlobalState(AccessMode::Get, state); + return AccessPFCoreGlobalState(AccessMode::Get, state); } struct CleanupContext { - SharedPtr state; + SharedPtr state; XAsyncBlock lhcCleanupAsyncBlock{}; XAsyncBlock traceStateCleanupAsyncBlock{}; XAsyncBlock* clientAsyncBlock{}; }; -HRESULT GlobalState::CleanupAsync(XAsyncBlock* async) noexcept +HRESULT PFCoreGlobalState::CleanupAsync(XAsyncBlock* async) noexcept { try { - TRACE_VERBOSE("PlayFabCore::GlobalState::CleanupAsync"); + TRACE_VERBOSE("PlayFabCore::PFCoreGlobalState::CleanupAsync"); - UniquePtr context = MakeUnique(); + Allocator a{}; + UniquePtr context = UniquePtr(new (a.allocate(1)) CleanupContext{}); RETURN_IF_FAILED(XAsyncBegin(async, context.get(), __FUNCTION__, __FUNCTION__, CleanupAsyncProvider)); context.release(); return S_OK; @@ -156,18 +157,18 @@ HRESULT GlobalState::CleanupAsync(XAsyncBlock* async) noexcept } } -HRESULT CALLBACK GlobalState::CleanupAsyncProvider(XAsyncOp op, XAsyncProviderData const* data) +HRESULT CALLBACK PFCoreGlobalState::CleanupAsyncProvider(XAsyncOp op, XAsyncProviderData const* data) { CleanupContext* context{ static_cast(data->context) }; - + switch (op) { case XAsyncOp::Begin: try { - TRACE_VERBOSE("PlayFabCore::GlobalState::CleanupAsyncProvider::Begin"); + TRACE_VERBOSE("PlayFabCore::PFCoreGlobalState::CleanupAsyncProvider::Begin"); - RETURN_IF_FAILED(AccessGlobalState(AccessMode::Cleanup, context->state)); + RETURN_IF_FAILED(AccessPFCoreGlobalState(AccessMode::Cleanup, context->state)); context->clientAsyncBlock = data->async; context->state->m_runContext.Terminate(*context->state, context); @@ -195,7 +196,7 @@ void CALLBACK TraceStateCleanupComplete(XAsyncBlock* async) // Free CleanupContext context.reset(); - // GlobalState::Cleanup complete! + // PFCoreGlobalState::Cleanup complete! XAsyncComplete(asyncBlock, hr, 0); } @@ -220,7 +221,7 @@ void CALLBACK HCCleanupComplete(XAsyncBlock* async) // Free CleanupContext context.reset(); - // Complete GlobalState::Cleanup with failure + // Complete PFCoreGlobalState::Cleanup with failure XAsyncComplete(asyncBlock, hr, 0); return; @@ -238,7 +239,7 @@ void CALLBACK HCCleanupComplete(XAsyncBlock* async) // Free CleanupContext context.reset(); - // Complete GlobalState::Cleanup with failure + // Complete PFCoreGlobalState::Cleanup with failure XAsyncComplete(asyncBlock, hr, 0); return; @@ -247,14 +248,14 @@ void CALLBACK HCCleanupComplete(XAsyncBlock* async) context.release(); } -void GlobalState::OnTerminated(void* c) noexcept +void PFCoreGlobalState::OnTerminated(void* c) noexcept { TRACE_VERBOSE(__FUNCTION__); UniquePtr context{ static_cast(c) }; XAsyncBlock* asyncBlock{ context->clientAsyncBlock }; // Keep copy of asyncBlock pointer to complete after cleaning up context - // Free GlobalState before calling HCCleanup - 'this' will be destroyed here + // Free PFCoreGlobalState before calling HCCleanup - 'this' will be destroyed here context->state.reset(); context->lhcCleanupAsyncBlock.callback = HCCleanupComplete; @@ -269,7 +270,7 @@ void GlobalState::OnTerminated(void* c) noexcept // Free CleanupContext context.reset(); - // Complete GlobalState::Cleanup with failure + // Complete PFCoreGlobalState::Cleanup with failure XAsyncComplete(asyncBlock, hr, 0); return; @@ -278,37 +279,37 @@ void GlobalState::OnTerminated(void* c) noexcept context.release(); } -RunContext GlobalState::RunContext() const noexcept +RunContext PFCoreGlobalState::RunContext() const noexcept { return m_runContext; } -ServiceConfigHandleTable& GlobalState::ServiceConfigs() noexcept +ServiceConfigHandleTable& PFCoreGlobalState::ServiceConfigs() noexcept { return m_serviceConfigs; } -EntityHandleTable& GlobalState::Entities() noexcept +EntityHandleTable& PFCoreGlobalState::Entities() noexcept { return m_entities; } -EventPipelineHandleTable& GlobalState::ClientEventPipelines() noexcept +EventPipelineHandleTable& PFCoreGlobalState::ClientEventPipelines() noexcept { return m_clientEventPipelines; } -TokenExpiredHandler GlobalState::TokenExpiredHandler() const noexcept +TokenExpiredHandler PFCoreGlobalState::TokenExpiredHandler() const noexcept { return m_tokenExpiredHandler; } -TokenRefreshedHandler GlobalState::TokenRefreshedHandler() const noexcept +TokenRefreshedHandler PFCoreGlobalState::TokenRefreshedHandler() const noexcept { return m_tokenRefreshedHandler; } -SharedPtr GlobalState::HttpRetrySettings() const noexcept +SharedPtr PFCoreGlobalState::HttpRetrySettings() const noexcept { return m_httpRetrySettings; } diff --git a/Source/PlayFabCore/Source/Common/GlobalState.h b/Source/PlayFabCore/Source/Common/PFCoreGlobalState.h similarity index 84% rename from Source/PlayFabCore/Source/Common/GlobalState.h rename to Source/PlayFabCore/Source/Common/PFCoreGlobalState.h index ef224a0..6a89aee 100644 --- a/Source/PlayFabCore/Source/Common/GlobalState.h +++ b/Source/PlayFabCore/Source/Common/PFCoreGlobalState.h @@ -16,14 +16,14 @@ using ServiceConfigHandleTable = HandleTable; using EventPipelineHandleTable = HandleTable; -// GlobalState singleton -class GlobalState : public ITerminationListener +// PFCoreGlobalState singleton +class PFCoreGlobalState : public ITerminationListener { public: - ~GlobalState() noexcept; + ~PFCoreGlobalState() noexcept; static HRESULT Create(XTaskQueueHandle backgroundQueue, HCInitArgs* args) noexcept; - static HRESULT Get(SharedPtr& state) noexcept; + static HRESULT Get(SharedPtr& state) noexcept; static HRESULT CleanupAsync(XAsyncBlock* async) noexcept; RunContext RunContext() const noexcept; @@ -35,7 +35,7 @@ class GlobalState : public ITerminationListener SharedPtr HttpRetrySettings() const noexcept; private: - GlobalState(XTaskQueueHandle backgroundQueue) noexcept; + PFCoreGlobalState(XTaskQueueHandle backgroundQueue) noexcept; void OnTerminated(void* context) noexcept override; static HRESULT CALLBACK CleanupAsyncProvider(XAsyncOp op, XAsyncProviderData const* data); @@ -48,7 +48,7 @@ class GlobalState : public ITerminationListener PlayFab::TokenRefreshedHandler m_tokenRefreshedHandler; SharedPtr m_httpRetrySettings; - friend struct GlobalStateBootstrapper; + friend struct PFCoreGlobalStateBootstrapper; }; } diff --git a/Source/PlayFabCore/Source/EventPipeline/EventPipeline.cpp b/Source/PlayFabCore/Source/EventPipeline/EventPipeline.cpp index bc2fce6..fbf61a7 100644 --- a/Source/PlayFabCore/Source/EventPipeline/EventPipeline.cpp +++ b/Source/PlayFabCore/Source/EventPipeline/EventPipeline.cpp @@ -76,18 +76,24 @@ WriteEventsResponse::WriteEventsResponse(ServiceResponse&& serviceResponse) : class EventBuffer { public: - EventBuffer() = default; + EventBuffer(size_t bufferSize); EventBuffer(EventBuffer const&) = delete; EventBuffer& operator=(EventBuffer const&) = delete; ~EventBuffer() = default; - HRESULT Push(Event&& event) noexcept; - HRESULT Push(Vector&& events) noexcept; + HRESULT PushBack(Event&& event) noexcept; + HRESULT PushBack(Vector&& events) noexcept; + HRESULT PushFront(Event&& event) noexcept; + HRESULT PushFront(Vector&& events) noexcept; bool PopFront(Event& eventContents) noexcept; + void SetConfiguration(PFEventPipelineConfig eventPipelineConfig); private: std::mutex m_mutex; - Queue m_queue; + std::mutex m_configMutex; + Deque m_deque; + size_t m_bufferSize; + }; class EventUploader : public ITaskQueueWork, public std::enable_shared_from_this @@ -102,6 +108,7 @@ class EventUploader : public ITaskQueueWork, public std::enable_shared_from_this uint32_t maxWaitTimeInSeconds, uint32_t pollDelayInMs, PFHCCompressionLevel compressionLevel, + bool retryOnDisconnect, EventPipelineEventHandlers eventHandlers ); @@ -115,13 +122,15 @@ class EventUploader : public ITaskQueueWork, public std::enable_shared_from_this uint32_t maxWaitTimeInSeconds, uint32_t pollDelayInMs, PFHCCompressionLevel compressionLevel, + bool retryOnDisconnect, EventPipelineEventHandlers eventHandlers ); void Start(); void Stop(); void SetUploadingEntity(SharedPtr entity); - void SetConfiguration(PFEventPipelineConfig eventPipelineConfig); + void SetConfiguration(PFEventPipelineConfig eventPipelineConfig); + void ExponentialBackoff(uint32_t retryCount); PFEventPipelineType EventPipelineType() { return m_eventPipelineType; } PlayFab::String TelemetryKey() { return m_telemetryKey; } SharedPtr ServiceConfig() { return m_serviceConfig; } @@ -146,6 +155,8 @@ class EventUploader : public ITaskQueueWork, public std::enable_shared_from_this uint32_t m_maxWaitTimeInSeconds; uint32_t m_pollDelayInMs; PFHCCompressionLevel m_compressionLevel; + bool m_retryOnDisconnect; + uint32_t m_retryCount = 0; EventPipelineEventHandlers const m_eventHandlers; Vector m_pendingPayload; SharedPtr>> m_retryPayloads; @@ -185,12 +196,14 @@ EventPipeline::EventPipeline( uint32_t maxWaitTimeInSeconds, uint32_t pollDelayInMs, PFHCCompressionLevel compressionLevel, + bool retryOnDisconnect, + size_t bufferSize, PFEventPipelineBatchUploadSucceededEventHandler* batchUploadedEventHandler, PFEventPipelineBatchUploadFailedEventHandler* batchFailedEventHandler, void* handlerContext ) noexcept : - m_buffer{ MakeShared() }, - m_uploader{ MakeShared(rc.Derive(), uploadingEntity, eventPipelineType, m_buffer, maxEventsPerBatch, maxWaitTimeInSeconds, pollDelayInMs, compressionLevel, m_eventHandlers)} + m_buffer{ MakeShared(bufferSize) }, + m_uploader{ MakeShared(rc.Derive(), uploadingEntity, eventPipelineType, m_buffer, maxEventsPerBatch, maxWaitTimeInSeconds, pollDelayInMs, compressionLevel, retryOnDisconnect, m_eventHandlers)} { Initialize(rc, batchUploadedEventHandler, batchFailedEventHandler, handlerContext); } @@ -204,12 +217,14 @@ EventPipeline::EventPipeline( uint32_t maxWaitTimeInSeconds, uint32_t pollDelayInMs, PFHCCompressionLevel compressionLevel, + bool retryOnDisconnect, + size_t bufferSize, PFEventPipelineBatchUploadSucceededEventHandler* batchUploadedEventHandler, PFEventPipelineBatchUploadFailedEventHandler* batchFailedEventHandler, void* handlerContext ) noexcept : - m_buffer{ MakeShared() }, - m_uploader{ MakeShared(rc.Derive(), serviceConfig, telemetryKey, eventPipelineType, m_buffer, maxEventsPerBatch, maxWaitTimeInSeconds, pollDelayInMs, compressionLevel, m_eventHandlers) } + m_buffer{ MakeShared(bufferSize) }, + m_uploader{ MakeShared(rc.Derive(), serviceConfig, telemetryKey, eventPipelineType, m_buffer, maxEventsPerBatch, maxWaitTimeInSeconds, pollDelayInMs, compressionLevel, retryOnDisconnect, m_eventHandlers) } { Initialize(rc, batchUploadedEventHandler, batchFailedEventHandler, handlerContext); } @@ -231,7 +246,7 @@ EventPipeline::~EventPipeline() // Should we do client side payload validation? HRESULT EventPipeline::EmitEvent(Event&& event) noexcept { - return m_buffer->Push(std::move(event)); + return m_buffer->PushBack(std::move(event)); } HRESULT EventPipeline::AddUploadingEntity(SharedPtr uploadingEntity) noexcept @@ -257,15 +272,53 @@ HRESULT EventPipeline::RemoveUploadingEntity() noexcept HRESULT EventPipeline::UpdateConfiguration(PFEventPipelineConfig eventPipelineConfig) noexcept { m_uploader->SetConfiguration(eventPipelineConfig); + m_buffer->SetConfiguration(eventPipelineConfig); + + return S_OK; +} + +EventBuffer::EventBuffer(size_t bufferSize) : m_bufferSize{bufferSize} {} + +HRESULT EventBuffer::PushBack(Event&& event) noexcept +{ + RETURN_HR_INVALIDARG_IF_NULL(event.Model().eventNamespace); + RETURN_HR_INVALIDARG_IF_NULL(event.Model().name); + RETURN_HR_INVALIDARG_IF_NULL(event.Model().payloadJson); + RETURN_HR_IF(E_PF_CORE_EVENT_PIPELINE_BUFFER_FULL, m_deque.size() >= m_bufferSize); + + // If the client didn't provide an eventId, use a default based on a counter. ID will not be unique accross multiple sessions and/or clients, + // but the service will assign a unique ID upon upload. + static std::atomic s_eventId{ 0 }; + + if (!event.Model().clientId || strlen(event.Model().clientId) == 0) + { + Stringstream eventIdStream; + eventIdStream << "PlayFabCoreSDK_Event" << ++s_eventId; + event.SetClientId(eventIdStream.str()); + } + + std::lock_guard lock{ m_mutex }; + m_deque.push_back(std::move(event)); + + return S_OK; +} + +HRESULT EventBuffer::PushBack(Vector&& events) noexcept +{ + for (size_t i = 0; i < events.size(); i++) + { + PushBack(std::move(events[i])); + } return S_OK; } -HRESULT EventBuffer::Push(Event&& event) noexcept +HRESULT EventBuffer::PushFront(Event&& event) noexcept { RETURN_HR_INVALIDARG_IF_NULL(event.Model().eventNamespace); RETURN_HR_INVALIDARG_IF_NULL(event.Model().name); RETURN_HR_INVALIDARG_IF_NULL(event.Model().payloadJson); + // We will not drop events retried after network failure even if buffer is over limit size // If the client didn't provide an eventId, use a default based on a counter. ID will not be unique accross multiple sessions and/or clients, // but the service will assign a unique ID upon upload. @@ -279,16 +332,16 @@ HRESULT EventBuffer::Push(Event&& event) noexcept } std::lock_guard lock{ m_mutex }; - m_queue.push(std::move(event)); + m_deque.push_front(std::move(event)); return S_OK; } -HRESULT EventBuffer::Push(Vector&& events) noexcept +HRESULT EventBuffer::PushFront(Vector&& events) noexcept { for (size_t i = 0; i < events.size(); i++) { - Push(std::move(events[i])); + PushFront(std::move(events[i])); } return S_OK; @@ -297,13 +350,13 @@ HRESULT EventBuffer::Push(Vector&& events) noexcept bool EventBuffer::PopFront(Event& event) noexcept { std::lock_guard lock{ m_mutex }; - if (m_queue.empty()) + if (m_deque.empty()) { return false; } - std::swap(event, m_queue.front()); - m_queue.pop(); + std::swap(event, m_deque.front()); + m_deque.pop_front(); return true; } @@ -316,6 +369,7 @@ EventUploader::EventUploader( uint32_t maxWaitTimeInSeconds, uint32_t pollDelayInMs, PFHCCompressionLevel compressionLevel, + bool retryOnDisconnect, EventPipelineEventHandlers eventHandlers ) : m_rc{ std::move(rc) }, @@ -326,6 +380,7 @@ EventUploader::EventUploader( m_maxWaitTimeInSeconds{ maxWaitTimeInSeconds }, m_pollDelayInMs{ pollDelayInMs }, m_compressionLevel{ compressionLevel }, + m_retryOnDisconnect{ retryOnDisconnect }, m_eventHandlers{ std::move(eventHandlers) }, m_retryPayloads{ MakeShared>>() } { @@ -341,6 +396,7 @@ EventUploader::EventUploader( uint32_t maxWaitTimeInSeconds, uint32_t pollDelayInMs, PFHCCompressionLevel compressionLevel, + bool retryOnDisconnect, EventPipelineEventHandlers eventHandlers ) : m_rc{ std::move(rc) }, @@ -352,6 +408,7 @@ EventUploader::EventUploader( m_maxWaitTimeInSeconds{ maxWaitTimeInSeconds }, m_pollDelayInMs{ pollDelayInMs }, m_compressionLevel{ compressionLevel }, + m_retryOnDisconnect{ retryOnDisconnect }, m_eventHandlers{ std::move(eventHandlers) }, m_retryPayloads{ MakeShared>>() } { @@ -378,6 +435,13 @@ void EventUploader::SetUploadingEntity(SharedPtr entity) m_entity = entity; } +void EventBuffer::SetConfiguration(PFEventPipelineConfig eventPipelineConfig) +{ + std::unique_lock lock{ m_configMutex }; + + m_bufferSize = !eventPipelineConfig.bufferSize ? PFEventPipelineBufferSizeDefault : *eventPipelineConfig.bufferSize; +} + void EventUploader::SetConfiguration(PFEventPipelineConfig eventPipelineConfig) { std::unique_lock lock{ m_configMutex }; @@ -393,6 +457,7 @@ void EventUploader::SetConfiguration(PFEventPipelineConfig eventPipelineConfig) m_maxEventsPerBatch = !eventPipelineConfig.maxEventsPerBatch ? PFTelemetryEventPipelineMaxEventsPerBatchDefault : *eventPipelineConfig.maxEventsPerBatch; m_maxWaitTimeInSeconds = !eventPipelineConfig.maxWaitTimeInSeconds ? PFTelemetryEventPipelineMaxWaitTimeInSecondsDefault : *eventPipelineConfig.maxWaitTimeInSeconds; m_pollDelayInMs = !eventPipelineConfig.pollDelayInMs ? PFTelemetryEventPipelinePollDelayInMsDefault : *eventPipelineConfig.pollDelayInMs; + m_retryOnDisconnect = !eventPipelineConfig.retryOnDisconnect ? PFTelemetryEventPipelineRetryOnDisconnectDefault : *eventPipelineConfig.retryOnDisconnect; } m_compressionLevel = !eventPipelineConfig.compressionLevel ? PFHCCompressionLevel::None : *eventPipelineConfig.compressionLevel; @@ -436,6 +501,7 @@ AsyncOp EventUploader::WriteEvents( return requestOp.Then([](Result result) -> Result { + RETURN_IF_FAILED(result.hr); auto serviceResponse = result.ExtractPayload(); return WriteEventsResponse{ std::move(serviceResponse) }; } @@ -453,7 +519,8 @@ AsyncOp EventUploader::WriteEvents( ); return requestOp.Then([](Result result) -> Result - { + { + RETURN_IF_FAILED(result.hr); auto serviceResponse = result.ExtractPayload(); return WriteEventsResponse{ std::move(serviceResponse) }; } @@ -472,95 +539,105 @@ AsyncOp EventUploader::WriteEvents( void EventUploader::ProcessResponse(Result result, Vector payload, EventPipelineEventHandlers eventHandlers, bool isRetry) { - WriteEventsResponse response = result.ExtractPayload(); - - if (response.HttpCode() < 200 || response.HttpCode() >= 300) + if (FAILED(result.hr) && m_retryOnDisconnect) { - if (response.HttpCode() >= 400 && response.HttpCode() < 500) // Client-side error + // We assume network failure and if retries are enabled, we count the retries to delay the normal periodic schedule and add the events back to the buffer + m_retryCount++; + m_buffer->PushFront(std::move(payload)); + } + else + { + WriteEventsResponse response = result.ExtractPayload(); + m_retryCount = 0; // reset network failure delay + + if (response.HttpCode() < 200 || response.HttpCode() >= 300) { - if (response.ServiceErrorCode() == ServiceErrorCode::TelemetryKeyInvalid || response.ServiceErrorCode() == ServiceErrorCode::TelemetryKeyDeactivated) + if (response.HttpCode() >= 400 && response.HttpCode() < 500) // Client-side error { - if (response.ServiceErrorCode() == ServiceErrorCode::TelemetryKeyInvalid) + if (response.ServiceErrorCode() == ServiceErrorCode::TelemetryKeyInvalid || response.ServiceErrorCode() == ServiceErrorCode::TelemetryKeyDeactivated) { - if (!m_telemetryKeyInvalid) + if (response.ServiceErrorCode() == ServiceErrorCode::TelemetryKeyInvalid) { - m_telemetryKeyInvalid = true; - TRACE_ERROR("EventPipeline EventUploader failed, Telemetry Key is invalid (hr=0x%08x)", result.hr); + if (!m_telemetryKeyInvalid) + { + m_telemetryKeyInvalid = true; + TRACE_ERROR("EventPipeline EventUploader failed, Telemetry Key is invalid (hr=0x%08x)", result.hr); + } } - } - else - { - if (!m_telemetryKeyDeactivated) + else { - m_telemetryKeyDeactivated = true; - TRACE_ERROR("EventPipeline EventUploader failed, Telemetry Key is deactivated (hr=0x%08x)", result.hr); + if (!m_telemetryKeyDeactivated) + { + m_telemetryKeyDeactivated = true; + TRACE_ERROR("EventPipeline EventUploader failed, Telemetry Key is deactivated (hr=0x%08x)", result.hr); + } } } - } - else if (response.ServiceErrorCode() == ServiceErrorCode::InvalidParams) // If Invalid Params, we can identify failed events, so strip out failed events from payload and do a retry with the remaining - { - if (!isRetry) + else if (response.ServiceErrorCode() == ServiceErrorCode::InvalidParams) // If Invalid Params, we can identify failed events, so strip out failed events from payload and do a retry with the remaining { - Vector failedEventIndexes = response.FailedEventIndexes(); - Vector failedEvents, retryEvents; - - for (size_t i = 0; i < payload.size(); i++) + if (!isRetry) { - if (std::find(failedEventIndexes.begin(), failedEventIndexes.end(), static_cast(i)) != failedEventIndexes.end()) + Vector failedEventIndexes = response.FailedEventIndexes(); + Vector failedEvents, retryEvents; + + for (size_t i = 0; i < payload.size(); i++) { - failedEvents.push_back(std::move(payload[i])); + if (std::find(failedEventIndexes.begin(), failedEventIndexes.end(), static_cast(i)) != failedEventIndexes.end()) + { + failedEvents.push_back(std::move(payload[i])); + } + else + { + retryEvents.push_back(std::move(payload[i])); + } } - else + + if (!retryEvents.empty() && retryEvents.size() < payload.size()) { - retryEvents.push_back(std::move(payload[i])); + m_retryPayloads->push(std::move(retryEvents)); } - } - if (!retryEvents.empty() && retryEvents.size() < payload.size()) - { - m_retryPayloads->push(std::move(retryEvents)); + payload = std::move(failedEvents); } - - payload = std::move(failedEvents); } - } - - const char* eventsApi = m_eventPipelineType == PFEventPipelineType::PlayStream ? "WriteEvents" : "WriteTelemetryEvents"; - TRACE_ERROR("EventPipeline EventUploader %s failed, invoking event handler. (hr=0x%08x)", eventsApi, result.hr); - eventHandlers.InvokeBatchFailed(response.TranslatedHResult(), response.ErrorMessage(), FailedBatch{ std::move(payload) }); - } - else // Server-side error - { - if (isRetry) // If this is a retry, return the whole batch back to the failure handler - { const char* eventsApi = m_eventPipelineType == PFEventPipelineType::PlayStream ? "WriteEvents" : "WriteTelemetryEvents"; TRACE_ERROR("EventPipeline EventUploader %s failed, invoking event handler. (hr=0x%08x)", eventsApi, result.hr); eventHandlers.InvokeBatchFailed(response.TranslatedHResult(), response.ErrorMessage(), FailedBatch{ std::move(payload) }); } - else // Insert into list of retry payloads + else // Server-side error { - m_retryPayloads->push(std::move(payload)); + if (isRetry) // If this is a retry, return the whole batch back to the failure handler + { + const char* eventsApi = m_eventPipelineType == PFEventPipelineType::PlayStream ? "WriteEvents" : "WriteTelemetryEvents"; + TRACE_ERROR("EventPipeline EventUploader %s failed, invoking event handler. (hr=0x%08x)", eventsApi, result.hr); + + eventHandlers.InvokeBatchFailed(response.TranslatedHResult(), response.ErrorMessage(), FailedBatch{ std::move(payload) }); + } + else // Insert into list of retry payloads + { + m_retryPayloads->push(std::move(payload)); + } } } - } - else if (response.ResultModel().Model().assignedEventIdsCount != payload.size()) - { - // The service only responds with service assignedEventIds and the mapping of clientIds to serviceIds is just based on the order of the ids in the request - // and response. We don't have a way to handle a case where the lists are different sizes, so we'll consider the entire batch failed. + else if (response.ResultModel().Model().assignedEventIdsCount != payload.size()) + { + // The service only responds with service assignedEventIds and the mapping of clientIds to serviceIds is just based on the order of the ids in the request + // and response. We don't have a way to handle a case where the lists are different sizes, so we'll consider the entire batch failed. - constexpr char s_mismatchedAssignedEventIdsError[]{ "EventPipeline EventUploader WriteEventsResponse contained mismatched number of AssignedEventIds." }; + constexpr char s_mismatchedAssignedEventIdsError[]{ "EventPipeline EventUploader WriteEventsResponse contained mismatched number of AssignedEventIds." }; - TRACE_ERROR("%s, invoking event handler", s_mismatchedAssignedEventIdsError); - eventHandlers.InvokeBatchFailed(E_FAIL, s_mismatchedAssignedEventIdsError, FailedBatch{ std::move(payload) }); - } - else - { - // WriteEvents Succeeded - auto& model = response.ResultModel().Model(); - Vector assignedEventIds{ model.assignedEventIds, model.assignedEventIds + model.assignedEventIdsCount }; - eventHandlers.InvokeBatchSucceeded(UploadedBatch{ std::move(payload), std::move(assignedEventIds) }); + TRACE_ERROR("%s, invoking event handler", s_mismatchedAssignedEventIdsError); + eventHandlers.InvokeBatchFailed(E_FAIL, s_mismatchedAssignedEventIdsError, FailedBatch{ std::move(payload) }); + } + else + { + // WriteEvents Succeeded + auto& model = response.ResultModel().Model(); + Vector assignedEventIds{ model.assignedEventIds, model.assignedEventIds + model.assignedEventIdsCount }; + eventHandlers.InvokeBatchSucceeded(UploadedBatch{ std::move(payload), std::move(assignedEventIds) }); + } } } @@ -641,9 +718,9 @@ void EventUploader::Run() noexcept // Keep track of eventIds of the batch for use in callbacks Vector payload{ std::move(m_pendingPayload) }; assert(m_pendingPayload.empty()); - - WriteEvents(std::move(payload), m_rc.Derive()).Finally([payload, sharedThis = shared_from_this(), eventHandlers = m_eventHandlers](Result result) mutable - { + auto payloadCopy = payload; + WriteEvents(std::move(payload), m_rc.Derive()).Finally([payload = std::move(payloadCopy), sharedThis = shared_from_this(), eventHandlers = m_eventHandlers](Result result) mutable + { sharedThis->ProcessResponse(std::move(result), std::move(payload), eventHandlers, false); } ); @@ -655,10 +732,10 @@ void EventUploader::Run() noexcept // Using a polling model to check EventBuffer again after we've emptied it. This is the same algorithm used by XPlatCpp Event Pipeline. // Only schedule next poll if the EventUploader has not been cancelled. If it has been cancelled, 'this' may be destroyed here. + // If a network failure has been detected, a backoff exponential delay will be added to the scheduling if (!cancelled) { - m_rc.TaskQueueSubmitWork(shared_from_this(), m_pollDelayInMs); + m_rc.TaskQueueSubmitWork(shared_from_this(), m_pollDelayInMs + (m_retryCount*m_retryCount*1000) ); } } - } diff --git a/Source/PlayFabCore/Source/EventPipeline/EventPipeline.h b/Source/PlayFabCore/Source/EventPipeline/EventPipeline.h index bcd892a..99e5291 100644 --- a/Source/PlayFabCore/Source/EventPipeline/EventPipeline.h +++ b/Source/PlayFabCore/Source/EventPipeline/EventPipeline.h @@ -18,6 +18,8 @@ class EventPipeline uint32_t maxWaitTimeInSeconds, uint32_t pollDelayInMs, PFHCCompressionLevel compressionLevel, + bool retryOnDisconnect, + size_t bufferSize, PFEventPipelineBatchUploadSucceededEventHandler* batchUploadedEventHandler, PFEventPipelineBatchUploadFailedEventHandler* batchFailedEventHandler, void* handlerContext @@ -32,6 +34,8 @@ class EventPipeline uint32_t maxWaitTimeInSeconds, uint32_t pollDelayInMs, PFHCCompressionLevel compressionLevel, + bool retryOnDisconnect, + size_t bufferSize, PFEventPipelineBatchUploadSucceededEventHandler* batchUploadedEventHandler, PFEventPipelineBatchUploadFailedEventHandler* batchFailedEventHandler, void* handlerContext diff --git a/Source/PlayFabCore/Source/Generated/Authentication.cpp b/Source/PlayFabCore/Source/Generated/Authentication.cpp index e51af37..83c31a6 100644 --- a/Source/PlayFabCore/Source/Generated/Authentication.cpp +++ b/Source/PlayFabCore/Source/Generated/Authentication.cpp @@ -1,6 +1,6 @@ #include "stdafx.h" #include "Authentication.h" -#include "GlobalState.h" +#include "PFCoreGlobalState.h" #include "JsonUtils.h" namespace PlayFab @@ -10,7 +10,7 @@ namespace Authentication AsyncOp AuthenticationAPI::LoginWithAndroidDeviceID( - SharedPtr state, + SharedPtr state, SharedPtr serviceConfig, const LoginWithAndroidDeviceIDRequest& request, RunContext rc @@ -87,7 +87,7 @@ AsyncOp AuthenticationAPI::ReLoginWithAndroidDeviceID( } AsyncOp AuthenticationAPI::LoginWithApple( - SharedPtr state, + SharedPtr state, SharedPtr serviceConfig, const LoginWithAppleRequest& request, RunContext rc @@ -164,7 +164,7 @@ AsyncOp AuthenticationAPI::ReLoginWithApple( } AsyncOp AuthenticationAPI::LoginWithCustomID( - SharedPtr state, + SharedPtr state, SharedPtr serviceConfig, const LoginWithCustomIDRequest& request, RunContext rc @@ -241,7 +241,7 @@ AsyncOp AuthenticationAPI::ReLoginWithCustomID( } AsyncOp AuthenticationAPI::LoginWithEmailAddress( - SharedPtr state, + SharedPtr state, SharedPtr serviceConfig, const LoginWithEmailAddressRequest& request, RunContext rc @@ -318,7 +318,7 @@ AsyncOp AuthenticationAPI::ReLoginWithEmailAddress( } AsyncOp AuthenticationAPI::LoginWithFacebook( - SharedPtr state, + SharedPtr state, SharedPtr serviceConfig, const LoginWithFacebookRequest& request, RunContext rc @@ -395,7 +395,7 @@ AsyncOp AuthenticationAPI::ReLoginWithFacebook( } AsyncOp AuthenticationAPI::LoginWithFacebookInstantGamesId( - SharedPtr state, + SharedPtr state, SharedPtr serviceConfig, const LoginWithFacebookInstantGamesIdRequest& request, RunContext rc @@ -472,7 +472,7 @@ AsyncOp AuthenticationAPI::ReLoginWithFacebookInstantGamesId( } AsyncOp AuthenticationAPI::LoginWithGameCenter( - SharedPtr state, + SharedPtr state, SharedPtr serviceConfig, const LoginWithGameCenterRequest& request, RunContext rc @@ -549,7 +549,7 @@ AsyncOp AuthenticationAPI::ReLoginWithGameCenter( } AsyncOp AuthenticationAPI::LoginWithGoogleAccount( - SharedPtr state, + SharedPtr state, SharedPtr serviceConfig, const LoginWithGoogleAccountRequest& request, RunContext rc @@ -626,7 +626,7 @@ AsyncOp AuthenticationAPI::ReLoginWithGoogleAccount( } AsyncOp AuthenticationAPI::LoginWithGooglePlayGamesServices( - SharedPtr state, + SharedPtr state, SharedPtr serviceConfig, const LoginWithGooglePlayGamesServicesRequest& request, RunContext rc @@ -703,7 +703,7 @@ AsyncOp AuthenticationAPI::ReLoginWithGooglePlayGamesServices( } AsyncOp AuthenticationAPI::LoginWithIOSDeviceID( - SharedPtr state, + SharedPtr state, SharedPtr serviceConfig, const LoginWithIOSDeviceIDRequest& request, RunContext rc @@ -780,7 +780,7 @@ AsyncOp AuthenticationAPI::ReLoginWithIOSDeviceID( } AsyncOp AuthenticationAPI::LoginWithKongregate( - SharedPtr state, + SharedPtr state, SharedPtr serviceConfig, const LoginWithKongregateRequest& request, RunContext rc @@ -857,7 +857,7 @@ AsyncOp AuthenticationAPI::ReLoginWithKongregate( } AsyncOp AuthenticationAPI::LoginWithNintendoServiceAccount( - SharedPtr state, + SharedPtr state, SharedPtr serviceConfig, const LoginWithNintendoServiceAccountRequest& request, RunContext rc @@ -934,7 +934,7 @@ AsyncOp AuthenticationAPI::ReLoginWithNintendoServiceAccount( } AsyncOp AuthenticationAPI::LoginWithNintendoSwitchDeviceId( - SharedPtr state, + SharedPtr state, SharedPtr serviceConfig, const LoginWithNintendoSwitchDeviceIdRequest& request, RunContext rc @@ -1011,7 +1011,7 @@ AsyncOp AuthenticationAPI::ReLoginWithNintendoSwitchDeviceId( } AsyncOp AuthenticationAPI::LoginWithOpenIdConnect( - SharedPtr state, + SharedPtr state, SharedPtr serviceConfig, const LoginWithOpenIdConnectRequest& request, RunContext rc @@ -1088,7 +1088,7 @@ AsyncOp AuthenticationAPI::ReLoginWithOpenIdConnect( } AsyncOp AuthenticationAPI::LoginWithPlayFab( - SharedPtr state, + SharedPtr state, SharedPtr serviceConfig, const LoginWithPlayFabRequest& request, RunContext rc @@ -1165,7 +1165,7 @@ AsyncOp AuthenticationAPI::ReLoginWithPlayFab( } AsyncOp AuthenticationAPI::LoginWithPSN( - SharedPtr state, + SharedPtr state, SharedPtr serviceConfig, const LoginWithPSNRequest& request, RunContext rc @@ -1242,7 +1242,7 @@ AsyncOp AuthenticationAPI::ReLoginWithPSN( } AsyncOp AuthenticationAPI::LoginWithSteam( - SharedPtr state, + SharedPtr state, SharedPtr serviceConfig, const LoginWithSteamRequest& request, RunContext rc @@ -1319,7 +1319,7 @@ AsyncOp AuthenticationAPI::ReLoginWithSteam( } AsyncOp AuthenticationAPI::LoginWithTwitch( - SharedPtr state, + SharedPtr state, SharedPtr serviceConfig, const LoginWithTwitchRequest& request, RunContext rc @@ -1396,7 +1396,7 @@ AsyncOp AuthenticationAPI::ReLoginWithTwitch( } AsyncOp AuthenticationAPI::LoginWithXbox( - SharedPtr state, + SharedPtr state, SharedPtr serviceConfig, const LoginWithXboxRequest& request, RunContext rc @@ -1509,7 +1509,7 @@ AsyncOp AuthenticationAPI::RegisterPlayFabUser( } AsyncOp AuthenticationAPI::ServerLoginWithServerCustomId( - SharedPtr state, + SharedPtr state, SharedPtr serviceConfig, String&& secretKey, const LoginWithServerCustomIdRequest& request, @@ -1548,7 +1548,7 @@ AsyncOp AuthenticationAPI::ServerLoginWithServerCusto } AsyncOp AuthenticationAPI::ServerLoginWithSteamId( - SharedPtr state, + SharedPtr state, SharedPtr serviceConfig, String&& secretKey, const LoginWithSteamIdRequest& request, @@ -1587,7 +1587,7 @@ AsyncOp AuthenticationAPI::ServerLoginWithSteamId( } AsyncOp AuthenticationAPI::ServerLoginWithXbox( - SharedPtr state, + SharedPtr state, SharedPtr serviceConfig, String&& secretKey, const ServerLoginWithXboxRequest& request, @@ -1626,7 +1626,7 @@ AsyncOp AuthenticationAPI::ServerLoginWithXbox( } AsyncOp AuthenticationAPI::ServerLoginWithXboxId( - SharedPtr state, + SharedPtr state, SharedPtr serviceConfig, String&& secretKey, const LoginWithXboxIdRequest& request, @@ -1737,7 +1737,7 @@ AsyncOp AuthenticationAPI::Delete( } AsyncOp> AuthenticationAPI::GetEntity( - SharedPtr state, + SharedPtr state, SharedPtr entity, const GetEntityRequest& request, RunContext rc @@ -1774,7 +1774,7 @@ AsyncOp> AuthenticationAPI::GetEntity( } AsyncOp> AuthenticationAPI::GetEntityWithSecretKey( - SharedPtr state, + SharedPtr state, SharedPtr serviceConfig, String&& secretKey, const GetEntityRequest& request, diff --git a/Source/PlayFabCore/Source/Generated/Authentication.h b/Source/PlayFabCore/Source/Generated/Authentication.h index a90a2a9..a6e7f4c 100644 --- a/Source/PlayFabCore/Source/Generated/Authentication.h +++ b/Source/PlayFabCore/Source/Generated/Authentication.h @@ -2,7 +2,7 @@ #include "AuthenticationTypes.h" #include "Common/Entity.h" -#include "Common/GlobalState.h" +#include "Common/PFCoreGlobalState.h" #include "Authentication/CombinedLoginResult.h" namespace PlayFab @@ -19,59 +19,59 @@ class AuthenticationAPI ~AuthenticationAPI() = default; // ------------ Generated API calls - static AsyncOp LoginWithAndroidDeviceID(SharedPtr state, SharedPtr config, const LoginWithAndroidDeviceIDRequest& request, RunContext rc); + static AsyncOp LoginWithAndroidDeviceID(SharedPtr state, SharedPtr config, const LoginWithAndroidDeviceIDRequest& request, RunContext rc); static AsyncOp ReLoginWithAndroidDeviceID(SharedPtr entity, const LoginWithAndroidDeviceIDRequest& request, RunContext rc); - static AsyncOp LoginWithApple(SharedPtr state, SharedPtr config, const LoginWithAppleRequest& request, RunContext rc); + static AsyncOp LoginWithApple(SharedPtr state, SharedPtr config, const LoginWithAppleRequest& request, RunContext rc); static AsyncOp ReLoginWithApple(SharedPtr entity, const LoginWithAppleRequest& request, RunContext rc); - static AsyncOp LoginWithCustomID(SharedPtr state, SharedPtr config, const LoginWithCustomIDRequest& request, RunContext rc); + static AsyncOp LoginWithCustomID(SharedPtr state, SharedPtr config, const LoginWithCustomIDRequest& request, RunContext rc); static AsyncOp ReLoginWithCustomID(SharedPtr entity, const LoginWithCustomIDRequest& request, RunContext rc); - static AsyncOp LoginWithEmailAddress(SharedPtr state, SharedPtr config, const LoginWithEmailAddressRequest& request, RunContext rc); + static AsyncOp LoginWithEmailAddress(SharedPtr state, SharedPtr config, const LoginWithEmailAddressRequest& request, RunContext rc); static AsyncOp ReLoginWithEmailAddress(SharedPtr entity, const LoginWithEmailAddressRequest& request, RunContext rc); - static AsyncOp LoginWithFacebook(SharedPtr state, SharedPtr config, const LoginWithFacebookRequest& request, RunContext rc); + static AsyncOp LoginWithFacebook(SharedPtr state, SharedPtr config, const LoginWithFacebookRequest& request, RunContext rc); static AsyncOp ReLoginWithFacebook(SharedPtr entity, const LoginWithFacebookRequest& request, RunContext rc); - static AsyncOp LoginWithFacebookInstantGamesId(SharedPtr state, SharedPtr config, const LoginWithFacebookInstantGamesIdRequest& request, RunContext rc); + static AsyncOp LoginWithFacebookInstantGamesId(SharedPtr state, SharedPtr config, const LoginWithFacebookInstantGamesIdRequest& request, RunContext rc); static AsyncOp ReLoginWithFacebookInstantGamesId(SharedPtr entity, const LoginWithFacebookInstantGamesIdRequest& request, RunContext rc); - static AsyncOp LoginWithGameCenter(SharedPtr state, SharedPtr config, const LoginWithGameCenterRequest& request, RunContext rc); + static AsyncOp LoginWithGameCenter(SharedPtr state, SharedPtr config, const LoginWithGameCenterRequest& request, RunContext rc); static AsyncOp ReLoginWithGameCenter(SharedPtr entity, const LoginWithGameCenterRequest& request, RunContext rc); - static AsyncOp LoginWithGoogleAccount(SharedPtr state, SharedPtr config, const LoginWithGoogleAccountRequest& request, RunContext rc); + static AsyncOp LoginWithGoogleAccount(SharedPtr state, SharedPtr config, const LoginWithGoogleAccountRequest& request, RunContext rc); static AsyncOp ReLoginWithGoogleAccount(SharedPtr entity, const LoginWithGoogleAccountRequest& request, RunContext rc); - static AsyncOp LoginWithGooglePlayGamesServices(SharedPtr state, SharedPtr config, const LoginWithGooglePlayGamesServicesRequest& request, RunContext rc); + static AsyncOp LoginWithGooglePlayGamesServices(SharedPtr state, SharedPtr config, const LoginWithGooglePlayGamesServicesRequest& request, RunContext rc); static AsyncOp ReLoginWithGooglePlayGamesServices(SharedPtr entity, const LoginWithGooglePlayGamesServicesRequest& request, RunContext rc); - static AsyncOp LoginWithIOSDeviceID(SharedPtr state, SharedPtr config, const LoginWithIOSDeviceIDRequest& request, RunContext rc); + static AsyncOp LoginWithIOSDeviceID(SharedPtr state, SharedPtr config, const LoginWithIOSDeviceIDRequest& request, RunContext rc); static AsyncOp ReLoginWithIOSDeviceID(SharedPtr entity, const LoginWithIOSDeviceIDRequest& request, RunContext rc); - static AsyncOp LoginWithKongregate(SharedPtr state, SharedPtr config, const LoginWithKongregateRequest& request, RunContext rc); + static AsyncOp LoginWithKongregate(SharedPtr state, SharedPtr config, const LoginWithKongregateRequest& request, RunContext rc); static AsyncOp ReLoginWithKongregate(SharedPtr entity, const LoginWithKongregateRequest& request, RunContext rc); - static AsyncOp LoginWithNintendoServiceAccount(SharedPtr state, SharedPtr config, const LoginWithNintendoServiceAccountRequest& request, RunContext rc); + static AsyncOp LoginWithNintendoServiceAccount(SharedPtr state, SharedPtr config, const LoginWithNintendoServiceAccountRequest& request, RunContext rc); static AsyncOp ReLoginWithNintendoServiceAccount(SharedPtr entity, const LoginWithNintendoServiceAccountRequest& request, RunContext rc); - static AsyncOp LoginWithNintendoSwitchDeviceId(SharedPtr state, SharedPtr config, const LoginWithNintendoSwitchDeviceIdRequest& request, RunContext rc); + static AsyncOp LoginWithNintendoSwitchDeviceId(SharedPtr state, SharedPtr config, const LoginWithNintendoSwitchDeviceIdRequest& request, RunContext rc); static AsyncOp ReLoginWithNintendoSwitchDeviceId(SharedPtr entity, const LoginWithNintendoSwitchDeviceIdRequest& request, RunContext rc); - static AsyncOp LoginWithOpenIdConnect(SharedPtr state, SharedPtr config, const LoginWithOpenIdConnectRequest& request, RunContext rc); + static AsyncOp LoginWithOpenIdConnect(SharedPtr state, SharedPtr config, const LoginWithOpenIdConnectRequest& request, RunContext rc); static AsyncOp ReLoginWithOpenIdConnect(SharedPtr entity, const LoginWithOpenIdConnectRequest& request, RunContext rc); - static AsyncOp LoginWithPlayFab(SharedPtr state, SharedPtr config, const LoginWithPlayFabRequest& request, RunContext rc); + static AsyncOp LoginWithPlayFab(SharedPtr state, SharedPtr config, const LoginWithPlayFabRequest& request, RunContext rc); static AsyncOp ReLoginWithPlayFab(SharedPtr entity, const LoginWithPlayFabRequest& request, RunContext rc); - static AsyncOp LoginWithPSN(SharedPtr state, SharedPtr config, const LoginWithPSNRequest& request, RunContext rc); + static AsyncOp LoginWithPSN(SharedPtr state, SharedPtr config, const LoginWithPSNRequest& request, RunContext rc); static AsyncOp ReLoginWithPSN(SharedPtr entity, const LoginWithPSNRequest& request, RunContext rc); - static AsyncOp LoginWithSteam(SharedPtr state, SharedPtr config, const LoginWithSteamRequest& request, RunContext rc); + static AsyncOp LoginWithSteam(SharedPtr state, SharedPtr config, const LoginWithSteamRequest& request, RunContext rc); static AsyncOp ReLoginWithSteam(SharedPtr entity, const LoginWithSteamRequest& request, RunContext rc); - static AsyncOp LoginWithTwitch(SharedPtr state, SharedPtr config, const LoginWithTwitchRequest& request, RunContext rc); + static AsyncOp LoginWithTwitch(SharedPtr state, SharedPtr config, const LoginWithTwitchRequest& request, RunContext rc); static AsyncOp ReLoginWithTwitch(SharedPtr entity, const LoginWithTwitchRequest& request, RunContext rc); - static AsyncOp LoginWithXbox(SharedPtr state, SharedPtr config, const LoginWithXboxRequest& request, RunContext rc); + static AsyncOp LoginWithXbox(SharedPtr state, SharedPtr config, const LoginWithXboxRequest& request, RunContext rc); static AsyncOp ReLoginWithXbox(SharedPtr entity, const LoginWithXboxRequest& request, RunContext rc); #if HC_PLATFORM == HC_PLATFORM_GDK - static AsyncOp LoginWithXUser(SharedPtr state, SharedPtr config, const LoginWithXUserRequest& request, RunContext rc); + static AsyncOp LoginWithXUser(SharedPtr state, SharedPtr config, const LoginWithXUserRequest& request, RunContext rc); static AsyncOp ReLoginWithXUser(SharedPtr entity, const LoginWithXUserRequest& request, RunContext rc); #endif static AsyncOp RegisterPlayFabUser(SharedPtr config, const RegisterPlayFabUserRequest& request, RunContext rc); - static AsyncOp ServerLoginWithServerCustomId(SharedPtr state, SharedPtr config, String&& secretKey, const LoginWithServerCustomIdRequest& request, RunContext rc); - static AsyncOp ServerLoginWithSteamId(SharedPtr state, SharedPtr config, String&& secretKey, const LoginWithSteamIdRequest& request, RunContext rc); - static AsyncOp ServerLoginWithXbox(SharedPtr state, SharedPtr config, String&& secretKey, const ServerLoginWithXboxRequest& request, RunContext rc); - static AsyncOp ServerLoginWithXboxId(SharedPtr state, SharedPtr config, String&& secretKey, const LoginWithXboxIdRequest& request, RunContext rc); + static AsyncOp ServerLoginWithServerCustomId(SharedPtr state, SharedPtr config, String&& secretKey, const LoginWithServerCustomIdRequest& request, RunContext rc); + static AsyncOp ServerLoginWithSteamId(SharedPtr state, SharedPtr config, String&& secretKey, const LoginWithSteamIdRequest& request, RunContext rc); + static AsyncOp ServerLoginWithXbox(SharedPtr state, SharedPtr config, String&& secretKey, const ServerLoginWithXboxRequest& request, RunContext rc); + static AsyncOp ServerLoginWithXboxId(SharedPtr state, SharedPtr config, String&& secretKey, const LoginWithXboxIdRequest& request, RunContext rc); #if HC_PLATFORM != HC_PLATFORM_GDK static AsyncOp AuthenticateGameServerWithCustomId(SharedPtr entity, const AuthenticateCustomIdRequest& request, RunContext rc); #endif static AsyncOp Delete(SharedPtr entity, const DeleteRequest& request, RunContext rc); - static AsyncOp> GetEntity(SharedPtr state, SharedPtr entity, const GetEntityRequest& request, RunContext rc); - static AsyncOp> GetEntityWithSecretKey(SharedPtr state, SharedPtr config, String&& secretKey, const GetEntityRequest& request, RunContext rc); + static AsyncOp> GetEntity(SharedPtr state, SharedPtr entity, const GetEntityRequest& request, RunContext rc); + static AsyncOp> GetEntityWithSecretKey(SharedPtr state, SharedPtr config, String&& secretKey, const GetEntityRequest& request, RunContext rc); static AsyncOp ValidateEntityToken(SharedPtr entity, const ValidateEntityTokenRequest& request, RunContext rc); }; diff --git a/Source/PlayFabCore/Source/Generated/Events.cpp b/Source/PlayFabCore/Source/Generated/Events.cpp index 78e5eb3..02fa865 100644 --- a/Source/PlayFabCore/Source/Generated/Events.cpp +++ b/Source/PlayFabCore/Source/Generated/Events.cpp @@ -1,6 +1,6 @@ #include "stdafx.h" #include "Events.h" -#include "GlobalState.h" +#include "PFCoreGlobalState.h" namespace PlayFab { diff --git a/Source/PlayFabCore/Source/Generated/Events.h b/Source/PlayFabCore/Source/Generated/Events.h index 3ba31a0..122ba38 100644 --- a/Source/PlayFabCore/Source/Generated/Events.h +++ b/Source/PlayFabCore/Source/Generated/Events.h @@ -2,7 +2,7 @@ #include "EventsTypes.h" #include "Common/Entity.h" -#include "Common/GlobalState.h" +#include "Common/PFCoreGlobalState.h" namespace PlayFab { diff --git a/Source/PlayFabCore/Source/Generated/PFAuthentication.cpp b/Source/PlayFabCore/Source/Generated/PFAuthentication.cpp index a49e951..00da3df 100644 --- a/Source/PlayFabCore/Source/Generated/PFAuthentication.cpp +++ b/Source/PlayFabCore/Source/Generated/PFAuthentication.cpp @@ -77,8 +77,8 @@ PF_API PFAuthenticationLoginWithAndroidDeviceIDAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->ServiceConfigs().FromHandle(contextHandle, context)); @@ -121,8 +121,8 @@ PF_API PFAuthenticationReLoginWithAndroidDeviceIDAsync( RETURN_HR_INVALIDARG_IF_NULL(entityHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr entity; RETURN_IF_FAILED(state->Entities().FromHandle(entityHandle, entity)); @@ -132,7 +132,7 @@ PF_API PFAuthenticationReLoginWithAndroidDeviceIDAsync( } #endif -#if 0 +#if HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAuthenticationLoginWithAppleAsync( _In_ PFServiceConfigHandle contextHandle, _In_ const PFAuthenticationLoginWithAppleRequest* request, @@ -142,8 +142,8 @@ PF_API PFAuthenticationLoginWithAppleAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->ServiceConfigs().FromHandle(contextHandle, context)); @@ -186,8 +186,8 @@ PF_API PFAuthenticationReLoginWithAppleAsync( RETURN_HR_INVALIDARG_IF_NULL(entityHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr entity; RETURN_IF_FAILED(state->Entities().FromHandle(entityHandle, entity)); @@ -206,8 +206,8 @@ PF_API PFAuthenticationLoginWithCustomIDAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->ServiceConfigs().FromHandle(contextHandle, context)); @@ -250,8 +250,8 @@ PF_API PFAuthenticationReLoginWithCustomIDAsync( RETURN_HR_INVALIDARG_IF_NULL(entityHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr entity; RETURN_IF_FAILED(state->Entities().FromHandle(entityHandle, entity)); @@ -270,8 +270,8 @@ PF_API PFAuthenticationLoginWithEmailAddressAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->ServiceConfigs().FromHandle(contextHandle, context)); @@ -314,8 +314,8 @@ PF_API PFAuthenticationReLoginWithEmailAddressAsync( RETURN_HR_INVALIDARG_IF_NULL(entityHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr entity; RETURN_IF_FAILED(state->Entities().FromHandle(entityHandle, entity)); @@ -325,7 +325,7 @@ PF_API PFAuthenticationReLoginWithEmailAddressAsync( } #endif -#if 0 +#if HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_IOS PF_API PFAuthenticationLoginWithFacebookAsync( _In_ PFServiceConfigHandle contextHandle, _In_ const PFAuthenticationLoginWithFacebookRequest* request, @@ -335,8 +335,8 @@ PF_API PFAuthenticationLoginWithFacebookAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->ServiceConfigs().FromHandle(contextHandle, context)); @@ -379,8 +379,8 @@ PF_API PFAuthenticationReLoginWithFacebookAsync( RETURN_HR_INVALIDARG_IF_NULL(entityHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr entity; RETURN_IF_FAILED(state->Entities().FromHandle(entityHandle, entity)); @@ -400,8 +400,8 @@ PF_API PFAuthenticationLoginWithFacebookInstantGamesIdAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->ServiceConfigs().FromHandle(contextHandle, context)); @@ -444,8 +444,8 @@ PF_API PFAuthenticationReLoginWithFacebookInstantGamesIdAsync( RETURN_HR_INVALIDARG_IF_NULL(entityHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr entity; RETURN_IF_FAILED(state->Entities().FromHandle(entityHandle, entity)); @@ -455,7 +455,7 @@ PF_API PFAuthenticationReLoginWithFacebookInstantGamesIdAsync( } #endif -#if 0 +#if HC_PLATFORM == HC_PLATFORM_IOS PF_API PFAuthenticationLoginWithGameCenterAsync( _In_ PFServiceConfigHandle contextHandle, _In_ const PFAuthenticationLoginWithGameCenterRequest* request, @@ -465,8 +465,8 @@ PF_API PFAuthenticationLoginWithGameCenterAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->ServiceConfigs().FromHandle(contextHandle, context)); @@ -509,8 +509,8 @@ PF_API PFAuthenticationReLoginWithGameCenterAsync( RETURN_HR_INVALIDARG_IF_NULL(entityHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr entity; RETURN_IF_FAILED(state->Entities().FromHandle(entityHandle, entity)); @@ -520,7 +520,7 @@ PF_API PFAuthenticationReLoginWithGameCenterAsync( } #endif -#if 0 +#if HC_PLATFORM == HC_PLATFORM_ANDROID PF_API PFAuthenticationLoginWithGoogleAccountAsync( _In_ PFServiceConfigHandle contextHandle, _In_ const PFAuthenticationLoginWithGoogleAccountRequest* request, @@ -530,8 +530,8 @@ PF_API PFAuthenticationLoginWithGoogleAccountAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->ServiceConfigs().FromHandle(contextHandle, context)); @@ -574,8 +574,8 @@ PF_API PFAuthenticationReLoginWithGoogleAccountAsync( RETURN_HR_INVALIDARG_IF_NULL(entityHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr entity; RETURN_IF_FAILED(state->Entities().FromHandle(entityHandle, entity)); @@ -585,7 +585,7 @@ PF_API PFAuthenticationReLoginWithGoogleAccountAsync( } #endif -#if 0 +#if HC_PLATFORM == HC_PLATFORM_ANDROID PF_API PFAuthenticationLoginWithGooglePlayGamesServicesAsync( _In_ PFServiceConfigHandle contextHandle, _In_ const PFAuthenticationLoginWithGooglePlayGamesServicesRequest* request, @@ -595,8 +595,8 @@ PF_API PFAuthenticationLoginWithGooglePlayGamesServicesAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->ServiceConfigs().FromHandle(contextHandle, context)); @@ -639,8 +639,8 @@ PF_API PFAuthenticationReLoginWithGooglePlayGamesServicesAsync( RETURN_HR_INVALIDARG_IF_NULL(entityHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr entity; RETURN_IF_FAILED(state->Entities().FromHandle(entityHandle, entity)); @@ -660,8 +660,8 @@ PF_API PFAuthenticationLoginWithIOSDeviceIDAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->ServiceConfigs().FromHandle(contextHandle, context)); @@ -704,8 +704,8 @@ PF_API PFAuthenticationReLoginWithIOSDeviceIDAsync( RETURN_HR_INVALIDARG_IF_NULL(entityHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr entity; RETURN_IF_FAILED(state->Entities().FromHandle(entityHandle, entity)); @@ -725,8 +725,8 @@ PF_API PFAuthenticationLoginWithKongregateAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->ServiceConfigs().FromHandle(contextHandle, context)); @@ -769,8 +769,8 @@ PF_API PFAuthenticationReLoginWithKongregateAsync( RETURN_HR_INVALIDARG_IF_NULL(entityHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr entity; RETURN_IF_FAILED(state->Entities().FromHandle(entityHandle, entity)); @@ -790,8 +790,8 @@ PF_API PFAuthenticationLoginWithNintendoServiceAccountAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->ServiceConfigs().FromHandle(contextHandle, context)); @@ -834,8 +834,8 @@ PF_API PFAuthenticationReLoginWithNintendoServiceAccountAsync( RETURN_HR_INVALIDARG_IF_NULL(entityHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr entity; RETURN_IF_FAILED(state->Entities().FromHandle(entityHandle, entity)); @@ -855,8 +855,8 @@ PF_API PFAuthenticationLoginWithNintendoSwitchDeviceIdAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->ServiceConfigs().FromHandle(contextHandle, context)); @@ -899,8 +899,8 @@ PF_API PFAuthenticationReLoginWithNintendoSwitchDeviceIdAsync( RETURN_HR_INVALIDARG_IF_NULL(entityHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr entity; RETURN_IF_FAILED(state->Entities().FromHandle(entityHandle, entity)); @@ -919,8 +919,8 @@ PF_API PFAuthenticationLoginWithOpenIdConnectAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->ServiceConfigs().FromHandle(contextHandle, context)); @@ -963,8 +963,8 @@ PF_API PFAuthenticationReLoginWithOpenIdConnectAsync( RETURN_HR_INVALIDARG_IF_NULL(entityHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr entity; RETURN_IF_FAILED(state->Entities().FromHandle(entityHandle, entity)); @@ -983,8 +983,8 @@ PF_API PFAuthenticationLoginWithPlayFabAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->ServiceConfigs().FromHandle(contextHandle, context)); @@ -1027,8 +1027,8 @@ PF_API PFAuthenticationReLoginWithPlayFabAsync( RETURN_HR_INVALIDARG_IF_NULL(entityHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr entity; RETURN_IF_FAILED(state->Entities().FromHandle(entityHandle, entity)); @@ -1048,8 +1048,8 @@ PF_API PFAuthenticationLoginWithPSNAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->ServiceConfigs().FromHandle(contextHandle, context)); @@ -1092,8 +1092,8 @@ PF_API PFAuthenticationReLoginWithPSNAsync( RETURN_HR_INVALIDARG_IF_NULL(entityHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr entity; RETURN_IF_FAILED(state->Entities().FromHandle(entityHandle, entity)); @@ -1103,7 +1103,7 @@ PF_API PFAuthenticationReLoginWithPSNAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAuthenticationLoginWithSteamAsync( _In_ PFServiceConfigHandle contextHandle, _In_ const PFAuthenticationLoginWithSteamRequest* request, @@ -1113,8 +1113,8 @@ PF_API PFAuthenticationLoginWithSteamAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->ServiceConfigs().FromHandle(contextHandle, context)); @@ -1157,8 +1157,8 @@ PF_API PFAuthenticationReLoginWithSteamAsync( RETURN_HR_INVALIDARG_IF_NULL(entityHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr entity; RETURN_IF_FAILED(state->Entities().FromHandle(entityHandle, entity)); @@ -1178,8 +1178,8 @@ PF_API PFAuthenticationLoginWithTwitchAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->ServiceConfigs().FromHandle(contextHandle, context)); @@ -1222,8 +1222,8 @@ PF_API PFAuthenticationReLoginWithTwitchAsync( RETURN_HR_INVALIDARG_IF_NULL(entityHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr entity; RETURN_IF_FAILED(state->Entities().FromHandle(entityHandle, entity)); @@ -1233,7 +1233,7 @@ PF_API PFAuthenticationReLoginWithTwitchAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAuthenticationLoginWithXboxAsync( _In_ PFServiceConfigHandle contextHandle, _In_ const PFAuthenticationLoginWithXboxRequest* request, @@ -1243,8 +1243,8 @@ PF_API PFAuthenticationLoginWithXboxAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->ServiceConfigs().FromHandle(contextHandle, context)); @@ -1287,8 +1287,8 @@ PF_API PFAuthenticationReLoginWithXboxAsync( RETURN_HR_INVALIDARG_IF_NULL(entityHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr entity; RETURN_IF_FAILED(state->Entities().FromHandle(entityHandle, entity)); @@ -1308,8 +1308,8 @@ PF_API PFAuthenticationLoginWithXUserAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->ServiceConfigs().FromHandle(contextHandle, context)); @@ -1352,8 +1352,8 @@ PF_API PFAuthenticationReLoginWithXUserAsync( RETURN_HR_INVALIDARG_IF_NULL(entityHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr entity; RETURN_IF_FAILED(state->Entities().FromHandle(entityHandle, entity)); @@ -1373,8 +1373,8 @@ PF_API PFAuthenticationRegisterPlayFabUserAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->ServiceConfigs().FromHandle(contextHandle, context)); @@ -1413,7 +1413,7 @@ PF_API PFAuthenticationRegisterPlayFabUserGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAuthenticationServerLoginWithServerCustomIdAsync( _In_ PFServiceConfigHandle contextHandle, _In_z_ const char* secretKey, @@ -1424,8 +1424,8 @@ PF_API PFAuthenticationServerLoginWithServerCustomIdAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->ServiceConfigs().FromHandle(contextHandle, context)); @@ -1460,7 +1460,7 @@ PF_API PFAuthenticationServerLoginWithServerCustomIdGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAuthenticationServerLoginWithSteamIdAsync( _In_ PFServiceConfigHandle contextHandle, _In_z_ const char* secretKey, @@ -1471,8 +1471,8 @@ PF_API PFAuthenticationServerLoginWithSteamIdAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->ServiceConfigs().FromHandle(contextHandle, context)); @@ -1507,7 +1507,7 @@ PF_API PFAuthenticationServerLoginWithSteamIdGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAuthenticationServerLoginWithXboxAsync( _In_ PFServiceConfigHandle contextHandle, _In_z_ const char* secretKey, @@ -1518,8 +1518,8 @@ PF_API PFAuthenticationServerLoginWithXboxAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->ServiceConfigs().FromHandle(contextHandle, context)); @@ -1554,7 +1554,7 @@ PF_API PFAuthenticationServerLoginWithXboxGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAuthenticationServerLoginWithXboxIdAsync( _In_ PFServiceConfigHandle contextHandle, _In_z_ const char* secretKey, @@ -1565,8 +1565,8 @@ PF_API PFAuthenticationServerLoginWithXboxIdAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->ServiceConfigs().FromHandle(contextHandle, context)); @@ -1601,7 +1601,7 @@ PF_API PFAuthenticationServerLoginWithXboxIdGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAuthenticationAuthenticateGameServerWithCustomIdAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAuthenticationAuthenticateCustomIdRequest* request, @@ -1611,8 +1611,8 @@ PF_API PFAuthenticationAuthenticateGameServerWithCustomIdAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->Entities().FromHandle(contextHandle, context)); @@ -1651,7 +1651,7 @@ PF_API PFAuthenticationAuthenticateGameServerWithCustomIdGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAuthenticationDeleteAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAuthenticationDeleteRequest* request, @@ -1661,8 +1661,8 @@ PF_API PFAuthenticationDeleteAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->Entities().FromHandle(contextHandle, context)); @@ -1677,7 +1677,7 @@ PF_API PFAuthenticationDeleteAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAuthenticationGetEntityAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAuthenticationGetEntityRequest* request, @@ -1687,8 +1687,8 @@ PF_API PFAuthenticationGetEntityAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->Entities().FromHandle(contextHandle, context)); @@ -1712,7 +1712,7 @@ PF_API PFAuthenticationGetEntityGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAuthenticationGetEntityWithSecretKeyAsync( _In_ PFServiceConfigHandle contextHandle, _In_z_ const char* secretKey, @@ -1723,8 +1723,8 @@ PF_API PFAuthenticationGetEntityWithSecretKeyAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->ServiceConfigs().FromHandle(contextHandle, context)); @@ -1748,7 +1748,7 @@ PF_API PFAuthenticationGetEntityWithSecretKeyGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAuthenticationValidateEntityTokenAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAuthenticationValidateEntityTokenRequest* request, @@ -1758,8 +1758,8 @@ PF_API PFAuthenticationValidateEntityTokenAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->Entities().FromHandle(contextHandle, context)); diff --git a/Source/PlayFabCore/Source/Generated/PFEvents.cpp b/Source/PlayFabCore/Source/Generated/PFEvents.cpp index ac39fe4..89080e9 100644 --- a/Source/PlayFabCore/Source/Generated/PFEvents.cpp +++ b/Source/PlayFabCore/Source/Generated/PFEvents.cpp @@ -16,8 +16,8 @@ PF_API PFEventsWriteEventsAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->Entities().FromHandle(contextHandle, context)); @@ -64,8 +64,8 @@ PF_API PFEventsWriteTelemetryEventsAsync( RETURN_HR_INVALIDARG_IF_NULL(contextHandle); RETURN_HR_INVALIDARG_IF_NULL(request); - SharedPtr state{ nullptr }; - RETURN_IF_FAILED(GlobalState::Get(state)); + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(PFCoreGlobalState::Get(state)); SharedPtr context; RETURN_IF_FAILED(state->Entities().FromHandle(contextHandle, context)); diff --git a/Source/PlayFabCore/Source/HttpClient/LHCExport.def b/Source/PlayFabCore/Source/HttpClient/LHCExport.def deleted file mode 100644 index d50771c..0000000 --- a/Source/PlayFabCore/Source/HttpClient/LHCExport.def +++ /dev/null @@ -1,140 +0,0 @@ -LIBRARY PlayFabCore.Win32.dll -EXPORTS - HCMemSetFunctions - HCMemGetFunctions - HCInitialize - HCIsInitialized - HCCleanup - HCCleanupAsync - HCGetLibVersion - HCAddCallRoutedHandler - HCRemoveCallRoutedHandler - HCSetGlobalProxy - HCHttpCallCreate - HCHttpCallPerformAsync - HCHttpCallDuplicateHandle - HCHttpCallCloseHandle - HCHttpCallGetId - HCHttpCallSetTracing - HCHttpCallGetRequestUrl - HCHttpCallRequestSetUrl - HCHttpCallRequestSetRequestBodyBytes - HCHttpCallRequestSetRequestBodyString - HCHttpCallRequestSetRequestBodyReadFunction - HCHttpCallRequestSetHeader - HCHttpCallRequestSetRetryAllowed - HCHttpCallRequestSetRetryCacheId - HCHttpCallRequestSetTimeout - HCHttpCallRequestSetRetryDelay - HCHttpCallRequestSetTimeoutWindow - HCHttpCallRequestSetSSLValidation - ;HCHttpDisableAssertsForSSLValidationInDevSandboxes - HCHttpCallResponseSetResponseBodyWriteFunction - HCHttpCallResponseGetResponseString - HCHttpCallResponseGetResponseBodyBytesSize - HCHttpCallResponseGetResponseBodyBytes - HCHttpCallResponseGetStatusCode - HCHttpCallResponseGetNetworkErrorCode - HCHttpCallResponseGetPlatformNetworkErrorMessage - HCHttpCallResponseGetHeader - HCHttpCallResponseGetNumHeaders - HCHttpCallResponseGetHeaderAtIndex - HCWebSocketCreate - HCWebSocketSetBinaryMessageFragmentEventFunction - HCWebSocketSetProxyUri - HCWebSocketSetProxyDecryptsHttps - HCWebSocketSetHeader - HCWebSocketGetEventFunctions - HCWebSocketGetBinaryMessageFragmentEventFunction - HCWebSocketConnectAsync - HCGetWebSocketConnectResult - HCWebSocketSendMessageAsync - HCWebSocketSendBinaryMessageAsync - HCGetWebSocketSendMessageResult - HCWebSocketDisconnect - HCWebSocketSetMaxReceiveBufferSize - HCWebSocketDuplicateHandle - HCWebSocketCloseHandle - HCAddWebSocketRoutedHandler - HCRemoveWebSocketRoutedHandler - - HCSetHttpCallPerformFunction - HCGetHttpCallPerformFunction - HCHttpCallGetContext - HCHttpCallSetContext - HCHttpCallRequestGetUrl - HCHttpCallRequestGetRequestBodyBytes - HCHttpCallRequestGetRequestBodyString - HCHttpCallRequestGetRequestBodyReadFunction - HCHttpCallRequestGetHeader - HCHttpCallRequestGetNumHeaders - HCHttpCallRequestGetHeaderAtIndex - HCHttpCallRequestGetRetryAllowed - HCHttpCallRequestGetRetryCacheId - HCHttpCallRequestGetTimeout - HCHttpCallRequestGetRetryDelay - HCHttpCallRequestGetTimeoutWindow - HCHttpCallResponseGetResponseBodyWriteFunction - HCHttpCallResponseSetResponseBodyBytes - HCHttpCallResponseAppendResponseBodyBytes - HCHttpCallResponseSetStatusCode - HCHttpCallResponseSetNetworkErrorCode - HCHttpCallResponseSetPlatformNetworkErrorMessage - HCHttpCallResponseSetHeader - HCHttpCallResponseSetHeaderWithLength - HCSetWebSocketFunctions - HCGetWebSocketFunctions - HCWebSocketGetProxyUri - HCWebSocketGetHeader - HCWebSocketGetNumHeaders - HCWebSocketGetHeaderAtIndex - - HCMockCallCreate - HCMockAddMock - HCMockSetMockMatchedCallback - HCMockRemoveMock - HCMockClearMocks - HCMockCallDuplicateHandle - HCMockCallCloseHandle - HCMockResponseSetResponseBodyBytes - HCMockResponseSetStatusCode - HCMockResponseSetNetworkErrorCode - HCMockResponseSetHeader - - HCTraceInit - HCTraceCleanup - HCSettingsSetTraceLevel - HCSettingsGetTraceLevel - HCTraceSetClientCallback - HCTraceSetTraceToDebugger - HCTraceSetPlatformCallbacks - HCTraceImplMessage - HCTraceImplMessage_v - HCTraceImplScopeId - - XAsyncGetStatus - XAsyncGetResultSize - XAsyncCancel - XAsyncRun - - XAsyncBegin - XAsyncSchedule - XAsyncComplete - XAsyncGetResult - - XTaskQueueCreate - XTaskQueueCreateComposite - XTaskQueueGetPort - XTaskQueueDuplicateHandle - XTaskQueueDispatch - XTaskQueueCloseHandle - XTaskQueueTerminate - XTaskQueueSubmitCallback - XTaskQueueSubmitDelayedCallback - XTaskQueueRegisterWaiter - XTaskQueueUnregisterWaiter - XTaskQueueRegisterMonitor - XTaskQueueUnregisterMonitor - XTaskQueueGetCurrentProcessTaskQueue - XTaskQueueSetCurrentProcessTaskQueue - \ No newline at end of file diff --git a/Source/PlayFabCore/Source/HttpClient/PFHCTrace.cpp b/Source/PlayFabCore/Source/HttpClient/PFHCTrace.cpp index 2067044..ac739b3 100644 --- a/Source/PlayFabCore/Source/HttpClient/PFHCTrace.cpp +++ b/Source/PlayFabCore/Source/HttpClient/PFHCTrace.cpp @@ -2,7 +2,7 @@ #include #include #include -#include "GlobalState.h" +#include "PFCoreGlobalState.h" #include "Trace/TraceState.h" using namespace PlayFab; diff --git a/Source/PlayFabCore/Source/HttpClient/PFHttpClient.cpp b/Source/PlayFabCore/Source/HttpClient/PFHttpClient.cpp index f2eff65..4d7e514 100644 --- a/Source/PlayFabCore/Source/HttpClient/PFHttpClient.cpp +++ b/Source/PlayFabCore/Source/HttpClient/PFHttpClient.cpp @@ -411,7 +411,7 @@ PF_API PFHCHttpCallResponseGetHeaderAtIndex( ); } -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFHCHttpCallRequestEnableGzipCompression( _In_ PFHCCallHandle call, diff --git a/Source/PlayFabCore/Source/Trace/TraceState.cpp b/Source/PlayFabCore/Source/Trace/TraceState.cpp index 8f9caf9..3b5d23b 100644 --- a/Source/PlayFabCore/Source/Trace/TraceState.cpp +++ b/Source/PlayFabCore/Source/Trace/TraceState.cpp @@ -261,12 +261,20 @@ int vstprintf_s(char(&buffer)[SIZE], _Printf_format_string_ char const* format, String FormatString(_In_z_ _Printf_format_string_ const char* format, ...) { - va_list args; - va_start(args, format); - Vector buffer(1 + std::vsnprintf(NULL, 0, format, args)); - std::vsnprintf(buffer.data(), buffer.size(), format, args); - va_end(args); - String strBuffer(buffer.begin(), buffer.end()); + va_list args1; + va_start(args1, format); + + va_list args2; + va_copy(args2, args1); + + Vector buffer(1 + std::vsnprintf(NULL, 0, format, args1)); + va_end(args1); + + std::vsnprintf(buffer.data(), buffer.size(), format, args2); + va_end(args2); + + String strBuffer(buffer.data(), buffer.size()); + return strBuffer; } diff --git a/Source/PlayFabCore/Source/Trace/TraceState.h b/Source/PlayFabCore/Source/Trace/TraceState.h index 00f9370..c7a3b74 100644 --- a/Source/PlayFabCore/Source/Trace/TraceState.h +++ b/Source/PlayFabCore/Source/Trace/TraceState.h @@ -27,7 +27,7 @@ struct TraceOutput virtual void Stop() {}; }; -// Global TraceState that is independent from GlobalState so that initialization and cleanup can be Traced. +// Global TraceState that is independent from PFCoreGlobalState so that initialization and cleanup can be Traced. // Tracing is routed through LHC trace infrastructure to leverage existing tracing features (message formatting, // client callbacks, etc.) class TraceState : public ITerminationListener diff --git a/Source/PlayFabCore/Source/stdafx.h b/Source/PlayFabCore/Source/stdafx.h index 7b9e461..bd2e544 100644 --- a/Source/PlayFabCore/Source/stdafx.h +++ b/Source/PlayFabCore/Source/stdafx.h @@ -17,6 +17,7 @@ // libHttpClient headers #include +#include #include #include diff --git a/Source/PlayFabServices/API-List.csv b/Source/PlayFabServices/API-List.csv index cf2fc78..4012e7e 100644 --- a/Source/PlayFabServices/API-List.csv +++ b/Source/PlayFabServices/API-List.csv @@ -1,572 +1,577 @@ -Library,Feature Group,API Name,Auth,Subgroup,Call Name,Trimmed?,GDK?,Win32?,Switch?,PlayStation? -PF Services,ScheduledTask,PFScheduledTaskAdminAbortTaskInstanceAsync,SecretKey,ScheduledTask,AdminAbortTaskInstance,false,No,No,No,No -PF Services,ScheduledTask,PFScheduledTaskAdminCreateActionsOnPlayersInSegmentTaskAsync,SecretKey,ScheduledTask,AdminCreateActionsOnPlayersInSegmentTask,false,No,No,No,No -PF Services,ScheduledTask,PFScheduledTaskAdminCreateCloudScriptTaskAsync,SecretKey,ScheduledTask,AdminCreateCloudScriptTask,false,No,No,No,No -PF Services,ScheduledTask,PFScheduledTaskAdminCreateInsightsScheduledScalingTaskAsync,SecretKey,ScheduledTask,AdminCreateInsightsScheduledScalingTask,false,No,No,No,No -PF Services,ScheduledTask,PFScheduledTaskAdminDeleteTaskAsync,SecretKey,ScheduledTask,AdminDeleteTask,false,No,No,No,No -PF Services,ScheduledTask,PFScheduledTaskAdminGetActionsOnPlayersInSegmentTaskInstanceAsync,SecretKey,ScheduledTask,AdminGetActionsOnPlayersInSegmentTaskInstance,false,No,No,No,No -PF Services,ScheduledTask,PFScheduledTaskAdminGetCloudScriptTaskInstanceAsync,SecretKey,ScheduledTask,AdminGetCloudScriptTaskInstance,false,No,No,No,No -PF Services,ScheduledTask,PFScheduledTaskAdminGetTaskInstancesAsync,SecretKey,ScheduledTask,AdminGetTaskInstances,false,No,No,No,No -PF Services,ScheduledTask,PFScheduledTaskAdminGetTasksAsync,SecretKey,ScheduledTask,AdminGetTasks,false,No,No,No,No -PF Services,ScheduledTask,PFScheduledTaskAdminRunTaskAsync,SecretKey,ScheduledTask,AdminRunTask,false,No,No,No,No -PF Services,ScheduledTask,PFScheduledTaskAdminUpdateTaskAsync,SecretKey,ScheduledTask,AdminUpdateTask,false,No,No,No,No -PF Services,TitleDataManagement,PFTitleDataManagementAdminAddLocalizedNewsAsync,SecretKey,Title-Wide Data Management,AdminAddLocalizedNews,false,No,No,No,No -PF Services,TitleDataManagement,PFTitleDataManagementAdminAddNewsAsync,SecretKey,Title-Wide Data Management,AdminAddNews,false,No,No,No,No -PF Services,TitleDataManagement,PFTitleDataManagementAdminAddVirtualCurrencyTypesAsync,SecretKey,Title-Wide Data Management,AdminAddVirtualCurrencyTypes,false,No,No,No,No -PF Services,TitleDataManagement,PFTitleDataManagementAdminDeleteStoreAsync,SecretKey,Title-Wide Data Management,AdminDeleteStore,false,No,No,No,No -PF Services,TitleDataManagement,PFTitleDataManagementAdminDeleteTitleDataOverrideAsync,SecretKey,Title-Wide Data Management,AdminDeleteTitleDataOverride,false,No,No,No,No -PF Services,TitleDataManagement,PFTitleDataManagementAdminGetCatalogItemsAsync,SecretKey,Title-Wide Data Management,AdminGetCatalogItems,false,No,No,No,No -PF Services,TitleDataManagement,PFTitleDataManagementAdminGetPublisherDataAsync,SecretKey,Title-Wide Data Management,AdminGetPublisherData,false,No,No,No,No -PF Services,TitleDataManagement,PFTitleDataManagementAdminGetRandomResultTablesAsync,SecretKey,Title-Wide Data Management,AdminGetRandomResultTables,false,No,No,No,No -PF Services,TitleDataManagement,PFTitleDataManagementAdminGetStoreItemsAsync,SecretKey,Title-Wide Data Management,AdminGetStoreItems,false,No,No,No,No -PF Services,TitleDataManagement,PFTitleDataManagementAdminGetTitleDataAsync,SecretKey,Title-Wide Data Management,AdminGetTitleData,false,No,No,No,No -PF Services,TitleDataManagement,PFTitleDataManagementAdminGetTitleInternalDataAsync,SecretKey,Title-Wide Data Management,AdminGetTitleInternalData,false,No,No,No,No -PF Services,TitleDataManagement,PFTitleDataManagementAdminListVirtualCurrencyTypesAsync,SecretKey,Title-Wide Data Management,AdminListVirtualCurrencyTypes,false,No,No,No,No -PF Services,TitleDataManagement,PFTitleDataManagementAdminRemoveVirtualCurrencyTypesAsync,SecretKey,Title-Wide Data Management,AdminRemoveVirtualCurrencyTypes,false,No,No,No,No -PF Services,TitleDataManagement,PFTitleDataManagementAdminSetCatalogItemsAsync,SecretKey,Title-Wide Data Management,AdminSetCatalogItems,false,No,No,No,No -PF Services,TitleDataManagement,PFTitleDataManagementAdminSetPublisherDataAsync,SecretKey,Shared Group Data,AdminSetPublisherData,false,No,No,No,No -PF Services,TitleDataManagement,PFTitleDataManagementAdminSetStoreItemsAsync,SecretKey,Title-Wide Data Management,AdminSetStoreItems,false,No,No,No,No -PF Services,TitleDataManagement,PFTitleDataManagementAdminSetTitleDataAsync,SecretKey,Title-Wide Data Management,AdminSetTitleData,false,No,No,No,No -PF Services,TitleDataManagement,PFTitleDataManagementAdminSetTitleDataAndOverridesAsync,SecretKey,Title-Wide Data Management,AdminSetTitleDataAndOverrides,false,No,No,No,No -PF Services,TitleDataManagement,PFTitleDataManagementAdminSetTitleInternalDataAsync,SecretKey,Title-Wide Data Management,AdminSetTitleInternalData,false,No,No,No,No -PF Services,TitleDataManagement,PFTitleDataManagementAdminSetupPushNotificationAsync,SecretKey,Title-Wide Data Management,AdminSetupPushNotification,false,No,No,No,No -PF Services,TitleDataManagement,PFTitleDataManagementAdminUpdateCatalogItemsAsync,SecretKey,Title-Wide Data Management,AdminUpdateCatalogItems,false,No,No,No,No -PF Services,TitleDataManagement,PFTitleDataManagementAdminUpdateRandomResultTablesAsync,SecretKey,Title-Wide Data Management,AdminUpdateRandomResultTables,false,No,No,No,No -PF Services,TitleDataManagement,PFTitleDataManagementAdminUpdateStoreItemsAsync,SecretKey,Title-Wide Data Management,AdminUpdateStoreItems,false,No,No,No,No -PF Services,TitleDataManagement,PFTitleDataManagementClientGetCatalogItemsAsync,SessionTicket,Title-Wide Data Management,ClientGetCatalogItems,false,No,No,No,No -PF Services,TitleDataManagement,PFTitleDataManagementClientGetPublisherDataAsync,SessionTicket,Title-Wide Data Management,ClientGetPublisherData,false,Yes,Yes,Yes,Yes -PF Services,TitleDataManagement,PFTitleDataManagementClientGetStoreItemsAsync,SessionTicket,Title-Wide Data Management,ClientGetStoreItems,false,No,No,No,No -PF Services,TitleDataManagement,PFTitleDataManagementClientGetTimeAsync,SessionTicket,Title-Wide Data Management,ClientGetTime,false,Yes,Yes,Yes,Yes -PF Services,TitleDataManagement,PFTitleDataManagementClientGetTitleDataAsync,SessionTicket,Title-Wide Data Management,ClientGetTitleData,false,Yes,Yes,Yes,Yes -PF Services,TitleDataManagement,PFTitleDataManagementClientGetTitleNewsAsync,SessionTicket,Title-Wide Data Management,ClientGetTitleNews,false,Yes,Yes,Yes,Yes -PF Services,TitleDataManagement,PFTitleDataManagementServerGetCatalogItemsAsync,SecretKey,Title-Wide Data Management,ServerGetCatalogItems,false,No,No,No,No -PF Services,TitleDataManagement,PFTitleDataManagementServerGetPublisherDataAsync,SecretKey,Title-Wide Data Management,ServerGetPublisherData,false,No,Yes,No,No -PF Services,TitleDataManagement,PFTitleDataManagementServerGetStoreItemsAsync,SecretKey,Title-Wide Data Management,ServerGetStoreItems,false,No,No,No,No -PF Services,TitleDataManagement,PFTitleDataManagementServerGetTimeAsync,SecretKey,Title-Wide Data Management,ServerGetTime,false,No,Yes,No,No -PF Services,TitleDataManagement,PFTitleDataManagementServerGetTitleDataAsync,SecretKey,Title-Wide Data Management,ServerGetTitleData,false,No,Yes,No,No -PF Services,TitleDataManagement,PFTitleDataManagementServerGetTitleInternalDataAsync,SecretKey,Title-Wide Data Management,ServerGetTitleInternalData,false,No,Yes,No,No -PF Services,TitleDataManagement,PFTitleDataManagementServerGetTitleNewsAsync,SecretKey,Title-Wide Data Management,ServerGetTitleNews,false,No,Yes,No,No -PF Services,TitleDataManagement,PFTitleDataManagementServerSetPublisherDataAsync,SecretKey,Title-Wide Data Management,ServerSetPublisherData,false,No,Yes,No,No -PF Services,TitleDataManagement,PFTitleDataManagementServerSetTitleDataAsync,SecretKey,Title-Wide Data Management,ServerSetTitleData,false,No,Yes,No,No -PF Services,TitleDataManagement,PFTitleDataManagementServerSetTitleInternalDataAsync,SecretKey,Title-Wide Data Management,ServerSetTitleInternalData,false,No,Yes,No,No -PF Services,Segments,PFSegmentsAdminAddPlayerTagAsync,SecretKey,PlayStream,AdminAddPlayerTag,false,No,No,No,No -PF Services,Segments,PFSegmentsAdminCreateSegmentAsync,SecretKey,Segments,AdminCreateSegment,false,No,No,No,No -PF Services,Segments,PFSegmentsAdminDeleteSegmentAsync,SecretKey,Segments,AdminDeleteSegment,false,No,No,No,No -PF Services,Segments,PFSegmentsAdminExportPlayersInSegmentAsync,SecretKey,PlayStream,AdminExportPlayersInSegment,false,No,No,No,No -PF Services,Segments,PFSegmentsAdminGetAllSegmentsAsync,SecretKey,PlayStream,AdminGetAllSegments,false,No,No,No,No -PF Services,Segments,PFSegmentsAdminGetPlayerSegmentsAsync,SecretKey,PlayStream,AdminGetPlayerSegments,false,No,No,No,No -PF Services,Segments,PFSegmentsAdminGetPlayersInSegmentAsync,SecretKey,PlayStream,AdminGetPlayersInSegment,false,No,No,No,No -PF Services,Segments,PFSegmentsAdminGetPlayerTagsAsync,SecretKey,PlayStream,AdminGetPlayerTags,false,No,No,No,No -PF Services,Segments,PFSegmentsAdminGetSegmentExportAsync,SecretKey,PlayStream,AdminGetSegmentExport,false,No,No,No,No -PF Services,Segments,PFSegmentsAdminGetSegmentsAsync,SecretKey,Segments,AdminGetSegments,false,No,No,No,No -PF Services,Segments,PFSegmentsAdminRemovePlayerTagAsync,SecretKey,PlayStream,AdminRemovePlayerTag,false,No,No,No,No -PF Services,Segments,PFSegmentsAdminUpdateSegmentAsync,SecretKey,Segments,AdminUpdateSegment,false,No,No,No,No -PF Services,Segments,PFSegmentsClientGetPlayerSegmentsAsync,SessionTicket,PlayStream,ClientGetPlayerSegments,false,Yes,Yes,Yes,Yes -PF Services,Segments,PFSegmentsClientGetPlayerTagsAsync,SessionTicket,PlayStream,ClientGetPlayerTags,false,Yes,Yes,Yes,Yes -PF Services,Segments,PFSegmentsServerAddPlayerTagAsync,SecretKey,PlayStream,ServerAddPlayerTag,false,No,Yes,No,No -PF Services,Segments,PFSegmentsServerGetAllSegmentsAsync,SecretKey,PlayStream,ServerGetAllSegments,false,No,Yes,No,No -PF Services,Segments,PFSegmentsServerGetPlayerSegmentsAsync,SecretKey,PlayStream,ServerGetPlayerSegments,false,No,Yes,No,No -PF Services,Segments,PFSegmentsServerGetPlayersInSegmentAsync,SecretKey,PlayStream,ServerGetPlayersInSegment,false,No,Yes,No,No -PF Services,Segments,PFSegmentsServerGetPlayerTagsAsync,SecretKey,PlayStream,ServerGetPlayerTags,false,No,Yes,No,No -PF Services,Segments,PFSegmentsServerRemovePlayerTagAsync,SecretKey,PlayStream,ServerRemovePlayerTag,false,No,Yes,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementAdminAddUserVirtualCurrencyAsync,SecretKey,Player Item Management,AdminAddUserVirtualCurrency,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementAdminCheckLimitedEditionItemAvailabilityAsync,SecretKey,Player Item Management,AdminCheckLimitedEditionItemAvailability,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementAdminGetUserInventoryAsync,SecretKey,Player Item Management,AdminGetUserInventory,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementAdminGrantItemsToUsersAsync,SecretKey,Player Item Management,AdminGrantItemsToUsers,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementAdminIncrementLimitedEditionItemAvailabilityAsync,SecretKey,Player Item Management,AdminIncrementLimitedEditionItemAvailability,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementAdminRevokeInventoryItemAsync,SecretKey,Player Item Management,AdminRevokeInventoryItem,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementAdminRevokeInventoryItemsAsync,SecretKey,Player Item Management,AdminRevokeInventoryItems,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementAdminSubtractUserVirtualCurrencyAsync,SecretKey,Player Item Management,AdminSubtractUserVirtualCurrency,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementClientAddUserVirtualCurrencyAsync,SessionTicket,Player Item Management,ClientAddUserVirtualCurrency,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementClientConfirmPurchaseAsync,SessionTicket,Player Item Management,ClientConfirmPurchase,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementClientConsumeItemAsync,SessionTicket,Player Item Management,ClientConsumeItem,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementClientGetCharacterInventoryAsync,SessionTicket,Player Item Management,ClientGetCharacterInventory,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementClientGetPaymentTokenAsync,SessionTicket,Player Item Management,ClientGetPaymentToken,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementClientGetPurchaseAsync,SessionTicket,Player Item Management,ClientGetPurchase,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementClientGetUserInventoryAsync,SessionTicket,Player Item Management,ClientGetUserInventory,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementClientPayForPurchaseAsync,SessionTicket,Player Item Management,ClientPayForPurchase,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementClientPurchaseItemAsync,SessionTicket,Player Item Management,ClientPurchaseItem,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementClientRedeemCouponAsync,SessionTicket,Player Item Management,ClientRedeemCoupon,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementClientStartPurchaseAsync,SessionTicket,Player Item Management,ClientStartPurchase,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementClientSubtractUserVirtualCurrencyAsync,SessionTicket,Player Item Management,ClientSubtractUserVirtualCurrency,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementClientUnlockContainerInstanceAsync,SessionTicket,Player Item Management,ClientUnlockContainerInstance,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementClientUnlockContainerItemAsync,SessionTicket,Player Item Management,ClientUnlockContainerItem,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementServerAddCharacterVirtualCurrencyAsync,SecretKey,Player Item Management,ServerAddCharacterVirtualCurrency,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementServerAddUserVirtualCurrencyAsync,SecretKey,Player Item Management,ServerAddUserVirtualCurrency,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementServerConsumeItemAsync,SecretKey,Player Item Management,ServerConsumeItem,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementServerEvaluateRandomResultTableAsync,SecretKey,Player Item Management,ServerEvaluateRandomResultTable,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementServerGetCharacterInventoryAsync,SecretKey,Player Item Management,ServerGetCharacterInventory,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementServerGetRandomResultTablesAsync,SecretKey,Player Item Management,ServerGetRandomResultTables,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementServerGetUserInventoryAsync,SecretKey,Player Item Management,ServerGetUserInventory,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementServerGrantItemsToCharacterAsync,SecretKey,Player Item Management,ServerGrantItemsToCharacter,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementServerGrantItemsToUserAsync,SecretKey,Player Item Management,ServerGrantItemsToUser,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementServerGrantItemsToUsersAsync,SecretKey,Player Item Management,ServerGrantItemsToUsers,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementServerModifyItemUsesAsync,SecretKey,Player Item Management,ServerModifyItemUses,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementServerMoveItemToCharacterFromCharacterAsync,SecretKey,Player Item Management,ServerMoveItemToCharacterFromCharacter,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementServerMoveItemToCharacterFromUserAsync,SecretKey,Player Item Management,ServerMoveItemToCharacterFromUser,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementServerMoveItemToUserFromCharacterAsync,SecretKey,Player Item Management,ServerMoveItemToUserFromCharacter,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementServerRedeemCouponAsync,SecretKey,Player Item Management,ServerRedeemCoupon,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementServerReportPlayerAsync,SecretKey,Player Item Management,ServerReportPlayer,false,No,Yes,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementServerRevokeInventoryItemAsync,SecretKey,Player Item Management,ServerRevokeInventoryItem,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementServerRevokeInventoryItemsAsync,SecretKey,Player Item Management,ServerRevokeInventoryItems,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementServerSubtractCharacterVirtualCurrencyAsync,SecretKey,Player Item Management,ServerSubtractCharacterVirtualCurrency,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementServerSubtractUserVirtualCurrencyAsync,SecretKey,Player Item Management,ServerSubtractUserVirtualCurrency,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementServerUnlockContainerInstanceAsync,SecretKey,Player Item Management,ServerUnlockContainerInstance,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementServerUnlockContainerItemAsync,SecretKey,Player Item Management,ServerUnlockContainerItem,false,No,No,No,No -PF Services,PlayerItemManagement,PFPlayerItemManagementServerUpdateUserInventoryItemCustomDataAsync,SecretKey,Player Item Management,ServerUpdateUserInventoryItemCustomData,false,No,No,No,No -PF Services,AccountManagement,PFAccountManagementAdminBanUsersAsync,SecretKey,Account Management,AdminBanUsers,false,No,No,No,No -PF Services,AccountManagement,PFAccountManagementAdminDeleteMasterPlayerAccountAsync,SecretKey,Account Management,AdminDeleteMasterPlayerAccount,false,No,No,No,No -PF Services,AccountManagement,PFAccountManagementAdminDeleteMasterPlayerEventDataAsync,SecretKey,Account Management,AdminDeleteMasterPlayerEventData,false,No,No,No,No -PF Services,AccountManagement,PFAccountManagementAdminDeleteMembershipSubscriptionAsync,SecretKey,Account Management,AdminDeleteMembershipSubscription,false,No,No,No,No -PF Services,AccountManagement,PFAccountManagementAdminDeletePlayerAsync,SecretKey,Account Management,AdminDeletePlayer,false,No,No,No,No -PF Services,AccountManagement,PFAccountManagementAdminDeleteTitleAsync,SecretKey,Account Management,AdminDeleteTitle,false,No,No,No,No -PF Services,AccountManagement,PFAccountManagementAdminExportMasterPlayerDataAsync,SecretKey,Account Management,AdminExportMasterPlayerData,false,No,No,No,No -PF Services,AccountManagement,PFAccountManagementAdminGetPlayedTitleListAsync,SecretKey,Account Management,AdminGetPlayedTitleList,false,No,No,No,No -PF Services,AccountManagement,PFAccountManagementAdminGetPlayerIdFromAuthTokenAsync,SecretKey,Account Management,AdminGetPlayerIdFromAuthToken,false,No,No,No,No -PF Services,AccountManagement,PFAccountManagementAdminGetPlayerProfileAsync,SecretKey,Account Management,AdminGetPlayerProfile,false,No,No,No,No -PF Services,AccountManagement,PFAccountManagementAdminGetUserAccountInfoAsync,SecretKey,Account Management,AdminGetUserAccountInfo,false,No,No,No,No -PF Services,AccountManagement,PFAccountManagementAdminGetUserBansAsync,SecretKey,Account Management,AdminGetUserBans,false,No,No,No,No -PF Services,AccountManagement,PFAccountManagementAdminResetPasswordAsync,SecretKey,Account Management,AdminResetPassword,false,No,No,No,No -PF Services,AccountManagement,PFAccountManagementAdminRevokeAllBansForUserAsync,SecretKey,Account Management,AdminRevokeAllBansForUser,false,No,No,No,No -PF Services,AccountManagement,PFAccountManagementAdminRevokeBansAsync,SecretKey,Account Management,AdminRevokeBans,false,No,No,No,No -PF Services,AccountManagement,PFAccountManagementAdminSendAccountRecoveryEmailAsync,SecretKey,Account Management,AdminSendAccountRecoveryEmail,false,No,No,No,No -PF Services,AccountManagement,PFAccountManagementAdminSetMembershipOverrideAsync,SecretKey,Account Management,AdminSetMembershipOverride,false,No,No,No,No -PF Services,AccountManagement,PFAccountManagementAdminUpdateBansAsync,SecretKey,Account Management,AdminUpdateBans,false,No,No,No,No -PF Services,AccountManagement,PFAccountManagementAdminUpdateUserTitleDisplayNameAsync,SecretKey,Account Management,AdminUpdateUserTitleDisplayName,false,No,No,No,No -PF Services,AccountManagement,PFAccountManagementClientAddGenericIDAsync,SessionTicket,Account Management,ClientAddGenericID,false,No,No,No,No -PF Services,AccountManagement,PFAccountManagementClientAddOrUpdateContactEmailAsync,SessionTicket,Account Management,ClientAddOrUpdateContactEmail,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientAddUsernamePasswordAsync,SessionTicket,Account Management,ClientAddUsernamePassword,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientGetAccountInfoAsync,SessionTicket,Account Management,ClientGetAccountInfo,false,Yes,Yes,Yes,Yes -PF Services,AccountManagement,PFAccountManagementClientGetPlayerCombinedInfoAsync,SessionTicket,Account Management,ClientGetPlayerCombinedInfo,false,Yes,Yes,Yes,Yes -PF Services,AccountManagement,PFAccountManagementClientGetPlayerProfileAsync,SessionTicket,Account Management,ClientGetPlayerProfile,false,Yes,Yes,Yes,Yes -PF Services,AccountManagement,PFAccountManagementClientGetPlayFabIDsFromFacebookIDsAsync,SessionTicket,Account Management,ClientGetPlayFabIDsFromFacebookIDs,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientGetPlayFabIDsFromFacebookInstantGamesIdsAsync,SessionTicket,Account Management,ClientGetPlayFabIDsFromFacebookInstantGamesIds,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientGetPlayFabIDsFromGameCenterIDsAsync,SessionTicket,Account Management,ClientGetPlayFabIDsFromGameCenterIDs,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientGetPlayFabIDsFromGenericIDsAsync,SessionTicket,Account Management,ClientGetPlayFabIDsFromGenericIDs,false,No,No,No,No -PF Services,AccountManagement,PFAccountManagementClientGetPlayFabIDsFromGoogleIDsAsync,SessionTicket,Account Management,ClientGetPlayFabIDsFromGoogleIDs,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientGetPlayFabIDsFromGooglePlayGamesPlayerIDsAsync,SessionTicket,Account Management,ClientGetPlayFabIDsFromGooglePlayGamesPlayerIDs,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientGetPlayFabIDsFromKongregateIDsAsync,SessionTicket,Account Management,ClientGetPlayFabIDsFromKongregateIDs,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientGetPlayFabIDsFromNintendoServiceAccountIdsAsync,SessionTicket,Account Management,ClientGetPlayFabIDsFromNintendoServiceAccountIds,false,No,Yes,Yes,No -PF Services,AccountManagement,PFAccountManagementClientGetPlayFabIDsFromNintendoSwitchDeviceIdsAsync,SessionTicket,Account Management,ClientGetPlayFabIDsFromNintendoSwitchDeviceIds,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientGetPlayFabIDsFromPSNAccountIDsAsync,SessionTicket,Account Management,ClientGetPlayFabIDsFromPSNAccountIDs,false,No,Yes,No,Yes -PF Services,AccountManagement,PFAccountManagementClientGetPlayFabIDsFromSteamIDsAsync,SessionTicket,Account Management,ClientGetPlayFabIDsFromSteamIDs,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientGetPlayFabIDsFromTwitchIDsAsync,SessionTicket,Account Management,ClientGetPlayFabIDsFromTwitchIDs,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientGetPlayFabIDsFromXboxLiveIDsAsync,SessionTicket,Account Management,ClientGetPlayFabIDsFromXboxLiveIDs,false,Yes,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientLinkAndroidDeviceIDAsync,SessionTicket,Account Management,ClientLinkAndroidDeviceID,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientLinkAppleAsync,SessionTicket,Account Management,ClientLinkApple,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientLinkCustomIDAsync,SessionTicket,Account Management,ClientLinkCustomID,false,Yes,Yes,Yes,Yes -PF Services,AccountManagement,PFAccountManagementClientLinkFacebookAccountAsync,SessionTicket,Account Management,ClientLinkFacebookAccount,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientLinkFacebookInstantGamesIdAsync,SessionTicket,Account Management,ClientLinkFacebookInstantGamesId,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientLinkGameCenterAccountAsync,SessionTicket,Account Management,ClientLinkGameCenterAccount,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientLinkGoogleAccountAsync,SessionTicket,Account Management,ClientLinkGoogleAccount,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientLinkGooglePlayGamesServicesAccountAsync,SessionTicket,Account Management,ClientLinkGooglePlayGamesServicesAccount,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientLinkIOSDeviceIDAsync,SessionTicket,Account Management,ClientLinkIOSDeviceID,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientLinkKongregateAsync,SessionTicket,Account Management,ClientLinkKongregate,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientLinkNintendoServiceAccountAsync,SessionTicket,Account Management,ClientLinkNintendoServiceAccount,false,No,Yes,Yes,No -PF Services,AccountManagement,PFAccountManagementClientLinkNintendoSwitchDeviceIdAsync,SessionTicket,Account Management,ClientLinkNintendoSwitchDeviceId,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientLinkOpenIdConnectAsync,SessionTicket,Account Management,ClientLinkOpenIdConnect,false,Yes,Yes,Yes,Yes -PF Services,AccountManagement,PFAccountManagementClientLinkPSNAccountAsync,SessionTicket,Account Management,ClientLinkPSNAccount,false,No,Yes,No,Yes -PF Services,AccountManagement,PFAccountManagementClientLinkSteamAccountAsync,SessionTicket,Account Management,ClientLinkSteamAccount,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientLinkTwitchAsync,SessionTicket,Account Management,ClientLinkTwitch,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientLinkXboxAccountAsync,SessionTicket,Account Management,ClientLinkXboxAccount,false,Yes,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientRemoveContactEmailAsync,SessionTicket,Account Management,ClientRemoveContactEmail,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientRemoveGenericIDAsync,SessionTicket,Account Management,ClientRemoveGenericID,false,No,No,No,No -PF Services,AccountManagement,PFAccountManagementClientReportPlayerAsync,SessionTicket,Account Management,ClientReportPlayer,false,Yes,Yes,Yes,Yes -PF Services,AccountManagement,PFAccountManagementClientSendAccountRecoveryEmailAsync,None,Account Management,ClientSendAccountRecoveryEmail,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientUnlinkAndroidDeviceIDAsync,SessionTicket,Account Management,ClientUnlinkAndroidDeviceID,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientUnlinkAppleAsync,SessionTicket,Account Management,ClientUnlinkApple,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientUnlinkCustomIDAsync,SessionTicket,Account Management,ClientUnlinkCustomID,false,Yes,Yes,Yes,Yes -PF Services,AccountManagement,PFAccountManagementClientUnlinkFacebookAccountAsync,SessionTicket,Account Management,ClientUnlinkFacebookAccount,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientUnlinkFacebookInstantGamesIdAsync,SessionTicket,Account Management,ClientUnlinkFacebookInstantGamesId,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientUnlinkGameCenterAccountAsync,SessionTicket,Account Management,ClientUnlinkGameCenterAccount,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientUnlinkGoogleAccountAsync,SessionTicket,Account Management,ClientUnlinkGoogleAccount,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientUnlinkGooglePlayGamesServicesAccountAsync,SessionTicket,Account Management,ClientUnlinkGooglePlayGamesServicesAccount,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientUnlinkIOSDeviceIDAsync,SessionTicket,Account Management,ClientUnlinkIOSDeviceID,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientUnlinkKongregateAsync,SessionTicket,Account Management,ClientUnlinkKongregate,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientUnlinkNintendoServiceAccountAsync,SessionTicket,Account Management,ClientUnlinkNintendoServiceAccount,false,No,Yes,Yes,No -PF Services,AccountManagement,PFAccountManagementClientUnlinkNintendoSwitchDeviceIdAsync,SessionTicket,Account Management,ClientUnlinkNintendoSwitchDeviceId,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientUnlinkOpenIdConnectAsync,SessionTicket,Account Management,ClientUnlinkOpenIdConnect,false,Yes,Yes,Yes,Yes -PF Services,AccountManagement,PFAccountManagementClientUnlinkPSNAccountAsync,SessionTicket,Account Management,ClientUnlinkPSNAccount,false,No,Yes,No,Yes -PF Services,AccountManagement,PFAccountManagementClientUnlinkSteamAccountAsync,SessionTicket,Account Management,ClientUnlinkSteamAccount,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientUnlinkTwitchAsync,SessionTicket,Account Management,ClientUnlinkTwitch,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientUnlinkXboxAccountAsync,SessionTicket,Account Management,ClientUnlinkXboxAccount,false,Yes,Yes,No,No -PF Services,AccountManagement,PFAccountManagementClientUpdateAvatarUrlAsync,SessionTicket,Account Management,ClientUpdateAvatarUrl,false,Yes,Yes,Yes,Yes -PF Services,AccountManagement,PFAccountManagementClientUpdateUserTitleDisplayNameAsync,SessionTicket,Account Management,ClientUpdateUserTitleDisplayName,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerAddGenericIDAsync,SecretKey,Account Management,ServerAddGenericID,false,No,No,No,No -PF Services,AccountManagement,PFAccountManagementServerBanUsersAsync,SecretKey,Account Management,ServerBanUsers,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerDeletePlayerAsync,SecretKey,Account Management,ServerDeletePlayer,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerGetPlayerCombinedInfoAsync,SecretKey,Player Data Management,ServerGetPlayerCombinedInfo,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerGetPlayerProfileAsync,SecretKey,Account Management,ServerGetPlayerProfile,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerGetPlayFabIDsFromFacebookIDsAsync,SecretKey,Account Management,ServerGetPlayFabIDsFromFacebookIDs,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerGetPlayFabIDsFromFacebookInstantGamesIdsAsync,SecretKey,Account Management,ServerGetPlayFabIDsFromFacebookInstantGamesIds,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerGetPlayFabIDsFromGenericIDsAsync,SecretKey,Account Management,ServerGetPlayFabIDsFromGenericIDs,false,No,No,No,No -PF Services,AccountManagement,PFAccountManagementServerGetPlayFabIDsFromNintendoServiceAccountIdsAsync,SecretKey,Account Management,ServerGetPlayFabIDsFromNintendoServiceAccountIds,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerGetPlayFabIDsFromNintendoSwitchDeviceIdsAsync,SecretKey,Account Management,ServerGetPlayFabIDsFromNintendoSwitchDeviceIds,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerGetPlayFabIDsFromPSNAccountIDsAsync,SecretKey,Account Management,ServerGetPlayFabIDsFromPSNAccountIDs,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerGetPlayFabIDsFromSteamIDsAsync,SecretKey,Account Management,ServerGetPlayFabIDsFromSteamIDs,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerGetPlayFabIDsFromTwitchIDsAsync,SecretKey,Account Management,ServerGetPlayFabIDsFromTwitchIDs,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerGetPlayFabIDsFromXboxLiveIDsAsync,SecretKey,Account Management,ServerGetPlayFabIDsFromXboxLiveIDs,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerGetServerCustomIDsFromPlayFabIDsAsync,SecretKey,Account Management,ServerGetServerCustomIDsFromPlayFabIDs,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerGetUserAccountInfoAsync,SecretKey,Account Management,ServerGetUserAccountInfo,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerGetUserBansAsync,SecretKey,Account Management,ServerGetUserBans,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerLinkNintendoServiceAccountAsync,SecretKey,Account Management,ServerLinkNintendoServiceAccount,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerLinkNintendoServiceAccountSubjectAsync,SecretKey,Account Management,ServerLinkNintendoServiceAccountSubject,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerLinkNintendoSwitchDeviceIdAsync,SecretKey,Account Management,ServerLinkNintendoSwitchDeviceId,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerLinkPSNAccountAsync,SecretKey,Account Management,ServerLinkPSNAccount,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerLinkPSNIdAsync,SecretKey,Account Management,ServerLinkPSNId,false,No,No,No,No -PF Services,AccountManagement,PFAccountManagementServerLinkServerCustomIdAsync,SecretKey,Account Management,ServerLinkServerCustomId,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerLinkSteamIdAsync,SecretKey,Account Management,ServerLinkSteamId,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerLinkXboxAccountAsync,SecretKey,Account Management,ServerLinkXboxAccount,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerRemoveGenericIDAsync,SecretKey,Account Management,ServerRemoveGenericID,false,No,No,No,No -PF Services,AccountManagement,PFAccountManagementServerRevokeAllBansForUserAsync,SecretKey,Account Management,ServerRevokeAllBansForUser,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerRevokeBansAsync,SecretKey,Account Management,ServerRevokeBans,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerSendCustomAccountRecoveryEmailAsync,SecretKey,Account Management,ServerSendCustomAccountRecoveryEmail,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerSendEmailFromTemplateAsync,SecretKey,Account Management,ServerSendEmailFromTemplate,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerUnlinkNintendoServiceAccountAsync,SecretKey,Account Management,ServerUnlinkNintendoServiceAccount,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerUnlinkNintendoSwitchDeviceIdAsync,SecretKey,Account Management,ServerUnlinkNintendoSwitchDeviceId,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerUnlinkPSNAccountAsync,SecretKey,Account Management,ServerUnlinkPSNAccount,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerUnlinkServerCustomIdAsync,SecretKey,Account Management,ServerUnlinkServerCustomId,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerUnlinkSteamIdAsync,SecretKey,Account Management,ServerUnlinkSteamId,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerUnlinkXboxAccountAsync,SecretKey,Account Management,ServerUnlinkXboxAccount,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerUpdateAvatarUrlAsync,SecretKey,Account Management,ServerUpdateAvatarUrl,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementServerUpdateBansAsync,SecretKey,Account Management,ServerUpdateBans,false,No,Yes,No,No -PF Services,AccountManagement,PFAccountManagementGetTitlePlayersFromXboxLiveIDsAsync,EntityToken,Account Management,GetTitlePlayersFromXboxLiveIDs,false,No,Yes,No,No -PF Services,Leaderboard,PFLeaderboardAdminCreatePlayerStatisticDefinitionAsync,SecretKey,Player Data Management,AdminCreatePlayerStatisticDefinition,false,No,No,No,No -PF Services,Leaderboard,PFLeaderboardAdminGetPlayerStatisticDefinitionsAsync,SecretKey,Player Data Management,AdminGetPlayerStatisticDefinitions,false,No,No,No,No -PF Services,Leaderboard,PFLeaderboardAdminGetPlayerStatisticVersionsAsync,SecretKey,Player Data Management,AdminGetPlayerStatisticVersions,false,No,No,No,No -PF Services,Leaderboard,PFLeaderboardAdminIncrementPlayerStatisticVersionAsync,SecretKey,Player Data Management,AdminIncrementPlayerStatisticVersion,false,No,No,No,No -PF Services,Leaderboard,PFLeaderboardAdminResetUserStatisticsAsync,SecretKey,Player Data Management,AdminResetUserStatistics,false,No,No,No,No -PF Services,Leaderboard,PFLeaderboardAdminUpdatePlayerStatisticDefinitionAsync,SecretKey,Player Data Management,AdminUpdatePlayerStatisticDefinition,false,No,No,No,No -PF Services,Leaderboard,PFLeaderboardClientGetFriendLeaderboardAsync,SessionTicket,Player Data Management,ClientGetFriendLeaderboard,false,No,No,No,No -PF Services,Leaderboard,PFLeaderboardClientGetFriendLeaderboardAroundPlayerAsync,SessionTicket,Player Data Management,ClientGetFriendLeaderboardAroundPlayer,false,No,No,No,No -PF Services,Leaderboard,PFLeaderboardClientGetLeaderboardAsync,SessionTicket,Player Data Management,ClientGetLeaderboard,false,No,No,No,No -PF Services,Leaderboard,PFLeaderboardClientGetLeaderboardAroundPlayerAsync,SessionTicket,Player Data Management,ClientGetLeaderboardAroundPlayer,false,No,No,No,No -PF Services,Leaderboard,PFLeaderboardClientGetPlayerStatisticsAsync,SessionTicket,Player Data Management,ClientGetPlayerStatistics,false,No,No,No,No -PF Services,Leaderboard,PFLeaderboardClientGetPlayerStatisticVersionsAsync,SessionTicket,Player Data Management,ClientGetPlayerStatisticVersions,false,No,No,No,No -PF Services,Leaderboard,PFLeaderboardClientUpdatePlayerStatisticsAsync,SessionTicket,Player Data Management,ClientUpdatePlayerStatistics,false,No,No,No,No -PF Services,Leaderboard,PFLeaderboardServerGetFriendLeaderboardAsync,SecretKey,Player Data Management,ServerGetFriendLeaderboard,false,No,No,No,No -PF Services,Leaderboard,PFLeaderboardServerGetLeaderboardAsync,SecretKey,Player Data Management,ServerGetLeaderboard,false,No,No,No,No -PF Services,Leaderboard,PFLeaderboardServerGetLeaderboardAroundUserAsync,SecretKey,Player Data Management,ServerGetLeaderboardAroundUser,false,No,No,No,No -PF Services,Leaderboard,PFLeaderboardServerGetPlayerStatisticsAsync,SecretKey,Player Data Management,ServerGetPlayerStatistics,false,No,No,No,No -PF Services,Leaderboard,PFLeaderboardServerGetPlayerStatisticVersionsAsync,SecretKey,Player Data Management,ServerGetPlayerStatisticVersions,false,No,No,No,No -PF Services,Leaderboard,PFLeaderboardServerUpdatePlayerStatisticsAsync,SecretKey,Player Data Management,ServerUpdatePlayerStatistics,false,No,No,No,No -PF Services,Content,PFContentAdminDeleteContentAsync,SecretKey,Content,AdminDeleteContent,false,No,No,No,No -PF Services,Content,PFContentAdminGetContentListAsync,SecretKey,Content,AdminGetContentList,false,No,No,No,No -PF Services,Content,PFContentAdminGetContentUploadUrlAsync,SecretKey,Content,AdminGetContentUploadUrl,false,No,No,No,No -PF Services,Content,PFContentClientGetContentDownloadUrlAsync,SessionTicket,Content,ClientGetContentDownloadUrl,false,No,No,No,No -PF Services,Content,PFContentServerGetContentDownloadUrlAsync,SecretKey,Content,ServerGetContentDownloadUrl,false,No,No,No,No -PF Services,CloudScript,PFCloudScriptAdminGetCloudScriptRevisionAsync,SecretKey,Server-Side Cloud Script,AdminGetCloudScriptRevision,false,No,No,No,No -PF Services,CloudScript,PFCloudScriptAdminGetCloudScriptVersionsAsync,SecretKey,Server-Side Cloud Script,AdminGetCloudScriptVersions,false,No,No,No,No -PF Services,CloudScript,PFCloudScriptAdminSetPublishedRevisionAsync,SecretKey,Server-Side Cloud Script,AdminSetPublishedRevision,false,No,No,No,No -PF Services,CloudScript,PFCloudScriptAdminUpdateCloudScriptAsync,SecretKey,Server-Side Cloud Script,AdminUpdateCloudScript,false,No,No,No,No -PF Services,CloudScript,PFCloudScriptClientExecuteCloudScriptAsync,SessionTicket,Server-Side Cloud Script,ClientExecuteCloudScript,false,Yes,Yes,Yes,Yes -PF Services,CloudScript,PFCloudScriptServerExecuteCloudScriptAsync,SecretKey,Server-Side Cloud Script,ServerExecuteCloudScript,false,No,Yes,No,No -PF Services,CloudScript,PFCloudScriptExecuteEntityCloudScriptAsync,EntityToken,Server-Side Cloud Script,ExecuteEntityCloudScript,false,Yes,Yes,Yes,Yes -PF Services,CloudScript,PFCloudScriptExecuteFunctionAsync,EntityToken,Server-Side Cloud Script,ExecuteFunction,false,Yes,Yes,Yes,Yes -PF Services,CloudScript,PFCloudScriptGetFunctionAsync,EntityToken,Server-Side Cloud Script,GetFunction,false,No,No,No,No -PF Services,CloudScript,PFCloudScriptListFunctionsAsync,EntityToken,Server-Side Cloud Script,ListFunctions,false,No,No,No,No -PF Services,CloudScript,PFCloudScriptListHttpFunctionsAsync,EntityToken,Server-Side Cloud Script,ListHttpFunctions,false,No,No,No,No -PF Services,CloudScript,PFCloudScriptListQueuedFunctionsAsync,EntityToken,Server-Side Cloud Script,ListQueuedFunctions,false,No,No,No,No -PF Services,CloudScript,PFCloudScriptPostFunctionResultForEntityTriggeredActionAsync,EntityToken,Server-Side Cloud Script,PostFunctionResultForEntityTriggeredAction,false,No,No,No,No -PF Services,CloudScript,PFCloudScriptPostFunctionResultForFunctionExecutionAsync,EntityToken,Server-Side Cloud Script,PostFunctionResultForFunctionExecution,false,No,No,No,No -PF Services,CloudScript,PFCloudScriptPostFunctionResultForPlayerTriggeredActionAsync,EntityToken,Server-Side Cloud Script,PostFunctionResultForPlayerTriggeredAction,false,No,No,No,No -PF Services,CloudScript,PFCloudScriptPostFunctionResultForScheduledTaskAsync,EntityToken,Server-Side Cloud Script,PostFunctionResultForScheduledTask,false,No,No,No,No -PF Services,CloudScript,PFCloudScriptRegisterHttpFunctionAsync,EntityToken,Server-Side Cloud Script,RegisterHttpFunction,false,No,No,No,No -PF Services,CloudScript,PFCloudScriptRegisterQueuedFunctionAsync,EntityToken,Server-Side Cloud Script,RegisterQueuedFunction,false,No,No,No,No -PF Services,CloudScript,PFCloudScriptUnregisterFunctionAsync,EntityToken,Server-Side Cloud Script,UnregisterFunction,false,No,No,No,No -PF Services,PlayerDataManagement,PFPlayerDataManagementAdminGetDataReportAsync,SecretKey,Player Data Management,AdminGetDataReport,false,No,No,No,No -PF Services,PlayerDataManagement,PFPlayerDataManagementAdminGetUserDataAsync,SecretKey,Player Data Management,AdminGetUserData,false,No,No,No,No -PF Services,PlayerDataManagement,PFPlayerDataManagementAdminGetUserInternalDataAsync,SecretKey,Player Data Management,AdminGetUserInternalData,false,No,No,No,No -PF Services,PlayerDataManagement,PFPlayerDataManagementAdminGetUserPublisherDataAsync,SecretKey,Player Data Management,AdminGetUserPublisherData,false,No,No,No,No -PF Services,PlayerDataManagement,PFPlayerDataManagementAdminGetUserPublisherInternalDataAsync,SecretKey,Player Data Management,AdminGetUserPublisherInternalData,false,No,No,No,No -PF Services,PlayerDataManagement,PFPlayerDataManagementAdminGetUserPublisherReadOnlyDataAsync,SecretKey,Player Data Management,AdminGetUserPublisherReadOnlyData,false,No,No,No,No -PF Services,PlayerDataManagement,PFPlayerDataManagementAdminGetUserReadOnlyDataAsync,SecretKey,Player Data Management,AdminGetUserReadOnlyData,false,No,No,No,No -PF Services,PlayerDataManagement,PFPlayerDataManagementAdminUpdateUserDataAsync,SecretKey,Player Data Management,AdminUpdateUserData,false,No,No,No,No -PF Services,PlayerDataManagement,PFPlayerDataManagementAdminUpdateUserInternalDataAsync,SecretKey,Player Data Management,AdminUpdateUserInternalData,false,No,No,No,No -PF Services,PlayerDataManagement,PFPlayerDataManagementAdminUpdateUserPublisherDataAsync,SecretKey,Player Data Management,AdminUpdateUserPublisherData,false,No,No,No,No -PF Services,PlayerDataManagement,PFPlayerDataManagementAdminUpdateUserPublisherInternalDataAsync,SecretKey,Player Data Management,AdminUpdateUserPublisherInternalData,false,No,No,No,No -PF Services,PlayerDataManagement,PFPlayerDataManagementAdminUpdateUserPublisherReadOnlyDataAsync,SecretKey,Player Data Management,AdminUpdateUserPublisherReadOnlyData,false,No,No,No,No -PF Services,PlayerDataManagement,PFPlayerDataManagementAdminUpdateUserReadOnlyDataAsync,SecretKey,Player Data Management,AdminUpdateUserReadOnlyData,false,No,No,No,No -PF Services,PlayerDataManagement,PFPlayerDataManagementClientGetUserDataAsync,SessionTicket,Player Data Management,ClientGetUserData,false,Yes,Yes,Yes,Yes -PF Services,PlayerDataManagement,PFPlayerDataManagementClientGetUserPublisherDataAsync,SessionTicket,Player Data Management,ClientGetUserPublisherData,false,Yes,Yes,Yes,Yes -PF Services,PlayerDataManagement,PFPlayerDataManagementClientGetUserPublisherReadOnlyDataAsync,SessionTicket,Player Data Management,ClientGetUserPublisherReadOnlyData,false,Yes,Yes,Yes,Yes -PF Services,PlayerDataManagement,PFPlayerDataManagementClientGetUserReadOnlyDataAsync,SessionTicket,Player Data Management,ClientGetUserReadOnlyData,false,Yes,Yes,Yes,Yes -PF Services,PlayerDataManagement,PFPlayerDataManagementClientUpdateUserDataAsync,SessionTicket,Player Data Management,ClientUpdateUserData,false,Yes,Yes,Yes,Yes -PF Services,PlayerDataManagement,PFPlayerDataManagementClientUpdateUserPublisherDataAsync,SessionTicket,Player Data Management,ClientUpdateUserPublisherData,false,Yes,Yes,Yes,Yes -PF Services,PlayerDataManagement,PFPlayerDataManagementServerGetUserDataAsync,SecretKey,Player Data Management,ServerGetUserData,false,No,Yes,No,No -PF Services,PlayerDataManagement,PFPlayerDataManagementServerGetUserInternalDataAsync,SecretKey,Player Data Management,ServerGetUserInternalData,false,No,Yes,No,No -PF Services,PlayerDataManagement,PFPlayerDataManagementServerGetUserPublisherDataAsync,SecretKey,Player Data Management,ServerGetUserPublisherData,false,No,Yes,No,No -PF Services,PlayerDataManagement,PFPlayerDataManagementServerGetUserPublisherInternalDataAsync,SecretKey,Player Data Management,ServerGetUserPublisherInternalData,false,No,Yes,No,No -PF Services,PlayerDataManagement,PFPlayerDataManagementServerGetUserPublisherReadOnlyDataAsync,SecretKey,Player Data Management,ServerGetUserPublisherReadOnlyData,false,No,Yes,No,No -PF Services,PlayerDataManagement,PFPlayerDataManagementServerGetUserReadOnlyDataAsync,SecretKey,Player Data Management,ServerGetUserReadOnlyData,false,No,Yes,No,No -PF Services,PlayerDataManagement,PFPlayerDataManagementServerUpdateUserDataAsync,SecretKey,Player Data Management,ServerUpdateUserData,false,No,Yes,No,No -PF Services,PlayerDataManagement,PFPlayerDataManagementServerUpdateUserInternalDataAsync,SecretKey,Player Data Management,ServerUpdateUserInternalData,false,No,Yes,No,No -PF Services,PlayerDataManagement,PFPlayerDataManagementServerUpdateUserPublisherDataAsync,SecretKey,Player Data Management,ServerUpdateUserPublisherData,false,No,Yes,No,No -PF Services,PlayerDataManagement,PFPlayerDataManagementServerUpdateUserPublisherInternalDataAsync,SecretKey,Player Data Management,ServerUpdateUserPublisherInternalData,false,No,Yes,No,No -PF Services,PlayerDataManagement,PFPlayerDataManagementServerUpdateUserPublisherReadOnlyDataAsync,SecretKey,Player Data Management,ServerUpdateUserPublisherReadOnlyData,false,No,Yes,No,No -PF Services,PlayerDataManagement,PFPlayerDataManagementServerUpdateUserReadOnlyDataAsync,SecretKey,Player Data Management,ServerUpdateUserReadOnlyData,false,No,Yes,No,No -PF Services,Economy,PFEconomyAdminRefundPurchaseAsync,SecretKey,Player Data Management,AdminRefundPurchase,false,No,No,No,No -PF Services,Economy,PFEconomyAdminResolvePurchaseDisputeAsync,SecretKey,Player Data Management,AdminResolvePurchaseDispute,false,No,No,No,No -PF Services,Character,PFCharacterAdminResetCharacterStatisticsAsync,SecretKey,Characters,AdminResetCharacterStatistics,false,No,No,No,No -PF Services,Character,PFCharacterClientGetAllUsersCharactersAsync,SessionTicket,Characters,ClientGetAllUsersCharacters,false,No,No,No,No -PF Services,Character,PFCharacterClientGetCharacterDataAsync,SessionTicket,Character Data,ClientGetCharacterData,false,No,No,No,No -PF Services,Character,PFCharacterClientGetCharacterLeaderboardAsync,SessionTicket,Characters,ClientGetCharacterLeaderboard,false,No,No,No,No -PF Services,Character,PFCharacterClientGetCharacterReadOnlyDataAsync,SessionTicket,Character Data,ClientGetCharacterReadOnlyData,false,No,No,No,No -PF Services,Character,PFCharacterClientGetCharacterStatisticsAsync,SessionTicket,Characters,ClientGetCharacterStatistics,false,No,No,No,No -PF Services,Character,PFCharacterClientGetLeaderboardAroundCharacterAsync,SessionTicket,Characters,ClientGetLeaderboardAroundCharacter,false,No,No,No,No -PF Services,Character,PFCharacterClientGetLeaderboardForUserCharactersAsync,SessionTicket,Characters,ClientGetLeaderboardForUserCharacters,false,No,No,No,No -PF Services,Character,PFCharacterClientGrantCharacterToUserAsync,SessionTicket,Characters,ClientGrantCharacterToUser,false,No,No,No,No -PF Services,Character,PFCharacterClientUpdateCharacterDataAsync,SessionTicket,Character Data,ClientUpdateCharacterData,false,No,No,No,No -PF Services,Character,PFCharacterClientUpdateCharacterStatisticsAsync,SessionTicket,Characters,ClientUpdateCharacterStatistics,false,No,No,No,No -PF Services,Character,PFCharacterServerDeleteCharacterFromUserAsync,SecretKey,Characters,ServerDeleteCharacterFromUser,false,No,No,No,No -PF Services,Character,PFCharacterServerGetAllUsersCharactersAsync,SecretKey,Characters,ServerGetAllUsersCharacters,false,No,No,No,No -PF Services,Character,PFCharacterServerGetCharacterDataAsync,SecretKey,Character Data,ServerGetCharacterData,false,No,No,No,No -PF Services,Character,PFCharacterServerGetCharacterInternalDataAsync,SecretKey,Character Data,ServerGetCharacterInternalData,false,No,No,No,No -PF Services,Character,PFCharacterServerGetCharacterLeaderboardAsync,SecretKey,Characters,ServerGetCharacterLeaderboard,false,No,No,No,No -PF Services,Character,PFCharacterServerGetCharacterReadOnlyDataAsync,SecretKey,Character Data,ServerGetCharacterReadOnlyData,false,No,No,No,No -PF Services,Character,PFCharacterServerGetCharacterStatisticsAsync,SecretKey,Characters,ServerGetCharacterStatistics,false,No,No,No,No -PF Services,Character,PFCharacterServerGetLeaderboardAroundCharacterAsync,SecretKey,Characters,ServerGetLeaderboardAroundCharacter,false,No,No,No,No -PF Services,Character,PFCharacterServerGetLeaderboardForUserCharactersAsync,SecretKey,Characters,ServerGetLeaderboardForUserCharacters,false,No,No,No,No -PF Services,Character,PFCharacterServerGrantCharacterToUserAsync,SecretKey,Characters,ServerGrantCharacterToUser,false,No,No,No,No -PF Services,Character,PFCharacterServerUpdateCharacterDataAsync,SecretKey,Character Data,ServerUpdateCharacterData,false,No,No,No,No -PF Services,Character,PFCharacterServerUpdateCharacterInternalDataAsync,SecretKey,Character Data,ServerUpdateCharacterInternalData,false,No,No,No,No -PF Services,Character,PFCharacterServerUpdateCharacterReadOnlyDataAsync,SecretKey,Character Data,ServerUpdateCharacterReadOnlyData,false,No,No,No,No -PF Services,Character,PFCharacterServerUpdateCharacterStatisticsAsync,SecretKey,Characters,ServerUpdateCharacterStatistics,false,No,No,No,No -PF Services,Trading,PFTradingClientAcceptTradeAsync,SessionTicket,Trading,ClientAcceptTrade,false,No,No,No,No -PF Services,Trading,PFTradingClientCancelTradeAsync,SessionTicket,Trading,ClientCancelTrade,false,No,No,No,No -PF Services,Trading,PFTradingClientGetPlayerTradesAsync,SessionTicket,Trading,ClientGetPlayerTrades,false,No,No,No,No -PF Services,Trading,PFTradingClientGetTradeStatusAsync,SessionTicket,Trading,ClientGetTradeStatus,false,No,No,No,No -PF Services,Trading,PFTradingClientOpenTradeAsync,SessionTicket,Trading,ClientOpenTrade,false,No,No,No,No -PF Services,Friends,PFFriendsClientAddFriendAsync,SessionTicket,Friend List Management,ClientAddFriend,false,Yes,Yes,Yes,Yes -PF Services,Friends,PFFriendsClientGetFriendsListAsync,SessionTicket,Friend List Management,ClientGetFriendsList,false,Yes,Yes,Yes,Yes -PF Services,Friends,PFFriendsClientRemoveFriendAsync,SessionTicket,Friend List Management,ClientRemoveFriend,false,Yes,Yes,Yes,Yes -PF Services,Friends,PFFriendsClientSetFriendTagsAsync,SessionTicket,Friend List Management,ClientSetFriendTags,false,Yes,Yes,Yes,Yes -PF Services,Friends,PFFriendsServerAddFriendAsync,SecretKey,Friend List Management,ServerAddFriend,false,No,Yes,No,No -PF Services,Friends,PFFriendsServerGetFriendsListAsync,SecretKey,Friend List Management,ServerGetFriendsList,false,No,Yes,No,No -PF Services,Friends,PFFriendsServerRemoveFriendAsync,SecretKey,Friend List Management,ServerRemoveFriend,false,No,Yes,No,No -PF Services,Friends,PFFriendsServerSetFriendTagsAsync,SecretKey,Friend List Management,ServerSetFriendTags,false,No,Yes,No,No -PF Services,SharedGroups,PFSharedGroupsClientAddSharedGroupMembersAsync,SessionTicket,Shared Group Data,ClientAddSharedGroupMembers,false,No,No,No,No -PF Services,SharedGroups,PFSharedGroupsClientCreateSharedGroupAsync,SessionTicket,Shared Group Data,ClientCreateSharedGroup,false,No,No,No,No -PF Services,SharedGroups,PFSharedGroupsClientGetSharedGroupDataAsync,SessionTicket,Shared Group Data,ClientGetSharedGroupData,false,No,No,No,No -PF Services,SharedGroups,PFSharedGroupsClientRemoveSharedGroupMembersAsync,SessionTicket,Shared Group Data,ClientRemoveSharedGroupMembers,false,No,No,No,No -PF Services,SharedGroups,PFSharedGroupsClientUpdateSharedGroupDataAsync,SessionTicket,Shared Group Data,ClientUpdateSharedGroupData,false,No,No,No,No -PF Services,SharedGroups,PFSharedGroupsServerAddSharedGroupMembersAsync,SecretKey,Shared Group Data,ServerAddSharedGroupMembers,false,No,No,No,No -PF Services,SharedGroups,PFSharedGroupsServerCreateSharedGroupAsync,SecretKey,Shared Group Data,ServerCreateSharedGroup,false,No,No,No,No -PF Services,SharedGroups,PFSharedGroupsServerDeleteSharedGroupAsync,SecretKey,Shared Group Data,ServerDeleteSharedGroup,false,No,No,No,No -PF Services,SharedGroups,PFSharedGroupsServerGetSharedGroupDataAsync,SecretKey,Shared Group Data,ServerGetSharedGroupData,false,No,No,No,No -PF Services,SharedGroups,PFSharedGroupsServerRemoveSharedGroupMembersAsync,SecretKey,Shared Group Data,ServerRemoveSharedGroupMembers,false,No,No,No,No -PF Services,SharedGroups,PFSharedGroupsServerUpdateSharedGroupDataAsync,SecretKey,Shared Group Data,ServerUpdateSharedGroupData,false,No,No,No,No -PF Services,PlatformSpecific,PFPlatformSpecificClientAndroidDevicePushNotificationRegistrationAsync,SessionTicket,Platform Specific Methods,ClientAndroidDevicePushNotificationRegistration,false,No,No,No,No -PF Services,PlatformSpecific,PFPlatformSpecificClientConsumeMicrosoftStoreEntitlementsAsync,SessionTicket,Platform Specific Methods,ClientConsumeMicrosoftStoreEntitlements,false,No,No,No,No -PF Services,PlatformSpecific,PFPlatformSpecificClientConsumePS5EntitlementsAsync,SessionTicket,Platform Specific Methods,ClientConsumePS5Entitlements,false,No,No,No,No -PF Services,PlatformSpecific,PFPlatformSpecificClientConsumePSNEntitlementsAsync,SessionTicket,Platform Specific Methods,ClientConsumePSNEntitlements,false,No,No,No,No -PF Services,PlatformSpecific,PFPlatformSpecificClientConsumeXboxEntitlementsAsync,SessionTicket,Platform Specific Methods,ClientConsumeXboxEntitlements,false,No,No,No,No -PF Services,PlatformSpecific,PFPlatformSpecificClientRefreshPSNAuthTokenAsync,SessionTicket,Platform Specific Methods,ClientRefreshPSNAuthToken,false,No,No,No,No -PF Services,PlatformSpecific,PFPlatformSpecificClientRegisterForIOSPushNotificationAsync,SessionTicket,Platform Specific Methods,ClientRegisterForIOSPushNotification,false,No,No,No,No -PF Services,PlatformSpecific,PFPlatformSpecificClientRestoreIOSPurchasesAsync,SessionTicket,Platform Specific Methods,ClientRestoreIOSPurchases,false,No,No,No,No -PF Services,PlatformSpecific,PFPlatformSpecificClientValidateAmazonIAPReceiptAsync,SessionTicket,Platform Specific Methods,ClientValidateAmazonIAPReceipt,false,No,No,No,No -PF Services,PlatformSpecific,PFPlatformSpecificClientValidateGooglePlayPurchaseAsync,SessionTicket,Platform Specific Methods,ClientValidateGooglePlayPurchase,false,No,No,No,No -PF Services,PlatformSpecific,PFPlatformSpecificClientValidateIOSReceiptAsync,SessionTicket,Platform Specific Methods,ClientValidateIOSReceipt,false,No,No,No,No -PF Services,PlatformSpecific,PFPlatformSpecificClientValidateWindowsStoreReceiptAsync,SessionTicket,Platform Specific Methods,ClientValidateWindowsStoreReceipt,false,No,No,No,No -PF Services,PlatformSpecific,PFPlatformSpecificServerAwardSteamAchievementAsync,SecretKey,Platform Specific Methods,ServerAwardSteamAchievement,false,No,Yes,No,No -PF Services,Advertising,PFAdvertisingClientAttributeInstallAsync,SessionTicket,Advertising,ClientAttributeInstall,false,No,No,No,No -PF Services,Advertising,PFAdvertisingClientGetAdPlacementsAsync,SessionTicket,Advertising,ClientGetAdPlacements,false,No,No,No,No -PF Services,Advertising,PFAdvertisingClientReportAdActivityAsync,SessionTicket,Advertising,ClientReportAdActivity,false,No,No,No,No -PF Services,Advertising,PFAdvertisingClientRewardAdActivityAsync,SessionTicket,Advertising,ClientRewardAdActivity,false,No,No,No,No -PF Services,Events,PFEventsClientReportDeviceInfoAsync,SessionTicket,Analytics,ClientReportDeviceInfo,false,No,No,No,No -PF Services,Events,PFEventsClientWriteCharacterEventAsync,SessionTicket,Analytics,ClientWriteCharacterEvent,false,No,No,No,No -PF Services,Events,PFEventsClientWritePlayerEventAsync,SessionTicket,Analytics,ClientWritePlayerEvent,false,No,No,No,No -PF Services,Events,PFEventsClientWriteTitleEventAsync,SessionTicket,Analytics,ClientWriteTitleEvent,false,No,No,No,No -PF Services,Events,PFEventsServerWriteCharacterEventAsync,SecretKey,Analytics,ServerWriteCharacterEvent,false,No,No,No,No -PF Services,Events,PFEventsServerWritePlayerEventAsync,SecretKey,Analytics,ServerWritePlayerEvent,false,No,No,No,No -PF Services,Events,PFEventsServerWriteTitleEventAsync,SecretKey,Analytics,ServerWriteTitleEvent,false,No,No,No,No -PF Services,Events,PFEventsCreateTelemetryKeyAsync,EntityToken,PlayStream Events,CreateTelemetryKey,false,No,No,No,No -PF Services,Events,PFEventsDeleteTelemetryKeyAsync,EntityToken,PlayStream Events,DeleteTelemetryKey,false,No,No,No,No -PF Services,Events,PFEventsGetTelemetryKeyAsync,EntityToken,PlayStream Events,GetTelemetryKey,false,No,No,No,No -PF Services,Events,PFEventsListTelemetryKeysAsync,EntityToken,PlayStream Events,ListTelemetryKeys,false,No,No,No,No -PF Services,Events,PFEventsSetTelemetryKeyActiveAsync,EntityToken,PlayStream Events,SetTelemetryKeyActive,false,No,No,No,No -PF Services,Events,PFEventsWriteEventsAsync,EntityToken,PlayStream Events,WriteEvents,false,No,No,No,No -PF Services,Events,PFEventsWriteTelemetryEventsAsync,EntityToken,PlayStream Events,WriteTelemetryEvents,false,No,No,No,No -PF Services,PushNotifications,PFPushNotificationsServerDeletePushNotificationTemplateAsync,SecretKey,Account Management,ServerDeletePushNotificationTemplate,false,No,No,No,No -PF Services,PushNotifications,PFPushNotificationsServerSavePushNotificationTemplateAsync,SecretKey,Account Management,ServerSavePushNotificationTemplate,false,No,No,No,No -PF Services,PushNotifications,PFPushNotificationsServerSendPushNotificationAsync,SecretKey,Account Management,ServerSendPushNotification,false,No,Yes,No,No -PF Services,PushNotifications,PFPushNotificationsServerSendPushNotificationFromTemplateAsync,SecretKey,Account Management,ServerSendPushNotificationFromTemplate,false,No,Yes,No,No -PF Services,Data,PFDataAbortFileUploadsAsync,EntityToken,File,AbortFileUploads,false,Yes,Yes,Yes,Yes -PF Services,Data,PFDataDeleteFilesAsync,EntityToken,File,DeleteFiles,false,Yes,Yes,Yes,Yes -PF Services,Data,PFDataFinalizeFileUploadsAsync,EntityToken,File,FinalizeFileUploads,false,Yes,Yes,Yes,Yes -PF Services,Data,PFDataGetFilesAsync,EntityToken,File,GetFiles,false,Yes,Yes,Yes,Yes -PF Services,Data,PFDataGetObjectsAsync,EntityToken,Object,GetObjects,false,Yes,Yes,Yes,Yes -PF Services,Data,PFDataInitiateFileUploadsAsync,EntityToken,File,InitiateFileUploads,false,Yes,Yes,Yes,Yes -PF Services,Data,PFDataSetObjectsAsync,EntityToken,Object,SetObjects,false,Yes,Yes,Yes,Yes -PF Services,Inventory,PFInventoryAddInventoryItemsAsync,EntityToken,Inventory,AddInventoryItems,false,Yes,Yes,Yes,Yes -PF Services,Inventory,PFInventoryDeleteInventoryCollectionAsync,EntityToken,Inventory,DeleteInventoryCollection,false,Yes,Yes,Yes,Yes -PF Services,Inventory,PFInventoryDeleteInventoryItemsAsync,EntityToken,Inventory,DeleteInventoryItems,false,Yes,Yes,Yes,Yes -PF Services,Inventory,PFInventoryExecuteInventoryOperationsAsync,EntityToken,Inventory,ExecuteInventoryOperations,false,Yes,Yes,Yes,Yes -PF Services,Inventory,PFInventoryGetInventoryCollectionIdsAsync,EntityToken,Inventory,GetInventoryCollectionIds,false,Yes,Yes,Yes,Yes -PF Services,Inventory,PFInventoryGetInventoryItemsAsync,EntityToken,Inventory,GetInventoryItems,false,Yes,Yes,Yes,Yes -PF Services,Inventory,PFInventoryGetMicrosoftStoreAccessTokensAsync,EntityToken,Inventory,GetMicrosoftStoreAccessTokens,false,Yes,Yes,No,No -PF Services,Inventory,PFInventoryGetTransactionHistoryAsync,EntityToken,Inventory,GetTransactionHistory,false,No,Yes,No,No -PF Services,Inventory,PFInventoryPurchaseInventoryItemsAsync,EntityToken,Inventory,PurchaseInventoryItems,false,Yes,Yes,Yes,Yes -PF Services,Inventory,PFInventoryRedeemAppleAppStoreInventoryItemsAsync,EntityToken,Inventory,RedeemAppleAppStoreInventoryItems,false,No,No,No,No -PF Services,Inventory,PFInventoryRedeemGooglePlayInventoryItemsAsync,EntityToken,Inventory,RedeemGooglePlayInventoryItems,false,No,No,No,No -PF Services,Inventory,PFInventoryRedeemMicrosoftStoreInventoryItemsAsync,EntityToken,Inventory,RedeemMicrosoftStoreInventoryItems,false,Yes,Yes,No,No -PF Services,Inventory,PFInventoryRedeemNintendoEShopInventoryItemsAsync,EntityToken,Inventory,RedeemNintendoEShopInventoryItems,false,No,No,Yes,No -PF Services,Inventory,PFInventoryRedeemPlayStationStoreInventoryItemsAsync,EntityToken,Inventory,RedeemPlayStationStoreInventoryItems,false,No,No,No,Yes -PF Services,Inventory,PFInventoryRedeemSteamInventoryItemsAsync,EntityToken,Inventory,RedeemSteamInventoryItems,false,No,Yes,No,No -PF Services,Inventory,PFInventorySubtractInventoryItemsAsync,EntityToken,Inventory,SubtractInventoryItems,false,Yes,Yes,Yes,Yes -PF Services,Inventory,PFInventoryTransferInventoryItemsAsync,EntityToken,Inventory,TransferInventoryItems,false,Yes,Yes,Yes,Yes -PF Services,Inventory,PFInventoryUpdateInventoryItemsAsync,EntityToken,Inventory,UpdateInventoryItems,false,Yes,Yes,Yes,Yes -PF Services,Catalog,PFCatalogCreateDraftItemAsync,EntityToken,Catalog,CreateDraftItem,false,Yes,Yes,Yes,Yes -PF Services,Catalog,PFCatalogCreateUploadUrlsAsync,EntityToken,Catalog,CreateUploadUrls,false,Yes,Yes,Yes,Yes -PF Services,Catalog,PFCatalogDeleteEntityItemReviewsAsync,EntityToken,Catalog,DeleteEntityItemReviews,false,No,No,No,No -PF Services,Catalog,PFCatalogDeleteItemAsync,EntityToken,Catalog,DeleteItem,false,Yes,Yes,Yes,Yes -PF Services,Catalog,PFCatalogGetCatalogConfigAsync,EntityToken,Catalog,GetCatalogConfig,false,No,No,No,No -PF Services,Catalog,PFCatalogGetDraftItemAsync,EntityToken,Catalog,GetDraftItem,false,Yes,Yes,Yes,Yes -PF Services,Catalog,PFCatalogGetDraftItemsAsync,EntityToken,Catalog,GetDraftItems,false,Yes,Yes,Yes,Yes -PF Services,Catalog,PFCatalogGetEntityDraftItemsAsync,EntityToken,Catalog,GetEntityDraftItems,false,Yes,Yes,Yes,Yes -PF Services,Catalog,PFCatalogGetEntityItemReviewAsync,EntityToken,Catalog,GetEntityItemReview,false,Yes,Yes,Yes,Yes -PF Services,Catalog,PFCatalogGetItemAsync,EntityToken,Catalog,GetItem,false,Yes,Yes,Yes,Yes -PF Services,Catalog,PFCatalogGetItemContainersAsync,EntityToken,Catalog,GetItemContainers,false,Yes,Yes,Yes,Yes -PF Services,Catalog,PFCatalogGetItemModerationStateAsync,EntityToken,Catalog,GetItemModerationState,false,No,No,No,No -PF Services,Catalog,PFCatalogGetItemPublishStatusAsync,EntityToken,Catalog,GetItemPublishStatus,false,Yes,Yes,Yes,Yes -PF Services,Catalog,PFCatalogGetItemReviewsAsync,EntityToken,Catalog,GetItemReviews,false,Yes,Yes,Yes,Yes -PF Services,Catalog,PFCatalogGetItemReviewSummaryAsync,EntityToken,Catalog,GetItemReviewSummary,false,Yes,Yes,Yes,Yes -PF Services,Catalog,PFCatalogGetItemsAsync,EntityToken,Catalog,GetItems,false,Yes,Yes,Yes,Yes -PF Services,Catalog,PFCatalogPublishDraftItemAsync,EntityToken,Catalog,PublishDraftItem,false,Yes,Yes,Yes,Yes -PF Services,Catalog,PFCatalogReportItemAsync,EntityToken,Catalog,ReportItem,false,Yes,Yes,Yes,Yes -PF Services,Catalog,PFCatalogReportItemReviewAsync,EntityToken,Catalog,ReportItemReview,false,Yes,Yes,Yes,Yes -PF Services,Catalog,PFCatalogReviewItemAsync,EntityToken,Catalog,ReviewItem,false,Yes,Yes,Yes,Yes -PF Services,Catalog,PFCatalogSearchItemsAsync,EntityToken,Catalog,SearchItems,false,Yes,Yes,Yes,Yes -PF Services,Catalog,PFCatalogSetItemModerationStateAsync,EntityToken,Catalog,SetItemModerationState,false,No,No,No,No -PF Services,Catalog,PFCatalogSubmitItemReviewVoteAsync,EntityToken,Catalog,SubmitItemReviewVote,false,Yes,Yes,Yes,Yes -PF Services,Catalog,PFCatalogTakedownItemReviewsAsync,EntityToken,Catalog,TakedownItemReviews,false,No,No,No,No -PF Services,Catalog,PFCatalogUpdateCatalogConfigAsync,EntityToken,Catalog,UpdateCatalogConfig,false,No,No,No,No -PF Services,Catalog,PFCatalogUpdateDraftItemAsync,EntityToken,Catalog,UpdateDraftItem,false,Yes,Yes,Yes,Yes -PF Services,Experimentation,PFExperimentationCreateExclusionGroupAsync,EntityToken,Experimentation,CreateExclusionGroup,false,No,No,No,No -PF Services,Experimentation,PFExperimentationCreateExperimentAsync,EntityToken,Experimentation,CreateExperiment,false,No,No,No,No -PF Services,Experimentation,PFExperimentationDeleteExclusionGroupAsync,EntityToken,Experimentation,DeleteExclusionGroup,false,No,No,No,No -PF Services,Experimentation,PFExperimentationDeleteExperimentAsync,EntityToken,Experimentation,DeleteExperiment,false,No,No,No,No -PF Services,Experimentation,PFExperimentationGetExclusionGroupsAsync,EntityToken,Experimentation,GetExclusionGroups,false,No,No,No,No -PF Services,Experimentation,PFExperimentationGetExclusionGroupTrafficAsync,EntityToken,Experimentation,GetExclusionGroupTraffic,false,No,No,No,No -PF Services,Experimentation,PFExperimentationGetExperimentsAsync,EntityToken,Experimentation,GetExperiments,false,No,No,No,No -PF Services,Experimentation,PFExperimentationGetLatestScorecardAsync,EntityToken,Experimentation,GetLatestScorecard,false,No,No,No,No -PF Services,Experimentation,PFExperimentationGetTreatmentAssignmentAsync,EntityToken,Experimentation,GetTreatmentAssignment,false,Yes,Yes,Yes,Yes -PF Services,Experimentation,PFExperimentationStartExperimentAsync,EntityToken,Experimentation,StartExperiment,false,No,No,No,No -PF Services,Experimentation,PFExperimentationStopExperimentAsync,EntityToken,Experimentation,StopExperiment,false,No,No,No,No -PF Services,Experimentation,PFExperimentationUpdateExclusionGroupAsync,EntityToken,Experimentation,UpdateExclusionGroup,false,No,No,No,No -PF Services,Experimentation,PFExperimentationUpdateExperimentAsync,EntityToken,Experimentation,UpdateExperiment,false,No,No,No,No -PF Services,Analytics,PFAnalyticsGetDetailsAsync,EntityToken,Analytics,GetDetails,false,No,No,No,No -PF Services,Analytics,PFAnalyticsGetLimitsAsync,EntityToken,Analytics,GetLimits,false,No,No,No,No -PF Services,Analytics,PFAnalyticsGetOperationStatusAsync,EntityToken,Analytics,GetOperationStatus,false,No,No,No,No -PF Services,Analytics,PFAnalyticsGetPendingOperationsAsync,EntityToken,Analytics,GetPendingOperations,false,No,No,No,No -PF Services,Analytics,PFAnalyticsSetPerformanceAsync,EntityToken,Analytics,SetPerformance,false,No,No,No,No -PF Services,Analytics,PFAnalyticsSetStorageRetentionAsync,EntityToken,Analytics,SetStorageRetention,false,No,No,No,No -PF Services,Groups,PFGroupsAcceptGroupApplicationAsync,EntityToken,Groups,AcceptGroupApplication,false,Yes,Yes,Yes,Yes -PF Services,Groups,PFGroupsAcceptGroupInvitationAsync,EntityToken,Groups,AcceptGroupInvitation,false,Yes,Yes,Yes,Yes -PF Services,Groups,PFGroupsAddMembersAsync,EntityToken,Groups,AddMembers,false,Yes,Yes,Yes,Yes -PF Services,Groups,PFGroupsApplyToGroupAsync,EntityToken,Groups,ApplyToGroup,false,Yes,Yes,Yes,Yes -PF Services,Groups,PFGroupsBlockEntityAsync,EntityToken,Groups,BlockEntity,false,Yes,Yes,Yes,Yes -PF Services,Groups,PFGroupsChangeMemberRoleAsync,EntityToken,Groups,ChangeMemberRole,false,Yes,Yes,Yes,Yes -PF Services,Groups,PFGroupsCreateGroupAsync,EntityToken,Groups,CreateGroup,false,Yes,Yes,Yes,Yes -PF Services,Groups,PFGroupsCreateRoleAsync,EntityToken,Groups,CreateRole,false,Yes,Yes,Yes,Yes -PF Services,Groups,PFGroupsDeleteGroupAsync,EntityToken,Groups,DeleteGroup,false,Yes,Yes,Yes,Yes -PF Services,Groups,PFGroupsDeleteRoleAsync,EntityToken,Groups,DeleteRole,false,Yes,Yes,Yes,Yes -PF Services,Groups,PFGroupsGetGroupAsync,EntityToken,Groups,GetGroup,false,Yes,Yes,Yes,Yes -PF Services,Groups,PFGroupsInviteToGroupAsync,EntityToken,Groups,InviteToGroup,false,Yes,Yes,Yes,Yes -PF Services,Groups,PFGroupsIsMemberAsync,EntityToken,Groups,IsMember,false,Yes,Yes,Yes,Yes -PF Services,Groups,PFGroupsListGroupApplicationsAsync,EntityToken,Groups,ListGroupApplications,false,Yes,Yes,Yes,Yes -PF Services,Groups,PFGroupsListGroupBlocksAsync,EntityToken,Groups,ListGroupBlocks,false,Yes,Yes,Yes,Yes -PF Services,Groups,PFGroupsListGroupInvitationsAsync,EntityToken,Groups,ListGroupInvitations,false,Yes,Yes,Yes,Yes -PF Services,Groups,PFGroupsListGroupMembersAsync,EntityToken,Groups,ListGroupMembers,false,Yes,Yes,Yes,Yes -PF Services,Groups,PFGroupsListMembershipAsync,EntityToken,Groups,ListMembership,false,Yes,Yes,Yes,Yes -PF Services,Groups,PFGroupsListMembershipOpportunitiesAsync,EntityToken,Groups,ListMembershipOpportunities,false,Yes,Yes,Yes,Yes -PF Services,Groups,PFGroupsRemoveGroupApplicationAsync,EntityToken,Groups,RemoveGroupApplication,false,Yes,Yes,Yes,Yes -PF Services,Groups,PFGroupsRemoveGroupInvitationAsync,EntityToken,Groups,RemoveGroupInvitation,false,Yes,Yes,Yes,Yes -PF Services,Groups,PFGroupsRemoveMembersAsync,EntityToken,Groups,RemoveMembers,false,Yes,Yes,Yes,Yes -PF Services,Groups,PFGroupsUnblockEntityAsync,EntityToken,Groups,UnblockEntity,false,Yes,Yes,Yes,Yes -PF Services,Groups,PFGroupsUpdateGroupAsync,EntityToken,Groups,UpdateGroup,false,Yes,Yes,Yes,Yes -PF Services,Groups,PFGroupsUpdateRoleAsync,EntityToken,Groups,UpdateRole,false,Yes,Yes,Yes,Yes -PF Services,Localization,PFLocalizationGetLanguageListAsync,EntityToken,Localization,GetLanguageList,false,No,Yes,No,No -PF Services,Matchmaking,PFMatchmakingCancelAllMatchmakingTicketsForPlayerAsync,EntityToken,Matchmaking,CancelAllMatchmakingTicketsForPlayer,false,No,No,No,No -PF Services,Matchmaking,PFMatchmakingCancelAllServerBackfillTicketsForPlayerAsync,EntityToken,Matchmaking,CancelAllServerBackfillTicketsForPlayer,false,No,No,No,No -PF Services,Matchmaking,PFMatchmakingCancelMatchmakingTicketAsync,EntityToken,Matchmaking,CancelMatchmakingTicket,false,No,No,No,No -PF Services,Matchmaking,PFMatchmakingCancelServerBackfillTicketAsync,EntityToken,Matchmaking,CancelServerBackfillTicket,false,No,No,No,No -PF Services,Matchmaking,PFMatchmakingCreateMatchmakingTicketAsync,EntityToken,Matchmaking,CreateMatchmakingTicket,false,No,No,No,No -PF Services,Matchmaking,PFMatchmakingCreateServerBackfillTicketAsync,EntityToken,Matchmaking,CreateServerBackfillTicket,false,No,No,No,No -PF Services,Matchmaking,PFMatchmakingCreateServerMatchmakingTicketAsync,EntityToken,Matchmaking,CreateServerMatchmakingTicket,false,No,No,No,No -PF Services,Matchmaking,PFMatchmakingGetMatchAsync,EntityToken,Matchmaking,GetMatch,false,No,No,No,No -PF Services,Matchmaking,PFMatchmakingGetMatchmakingTicketAsync,EntityToken,Matchmaking,GetMatchmakingTicket,false,No,No,No,No -PF Services,Matchmaking,PFMatchmakingGetQueueStatisticsAsync,EntityToken,Matchmaking,GetQueueStatistics,false,No,No,No,No -PF Services,Matchmaking,PFMatchmakingGetServerBackfillTicketAsync,EntityToken,Matchmaking,GetServerBackfillTicket,false,No,No,No,No -PF Services,Matchmaking,PFMatchmakingJoinMatchmakingTicketAsync,EntityToken,Matchmaking,JoinMatchmakingTicket,false,No,No,No,No -PF Services,Matchmaking,PFMatchmakingListMatchmakingTicketsForPlayerAsync,EntityToken,Matchmaking,ListMatchmakingTicketsForPlayer,false,No,No,No,No -PF Services,Matchmaking,PFMatchmakingListServerBackfillTicketsForPlayerAsync,EntityToken,Matchmaking,ListServerBackfillTicketsForPlayer,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerCreateBuildAliasAsync,EntityToken,MultiplayerServer,CreateBuildAlias,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerCreateBuildWithCustomContainerAsync,EntityToken,MultiplayerServer,CreateBuildWithCustomContainer,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerCreateBuildWithManagedContainerAsync,EntityToken,MultiplayerServer,CreateBuildWithManagedContainer,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerCreateBuildWithProcessBasedServerAsync,EntityToken,MultiplayerServer,CreateBuildWithProcessBasedServer,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerCreateRemoteUserAsync,EntityToken,MultiplayerServer,CreateRemoteUser,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerCreateTitleMultiplayerServersQuotaChangeAsync,EntityToken,MultiplayerServer,CreateTitleMultiplayerServersQuotaChange,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerDeleteAssetAsync,EntityToken,MultiplayerServer,DeleteAsset,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerDeleteBuildAsync,EntityToken,MultiplayerServer,DeleteBuild,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerDeleteBuildAliasAsync,EntityToken,MultiplayerServer,DeleteBuildAlias,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerDeleteBuildRegionAsync,EntityToken,MultiplayerServer,DeleteBuildRegion,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerDeleteCertificateAsync,EntityToken,MultiplayerServer,DeleteCertificate,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerDeleteContainerImageRepositoryAsync,EntityToken,MultiplayerServer,DeleteContainerImageRepository,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerDeleteRemoteUserAsync,EntityToken,MultiplayerServer,DeleteRemoteUser,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerEnableMultiplayerServersForTitleAsync,EntityToken,MultiplayerServer,EnableMultiplayerServersForTitle,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerGetAssetDownloadUrlAsync,EntityToken,MultiplayerServer,GetAssetDownloadUrl,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerGetAssetUploadUrlAsync,EntityToken,MultiplayerServer,GetAssetUploadUrl,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerGetBuildAsync,EntityToken,MultiplayerServer,GetBuild,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerGetBuildAliasAsync,EntityToken,MultiplayerServer,GetBuildAlias,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerGetContainerRegistryCredentialsAsync,EntityToken,MultiplayerServer,GetContainerRegistryCredentials,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerGetMultiplayerServerDetailsAsync,EntityToken,MultiplayerServer,GetMultiplayerServerDetails,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerGetMultiplayerServerLogsAsync,EntityToken,MultiplayerServer,GetMultiplayerServerLogs,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerGetMultiplayerSessionLogsBySessionIdAsync,EntityToken,MultiplayerServer,GetMultiplayerSessionLogsBySessionId,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerGetRemoteLoginEndpointAsync,EntityToken,MultiplayerServer,GetRemoteLoginEndpoint,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerGetTitleEnabledForMultiplayerServersStatusAsync,EntityToken,MultiplayerServer,GetTitleEnabledForMultiplayerServersStatus,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerGetTitleMultiplayerServersQuotaChangeAsync,EntityToken,MultiplayerServer,GetTitleMultiplayerServersQuotaChange,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerGetTitleMultiplayerServersQuotasAsync,EntityToken,MultiplayerServer,GetTitleMultiplayerServersQuotas,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerListArchivedMultiplayerServersAsync,EntityToken,MultiplayerServer,ListArchivedMultiplayerServers,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerListAssetSummariesAsync,EntityToken,MultiplayerServer,ListAssetSummaries,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerListBuildAliasesAsync,EntityToken,MultiplayerServer,ListBuildAliases,false,Yes,Yes,Yes,Yes -PF Services,MultiplayerServer,PFMultiplayerServerListBuildSummariesV2Async,EntityToken,MultiplayerServer,ListBuildSummariesV2,false,Yes,Yes,Yes,Yes -PF Services,MultiplayerServer,PFMultiplayerServerListCertificateSummariesAsync,EntityToken,MultiplayerServer,ListCertificateSummaries,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerListContainerImagesAsync,EntityToken,MultiplayerServer,ListContainerImages,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerListContainerImageTagsAsync,EntityToken,MultiplayerServer,ListContainerImageTags,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerListMultiplayerServersAsync,EntityToken,MultiplayerServer,ListMultiplayerServers,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerListPartyQosServersAsync,None,MultiplayerServer,ListPartyQosServers,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerListQosServersForTitleAsync,EntityToken,MultiplayerServer,ListQosServersForTitle,false,Yes,Yes,Yes,Yes -PF Services,MultiplayerServer,PFMultiplayerServerListTitleMultiplayerServersQuotaChangesAsync,EntityToken,MultiplayerServer,ListTitleMultiplayerServersQuotaChanges,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerListVirtualMachineSummariesAsync,EntityToken,MultiplayerServer,ListVirtualMachineSummaries,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerRequestMultiplayerServerAsync,EntityToken,MultiplayerServer,RequestMultiplayerServer,false,Yes,Yes,Yes,Yes -PF Services,MultiplayerServer,PFMultiplayerServerRequestPartyServiceAsync,EntityToken,MultiplayerServer,RequestPartyService,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerRolloverContainerRegistryCredentialsAsync,EntityToken,MultiplayerServer,RolloverContainerRegistryCredentials,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerShutdownMultiplayerServerAsync,EntityToken,MultiplayerServer,ShutdownMultiplayerServer,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerUntagContainerImageAsync,EntityToken,MultiplayerServer,UntagContainerImage,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerUpdateBuildAliasAsync,EntityToken,MultiplayerServer,UpdateBuildAlias,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerUpdateBuildNameAsync,EntityToken,MultiplayerServer,UpdateBuildName,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerUpdateBuildRegionAsync,EntityToken,MultiplayerServer,UpdateBuildRegion,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerUpdateBuildRegionsAsync,EntityToken,MultiplayerServer,UpdateBuildRegions,false,No,No,No,No -PF Services,MultiplayerServer,PFMultiplayerServerUploadCertificateAsync,EntityToken,MultiplayerServer,UploadCertificate,false,No,No,No,No -PF Services,Lobby,PFLobbyCreateLobbyAsync,EntityToken,Lobby,CreateLobby,false,No,No,No,No -PF Services,Lobby,PFLobbyDeleteLobbyAsync,EntityToken,Lobby,DeleteLobby,false,No,No,No,No -PF Services,Lobby,PFLobbyFindFriendLobbiesAsync,EntityToken,Lobby,FindFriendLobbies,false,No,No,No,No -PF Services,Lobby,PFLobbyFindLobbiesAsync,EntityToken,Lobby,FindLobbies,false,No,No,No,No -PF Services,Lobby,PFLobbyGetLobbyAsync,EntityToken,Lobby,GetLobby,false,No,No,No,No -PF Services,Lobby,PFLobbyInviteToLobbyAsync,EntityToken,Lobby,InviteToLobby,false,No,No,No,No -PF Services,Lobby,PFLobbyJoinArrangedLobbyAsync,EntityToken,Lobby,JoinArrangedLobby,false,No,No,No,No -PF Services,Lobby,PFLobbyJoinLobbyAsync,EntityToken,Lobby,JoinLobby,false,No,No,No,No -PF Services,Lobby,PFLobbyLeaveLobbyAsync,EntityToken,Lobby,LeaveLobby,false,No,No,No,No -PF Services,Lobby,PFLobbyRemoveMemberAsync,EntityToken,Lobby,RemoveMember,false,No,No,No,No -PF Services,Lobby,PFLobbySubscribeToLobbyResourceAsync,EntityToken,Lobby,SubscribeToLobbyResource,false,No,No,No,No -PF Services,Lobby,PFLobbyUnsubscribeFromLobbyResourceAsync,EntityToken,Lobby,UnsubscribeFromLobbyResource,false,No,No,No,No -PF Services,Lobby,PFLobbyUpdateLobbyAsync,EntityToken,Lobby,UpdateLobby,false,No,No,No,No -PF Services,Profiles,PFProfilesGetGlobalPolicyAsync,EntityToken,Account Management,GetGlobalPolicy,false,No,No,No,No -PF Services,Profiles,PFProfilesGetProfileAsync,EntityToken,Account Management,GetProfile,false,Yes,Yes,Yes,Yes -PF Services,Profiles,PFProfilesGetProfilesAsync,EntityToken,Account Management,GetProfiles,false,Yes,Yes,Yes,Yes -PF Services,Profiles,PFProfilesGetTitlePlayersFromMasterPlayerAccountIdsAsync,EntityToken,Account Management,GetTitlePlayersFromMasterPlayerAccountIds,false,Yes,Yes,Yes,Yes -PF Services,Profiles,PFProfilesSetGlobalPolicyAsync,EntityToken,Account Management,SetGlobalPolicy,false,No,No,No,No -PF Services,Profiles,PFProfilesSetProfileLanguageAsync,EntityToken,Account Management,SetProfileLanguage,false,Yes,Yes,Yes,Yes -PF Services,Profiles,PFProfilesSetProfilePolicyAsync,EntityToken,Account Management,SetProfilePolicy,false,Yes,Yes,Yes,Yes +Library,Feature Group,API Name,Auth,Subgroup,Call Name,Trimmed?,GDK?,Win32?,Switch?,PlayStation?,Linux?,Android?,iOS?,Macos? +PF Services,ScheduledTask,PFScheduledTaskAdminAbortTaskInstanceAsync,SecretKey,ScheduledTask,AdminAbortTaskInstance,false,No,No,No,No,No,No,No,No +PF Services,ScheduledTask,PFScheduledTaskAdminCreateActionsOnPlayersInSegmentTaskAsync,SecretKey,ScheduledTask,AdminCreateActionsOnPlayersInSegmentTask,false,No,No,No,No,No,No,No,No +PF Services,ScheduledTask,PFScheduledTaskAdminCreateCloudScriptTaskAsync,SecretKey,ScheduledTask,AdminCreateCloudScriptTask,false,No,No,No,No,No,No,No,No +PF Services,ScheduledTask,PFScheduledTaskAdminCreateInsightsScheduledScalingTaskAsync,SecretKey,ScheduledTask,AdminCreateInsightsScheduledScalingTask,false,No,No,No,No,No,No,No,No +PF Services,ScheduledTask,PFScheduledTaskAdminDeleteTaskAsync,SecretKey,ScheduledTask,AdminDeleteTask,false,No,No,No,No,No,No,No,No +PF Services,ScheduledTask,PFScheduledTaskAdminGetActionsOnPlayersInSegmentTaskInstanceAsync,SecretKey,ScheduledTask,AdminGetActionsOnPlayersInSegmentTaskInstance,false,No,No,No,No,No,No,No,No +PF Services,ScheduledTask,PFScheduledTaskAdminGetCloudScriptTaskInstanceAsync,SecretKey,ScheduledTask,AdminGetCloudScriptTaskInstance,false,No,No,No,No,No,No,No,No +PF Services,ScheduledTask,PFScheduledTaskAdminGetTaskInstancesAsync,SecretKey,ScheduledTask,AdminGetTaskInstances,false,No,No,No,No,No,No,No,No +PF Services,ScheduledTask,PFScheduledTaskAdminGetTasksAsync,SecretKey,ScheduledTask,AdminGetTasks,false,No,No,No,No,No,No,No,No +PF Services,ScheduledTask,PFScheduledTaskAdminRunTaskAsync,SecretKey,ScheduledTask,AdminRunTask,false,No,No,No,No,No,No,No,No +PF Services,ScheduledTask,PFScheduledTaskAdminUpdateTaskAsync,SecretKey,ScheduledTask,AdminUpdateTask,false,No,No,No,No,No,No,No,No +PF Services,TitleDataManagement,PFTitleDataManagementAdminAddLocalizedNewsAsync,SecretKey,Title-Wide Data Management,AdminAddLocalizedNews,false,No,No,No,No,No,No,No,No +PF Services,TitleDataManagement,PFTitleDataManagementAdminAddNewsAsync,SecretKey,Title-Wide Data Management,AdminAddNews,false,No,No,No,No,No,No,No,No +PF Services,TitleDataManagement,PFTitleDataManagementAdminAddVirtualCurrencyTypesAsync,SecretKey,Title-Wide Data Management,AdminAddVirtualCurrencyTypes,false,No,No,No,No,No,No,No,No +PF Services,TitleDataManagement,PFTitleDataManagementAdminDeleteStoreAsync,SecretKey,Title-Wide Data Management,AdminDeleteStore,false,No,No,No,No,No,No,No,No +PF Services,TitleDataManagement,PFTitleDataManagementAdminDeleteTitleDataOverrideAsync,SecretKey,Title-Wide Data Management,AdminDeleteTitleDataOverride,false,No,No,No,No,No,No,No,No +PF Services,TitleDataManagement,PFTitleDataManagementAdminGetCatalogItemsAsync,SecretKey,Title-Wide Data Management,AdminGetCatalogItems,false,No,No,No,No,No,No,No,No +PF Services,TitleDataManagement,PFTitleDataManagementAdminGetPublisherDataAsync,SecretKey,Title-Wide Data Management,AdminGetPublisherData,false,No,No,No,No,No,No,No,No +PF Services,TitleDataManagement,PFTitleDataManagementAdminGetRandomResultTablesAsync,SecretKey,Title-Wide Data Management,AdminGetRandomResultTables,false,No,No,No,No,No,No,No,No +PF Services,TitleDataManagement,PFTitleDataManagementAdminGetStoreItemsAsync,SecretKey,Title-Wide Data Management,AdminGetStoreItems,false,No,No,No,No,No,No,No,No +PF Services,TitleDataManagement,PFTitleDataManagementAdminGetTitleDataAsync,SecretKey,Title-Wide Data Management,AdminGetTitleData,false,No,No,No,No,No,No,No,No +PF Services,TitleDataManagement,PFTitleDataManagementAdminGetTitleInternalDataAsync,SecretKey,Title-Wide Data Management,AdminGetTitleInternalData,false,No,No,No,No,No,No,No,No +PF Services,TitleDataManagement,PFTitleDataManagementAdminListVirtualCurrencyTypesAsync,SecretKey,Title-Wide Data Management,AdminListVirtualCurrencyTypes,false,No,No,No,No,No,No,No,No +PF Services,TitleDataManagement,PFTitleDataManagementAdminRemoveVirtualCurrencyTypesAsync,SecretKey,Title-Wide Data Management,AdminRemoveVirtualCurrencyTypes,false,No,No,No,No,No,No,No,No +PF Services,TitleDataManagement,PFTitleDataManagementAdminSetCatalogItemsAsync,SecretKey,Title-Wide Data Management,AdminSetCatalogItems,false,No,No,No,No,No,No,No,No +PF Services,TitleDataManagement,PFTitleDataManagementAdminSetPublisherDataAsync,SecretKey,Shared Group Data,AdminSetPublisherData,false,No,No,No,No,No,No,No,No +PF Services,TitleDataManagement,PFTitleDataManagementAdminSetStoreItemsAsync,SecretKey,Title-Wide Data Management,AdminSetStoreItems,false,No,No,No,No,No,No,No,No +PF Services,TitleDataManagement,PFTitleDataManagementAdminSetTitleDataAsync,SecretKey,Title-Wide Data Management,AdminSetTitleData,false,No,No,No,No,No,No,No,No +PF Services,TitleDataManagement,PFTitleDataManagementAdminSetTitleDataAndOverridesAsync,SecretKey,Title-Wide Data Management,AdminSetTitleDataAndOverrides,false,No,No,No,No,No,No,No,No +PF Services,TitleDataManagement,PFTitleDataManagementAdminSetTitleInternalDataAsync,SecretKey,Title-Wide Data Management,AdminSetTitleInternalData,false,No,No,No,No,No,No,No,No +PF Services,TitleDataManagement,PFTitleDataManagementAdminSetupPushNotificationAsync,SecretKey,Title-Wide Data Management,AdminSetupPushNotification,false,No,No,No,No,No,No,No,No +PF Services,TitleDataManagement,PFTitleDataManagementAdminUpdateCatalogItemsAsync,SecretKey,Title-Wide Data Management,AdminUpdateCatalogItems,false,No,No,No,No,No,No,No,No +PF Services,TitleDataManagement,PFTitleDataManagementAdminUpdateRandomResultTablesAsync,SecretKey,Title-Wide Data Management,AdminUpdateRandomResultTables,false,No,No,No,No,No,No,No,No +PF Services,TitleDataManagement,PFTitleDataManagementAdminUpdateStoreItemsAsync,SecretKey,Title-Wide Data Management,AdminUpdateStoreItems,false,No,No,No,No,No,No,No,No +PF Services,TitleDataManagement,PFTitleDataManagementClientGetCatalogItemsAsync,SessionTicket,Title-Wide Data Management,ClientGetCatalogItems,false,No,No,No,No,No,No,No,No +PF Services,TitleDataManagement,PFTitleDataManagementClientGetPublisherDataAsync,SessionTicket,Title-Wide Data Management,ClientGetPublisherData,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,TitleDataManagement,PFTitleDataManagementClientGetStoreItemsAsync,SessionTicket,Title-Wide Data Management,ClientGetStoreItems,false,No,No,No,No,No,No,No,No +PF Services,TitleDataManagement,PFTitleDataManagementClientGetTimeAsync,SessionTicket,Title-Wide Data Management,ClientGetTime,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,TitleDataManagement,PFTitleDataManagementClientGetTitleDataAsync,SessionTicket,Title-Wide Data Management,ClientGetTitleData,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,TitleDataManagement,PFTitleDataManagementClientGetTitleNewsAsync,SessionTicket,Title-Wide Data Management,ClientGetTitleNews,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,TitleDataManagement,PFTitleDataManagementServerGetCatalogItemsAsync,SecretKey,Title-Wide Data Management,ServerGetCatalogItems,false,No,No,No,No,No,No,No,No +PF Services,TitleDataManagement,PFTitleDataManagementServerGetPublisherDataAsync,SecretKey,Title-Wide Data Management,ServerGetPublisherData,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,TitleDataManagement,PFTitleDataManagementServerGetStoreItemsAsync,SecretKey,Title-Wide Data Management,ServerGetStoreItems,false,No,No,No,No,No,No,No,No +PF Services,TitleDataManagement,PFTitleDataManagementServerGetTimeAsync,SecretKey,Title-Wide Data Management,ServerGetTime,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,TitleDataManagement,PFTitleDataManagementServerGetTitleDataAsync,SecretKey,Title-Wide Data Management,ServerGetTitleData,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,TitleDataManagement,PFTitleDataManagementServerGetTitleInternalDataAsync,SecretKey,Title-Wide Data Management,ServerGetTitleInternalData,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,TitleDataManagement,PFTitleDataManagementServerGetTitleNewsAsync,SecretKey,Title-Wide Data Management,ServerGetTitleNews,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,TitleDataManagement,PFTitleDataManagementServerSetPublisherDataAsync,SecretKey,Title-Wide Data Management,ServerSetPublisherData,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,TitleDataManagement,PFTitleDataManagementServerSetTitleDataAsync,SecretKey,Title-Wide Data Management,ServerSetTitleData,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,TitleDataManagement,PFTitleDataManagementServerSetTitleInternalDataAsync,SecretKey,Title-Wide Data Management,ServerSetTitleInternalData,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,Segments,PFSegmentsAdminAddPlayerTagAsync,SecretKey,PlayStream,AdminAddPlayerTag,false,No,No,No,No,No,No,No,No +PF Services,Segments,PFSegmentsAdminCreateSegmentAsync,SecretKey,Segments,AdminCreateSegment,false,No,No,No,No,No,No,No,No +PF Services,Segments,PFSegmentsAdminDeleteSegmentAsync,SecretKey,Segments,AdminDeleteSegment,false,No,No,No,No,No,No,No,No +PF Services,Segments,PFSegmentsAdminExportPlayersInSegmentAsync,SecretKey,PlayStream,AdminExportPlayersInSegment,false,No,No,No,No,No,No,No,No +PF Services,Segments,PFSegmentsAdminGetAllSegmentsAsync,SecretKey,PlayStream,AdminGetAllSegments,false,No,No,No,No,No,No,No,No +PF Services,Segments,PFSegmentsAdminGetPlayerSegmentsAsync,SecretKey,PlayStream,AdminGetPlayerSegments,false,No,No,No,No,No,No,No,No +PF Services,Segments,PFSegmentsAdminGetPlayersInSegmentAsync,SecretKey,PlayStream,AdminGetPlayersInSegment,false,No,No,No,No,No,No,No,No +PF Services,Segments,PFSegmentsAdminGetPlayerTagsAsync,SecretKey,PlayStream,AdminGetPlayerTags,false,No,No,No,No,No,No,No,No +PF Services,Segments,PFSegmentsAdminGetSegmentExportAsync,SecretKey,PlayStream,AdminGetSegmentExport,false,No,No,No,No,No,No,No,No +PF Services,Segments,PFSegmentsAdminGetSegmentsAsync,SecretKey,Segments,AdminGetSegments,false,No,No,No,No,No,No,No,No +PF Services,Segments,PFSegmentsAdminRemovePlayerTagAsync,SecretKey,PlayStream,AdminRemovePlayerTag,false,No,No,No,No,No,No,No,No +PF Services,Segments,PFSegmentsAdminUpdateSegmentAsync,SecretKey,Segments,AdminUpdateSegment,false,No,No,No,No,No,No,No,No +PF Services,Segments,PFSegmentsClientGetPlayerSegmentsAsync,SessionTicket,PlayStream,ClientGetPlayerSegments,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Segments,PFSegmentsClientGetPlayerTagsAsync,SessionTicket,PlayStream,ClientGetPlayerTags,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Segments,PFSegmentsServerAddPlayerTagAsync,SecretKey,PlayStream,ServerAddPlayerTag,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,Segments,PFSegmentsServerGetAllSegmentsAsync,SecretKey,PlayStream,ServerGetAllSegments,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,Segments,PFSegmentsServerGetPlayerSegmentsAsync,SecretKey,PlayStream,ServerGetPlayerSegments,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,Segments,PFSegmentsServerGetPlayersInSegmentAsync,SecretKey,PlayStream,ServerGetPlayersInSegment,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,Segments,PFSegmentsServerGetPlayerTagsAsync,SecretKey,PlayStream,ServerGetPlayerTags,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,Segments,PFSegmentsServerRemovePlayerTagAsync,SecretKey,PlayStream,ServerRemovePlayerTag,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,PlayerItemManagement,PFPlayerItemManagementAdminAddUserVirtualCurrencyAsync,SecretKey,Player Item Management,AdminAddUserVirtualCurrency,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementAdminCheckLimitedEditionItemAvailabilityAsync,SecretKey,Player Item Management,AdminCheckLimitedEditionItemAvailability,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementAdminGetUserInventoryAsync,SecretKey,Player Item Management,AdminGetUserInventory,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementAdminGrantItemsToUsersAsync,SecretKey,Player Item Management,AdminGrantItemsToUsers,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementAdminIncrementLimitedEditionItemAvailabilityAsync,SecretKey,Player Item Management,AdminIncrementLimitedEditionItemAvailability,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementAdminRevokeInventoryItemAsync,SecretKey,Player Item Management,AdminRevokeInventoryItem,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementAdminRevokeInventoryItemsAsync,SecretKey,Player Item Management,AdminRevokeInventoryItems,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementAdminSubtractUserVirtualCurrencyAsync,SecretKey,Player Item Management,AdminSubtractUserVirtualCurrency,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementClientAddUserVirtualCurrencyAsync,SessionTicket,Player Item Management,ClientAddUserVirtualCurrency,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementClientConfirmPurchaseAsync,SessionTicket,Player Item Management,ClientConfirmPurchase,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementClientConsumeItemAsync,SessionTicket,Player Item Management,ClientConsumeItem,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementClientGetCharacterInventoryAsync,SessionTicket,Player Item Management,ClientGetCharacterInventory,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementClientGetPaymentTokenAsync,SessionTicket,Player Item Management,ClientGetPaymentToken,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementClientGetPurchaseAsync,SessionTicket,Player Item Management,ClientGetPurchase,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementClientGetUserInventoryAsync,SessionTicket,Player Item Management,ClientGetUserInventory,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementClientPayForPurchaseAsync,SessionTicket,Player Item Management,ClientPayForPurchase,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementClientPurchaseItemAsync,SessionTicket,Player Item Management,ClientPurchaseItem,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementClientRedeemCouponAsync,SessionTicket,Player Item Management,ClientRedeemCoupon,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementClientStartPurchaseAsync,SessionTicket,Player Item Management,ClientStartPurchase,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementClientSubtractUserVirtualCurrencyAsync,SessionTicket,Player Item Management,ClientSubtractUserVirtualCurrency,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementClientUnlockContainerInstanceAsync,SessionTicket,Player Item Management,ClientUnlockContainerInstance,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementClientUnlockContainerItemAsync,SessionTicket,Player Item Management,ClientUnlockContainerItem,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementServerAddCharacterVirtualCurrencyAsync,SecretKey,Player Item Management,ServerAddCharacterVirtualCurrency,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementServerAddUserVirtualCurrencyAsync,SecretKey,Player Item Management,ServerAddUserVirtualCurrency,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementServerConsumeItemAsync,SecretKey,Player Item Management,ServerConsumeItem,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementServerEvaluateRandomResultTableAsync,SecretKey,Player Item Management,ServerEvaluateRandomResultTable,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementServerGetCharacterInventoryAsync,SecretKey,Player Item Management,ServerGetCharacterInventory,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementServerGetRandomResultTablesAsync,SecretKey,Player Item Management,ServerGetRandomResultTables,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementServerGetUserInventoryAsync,SecretKey,Player Item Management,ServerGetUserInventory,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementServerGrantItemsToCharacterAsync,SecretKey,Player Item Management,ServerGrantItemsToCharacter,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementServerGrantItemsToUserAsync,SecretKey,Player Item Management,ServerGrantItemsToUser,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementServerGrantItemsToUsersAsync,SecretKey,Player Item Management,ServerGrantItemsToUsers,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementServerModifyItemUsesAsync,SecretKey,Player Item Management,ServerModifyItemUses,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementServerMoveItemToCharacterFromCharacterAsync,SecretKey,Player Item Management,ServerMoveItemToCharacterFromCharacter,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementServerMoveItemToCharacterFromUserAsync,SecretKey,Player Item Management,ServerMoveItemToCharacterFromUser,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementServerMoveItemToUserFromCharacterAsync,SecretKey,Player Item Management,ServerMoveItemToUserFromCharacter,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementServerRedeemCouponAsync,SecretKey,Player Item Management,ServerRedeemCoupon,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementServerReportPlayerAsync,SecretKey,Player Item Management,ServerReportPlayer,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,PlayerItemManagement,PFPlayerItemManagementServerRevokeInventoryItemAsync,SecretKey,Player Item Management,ServerRevokeInventoryItem,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementServerRevokeInventoryItemsAsync,SecretKey,Player Item Management,ServerRevokeInventoryItems,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementServerSubtractCharacterVirtualCurrencyAsync,SecretKey,Player Item Management,ServerSubtractCharacterVirtualCurrency,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementServerSubtractUserVirtualCurrencyAsync,SecretKey,Player Item Management,ServerSubtractUserVirtualCurrency,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementServerUnlockContainerInstanceAsync,SecretKey,Player Item Management,ServerUnlockContainerInstance,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementServerUnlockContainerItemAsync,SecretKey,Player Item Management,ServerUnlockContainerItem,false,No,No,No,No,No,No,No,No +PF Services,PlayerItemManagement,PFPlayerItemManagementServerUpdateUserInventoryItemCustomDataAsync,SecretKey,Player Item Management,ServerUpdateUserInventoryItemCustomData,false,No,No,No,No,No,No,No,No +PF Services,AccountManagement,PFAccountManagementAdminBanUsersAsync,SecretKey,Account Management,AdminBanUsers,false,No,No,No,No,No,No,No,No +PF Services,AccountManagement,PFAccountManagementAdminDeleteMasterPlayerAccountAsync,SecretKey,Account Management,AdminDeleteMasterPlayerAccount,false,No,No,No,No,No,No,No,No +PF Services,AccountManagement,PFAccountManagementAdminDeleteMasterPlayerEventDataAsync,SecretKey,Account Management,AdminDeleteMasterPlayerEventData,false,No,No,No,No,No,No,No,No +PF Services,AccountManagement,PFAccountManagementAdminDeleteMembershipSubscriptionAsync,SecretKey,Account Management,AdminDeleteMembershipSubscription,false,No,No,No,No,No,No,No,No +PF Services,AccountManagement,PFAccountManagementAdminDeletePlayerAsync,SecretKey,Account Management,AdminDeletePlayer,false,No,No,No,No,No,No,No,No +PF Services,AccountManagement,PFAccountManagementAdminDeleteTitleAsync,SecretKey,Account Management,AdminDeleteTitle,false,No,No,No,No,No,No,No,No +PF Services,AccountManagement,PFAccountManagementAdminExportMasterPlayerDataAsync,SecretKey,Account Management,AdminExportMasterPlayerData,false,No,No,No,No,No,No,No,No +PF Services,AccountManagement,PFAccountManagementAdminGetPlayedTitleListAsync,SecretKey,Account Management,AdminGetPlayedTitleList,false,No,No,No,No,No,No,No,No +PF Services,AccountManagement,PFAccountManagementAdminGetPlayerIdFromAuthTokenAsync,SecretKey,Account Management,AdminGetPlayerIdFromAuthToken,false,No,No,No,No,No,No,No,No +PF Services,AccountManagement,PFAccountManagementAdminGetPlayerProfileAsync,SecretKey,Account Management,AdminGetPlayerProfile,false,No,No,No,No,No,No,No,No +PF Services,AccountManagement,PFAccountManagementAdminGetUserAccountInfoAsync,SecretKey,Account Management,AdminGetUserAccountInfo,false,No,No,No,No,No,No,No,No +PF Services,AccountManagement,PFAccountManagementAdminGetUserBansAsync,SecretKey,Account Management,AdminGetUserBans,false,No,No,No,No,No,No,No,No +PF Services,AccountManagement,PFAccountManagementAdminResetPasswordAsync,SecretKey,Account Management,AdminResetPassword,false,No,No,No,No,No,No,No,No +PF Services,AccountManagement,PFAccountManagementAdminRevokeAllBansForUserAsync,SecretKey,Account Management,AdminRevokeAllBansForUser,false,No,No,No,No,No,No,No,No +PF Services,AccountManagement,PFAccountManagementAdminRevokeBansAsync,SecretKey,Account Management,AdminRevokeBans,false,No,No,No,No,No,No,No,No +PF Services,AccountManagement,PFAccountManagementAdminSendAccountRecoveryEmailAsync,SecretKey,Account Management,AdminSendAccountRecoveryEmail,false,No,No,No,No,No,No,No,No +PF Services,AccountManagement,PFAccountManagementAdminSetMembershipOverrideAsync,SecretKey,Account Management,AdminSetMembershipOverride,false,No,No,No,No,No,No,No,No +PF Services,AccountManagement,PFAccountManagementAdminUpdateBansAsync,SecretKey,Account Management,AdminUpdateBans,false,No,No,No,No,No,No,No,No +PF Services,AccountManagement,PFAccountManagementAdminUpdateUserTitleDisplayNameAsync,SecretKey,Account Management,AdminUpdateUserTitleDisplayName,false,No,No,No,No,No,No,No,No +PF Services,AccountManagement,PFAccountManagementClientAddGenericIDAsync,SessionTicket,Account Management,ClientAddGenericID,false,No,No,No,No,No,No,No,No +PF Services,AccountManagement,PFAccountManagementClientAddOrUpdateContactEmailAsync,SessionTicket,Account Management,ClientAddOrUpdateContactEmail,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementClientAddUsernamePasswordAsync,SessionTicket,Account Management,ClientAddUsernamePassword,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementClientGetAccountInfoAsync,SessionTicket,Account Management,ClientGetAccountInfo,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,AccountManagement,PFAccountManagementClientGetPlayerCombinedInfoAsync,SessionTicket,Account Management,ClientGetPlayerCombinedInfo,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,AccountManagement,PFAccountManagementClientGetPlayerProfileAsync,SessionTicket,Account Management,ClientGetPlayerProfile,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,AccountManagement,PFAccountManagementClientGetPlayFabIDsFromFacebookIDsAsync,SessionTicket,Account Management,ClientGetPlayFabIDsFromFacebookIDs,false,No,Yes,No,No,Yes,Yes,Yes,Yes +PF Services,AccountManagement,PFAccountManagementClientGetPlayFabIDsFromFacebookInstantGamesIdsAsync,SessionTicket,Account Management,ClientGetPlayFabIDsFromFacebookInstantGamesIds,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementClientGetPlayFabIDsFromGameCenterIDsAsync,SessionTicket,Account Management,ClientGetPlayFabIDsFromGameCenterIDs,false,No,Yes,No,No,Yes,No,Yes,Yes +PF Services,AccountManagement,PFAccountManagementClientGetPlayFabIDsFromGenericIDsAsync,SessionTicket,Account Management,ClientGetPlayFabIDsFromGenericIDs,false,No,No,No,No,No,No,No,No +PF Services,AccountManagement,PFAccountManagementClientGetPlayFabIDsFromGoogleIDsAsync,SessionTicket,Account Management,ClientGetPlayFabIDsFromGoogleIDs,false,No,Yes,No,No,Yes,Yes,No,Yes +PF Services,AccountManagement,PFAccountManagementClientGetPlayFabIDsFromGooglePlayGamesPlayerIDsAsync,SessionTicket,Account Management,ClientGetPlayFabIDsFromGooglePlayGamesPlayerIDs,false,No,Yes,No,No,Yes,Yes,No,Yes +PF Services,AccountManagement,PFAccountManagementClientGetPlayFabIDsFromKongregateIDsAsync,SessionTicket,Account Management,ClientGetPlayFabIDsFromKongregateIDs,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementClientGetPlayFabIDsFromNintendoServiceAccountIdsAsync,SessionTicket,Account Management,ClientGetPlayFabIDsFromNintendoServiceAccountIds,false,No,Yes,Yes,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementClientGetPlayFabIDsFromNintendoSwitchDeviceIdsAsync,SessionTicket,Account Management,ClientGetPlayFabIDsFromNintendoSwitchDeviceIds,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementClientGetPlayFabIDsFromPSNAccountIDsAsync,SessionTicket,Account Management,ClientGetPlayFabIDsFromPSNAccountIDs,false,No,Yes,No,Yes,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementClientGetPlayFabIDsFromPSNOnlineIDsAsync,SessionTicket,Account Management,ClientGetPlayFabIDsFromPSNOnlineIDs,false,No,No,No,No,No,No,No,No +PF Services,AccountManagement,PFAccountManagementClientGetPlayFabIDsFromSteamIDsAsync,SessionTicket,Account Management,ClientGetPlayFabIDsFromSteamIDs,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementClientGetPlayFabIDsFromTwitchIDsAsync,SessionTicket,Account Management,ClientGetPlayFabIDsFromTwitchIDs,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementClientGetPlayFabIDsFromXboxLiveIDsAsync,SessionTicket,Account Management,ClientGetPlayFabIDsFromXboxLiveIDs,false,Yes,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementClientLinkAndroidDeviceIDAsync,SessionTicket,Account Management,ClientLinkAndroidDeviceID,false,No,Yes,No,No,Yes,Yes,No,Yes +PF Services,AccountManagement,PFAccountManagementClientLinkAppleAsync,SessionTicket,Account Management,ClientLinkApple,false,No,Yes,No,No,Yes,No,Yes,Yes +PF Services,AccountManagement,PFAccountManagementClientLinkCustomIDAsync,SessionTicket,Account Management,ClientLinkCustomID,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,AccountManagement,PFAccountManagementClientLinkFacebookAccountAsync,SessionTicket,Account Management,ClientLinkFacebookAccount,false,No,Yes,No,No,Yes,Yes,Yes,Yes +PF Services,AccountManagement,PFAccountManagementClientLinkFacebookInstantGamesIdAsync,SessionTicket,Account Management,ClientLinkFacebookInstantGamesId,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementClientLinkGameCenterAccountAsync,SessionTicket,Account Management,ClientLinkGameCenterAccount,false,No,Yes,No,No,Yes,No,Yes,Yes +PF Services,AccountManagement,PFAccountManagementClientLinkGoogleAccountAsync,SessionTicket,Account Management,ClientLinkGoogleAccount,false,No,Yes,No,No,Yes,Yes,No,Yes +PF Services,AccountManagement,PFAccountManagementClientLinkGooglePlayGamesServicesAccountAsync,SessionTicket,Account Management,ClientLinkGooglePlayGamesServicesAccount,false,No,Yes,No,No,Yes,Yes,No,Yes +PF Services,AccountManagement,PFAccountManagementClientLinkIOSDeviceIDAsync,SessionTicket,Account Management,ClientLinkIOSDeviceID,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementClientLinkKongregateAsync,SessionTicket,Account Management,ClientLinkKongregate,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementClientLinkNintendoServiceAccountAsync,SessionTicket,Account Management,ClientLinkNintendoServiceAccount,false,No,Yes,Yes,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementClientLinkNintendoSwitchDeviceIdAsync,SessionTicket,Account Management,ClientLinkNintendoSwitchDeviceId,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementClientLinkOpenIdConnectAsync,SessionTicket,Account Management,ClientLinkOpenIdConnect,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,AccountManagement,PFAccountManagementClientLinkPSNAccountAsync,SessionTicket,Account Management,ClientLinkPSNAccount,false,No,Yes,No,Yes,No,No,No,Yes +PF Services,AccountManagement,PFAccountManagementClientLinkSteamAccountAsync,SessionTicket,Account Management,ClientLinkSteamAccount,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementClientLinkTwitchAsync,SessionTicket,Account Management,ClientLinkTwitch,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementClientLinkXboxAccountAsync,SessionTicket,Account Management,ClientLinkXboxAccount,false,Yes,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementClientRemoveContactEmailAsync,SessionTicket,Account Management,ClientRemoveContactEmail,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementClientRemoveGenericIDAsync,SessionTicket,Account Management,ClientRemoveGenericID,false,No,No,No,No,No,No,No,No +PF Services,AccountManagement,PFAccountManagementClientReportPlayerAsync,SessionTicket,Account Management,ClientReportPlayer,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,AccountManagement,PFAccountManagementClientSendAccountRecoveryEmailAsync,None,Account Management,ClientSendAccountRecoveryEmail,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementClientUnlinkAndroidDeviceIDAsync,SessionTicket,Account Management,ClientUnlinkAndroidDeviceID,false,No,Yes,No,No,Yes,Yes,No,Yes +PF Services,AccountManagement,PFAccountManagementClientUnlinkAppleAsync,SessionTicket,Account Management,ClientUnlinkApple,false,No,Yes,No,No,Yes,No,Yes,Yes +PF Services,AccountManagement,PFAccountManagementClientUnlinkCustomIDAsync,SessionTicket,Account Management,ClientUnlinkCustomID,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,AccountManagement,PFAccountManagementClientUnlinkFacebookAccountAsync,SessionTicket,Account Management,ClientUnlinkFacebookAccount,false,No,Yes,No,No,Yes,Yes,Yes,Yes +PF Services,AccountManagement,PFAccountManagementClientUnlinkFacebookInstantGamesIdAsync,SessionTicket,Account Management,ClientUnlinkFacebookInstantGamesId,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementClientUnlinkGameCenterAccountAsync,SessionTicket,Account Management,ClientUnlinkGameCenterAccount,false,No,Yes,No,No,Yes,No,Yes,Yes +PF Services,AccountManagement,PFAccountManagementClientUnlinkGoogleAccountAsync,SessionTicket,Account Management,ClientUnlinkGoogleAccount,false,No,Yes,No,No,Yes,Yes,No,Yes +PF Services,AccountManagement,PFAccountManagementClientUnlinkGooglePlayGamesServicesAccountAsync,SessionTicket,Account Management,ClientUnlinkGooglePlayGamesServicesAccount,false,No,Yes,No,No,Yes,Yes,No,Yes +PF Services,AccountManagement,PFAccountManagementClientUnlinkIOSDeviceIDAsync,SessionTicket,Account Management,ClientUnlinkIOSDeviceID,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementClientUnlinkKongregateAsync,SessionTicket,Account Management,ClientUnlinkKongregate,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementClientUnlinkNintendoServiceAccountAsync,SessionTicket,Account Management,ClientUnlinkNintendoServiceAccount,false,No,Yes,Yes,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementClientUnlinkNintendoSwitchDeviceIdAsync,SessionTicket,Account Management,ClientUnlinkNintendoSwitchDeviceId,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementClientUnlinkOpenIdConnectAsync,SessionTicket,Account Management,ClientUnlinkOpenIdConnect,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,AccountManagement,PFAccountManagementClientUnlinkPSNAccountAsync,SessionTicket,Account Management,ClientUnlinkPSNAccount,false,No,Yes,No,Yes,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementClientUnlinkSteamAccountAsync,SessionTicket,Account Management,ClientUnlinkSteamAccount,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementClientUnlinkTwitchAsync,SessionTicket,Account Management,ClientUnlinkTwitch,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementClientUnlinkXboxAccountAsync,SessionTicket,Account Management,ClientUnlinkXboxAccount,false,Yes,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementClientUpdateAvatarUrlAsync,SessionTicket,Account Management,ClientUpdateAvatarUrl,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,AccountManagement,PFAccountManagementClientUpdateUserTitleDisplayNameAsync,SessionTicket,Account Management,ClientUpdateUserTitleDisplayName,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerAddGenericIDAsync,SecretKey,Account Management,ServerAddGenericID,false,No,No,No,No,No,No,No,No +PF Services,AccountManagement,PFAccountManagementServerBanUsersAsync,SecretKey,Account Management,ServerBanUsers,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerDeletePlayerAsync,SecretKey,Account Management,ServerDeletePlayer,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerGetPlayerCombinedInfoAsync,SecretKey,Player Data Management,ServerGetPlayerCombinedInfo,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerGetPlayerProfileAsync,SecretKey,Account Management,ServerGetPlayerProfile,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerGetPlayFabIDsFromFacebookIDsAsync,SecretKey,Account Management,ServerGetPlayFabIDsFromFacebookIDs,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerGetPlayFabIDsFromFacebookInstantGamesIdsAsync,SecretKey,Account Management,ServerGetPlayFabIDsFromFacebookInstantGamesIds,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerGetPlayFabIDsFromGenericIDsAsync,SecretKey,Account Management,ServerGetPlayFabIDsFromGenericIDs,false,No,No,No,No,No,No,No,No +PF Services,AccountManagement,PFAccountManagementServerGetPlayFabIDsFromNintendoServiceAccountIdsAsync,SecretKey,Account Management,ServerGetPlayFabIDsFromNintendoServiceAccountIds,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerGetPlayFabIDsFromNintendoSwitchDeviceIdsAsync,SecretKey,Account Management,ServerGetPlayFabIDsFromNintendoSwitchDeviceIds,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerGetPlayFabIDsFromPSNAccountIDsAsync,SecretKey,Account Management,ServerGetPlayFabIDsFromPSNAccountIDs,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerGetPlayFabIDsFromPSNOnlineIDsAsync,SecretKey,Account Management,ServerGetPlayFabIDsFromPSNOnlineIDs,false,No,No,No,No,No,No,No,No +PF Services,AccountManagement,PFAccountManagementServerGetPlayFabIDsFromSteamIDsAsync,SecretKey,Account Management,ServerGetPlayFabIDsFromSteamIDs,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerGetPlayFabIDsFromTwitchIDsAsync,SecretKey,Account Management,ServerGetPlayFabIDsFromTwitchIDs,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerGetPlayFabIDsFromXboxLiveIDsAsync,SecretKey,Account Management,ServerGetPlayFabIDsFromXboxLiveIDs,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerGetServerCustomIDsFromPlayFabIDsAsync,SecretKey,Account Management,ServerGetServerCustomIDsFromPlayFabIDs,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerGetUserAccountInfoAsync,SecretKey,Account Management,ServerGetUserAccountInfo,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerGetUserBansAsync,SecretKey,Account Management,ServerGetUserBans,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerLinkNintendoServiceAccountAsync,SecretKey,Account Management,ServerLinkNintendoServiceAccount,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerLinkNintendoServiceAccountSubjectAsync,SecretKey,Account Management,ServerLinkNintendoServiceAccountSubject,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerLinkNintendoSwitchDeviceIdAsync,SecretKey,Account Management,ServerLinkNintendoSwitchDeviceId,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerLinkPSNAccountAsync,SecretKey,Account Management,ServerLinkPSNAccount,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerLinkPSNIdAsync,SecretKey,Account Management,ServerLinkPSNId,false,No,No,No,No,No,No,No,No +PF Services,AccountManagement,PFAccountManagementServerLinkServerCustomIdAsync,SecretKey,Account Management,ServerLinkServerCustomId,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerLinkSteamIdAsync,SecretKey,Account Management,ServerLinkSteamId,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerLinkXboxAccountAsync,SecretKey,Account Management,ServerLinkXboxAccount,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerRemoveGenericIDAsync,SecretKey,Account Management,ServerRemoveGenericID,false,No,No,No,No,No,No,No,No +PF Services,AccountManagement,PFAccountManagementServerRevokeAllBansForUserAsync,SecretKey,Account Management,ServerRevokeAllBansForUser,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerRevokeBansAsync,SecretKey,Account Management,ServerRevokeBans,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerSendCustomAccountRecoveryEmailAsync,SecretKey,Account Management,ServerSendCustomAccountRecoveryEmail,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerSendEmailFromTemplateAsync,SecretKey,Account Management,ServerSendEmailFromTemplate,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerUnlinkNintendoServiceAccountAsync,SecretKey,Account Management,ServerUnlinkNintendoServiceAccount,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerUnlinkNintendoSwitchDeviceIdAsync,SecretKey,Account Management,ServerUnlinkNintendoSwitchDeviceId,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerUnlinkPSNAccountAsync,SecretKey,Account Management,ServerUnlinkPSNAccount,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerUnlinkServerCustomIdAsync,SecretKey,Account Management,ServerUnlinkServerCustomId,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerUnlinkSteamIdAsync,SecretKey,Account Management,ServerUnlinkSteamId,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerUnlinkXboxAccountAsync,SecretKey,Account Management,ServerUnlinkXboxAccount,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerUpdateAvatarUrlAsync,SecretKey,Account Management,ServerUpdateAvatarUrl,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementServerUpdateBansAsync,SecretKey,Account Management,ServerUpdateBans,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,AccountManagement,PFAccountManagementGetTitlePlayersFromXboxLiveIDsAsync,EntityToken,Account Management,GetTitlePlayersFromXboxLiveIDs,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,Leaderboard,PFLeaderboardAdminCreatePlayerStatisticDefinitionAsync,SecretKey,Player Data Management,AdminCreatePlayerStatisticDefinition,false,No,No,No,No,No,No,No,No +PF Services,Leaderboard,PFLeaderboardAdminGetPlayerStatisticDefinitionsAsync,SecretKey,Player Data Management,AdminGetPlayerStatisticDefinitions,false,No,No,No,No,No,No,No,No +PF Services,Leaderboard,PFLeaderboardAdminGetPlayerStatisticVersionsAsync,SecretKey,Player Data Management,AdminGetPlayerStatisticVersions,false,No,No,No,No,No,No,No,No +PF Services,Leaderboard,PFLeaderboardAdminIncrementPlayerStatisticVersionAsync,SecretKey,Player Data Management,AdminIncrementPlayerStatisticVersion,false,No,No,No,No,No,No,No,No +PF Services,Leaderboard,PFLeaderboardAdminResetUserStatisticsAsync,SecretKey,Player Data Management,AdminResetUserStatistics,false,No,No,No,No,No,No,No,No +PF Services,Leaderboard,PFLeaderboardAdminUpdatePlayerStatisticDefinitionAsync,SecretKey,Player Data Management,AdminUpdatePlayerStatisticDefinition,false,No,No,No,No,No,No,No,No +PF Services,Leaderboard,PFLeaderboardClientGetFriendLeaderboardAsync,SessionTicket,Player Data Management,ClientGetFriendLeaderboard,false,No,No,No,No,No,No,No,No +PF Services,Leaderboard,PFLeaderboardClientGetFriendLeaderboardAroundPlayerAsync,SessionTicket,Player Data Management,ClientGetFriendLeaderboardAroundPlayer,false,No,No,No,No,No,No,No,No +PF Services,Leaderboard,PFLeaderboardClientGetLeaderboardAsync,SessionTicket,Player Data Management,ClientGetLeaderboard,false,No,No,No,No,No,No,No,No +PF Services,Leaderboard,PFLeaderboardClientGetLeaderboardAroundPlayerAsync,SessionTicket,Player Data Management,ClientGetLeaderboardAroundPlayer,false,No,No,No,No,No,No,No,No +PF Services,Leaderboard,PFLeaderboardClientGetPlayerStatisticsAsync,SessionTicket,Player Data Management,ClientGetPlayerStatistics,false,No,No,No,No,No,No,No,No +PF Services,Leaderboard,PFLeaderboardClientGetPlayerStatisticVersionsAsync,SessionTicket,Player Data Management,ClientGetPlayerStatisticVersions,false,No,No,No,No,No,No,No,No +PF Services,Leaderboard,PFLeaderboardClientUpdatePlayerStatisticsAsync,SessionTicket,Player Data Management,ClientUpdatePlayerStatistics,false,No,No,No,No,No,No,No,No +PF Services,Leaderboard,PFLeaderboardServerGetFriendLeaderboardAsync,SecretKey,Player Data Management,ServerGetFriendLeaderboard,false,No,No,No,No,No,No,No,No +PF Services,Leaderboard,PFLeaderboardServerGetLeaderboardAsync,SecretKey,Player Data Management,ServerGetLeaderboard,false,No,No,No,No,No,No,No,No +PF Services,Leaderboard,PFLeaderboardServerGetLeaderboardAroundUserAsync,SecretKey,Player Data Management,ServerGetLeaderboardAroundUser,false,No,No,No,No,No,No,No,No +PF Services,Leaderboard,PFLeaderboardServerGetPlayerStatisticsAsync,SecretKey,Player Data Management,ServerGetPlayerStatistics,false,No,No,No,No,No,No,No,No +PF Services,Leaderboard,PFLeaderboardServerGetPlayerStatisticVersionsAsync,SecretKey,Player Data Management,ServerGetPlayerStatisticVersions,false,No,No,No,No,No,No,No,No +PF Services,Leaderboard,PFLeaderboardServerUpdatePlayerStatisticsAsync,SecretKey,Player Data Management,ServerUpdatePlayerStatistics,false,No,No,No,No,No,No,No,No +PF Services,Content,PFContentAdminDeleteContentAsync,SecretKey,Content,AdminDeleteContent,false,No,No,No,No,No,No,No,No +PF Services,Content,PFContentAdminGetContentListAsync,SecretKey,Content,AdminGetContentList,false,No,No,No,No,No,No,No,No +PF Services,Content,PFContentAdminGetContentUploadUrlAsync,SecretKey,Content,AdminGetContentUploadUrl,false,No,No,No,No,No,No,No,No +PF Services,Content,PFContentClientGetContentDownloadUrlAsync,SessionTicket,Content,ClientGetContentDownloadUrl,false,No,No,No,No,No,No,No,No +PF Services,Content,PFContentServerGetContentDownloadUrlAsync,SecretKey,Content,ServerGetContentDownloadUrl,false,No,No,No,No,No,No,No,No +PF Services,CloudScript,PFCloudScriptAdminGetCloudScriptRevisionAsync,SecretKey,Server-Side Cloud Script,AdminGetCloudScriptRevision,false,No,No,No,No,No,No,No,No +PF Services,CloudScript,PFCloudScriptAdminGetCloudScriptVersionsAsync,SecretKey,Server-Side Cloud Script,AdminGetCloudScriptVersions,false,No,No,No,No,No,No,No,No +PF Services,CloudScript,PFCloudScriptAdminSetPublishedRevisionAsync,SecretKey,Server-Side Cloud Script,AdminSetPublishedRevision,false,No,No,No,No,No,No,No,No +PF Services,CloudScript,PFCloudScriptAdminUpdateCloudScriptAsync,SecretKey,Server-Side Cloud Script,AdminUpdateCloudScript,false,No,No,No,No,No,No,No,No +PF Services,CloudScript,PFCloudScriptClientExecuteCloudScriptAsync,SessionTicket,Server-Side Cloud Script,ClientExecuteCloudScript,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,CloudScript,PFCloudScriptServerExecuteCloudScriptAsync,SecretKey,Server-Side Cloud Script,ServerExecuteCloudScript,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,CloudScript,PFCloudScriptExecuteEntityCloudScriptAsync,EntityToken,Server-Side Cloud Script,ExecuteEntityCloudScript,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,CloudScript,PFCloudScriptExecuteFunctionAsync,EntityToken,Server-Side Cloud Script,ExecuteFunction,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,CloudScript,PFCloudScriptGetFunctionAsync,EntityToken,Server-Side Cloud Script,GetFunction,false,No,No,No,No,No,No,No,No +PF Services,CloudScript,PFCloudScriptListFunctionsAsync,EntityToken,Server-Side Cloud Script,ListFunctions,false,No,No,No,No,No,No,No,No +PF Services,CloudScript,PFCloudScriptListHttpFunctionsAsync,EntityToken,Server-Side Cloud Script,ListHttpFunctions,false,No,No,No,No,No,No,No,No +PF Services,CloudScript,PFCloudScriptListQueuedFunctionsAsync,EntityToken,Server-Side Cloud Script,ListQueuedFunctions,false,No,No,No,No,No,No,No,No +PF Services,CloudScript,PFCloudScriptPostFunctionResultForEntityTriggeredActionAsync,EntityToken,Server-Side Cloud Script,PostFunctionResultForEntityTriggeredAction,false,No,No,No,No,No,No,No,No +PF Services,CloudScript,PFCloudScriptPostFunctionResultForFunctionExecutionAsync,EntityToken,Server-Side Cloud Script,PostFunctionResultForFunctionExecution,false,No,No,No,No,No,No,No,No +PF Services,CloudScript,PFCloudScriptPostFunctionResultForPlayerTriggeredActionAsync,EntityToken,Server-Side Cloud Script,PostFunctionResultForPlayerTriggeredAction,false,No,No,No,No,No,No,No,No +PF Services,CloudScript,PFCloudScriptPostFunctionResultForScheduledTaskAsync,EntityToken,Server-Side Cloud Script,PostFunctionResultForScheduledTask,false,No,No,No,No,No,No,No,No +PF Services,CloudScript,PFCloudScriptRegisterHttpFunctionAsync,EntityToken,Server-Side Cloud Script,RegisterHttpFunction,false,No,No,No,No,No,No,No,No +PF Services,CloudScript,PFCloudScriptRegisterQueuedFunctionAsync,EntityToken,Server-Side Cloud Script,RegisterQueuedFunction,false,No,No,No,No,No,No,No,No +PF Services,CloudScript,PFCloudScriptUnregisterFunctionAsync,EntityToken,Server-Side Cloud Script,UnregisterFunction,false,No,No,No,No,No,No,No,No +PF Services,PlayerDataManagement,PFPlayerDataManagementAdminGetDataReportAsync,SecretKey,Player Data Management,AdminGetDataReport,false,No,No,No,No,No,No,No,No +PF Services,PlayerDataManagement,PFPlayerDataManagementAdminGetUserDataAsync,SecretKey,Player Data Management,AdminGetUserData,false,No,No,No,No,No,No,No,No +PF Services,PlayerDataManagement,PFPlayerDataManagementAdminGetUserInternalDataAsync,SecretKey,Player Data Management,AdminGetUserInternalData,false,No,No,No,No,No,No,No,No +PF Services,PlayerDataManagement,PFPlayerDataManagementAdminGetUserPublisherDataAsync,SecretKey,Player Data Management,AdminGetUserPublisherData,false,No,No,No,No,No,No,No,No +PF Services,PlayerDataManagement,PFPlayerDataManagementAdminGetUserPublisherInternalDataAsync,SecretKey,Player Data Management,AdminGetUserPublisherInternalData,false,No,No,No,No,No,No,No,No +PF Services,PlayerDataManagement,PFPlayerDataManagementAdminGetUserPublisherReadOnlyDataAsync,SecretKey,Player Data Management,AdminGetUserPublisherReadOnlyData,false,No,No,No,No,No,No,No,No +PF Services,PlayerDataManagement,PFPlayerDataManagementAdminGetUserReadOnlyDataAsync,SecretKey,Player Data Management,AdminGetUserReadOnlyData,false,No,No,No,No,No,No,No,No +PF Services,PlayerDataManagement,PFPlayerDataManagementAdminUpdateUserDataAsync,SecretKey,Player Data Management,AdminUpdateUserData,false,No,No,No,No,No,No,No,No +PF Services,PlayerDataManagement,PFPlayerDataManagementAdminUpdateUserInternalDataAsync,SecretKey,Player Data Management,AdminUpdateUserInternalData,false,No,No,No,No,No,No,No,No +PF Services,PlayerDataManagement,PFPlayerDataManagementAdminUpdateUserPublisherDataAsync,SecretKey,Player Data Management,AdminUpdateUserPublisherData,false,No,No,No,No,No,No,No,No +PF Services,PlayerDataManagement,PFPlayerDataManagementAdminUpdateUserPublisherInternalDataAsync,SecretKey,Player Data Management,AdminUpdateUserPublisherInternalData,false,No,No,No,No,No,No,No,No +PF Services,PlayerDataManagement,PFPlayerDataManagementAdminUpdateUserPublisherReadOnlyDataAsync,SecretKey,Player Data Management,AdminUpdateUserPublisherReadOnlyData,false,No,No,No,No,No,No,No,No +PF Services,PlayerDataManagement,PFPlayerDataManagementAdminUpdateUserReadOnlyDataAsync,SecretKey,Player Data Management,AdminUpdateUserReadOnlyData,false,No,No,No,No,No,No,No,No +PF Services,PlayerDataManagement,PFPlayerDataManagementClientGetUserDataAsync,SessionTicket,Player Data Management,ClientGetUserData,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,PlayerDataManagement,PFPlayerDataManagementClientGetUserPublisherDataAsync,SessionTicket,Player Data Management,ClientGetUserPublisherData,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,PlayerDataManagement,PFPlayerDataManagementClientGetUserPublisherReadOnlyDataAsync,SessionTicket,Player Data Management,ClientGetUserPublisherReadOnlyData,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,PlayerDataManagement,PFPlayerDataManagementClientGetUserReadOnlyDataAsync,SessionTicket,Player Data Management,ClientGetUserReadOnlyData,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,PlayerDataManagement,PFPlayerDataManagementClientUpdateUserDataAsync,SessionTicket,Player Data Management,ClientUpdateUserData,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,PlayerDataManagement,PFPlayerDataManagementClientUpdateUserPublisherDataAsync,SessionTicket,Player Data Management,ClientUpdateUserPublisherData,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,PlayerDataManagement,PFPlayerDataManagementServerGetUserDataAsync,SecretKey,Player Data Management,ServerGetUserData,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,PlayerDataManagement,PFPlayerDataManagementServerGetUserInternalDataAsync,SecretKey,Player Data Management,ServerGetUserInternalData,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,PlayerDataManagement,PFPlayerDataManagementServerGetUserPublisherDataAsync,SecretKey,Player Data Management,ServerGetUserPublisherData,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,PlayerDataManagement,PFPlayerDataManagementServerGetUserPublisherInternalDataAsync,SecretKey,Player Data Management,ServerGetUserPublisherInternalData,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,PlayerDataManagement,PFPlayerDataManagementServerGetUserPublisherReadOnlyDataAsync,SecretKey,Player Data Management,ServerGetUserPublisherReadOnlyData,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,PlayerDataManagement,PFPlayerDataManagementServerGetUserReadOnlyDataAsync,SecretKey,Player Data Management,ServerGetUserReadOnlyData,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,PlayerDataManagement,PFPlayerDataManagementServerUpdateUserDataAsync,SecretKey,Player Data Management,ServerUpdateUserData,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,PlayerDataManagement,PFPlayerDataManagementServerUpdateUserInternalDataAsync,SecretKey,Player Data Management,ServerUpdateUserInternalData,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,PlayerDataManagement,PFPlayerDataManagementServerUpdateUserPublisherDataAsync,SecretKey,Player Data Management,ServerUpdateUserPublisherData,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,PlayerDataManagement,PFPlayerDataManagementServerUpdateUserPublisherInternalDataAsync,SecretKey,Player Data Management,ServerUpdateUserPublisherInternalData,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,PlayerDataManagement,PFPlayerDataManagementServerUpdateUserPublisherReadOnlyDataAsync,SecretKey,Player Data Management,ServerUpdateUserPublisherReadOnlyData,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,PlayerDataManagement,PFPlayerDataManagementServerUpdateUserReadOnlyDataAsync,SecretKey,Player Data Management,ServerUpdateUserReadOnlyData,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,Economy,PFEconomyAdminRefundPurchaseAsync,SecretKey,Player Data Management,AdminRefundPurchase,false,No,No,No,No,No,No,No,No +PF Services,Economy,PFEconomyAdminResolvePurchaseDisputeAsync,SecretKey,Player Data Management,AdminResolvePurchaseDispute,false,No,No,No,No,No,No,No,No +PF Services,Character,PFCharacterAdminResetCharacterStatisticsAsync,SecretKey,Characters,AdminResetCharacterStatistics,false,No,No,No,No,No,No,No,No +PF Services,Character,PFCharacterClientGetAllUsersCharactersAsync,SessionTicket,Characters,ClientGetAllUsersCharacters,false,No,No,No,No,No,No,No,No +PF Services,Character,PFCharacterClientGetCharacterDataAsync,SessionTicket,Character Data,ClientGetCharacterData,false,No,No,No,No,No,No,No,No +PF Services,Character,PFCharacterClientGetCharacterLeaderboardAsync,SessionTicket,Characters,ClientGetCharacterLeaderboard,false,No,No,No,No,No,No,No,No +PF Services,Character,PFCharacterClientGetCharacterReadOnlyDataAsync,SessionTicket,Character Data,ClientGetCharacterReadOnlyData,false,No,No,No,No,No,No,No,No +PF Services,Character,PFCharacterClientGetCharacterStatisticsAsync,SessionTicket,Characters,ClientGetCharacterStatistics,false,No,No,No,No,No,No,No,No +PF Services,Character,PFCharacterClientGetLeaderboardAroundCharacterAsync,SessionTicket,Characters,ClientGetLeaderboardAroundCharacter,false,No,No,No,No,No,No,No,No +PF Services,Character,PFCharacterClientGetLeaderboardForUserCharactersAsync,SessionTicket,Characters,ClientGetLeaderboardForUserCharacters,false,No,No,No,No,No,No,No,No +PF Services,Character,PFCharacterClientGrantCharacterToUserAsync,SessionTicket,Characters,ClientGrantCharacterToUser,false,No,No,No,No,No,No,No,No +PF Services,Character,PFCharacterClientUpdateCharacterDataAsync,SessionTicket,Character Data,ClientUpdateCharacterData,false,No,No,No,No,No,No,No,No +PF Services,Character,PFCharacterClientUpdateCharacterStatisticsAsync,SessionTicket,Characters,ClientUpdateCharacterStatistics,false,No,No,No,No,No,No,No,No +PF Services,Character,PFCharacterServerDeleteCharacterFromUserAsync,SecretKey,Characters,ServerDeleteCharacterFromUser,false,No,No,No,No,No,No,No,No +PF Services,Character,PFCharacterServerGetAllUsersCharactersAsync,SecretKey,Characters,ServerGetAllUsersCharacters,false,No,No,No,No,No,No,No,No +PF Services,Character,PFCharacterServerGetCharacterDataAsync,SecretKey,Character Data,ServerGetCharacterData,false,No,No,No,No,No,No,No,No +PF Services,Character,PFCharacterServerGetCharacterInternalDataAsync,SecretKey,Character Data,ServerGetCharacterInternalData,false,No,No,No,No,No,No,No,No +PF Services,Character,PFCharacterServerGetCharacterLeaderboardAsync,SecretKey,Characters,ServerGetCharacterLeaderboard,false,No,No,No,No,No,No,No,No +PF Services,Character,PFCharacterServerGetCharacterReadOnlyDataAsync,SecretKey,Character Data,ServerGetCharacterReadOnlyData,false,No,No,No,No,No,No,No,No +PF Services,Character,PFCharacterServerGetCharacterStatisticsAsync,SecretKey,Characters,ServerGetCharacterStatistics,false,No,No,No,No,No,No,No,No +PF Services,Character,PFCharacterServerGetLeaderboardAroundCharacterAsync,SecretKey,Characters,ServerGetLeaderboardAroundCharacter,false,No,No,No,No,No,No,No,No +PF Services,Character,PFCharacterServerGetLeaderboardForUserCharactersAsync,SecretKey,Characters,ServerGetLeaderboardForUserCharacters,false,No,No,No,No,No,No,No,No +PF Services,Character,PFCharacterServerGrantCharacterToUserAsync,SecretKey,Characters,ServerGrantCharacterToUser,false,No,No,No,No,No,No,No,No +PF Services,Character,PFCharacterServerUpdateCharacterDataAsync,SecretKey,Character Data,ServerUpdateCharacterData,false,No,No,No,No,No,No,No,No +PF Services,Character,PFCharacterServerUpdateCharacterInternalDataAsync,SecretKey,Character Data,ServerUpdateCharacterInternalData,false,No,No,No,No,No,No,No,No +PF Services,Character,PFCharacterServerUpdateCharacterReadOnlyDataAsync,SecretKey,Character Data,ServerUpdateCharacterReadOnlyData,false,No,No,No,No,No,No,No,No +PF Services,Character,PFCharacterServerUpdateCharacterStatisticsAsync,SecretKey,Characters,ServerUpdateCharacterStatistics,false,No,No,No,No,No,No,No,No +PF Services,Trading,PFTradingClientAcceptTradeAsync,SessionTicket,Trading,ClientAcceptTrade,false,No,No,No,No,No,No,No,No +PF Services,Trading,PFTradingClientCancelTradeAsync,SessionTicket,Trading,ClientCancelTrade,false,No,No,No,No,No,No,No,No +PF Services,Trading,PFTradingClientGetPlayerTradesAsync,SessionTicket,Trading,ClientGetPlayerTrades,false,No,No,No,No,No,No,No,No +PF Services,Trading,PFTradingClientGetTradeStatusAsync,SessionTicket,Trading,ClientGetTradeStatus,false,No,No,No,No,No,No,No,No +PF Services,Trading,PFTradingClientOpenTradeAsync,SessionTicket,Trading,ClientOpenTrade,false,No,No,No,No,No,No,No,No +PF Services,Friends,PFFriendsClientAddFriendAsync,SessionTicket,Friend List Management,ClientAddFriend,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Friends,PFFriendsClientGetFriendsListAsync,SessionTicket,Friend List Management,ClientGetFriendsList,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Friends,PFFriendsClientRemoveFriendAsync,SessionTicket,Friend List Management,ClientRemoveFriend,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Friends,PFFriendsClientSetFriendTagsAsync,SessionTicket,Friend List Management,ClientSetFriendTags,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Friends,PFFriendsServerAddFriendAsync,SecretKey,Friend List Management,ServerAddFriend,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,Friends,PFFriendsServerGetFriendsListAsync,SecretKey,Friend List Management,ServerGetFriendsList,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,Friends,PFFriendsServerRemoveFriendAsync,SecretKey,Friend List Management,ServerRemoveFriend,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,Friends,PFFriendsServerSetFriendTagsAsync,SecretKey,Friend List Management,ServerSetFriendTags,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,SharedGroups,PFSharedGroupsClientAddSharedGroupMembersAsync,SessionTicket,Shared Group Data,ClientAddSharedGroupMembers,false,No,No,No,No,No,No,No,No +PF Services,SharedGroups,PFSharedGroupsClientCreateSharedGroupAsync,SessionTicket,Shared Group Data,ClientCreateSharedGroup,false,No,No,No,No,No,No,No,No +PF Services,SharedGroups,PFSharedGroupsClientGetSharedGroupDataAsync,SessionTicket,Shared Group Data,ClientGetSharedGroupData,false,No,No,No,No,No,No,No,No +PF Services,SharedGroups,PFSharedGroupsClientRemoveSharedGroupMembersAsync,SessionTicket,Shared Group Data,ClientRemoveSharedGroupMembers,false,No,No,No,No,No,No,No,No +PF Services,SharedGroups,PFSharedGroupsClientUpdateSharedGroupDataAsync,SessionTicket,Shared Group Data,ClientUpdateSharedGroupData,false,No,No,No,No,No,No,No,No +PF Services,SharedGroups,PFSharedGroupsServerAddSharedGroupMembersAsync,SecretKey,Shared Group Data,ServerAddSharedGroupMembers,false,No,No,No,No,No,No,No,No +PF Services,SharedGroups,PFSharedGroupsServerCreateSharedGroupAsync,SecretKey,Shared Group Data,ServerCreateSharedGroup,false,No,No,No,No,No,No,No,No +PF Services,SharedGroups,PFSharedGroupsServerDeleteSharedGroupAsync,SecretKey,Shared Group Data,ServerDeleteSharedGroup,false,No,No,No,No,No,No,No,No +PF Services,SharedGroups,PFSharedGroupsServerGetSharedGroupDataAsync,SecretKey,Shared Group Data,ServerGetSharedGroupData,false,No,No,No,No,No,No,No,No +PF Services,SharedGroups,PFSharedGroupsServerRemoveSharedGroupMembersAsync,SecretKey,Shared Group Data,ServerRemoveSharedGroupMembers,false,No,No,No,No,No,No,No,No +PF Services,SharedGroups,PFSharedGroupsServerUpdateSharedGroupDataAsync,SecretKey,Shared Group Data,ServerUpdateSharedGroupData,false,No,No,No,No,No,No,No,No +PF Services,PlatformSpecific,PFPlatformSpecificClientAndroidDevicePushNotificationRegistrationAsync,SessionTicket,Platform Specific Methods,ClientAndroidDevicePushNotificationRegistration,false,No,No,No,No,No,Yes,No,No +PF Services,PlatformSpecific,PFPlatformSpecificClientConsumeMicrosoftStoreEntitlementsAsync,SessionTicket,Platform Specific Methods,ClientConsumeMicrosoftStoreEntitlements,false,No,No,No,No,No,No,No,No +PF Services,PlatformSpecific,PFPlatformSpecificClientConsumePS5EntitlementsAsync,SessionTicket,Platform Specific Methods,ClientConsumePS5Entitlements,false,No,No,No,No,No,No,No,No +PF Services,PlatformSpecific,PFPlatformSpecificClientConsumePSNEntitlementsAsync,SessionTicket,Platform Specific Methods,ClientConsumePSNEntitlements,false,No,No,No,No,No,No,No,No +PF Services,PlatformSpecific,PFPlatformSpecificClientConsumeXboxEntitlementsAsync,SessionTicket,Platform Specific Methods,ClientConsumeXboxEntitlements,false,No,No,No,No,No,No,No,No +PF Services,PlatformSpecific,PFPlatformSpecificClientRefreshPSNAuthTokenAsync,SessionTicket,Platform Specific Methods,ClientRefreshPSNAuthToken,false,No,No,No,No,No,No,No,No +PF Services,PlatformSpecific,PFPlatformSpecificClientRegisterForIOSPushNotificationAsync,SessionTicket,Platform Specific Methods,ClientRegisterForIOSPushNotification,false,No,No,No,No,No,No,Yes,No +PF Services,PlatformSpecific,PFPlatformSpecificClientRestoreIOSPurchasesAsync,SessionTicket,Platform Specific Methods,ClientRestoreIOSPurchases,false,No,No,No,No,No,No,No,No +PF Services,PlatformSpecific,PFPlatformSpecificClientValidateAmazonIAPReceiptAsync,SessionTicket,Platform Specific Methods,ClientValidateAmazonIAPReceipt,false,No,No,No,No,No,No,No,No +PF Services,PlatformSpecific,PFPlatformSpecificClientValidateGooglePlayPurchaseAsync,SessionTicket,Platform Specific Methods,ClientValidateGooglePlayPurchase,false,No,No,No,No,No,No,No,No +PF Services,PlatformSpecific,PFPlatformSpecificClientValidateIOSReceiptAsync,SessionTicket,Platform Specific Methods,ClientValidateIOSReceipt,false,No,No,No,No,No,No,No,No +PF Services,PlatformSpecific,PFPlatformSpecificClientValidateWindowsStoreReceiptAsync,SessionTicket,Platform Specific Methods,ClientValidateWindowsStoreReceipt,false,No,No,No,No,No,No,No,No +PF Services,PlatformSpecific,PFPlatformSpecificServerAwardSteamAchievementAsync,SecretKey,Platform Specific Methods,ServerAwardSteamAchievement,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,Advertising,PFAdvertisingClientAttributeInstallAsync,SessionTicket,Advertising,ClientAttributeInstall,false,No,No,No,No,No,No,No,No +PF Services,Advertising,PFAdvertisingClientGetAdPlacementsAsync,SessionTicket,Advertising,ClientGetAdPlacements,false,No,No,No,No,No,No,No,No +PF Services,Advertising,PFAdvertisingClientReportAdActivityAsync,SessionTicket,Advertising,ClientReportAdActivity,false,No,No,No,No,No,No,No,No +PF Services,Advertising,PFAdvertisingClientRewardAdActivityAsync,SessionTicket,Advertising,ClientRewardAdActivity,false,No,No,No,No,No,No,No,No +PF Services,Events,PFEventsClientReportDeviceInfoAsync,SessionTicket,Analytics,ClientReportDeviceInfo,false,No,No,No,No,No,No,No,No +PF Services,Events,PFEventsClientWriteCharacterEventAsync,SessionTicket,Analytics,ClientWriteCharacterEvent,false,No,No,No,No,No,No,No,No +PF Services,Events,PFEventsClientWritePlayerEventAsync,SessionTicket,Analytics,ClientWritePlayerEvent,false,No,No,No,No,No,No,No,No +PF Services,Events,PFEventsClientWriteTitleEventAsync,SessionTicket,Analytics,ClientWriteTitleEvent,false,No,No,No,No,No,No,No,No +PF Services,Events,PFEventsServerWriteCharacterEventAsync,SecretKey,Analytics,ServerWriteCharacterEvent,false,No,No,No,No,No,No,No,No +PF Services,Events,PFEventsServerWritePlayerEventAsync,SecretKey,Analytics,ServerWritePlayerEvent,false,No,No,No,No,No,No,No,No +PF Services,Events,PFEventsServerWriteTitleEventAsync,SecretKey,Analytics,ServerWriteTitleEvent,false,No,No,No,No,No,No,No,No +PF Services,Events,PFEventsCreateTelemetryKeyAsync,EntityToken,PlayStream Events,CreateTelemetryKey,false,No,No,No,No,No,No,No,No +PF Services,Events,PFEventsDeleteTelemetryKeyAsync,EntityToken,PlayStream Events,DeleteTelemetryKey,false,No,No,No,No,No,No,No,No +PF Services,Events,PFEventsGetTelemetryKeyAsync,EntityToken,PlayStream Events,GetTelemetryKey,false,No,No,No,No,No,No,No,No +PF Services,Events,PFEventsListTelemetryKeysAsync,EntityToken,PlayStream Events,ListTelemetryKeys,false,No,No,No,No,No,No,No,No +PF Services,Events,PFEventsSetTelemetryKeyActiveAsync,EntityToken,PlayStream Events,SetTelemetryKeyActive,false,No,No,No,No,No,No,No,No +PF Services,Events,PFEventsWriteEventsAsync,EntityToken,PlayStream Events,WriteEvents,false,No,No,No,No,No,No,No,No +PF Services,Events,PFEventsWriteTelemetryEventsAsync,EntityToken,PlayStream Events,WriteTelemetryEvents,false,No,No,No,No,No,No,No,No +PF Services,PushNotifications,PFPushNotificationsServerDeletePushNotificationTemplateAsync,SecretKey,Account Management,ServerDeletePushNotificationTemplate,false,No,No,No,No,No,No,No,No +PF Services,PushNotifications,PFPushNotificationsServerSavePushNotificationTemplateAsync,SecretKey,Account Management,ServerSavePushNotificationTemplate,false,No,No,No,No,No,No,No,No +PF Services,PushNotifications,PFPushNotificationsServerSendPushNotificationAsync,SecretKey,Account Management,ServerSendPushNotification,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,PushNotifications,PFPushNotificationsServerSendPushNotificationFromTemplateAsync,SecretKey,Account Management,ServerSendPushNotificationFromTemplate,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,Data,PFDataAbortFileUploadsAsync,EntityToken,File,AbortFileUploads,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Data,PFDataDeleteFilesAsync,EntityToken,File,DeleteFiles,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Data,PFDataFinalizeFileUploadsAsync,EntityToken,File,FinalizeFileUploads,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Data,PFDataGetFilesAsync,EntityToken,File,GetFiles,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Data,PFDataGetObjectsAsync,EntityToken,Object,GetObjects,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Data,PFDataInitiateFileUploadsAsync,EntityToken,File,InitiateFileUploads,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Data,PFDataSetObjectsAsync,EntityToken,Object,SetObjects,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Inventory,PFInventoryAddInventoryItemsAsync,EntityToken,Inventory,AddInventoryItems,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Inventory,PFInventoryDeleteInventoryCollectionAsync,EntityToken,Inventory,DeleteInventoryCollection,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Inventory,PFInventoryDeleteInventoryItemsAsync,EntityToken,Inventory,DeleteInventoryItems,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Inventory,PFInventoryExecuteInventoryOperationsAsync,EntityToken,Inventory,ExecuteInventoryOperations,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Inventory,PFInventoryGetInventoryCollectionIdsAsync,EntityToken,Inventory,GetInventoryCollectionIds,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Inventory,PFInventoryGetInventoryItemsAsync,EntityToken,Inventory,GetInventoryItems,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Inventory,PFInventoryGetMicrosoftStoreAccessTokensAsync,EntityToken,Inventory,GetMicrosoftStoreAccessTokens,false,Yes,Yes,No,No,Yes,No,No,Yes +PF Services,Inventory,PFInventoryGetTransactionHistoryAsync,EntityToken,Inventory,GetTransactionHistory,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,Inventory,PFInventoryPurchaseInventoryItemsAsync,EntityToken,Inventory,PurchaseInventoryItems,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Inventory,PFInventoryRedeemAppleAppStoreInventoryItemsAsync,EntityToken,Inventory,RedeemAppleAppStoreInventoryItems,false,No,No,No,No,No,No,Yes,No +PF Services,Inventory,PFInventoryRedeemGooglePlayInventoryItemsAsync,EntityToken,Inventory,RedeemGooglePlayInventoryItems,false,No,No,No,No,No,Yes,No,No +PF Services,Inventory,PFInventoryRedeemMicrosoftStoreInventoryItemsAsync,EntityToken,Inventory,RedeemMicrosoftStoreInventoryItems,false,Yes,Yes,No,No,Yes,No,No,Yes +PF Services,Inventory,PFInventoryRedeemNintendoEShopInventoryItemsAsync,EntityToken,Inventory,RedeemNintendoEShopInventoryItems,false,No,Yes,Yes,No,Yes,No,No,Yes +PF Services,Inventory,PFInventoryRedeemPlayStationStoreInventoryItemsAsync,EntityToken,Inventory,RedeemPlayStationStoreInventoryItems,false,No,Yes,No,Yes,Yes,No,No,Yes +PF Services,Inventory,PFInventoryRedeemSteamInventoryItemsAsync,EntityToken,Inventory,RedeemSteamInventoryItems,false,No,Yes,No,No,No,No,No,Yes +PF Services,Inventory,PFInventorySubtractInventoryItemsAsync,EntityToken,Inventory,SubtractInventoryItems,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Inventory,PFInventoryTransferInventoryItemsAsync,EntityToken,Inventory,TransferInventoryItems,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Inventory,PFInventoryUpdateInventoryItemsAsync,EntityToken,Inventory,UpdateInventoryItems,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Catalog,PFCatalogCreateDraftItemAsync,EntityToken,Catalog,CreateDraftItem,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Catalog,PFCatalogCreateUploadUrlsAsync,EntityToken,Catalog,CreateUploadUrls,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Catalog,PFCatalogDeleteEntityItemReviewsAsync,EntityToken,Catalog,DeleteEntityItemReviews,false,No,No,No,No,No,No,No,No +PF Services,Catalog,PFCatalogDeleteItemAsync,EntityToken,Catalog,DeleteItem,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Catalog,PFCatalogGetCatalogConfigAsync,EntityToken,Catalog,GetCatalogConfig,false,No,No,No,No,No,No,No,No +PF Services,Catalog,PFCatalogGetDraftItemAsync,EntityToken,Catalog,GetDraftItem,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Catalog,PFCatalogGetDraftItemsAsync,EntityToken,Catalog,GetDraftItems,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Catalog,PFCatalogGetEntityDraftItemsAsync,EntityToken,Catalog,GetEntityDraftItems,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Catalog,PFCatalogGetEntityItemReviewAsync,EntityToken,Catalog,GetEntityItemReview,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Catalog,PFCatalogGetItemAsync,EntityToken,Catalog,GetItem,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Catalog,PFCatalogGetItemContainersAsync,EntityToken,Catalog,GetItemContainers,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Catalog,PFCatalogGetItemModerationStateAsync,EntityToken,Catalog,GetItemModerationState,false,No,No,No,No,No,No,No,No +PF Services,Catalog,PFCatalogGetItemPublishStatusAsync,EntityToken,Catalog,GetItemPublishStatus,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Catalog,PFCatalogGetItemReviewsAsync,EntityToken,Catalog,GetItemReviews,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Catalog,PFCatalogGetItemReviewSummaryAsync,EntityToken,Catalog,GetItemReviewSummary,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Catalog,PFCatalogGetItemsAsync,EntityToken,Catalog,GetItems,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Catalog,PFCatalogPublishDraftItemAsync,EntityToken,Catalog,PublishDraftItem,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Catalog,PFCatalogReportItemAsync,EntityToken,Catalog,ReportItem,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Catalog,PFCatalogReportItemReviewAsync,EntityToken,Catalog,ReportItemReview,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Catalog,PFCatalogReviewItemAsync,EntityToken,Catalog,ReviewItem,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Catalog,PFCatalogSearchItemsAsync,EntityToken,Catalog,SearchItems,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Catalog,PFCatalogSetItemModerationStateAsync,EntityToken,Catalog,SetItemModerationState,false,No,No,No,No,No,No,No,No +PF Services,Catalog,PFCatalogSubmitItemReviewVoteAsync,EntityToken,Catalog,SubmitItemReviewVote,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Catalog,PFCatalogTakedownItemReviewsAsync,EntityToken,Catalog,TakedownItemReviews,false,No,No,No,No,No,No,No,No +PF Services,Catalog,PFCatalogUpdateCatalogConfigAsync,EntityToken,Catalog,UpdateCatalogConfig,false,No,No,No,No,No,No,No,No +PF Services,Catalog,PFCatalogUpdateDraftItemAsync,EntityToken,Catalog,UpdateDraftItem,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Experimentation,PFExperimentationCreateExclusionGroupAsync,EntityToken,Experimentation,CreateExclusionGroup,false,No,No,No,No,No,No,No,No +PF Services,Experimentation,PFExperimentationCreateExperimentAsync,EntityToken,Experimentation,CreateExperiment,false,No,No,No,No,No,No,No,No +PF Services,Experimentation,PFExperimentationDeleteExclusionGroupAsync,EntityToken,Experimentation,DeleteExclusionGroup,false,No,No,No,No,No,No,No,No +PF Services,Experimentation,PFExperimentationDeleteExperimentAsync,EntityToken,Experimentation,DeleteExperiment,false,No,No,No,No,No,No,No,No +PF Services,Experimentation,PFExperimentationGetExclusionGroupsAsync,EntityToken,Experimentation,GetExclusionGroups,false,No,No,No,No,No,No,No,No +PF Services,Experimentation,PFExperimentationGetExclusionGroupTrafficAsync,EntityToken,Experimentation,GetExclusionGroupTraffic,false,No,No,No,No,No,No,No,No +PF Services,Experimentation,PFExperimentationGetExperimentsAsync,EntityToken,Experimentation,GetExperiments,false,No,No,No,No,No,No,No,No +PF Services,Experimentation,PFExperimentationGetLatestScorecardAsync,EntityToken,Experimentation,GetLatestScorecard,false,No,No,No,No,No,No,No,No +PF Services,Experimentation,PFExperimentationGetTreatmentAssignmentAsync,EntityToken,Experimentation,GetTreatmentAssignment,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Experimentation,PFExperimentationStartExperimentAsync,EntityToken,Experimentation,StartExperiment,false,No,No,No,No,No,No,No,No +PF Services,Experimentation,PFExperimentationStopExperimentAsync,EntityToken,Experimentation,StopExperiment,false,No,No,No,No,No,No,No,No +PF Services,Experimentation,PFExperimentationUpdateExclusionGroupAsync,EntityToken,Experimentation,UpdateExclusionGroup,false,No,No,No,No,No,No,No,No +PF Services,Experimentation,PFExperimentationUpdateExperimentAsync,EntityToken,Experimentation,UpdateExperiment,false,No,No,No,No,No,No,No,No +PF Services,Analytics,PFAnalyticsGetDetailsAsync,EntityToken,Analytics,GetDetails,false,No,No,No,No,No,No,No,No +PF Services,Analytics,PFAnalyticsGetLimitsAsync,EntityToken,Analytics,GetLimits,false,No,No,No,No,No,No,No,No +PF Services,Analytics,PFAnalyticsGetOperationStatusAsync,EntityToken,Analytics,GetOperationStatus,false,No,No,No,No,No,No,No,No +PF Services,Analytics,PFAnalyticsGetPendingOperationsAsync,EntityToken,Analytics,GetPendingOperations,false,No,No,No,No,No,No,No,No +PF Services,Analytics,PFAnalyticsSetPerformanceAsync,EntityToken,Analytics,SetPerformance,false,No,No,No,No,No,No,No,No +PF Services,Analytics,PFAnalyticsSetStorageRetentionAsync,EntityToken,Analytics,SetStorageRetention,false,No,No,No,No,No,No,No,No +PF Services,Groups,PFGroupsAcceptGroupApplicationAsync,EntityToken,Groups,AcceptGroupApplication,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Groups,PFGroupsAcceptGroupInvitationAsync,EntityToken,Groups,AcceptGroupInvitation,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Groups,PFGroupsAddMembersAsync,EntityToken,Groups,AddMembers,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Groups,PFGroupsApplyToGroupAsync,EntityToken,Groups,ApplyToGroup,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Groups,PFGroupsBlockEntityAsync,EntityToken,Groups,BlockEntity,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Groups,PFGroupsChangeMemberRoleAsync,EntityToken,Groups,ChangeMemberRole,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Groups,PFGroupsCreateGroupAsync,EntityToken,Groups,CreateGroup,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Groups,PFGroupsCreateRoleAsync,EntityToken,Groups,CreateRole,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Groups,PFGroupsDeleteGroupAsync,EntityToken,Groups,DeleteGroup,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Groups,PFGroupsDeleteRoleAsync,EntityToken,Groups,DeleteRole,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Groups,PFGroupsGetGroupAsync,EntityToken,Groups,GetGroup,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Groups,PFGroupsInviteToGroupAsync,EntityToken,Groups,InviteToGroup,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Groups,PFGroupsIsMemberAsync,EntityToken,Groups,IsMember,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Groups,PFGroupsListGroupApplicationsAsync,EntityToken,Groups,ListGroupApplications,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Groups,PFGroupsListGroupBlocksAsync,EntityToken,Groups,ListGroupBlocks,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Groups,PFGroupsListGroupInvitationsAsync,EntityToken,Groups,ListGroupInvitations,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Groups,PFGroupsListGroupMembersAsync,EntityToken,Groups,ListGroupMembers,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Groups,PFGroupsListMembershipAsync,EntityToken,Groups,ListMembership,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Groups,PFGroupsListMembershipOpportunitiesAsync,EntityToken,Groups,ListMembershipOpportunities,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Groups,PFGroupsRemoveGroupApplicationAsync,EntityToken,Groups,RemoveGroupApplication,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Groups,PFGroupsRemoveGroupInvitationAsync,EntityToken,Groups,RemoveGroupInvitation,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Groups,PFGroupsRemoveMembersAsync,EntityToken,Groups,RemoveMembers,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Groups,PFGroupsUnblockEntityAsync,EntityToken,Groups,UnblockEntity,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Groups,PFGroupsUpdateGroupAsync,EntityToken,Groups,UpdateGroup,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Groups,PFGroupsUpdateRoleAsync,EntityToken,Groups,UpdateRole,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Localization,PFLocalizationGetLanguageListAsync,EntityToken,Localization,GetLanguageList,false,No,Yes,No,No,Yes,No,No,Yes +PF Services,Matchmaking,PFMatchmakingCancelAllMatchmakingTicketsForPlayerAsync,EntityToken,Matchmaking,CancelAllMatchmakingTicketsForPlayer,false,No,No,No,No,No,No,No,No +PF Services,Matchmaking,PFMatchmakingCancelAllServerBackfillTicketsForPlayerAsync,EntityToken,Matchmaking,CancelAllServerBackfillTicketsForPlayer,false,No,No,No,No,No,No,No,No +PF Services,Matchmaking,PFMatchmakingCancelMatchmakingTicketAsync,EntityToken,Matchmaking,CancelMatchmakingTicket,false,No,No,No,No,No,No,No,No +PF Services,Matchmaking,PFMatchmakingCancelServerBackfillTicketAsync,EntityToken,Matchmaking,CancelServerBackfillTicket,false,No,No,No,No,No,No,No,No +PF Services,Matchmaking,PFMatchmakingCreateMatchmakingTicketAsync,EntityToken,Matchmaking,CreateMatchmakingTicket,false,No,No,No,No,No,No,No,No +PF Services,Matchmaking,PFMatchmakingCreateServerBackfillTicketAsync,EntityToken,Matchmaking,CreateServerBackfillTicket,false,No,No,No,No,No,No,No,No +PF Services,Matchmaking,PFMatchmakingCreateServerMatchmakingTicketAsync,EntityToken,Matchmaking,CreateServerMatchmakingTicket,false,No,No,No,No,No,No,No,No +PF Services,Matchmaking,PFMatchmakingGetMatchAsync,EntityToken,Matchmaking,GetMatch,false,No,No,No,No,No,No,No,No +PF Services,Matchmaking,PFMatchmakingGetMatchmakingTicketAsync,EntityToken,Matchmaking,GetMatchmakingTicket,false,No,No,No,No,No,No,No,No +PF Services,Matchmaking,PFMatchmakingGetQueueStatisticsAsync,EntityToken,Matchmaking,GetQueueStatistics,false,No,No,No,No,No,No,No,No +PF Services,Matchmaking,PFMatchmakingGetServerBackfillTicketAsync,EntityToken,Matchmaking,GetServerBackfillTicket,false,No,No,No,No,No,No,No,No +PF Services,Matchmaking,PFMatchmakingJoinMatchmakingTicketAsync,EntityToken,Matchmaking,JoinMatchmakingTicket,false,No,No,No,No,No,No,No,No +PF Services,Matchmaking,PFMatchmakingListMatchmakingTicketsForPlayerAsync,EntityToken,Matchmaking,ListMatchmakingTicketsForPlayer,false,No,No,No,No,No,No,No,No +PF Services,Matchmaking,PFMatchmakingListServerBackfillTicketsForPlayerAsync,EntityToken,Matchmaking,ListServerBackfillTicketsForPlayer,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerCreateBuildAliasAsync,EntityToken,MultiplayerServer,CreateBuildAlias,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerCreateBuildWithCustomContainerAsync,EntityToken,MultiplayerServer,CreateBuildWithCustomContainer,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerCreateBuildWithManagedContainerAsync,EntityToken,MultiplayerServer,CreateBuildWithManagedContainer,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerCreateBuildWithProcessBasedServerAsync,EntityToken,MultiplayerServer,CreateBuildWithProcessBasedServer,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerCreateRemoteUserAsync,EntityToken,MultiplayerServer,CreateRemoteUser,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerCreateTitleMultiplayerServersQuotaChangeAsync,EntityToken,MultiplayerServer,CreateTitleMultiplayerServersQuotaChange,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerDeleteAssetAsync,EntityToken,MultiplayerServer,DeleteAsset,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerDeleteBuildAsync,EntityToken,MultiplayerServer,DeleteBuild,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerDeleteBuildAliasAsync,EntityToken,MultiplayerServer,DeleteBuildAlias,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerDeleteBuildRegionAsync,EntityToken,MultiplayerServer,DeleteBuildRegion,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerDeleteCertificateAsync,EntityToken,MultiplayerServer,DeleteCertificate,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerDeleteContainerImageRepositoryAsync,EntityToken,MultiplayerServer,DeleteContainerImageRepository,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerDeleteRemoteUserAsync,EntityToken,MultiplayerServer,DeleteRemoteUser,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerEnableMultiplayerServersForTitleAsync,EntityToken,MultiplayerServer,EnableMultiplayerServersForTitle,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerGetAssetDownloadUrlAsync,EntityToken,MultiplayerServer,GetAssetDownloadUrl,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerGetAssetUploadUrlAsync,EntityToken,MultiplayerServer,GetAssetUploadUrl,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerGetBuildAsync,EntityToken,MultiplayerServer,GetBuild,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerGetBuildAliasAsync,EntityToken,MultiplayerServer,GetBuildAlias,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerGetContainerRegistryCredentialsAsync,EntityToken,MultiplayerServer,GetContainerRegistryCredentials,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerGetMultiplayerServerDetailsAsync,EntityToken,MultiplayerServer,GetMultiplayerServerDetails,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerGetMultiplayerServerLogsAsync,EntityToken,MultiplayerServer,GetMultiplayerServerLogs,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerGetMultiplayerSessionLogsBySessionIdAsync,EntityToken,MultiplayerServer,GetMultiplayerSessionLogsBySessionId,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerGetRemoteLoginEndpointAsync,EntityToken,MultiplayerServer,GetRemoteLoginEndpoint,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerGetTitleEnabledForMultiplayerServersStatusAsync,EntityToken,MultiplayerServer,GetTitleEnabledForMultiplayerServersStatus,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerGetTitleMultiplayerServersQuotaChangeAsync,EntityToken,MultiplayerServer,GetTitleMultiplayerServersQuotaChange,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerGetTitleMultiplayerServersQuotasAsync,EntityToken,MultiplayerServer,GetTitleMultiplayerServersQuotas,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerListArchivedMultiplayerServersAsync,EntityToken,MultiplayerServer,ListArchivedMultiplayerServers,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerListAssetSummariesAsync,EntityToken,MultiplayerServer,ListAssetSummaries,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerListBuildAliasesAsync,EntityToken,MultiplayerServer,ListBuildAliases,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,MultiplayerServer,PFMultiplayerServerListBuildSummariesV2Async,EntityToken,MultiplayerServer,ListBuildSummariesV2,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,MultiplayerServer,PFMultiplayerServerListCertificateSummariesAsync,EntityToken,MultiplayerServer,ListCertificateSummaries,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerListContainerImagesAsync,EntityToken,MultiplayerServer,ListContainerImages,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerListContainerImageTagsAsync,EntityToken,MultiplayerServer,ListContainerImageTags,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerListMultiplayerServersAsync,EntityToken,MultiplayerServer,ListMultiplayerServers,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerListPartyQosServersAsync,None,MultiplayerServer,ListPartyQosServers,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerListQosServersForTitleAsync,EntityToken,MultiplayerServer,ListQosServersForTitle,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,MultiplayerServer,PFMultiplayerServerListTitleMultiplayerServersQuotaChangesAsync,EntityToken,MultiplayerServer,ListTitleMultiplayerServersQuotaChanges,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerListVirtualMachineSummariesAsync,EntityToken,MultiplayerServer,ListVirtualMachineSummaries,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerRequestMultiplayerServerAsync,EntityToken,MultiplayerServer,RequestMultiplayerServer,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,MultiplayerServer,PFMultiplayerServerRequestPartyServiceAsync,EntityToken,MultiplayerServer,RequestPartyService,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerRolloverContainerRegistryCredentialsAsync,EntityToken,MultiplayerServer,RolloverContainerRegistryCredentials,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerShutdownMultiplayerServerAsync,EntityToken,MultiplayerServer,ShutdownMultiplayerServer,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerUntagContainerImageAsync,EntityToken,MultiplayerServer,UntagContainerImage,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerUpdateBuildAliasAsync,EntityToken,MultiplayerServer,UpdateBuildAlias,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerUpdateBuildNameAsync,EntityToken,MultiplayerServer,UpdateBuildName,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerUpdateBuildRegionAsync,EntityToken,MultiplayerServer,UpdateBuildRegion,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerUpdateBuildRegionsAsync,EntityToken,MultiplayerServer,UpdateBuildRegions,false,No,No,No,No,No,No,No,No +PF Services,MultiplayerServer,PFMultiplayerServerUploadCertificateAsync,EntityToken,MultiplayerServer,UploadCertificate,false,No,No,No,No,No,No,No,No +PF Services,Lobby,PFLobbyCreateLobbyAsync,EntityToken,Lobby,CreateLobby,false,No,No,No,No,No,No,No,No +PF Services,Lobby,PFLobbyDeleteLobbyAsync,EntityToken,Lobby,DeleteLobby,false,No,No,No,No,No,No,No,No +PF Services,Lobby,PFLobbyFindFriendLobbiesAsync,EntityToken,Lobby,FindFriendLobbies,false,No,No,No,No,No,No,No,No +PF Services,Lobby,PFLobbyFindLobbiesAsync,EntityToken,Lobby,FindLobbies,false,No,No,No,No,No,No,No,No +PF Services,Lobby,PFLobbyGetLobbyAsync,EntityToken,Lobby,GetLobby,false,No,No,No,No,No,No,No,No +PF Services,Lobby,PFLobbyInviteToLobbyAsync,EntityToken,Lobby,InviteToLobby,false,No,No,No,No,No,No,No,No +PF Services,Lobby,PFLobbyJoinArrangedLobbyAsync,EntityToken,Lobby,JoinArrangedLobby,false,No,No,No,No,No,No,No,No +PF Services,Lobby,PFLobbyJoinLobbyAsync,EntityToken,Lobby,JoinLobby,false,No,No,No,No,No,No,No,No +PF Services,Lobby,PFLobbyJoinLobbyAsServerAsync,EntityToken,Lobby,JoinLobbyAsServer,false,No,No,No,No,No,No,No,No +PF Services,Lobby,PFLobbyLeaveLobbyAsync,EntityToken,Lobby,LeaveLobby,false,No,No,No,No,No,No,No,No +PF Services,Lobby,PFLobbyLeaveLobbyAsServerAsync,EntityToken,Lobby,LeaveLobbyAsServer,false,No,No,No,No,No,No,No,No +PF Services,Lobby,PFLobbyRemoveMemberAsync,EntityToken,Lobby,RemoveMember,false,No,No,No,No,No,No,No,No +PF Services,Lobby,PFLobbySubscribeToLobbyResourceAsync,EntityToken,Lobby,SubscribeToLobbyResource,false,No,No,No,No,No,No,No,No +PF Services,Lobby,PFLobbyUnsubscribeFromLobbyResourceAsync,EntityToken,Lobby,UnsubscribeFromLobbyResource,false,No,No,No,No,No,No,No,No +PF Services,Lobby,PFLobbyUpdateLobbyAsync,EntityToken,Lobby,UpdateLobby,false,No,No,No,No,No,No,No,No +PF Services,Lobby,PFLobbyUpdateLobbyAsServerAsync,EntityToken,Lobby,UpdateLobbyAsServer,false,No,No,No,No,No,No,No,No +PF Services,Profiles,PFProfilesGetGlobalPolicyAsync,EntityToken,Account Management,GetGlobalPolicy,false,No,No,No,No,No,No,No,No +PF Services,Profiles,PFProfilesGetProfileAsync,EntityToken,Account Management,GetProfile,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Profiles,PFProfilesGetProfilesAsync,EntityToken,Account Management,GetProfiles,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Profiles,PFProfilesGetTitlePlayersFromMasterPlayerAccountIdsAsync,EntityToken,Account Management,GetTitlePlayersFromMasterPlayerAccountIds,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Profiles,PFProfilesSetGlobalPolicyAsync,EntityToken,Account Management,SetGlobalPolicy,false,No,No,No,No,No,No,No,No +PF Services,Profiles,PFProfilesSetProfileLanguageAsync,EntityToken,Account Management,SetProfileLanguage,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes +PF Services,Profiles,PFProfilesSetProfilePolicyAsync,EntityToken,Account Management,SetProfilePolicy,false,Yes,Yes,Yes,Yes,Yes,Yes,Yes,Yes diff --git a/Source/PlayFabServices/Include/Generated/playfab/services/PFAccountManagement.h b/Source/PlayFabServices/Include/Generated/playfab/services/PFAccountManagement.h index 76ac667..d20c7bb 100644 --- a/Source/PlayFabServices/Include/Generated/playfab/services/PFAccountManagement.h +++ b/Source/PlayFabServices/Include/Generated/playfab/services/PFAccountManagement.h @@ -13,7 +13,7 @@ extern "C" { -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Adds or updates a contact email to the player's profile. /// @@ -22,7 +22,7 @@ extern "C" /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// This API adds a contact email to the player's profile. If the player's profile already contains a /// contact email, it will update the contact email to the email address specified. /// @@ -37,7 +37,7 @@ PF_API PFAccountManagementClientAddOrUpdateContactEmailAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Adds playfab username/password auth to an existing account created via an anonymous auth method, /// e.g. automatic device ID login. @@ -47,7 +47,7 @@ PF_API PFAccountManagementClientAddOrUpdateContactEmailAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// See also ClientLoginWithEmailAddressAsync, ClientLoginWithPlayFabAsync. /// /// When the asynchronous task is complete, call @@ -276,7 +276,7 @@ PF_API PFAccountManagementClientGetPlayerProfileGetResult( _Out_opt_ size_t* bufferUsed ) noexcept; -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the unique PlayFab identifiers for the given set of Facebook identifiers. /// @@ -285,7 +285,7 @@ PF_API PFAccountManagementClientGetPlayerProfileGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, Android, iOS, and macOS. /// When the asynchronous task is complete, call /// and to get the result. /// @@ -333,7 +333,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromFacebookIDsGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the unique PlayFab identifiers for the given set of Facebook Instant Game identifiers. /// @@ -342,7 +342,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromFacebookIDsGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// When the asynchronous task is complete, call /// and to get /// the result. @@ -391,7 +391,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromFacebookInstantGamesIdsGetResul ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the unique PlayFab identifiers for the given set of Game Center identifiers (referenced /// in the Game Center Programming Guide as the Player Identifier). @@ -401,7 +401,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromFacebookInstantGamesIdsGetResul /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, iOS, and macOS. /// When the asynchronous task is complete, call /// and to get the result. /// @@ -449,7 +449,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromGameCenterIDsGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the unique PlayFab identifiers for the given set of Google identifiers. The Google identifiers /// are the IDs for the user accounts, available as 'id' in the Google+ People API calls. @@ -459,7 +459,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromGameCenterIDsGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, Android, and macOS. /// When the asynchronous task is complete, call /// and to get the result. /// @@ -507,7 +507,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromGoogleIDsGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the unique PlayFab identifiers for the given set of Google Play Games identifiers. The /// Google Play Games identifiers are the IDs for the user accounts, available as 'playerId' in the Google @@ -518,7 +518,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromGoogleIDsGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, Android, and macOS. /// When the asynchronous task is complete, call /// and to get /// the result. @@ -567,7 +567,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromGooglePlayGamesPlayerIDsGetResu ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the unique PlayFab identifiers for the given set of Kongregate identifiers. The Kongregate /// identifiers are the IDs for the user accounts, available as 'user_id' from the Kongregate API methods(ex: @@ -578,7 +578,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromGooglePlayGamesPlayerIDsGetResu /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// When the asynchronous task is complete, call /// and to get the result. /// @@ -626,7 +626,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromKongregateIDsGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the unique PlayFab identifiers for the given set of Nintendo Service Account identifiers. /// @@ -635,7 +635,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromKongregateIDsGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32 and Nintendo Switch. +/// This API is available on Win32, Nintendo Switch, Linux, and macOS. /// When the asynchronous task is complete, call /// and to /// get the result. @@ -684,7 +684,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromNintendoServiceAccountIdsGetRes ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the unique PlayFab identifiers for the given set of Nintendo Switch Device identifiers. /// @@ -693,7 +693,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromNintendoServiceAccountIdsGetRes /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// When the asynchronous task is complete, call /// and to get /// the result. @@ -742,7 +742,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromNintendoSwitchDeviceIdsGetResul ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the unique PlayFab identifiers for the given set of PlayStation :tm: Network identifiers. /// @@ -751,7 +751,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromNintendoSwitchDeviceIdsGetResul /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32 and Sony PlayStation®. +/// This API is available on Win32, Sony PlayStation®, Linux, and macOS. /// When the asynchronous task is complete, call /// and to get the result. /// @@ -801,7 +801,65 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromPSNAccountIDsGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if 0 +/// +/// Retrieves the unique PlayFab identifiers for the given set of PlayStation :tm: Network identifiers. +/// +/// PFEntityHandle to use for authentication. +/// Populated request object. +/// XAsyncBlock for the async operation. +/// Result code for this API operation. +/// +/// When the asynchronous task is complete, call +/// and to get the result. +/// +PF_API PFAccountManagementClientGetPlayFabIDsFromPSNOnlineIDsAsync( + _In_ PFEntityHandle entityHandle, + _In_ const PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsRequest* request, + _Inout_ XAsyncBlock* async +) noexcept; + +/// +/// Get the size in bytes needed to store the result of a ClientGetPlayFabIDsFromPSNOnlineIDs call. +/// +/// XAsyncBlock for the async operation. +/// The buffer size in bytes required for the result. +/// +/// Result code for this API operation. If the service call is unsuccessful, the result will be E_PF_INVALID_PSN_AUTH_CODE +/// or any of the global PlayFab Service errors. See doc page "Handling PlayFab Errors" for more details +/// on error handling. +/// +PF_API PFAccountManagementClientGetPlayFabIDsFromPSNOnlineIDsGetResultSize( + _Inout_ XAsyncBlock* async, + _Out_ size_t* bufferSize +) noexcept; + +/// +/// Gets the result of a successful PFAccountManagementClientGetPlayFabIDsFromPSNOnlineIDsAsync call. +/// +/// XAsyncBlock for the async operation. +/// The size of the buffer for the result object. +/// Byte buffer used for the result value and its fields. +/// Pointer to the result object. +/// The number of bytes in the provided buffer that were used. +/// +/// Result code for this API operation. If the service call is unsuccessful, the result will be E_PF_INVALID_PSN_AUTH_CODE +/// or any of the global PlayFab Service errors. See doc page "Handling PlayFab Errors" for more details +/// on error handling. +/// +/// +/// result is a pointer within buffer and does not need to be freed separately. +/// +PF_API PFAccountManagementClientGetPlayFabIDsFromPSNOnlineIDsGetResult( + _Inout_ XAsyncBlock* async, + _In_ size_t bufferSize, + _Out_writes_bytes_to_(bufferSize, *bufferUsed) void* buffer, + _Outptr_ PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResult** result, + _Out_opt_ size_t* bufferUsed +) noexcept; +#endif + +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the unique PlayFab identifiers for the given set of Steam identifiers. The Steam identifiers /// are the profile IDs for the user accounts, available as SteamId in the Steamworks Community API calls. @@ -811,7 +869,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromPSNAccountIDsGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// When the asynchronous task is complete, call /// and to get the result. /// @@ -859,7 +917,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromSteamIDsGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the unique PlayFab identifiers for the given set of Twitch identifiers. The Twitch identifiers /// are the IDs for the user accounts, available as '_id' from the Twitch API methods (ex: https://github.com/justintv/Twitch-API/blob/master/v3_resources/users.md#get-usersuser). @@ -869,7 +927,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromSteamIDsGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// When the asynchronous task is complete, call /// and to get the result. /// @@ -917,7 +975,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromTwitchIDsGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the unique PlayFab identifiers for the given set of XboxLive identifiers. /// @@ -926,7 +984,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromTwitchIDsGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32 and GDK. +/// This API is available on Win32, GDK, Linux, and macOS. /// When the asynchronous task is complete, call /// and to get the result. /// @@ -974,7 +1032,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromXboxLiveIDsGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC /// /// Links the Android device identifier to the user's PlayFab account /// @@ -983,7 +1041,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromXboxLiveIDsGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, Android, and macOS. /// See also ClientLoginWithAndroidDeviceIDAsync, ClientUnlinkAndroidDeviceIDAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -997,7 +1055,7 @@ PF_API PFAccountManagementClientLinkAndroidDeviceIDAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC /// /// Links the Apple account associated with the token to the user's PlayFab account. /// @@ -1006,13 +1064,13 @@ PF_API PFAccountManagementClientLinkAndroidDeviceIDAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, iOS, and macOS. /// See also ClientLoginWithAppleAsync, ClientUnlinkAppleAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, -/// the async result will be E_PF_APPLE_NOT_ENABLED_FOR_TITLE, E_PF_INVALID_IDENTITY_PROVIDER_ID, E_PF_LINKED_IDENTIFIER_ALREADY_CLAIMED -/// or any of the global PlayFab Service errors. See doc page "Handling PlayFab Errors" for more details -/// on error handling. +/// the async result will be E_PF_APPLE_NOT_ENABLED_FOR_TITLE, E_PF_INVALID_IDENTITY_PROVIDER_ID, E_PF_LINKED_IDENTIFIER_ALREADY_CLAIMED, +/// E_PF_TOKEN_SIGNING_KEY_NOT_FOUND or any of the global PlayFab Service errors. See doc page "Handling +/// PlayFab Errors" for more details on error handling. /// PF_API PFAccountManagementClientLinkAppleAsync( _In_ PFEntityHandle entityHandle, @@ -1042,7 +1100,7 @@ PF_API PFAccountManagementClientLinkCustomIDAsync( _Inout_ XAsyncBlock* async ) noexcept; -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC /// /// Links the Facebook account associated with the provided Facebook access token to the user's PlayFab /// account @@ -1052,7 +1110,7 @@ PF_API PFAccountManagementClientLinkCustomIDAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, Android, iOS, and macOS. /// Facebook sign-in is accomplished using the Facebook User Access Token. More information on the Token /// can be found in the Facebook developer documentation (https://developers.facebook.com/docs/facebook-login/access-tokens/). /// In Unity, for example, the Token is available as AccessToken in the Facebook SDK ScriptableObject @@ -1074,7 +1132,7 @@ PF_API PFAccountManagementClientLinkFacebookAccountAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Links the Facebook Instant Games Id to the user's PlayFab account /// @@ -1083,7 +1141,7 @@ PF_API PFAccountManagementClientLinkFacebookAccountAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// See also ClientLoginWithFacebookInstantGamesIdAsync, ClientUnlinkFacebookInstantGamesIdAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -1098,7 +1156,7 @@ PF_API PFAccountManagementClientLinkFacebookInstantGamesIdAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC /// /// Links the Game Center account associated with the provided Game Center ID to the user's PlayFab account. /// Logging in with a Game Center ID is insecure if you do not include the optional PublicKeyUrl, Salt, @@ -1111,7 +1169,7 @@ PF_API PFAccountManagementClientLinkFacebookInstantGamesIdAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, iOS, and macOS. /// See also ClientUnlinkGameCenterAccountAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -1126,7 +1184,7 @@ PF_API PFAccountManagementClientLinkGameCenterAccountAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC /// /// Links the currently signed-in user account to their Google account, using their Google account credentials /// @@ -1135,7 +1193,7 @@ PF_API PFAccountManagementClientLinkGameCenterAccountAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, Android, and macOS. /// Google sign-in is accomplished by obtaining a Google OAuth 2.0 credential using the Google sign-in /// for Android APIs on the device and passing it to this API. See also ClientLoginWithGoogleAccountAsync, /// ClientUnlinkGoogleAccountAsync. @@ -1153,7 +1211,7 @@ PF_API PFAccountManagementClientLinkGoogleAccountAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC /// /// Links the currently signed-in user account to their Google Play Games account, using their Google /// Play Games account credentials @@ -1163,7 +1221,7 @@ PF_API PFAccountManagementClientLinkGoogleAccountAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, Android, and macOS. /// Google Play Games sign-in is accomplished by obtaining a Google OAuth 2.0 credential using the Google /// Play Games sign-in for Android APIs on the device and passing it to this API. See also ClientLoginWithGooglePlayGamesServicesAsync, /// ClientUnlinkGooglePlayGamesServicesAccountAsync. @@ -1181,7 +1239,7 @@ PF_API PFAccountManagementClientLinkGooglePlayGamesServicesAccountAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Links the vendor-specific iOS device identifier to the user's PlayFab account /// @@ -1190,7 +1248,7 @@ PF_API PFAccountManagementClientLinkGooglePlayGamesServicesAccountAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// See also ClientLoginWithIOSDeviceIDAsync, ClientUnlinkIOSDeviceIDAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -1204,7 +1262,7 @@ PF_API PFAccountManagementClientLinkIOSDeviceIDAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Links the Kongregate identifier to the user's PlayFab account /// @@ -1213,7 +1271,7 @@ PF_API PFAccountManagementClientLinkIOSDeviceIDAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// See also ClientLoginWithKongregateAsync, ClientUnlinkKongregateAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -1228,7 +1286,7 @@ PF_API PFAccountManagementClientLinkKongregateAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Links the Nintendo account associated with the token to the user's PlayFab account. /// @@ -1237,7 +1295,7 @@ PF_API PFAccountManagementClientLinkKongregateAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32 and Nintendo Switch. +/// This API is available on Win32, Nintendo Switch, Linux, and macOS. /// See also ClientLoginWithNintendoServiceAccountAsync, ClientUnlinkNintendoServiceAccountAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -1252,7 +1310,7 @@ PF_API PFAccountManagementClientLinkNintendoServiceAccountAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Links the NintendoSwitchDeviceId to the user's PlayFab account /// @@ -1261,7 +1319,7 @@ PF_API PFAccountManagementClientLinkNintendoServiceAccountAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// See also ClientLoginWithNintendoSwitchDeviceIdAsync, ClientUnlinkNintendoSwitchDeviceIdAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -1298,7 +1356,7 @@ PF_API PFAccountManagementClientLinkOpenIdConnectAsync( _Inout_ XAsyncBlock* async ) noexcept; -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 || HC_PLATFORM == HC_PLATFORM_MAC /// /// Links the PlayStation :tm: Network account associated with the provided access code to the user's /// PlayFab account @@ -1308,7 +1366,7 @@ PF_API PFAccountManagementClientLinkOpenIdConnectAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32 and Sony PlayStation®. +/// This API is available on Win32, Sony PlayStation®, and macOS. /// See also ClientLoginWithPSNAsync, ClientUnlinkPSNAccountAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -1323,7 +1381,7 @@ PF_API PFAccountManagementClientLinkPSNAccountAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Links the Steam account associated with the provided Steam authentication ticket to the user's PlayFab /// account @@ -1333,7 +1391,7 @@ PF_API PFAccountManagementClientLinkPSNAccountAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// Steam authentication is accomplished with the Steam Session Ticket. More information on the Ticket /// can be found in the Steamworks SDK, here: https://partner.steamgames.com/documentation/auth (requires /// sign-in). NOTE: For Steam authentication to work, the title must be configured with the Steam Application @@ -1353,7 +1411,7 @@ PF_API PFAccountManagementClientLinkSteamAccountAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Links the Twitch account associated with the token to the user's PlayFab account. /// @@ -1362,7 +1420,7 @@ PF_API PFAccountManagementClientLinkSteamAccountAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// See also ClientLoginWithTwitchAsync, ClientUnlinkTwitchAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -1377,7 +1435,7 @@ PF_API PFAccountManagementClientLinkTwitchAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Links the Xbox Live account associated with the provided access code to the user's PlayFab account /// @@ -1386,7 +1444,7 @@ PF_API PFAccountManagementClientLinkTwitchAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32 and GDK. +/// This API is available on Win32, GDK, Linux, and macOS. /// See also ClientLoginWithXboxAsync, ClientUnlinkXboxAccountAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -1401,7 +1459,7 @@ PF_API PFAccountManagementClientLinkXboxAccountAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Removes a contact email from the player's profile. /// @@ -1410,7 +1468,7 @@ PF_API PFAccountManagementClientLinkXboxAccountAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// This API removes an existing contact email from the player's profile. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -1457,7 +1515,7 @@ PF_API PFAccountManagementClientReportPlayerGetResult( _Out_ PFAccountManagementReportPlayerClientResult* result ) noexcept; -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Forces an email to be sent to the registered email address for the user's account, with a link allowing /// the user to change the password.If an account recovery email template ID is provided, an email using @@ -1468,7 +1526,7 @@ PF_API PFAccountManagementClientReportPlayerGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// If the account in question is a 'temporary' account (for example, one that was created via a call /// to LoginFromIOSDeviceID), thisfunction will have no effect. Only PlayFab accounts which have valid /// email addresses will be able to receive a password reset email using this API. @@ -1485,7 +1543,7 @@ PF_API PFAccountManagementClientSendAccountRecoveryEmailAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC /// /// Unlinks the related Android device identifier from the user's PlayFab account /// @@ -1494,7 +1552,7 @@ PF_API PFAccountManagementClientSendAccountRecoveryEmailAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, Android, and macOS. /// See also ClientLinkAndroidDeviceIDAsync, ClientLoginWithAndroidDeviceIDAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -1508,7 +1566,7 @@ PF_API PFAccountManagementClientUnlinkAndroidDeviceIDAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC /// /// Unlinks the related Apple account from the user's PlayFab account. /// @@ -1517,7 +1575,7 @@ PF_API PFAccountManagementClientUnlinkAndroidDeviceIDAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, iOS, and macOS. /// See also ClientLinkAppleAsync, ClientLoginWithAppleAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -1552,7 +1610,7 @@ PF_API PFAccountManagementClientUnlinkCustomIDAsync( _Inout_ XAsyncBlock* async ) noexcept; -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC /// /// Unlinks the related Facebook account from the user's PlayFab account /// @@ -1561,7 +1619,7 @@ PF_API PFAccountManagementClientUnlinkCustomIDAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, Android, iOS, and macOS. /// See also ClientLinkFacebookAccountAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -1575,7 +1633,7 @@ PF_API PFAccountManagementClientUnlinkFacebookAccountAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Unlinks the related Facebook Instant Game Ids from the user's PlayFab account /// @@ -1584,7 +1642,7 @@ PF_API PFAccountManagementClientUnlinkFacebookAccountAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// See also ClientLinkFacebookInstantGamesIdAsync, ClientLoginWithFacebookInstantGamesIdAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -1599,7 +1657,7 @@ PF_API PFAccountManagementClientUnlinkFacebookInstantGamesIdAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC /// /// Unlinks the related Game Center account from the user's PlayFab account /// @@ -1608,7 +1666,7 @@ PF_API PFAccountManagementClientUnlinkFacebookInstantGamesIdAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, iOS, and macOS. /// See also ClientLinkGameCenterAccountAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -1622,7 +1680,7 @@ PF_API PFAccountManagementClientUnlinkGameCenterAccountAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC /// /// Unlinks the related Google account from the user's PlayFab account (https://developers.google.com/android/reference/com/google/android/gms/auth/GoogleAuthUtil#public-methods). /// @@ -1631,7 +1689,7 @@ PF_API PFAccountManagementClientUnlinkGameCenterAccountAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, Android, and macOS. /// See also ClientLinkGoogleAccountAsync, ClientLoginWithGoogleAccountAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -1645,7 +1703,7 @@ PF_API PFAccountManagementClientUnlinkGoogleAccountAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC /// /// Unlinks the related Google Play Games account from the user's PlayFab account. /// @@ -1654,7 +1712,7 @@ PF_API PFAccountManagementClientUnlinkGoogleAccountAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, Android, and macOS. /// See also ClientLinkGooglePlayGamesServicesAccountAsync, ClientLoginWithGooglePlayGamesServicesAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -1668,7 +1726,7 @@ PF_API PFAccountManagementClientUnlinkGooglePlayGamesServicesAccountAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Unlinks the related iOS device identifier from the user's PlayFab account /// @@ -1677,7 +1735,7 @@ PF_API PFAccountManagementClientUnlinkGooglePlayGamesServicesAccountAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// See also ClientLinkIOSDeviceIDAsync, ClientLoginWithIOSDeviceIDAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -1691,7 +1749,7 @@ PF_API PFAccountManagementClientUnlinkIOSDeviceIDAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Unlinks the related Kongregate identifier from the user's PlayFab account /// @@ -1700,7 +1758,7 @@ PF_API PFAccountManagementClientUnlinkIOSDeviceIDAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// See also ClientLinkKongregateAsync, ClientLoginWithKongregateAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -1714,7 +1772,7 @@ PF_API PFAccountManagementClientUnlinkKongregateAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Unlinks the related Nintendo account from the user's PlayFab account. /// @@ -1723,7 +1781,7 @@ PF_API PFAccountManagementClientUnlinkKongregateAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32 and Nintendo Switch. +/// This API is available on Win32, Nintendo Switch, Linux, and macOS. /// See also ClientLinkNintendoServiceAccountAsync, ClientLoginWithNintendoServiceAccountAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -1738,7 +1796,7 @@ PF_API PFAccountManagementClientUnlinkNintendoServiceAccountAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Unlinks the related NintendoSwitchDeviceId from the user's PlayFab account /// @@ -1747,7 +1805,7 @@ PF_API PFAccountManagementClientUnlinkNintendoServiceAccountAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// See also ClientLinkNintendoSwitchDeviceIdAsync, ClientLoginWithNintendoSwitchDeviceIdAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -1784,7 +1842,7 @@ PF_API PFAccountManagementClientUnlinkOpenIdConnectAsync( _Inout_ XAsyncBlock* async ) noexcept; -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Unlinks the related PlayStation :tm: Network account from the user's PlayFab account /// @@ -1793,7 +1851,7 @@ PF_API PFAccountManagementClientUnlinkOpenIdConnectAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32 and Sony PlayStation®. +/// This API is available on Win32, Sony PlayStation®, Linux, and macOS. /// See also ClientLinkPSNAccountAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -1807,7 +1865,7 @@ PF_API PFAccountManagementClientUnlinkPSNAccountAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Unlinks the related Steam account from the user's PlayFab account /// @@ -1816,7 +1874,7 @@ PF_API PFAccountManagementClientUnlinkPSNAccountAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// See also ClientLinkSteamAccountAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -1830,7 +1888,7 @@ PF_API PFAccountManagementClientUnlinkSteamAccountAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Unlinks the related Twitch account from the user's PlayFab account. /// @@ -1839,7 +1897,7 @@ PF_API PFAccountManagementClientUnlinkSteamAccountAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// See also ClientLinkTwitchAsync, ClientLoginWithTwitchAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -1853,7 +1911,7 @@ PF_API PFAccountManagementClientUnlinkTwitchAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Unlinks the related Xbox Live account from the user's PlayFab account /// @@ -1862,7 +1920,7 @@ PF_API PFAccountManagementClientUnlinkTwitchAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32 and GDK. +/// This API is available on Win32, GDK, Linux, and macOS. /// See also ClientLinkXboxAccountAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -1895,7 +1953,7 @@ PF_API PFAccountManagementClientUpdateAvatarUrlAsync( _Inout_ XAsyncBlock* async ) noexcept; -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Updates the title specific display name for the user /// @@ -1904,7 +1962,7 @@ PF_API PFAccountManagementClientUpdateAvatarUrlAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// In addition to the PlayFab username, titles can make use of a DisplayName which is also a unique /// identifier, but specific to the title. This allows for unique names which more closely match the theme /// or genre of a title, for example. @@ -1958,7 +2016,7 @@ PF_API PFAccountManagementClientUpdateUserTitleDisplayNameGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Bans users by PlayFab ID with optional IP address, or MAC address for the provided game. /// @@ -1967,7 +2025,7 @@ PF_API PFAccountManagementClientUpdateUserTitleDisplayNameGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// The existence of each user will not be verified. When banning by IP or MAC address, multiple players /// may be affected, so use this feature with caution. Returns information about the new bans. See also /// ServerGetUserBansAsync, ServerRevokeAllBansForUserAsync, ServerRevokeBansAsync, ServerUpdateBansAsync. @@ -2019,7 +2077,7 @@ PF_API PFAccountManagementServerBanUsersGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Removes a user's player account from a title and deletes all associated data /// @@ -2028,7 +2086,7 @@ PF_API PFAccountManagementServerBanUsersGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// Deletes all data associated with the player, including statistics, custom data, inventory, purchases, /// virtual currency balances, characters and shared group memberships. Removes the player from all leaderboards /// and player search indexes. Does not delete PlayStream event history associated with the player. Does @@ -2050,7 +2108,7 @@ PF_API PFAccountManagementServerDeletePlayerAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Returns whatever info is requested in the response for the user. Note that PII (like email address, /// facebook id) may be returned. All parameters default to false. @@ -2060,7 +2118,7 @@ PF_API PFAccountManagementServerDeletePlayerAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// When the asynchronous task is complete, call /// and to get the result. /// @@ -2108,7 +2166,7 @@ PF_API PFAccountManagementServerGetPlayerCombinedInfoGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the player's profile /// @@ -2117,7 +2175,7 @@ PF_API PFAccountManagementServerGetPlayerCombinedInfoGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// This API allows for access to details regarding a user in the PlayFab service, usually for purposes /// of customer support. Note that data returned may be Personally Identifying Information (PII), such /// as email address, and so care should be taken in how this data is stored and managed. Since this call @@ -2173,7 +2231,7 @@ PF_API PFAccountManagementServerGetPlayerProfileGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the unique PlayFab identifiers for the given set of Facebook identifiers. /// @@ -2182,7 +2240,7 @@ PF_API PFAccountManagementServerGetPlayerProfileGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// When the asynchronous task is complete, call /// and to get the result. /// @@ -2230,7 +2288,7 @@ PF_API PFAccountManagementServerGetPlayFabIDsFromFacebookIDsGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the unique PlayFab identifiers for the given set of Facebook Instant Games identifiers. /// @@ -2239,7 +2297,7 @@ PF_API PFAccountManagementServerGetPlayFabIDsFromFacebookIDsGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// When the asynchronous task is complete, call /// and to get /// the result. @@ -2288,7 +2346,7 @@ PF_API PFAccountManagementServerGetPlayFabIDsFromFacebookInstantGamesIdsGetResul ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the unique PlayFab identifiers for the given set of Nintendo Service Account identifiers. /// @@ -2297,7 +2355,7 @@ PF_API PFAccountManagementServerGetPlayFabIDsFromFacebookInstantGamesIdsGetResul /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// When the asynchronous task is complete, call /// and to /// get the result. @@ -2346,7 +2404,7 @@ PF_API PFAccountManagementServerGetPlayFabIDsFromNintendoServiceAccountIdsGetRes ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the unique PlayFab identifiers for the given set of Nintendo Switch Device identifiers. /// @@ -2355,7 +2413,7 @@ PF_API PFAccountManagementServerGetPlayFabIDsFromNintendoServiceAccountIdsGetRes /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// When the asynchronous task is complete, call /// and to get /// the result. @@ -2404,7 +2462,7 @@ PF_API PFAccountManagementServerGetPlayFabIDsFromNintendoSwitchDeviceIdsGetResul ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the unique PlayFab identifiers for the given set of PlayStation :tm: Network identifiers. /// @@ -2413,7 +2471,7 @@ PF_API PFAccountManagementServerGetPlayFabIDsFromNintendoSwitchDeviceIdsGetResul /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// When the asynchronous task is complete, call /// and to get the result. /// @@ -2461,7 +2519,63 @@ PF_API PFAccountManagementServerGetPlayFabIDsFromPSNAccountIDsGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if 0 +/// +/// Retrieves the unique PlayFab identifiers for the given set of PlayStation :tm: Network identifiers. +/// +/// PFEntityHandle for a title Entity obtained using PFAuthenticationGetEntityWithSecretKeyAsync. +/// Populated request object. +/// XAsyncBlock for the async operation. +/// Result code for this API operation. +/// +/// When the asynchronous task is complete, call +/// and to get the result. +/// +PF_API PFAccountManagementServerGetPlayFabIDsFromPSNOnlineIDsAsync( + _In_ PFEntityHandle titleEntityHandle, + _In_ const PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsRequest* request, + _Inout_ XAsyncBlock* async +) noexcept; + +/// +/// Get the size in bytes needed to store the result of a ServerGetPlayFabIDsFromPSNOnlineIDs call. +/// +/// XAsyncBlock for the async operation. +/// The buffer size in bytes required for the result. +/// +/// Result code for this API operation. If the service call is unsuccessful, the result will be one of +/// global PlayFab Service errors. See doc page "Handling PlayFab Errors" for more details on error handling. +/// +PF_API PFAccountManagementServerGetPlayFabIDsFromPSNOnlineIDsGetResultSize( + _Inout_ XAsyncBlock* async, + _Out_ size_t* bufferSize +) noexcept; + +/// +/// Gets the result of a successful PFAccountManagementServerGetPlayFabIDsFromPSNOnlineIDsAsync call. +/// +/// XAsyncBlock for the async operation. +/// The size of the buffer for the result object. +/// Byte buffer used for the result value and its fields. +/// Pointer to the result object. +/// The number of bytes in the provided buffer that were used. +/// +/// Result code for this API operation. If the service call is unsuccessful, the result will be one of +/// global PlayFab Service errors. See doc page "Handling PlayFab Errors" for more details on error handling. +/// +/// +/// result is a pointer within buffer and does not need to be freed separately. +/// +PF_API PFAccountManagementServerGetPlayFabIDsFromPSNOnlineIDsGetResult( + _Inout_ XAsyncBlock* async, + _In_ size_t bufferSize, + _Out_writes_bytes_to_(bufferSize, *bufferUsed) void* buffer, + _Outptr_ PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResult** result, + _Out_opt_ size_t* bufferUsed +) noexcept; +#endif + +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the unique PlayFab identifiers for the given set of Steam identifiers. The Steam identifiers /// are the profile IDs for the user accounts, available as SteamId in the Steamworks Community API calls. @@ -2471,7 +2585,7 @@ PF_API PFAccountManagementServerGetPlayFabIDsFromPSNAccountIDsGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// When the asynchronous task is complete, call /// and to get the result. /// @@ -2519,7 +2633,7 @@ PF_API PFAccountManagementServerGetPlayFabIDsFromSteamIDsGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the unique PlayFab identifiers for the given set of Twitch identifiers. The Twitch identifiers /// are the IDs for the user accounts, available as '_id' from the Twitch API methods (ex: https://github.com/justintv/Twitch-API/blob/master/v3_resources/users.md#get-usersuser). @@ -2529,7 +2643,7 @@ PF_API PFAccountManagementServerGetPlayFabIDsFromSteamIDsGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// When the asynchronous task is complete, call /// and to get the result. /// @@ -2577,7 +2691,7 @@ PF_API PFAccountManagementServerGetPlayFabIDsFromTwitchIDsGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the unique PlayFab identifiers for the given set of XboxLive identifiers. /// @@ -2586,7 +2700,7 @@ PF_API PFAccountManagementServerGetPlayFabIDsFromTwitchIDsGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// When the asynchronous task is complete, call /// and to get the result. /// @@ -2634,7 +2748,7 @@ PF_API PFAccountManagementServerGetPlayFabIDsFromXboxLiveIDsGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the associated PlayFab account identifiers for the given set of server custom identifiers. /// @@ -2643,7 +2757,7 @@ PF_API PFAccountManagementServerGetPlayFabIDsFromXboxLiveIDsGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// When the asynchronous task is complete, call /// and to get the result. /// @@ -2691,7 +2805,7 @@ PF_API PFAccountManagementServerGetServerCustomIDsFromPlayFabIDsGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the relevant details for a specified user /// @@ -2700,7 +2814,7 @@ PF_API PFAccountManagementServerGetServerCustomIDsFromPlayFabIDsGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// This API allows for access to details regarding a user in the PlayFab service, usually for purposes /// of customer support. Note that data returned may be Personally Identifying Information (PII), such /// as email address, and so care should be taken in how this data is stored and managed. Since this call @@ -2754,7 +2868,7 @@ PF_API PFAccountManagementServerGetUserAccountInfoGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Gets all bans for a user. /// @@ -2763,7 +2877,7 @@ PF_API PFAccountManagementServerGetUserAccountInfoGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// Get all bans for a user, including inactive and expired bans. See also ServerBanUsersAsync, ServerRevokeAllBansForUserAsync, /// ServerRevokeBansAsync, ServerUpdateBansAsync. /// @@ -2816,7 +2930,7 @@ PF_API PFAccountManagementServerGetUserBansGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Links the Nintendo account associated with the token to the user's PlayFab account /// @@ -2825,7 +2939,7 @@ PF_API PFAccountManagementServerGetUserBansGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// See also ServerLinkNintendoServiceAccountSubjectAsync, ServerUnlinkNintendoServiceAccountAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -2840,7 +2954,7 @@ PF_API PFAccountManagementServerLinkNintendoServiceAccountAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Links the Nintendo account associated with the Nintendo Service Account subject or id to the user's /// PlayFab account @@ -2850,7 +2964,7 @@ PF_API PFAccountManagementServerLinkNintendoServiceAccountAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// See also ServerLinkNintendoServiceAccountAsync, ServerUnlinkNintendoServiceAccountAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -2865,7 +2979,7 @@ PF_API PFAccountManagementServerLinkNintendoServiceAccountSubjectAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Links the NintendoSwitchDeviceId to the user's PlayFab account /// @@ -2874,7 +2988,7 @@ PF_API PFAccountManagementServerLinkNintendoServiceAccountSubjectAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// See also ServerUnlinkNintendoSwitchDeviceIdAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -2888,7 +3002,7 @@ PF_API PFAccountManagementServerLinkNintendoSwitchDeviceIdAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Links the PlayStation :tm: Network account associated with the provided access code to the user's /// PlayFab account @@ -2898,7 +3012,7 @@ PF_API PFAccountManagementServerLinkNintendoSwitchDeviceIdAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// See also ServerUnlinkPSNAccountAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -2937,7 +3051,7 @@ PF_API PFAccountManagementServerLinkPSNIdAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Links the custom server identifier, generated by the title, to the user's PlayFab account. /// @@ -2946,7 +3060,7 @@ PF_API PFAccountManagementServerLinkPSNIdAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// Call to get the status of the operation. If the service call is unsuccessful, /// the async result will be E_PF_ACCOUNT_NOT_FOUND, E_PF_LINKED_IDENTIFIER_ALREADY_CLAIMED or any of /// the global PlayFab Service errors. See doc page "Handling PlayFab Errors" for more details on error @@ -2959,7 +3073,7 @@ PF_API PFAccountManagementServerLinkServerCustomIdAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Links the Steam account associated with the provided Steam ID to the user's PlayFab account /// @@ -2968,7 +3082,7 @@ PF_API PFAccountManagementServerLinkServerCustomIdAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// See also ServerLoginWithSteamIdAsync, ServerUnlinkSteamIdAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -2983,7 +3097,7 @@ PF_API PFAccountManagementServerLinkSteamIdAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Links the Xbox Live account associated with the provided access code to the user's PlayFab account /// @@ -2992,7 +3106,7 @@ PF_API PFAccountManagementServerLinkSteamIdAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// See also ServerLoginWithXboxAsync, ServerUnlinkXboxAccountAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -3007,7 +3121,7 @@ PF_API PFAccountManagementServerLinkXboxAccountAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Revoke all active bans for a user. /// @@ -3016,7 +3130,7 @@ PF_API PFAccountManagementServerLinkXboxAccountAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// Setting the active state of all non-expired bans for a user to Inactive. Expired bans with an Active /// state will be ignored, however. Returns information about applied updates only. See also ServerBanUsersAsync, /// ServerGetUserBansAsync, ServerRevokeBansAsync, ServerUpdateBansAsync. @@ -3070,7 +3184,7 @@ PF_API PFAccountManagementServerRevokeAllBansForUserGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Revoke all active bans specified with BanId. /// @@ -3079,7 +3193,7 @@ PF_API PFAccountManagementServerRevokeAllBansForUserGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// Setting the active state of all bans requested to Inactive regardless of whether that ban has already /// expired. BanIds that do not exist will be skipped. Returns information about applied updates only. /// See also ServerBanUsersAsync, ServerGetUserBansAsync, ServerRevokeAllBansForUserAsync, ServerUpdateBansAsync. @@ -3131,7 +3245,7 @@ PF_API PFAccountManagementServerRevokeBansGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Forces an email to be sent to the registered contact email address for the user's account based on /// an account recovery email template @@ -3141,7 +3255,7 @@ PF_API PFAccountManagementServerRevokeBansGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// PlayFab accounts which have valid email address or username will be able to receive a password reset /// email using this API.The email sent must be an account recovery email template. The username or email /// can be passed in to send the email. @@ -3159,7 +3273,7 @@ PF_API PFAccountManagementServerSendCustomAccountRecoveryEmailAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Sends an email based on an email template to a player's contact email /// @@ -3168,7 +3282,7 @@ PF_API PFAccountManagementServerSendCustomAccountRecoveryEmailAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// Sends an email for only players that have contact emails associated with them. Takes in an email /// template ID specifyingthe email template to send. /// @@ -3184,7 +3298,7 @@ PF_API PFAccountManagementServerSendEmailFromTemplateAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Unlinks the related Nintendo account from the user's PlayFab account /// @@ -3193,7 +3307,7 @@ PF_API PFAccountManagementServerSendEmailFromTemplateAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// See also ServerLinkNintendoServiceAccountAsync, ServerLinkNintendoServiceAccountSubjectAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -3208,7 +3322,7 @@ PF_API PFAccountManagementServerUnlinkNintendoServiceAccountAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Unlinks the related NintendoSwitchDeviceId from the user's PlayFab account /// @@ -3217,7 +3331,7 @@ PF_API PFAccountManagementServerUnlinkNintendoServiceAccountAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// See also ServerLinkNintendoSwitchDeviceIdAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -3232,7 +3346,7 @@ PF_API PFAccountManagementServerUnlinkNintendoSwitchDeviceIdAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Unlinks the related PlayStation :tm: Network account from the user's PlayFab account /// @@ -3241,7 +3355,7 @@ PF_API PFAccountManagementServerUnlinkNintendoSwitchDeviceIdAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// See also ServerLinkPSNAccountAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -3255,7 +3369,7 @@ PF_API PFAccountManagementServerUnlinkPSNAccountAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Unlinks the custom server identifier from the user's PlayFab account. /// @@ -3264,7 +3378,7 @@ PF_API PFAccountManagementServerUnlinkPSNAccountAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// See also ServerLinkServerCustomIdAsync, ServerLoginWithServerCustomIdAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -3278,7 +3392,7 @@ PF_API PFAccountManagementServerUnlinkServerCustomIdAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Unlinks the Steam account associated with the provided Steam ID to the user's PlayFab account /// @@ -3287,7 +3401,7 @@ PF_API PFAccountManagementServerUnlinkServerCustomIdAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// See also ServerLinkSteamIdAsync, ServerLoginWithSteamIdAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -3301,7 +3415,7 @@ PF_API PFAccountManagementServerUnlinkSteamIdAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Unlinks the related Xbox Live account from the user's PlayFab account /// @@ -3310,7 +3424,7 @@ PF_API PFAccountManagementServerUnlinkSteamIdAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// See also ServerLinkXboxAccountAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -3324,7 +3438,7 @@ PF_API PFAccountManagementServerUnlinkXboxAccountAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Update the avatar URL of the specified player /// @@ -3333,7 +3447,7 @@ PF_API PFAccountManagementServerUnlinkXboxAccountAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// Call to get the status of the operation. If the service call is unsuccessful, /// the async result will be one of global PlayFab Service errors. See doc page "Handling PlayFab Errors" /// for more details on error handling. @@ -3345,7 +3459,7 @@ PF_API PFAccountManagementServerUpdateAvatarUrlAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Updates information of a list of existing bans specified with Ban Ids. /// @@ -3354,7 +3468,7 @@ PF_API PFAccountManagementServerUpdateAvatarUrlAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// For each ban, only updates the values that are set. Leave any value to null for no change. If a ban /// could not be found, the rest are still applied. Returns information about applied updates only. See /// also ServerBanUsersAsync, ServerGetUserBansAsync, ServerRevokeAllBansForUserAsync, ServerRevokeBansAsync. @@ -3406,7 +3520,7 @@ PF_API PFAccountManagementServerUpdateBansGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the title player accounts associated with the given XUIDs. /// @@ -3415,7 +3529,7 @@ PF_API PFAccountManagementServerUpdateBansGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// Given a collection of Xbox IDs (XUIDs), returns all title player accounts. /// /// When the asynchronous task is complete, call diff --git a/Source/PlayFabServices/Include/Generated/playfab/services/PFAccountManagementTypes.h b/Source/PlayFabServices/Include/Generated/playfab/services/PFAccountManagementTypes.h index 45d0bf2..082e79b 100644 --- a/Source/PlayFabServices/Include/Generated/playfab/services/PFAccountManagementTypes.h +++ b/Source/PlayFabServices/Include/Generated/playfab/services/PFAccountManagementTypes.h @@ -728,6 +728,66 @@ typedef struct PFAccountManagementGetPlayFabIDsFromPSNAccountIDsResult } PFAccountManagementGetPlayFabIDsFromPSNAccountIDsResult; +/// +/// PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsRequest data model. +/// +typedef struct PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsRequest +{ + /// + /// (Optional) Id of the PlayStation :tm: Network issuer environment. If null, defaults to production + /// environment. + /// + _Maybenull_ int32_t const* issuerId; + + /// + /// Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab + /// identifiers. The array cannot exceed 2,000 in length. + /// + _Field_size_(PSNOnlineIDsCount) const char* const* PSNOnlineIDs; + + /// + /// Count of PSNOnlineIDs + /// + uint32_t PSNOnlineIDsCount; + +} PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsRequest; + +/// +/// PFAccountManagementPSNOnlinePlayFabIdPair data model. +/// +typedef struct PFAccountManagementPSNOnlinePlayFabIdPair +{ + /// + /// (Optional) Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the + /// PlayStation :tm: Network identifier. + /// + _Maybenull_ _Null_terminated_ const char* playFabId; + + /// + /// (Optional) Unique PlayStation :tm: Network identifier for a user. + /// + _Maybenull_ _Null_terminated_ const char* PSNOnlineId; + +} PFAccountManagementPSNOnlinePlayFabIdPair; + +/// +/// PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResult data model. For PlayStation :tm: Network identifiers +/// which have not been linked to PlayFab accounts, null will be returned. +/// +typedef struct PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResult +{ + /// + /// (Optional) Mapping of PlayStation :tm: Network identifiers to PlayFab identifiers. + /// + _Maybenull_ _Field_size_(dataCount) PFAccountManagementPSNOnlinePlayFabIdPair const* const* data; + + /// + /// Count of data + /// + uint32_t dataCount; + +} PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResult; + /// /// PFAccountManagementGetPlayFabIDsFromSteamIDsRequest data model. /// diff --git a/Source/PlayFabServices/Include/Generated/playfab/services/PFCloudScript.h b/Source/PlayFabServices/Include/Generated/playfab/services/PFCloudScript.h index f446247..3de8483 100644 --- a/Source/PlayFabServices/Include/Generated/playfab/services/PFCloudScript.h +++ b/Source/PlayFabServices/Include/Generated/playfab/services/PFCloudScript.h @@ -73,7 +73,7 @@ PF_API PFCloudScriptClientExecuteCloudScriptGetResult( _Out_opt_ size_t* bufferUsed ) noexcept; -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Executes a CloudScript function, with the 'currentPlayerId' set to the PlayFab ID of the authenticated /// player. The PlayFab ID is the entity ID of the player's master_player_account entity. @@ -83,7 +83,7 @@ PF_API PFCloudScriptClientExecuteCloudScriptGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// When the asynchronous task is complete, call /// and to get the result. /// diff --git a/Source/PlayFabServices/Include/Generated/playfab/services/PFData.h b/Source/PlayFabServices/Include/Generated/playfab/services/PFData.h index 36a4ae9..dc8c581 100644 --- a/Source/PlayFabServices/Include/Generated/playfab/services/PFData.h +++ b/Source/PlayFabServices/Include/Generated/playfab/services/PFData.h @@ -22,7 +22,8 @@ extern "C" /// Result code for this API operation. /// /// This API is available on all platforms. -/// Aborts the pending upload of the requested files. +/// Aborts the pending upload of the requested files. See also FileDeleteFilesAsync, FileFinalizeFileUploadsAsync, +/// FileGetFilesAsync, FileInitiateFileUploadsAsync. /// /// When the asynchronous task is complete, call and /// to get the result. @@ -81,7 +82,8 @@ PF_API PFDataAbortFileUploadsGetResult( /// Result code for this API operation. /// /// This API is available on all platforms. -/// Deletes the requested files from the entity's profile. +/// Deletes the requested files from the entity's profile. See also FileAbortFileUploadsAsync, FileFinalizeFileUploadsAsync, +/// FileGetFilesAsync, FileInitiateFileUploadsAsync. /// /// When the asynchronous task is complete, call and to get the result. @@ -141,7 +143,8 @@ PF_API PFDataDeleteFilesGetResult( /// /// This API is available on all platforms. /// Finalizes the upload of the requested files. Verifies that the files have been successfully uploaded -/// and moves the file pointers from pending to live. +/// and moves the file pointers from pending to live. See also FileAbortFileUploadsAsync, FileDeleteFilesAsync, +/// FileGetFilesAsync, FileInitiateFileUploadsAsync. /// /// When the asynchronous task is complete, call /// and to get the result. @@ -318,7 +321,8 @@ PF_API PFDataGetObjectsGetResult( /// /// This API is available on all platforms. /// Returns URLs that may be used to upload the files for a profile 5 minutes. After using the upload -/// calls FinalizeFileUploads must be called to move the file status from pending to live. +/// calls FinalizeFileUploads must be called to move the file status from pending to live. See also FileAbortFileUploadsAsync, +/// FileDeleteFilesAsync, FileFinalizeFileUploadsAsync, FileGetFilesAsync. /// /// When the asynchronous task is complete, call /// and to get the result. @@ -381,7 +385,7 @@ PF_API PFDataInitiateFileUploadsGetResult( /// optimistic concurrency operations during update. If the current version differs from the version in /// the request the request will be ignored. If no version is set on the request then the value will always /// be updated if the values differ. Using the version value does not guarantee a write though, ConcurrentEditError -/// may still occur if multiple clients are attempting to update the same profile. . +/// may still occur if multiple clients are attempting to update the same profile. See also ObjectGetObjectsAsync. /// /// When the asynchronous task is complete, call and to get the result. diff --git a/Source/PlayFabServices/Include/Generated/playfab/services/PFFriends.h b/Source/PlayFabServices/Include/Generated/playfab/services/PFFriends.h index e3d86f4..4718754 100644 --- a/Source/PlayFabServices/Include/Generated/playfab/services/PFFriends.h +++ b/Source/PlayFabServices/Include/Generated/playfab/services/PFFriends.h @@ -158,7 +158,7 @@ PF_API PFFriendsClientSetFriendTagsAsync( _Inout_ XAsyncBlock* async ) noexcept; -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Adds the Friend user to the friendlist of the user with PlayFabId. At least one of FriendPlayFabId,FriendUsername,FriendEmail, /// or FriendTitleDisplayName should be initialized. @@ -168,7 +168,7 @@ PF_API PFFriendsClientSetFriendTagsAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// See also ServerGetFriendsListAsync, ServerRemoveFriendAsync, ServerSetFriendTagsAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -182,7 +182,7 @@ PF_API PFFriendsServerAddFriendAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the current friends for the user with PlayFabId, constrained to users who have PlayFab /// accounts. Friends from linked accounts (Facebook, Steam) are also included. You may optionally exclude @@ -193,7 +193,7 @@ PF_API PFFriendsServerAddFriendAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// See also ServerAddFriendAsync, ServerGetPlayerProfileAsync, ServerRemoveFriendAsync, ServerSetFriendTagsAsync. /// /// When the asynchronous task is complete, call @@ -247,7 +247,7 @@ PF_API PFFriendsServerGetFriendsListGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Removes the specified friend from the the user's friend list /// @@ -256,7 +256,7 @@ PF_API PFFriendsServerGetFriendsListGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// See also ServerAddFriendAsync, ServerSetFriendTagsAsync. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -270,7 +270,7 @@ PF_API PFFriendsServerRemoveFriendAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Updates the tag list for a specified user in the friend list of another user /// @@ -279,7 +279,7 @@ PF_API PFFriendsServerRemoveFriendAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// This operation is not additive. It will completely replace the tag list for the specified user. Please /// note that only users in the PlayFab friends list can be assigned tags. Attempting to set a tag on /// a friend only included in the friends list from a social site integration (such as Facebook or Steam) diff --git a/Source/PlayFabServices/Include/Generated/playfab/services/PFInventory.h b/Source/PlayFabServices/Include/Generated/playfab/services/PFInventory.h index f68bf92..9158345 100644 --- a/Source/PlayFabServices/Include/Generated/playfab/services/PFInventory.h +++ b/Source/PlayFabServices/Include/Generated/playfab/services/PFInventory.h @@ -337,7 +337,7 @@ PF_API PFInventoryGetInventoryItemsGetResult( _Out_opt_ size_t* bufferUsed ) noexcept; -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Gets the access tokens. /// @@ -346,7 +346,7 @@ PF_API PFInventoryGetInventoryItemsGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32 and GDK. +/// This API is available on Win32, GDK, Linux, and macOS. /// Gets the access tokens for Microsoft Store authentication. /// /// When the asynchronous task is complete, call @@ -398,7 +398,7 @@ PF_API PFInventoryGetMicrosoftStoreAccessTokensGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Get transaction history for a player. Up to 50 Events can be returned at once. You can use continuation /// tokens to paginate through results that return greater than the limit. Getting transaction history @@ -410,7 +410,7 @@ PF_API PFInventoryGetMicrosoftStoreAccessTokensGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// Get transaction history for specified entity and collection. /// /// When the asynchronous task is complete, call @@ -488,8 +488,8 @@ PF_API PFInventoryPurchaseInventoryItemsAsync( /// The buffer size in bytes required for the result. /// /// Result code for this API operation. If the service call is unsuccessful, the result will be E_PF_DATABASE_THROUGHPUT_EXCEEDED, -/// E_PF_INSUFFICIENT_FUNDS, E_PF_ITEM_NOT_FOUND or any of the global PlayFab Service errors. See doc -/// page "Handling PlayFab Errors" for more details on error handling. +/// E_PF_INSUFFICIENT_FUNDS, E_PF_INVALID_CATALOG_ITEM_CONFIGURATION, E_PF_ITEM_NOT_FOUND or any of the +/// global PlayFab Service errors. See doc page "Handling PlayFab Errors" for more details on error handling. /// PF_API PFInventoryPurchaseInventoryItemsGetResultSize( _Inout_ XAsyncBlock* async, @@ -506,8 +506,8 @@ PF_API PFInventoryPurchaseInventoryItemsGetResultSize( /// The number of bytes in the provided buffer that were used. /// /// Result code for this API operation. If the service call is unsuccessful, the result will be E_PF_DATABASE_THROUGHPUT_EXCEEDED, -/// E_PF_INSUFFICIENT_FUNDS, E_PF_ITEM_NOT_FOUND or any of the global PlayFab Service errors. See doc -/// page "Handling PlayFab Errors" for more details on error handling. +/// E_PF_INSUFFICIENT_FUNDS, E_PF_INVALID_CATALOG_ITEM_CONFIGURATION, E_PF_ITEM_NOT_FOUND or any of the +/// global PlayFab Service errors. See doc page "Handling PlayFab Errors" for more details on error handling. /// /// /// result is a pointer within buffer and does not need to be freed separately. @@ -520,7 +520,7 @@ PF_API PFInventoryPurchaseInventoryItemsGetResult( _Out_opt_ size_t* bufferUsed ) noexcept; -#if 0 +#if HC_PLATFORM == HC_PLATFORM_IOS /// /// Redeem items. /// @@ -529,6 +529,7 @@ PF_API PFInventoryPurchaseInventoryItemsGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// +/// This API is available on iOS. /// Redeem items from the Apple App Store. /// /// When the asynchronous task is complete, call @@ -578,7 +579,7 @@ PF_API PFInventoryRedeemAppleAppStoreInventoryItemsGetResult( ) noexcept; #endif -#if 0 +#if HC_PLATFORM == HC_PLATFORM_ANDROID /// /// Redeem items. /// @@ -587,6 +588,7 @@ PF_API PFInventoryRedeemAppleAppStoreInventoryItemsGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// +/// This API is available on Android. /// Redeem items from the Google Play Store. /// /// When the asynchronous task is complete, call @@ -636,7 +638,7 @@ PF_API PFInventoryRedeemGooglePlayInventoryItemsGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Redeem items. /// @@ -645,7 +647,7 @@ PF_API PFInventoryRedeemGooglePlayInventoryItemsGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32 and GDK. +/// This API is available on Win32, GDK, Linux, and macOS. /// Redeem items from the Microsoft Store. /// /// When the asynchronous task is complete, call @@ -697,7 +699,7 @@ PF_API PFInventoryRedeemMicrosoftStoreInventoryItemsGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Redeem items. /// @@ -706,7 +708,7 @@ PF_API PFInventoryRedeemMicrosoftStoreInventoryItemsGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Nintendo Switch. +/// This API is available on Win32, Nintendo Switch, Linux, and macOS. /// Redeem items from the Nintendo EShop. /// /// When the asynchronous task is complete, call @@ -758,7 +760,7 @@ PF_API PFInventoryRedeemNintendoEShopInventoryItemsGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Redeem items. /// @@ -767,7 +769,7 @@ PF_API PFInventoryRedeemNintendoEShopInventoryItemsGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Sony PlayStation®. +/// This API is available on Win32, Sony PlayStation®, Linux, and macOS. /// Redeem items from the PlayStation Store. /// /// When the asynchronous task is complete, call @@ -819,7 +821,7 @@ PF_API PFInventoryRedeemPlayStationStoreInventoryItemsGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_MAC /// /// Redeem items. /// @@ -828,7 +830,7 @@ PF_API PFInventoryRedeemPlayStationStoreInventoryItemsGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32 and macOS. /// Redeem inventory items from Steam. /// /// When the asynchronous task is complete, call diff --git a/Source/PlayFabServices/Include/Generated/playfab/services/PFInventoryTypes.h b/Source/PlayFabServices/Include/Generated/playfab/services/PFInventoryTypes.h index e6a9775..c61243b 100644 --- a/Source/PlayFabServices/Include/Generated/playfab/services/PFInventoryTypes.h +++ b/Source/PlayFabServices/Include/Generated/playfab/services/PFInventoryTypes.h @@ -1370,7 +1370,8 @@ typedef struct PFInventoryRedeemMicrosoftStoreInventoryItemsRequest XUserHandle user; #else /// - /// (Optional) Xbox Token used for delegated business partner authentication. + /// (Optional) Xbox Token used for delegated business partner authentication. Token provided by the + /// Xbox Live SDK method GetTokenAndSignatureAsync("POST", "https://playfabapi.com/", ""). /// _Maybenull_ _Null_terminated_ const char* xboxToken; #endif diff --git a/Source/PlayFabServices/Include/Generated/playfab/services/PFLocalization.h b/Source/PlayFabServices/Include/Generated/playfab/services/PFLocalization.h index 1313547..67c9da4 100644 --- a/Source/PlayFabServices/Include/Generated/playfab/services/PFLocalization.h +++ b/Source/PlayFabServices/Include/Generated/playfab/services/PFLocalization.h @@ -13,7 +13,7 @@ extern "C" { -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the list of allowed languages, only accessible by title entities /// @@ -22,7 +22,7 @@ extern "C" /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// When the asynchronous task is complete, call /// and to get the result. /// diff --git a/Source/PlayFabServices/Include/Generated/playfab/services/PFMultiplayerServerTypes.h b/Source/PlayFabServices/Include/Generated/playfab/services/PFMultiplayerServerTypes.h index 32a3669..5a16ac7 100644 --- a/Source/PlayFabServices/Include/Generated/playfab/services/PFMultiplayerServerTypes.h +++ b/Source/PlayFabServices/Include/Generated/playfab/services/PFMultiplayerServerTypes.h @@ -518,6 +518,12 @@ typedef struct PFMultiplayerServerListQosServersForTitleRequest /// _Maybenull_ bool const* includeAllRegions; + /// + /// (Optional) Indicates the Routing Preference used by the Qos servers. The default Routing Preference + /// is Microsoft. + /// + _Maybenull_ _Null_terminated_ const char* routingPreference; + } PFMultiplayerServerListQosServersForTitleRequest; /// diff --git a/Source/PlayFabServices/Include/Generated/playfab/services/PFPlatformSpecific.h b/Source/PlayFabServices/Include/Generated/playfab/services/PFPlatformSpecific.h index b1b0a0d..ce9e4dd 100644 --- a/Source/PlayFabServices/Include/Generated/playfab/services/PFPlatformSpecific.h +++ b/Source/PlayFabServices/Include/Generated/playfab/services/PFPlatformSpecific.h @@ -13,7 +13,7 @@ extern "C" { -#if 0 +#if HC_PLATFORM == HC_PLATFORM_ANDROID /// /// Registers the Android device to receive push notifications /// @@ -22,6 +22,7 @@ extern "C" /// XAsyncBlock for the async operation. /// Result code for this API operation. /// +/// This API is available on Android. /// More information can be found on configuring your game for the Google Cloud Messaging service in /// the Google developer documentation, here: http://developer.android.com/google/gcm/client.html. The /// steps to configure and send Push Notifications is described in the PlayFab tutorials, here: https://docs.microsoft.com/gaming/playfab/features/engagement/push-notifications/quickstart. @@ -59,7 +60,7 @@ PF_API PFPlatformSpecificClientRefreshPSNAuthTokenAsync( ) noexcept; #endif -#if 0 +#if HC_PLATFORM == HC_PLATFORM_IOS /// /// Registers the iOS device to receive push notifications /// @@ -68,6 +69,7 @@ PF_API PFPlatformSpecificClientRefreshPSNAuthTokenAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// +/// This API is available on iOS. /// The steps to configure and send Push Notifications is described in the PlayFab tutorials, here: https://docs.microsoft.com/gaming/playfab/features/engagement/push-notifications/quickstart. /// /// Call to get the status of the operation. If the service call is unsuccessful, @@ -82,7 +84,7 @@ PF_API PFPlatformSpecificClientRegisterForIOSPushNotificationAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Awards the specified users the specified Steam achievements /// @@ -91,7 +93,7 @@ PF_API PFPlatformSpecificClientRegisterForIOSPushNotificationAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// When the asynchronous task is complete, call /// and to get the result. /// diff --git a/Source/PlayFabServices/Include/Generated/playfab/services/PFPlayerDataManagement.h b/Source/PlayFabServices/Include/Generated/playfab/services/PFPlayerDataManagement.h index b997fbc..13f8c72 100644 --- a/Source/PlayFabServices/Include/Generated/playfab/services/PFPlayerDataManagement.h +++ b/Source/PlayFabServices/Include/Generated/playfab/services/PFPlayerDataManagement.h @@ -336,7 +336,7 @@ PF_API PFPlayerDataManagementClientUpdateUserPublisherDataGetResult( _Out_ PFPlayerDataManagementUpdateUserDataResult* result ) noexcept; -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the title-specific custom data for the user which is readable and writable by the client /// @@ -345,7 +345,7 @@ PF_API PFPlayerDataManagementClientUpdateUserPublisherDataGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// Data is stored as JSON key-value pairs. If the Keys parameter is provided, the data object returned /// will only contain the data specific to the indicated Keys. Otherwise, the full set of custom user /// data will be returned. See also ServerGetUserInternalDataAsync, ServerGetUserReadOnlyDataAsync, ServerUpdateUserDataAsync, @@ -398,7 +398,7 @@ PF_API PFPlayerDataManagementServerGetUserDataGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the title-specific custom data for the user which cannot be accessed by the client /// @@ -407,7 +407,7 @@ PF_API PFPlayerDataManagementServerGetUserDataGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// Data is stored as JSON key-value pairs. If the Keys parameter is provided, the data object returned /// will only contain the data specific to the indicated Keys. Otherwise, the full set of custom user /// data will be returned. See also ServerGetUserDataAsync, ServerGetUserReadOnlyDataAsync, ServerUpdateUserDataAsync, @@ -460,7 +460,7 @@ PF_API PFPlayerDataManagementServerGetUserInternalDataGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the publisher-specific custom data for the user which is readable and writable by the client /// @@ -469,7 +469,7 @@ PF_API PFPlayerDataManagementServerGetUserInternalDataGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// Data is stored as JSON key-value pairs. If the Keys parameter is provided, the data object returned /// will only contain the data specific to the indicated Keys. Otherwise, the full set of custom user /// data will be returned. See also ServerGetUserPublisherInternalDataAsync, ServerGetUserPublisherReadOnlyDataAsync, @@ -524,7 +524,7 @@ PF_API PFPlayerDataManagementServerGetUserPublisherDataGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the publisher-specific custom data for the user which cannot be accessed by the client /// @@ -533,7 +533,7 @@ PF_API PFPlayerDataManagementServerGetUserPublisherDataGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// Data is stored as JSON key-value pairs. If the Keys parameter is provided, the data object returned /// will only contain the data specific to the indicated Keys. Otherwise, the full set of custom user /// data will be returned. See also ServerGetUserPublisherDataAsync, ServerGetUserPublisherReadOnlyDataAsync, @@ -588,7 +588,7 @@ PF_API PFPlayerDataManagementServerGetUserPublisherInternalDataGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the publisher-specific custom data for the user which can only be read by the client /// @@ -597,7 +597,7 @@ PF_API PFPlayerDataManagementServerGetUserPublisherInternalDataGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// Data is stored as JSON key-value pairs. If the Keys parameter is provided, the data object returned /// will only contain the data specific to the indicated Keys. Otherwise, the full set of custom user /// data will be returned. See also ServerGetUserPublisherDataAsync, ServerGetUserPublisherInternalDataAsync, @@ -652,7 +652,7 @@ PF_API PFPlayerDataManagementServerGetUserPublisherReadOnlyDataGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the title-specific custom data for the user which can only be read by the client /// @@ -661,7 +661,7 @@ PF_API PFPlayerDataManagementServerGetUserPublisherReadOnlyDataGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// Data is stored as JSON key-value pairs. If the Keys parameter is provided, the data object returned /// will only contain the data specific to the indicated Keys. Otherwise, the full set of custom user /// data will be returned. See also ServerGetUserDataAsync, ServerGetUserInternalDataAsync, ServerUpdateUserDataAsync, @@ -714,7 +714,7 @@ PF_API PFPlayerDataManagementServerGetUserReadOnlyDataGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Updates the title-specific custom data for the user which is readable and writable by the client /// @@ -723,7 +723,7 @@ PF_API PFPlayerDataManagementServerGetUserReadOnlyDataGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// This function performs an additive update of the arbitrary JSON object containing the custom data /// for the user. In updating the custom data object, keys which already exist in the object will have /// their values overwritten, while keys with null values will be removed. No other key-value pairs will @@ -754,7 +754,7 @@ PF_API PFPlayerDataManagementServerUpdateUserDataGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Updates the title-specific custom data for the user which cannot be accessed by the client /// @@ -763,7 +763,7 @@ PF_API PFPlayerDataManagementServerUpdateUserDataGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// This function performs an additive update of the arbitrary JSON object containing the custom data /// for the user. In updating the custom data object, keys which already exist in the object will have /// their values overwritten, keys with null values will be removed. No other key-value pairs will be @@ -794,7 +794,7 @@ PF_API PFPlayerDataManagementServerUpdateUserInternalDataGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Updates the publisher-specific custom data for the user which is readable and writable by the client /// @@ -803,7 +803,7 @@ PF_API PFPlayerDataManagementServerUpdateUserInternalDataGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// This function performs an additive update of the arbitrary JSON object containing the custom data /// for the user. In updating the custom data object, keys which already exist in the object will have /// their values overwritten, while keys with null values will be removed. No other key-value pairs will @@ -835,7 +835,7 @@ PF_API PFPlayerDataManagementServerUpdateUserPublisherDataGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Updates the publisher-specific custom data for the user which cannot be accessed by the client /// @@ -844,7 +844,7 @@ PF_API PFPlayerDataManagementServerUpdateUserPublisherDataGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// This function performs an additive update of the arbitrary JSON object containing the custom data /// for the user. In updating the custom data object, keys which already exist in the object will have /// their values overwritten, keys with null values will be removed. No other key-value pairs will be @@ -876,7 +876,7 @@ PF_API PFPlayerDataManagementServerUpdateUserPublisherInternalDataGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Updates the publisher-specific custom data for the user which can only be read by the client /// @@ -885,7 +885,7 @@ PF_API PFPlayerDataManagementServerUpdateUserPublisherInternalDataGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// This function performs an additive update of the arbitrary JSON object containing the custom data /// for the user. In updating the custom data object, keys which already exist in the object will have /// their values overwritten, keys with null values will be removed. No other key-value pairs will be @@ -917,7 +917,7 @@ PF_API PFPlayerDataManagementServerUpdateUserPublisherReadOnlyDataGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Updates the title-specific custom data for the user which can only be read by the client /// @@ -926,7 +926,7 @@ PF_API PFPlayerDataManagementServerUpdateUserPublisherReadOnlyDataGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// This function performs an additive update of the arbitrary JSON object containing the custom data /// for the user. In updating the custom data object, keys which already exist in the object will have /// their values overwritten, keys with null values will be removed. No other key-value pairs will be diff --git a/Source/PlayFabServices/Include/Generated/playfab/services/PFPushNotifications.h b/Source/PlayFabServices/Include/Generated/playfab/services/PFPushNotifications.h index 66b22dd..3b8d7ed 100644 --- a/Source/PlayFabServices/Include/Generated/playfab/services/PFPushNotifications.h +++ b/Source/PlayFabServices/Include/Generated/playfab/services/PFPushNotifications.h @@ -13,7 +13,7 @@ extern "C" { -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Sends an iOS/Android Push Notification to a specific user, if that user's device has been configured /// for Push Notifications in PlayFab. If a user has linked both Android and iOS devices, both will be @@ -24,7 +24,7 @@ extern "C" /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// Call to get the status of the operation. If the service call is unsuccessful, /// the async result will be E_PF_PUSH_NOT_ENABLED_FOR_ACCOUNT, E_PF_PUSH_SERVICE_ERROR or any of the /// global PlayFab Service errors. See doc page "Handling PlayFab Errors" for more details on error handling. @@ -36,7 +36,7 @@ PF_API PFPushNotificationsServerSendPushNotificationAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Sends an iOS/Android Push Notification template to a specific user, if that user's device has been /// configured for Push Notifications in PlayFab. If a user has linked both Android and iOS devices, both @@ -47,7 +47,7 @@ PF_API PFPushNotificationsServerSendPushNotificationAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// Call to get the status of the operation. If the service call is unsuccessful, /// the async result will be E_PF_PUSH_NOT_ENABLED_FOR_ACCOUNT, E_PF_PUSH_NOTIFICATION_TEMPLATE_NOT_FOUND, /// E_PF_PUSH_SERVICE_ERROR or any of the global PlayFab Service errors. See doc page "Handling PlayFab diff --git a/Source/PlayFabServices/Include/Generated/playfab/services/PFSegments.h b/Source/PlayFabServices/Include/Generated/playfab/services/PFSegments.h index 047e7c3..fe827d5 100644 --- a/Source/PlayFabServices/Include/Generated/playfab/services/PFSegments.h +++ b/Source/PlayFabServices/Include/Generated/playfab/services/PFSegments.h @@ -125,7 +125,7 @@ PF_API PFSegmentsClientGetPlayerTagsGetResult( _Out_opt_ size_t* bufferUsed ) noexcept; -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Adds a given tag to a player profile. The tag's namespace is automatically generated based on the /// source of the tag. @@ -135,7 +135,7 @@ PF_API PFSegmentsClientGetPlayerTagsGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// This API will trigger a player_tag_added event and add a tag with the given TagName and PlayFabID /// to the corresponding player profile. TagName can be used for segmentation and it is limited to 256 /// characters. Also there is a limit on the number of tags a title can have. See also ServerGetPlayerTagsAsync, @@ -152,7 +152,7 @@ PF_API PFSegmentsServerAddPlayerTagAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves an array of player segment definitions. Results from this can be used in subsequent API /// calls such as GetPlayersInSegment which requires a Segment ID. While segment names can change the @@ -162,7 +162,7 @@ PF_API PFSegmentsServerAddPlayerTagAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// Request has no paramaters. See also ServerGetPlayersInSegmentAsync. /// /// When the asynchronous task is complete, call @@ -211,7 +211,7 @@ PF_API PFSegmentsServerGetAllSegmentsGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// List all segments that a player currently belongs to at this moment in time. /// @@ -220,7 +220,7 @@ PF_API PFSegmentsServerGetAllSegmentsGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// See also ServerGetAllSegmentsAsync. /// /// When the asynchronous task is complete, call @@ -270,7 +270,7 @@ PF_API PFSegmentsServerGetPlayerSegmentsGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Allows for paging through all players in a given segment. This API creates a snapshot of all player /// profiles that match the segment definition at the time of its creation and lives through the Total @@ -284,7 +284,7 @@ PF_API PFSegmentsServerGetPlayerSegmentsGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// Initial request must contain at least a Segment ID. Subsequent requests must contain the Segment /// ID as well as the Continuation Token. Failure to send the Continuation Token will result in a new /// player segment list being generated. Each time the Continuation Token is passed in the length of the @@ -345,7 +345,7 @@ PF_API PFSegmentsServerGetPlayersInSegmentGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Get all tags with a given Namespace (optional) from a player profile. /// @@ -354,7 +354,7 @@ PF_API PFSegmentsServerGetPlayersInSegmentGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// This API will return a list of canonical tags which includes both namespace and tag's name. If namespace /// is not provided, the result is a list of all canonical tags. TagName can be used for segmentation /// and Namespace is limited to 128 characters. See also ServerAddPlayerTagAsync, ServerRemovePlayerTagAsync. @@ -406,7 +406,7 @@ PF_API PFSegmentsServerGetPlayerTagsGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Remove a given tag from a player profile. The tag's namespace is automatically generated based on /// the source of the tag. @@ -416,7 +416,7 @@ PF_API PFSegmentsServerGetPlayerTagsGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// This API will trigger a player_tag_removed event and remove a tag with the given TagName and PlayFabID /// from the corresponding player profile. TagName can be used for segmentation and it is limited to 256 /// characters See also ServerAddPlayerTagAsync, ServerGetPlayerTagsAsync. diff --git a/Source/PlayFabServices/Include/Generated/playfab/services/PFServices.h b/Source/PlayFabServices/Include/Generated/playfab/services/PFServices.h index 062a8ca..626ba90 100644 --- a/Source/PlayFabServices/Include/Generated/playfab/services/PFServices.h +++ b/Source/PlayFabServices/Include/Generated/playfab/services/PFServices.h @@ -24,11 +24,14 @@ #include #include #include +#if HC_PLATFORM != HC_PLATFORM_GDK +#include +#endif extern "C" { -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC /// /// Initializes PlayFab Services global state /// @@ -44,6 +47,24 @@ PF_API PFServicesInitialize( ) noexcept; #endif +#if HC_PLATFORM == HC_PLATFORM_ANDROID +/// +/// Initializes PlayFab Services global state +/// +/// An XTaskQueue that should be used for background work. If no queue is provided then a default (threadpool) queue will be used. +/// Args for initializing libHttpClient. +/// +/// This will internally call PFInitialize(nullptr) if it hasn't been called already by the +/// title. If control of PFCore background work is needed, the title should explicitly call +/// PFInitialize and PFUninitialize. +/// +/// Result code for this API operation. +PF_API PFServicesInitialize( + _In_opt_ XTaskQueueHandle backgroundQueue, + _In_ HCInitArgs* initArgs +) noexcept; +#endif + /// /// Cleanup PlayFab Services global state. /// diff --git a/Source/PlayFabServices/Include/Generated/playfab/services/PFTitleDataManagement.h b/Source/PlayFabServices/Include/Generated/playfab/services/PFTitleDataManagement.h index 8d7b8d5..0a8027c 100644 --- a/Source/PlayFabServices/Include/Generated/playfab/services/PFTitleDataManagement.h +++ b/Source/PlayFabServices/Include/Generated/playfab/services/PFTitleDataManagement.h @@ -228,7 +228,7 @@ PF_API PFTitleDataManagementClientGetTitleNewsGetResult( _Out_opt_ size_t* bufferUsed ) noexcept; -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the key-value store of custom publisher settings /// @@ -237,7 +237,7 @@ PF_API PFTitleDataManagementClientGetTitleNewsGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// This API is designed to return publisher-specific values which can be read, but not written to, by /// the client. This data is shared across all titles assigned to a particular publisher, and can be used /// for cross-game coordination. Only titles assigned to a publisher can use this API. For more information @@ -293,7 +293,7 @@ PF_API PFTitleDataManagementServerGetPublisherDataGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the current server time /// @@ -301,7 +301,7 @@ PF_API PFTitleDataManagementServerGetPublisherDataGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// This query retrieves the current time from one of the servers in PlayFab. Please note that due to /// clock drift between servers, there is a potential variance of up to 5 seconds. /// @@ -329,7 +329,7 @@ PF_API PFTitleDataManagementServerGetTimeGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the key-value store of custom title settings /// @@ -338,7 +338,7 @@ PF_API PFTitleDataManagementServerGetTimeGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// This API is designed to return title specific values which can be read, but not written to, by the /// client. For example, a developer could choose to store values which modify the user experience, such /// as enemy spawn rates, weapon strengths, movement speeds, etc. This allows a developer to update the @@ -394,7 +394,7 @@ PF_API PFTitleDataManagementServerGetTitleDataGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the key-value store of custom internal title settings /// @@ -403,7 +403,7 @@ PF_API PFTitleDataManagementServerGetTitleDataGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// This API is designed to return title specific values which are accessible only to the server. This /// can be used to tweak settings on game servers and Cloud Scripts without needed to update and re-deploy /// them. Note that there may up to a minute delay in between updating title data and this API call returning @@ -456,7 +456,7 @@ PF_API PFTitleDataManagementServerGetTitleInternalDataGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Retrieves the title news feed, as configured in the developer portal /// @@ -465,7 +465,7 @@ PF_API PFTitleDataManagementServerGetTitleInternalDataGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// When the asynchronous task is complete, call /// and to get the result. /// @@ -513,7 +513,7 @@ PF_API PFTitleDataManagementServerGetTitleNewsGetResult( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Updates the key-value store of custom publisher settings /// @@ -522,7 +522,7 @@ PF_API PFTitleDataManagementServerGetTitleNewsGetResult( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// This API is designed to store publisher-specific values which can be read, but not written to, by /// the client. This data is shared across all titles assigned to a particular publisher, and can be used /// for cross-game coordination. Only titles assigned to a publisher can use this API. This operation @@ -541,7 +541,7 @@ PF_API PFTitleDataManagementServerSetPublisherDataAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Updates the key-value store of custom title settings /// @@ -550,7 +550,7 @@ PF_API PFTitleDataManagementServerSetPublisherDataAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// This API is designed to store title specific values which can be read, but not written to, by the /// client. For example, a developer could choose to store values which modify the user experience, such /// as enemy spawn rates, weapon strengths, movement speeds, etc. This allows a developer to update the @@ -569,7 +569,7 @@ PF_API PFTitleDataManagementServerSetTitleDataAsync( ) noexcept; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC /// /// Updates the key-value store of custom title settings /// @@ -578,7 +578,7 @@ PF_API PFTitleDataManagementServerSetTitleDataAsync( /// XAsyncBlock for the async operation. /// Result code for this API operation. /// -/// This API is available on Win32. +/// This API is available on Win32, Linux, and macOS. /// This API is designed to store title specific values which are accessible only to the server. This /// can be used to tweak settings on game servers and Cloud Scripts without needed to update and re-deploy /// them. This operation is additive. If a Key does not exist in the current dataset, it will be added diff --git a/Source/PlayFabServices/Include/Generated/playfab/services/PFTypes.h b/Source/PlayFabServices/Include/Generated/playfab/services/PFTypes.h index 7a4e75e..72e69a3 100644 --- a/Source/PlayFabServices/Include/Generated/playfab/services/PFTypes.h +++ b/Source/PlayFabServices/Include/Generated/playfab/services/PFTypes.h @@ -15,11 +15,11 @@ extern "C" #pragma push_macro("IN") #undef IN -// PlayFab HRESULT error codes (FACILITY_XBOX + 0x5400 + offset) +// PlayFab Services HRESULT error codes (FACILITY_XBOX + 0x5A00 + offset) // Service errors -#define E_PF_SERVICES_NOT_INITIALIZED MAKE_E_HC(0x54A0L) // 0x892354A0 -#define E_PF_SERVICES_ALREADY_INITIALIZED MAKE_E_HC(0x54A1L) // 0x892354A1 +#define E_PF_SERVICES_NOT_INITIALIZED MAKE_E_HC(0x5A00L) // 0x89235A00 +#define E_PF_SERVICES_ALREADY_INITIALIZED MAKE_E_HC(0x5A01L) // 0x89235A01 /// /// OperationTypes enum. diff --git a/Source/PlayFabServices/Include/Generated/playfab/services/cpp/AccountManagementTypeWrappers.h b/Source/PlayFabServices/Include/Generated/playfab/services/cpp/AccountManagementTypeWrappers.h index 615f1a5..f2597ab 100644 --- a/Source/PlayFabServices/Include/Generated/playfab/services/cpp/AccountManagementTypeWrappers.h +++ b/Source/PlayFabServices/Include/Generated/playfab/services/cpp/AccountManagementTypeWrappers.h @@ -2420,6 +2420,208 @@ class PFAccountManagementGetPlayFabIDsFromPSNAccountIDsResultWrapper : public Mo ModelVector, Alloc> m_data; }; +template class Alloc = std::allocator> +class PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsRequestWrapper : public ModelWrapper +{ +public: + using ModelType = PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsRequest; + using String = typename std::basic_string, Alloc>; + template using Vector = typename std::vector>; + + PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsRequestWrapper() = default; + + PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsRequestWrapper(const PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsRequest& model) : + ModelWrapper{ model }, + m_issuerId{ model.issuerId ? std::optional{ *model.issuerId } : std::nullopt }, + m_PSNOnlineIDs{ model.PSNOnlineIDs, model.PSNOnlineIDs + model.PSNOnlineIDsCount } + { + SetModelPointers(); + } + + PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsRequestWrapper(const PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsRequestWrapper& src) : + PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsRequestWrapper{ src.Model() } + { + } + + PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsRequestWrapper(PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsRequestWrapper&& src) : + PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsRequestWrapper{} + { + swap(*this, src); + } + + PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsRequestWrapper& operator=(PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsRequestWrapper src) + { + swap(*this, src); + return *this; + } + + virtual ~PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsRequestWrapper() = default; + + friend void swap(PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsRequestWrapper& lhs, PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsRequestWrapper& rhs) + { + using std::swap; + swap(lhs.m_model, rhs.m_model); + swap(lhs.m_issuerId, rhs.m_issuerId); + swap(lhs.m_PSNOnlineIDs, rhs.m_PSNOnlineIDs); + lhs.SetModelPointers(); + rhs.SetModelPointers(); + } + + void SetIssuerId(std::optional value) + { + m_issuerId = std::move(value); + this->m_model.issuerId = m_issuerId ? m_issuerId.operator->() : nullptr; + } + + void SetPSNOnlineIDs(CStringVector value) + { + m_PSNOnlineIDs = std::move(value); + this->m_model.PSNOnlineIDs = m_PSNOnlineIDs.empty() ? nullptr : m_PSNOnlineIDs.data(); + this->m_model.PSNOnlineIDsCount = static_cast(m_PSNOnlineIDs.size()); + } + +private: + void SetModelPointers() + { + this->m_model.issuerId = m_issuerId ? m_issuerId.operator->() : nullptr; + this->m_model.PSNOnlineIDs = m_PSNOnlineIDs.empty() ? nullptr : m_PSNOnlineIDs.data(); + } + + std::optional m_issuerId; + CStringVector m_PSNOnlineIDs; +}; + +template class Alloc = std::allocator> +class PFAccountManagementPSNOnlinePlayFabIdPairWrapper : public ModelWrapper +{ +public: + using ModelType = PFAccountManagementPSNOnlinePlayFabIdPair; + using String = typename std::basic_string, Alloc>; + template using Vector = typename std::vector>; + + PFAccountManagementPSNOnlinePlayFabIdPairWrapper() = default; + + PFAccountManagementPSNOnlinePlayFabIdPairWrapper(const PFAccountManagementPSNOnlinePlayFabIdPair& model) : + ModelWrapper{ model }, + m_playFabId{ SafeString(model.playFabId) }, + m_PSNOnlineId{ SafeString(model.PSNOnlineId) } + { + SetModelPointers(); + } + + PFAccountManagementPSNOnlinePlayFabIdPairWrapper(const PFAccountManagementPSNOnlinePlayFabIdPairWrapper& src) : + PFAccountManagementPSNOnlinePlayFabIdPairWrapper{ src.Model() } + { + } + + PFAccountManagementPSNOnlinePlayFabIdPairWrapper(PFAccountManagementPSNOnlinePlayFabIdPairWrapper&& src) : + PFAccountManagementPSNOnlinePlayFabIdPairWrapper{} + { + swap(*this, src); + } + + PFAccountManagementPSNOnlinePlayFabIdPairWrapper& operator=(PFAccountManagementPSNOnlinePlayFabIdPairWrapper src) + { + swap(*this, src); + return *this; + } + + virtual ~PFAccountManagementPSNOnlinePlayFabIdPairWrapper() = default; + + friend void swap(PFAccountManagementPSNOnlinePlayFabIdPairWrapper& lhs, PFAccountManagementPSNOnlinePlayFabIdPairWrapper& rhs) + { + using std::swap; + swap(lhs.m_model, rhs.m_model); + swap(lhs.m_playFabId, rhs.m_playFabId); + swap(lhs.m_PSNOnlineId, rhs.m_PSNOnlineId); + lhs.SetModelPointers(); + rhs.SetModelPointers(); + } + + void SetPlayFabId(String value) + { + m_playFabId = std::move(value); + this->m_model.playFabId = m_playFabId.empty() ? nullptr : m_playFabId.data(); + } + + void SetPSNOnlineId(String value) + { + m_PSNOnlineId = std::move(value); + this->m_model.PSNOnlineId = m_PSNOnlineId.empty() ? nullptr : m_PSNOnlineId.data(); + } + +private: + void SetModelPointers() + { + this->m_model.playFabId = m_playFabId.empty() ? nullptr : m_playFabId.data(); + this->m_model.PSNOnlineId = m_PSNOnlineId.empty() ? nullptr : m_PSNOnlineId.data(); + } + + String m_playFabId; + String m_PSNOnlineId; +}; + +template class Alloc = std::allocator> +class PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResultWrapper : public ModelWrapper +{ +public: + using ModelType = PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResult; + using String = typename std::basic_string, Alloc>; + template using Vector = typename std::vector>; + + PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResultWrapper() = default; + + PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResultWrapper(const PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResult& model) : + ModelWrapper{ model }, + m_data{ model.data, model.data + model.dataCount } + { + SetModelPointers(); + } + + PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResultWrapper(const PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResultWrapper& src) : + PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResultWrapper{ src.Model() } + { + } + + PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResultWrapper(PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResultWrapper&& src) : + PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResultWrapper{} + { + swap(*this, src); + } + + PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResultWrapper& operator=(PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResultWrapper src) + { + swap(*this, src); + return *this; + } + + virtual ~PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResultWrapper() = default; + + friend void swap(PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResultWrapper& lhs, PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResultWrapper& rhs) + { + using std::swap; + swap(lhs.m_model, rhs.m_model); + swap(lhs.m_data, rhs.m_data); + lhs.SetModelPointers(); + rhs.SetModelPointers(); + } + + void SetData(ModelVector, Alloc> value) + { + m_data = std::move(value); + this->m_model.data = m_data.empty() ? nullptr : m_data.data(); + this->m_model.dataCount = static_cast(m_data.size()); + } + +private: + void SetModelPointers() + { + this->m_model.data = m_data.empty() ? nullptr : m_data.data(); + } + + ModelVector, Alloc> m_data; +}; + template class Alloc = std::allocator> class PFAccountManagementGetPlayFabIDsFromSteamIDsRequestWrapper : public ModelWrapper { diff --git a/Source/PlayFabServices/Include/Generated/playfab/services/cpp/MultiplayerServerTypeWrappers.h b/Source/PlayFabServices/Include/Generated/playfab/services/cpp/MultiplayerServerTypeWrappers.h index 6d0e974..96e3ff7 100644 --- a/Source/PlayFabServices/Include/Generated/playfab/services/cpp/MultiplayerServerTypeWrappers.h +++ b/Source/PlayFabServices/Include/Generated/playfab/services/cpp/MultiplayerServerTypeWrappers.h @@ -1004,7 +1004,8 @@ class PFMultiplayerServerListQosServersForTitleRequestWrapper : public ModelWrap PFMultiplayerServerListQosServersForTitleRequestWrapper(const PFMultiplayerServerListQosServersForTitleRequest& model) : ModelWrapper{ model }, m_customTags{ model.customTags, model.customTags + model.customTagsCount }, - m_includeAllRegions{ model.includeAllRegions ? std::optional{ *model.includeAllRegions } : std::nullopt } + m_includeAllRegions{ model.includeAllRegions ? std::optional{ *model.includeAllRegions } : std::nullopt }, + m_routingPreference{ SafeString(model.routingPreference) } { SetModelPointers(); } @@ -1034,6 +1035,7 @@ class PFMultiplayerServerListQosServersForTitleRequestWrapper : public ModelWrap swap(lhs.m_model, rhs.m_model); swap(lhs.m_customTags, rhs.m_customTags); swap(lhs.m_includeAllRegions, rhs.m_includeAllRegions); + swap(lhs.m_routingPreference, rhs.m_routingPreference); lhs.SetModelPointers(); rhs.SetModelPointers(); } @@ -1051,15 +1053,23 @@ class PFMultiplayerServerListQosServersForTitleRequestWrapper : public ModelWrap this->m_model.includeAllRegions = m_includeAllRegions ? m_includeAllRegions.operator->() : nullptr; } + void SetRoutingPreference(String value) + { + m_routingPreference = std::move(value); + this->m_model.routingPreference = m_routingPreference.empty() ? nullptr : m_routingPreference.data(); + } + private: void SetModelPointers() { this->m_model.customTags = m_customTags.empty() ? nullptr : m_customTags.data(); this->m_model.includeAllRegions = m_includeAllRegions ? m_includeAllRegions.operator->() : nullptr; + this->m_model.routingPreference = m_routingPreference.empty() ? nullptr : m_routingPreference.data(); } StringDictionaryEntryVector m_customTags; std::optional m_includeAllRegions; + String m_routingPreference; }; template class Alloc = std::allocator> diff --git a/Source/PlayFabServices/Source/Api/PFServices.cpp b/Source/PlayFabServices/Source/Api/PFServices.cpp index ce95729..1c47309 100644 --- a/Source/PlayFabServices/Source/Api/PFServices.cpp +++ b/Source/PlayFabServices/Source/Api/PFServices.cpp @@ -4,7 +4,7 @@ using namespace PlayFab; -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFServicesInitialize( _In_opt_ XTaskQueueHandle backgroundQueue ) noexcept @@ -14,6 +14,17 @@ PF_API PFServicesInitialize( } #endif +#if HC_PLATFORM == HC_PLATFORM_ANDROID +PF_API PFServicesInitialize( + _In_opt_ XTaskQueueHandle backgroundQueue, + _In_ HCInitArgs* initArgs +) noexcept +{ + UNREFERENCED_PARAMETER(backgroundQueue); + return GlobalState::Create(initArgs); +} +#endif + PF_API PFServicesUninitializeAsync( _In_ XAsyncBlock* async ) noexcept diff --git a/Source/PlayFabServices/Source/Common/GlobalState.cpp b/Source/PlayFabServices/Source/Common/GlobalState.cpp index d09c471..2f90af2 100644 --- a/Source/PlayFabServices/Source/Common/GlobalState.cpp +++ b/Source/PlayFabServices/Source/Common/GlobalState.cpp @@ -5,7 +5,7 @@ /// /// Internal PFCore function to enable PFServices's init to also init'd PFCore with HCInitArgs on demand as needed /// -PF_API PFInitializeWithLHC( +extern "C" PF_API PFInitializeWithLHC( _In_opt_ XTaskQueueHandle backgroundQueue, _In_ HCInitArgs* args ) noexcept; diff --git a/Source/PlayFabServices/Source/Common/HttpClient.cpp b/Source/PlayFabServices/Source/Common/HttpClient.cpp index b59d9c6..0b3e01f 100644 --- a/Source/PlayFabServices/Source/Common/HttpClient.cpp +++ b/Source/PlayFabServices/Source/Common/HttpClient.cpp @@ -37,6 +37,32 @@ String ServicesHttpClient::GetUrl(String const& connectionString, const char* pa // Add sdk version param (used by service for telemetry) fullUrl << "?sdk=" << versionString << sdkVersion; + fullUrl << "&platform="; + + // Add Platform param (used by service for telemetry) +#if HC_PLATFORM == HC_PLATFORM_WIN32 + fullUrl << win32Plat; +#elif HC_PLATFORM == HC_PLATFORM_GDK + fullUrl << gdkPlat; +#elif HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 + fullUrl << ps4Plat; +#elif HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 + fullUrl << ps5Plat; +#elif HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH + fullUrl << nintendoPlat; +#elif HC_PLATFORM == HC_PLATFORM_LINUX + fullUrl << linuxPlat; +#elif HC_PLATFORM == HC_PLATFORM_IOS + fullUrl << iosPlat; +#elif HC_PLATFORM == HC_PLATFORM_MAC + fullUrl << macosPlat; +#elif HC_PLATFORM == HC_PLATFORM_ANDROID + fullUrl << androidPlat; +#endif + + // Add Build Origin param (used by service for telemetry) + fullUrl << "&origin=" << buildOrigin; + return fullUrl.str(); } diff --git a/Source/PlayFabServices/Source/Common/HttpClient.h b/Source/PlayFabServices/Source/Common/HttpClient.h index a3c32c1..0c99548 100644 --- a/Source/PlayFabServices/Source/Common/HttpClient.h +++ b/Source/PlayFabServices/Source/Common/HttpClient.h @@ -1,6 +1,5 @@ #pragma once -#include #include #include "Generated/CacheId.h" diff --git a/Source/PlayFabServices/Source/Generated/AccountManagement.cpp b/Source/PlayFabServices/Source/Generated/AccountManagement.cpp index 9d975bb..2c6a283 100644 --- a/Source/PlayFabServices/Source/Generated/AccountManagement.cpp +++ b/Source/PlayFabServices/Source/Generated/AccountManagement.cpp @@ -496,6 +496,41 @@ AsyncOp AccountManagementAPI::ClientGetPla }); } +AsyncOp AccountManagementAPI::ClientGetPlayFabIDsFromPSNOnlineIDs( + Entity const& entity, + const GetPlayFabIDsFromPSNOnlineIDsRequest& request, + RunContext rc +) +{ + const char* path{ "/Client/GetPlayFabIDsFromPSNOnlineIDs" }; + JsonValue requestBody{ request.ToJson() }; + + auto requestOp = ServicesHttpClient::MakeEntityRequest( + ServicesCacheId::AccountManagementClientGetPlayFabIDsFromPSNOnlineIDs, + entity, + path, + requestBody, + std::move(rc) + ); + + return requestOp.Then([](Result result) -> Result + { + RETURN_IF_FAILED(result.hr); + + auto serviceResponse = result.ExtractPayload(); + if (serviceResponse.HttpCode >= 200 && serviceResponse.HttpCode < 300) + { + GetPlayFabIDsFromPSNOnlineIDsResult resultModel; + RETURN_IF_FAILED(resultModel.FromJson(serviceResponse.Data)); + return resultModel; + } + else + { + return Result{ ServiceErrorToHR(serviceResponse.ErrorCode), std::move(serviceResponse.ErrorMessage) }; + } + }); +} + AsyncOp AccountManagementAPI::ClientGetPlayFabIDsFromSteamIDs( Entity const& entity, const GetPlayFabIDsFromSteamIDsRequest& request, @@ -2207,6 +2242,41 @@ AsyncOp AccountManagementAPI::ServerGetPla }); } +AsyncOp AccountManagementAPI::ServerGetPlayFabIDsFromPSNOnlineIDs( + Entity const& entity, + const GetPlayFabIDsFromPSNOnlineIDsRequest& request, + RunContext rc +) +{ + const char* path{ "/Server/GetPlayFabIDsFromPSNOnlineIDs" }; + JsonValue requestBody{ request.ToJson() }; + + auto requestOp = ServicesHttpClient::MakeSecretKeyRequest( + ServicesCacheId::AccountManagementServerGetPlayFabIDsFromPSNOnlineIDs, + entity, + path, + requestBody, + std::move(rc) + ); + + return requestOp.Then([](Result result) -> Result + { + RETURN_IF_FAILED(result.hr); + + auto serviceResponse = result.ExtractPayload(); + if (serviceResponse.HttpCode >= 200 && serviceResponse.HttpCode < 300) + { + GetPlayFabIDsFromPSNOnlineIDsResult resultModel; + RETURN_IF_FAILED(resultModel.FromJson(serviceResponse.Data)); + return resultModel; + } + else + { + return Result{ ServiceErrorToHR(serviceResponse.ErrorCode), std::move(serviceResponse.ErrorMessage) }; + } + }); +} + AsyncOp AccountManagementAPI::ServerGetPlayFabIDsFromSteamIDs( Entity const& entity, const GetPlayFabIDsFromSteamIDsRequest& request, diff --git a/Source/PlayFabServices/Source/Generated/AccountManagement.h b/Source/PlayFabServices/Source/Generated/AccountManagement.h index 3d60d35..fe5f571 100644 --- a/Source/PlayFabServices/Source/Generated/AccountManagement.h +++ b/Source/PlayFabServices/Source/Generated/AccountManagement.h @@ -34,6 +34,7 @@ class AccountManagementAPI static AsyncOp ClientGetPlayFabIDsFromNintendoServiceAccountIds(Entity const& entity, const GetPlayFabIDsFromNintendoServiceAccountIdsRequest& request, RunContext rc); static AsyncOp ClientGetPlayFabIDsFromNintendoSwitchDeviceIds(Entity const& entity, const GetPlayFabIDsFromNintendoSwitchDeviceIdsRequest& request, RunContext rc); static AsyncOp ClientGetPlayFabIDsFromPSNAccountIDs(Entity const& entity, const GetPlayFabIDsFromPSNAccountIDsRequest& request, RunContext rc); + static AsyncOp ClientGetPlayFabIDsFromPSNOnlineIDs(Entity const& entity, const GetPlayFabIDsFromPSNOnlineIDsRequest& request, RunContext rc); static AsyncOp ClientGetPlayFabIDsFromSteamIDs(Entity const& entity, const GetPlayFabIDsFromSteamIDsRequest& request, RunContext rc); static AsyncOp ClientGetPlayFabIDsFromTwitchIDs(Entity const& entity, const GetPlayFabIDsFromTwitchIDsRequest& request, RunContext rc); static AsyncOp ClientGetPlayFabIDsFromXboxLiveIDs(Entity const& entity, const GetPlayFabIDsFromXboxLiveIDsRequest& request, RunContext rc); @@ -85,6 +86,7 @@ class AccountManagementAPI static AsyncOp ServerGetPlayFabIDsFromNintendoServiceAccountIds(Entity const& entity, const GetPlayFabIDsFromNintendoServiceAccountIdsRequest& request, RunContext rc); static AsyncOp ServerGetPlayFabIDsFromNintendoSwitchDeviceIds(Entity const& entity, const GetPlayFabIDsFromNintendoSwitchDeviceIdsRequest& request, RunContext rc); static AsyncOp ServerGetPlayFabIDsFromPSNAccountIDs(Entity const& entity, const GetPlayFabIDsFromPSNAccountIDsRequest& request, RunContext rc); + static AsyncOp ServerGetPlayFabIDsFromPSNOnlineIDs(Entity const& entity, const GetPlayFabIDsFromPSNOnlineIDsRequest& request, RunContext rc); static AsyncOp ServerGetPlayFabIDsFromSteamIDs(Entity const& entity, const GetPlayFabIDsFromSteamIDsRequest& request, RunContext rc); static AsyncOp ServerGetPlayFabIDsFromTwitchIDs(Entity const& entity, const GetPlayFabIDsFromTwitchIDsRequest& request, RunContext rc); static AsyncOp ServerGetPlayFabIDsFromXboxLiveIDs(Entity const& entity, const GetPlayFabIDsFromXboxLiveIDsRequest& request, RunContext rc); diff --git a/Source/PlayFabServices/Source/Generated/AccountManagementTypes.cpp b/Source/PlayFabServices/Source/Generated/AccountManagementTypes.cpp index 6fe9b29..5c155c4 100644 --- a/Source/PlayFabServices/Source/Generated/AccountManagementTypes.cpp +++ b/Source/PlayFabServices/Source/Generated/AccountManagementTypes.cpp @@ -1216,6 +1216,113 @@ HRESULT GetPlayFabIDsFromPSNAccountIDsResult::Copy(const PFAccountManagementGetP return S_OK; } +JsonValue GetPlayFabIDsFromPSNOnlineIDsRequest::ToJson() const +{ + return GetPlayFabIDsFromPSNOnlineIDsRequest::ToJson(this->Model()); +} + +JsonValue GetPlayFabIDsFromPSNOnlineIDsRequest::ToJson(const PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsRequest& input) +{ + JsonValue output{ rapidjson::kObjectType }; + JsonUtils::ObjectAddMember(output, "IssuerId", input.issuerId); + JsonUtils::ObjectAddMemberArray(output, "PSNOnlineIDs", input.PSNOnlineIDs, input.PSNOnlineIDsCount); + return output; +} + +HRESULT PSNOnlinePlayFabIdPair::FromJson(const JsonValue& input) +{ + String playFabId{}; + RETURN_IF_FAILED(JsonUtils::ObjectGetMember(input, "PlayFabId", playFabId)); + this->SetPlayFabId(std::move(playFabId)); + + String PSNOnlineId{}; + RETURN_IF_FAILED(JsonUtils::ObjectGetMember(input, "PSNOnlineId", PSNOnlineId)); + this->SetPSNOnlineId(std::move(PSNOnlineId)); + + return S_OK; +} + +size_t PSNOnlinePlayFabIdPair::RequiredBufferSize() const +{ + return RequiredBufferSize(this->Model()); +} + +Result PSNOnlinePlayFabIdPair::Copy(ModelBuffer& buffer) const +{ + return buffer.CopyTo(&this->Model()); +} + +size_t PSNOnlinePlayFabIdPair::RequiredBufferSize(const PFAccountManagementPSNOnlinePlayFabIdPair& model) +{ + size_t requiredSize{ alignof(ModelType) + sizeof(ModelType) }; + if (model.playFabId) + { + requiredSize += (std::strlen(model.playFabId) + 1); + } + if (model.PSNOnlineId) + { + requiredSize += (std::strlen(model.PSNOnlineId) + 1); + } + return requiredSize; +} + +HRESULT PSNOnlinePlayFabIdPair::Copy(const PFAccountManagementPSNOnlinePlayFabIdPair& input, PFAccountManagementPSNOnlinePlayFabIdPair& output, ModelBuffer& buffer) +{ + output = input; + { + auto propCopyResult = buffer.CopyTo(input.playFabId); + RETURN_IF_FAILED(propCopyResult.hr); + output.playFabId = propCopyResult.ExtractPayload(); + } + { + auto propCopyResult = buffer.CopyTo(input.PSNOnlineId); + RETURN_IF_FAILED(propCopyResult.hr); + output.PSNOnlineId = propCopyResult.ExtractPayload(); + } + return S_OK; +} + +HRESULT GetPlayFabIDsFromPSNOnlineIDsResult::FromJson(const JsonValue& input) +{ + ModelVector data{}; + RETURN_IF_FAILED(JsonUtils::ObjectGetMember(input, "Data", data)); + this->SetData(std::move(data)); + + return S_OK; +} + +size_t GetPlayFabIDsFromPSNOnlineIDsResult::RequiredBufferSize() const +{ + return RequiredBufferSize(this->Model()); +} + +Result GetPlayFabIDsFromPSNOnlineIDsResult::Copy(ModelBuffer& buffer) const +{ + return buffer.CopyTo(&this->Model()); +} + +size_t GetPlayFabIDsFromPSNOnlineIDsResult::RequiredBufferSize(const PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResult& model) +{ + size_t requiredSize{ alignof(ModelType) + sizeof(ModelType) }; + requiredSize += (alignof(PFAccountManagementPSNOnlinePlayFabIdPair*) + sizeof(PFAccountManagementPSNOnlinePlayFabIdPair*) * model.dataCount); + for (size_t i = 0; i < model.dataCount; ++i) + { + requiredSize += PSNOnlinePlayFabIdPair::RequiredBufferSize(*model.data[i]); + } + return requiredSize; +} + +HRESULT GetPlayFabIDsFromPSNOnlineIDsResult::Copy(const PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResult& input, PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResult& output, ModelBuffer& buffer) +{ + output = input; + { + auto propCopyResult = buffer.CopyToArray(input.data, input.dataCount); + RETURN_IF_FAILED(propCopyResult.hr); + output.data = propCopyResult.ExtractPayload(); + } + return S_OK; +} + JsonValue GetPlayFabIDsFromSteamIDsRequest::ToJson() const { return GetPlayFabIDsFromSteamIDsRequest::ToJson(this->Model()); diff --git a/Source/PlayFabServices/Source/Generated/AccountManagementTypes.h b/Source/PlayFabServices/Source/Generated/AccountManagementTypes.h index d54dec7..20c4dfa 100644 --- a/Source/PlayFabServices/Source/Generated/AccountManagementTypes.h +++ b/Source/PlayFabServices/Source/Generated/AccountManagementTypes.h @@ -624,6 +624,58 @@ class GetPlayFabIDsFromPSNAccountIDsResult : public Wrappers::PFAccountManagemen static HRESULT Copy(const PFAccountManagementGetPlayFabIDsFromPSNAccountIDsResult& input, PFAccountManagementGetPlayFabIDsFromPSNAccountIDsResult& output, ModelBuffer& buffer); }; +class GetPlayFabIDsFromPSNOnlineIDsRequest : public Wrappers::PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsRequestWrapper, public InputModel +{ +public: + using ModelWrapperType = typename Wrappers::PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsRequestWrapper; + using ModelWrapperType::ModelType; + + // Constructors + using ModelWrapperType::ModelWrapperType; + + // InputModel + JsonValue ToJson() const override; + static JsonValue ToJson(const PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsRequest& input); +}; + +class PSNOnlinePlayFabIdPair : public Wrappers::PFAccountManagementPSNOnlinePlayFabIdPairWrapper, public ServiceOutputModel, public ClientOutputModel +{ +public: + using ModelWrapperType = typename Wrappers::PFAccountManagementPSNOnlinePlayFabIdPairWrapper; + using ModelWrapperType::ModelType; + + // Constructors + using ModelWrapperType::ModelWrapperType; + + // ServiceOutputModel + HRESULT FromJson(const JsonValue& input) override; + // ClientOutputModel + size_t RequiredBufferSize() const override; + Result Copy(ModelBuffer& buffer) const override; + + static size_t RequiredBufferSize(const PFAccountManagementPSNOnlinePlayFabIdPair& model); + static HRESULT Copy(const PFAccountManagementPSNOnlinePlayFabIdPair& input, PFAccountManagementPSNOnlinePlayFabIdPair& output, ModelBuffer& buffer); +}; + +class GetPlayFabIDsFromPSNOnlineIDsResult : public Wrappers::PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResultWrapper, public ServiceOutputModel, public ClientOutputModel +{ +public: + using ModelWrapperType = typename Wrappers::PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResultWrapper; + using ModelWrapperType::ModelType; + + // Constructors + using ModelWrapperType::ModelWrapperType; + + // ServiceOutputModel + HRESULT FromJson(const JsonValue& input) override; + // ClientOutputModel + size_t RequiredBufferSize() const override; + Result Copy(ModelBuffer& buffer) const override; + + static size_t RequiredBufferSize(const PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResult& model); + static HRESULT Copy(const PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResult& input, PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResult& output, ModelBuffer& buffer); +}; + class GetPlayFabIDsFromSteamIDsRequest : public Wrappers::PFAccountManagementGetPlayFabIDsFromSteamIDsRequestWrapper, public InputModel { public: diff --git a/Source/PlayFabServices/Source/Generated/CacheId.h b/Source/PlayFabServices/Source/Generated/CacheId.h index 29706fe..a6aae06 100644 --- a/Source/PlayFabServices/Source/Generated/CacheId.h +++ b/Source/PlayFabServices/Source/Generated/CacheId.h @@ -37,220 +37,222 @@ enum class ServicesCacheId : uint32_t AccountManagementClientGetPlayFabIDsFromNintendoServiceAccountIds = 2020, AccountManagementClientGetPlayFabIDsFromNintendoSwitchDeviceIds = 2021, AccountManagementClientGetPlayFabIDsFromPSNAccountIDs = 2022, - AccountManagementClientGetPlayFabIDsFromSteamIDs = 2023, - AccountManagementClientGetPlayFabIDsFromTwitchIDs = 2024, - AccountManagementClientGetPlayFabIDsFromXboxLiveIDs = 2025, - AccountManagementClientLinkAndroidDeviceID = 2026, - AccountManagementClientLinkApple = 2027, - AccountManagementClientLinkCustomID = 2028, - AccountManagementClientLinkFacebookAccount = 2029, - AccountManagementClientLinkFacebookInstantGamesId = 2030, - AccountManagementClientLinkGameCenterAccount = 2031, - AccountManagementClientLinkGoogleAccount = 2032, - AccountManagementClientLinkGooglePlayGamesServicesAccount = 2033, - AccountManagementClientLinkIOSDeviceID = 2034, - AccountManagementClientLinkKongregate = 2035, - AccountManagementClientLinkNintendoServiceAccount = 2036, - AccountManagementClientLinkNintendoSwitchDeviceId = 2037, - AccountManagementClientLinkOpenIdConnect = 2038, - AccountManagementClientLinkPSNAccount = 2039, - AccountManagementClientLinkSteamAccount = 2040, - AccountManagementClientLinkTwitch = 2041, - AccountManagementClientLinkXboxAccount = 2042, - AccountManagementClientRemoveContactEmail = 2043, - AccountManagementClientReportPlayer = 2044, - AccountManagementClientSendAccountRecoveryEmail = 2045, - AccountManagementClientUnlinkAndroidDeviceID = 2046, - AccountManagementClientUnlinkApple = 2047, - AccountManagementClientUnlinkCustomID = 2048, - AccountManagementClientUnlinkFacebookAccount = 2049, - AccountManagementClientUnlinkFacebookInstantGamesId = 2050, - AccountManagementClientUnlinkGameCenterAccount = 2051, - AccountManagementClientUnlinkGoogleAccount = 2052, - AccountManagementClientUnlinkGooglePlayGamesServicesAccount = 2053, - AccountManagementClientUnlinkIOSDeviceID = 2054, - AccountManagementClientUnlinkKongregate = 2055, - AccountManagementClientUnlinkNintendoServiceAccount = 2056, - AccountManagementClientUnlinkNintendoSwitchDeviceId = 2057, - AccountManagementClientUnlinkOpenIdConnect = 2058, - AccountManagementClientUnlinkPSNAccount = 2059, - AccountManagementClientUnlinkSteamAccount = 2060, - AccountManagementClientUnlinkTwitch = 2061, - AccountManagementClientUnlinkXboxAccount = 2062, - AccountManagementClientUpdateAvatarUrl = 2063, - AccountManagementClientUpdateUserTitleDisplayName = 2064, - AccountManagementServerBanUsers = 2065, - AccountManagementServerDeletePlayer = 2066, - AccountManagementServerGetPlayerCombinedInfo = 2067, - AccountManagementServerGetPlayerProfile = 2068, - AccountManagementServerGetPlayFabIDsFromFacebookIDs = 2069, - AccountManagementServerGetPlayFabIDsFromFacebookInstantGamesIds = 2070, - AccountManagementServerGetPlayFabIDsFromNintendoServiceAccountIds = 2071, - AccountManagementServerGetPlayFabIDsFromNintendoSwitchDeviceIds = 2072, - AccountManagementServerGetPlayFabIDsFromPSNAccountIDs = 2073, - AccountManagementServerGetPlayFabIDsFromSteamIDs = 2074, - AccountManagementServerGetPlayFabIDsFromTwitchIDs = 2075, - AccountManagementServerGetPlayFabIDsFromXboxLiveIDs = 2076, - AccountManagementServerGetServerCustomIDsFromPlayFabIDs = 2077, - AccountManagementServerGetUserAccountInfo = 2078, - AccountManagementServerGetUserBans = 2079, - AccountManagementServerLinkNintendoServiceAccount = 2080, - AccountManagementServerLinkNintendoServiceAccountSubject = 2081, - AccountManagementServerLinkNintendoSwitchDeviceId = 2082, - AccountManagementServerLinkPSNAccount = 2083, - AccountManagementServerLinkPSNId = 2084, - AccountManagementServerLinkServerCustomId = 2085, - AccountManagementServerLinkSteamId = 2086, - AccountManagementServerLinkXboxAccount = 2087, - AccountManagementServerRevokeAllBansForUser = 2088, - AccountManagementServerRevokeBans = 2089, - AccountManagementServerSendCustomAccountRecoveryEmail = 2090, - AccountManagementServerSendEmailFromTemplate = 2091, - AccountManagementServerUnlinkNintendoServiceAccount = 2092, - AccountManagementServerUnlinkNintendoSwitchDeviceId = 2093, - AccountManagementServerUnlinkPSNAccount = 2094, - AccountManagementServerUnlinkServerCustomId = 2095, - AccountManagementServerUnlinkSteamId = 2096, - AccountManagementServerUnlinkXboxAccount = 2097, - AccountManagementServerUpdateAvatarUrl = 2098, - AccountManagementServerUpdateBans = 2099, - AccountManagementGetTitlePlayersFromXboxLiveIDs = 2100, - PlatformSpecificClientAndroidDevicePushNotificationRegistration = 2101, - PlatformSpecificClientRefreshPSNAuthToken = 2102, - PlatformSpecificClientRegisterForIOSPushNotification = 2103, - PlatformSpecificServerAwardSteamAchievement = 2104, - CloudScriptClientExecuteCloudScript = 2105, - CloudScriptServerExecuteCloudScript = 2106, - CloudScriptExecuteEntityCloudScript = 2107, - CloudScriptExecuteFunction = 2108, - SegmentsClientGetPlayerSegments = 2109, - SegmentsClientGetPlayerTags = 2110, - SegmentsServerAddPlayerTag = 2111, - SegmentsServerGetAllSegments = 2112, - SegmentsServerGetPlayerSegments = 2113, - SegmentsServerGetPlayersInSegment = 2114, - SegmentsServerGetPlayerTags = 2115, - SegmentsServerRemovePlayerTag = 2116, - TitleDataManagementClientGetPublisherData = 2117, - TitleDataManagementClientGetTime = 2118, - TitleDataManagementClientGetTitleData = 2119, - TitleDataManagementClientGetTitleNews = 2120, - TitleDataManagementServerGetPublisherData = 2121, - TitleDataManagementServerGetTime = 2122, - TitleDataManagementServerGetTitleData = 2123, - TitleDataManagementServerGetTitleInternalData = 2124, - TitleDataManagementServerGetTitleNews = 2125, - TitleDataManagementServerSetPublisherData = 2126, - TitleDataManagementServerSetTitleData = 2127, - TitleDataManagementServerSetTitleInternalData = 2128, - PlayerDataManagementClientGetUserData = 2129, - PlayerDataManagementClientGetUserPublisherData = 2130, - PlayerDataManagementClientGetUserPublisherReadOnlyData = 2131, - PlayerDataManagementClientGetUserReadOnlyData = 2132, - PlayerDataManagementClientUpdateUserData = 2133, - PlayerDataManagementClientUpdateUserPublisherData = 2134, - PlayerDataManagementServerGetUserData = 2135, - PlayerDataManagementServerGetUserInternalData = 2136, - PlayerDataManagementServerGetUserPublisherData = 2137, - PlayerDataManagementServerGetUserPublisherInternalData = 2138, - PlayerDataManagementServerGetUserPublisherReadOnlyData = 2139, - PlayerDataManagementServerGetUserReadOnlyData = 2140, - PlayerDataManagementServerUpdateUserData = 2141, - PlayerDataManagementServerUpdateUserInternalData = 2142, - PlayerDataManagementServerUpdateUserPublisherData = 2143, - PlayerDataManagementServerUpdateUserPublisherInternalData = 2144, - PlayerDataManagementServerUpdateUserPublisherReadOnlyData = 2145, - PlayerDataManagementServerUpdateUserReadOnlyData = 2146, - PushNotificationsServerSendPushNotification = 2147, - PushNotificationsServerSendPushNotificationFromTemplate = 2148, - DataAbortFileUploads = 2149, - DataDeleteFiles = 2150, - DataFinalizeFileUploads = 2151, - DataGetFiles = 2152, - DataGetObjects = 2153, - DataInitiateFileUploads = 2154, - DataSetObjects = 2155, - InventoryAddInventoryItems = 2156, - InventoryDeleteInventoryCollection = 2157, - InventoryDeleteInventoryItems = 2158, - InventoryExecuteInventoryOperations = 2159, - InventoryGetInventoryCollectionIds = 2160, - InventoryGetInventoryItems = 2161, - InventoryGetMicrosoftStoreAccessTokens = 2162, - InventoryGetTransactionHistory = 2163, - InventoryPurchaseInventoryItems = 2164, - InventoryRedeemAppleAppStoreInventoryItems = 2165, - InventoryRedeemGooglePlayInventoryItems = 2166, - InventoryRedeemMicrosoftStoreInventoryItems = 2167, - InventoryRedeemNintendoEShopInventoryItems = 2168, - InventoryRedeemPlayStationStoreInventoryItems = 2169, - InventoryRedeemSteamInventoryItems = 2170, - InventorySubtractInventoryItems = 2171, - InventoryTransferInventoryItems = 2172, - InventoryUpdateInventoryItems = 2173, - CatalogCreateDraftItem = 2174, - CatalogCreateUploadUrls = 2175, - CatalogDeleteEntityItemReviews = 2176, - CatalogDeleteItem = 2177, - CatalogGetCatalogConfig = 2178, - CatalogGetDraftItem = 2179, - CatalogGetDraftItems = 2180, - CatalogGetEntityDraftItems = 2181, - CatalogGetEntityItemReview = 2182, - CatalogGetItem = 2183, - CatalogGetItemContainers = 2184, - CatalogGetItemModerationState = 2185, - CatalogGetItemPublishStatus = 2186, - CatalogGetItemReviews = 2187, - CatalogGetItemReviewSummary = 2188, - CatalogGetItems = 2189, - CatalogPublishDraftItem = 2190, - CatalogReportItem = 2191, - CatalogReportItemReview = 2192, - CatalogReviewItem = 2193, - CatalogSearchItems = 2194, - CatalogSetItemModerationState = 2195, - CatalogSubmitItemReviewVote = 2196, - CatalogTakedownItemReviews = 2197, - CatalogUpdateCatalogConfig = 2198, - CatalogUpdateDraftItem = 2199, - ExperimentationGetTreatmentAssignment = 2200, - GroupsAcceptGroupApplication = 2201, - GroupsAcceptGroupInvitation = 2202, - GroupsAddMembers = 2203, - GroupsApplyToGroup = 2204, - GroupsBlockEntity = 2205, - GroupsChangeMemberRole = 2206, - GroupsCreateGroup = 2207, - GroupsCreateRole = 2208, - GroupsDeleteGroup = 2209, - GroupsDeleteRole = 2210, - GroupsGetGroup = 2211, - GroupsInviteToGroup = 2212, - GroupsIsMember = 2213, - GroupsListGroupApplications = 2214, - GroupsListGroupBlocks = 2215, - GroupsListGroupInvitations = 2216, - GroupsListGroupMembers = 2217, - GroupsListMembership = 2218, - GroupsListMembershipOpportunities = 2219, - GroupsRemoveGroupApplication = 2220, - GroupsRemoveGroupInvitation = 2221, - GroupsRemoveMembers = 2222, - GroupsUnblockEntity = 2223, - GroupsUpdateGroup = 2224, - GroupsUpdateRole = 2225, - LocalizationGetLanguageList = 2226, - MultiplayerServerListBuildAliases = 2227, - MultiplayerServerListBuildSummariesV2 = 2228, - MultiplayerServerListQosServersForTitle = 2229, - MultiplayerServerRequestMultiplayerServer = 2230, - MultiplayerServerRequestPartyService = 2231, - ProfilesGetProfile = 2232, - ProfilesGetProfiles = 2233, - ProfilesGetTitlePlayersFromMasterPlayerAccountIds = 2234, - ProfilesSetProfileLanguage = 2235, - ProfilesSetProfilePolicy = 2236, + AccountManagementClientGetPlayFabIDsFromPSNOnlineIDs = 2023, + AccountManagementClientGetPlayFabIDsFromSteamIDs = 2024, + AccountManagementClientGetPlayFabIDsFromTwitchIDs = 2025, + AccountManagementClientGetPlayFabIDsFromXboxLiveIDs = 2026, + AccountManagementClientLinkAndroidDeviceID = 2027, + AccountManagementClientLinkApple = 2028, + AccountManagementClientLinkCustomID = 2029, + AccountManagementClientLinkFacebookAccount = 2030, + AccountManagementClientLinkFacebookInstantGamesId = 2031, + AccountManagementClientLinkGameCenterAccount = 2032, + AccountManagementClientLinkGoogleAccount = 2033, + AccountManagementClientLinkGooglePlayGamesServicesAccount = 2034, + AccountManagementClientLinkIOSDeviceID = 2035, + AccountManagementClientLinkKongregate = 2036, + AccountManagementClientLinkNintendoServiceAccount = 2037, + AccountManagementClientLinkNintendoSwitchDeviceId = 2038, + AccountManagementClientLinkOpenIdConnect = 2039, + AccountManagementClientLinkPSNAccount = 2040, + AccountManagementClientLinkSteamAccount = 2041, + AccountManagementClientLinkTwitch = 2042, + AccountManagementClientLinkXboxAccount = 2043, + AccountManagementClientRemoveContactEmail = 2044, + AccountManagementClientReportPlayer = 2045, + AccountManagementClientSendAccountRecoveryEmail = 2046, + AccountManagementClientUnlinkAndroidDeviceID = 2047, + AccountManagementClientUnlinkApple = 2048, + AccountManagementClientUnlinkCustomID = 2049, + AccountManagementClientUnlinkFacebookAccount = 2050, + AccountManagementClientUnlinkFacebookInstantGamesId = 2051, + AccountManagementClientUnlinkGameCenterAccount = 2052, + AccountManagementClientUnlinkGoogleAccount = 2053, + AccountManagementClientUnlinkGooglePlayGamesServicesAccount = 2054, + AccountManagementClientUnlinkIOSDeviceID = 2055, + AccountManagementClientUnlinkKongregate = 2056, + AccountManagementClientUnlinkNintendoServiceAccount = 2057, + AccountManagementClientUnlinkNintendoSwitchDeviceId = 2058, + AccountManagementClientUnlinkOpenIdConnect = 2059, + AccountManagementClientUnlinkPSNAccount = 2060, + AccountManagementClientUnlinkSteamAccount = 2061, + AccountManagementClientUnlinkTwitch = 2062, + AccountManagementClientUnlinkXboxAccount = 2063, + AccountManagementClientUpdateAvatarUrl = 2064, + AccountManagementClientUpdateUserTitleDisplayName = 2065, + AccountManagementServerBanUsers = 2066, + AccountManagementServerDeletePlayer = 2067, + AccountManagementServerGetPlayerCombinedInfo = 2068, + AccountManagementServerGetPlayerProfile = 2069, + AccountManagementServerGetPlayFabIDsFromFacebookIDs = 2070, + AccountManagementServerGetPlayFabIDsFromFacebookInstantGamesIds = 2071, + AccountManagementServerGetPlayFabIDsFromNintendoServiceAccountIds = 2072, + AccountManagementServerGetPlayFabIDsFromNintendoSwitchDeviceIds = 2073, + AccountManagementServerGetPlayFabIDsFromPSNAccountIDs = 2074, + AccountManagementServerGetPlayFabIDsFromPSNOnlineIDs = 2075, + AccountManagementServerGetPlayFabIDsFromSteamIDs = 2076, + AccountManagementServerGetPlayFabIDsFromTwitchIDs = 2077, + AccountManagementServerGetPlayFabIDsFromXboxLiveIDs = 2078, + AccountManagementServerGetServerCustomIDsFromPlayFabIDs = 2079, + AccountManagementServerGetUserAccountInfo = 2080, + AccountManagementServerGetUserBans = 2081, + AccountManagementServerLinkNintendoServiceAccount = 2082, + AccountManagementServerLinkNintendoServiceAccountSubject = 2083, + AccountManagementServerLinkNintendoSwitchDeviceId = 2084, + AccountManagementServerLinkPSNAccount = 2085, + AccountManagementServerLinkPSNId = 2086, + AccountManagementServerLinkServerCustomId = 2087, + AccountManagementServerLinkSteamId = 2088, + AccountManagementServerLinkXboxAccount = 2089, + AccountManagementServerRevokeAllBansForUser = 2090, + AccountManagementServerRevokeBans = 2091, + AccountManagementServerSendCustomAccountRecoveryEmail = 2092, + AccountManagementServerSendEmailFromTemplate = 2093, + AccountManagementServerUnlinkNintendoServiceAccount = 2094, + AccountManagementServerUnlinkNintendoSwitchDeviceId = 2095, + AccountManagementServerUnlinkPSNAccount = 2096, + AccountManagementServerUnlinkServerCustomId = 2097, + AccountManagementServerUnlinkSteamId = 2098, + AccountManagementServerUnlinkXboxAccount = 2099, + AccountManagementServerUpdateAvatarUrl = 2100, + AccountManagementServerUpdateBans = 2101, + AccountManagementGetTitlePlayersFromXboxLiveIDs = 2102, + PlatformSpecificClientAndroidDevicePushNotificationRegistration = 2103, + PlatformSpecificClientRefreshPSNAuthToken = 2104, + PlatformSpecificClientRegisterForIOSPushNotification = 2105, + PlatformSpecificServerAwardSteamAchievement = 2106, + CloudScriptClientExecuteCloudScript = 2107, + CloudScriptServerExecuteCloudScript = 2108, + CloudScriptExecuteEntityCloudScript = 2109, + CloudScriptExecuteFunction = 2110, + SegmentsClientGetPlayerSegments = 2111, + SegmentsClientGetPlayerTags = 2112, + SegmentsServerAddPlayerTag = 2113, + SegmentsServerGetAllSegments = 2114, + SegmentsServerGetPlayerSegments = 2115, + SegmentsServerGetPlayersInSegment = 2116, + SegmentsServerGetPlayerTags = 2117, + SegmentsServerRemovePlayerTag = 2118, + TitleDataManagementClientGetPublisherData = 2119, + TitleDataManagementClientGetTime = 2120, + TitleDataManagementClientGetTitleData = 2121, + TitleDataManagementClientGetTitleNews = 2122, + TitleDataManagementServerGetPublisherData = 2123, + TitleDataManagementServerGetTime = 2124, + TitleDataManagementServerGetTitleData = 2125, + TitleDataManagementServerGetTitleInternalData = 2126, + TitleDataManagementServerGetTitleNews = 2127, + TitleDataManagementServerSetPublisherData = 2128, + TitleDataManagementServerSetTitleData = 2129, + TitleDataManagementServerSetTitleInternalData = 2130, + PlayerDataManagementClientGetUserData = 2131, + PlayerDataManagementClientGetUserPublisherData = 2132, + PlayerDataManagementClientGetUserPublisherReadOnlyData = 2133, + PlayerDataManagementClientGetUserReadOnlyData = 2134, + PlayerDataManagementClientUpdateUserData = 2135, + PlayerDataManagementClientUpdateUserPublisherData = 2136, + PlayerDataManagementServerGetUserData = 2137, + PlayerDataManagementServerGetUserInternalData = 2138, + PlayerDataManagementServerGetUserPublisherData = 2139, + PlayerDataManagementServerGetUserPublisherInternalData = 2140, + PlayerDataManagementServerGetUserPublisherReadOnlyData = 2141, + PlayerDataManagementServerGetUserReadOnlyData = 2142, + PlayerDataManagementServerUpdateUserData = 2143, + PlayerDataManagementServerUpdateUserInternalData = 2144, + PlayerDataManagementServerUpdateUserPublisherData = 2145, + PlayerDataManagementServerUpdateUserPublisherInternalData = 2146, + PlayerDataManagementServerUpdateUserPublisherReadOnlyData = 2147, + PlayerDataManagementServerUpdateUserReadOnlyData = 2148, + PushNotificationsServerSendPushNotification = 2149, + PushNotificationsServerSendPushNotificationFromTemplate = 2150, + DataAbortFileUploads = 2151, + DataDeleteFiles = 2152, + DataFinalizeFileUploads = 2153, + DataGetFiles = 2154, + DataGetObjects = 2155, + DataInitiateFileUploads = 2156, + DataSetObjects = 2157, + InventoryAddInventoryItems = 2158, + InventoryDeleteInventoryCollection = 2159, + InventoryDeleteInventoryItems = 2160, + InventoryExecuteInventoryOperations = 2161, + InventoryGetInventoryCollectionIds = 2162, + InventoryGetInventoryItems = 2163, + InventoryGetMicrosoftStoreAccessTokens = 2164, + InventoryGetTransactionHistory = 2165, + InventoryPurchaseInventoryItems = 2166, + InventoryRedeemAppleAppStoreInventoryItems = 2167, + InventoryRedeemGooglePlayInventoryItems = 2168, + InventoryRedeemMicrosoftStoreInventoryItems = 2169, + InventoryRedeemNintendoEShopInventoryItems = 2170, + InventoryRedeemPlayStationStoreInventoryItems = 2171, + InventoryRedeemSteamInventoryItems = 2172, + InventorySubtractInventoryItems = 2173, + InventoryTransferInventoryItems = 2174, + InventoryUpdateInventoryItems = 2175, + CatalogCreateDraftItem = 2176, + CatalogCreateUploadUrls = 2177, + CatalogDeleteEntityItemReviews = 2178, + CatalogDeleteItem = 2179, + CatalogGetCatalogConfig = 2180, + CatalogGetDraftItem = 2181, + CatalogGetDraftItems = 2182, + CatalogGetEntityDraftItems = 2183, + CatalogGetEntityItemReview = 2184, + CatalogGetItem = 2185, + CatalogGetItemContainers = 2186, + CatalogGetItemModerationState = 2187, + CatalogGetItemPublishStatus = 2188, + CatalogGetItemReviews = 2189, + CatalogGetItemReviewSummary = 2190, + CatalogGetItems = 2191, + CatalogPublishDraftItem = 2192, + CatalogReportItem = 2193, + CatalogReportItemReview = 2194, + CatalogReviewItem = 2195, + CatalogSearchItems = 2196, + CatalogSetItemModerationState = 2197, + CatalogSubmitItemReviewVote = 2198, + CatalogTakedownItemReviews = 2199, + CatalogUpdateCatalogConfig = 2200, + CatalogUpdateDraftItem = 2201, + ExperimentationGetTreatmentAssignment = 2202, + GroupsAcceptGroupApplication = 2203, + GroupsAcceptGroupInvitation = 2204, + GroupsAddMembers = 2205, + GroupsApplyToGroup = 2206, + GroupsBlockEntity = 2207, + GroupsChangeMemberRole = 2208, + GroupsCreateGroup = 2209, + GroupsCreateRole = 2210, + GroupsDeleteGroup = 2211, + GroupsDeleteRole = 2212, + GroupsGetGroup = 2213, + GroupsInviteToGroup = 2214, + GroupsIsMember = 2215, + GroupsListGroupApplications = 2216, + GroupsListGroupBlocks = 2217, + GroupsListGroupInvitations = 2218, + GroupsListGroupMembers = 2219, + GroupsListMembership = 2220, + GroupsListMembershipOpportunities = 2221, + GroupsRemoveGroupApplication = 2222, + GroupsRemoveGroupInvitation = 2223, + GroupsRemoveMembers = 2224, + GroupsUnblockEntity = 2225, + GroupsUpdateGroup = 2226, + GroupsUpdateRole = 2227, + LocalizationGetLanguageList = 2228, + MultiplayerServerListBuildAliases = 2229, + MultiplayerServerListBuildSummariesV2 = 2230, + MultiplayerServerListQosServersForTitle = 2231, + MultiplayerServerRequestMultiplayerServer = 2232, + MultiplayerServerRequestPartyService = 2233, + ProfilesGetProfile = 2234, + ProfilesGetProfiles = 2235, + ProfilesGetTitlePlayersFromMasterPlayerAccountIds = 2236, + ProfilesSetProfileLanguage = 2237, + ProfilesSetProfilePolicy = 2238, }; } // namespace PlayFab \ No newline at end of file diff --git a/Source/PlayFabServices/Source/Generated/MultiplayerServerTypes.cpp b/Source/PlayFabServices/Source/Generated/MultiplayerServerTypes.cpp index caf3a51..20b22c0 100644 --- a/Source/PlayFabServices/Source/Generated/MultiplayerServerTypes.cpp +++ b/Source/PlayFabServices/Source/Generated/MultiplayerServerTypes.cpp @@ -711,6 +711,7 @@ JsonValue ListQosServersForTitleRequest::ToJson(const PFMultiplayerServerListQos JsonValue output{ rapidjson::kObjectType }; JsonUtils::ObjectAddMemberDictionary(output, "CustomTags", input.customTags, input.customTagsCount); JsonUtils::ObjectAddMember(output, "IncludeAllRegions", input.includeAllRegions); + JsonUtils::ObjectAddMember(output, "RoutingPreference", input.routingPreference); return output; } diff --git a/Source/PlayFabServices/Source/Generated/PFAccountManagement.cpp b/Source/PlayFabServices/Source/Generated/PFAccountManagement.cpp index d084768..a8736a3 100644 --- a/Source/PlayFabServices/Source/Generated/PFAccountManagement.cpp +++ b/Source/PlayFabServices/Source/Generated/PFAccountManagement.cpp @@ -8,7 +8,7 @@ using namespace PlayFab; using namespace PlayFab::AccountManagement; -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientAddOrUpdateContactEmailAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementAddOrUpdateContactEmailRequest* request, @@ -30,7 +30,7 @@ PF_API PFAccountManagementClientAddOrUpdateContactEmailAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientAddUsernamePasswordAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementAddUsernamePasswordRequest* request, @@ -208,7 +208,7 @@ PF_API PFAccountManagementClientGetPlayerProfileGetResult( return S_OK; } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientGetPlayFabIDsFromFacebookIDsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementGetPlayFabIDsFromFacebookIDsRequest* request, @@ -254,7 +254,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromFacebookIDsGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientGetPlayFabIDsFromFacebookInstantGamesIdsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementGetPlayFabIDsFromFacebookInstantGamesIdsRequest* request, @@ -300,7 +300,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromFacebookInstantGamesIdsGetResul } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientGetPlayFabIDsFromGameCenterIDsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementGetPlayFabIDsFromGameCenterIDsRequest* request, @@ -346,7 +346,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromGameCenterIDsGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientGetPlayFabIDsFromGoogleIDsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementGetPlayFabIDsFromGoogleIDsRequest* request, @@ -392,7 +392,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromGoogleIDsGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientGetPlayFabIDsFromGooglePlayGamesPlayerIDsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest* request, @@ -438,7 +438,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromGooglePlayGamesPlayerIDsGetResu } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientGetPlayFabIDsFromKongregateIDsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementGetPlayFabIDsFromKongregateIDsRequest* request, @@ -484,7 +484,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromKongregateIDsGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientGetPlayFabIDsFromNintendoServiceAccountIdsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementGetPlayFabIDsFromNintendoServiceAccountIdsRequest* request, @@ -530,7 +530,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromNintendoServiceAccountIdsGetRes } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientGetPlayFabIDsFromNintendoSwitchDeviceIdsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest* request, @@ -576,7 +576,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromNintendoSwitchDeviceIdsGetResul } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientGetPlayFabIDsFromPSNAccountIDsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementGetPlayFabIDsFromPSNAccountIDsRequest* request, @@ -622,7 +622,53 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromPSNAccountIDsGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if 0 +PF_API PFAccountManagementClientGetPlayFabIDsFromPSNOnlineIDsAsync( + _In_ PFEntityHandle contextHandle, + _In_ const PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsRequest* request, + _In_ XAsyncBlock* async +) noexcept +{ + RETURN_HR_INVALIDARG_IF_NULL(request); + + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(GlobalState::Get(state)); + + auto provider = MakeProvider( + state->RunContext().DeriveOnQueue(async->queue), + async, + XASYNC_IDENTITY(PFAccountManagementClientGetPlayFabIDsFromPSNOnlineIDsAsync), + std::bind(&AccountManagementAPI::ClientGetPlayFabIDsFromPSNOnlineIDs, Entity::Duplicate(contextHandle), *request, std::placeholders::_1) + ); + return XAsyncProviderBase::Run(std::move(provider)); +} + +PF_API PFAccountManagementClientGetPlayFabIDsFromPSNOnlineIDsGetResultSize( + _In_ XAsyncBlock* async, + _Out_ size_t* bufferSize +) noexcept +{ + return XAsyncGetResultSize(async, bufferSize); +} + +PF_API PFAccountManagementClientGetPlayFabIDsFromPSNOnlineIDsGetResult( + _In_ XAsyncBlock* async, + _In_ size_t bufferSize, + _Out_writes_bytes_to_(bufferSize, *bufferUsed) void* buffer, + _Outptr_ PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResult** result, + _Out_opt_ size_t* bufferUsed +) noexcept +{ + RETURN_HR_INVALIDARG_IF_NULL(result); + + RETURN_IF_FAILED(XAsyncGetResult(async, nullptr, bufferSize, buffer, bufferUsed)); + *result = static_cast(buffer); + + return S_OK; +} +#endif + +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientGetPlayFabIDsFromSteamIDsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementGetPlayFabIDsFromSteamIDsRequest* request, @@ -668,7 +714,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromSteamIDsGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientGetPlayFabIDsFromTwitchIDsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementGetPlayFabIDsFromTwitchIDsRequest* request, @@ -714,7 +760,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromTwitchIDsGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientGetPlayFabIDsFromXboxLiveIDsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementGetPlayFabIDsFromXboxLiveIDsRequest* request, @@ -760,7 +806,7 @@ PF_API PFAccountManagementClientGetPlayFabIDsFromXboxLiveIDsGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientLinkAndroidDeviceIDAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementLinkAndroidDeviceIDRequest* request, @@ -782,7 +828,7 @@ PF_API PFAccountManagementClientLinkAndroidDeviceIDAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientLinkAppleAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementLinkAppleRequest* request, @@ -824,7 +870,7 @@ PF_API PFAccountManagementClientLinkCustomIDAsync( return XAsyncProviderBase::Run(std::move(provider)); } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientLinkFacebookAccountAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementLinkFacebookAccountRequest* request, @@ -846,7 +892,7 @@ PF_API PFAccountManagementClientLinkFacebookAccountAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientLinkFacebookInstantGamesIdAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementLinkFacebookInstantGamesIdRequest* request, @@ -868,7 +914,7 @@ PF_API PFAccountManagementClientLinkFacebookInstantGamesIdAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientLinkGameCenterAccountAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementLinkGameCenterAccountRequest* request, @@ -890,7 +936,7 @@ PF_API PFAccountManagementClientLinkGameCenterAccountAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientLinkGoogleAccountAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementLinkGoogleAccountRequest* request, @@ -912,7 +958,7 @@ PF_API PFAccountManagementClientLinkGoogleAccountAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientLinkGooglePlayGamesServicesAccountAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementLinkGooglePlayGamesServicesAccountRequest* request, @@ -934,7 +980,7 @@ PF_API PFAccountManagementClientLinkGooglePlayGamesServicesAccountAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientLinkIOSDeviceIDAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementLinkIOSDeviceIDRequest* request, @@ -956,7 +1002,7 @@ PF_API PFAccountManagementClientLinkIOSDeviceIDAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientLinkKongregateAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementLinkKongregateAccountRequest* request, @@ -978,7 +1024,7 @@ PF_API PFAccountManagementClientLinkKongregateAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientLinkNintendoServiceAccountAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementClientLinkNintendoServiceAccountRequest* request, @@ -1000,7 +1046,7 @@ PF_API PFAccountManagementClientLinkNintendoServiceAccountAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientLinkNintendoSwitchDeviceIdAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementClientLinkNintendoSwitchDeviceIdRequest* request, @@ -1042,7 +1088,7 @@ PF_API PFAccountManagementClientLinkOpenIdConnectAsync( return XAsyncProviderBase::Run(std::move(provider)); } -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientLinkPSNAccountAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementClientLinkPSNAccountRequest* request, @@ -1064,7 +1110,7 @@ PF_API PFAccountManagementClientLinkPSNAccountAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientLinkSteamAccountAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementLinkSteamAccountRequest* request, @@ -1086,7 +1132,7 @@ PF_API PFAccountManagementClientLinkSteamAccountAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientLinkTwitchAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementLinkTwitchAccountRequest* request, @@ -1108,7 +1154,7 @@ PF_API PFAccountManagementClientLinkTwitchAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientLinkXboxAccountAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementClientLinkXboxAccountRequest* request, @@ -1130,7 +1176,7 @@ PF_API PFAccountManagementClientLinkXboxAccountAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientRemoveContactEmailAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementRemoveContactEmailRequest* request, @@ -1180,7 +1226,7 @@ PF_API PFAccountManagementClientReportPlayerGetResult( return XAsyncGetResult(async, nullptr, sizeof(PFAccountManagementReportPlayerClientResult), result, nullptr); } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientSendAccountRecoveryEmailAsync( _In_ PFServiceConfigHandle contextHandle, _In_ const PFAccountManagementSendAccountRecoveryEmailRequest* request, @@ -1202,7 +1248,7 @@ PF_API PFAccountManagementClientSendAccountRecoveryEmailAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientUnlinkAndroidDeviceIDAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementUnlinkAndroidDeviceIDRequest* request, @@ -1224,7 +1270,7 @@ PF_API PFAccountManagementClientUnlinkAndroidDeviceIDAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientUnlinkAppleAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementUnlinkAppleRequest* request, @@ -1266,7 +1312,7 @@ PF_API PFAccountManagementClientUnlinkCustomIDAsync( return XAsyncProviderBase::Run(std::move(provider)); } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientUnlinkFacebookAccountAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementUnlinkFacebookAccountRequest* request, @@ -1288,7 +1334,7 @@ PF_API PFAccountManagementClientUnlinkFacebookAccountAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientUnlinkFacebookInstantGamesIdAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementUnlinkFacebookInstantGamesIdRequest* request, @@ -1310,7 +1356,7 @@ PF_API PFAccountManagementClientUnlinkFacebookInstantGamesIdAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientUnlinkGameCenterAccountAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementUnlinkGameCenterAccountRequest* request, @@ -1332,7 +1378,7 @@ PF_API PFAccountManagementClientUnlinkGameCenterAccountAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientUnlinkGoogleAccountAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementUnlinkGoogleAccountRequest* request, @@ -1354,7 +1400,7 @@ PF_API PFAccountManagementClientUnlinkGoogleAccountAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientUnlinkGooglePlayGamesServicesAccountAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementUnlinkGooglePlayGamesServicesAccountRequest* request, @@ -1376,7 +1422,7 @@ PF_API PFAccountManagementClientUnlinkGooglePlayGamesServicesAccountAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientUnlinkIOSDeviceIDAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementUnlinkIOSDeviceIDRequest* request, @@ -1398,7 +1444,7 @@ PF_API PFAccountManagementClientUnlinkIOSDeviceIDAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientUnlinkKongregateAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementUnlinkKongregateAccountRequest* request, @@ -1420,7 +1466,7 @@ PF_API PFAccountManagementClientUnlinkKongregateAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientUnlinkNintendoServiceAccountAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementClientUnlinkNintendoServiceAccountRequest* request, @@ -1442,7 +1488,7 @@ PF_API PFAccountManagementClientUnlinkNintendoServiceAccountAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientUnlinkNintendoSwitchDeviceIdAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementClientUnlinkNintendoSwitchDeviceIdRequest* request, @@ -1484,7 +1530,7 @@ PF_API PFAccountManagementClientUnlinkOpenIdConnectAsync( return XAsyncProviderBase::Run(std::move(provider)); } -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientUnlinkPSNAccountAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementClientUnlinkPSNAccountRequest* request, @@ -1506,7 +1552,7 @@ PF_API PFAccountManagementClientUnlinkPSNAccountAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientUnlinkSteamAccountAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementUnlinkSteamAccountRequest* request, @@ -1528,7 +1574,7 @@ PF_API PFAccountManagementClientUnlinkSteamAccountAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientUnlinkTwitchAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementUnlinkTwitchAccountRequest* request, @@ -1550,7 +1596,7 @@ PF_API PFAccountManagementClientUnlinkTwitchAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientUnlinkXboxAccountAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementClientUnlinkXboxAccountRequest* request, @@ -1592,7 +1638,7 @@ PF_API PFAccountManagementClientUpdateAvatarUrlAsync( return XAsyncProviderBase::Run(std::move(provider)); } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementClientUpdateUserTitleDisplayNameAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementUpdateUserTitleDisplayNameRequest* request, @@ -1638,7 +1684,7 @@ PF_API PFAccountManagementClientUpdateUserTitleDisplayNameGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerBanUsersAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementBanUsersRequest* request, @@ -1684,7 +1730,7 @@ PF_API PFAccountManagementServerBanUsersGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerDeletePlayerAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementDeletePlayerRequest* request, @@ -1706,7 +1752,7 @@ PF_API PFAccountManagementServerDeletePlayerAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerGetPlayerCombinedInfoAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementGetPlayerCombinedInfoRequest* request, @@ -1752,7 +1798,7 @@ PF_API PFAccountManagementServerGetPlayerCombinedInfoGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerGetPlayerProfileAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementGetPlayerProfileRequest* request, @@ -1798,7 +1844,7 @@ PF_API PFAccountManagementServerGetPlayerProfileGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerGetPlayFabIDsFromFacebookIDsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementGetPlayFabIDsFromFacebookIDsRequest* request, @@ -1844,7 +1890,7 @@ PF_API PFAccountManagementServerGetPlayFabIDsFromFacebookIDsGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerGetPlayFabIDsFromFacebookInstantGamesIdsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementGetPlayFabIDsFromFacebookInstantGamesIdsRequest* request, @@ -1890,7 +1936,7 @@ PF_API PFAccountManagementServerGetPlayFabIDsFromFacebookInstantGamesIdsGetResul } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerGetPlayFabIDsFromNintendoServiceAccountIdsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementGetPlayFabIDsFromNintendoServiceAccountIdsRequest* request, @@ -1936,7 +1982,7 @@ PF_API PFAccountManagementServerGetPlayFabIDsFromNintendoServiceAccountIdsGetRes } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerGetPlayFabIDsFromNintendoSwitchDeviceIdsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest* request, @@ -1982,7 +2028,7 @@ PF_API PFAccountManagementServerGetPlayFabIDsFromNintendoSwitchDeviceIdsGetResul } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerGetPlayFabIDsFromPSNAccountIDsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementGetPlayFabIDsFromPSNAccountIDsRequest* request, @@ -2028,7 +2074,53 @@ PF_API PFAccountManagementServerGetPlayFabIDsFromPSNAccountIDsGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if 0 +PF_API PFAccountManagementServerGetPlayFabIDsFromPSNOnlineIDsAsync( + _In_ PFEntityHandle contextHandle, + _In_ const PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsRequest* request, + _In_ XAsyncBlock* async +) noexcept +{ + RETURN_HR_INVALIDARG_IF_NULL(request); + + SharedPtr state{ nullptr }; + RETURN_IF_FAILED(GlobalState::Get(state)); + + auto provider = MakeProvider( + state->RunContext().DeriveOnQueue(async->queue), + async, + XASYNC_IDENTITY(PFAccountManagementServerGetPlayFabIDsFromPSNOnlineIDsAsync), + std::bind(&AccountManagementAPI::ServerGetPlayFabIDsFromPSNOnlineIDs, Entity::Duplicate(contextHandle), *request, std::placeholders::_1) + ); + return XAsyncProviderBase::Run(std::move(provider)); +} + +PF_API PFAccountManagementServerGetPlayFabIDsFromPSNOnlineIDsGetResultSize( + _In_ XAsyncBlock* async, + _Out_ size_t* bufferSize +) noexcept +{ + return XAsyncGetResultSize(async, bufferSize); +} + +PF_API PFAccountManagementServerGetPlayFabIDsFromPSNOnlineIDsGetResult( + _In_ XAsyncBlock* async, + _In_ size_t bufferSize, + _Out_writes_bytes_to_(bufferSize, *bufferUsed) void* buffer, + _Outptr_ PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResult** result, + _Out_opt_ size_t* bufferUsed +) noexcept +{ + RETURN_HR_INVALIDARG_IF_NULL(result); + + RETURN_IF_FAILED(XAsyncGetResult(async, nullptr, bufferSize, buffer, bufferUsed)); + *result = static_cast(buffer); + + return S_OK; +} +#endif + +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerGetPlayFabIDsFromSteamIDsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementGetPlayFabIDsFromSteamIDsRequest* request, @@ -2074,7 +2166,7 @@ PF_API PFAccountManagementServerGetPlayFabIDsFromSteamIDsGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerGetPlayFabIDsFromTwitchIDsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementGetPlayFabIDsFromTwitchIDsRequest* request, @@ -2120,7 +2212,7 @@ PF_API PFAccountManagementServerGetPlayFabIDsFromTwitchIDsGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerGetPlayFabIDsFromXboxLiveIDsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementGetPlayFabIDsFromXboxLiveIDsRequest* request, @@ -2166,7 +2258,7 @@ PF_API PFAccountManagementServerGetPlayFabIDsFromXboxLiveIDsGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerGetServerCustomIDsFromPlayFabIDsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementGetServerCustomIDsFromPlayFabIDsRequest* request, @@ -2212,7 +2304,7 @@ PF_API PFAccountManagementServerGetServerCustomIDsFromPlayFabIDsGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerGetUserAccountInfoAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementGetUserAccountInfoRequest* request, @@ -2258,7 +2350,7 @@ PF_API PFAccountManagementServerGetUserAccountInfoGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerGetUserBansAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementGetUserBansRequest* request, @@ -2304,7 +2396,7 @@ PF_API PFAccountManagementServerGetUserBansGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerLinkNintendoServiceAccountAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementServerLinkNintendoServiceAccountRequest* request, @@ -2326,7 +2418,7 @@ PF_API PFAccountManagementServerLinkNintendoServiceAccountAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerLinkNintendoServiceAccountSubjectAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementLinkNintendoServiceAccountSubjectRequest* request, @@ -2348,7 +2440,7 @@ PF_API PFAccountManagementServerLinkNintendoServiceAccountSubjectAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerLinkNintendoSwitchDeviceIdAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementServerLinkNintendoSwitchDeviceIdRequest* request, @@ -2370,7 +2462,7 @@ PF_API PFAccountManagementServerLinkNintendoSwitchDeviceIdAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerLinkPSNAccountAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementServerLinkPSNAccountRequest* request, @@ -2414,7 +2506,7 @@ PF_API PFAccountManagementServerLinkPSNIdAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerLinkServerCustomIdAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementLinkServerCustomIdRequest* request, @@ -2436,7 +2528,7 @@ PF_API PFAccountManagementServerLinkServerCustomIdAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerLinkSteamIdAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementLinkSteamIdRequest* request, @@ -2458,7 +2550,7 @@ PF_API PFAccountManagementServerLinkSteamIdAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerLinkXboxAccountAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementServerLinkXboxAccountRequest* request, @@ -2480,7 +2572,7 @@ PF_API PFAccountManagementServerLinkXboxAccountAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerRevokeAllBansForUserAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementRevokeAllBansForUserRequest* request, @@ -2526,7 +2618,7 @@ PF_API PFAccountManagementServerRevokeAllBansForUserGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerRevokeBansAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementRevokeBansRequest* request, @@ -2572,7 +2664,7 @@ PF_API PFAccountManagementServerRevokeBansGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerSendCustomAccountRecoveryEmailAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementSendCustomAccountRecoveryEmailRequest* request, @@ -2594,7 +2686,7 @@ PF_API PFAccountManagementServerSendCustomAccountRecoveryEmailAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerSendEmailFromTemplateAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementSendEmailFromTemplateRequest* request, @@ -2616,7 +2708,7 @@ PF_API PFAccountManagementServerSendEmailFromTemplateAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerUnlinkNintendoServiceAccountAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementServerUnlinkNintendoServiceAccountRequest* request, @@ -2638,7 +2730,7 @@ PF_API PFAccountManagementServerUnlinkNintendoServiceAccountAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerUnlinkNintendoSwitchDeviceIdAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementServerUnlinkNintendoSwitchDeviceIdRequest* request, @@ -2660,7 +2752,7 @@ PF_API PFAccountManagementServerUnlinkNintendoSwitchDeviceIdAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerUnlinkPSNAccountAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementServerUnlinkPSNAccountRequest* request, @@ -2682,7 +2774,7 @@ PF_API PFAccountManagementServerUnlinkPSNAccountAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerUnlinkServerCustomIdAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementUnlinkServerCustomIdRequest* request, @@ -2704,7 +2796,7 @@ PF_API PFAccountManagementServerUnlinkServerCustomIdAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerUnlinkSteamIdAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementUnlinkSteamIdRequest* request, @@ -2726,7 +2818,7 @@ PF_API PFAccountManagementServerUnlinkSteamIdAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerUnlinkXboxAccountAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementServerUnlinkXboxAccountRequest* request, @@ -2748,7 +2840,7 @@ PF_API PFAccountManagementServerUnlinkXboxAccountAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerUpdateAvatarUrlAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementServerUpdateAvatarUrlRequest* request, @@ -2770,7 +2862,7 @@ PF_API PFAccountManagementServerUpdateAvatarUrlAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementServerUpdateBansAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementUpdateBansRequest* request, @@ -2816,7 +2908,7 @@ PF_API PFAccountManagementServerUpdateBansGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFAccountManagementGetTitlePlayersFromXboxLiveIDsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFAccountManagementGetTitlePlayersFromXboxLiveIDsRequest* request, diff --git a/Source/PlayFabServices/Source/Generated/PFCloudScript.cpp b/Source/PlayFabServices/Source/Generated/PFCloudScript.cpp index a91200a..297abb2 100644 --- a/Source/PlayFabServices/Source/Generated/PFCloudScript.cpp +++ b/Source/PlayFabServices/Source/Generated/PFCloudScript.cpp @@ -52,7 +52,7 @@ PF_API PFCloudScriptClientExecuteCloudScriptGetResult( return S_OK; } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFCloudScriptServerExecuteCloudScriptAsync( _In_ PFEntityHandle contextHandle, _In_ const PFCloudScriptExecuteCloudScriptServerRequest* request, diff --git a/Source/PlayFabServices/Source/Generated/PFFriends.cpp b/Source/PlayFabServices/Source/Generated/PFFriends.cpp index 4f931a1..aee4a51 100644 --- a/Source/PlayFabServices/Source/Generated/PFFriends.cpp +++ b/Source/PlayFabServices/Source/Generated/PFFriends.cpp @@ -120,7 +120,7 @@ PF_API PFFriendsClientSetFriendTagsAsync( return XAsyncProviderBase::Run(std::move(provider)); } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFFriendsServerAddFriendAsync( _In_ PFEntityHandle contextHandle, _In_ const PFFriendsServerAddFriendRequest* request, @@ -142,7 +142,7 @@ PF_API PFFriendsServerAddFriendAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFFriendsServerGetFriendsListAsync( _In_ PFEntityHandle contextHandle, _In_ const PFFriendsServerGetFriendsListRequest* request, @@ -188,7 +188,7 @@ PF_API PFFriendsServerGetFriendsListGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFFriendsServerRemoveFriendAsync( _In_ PFEntityHandle contextHandle, _In_ const PFFriendsServerRemoveFriendRequest* request, @@ -210,7 +210,7 @@ PF_API PFFriendsServerRemoveFriendAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFFriendsServerSetFriendTagsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFFriendsServerSetFriendTagsRequest* request, diff --git a/Source/PlayFabServices/Source/Generated/PFInventory.cpp b/Source/PlayFabServices/Source/Generated/PFInventory.cpp index 315e952..eecbf29 100644 --- a/Source/PlayFabServices/Source/Generated/PFInventory.cpp +++ b/Source/PlayFabServices/Source/Generated/PFInventory.cpp @@ -248,7 +248,7 @@ PF_API PFInventoryGetInventoryItemsGetResult( return S_OK; } -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFInventoryGetMicrosoftStoreAccessTokensAsync( _In_ PFEntityHandle contextHandle, _In_ const PFInventoryGetMicrosoftStoreAccessTokensRequest* request, @@ -294,7 +294,7 @@ PF_API PFInventoryGetMicrosoftStoreAccessTokensGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFInventoryGetTransactionHistoryAsync( _In_ PFEntityHandle contextHandle, _In_ const PFInventoryGetTransactionHistoryRequest* request, @@ -384,7 +384,7 @@ PF_API PFInventoryPurchaseInventoryItemsGetResult( return S_OK; } -#if 0 +#if HC_PLATFORM == HC_PLATFORM_IOS PF_API PFInventoryRedeemAppleAppStoreInventoryItemsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFInventoryRedeemAppleAppStoreInventoryItemsRequest* request, @@ -430,7 +430,7 @@ PF_API PFInventoryRedeemAppleAppStoreInventoryItemsGetResult( } #endif -#if 0 +#if HC_PLATFORM == HC_PLATFORM_ANDROID PF_API PFInventoryRedeemGooglePlayInventoryItemsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFInventoryRedeemGooglePlayInventoryItemsRequest* request, @@ -476,7 +476,7 @@ PF_API PFInventoryRedeemGooglePlayInventoryItemsGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFInventoryRedeemMicrosoftStoreInventoryItemsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFInventoryRedeemMicrosoftStoreInventoryItemsRequest* request, @@ -522,7 +522,7 @@ PF_API PFInventoryRedeemMicrosoftStoreInventoryItemsGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFInventoryRedeemNintendoEShopInventoryItemsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFInventoryRedeemNintendoEShopInventoryItemsRequest* request, @@ -568,7 +568,7 @@ PF_API PFInventoryRedeemNintendoEShopInventoryItemsGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFInventoryRedeemPlayStationStoreInventoryItemsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFInventoryRedeemPlayStationStoreInventoryItemsRequest* request, @@ -614,7 +614,7 @@ PF_API PFInventoryRedeemPlayStationStoreInventoryItemsGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFInventoryRedeemSteamInventoryItemsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFInventoryRedeemSteamInventoryItemsRequest* request, diff --git a/Source/PlayFabServices/Source/Generated/PFLocalization.cpp b/Source/PlayFabServices/Source/Generated/PFLocalization.cpp index 7816d51..4d1fb4e 100644 --- a/Source/PlayFabServices/Source/Generated/PFLocalization.cpp +++ b/Source/PlayFabServices/Source/Generated/PFLocalization.cpp @@ -8,7 +8,7 @@ using namespace PlayFab; using namespace PlayFab::Localization; -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFLocalizationGetLanguageListAsync( _In_ PFEntityHandle contextHandle, _In_ const PFLocalizationGetLanguageListRequest* request, diff --git a/Source/PlayFabServices/Source/Generated/PFPlatformSpecific.cpp b/Source/PlayFabServices/Source/Generated/PFPlatformSpecific.cpp index 66bf180..8c4eab3 100644 --- a/Source/PlayFabServices/Source/Generated/PFPlatformSpecific.cpp +++ b/Source/PlayFabServices/Source/Generated/PFPlatformSpecific.cpp @@ -8,7 +8,7 @@ using namespace PlayFab; using namespace PlayFab::PlatformSpecific; -#if 0 +#if HC_PLATFORM == HC_PLATFORM_ANDROID PF_API PFPlatformSpecificClientAndroidDevicePushNotificationRegistrationAsync( _In_ PFEntityHandle contextHandle, _In_ const PFPlatformSpecificAndroidDevicePushNotificationRegistrationRequest* request, @@ -52,7 +52,7 @@ PF_API PFPlatformSpecificClientRefreshPSNAuthTokenAsync( } #endif -#if 0 +#if HC_PLATFORM == HC_PLATFORM_IOS PF_API PFPlatformSpecificClientRegisterForIOSPushNotificationAsync( _In_ PFEntityHandle contextHandle, _In_ const PFPlatformSpecificRegisterForIOSPushNotificationRequest* request, @@ -74,7 +74,7 @@ PF_API PFPlatformSpecificClientRegisterForIOSPushNotificationAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFPlatformSpecificServerAwardSteamAchievementAsync( _In_ PFEntityHandle contextHandle, _In_ const PFPlatformSpecificAwardSteamAchievementRequest* request, diff --git a/Source/PlayFabServices/Source/Generated/PFPlayerDataManagement.cpp b/Source/PlayFabServices/Source/Generated/PFPlayerDataManagement.cpp index f6e8324..69e3057 100644 --- a/Source/PlayFabServices/Source/Generated/PFPlayerDataManagement.cpp +++ b/Source/PlayFabServices/Source/Generated/PFPlayerDataManagement.cpp @@ -240,7 +240,7 @@ PF_API PFPlayerDataManagementClientUpdateUserPublisherDataGetResult( return XAsyncGetResult(async, nullptr, sizeof(PFPlayerDataManagementUpdateUserDataResult), result, nullptr); } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFPlayerDataManagementServerGetUserDataAsync( _In_ PFEntityHandle contextHandle, _In_ const PFPlayerDataManagementGetUserDataRequest* request, @@ -286,7 +286,7 @@ PF_API PFPlayerDataManagementServerGetUserDataGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFPlayerDataManagementServerGetUserInternalDataAsync( _In_ PFEntityHandle contextHandle, _In_ const PFPlayerDataManagementGetUserDataRequest* request, @@ -332,7 +332,7 @@ PF_API PFPlayerDataManagementServerGetUserInternalDataGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFPlayerDataManagementServerGetUserPublisherDataAsync( _In_ PFEntityHandle contextHandle, _In_ const PFPlayerDataManagementGetUserDataRequest* request, @@ -378,7 +378,7 @@ PF_API PFPlayerDataManagementServerGetUserPublisherDataGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFPlayerDataManagementServerGetUserPublisherInternalDataAsync( _In_ PFEntityHandle contextHandle, _In_ const PFPlayerDataManagementGetUserDataRequest* request, @@ -424,7 +424,7 @@ PF_API PFPlayerDataManagementServerGetUserPublisherInternalDataGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFPlayerDataManagementServerGetUserPublisherReadOnlyDataAsync( _In_ PFEntityHandle contextHandle, _In_ const PFPlayerDataManagementGetUserDataRequest* request, @@ -470,7 +470,7 @@ PF_API PFPlayerDataManagementServerGetUserPublisherReadOnlyDataGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFPlayerDataManagementServerGetUserReadOnlyDataAsync( _In_ PFEntityHandle contextHandle, _In_ const PFPlayerDataManagementGetUserDataRequest* request, @@ -516,7 +516,7 @@ PF_API PFPlayerDataManagementServerGetUserReadOnlyDataGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFPlayerDataManagementServerUpdateUserDataAsync( _In_ PFEntityHandle contextHandle, _In_ const PFPlayerDataManagementServerUpdateUserDataRequest* request, @@ -546,7 +546,7 @@ PF_API PFPlayerDataManagementServerUpdateUserDataGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFPlayerDataManagementServerUpdateUserInternalDataAsync( _In_ PFEntityHandle contextHandle, _In_ const PFPlayerDataManagementUpdateUserInternalDataRequest* request, @@ -576,7 +576,7 @@ PF_API PFPlayerDataManagementServerUpdateUserInternalDataGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFPlayerDataManagementServerUpdateUserPublisherDataAsync( _In_ PFEntityHandle contextHandle, _In_ const PFPlayerDataManagementServerUpdateUserDataRequest* request, @@ -606,7 +606,7 @@ PF_API PFPlayerDataManagementServerUpdateUserPublisherDataGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFPlayerDataManagementServerUpdateUserPublisherInternalDataAsync( _In_ PFEntityHandle contextHandle, _In_ const PFPlayerDataManagementUpdateUserInternalDataRequest* request, @@ -636,7 +636,7 @@ PF_API PFPlayerDataManagementServerUpdateUserPublisherInternalDataGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFPlayerDataManagementServerUpdateUserPublisherReadOnlyDataAsync( _In_ PFEntityHandle contextHandle, _In_ const PFPlayerDataManagementServerUpdateUserDataRequest* request, @@ -666,7 +666,7 @@ PF_API PFPlayerDataManagementServerUpdateUserPublisherReadOnlyDataGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFPlayerDataManagementServerUpdateUserReadOnlyDataAsync( _In_ PFEntityHandle contextHandle, _In_ const PFPlayerDataManagementServerUpdateUserDataRequest* request, diff --git a/Source/PlayFabServices/Source/Generated/PFPushNotifications.cpp b/Source/PlayFabServices/Source/Generated/PFPushNotifications.cpp index 139775c..3358b41 100644 --- a/Source/PlayFabServices/Source/Generated/PFPushNotifications.cpp +++ b/Source/PlayFabServices/Source/Generated/PFPushNotifications.cpp @@ -8,7 +8,7 @@ using namespace PlayFab; using namespace PlayFab::PushNotifications; -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFPushNotificationsServerSendPushNotificationAsync( _In_ PFEntityHandle contextHandle, _In_ const PFPushNotificationsSendPushNotificationRequest* request, @@ -30,7 +30,7 @@ PF_API PFPushNotificationsServerSendPushNotificationAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFPushNotificationsServerSendPushNotificationFromTemplateAsync( _In_ PFEntityHandle contextHandle, _In_ const PFPushNotificationsSendPushNotificationFromTemplateRequest* request, diff --git a/Source/PlayFabServices/Source/Generated/PFSegments.cpp b/Source/PlayFabServices/Source/Generated/PFSegments.cpp index 1d57801..9de6c98 100644 --- a/Source/PlayFabServices/Source/Generated/PFSegments.cpp +++ b/Source/PlayFabServices/Source/Generated/PFSegments.cpp @@ -94,7 +94,7 @@ PF_API PFSegmentsClientGetPlayerTagsGetResult( return S_OK; } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFSegmentsServerAddPlayerTagAsync( _In_ PFEntityHandle contextHandle, _In_ const PFSegmentsAddPlayerTagRequest* request, @@ -116,7 +116,7 @@ PF_API PFSegmentsServerAddPlayerTagAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFSegmentsServerGetAllSegmentsAsync( _In_ PFEntityHandle contextHandle, _In_ XAsyncBlock* async @@ -160,7 +160,7 @@ PF_API PFSegmentsServerGetAllSegmentsGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFSegmentsServerGetPlayerSegmentsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFSegmentsGetPlayersSegmentsRequest* request, @@ -206,7 +206,7 @@ PF_API PFSegmentsServerGetPlayerSegmentsGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFSegmentsServerGetPlayersInSegmentAsync( _In_ PFEntityHandle contextHandle, _In_ const PFSegmentsGetPlayersInSegmentRequest* request, @@ -252,7 +252,7 @@ PF_API PFSegmentsServerGetPlayersInSegmentGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFSegmentsServerGetPlayerTagsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFSegmentsGetPlayerTagsRequest* request, @@ -298,7 +298,7 @@ PF_API PFSegmentsServerGetPlayerTagsGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFSegmentsServerRemovePlayerTagAsync( _In_ PFEntityHandle contextHandle, _In_ const PFSegmentsRemovePlayerTagRequest* request, diff --git a/Source/PlayFabServices/Source/Generated/PFTitleDataManagement.cpp b/Source/PlayFabServices/Source/Generated/PFTitleDataManagement.cpp index 945d6d2..a58d3ff 100644 --- a/Source/PlayFabServices/Source/Generated/PFTitleDataManagement.cpp +++ b/Source/PlayFabServices/Source/Generated/PFTitleDataManagement.cpp @@ -166,7 +166,7 @@ PF_API PFTitleDataManagementClientGetTitleNewsGetResult( return S_OK; } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFTitleDataManagementServerGetPublisherDataAsync( _In_ PFEntityHandle contextHandle, _In_ const PFTitleDataManagementGetPublisherDataRequest* request, @@ -212,7 +212,7 @@ PF_API PFTitleDataManagementServerGetPublisherDataGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFTitleDataManagementServerGetTimeAsync( _In_ PFEntityHandle contextHandle, _In_ XAsyncBlock* async @@ -240,7 +240,7 @@ PF_API PFTitleDataManagementServerGetTimeGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFTitleDataManagementServerGetTitleDataAsync( _In_ PFEntityHandle contextHandle, _In_ const PFTitleDataManagementGetTitleDataRequest* request, @@ -286,7 +286,7 @@ PF_API PFTitleDataManagementServerGetTitleDataGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFTitleDataManagementServerGetTitleInternalDataAsync( _In_ PFEntityHandle contextHandle, _In_ const PFTitleDataManagementGetTitleDataRequest* request, @@ -332,7 +332,7 @@ PF_API PFTitleDataManagementServerGetTitleInternalDataGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFTitleDataManagementServerGetTitleNewsAsync( _In_ PFEntityHandle contextHandle, _In_ const PFTitleDataManagementGetTitleNewsRequest* request, @@ -378,7 +378,7 @@ PF_API PFTitleDataManagementServerGetTitleNewsGetResult( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFTitleDataManagementServerSetPublisherDataAsync( _In_ PFEntityHandle contextHandle, _In_ const PFTitleDataManagementSetPublisherDataRequest* request, @@ -400,7 +400,7 @@ PF_API PFTitleDataManagementServerSetPublisherDataAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFTitleDataManagementServerSetTitleDataAsync( _In_ PFEntityHandle contextHandle, _In_ const PFTitleDataManagementSetTitleDataRequest* request, @@ -422,7 +422,7 @@ PF_API PFTitleDataManagementServerSetTitleDataAsync( } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC PF_API PFTitleDataManagementServerSetTitleInternalDataAsync( _In_ PFEntityHandle contextHandle, _In_ const PFTitleDataManagementSetTitleDataRequest* request, diff --git a/Source/PlayFabSharedInternal/Include/Apple/PlatformUser_Apple.h b/Source/PlayFabSharedInternal/Include/Apple/PlatformUser_Apple.h new file mode 100644 index 0000000..cb341dc --- /dev/null +++ b/Source/PlayFabSharedInternal/Include/Apple/PlatformUser_Apple.h @@ -0,0 +1,39 @@ +#pragma once + +#include "PlatformUser.h" + +namespace PlayFab +{ +namespace Platform +{ + +#ifdef __cplusplus +extern "C" +{ +#endif + +// This is a Swift method that we call to get the Identity Token when using Apple Sign-In +extern const char* GetIdentityToken(); + +#ifdef __cplusplus +} +#endif + +class User : public std::enable_shared_from_this +{ +public: + User(User const&) = delete; + User(User&&) noexcept; + User& operator=(User const&) = delete; + ~User() noexcept; + + AsyncOp GetUserIdentityToken(RunContext rc) const noexcept; +private: + Result GetUserIdentityToken() const noexcept; + + String m_identityToken; + bool m_closeUser{ false }; +}; + +} +} diff --git a/Source/PlayFabSharedInternal/Include/Generated/Error.h b/Source/PlayFabSharedInternal/Include/Generated/Error.h index 8d9853f..3b7bfee 100644 --- a/Source/PlayFabSharedInternal/Include/Generated/Error.h +++ b/Source/PlayFabSharedInternal/Include/Generated/Error.h @@ -560,6 +560,11 @@ enum class ServiceErrorCode InvalidNamespaceMismatch = 1561, LeaderboardColumnLengthMismatch = 1562, InvalidStatisticScore = 1563, + LeaderboardColumnsNotSpecified = 1564, + LeaderboardMaxSizeTooLarge = 1565, + InvalidAttributeStatisticsSpecified = 1566, + LeaderboardNotFound = 1567, + TokenSigningKeyNotFound = 1568, MatchmakingEntityInvalid = 2001, MatchmakingPlayerAttributesInvalid = 2002, MatchmakingQueueNotFound = 2016, @@ -603,6 +608,7 @@ enum class ServiceErrorCode CatalogItemTypeInvalid = 4012, CatalogBadRequest = 4013, CatalogTooManyRequests = 4014, + InvalidCatalogItemConfiguration = 4015, ExportInvalidStatusUpdate = 5000, ExportInvalidPrefix = 5001, ExportBlobContainerDoesNotExist = 5002, @@ -704,6 +710,12 @@ enum class ServiceErrorCode LobbyNewOwnerMustBeConnected = 13009, LobbyCurrentOwnerStillConnected = 13010, LobbyMemberIsNotOwner = 13011, + LobbyServerMismatch = 13012, + LobbyServerNotFound = 13013, + LobbyDifferentServerAlreadyJoined = 13014, + LobbyServerAlreadyJoined = 13015, + LobbyIsNotClientOwned = 13016, + LobbyDoesNotUseConnections = 13017, EventSamplingInvalidRatio = 14000, EventSamplingInvalidEventNamespace = 14001, EventSamplingInvalidEventName = 14002, @@ -727,6 +739,9 @@ enum class ServiceErrorCode EventSinkTenantNotFound = 15009, EventSinkAadNotFound = 15010, EventSinkDatabaseNotFound = 15011, + EventSinkTitleUnauthorized = 15012, + EventSinkInsufficientRoleAssignment = 15013, + EventSinkContainerNotFound = 15014, OperationCanceled = 16000, InvalidDisplayNameRandomSuffixLength = 17000, AllowNonUniquePlayerDisplayNamesDisableNotAllowed = 17001, @@ -747,6 +762,25 @@ enum class ServiceErrorCode PlayerCustomPropertiesPropertyDoesNotExist = 19007, AddonAlreadyExists = 19008, AddonDoesntExist = 19009, + CopilotDisabled = 19100, + CopilotInvalidRequest = 19101, + TrueSkillUnauthorized = 20000, + TrueSkillBadRequest = 20001, + TrueSkillMatchResultAlreadySubmitted = 20002, + TrueSkillDuplicatePlayerInMatchResult = 20003, + TrueSkillInvalidRanksInMatchResult = 20004, + TrueSkillNoWinnerInMatchResult = 20005, + TrueSkillMissingRequiredConditionInMatchResult = 20006, + TrueSkillMissingRequiredEventInMatchResult = 20007, + TrueSkillUnknownEventInMatchResult = 20008, + TrueSkillUnknownConditionName = 20009, + TrueSkillUnknownConditionValue = 20010, + TrueSkillUnknownScenarioId = 20011, + TrueSkillUnknownModelId = 20012, + TrueSkillNoActiveModelInScenario = 20013, + StateShareUnauthorized = 21000, + StateShareStateNotFound = 21001, + StateShareLinkNotFound = 21002, }; HRESULT ServiceErrorToHR(ServiceErrorCode errorCode); diff --git a/Source/PlayFabSharedInternal/Include/Linux/PlatformUser_Linux.h b/Source/PlayFabSharedInternal/Include/Linux/PlatformUser_Linux.h new file mode 100644 index 0000000..33a7606 --- /dev/null +++ b/Source/PlayFabSharedInternal/Include/Linux/PlatformUser_Linux.h @@ -0,0 +1,23 @@ +#pragma once + +#include "PlatformUser.h" + +namespace PlayFab +{ +namespace Platform +{ + +class User : public std::enable_shared_from_this +{ +public: + User(User const&) = delete; + User(User&&) noexcept; + User& operator=(User const&) = delete; + ~User() noexcept; + User() noexcept; +}; + +using UserPtr = SharedPtr; + +} +} diff --git a/Source/PlayFabSharedInternal/Include/ModelBuffer.h b/Source/PlayFabSharedInternal/Include/ModelBuffer.h index f454dcf..ddd1b62 100644 --- a/Source/PlayFabSharedInternal/Include/ModelBuffer.h +++ b/Source/PlayFabSharedInternal/Include/ModelBuffer.h @@ -87,7 +87,7 @@ Result ModelBuffer::CopyTo(const T* input) // Copy auto outputPtr = allocResult.ExtractPayload(); *outputPtr = *input; - return outputPtr; + return std::move(outputPtr); } else { @@ -108,7 +108,7 @@ Result ModelBuffer::CopyTo(const typename T::Model auto outputPtr = allocResult.ExtractPayload(); RETURN_IF_FAILED(T::Copy(*input, *outputPtr, *this)); - return outputPtr; + return std::move(outputPtr); } else { @@ -129,7 +129,7 @@ Result ModelBuffer::CopyToArray(const T* input, size_t inputCount) auto outputPtr = allocResult.ExtractPayload(); std::memcpy(outputPtr, input, sizeof(T) * inputCount); - return outputPtr; + return std::move(outputPtr); } else { @@ -154,7 +154,7 @@ Result ModelBuffer::CopyToArray(typename T: RETURN_IF_FAILED(copyResult.hr); outputPtr[i] = copyResult.ExtractPayload(); } - return outputPtr; + return std::move(outputPtr); } else { @@ -180,7 +180,7 @@ Result ModelBuffer::CopyToDictionary(const T* input, size_t inputCount outputPtr[i].key = copyKeyResult.ExtractPayload(); outputPtr[i].value = input[i].value; } - return outputPtr; + return std::move(outputPtr); } else { @@ -209,7 +209,7 @@ Result ModelBuffer:: RETURN_IF_FAILED(copyValueResult.hr); outputPtr[i].value = copyValueResult.ExtractPayload(); } - return outputPtr; + return std::move(outputPtr); } else { diff --git a/Source/PlayFabSharedInternal/Include/SdkVersion.h b/Source/PlayFabSharedInternal/Include/SdkVersion.h index a503f5f..e147668 100644 --- a/Source/PlayFabSharedInternal/Include/SdkVersion.h +++ b/Source/PlayFabSharedInternal/Include/SdkVersion.h @@ -2,7 +2,19 @@ namespace PlayFab { -constexpr char sdkVersion[] = "2310.0.1.230927"; // format: release YYMM.release qfe#.date in YYMMDD +constexpr char sdkVersion[] = "2403.0.0.240215"; // format: release YYMM.release qfe#.date in YYMMDD constexpr char versionString[] = "PFCSdk-"; constexpr char userAgent[] = "PFCSdk/"; + +constexpr char win32Plat[] = "WIN32"; +constexpr char gdkPlat[] = "GDK"; +constexpr char nintendoPlat[] = "NINTENDO"; +constexpr char ps4Plat[] = "SONY_PLAYSTATION_4"; +constexpr char ps5Plat[] = "SONY_PLAYSTATION_5"; +constexpr char linuxPlat[] = "LINUX"; +constexpr char iosPlat[] = "IOS"; +constexpr char macosPlat[] = "MACOS"; +constexpr char androidPlat[] = "ANDROID"; + +constexpr char buildOrigin[] = "SOURCE"; } diff --git a/Source/PlayFabSharedInternal/Include/Types.h b/Source/PlayFabSharedInternal/Include/Types.h index b35ff65..1f61f0c 100644 --- a/Source/PlayFabSharedInternal/Include/Types.h +++ b/Source/PlayFabSharedInternal/Include/Types.h @@ -14,6 +14,22 @@ namespace PlayFab { +template> +using BasicString = std::basic_string>; +using String = BasicString; +using WString = BasicString; + +template> +using BasicStringsteam = std::basic_stringstream>; +using Stringstream = BasicStringsteam; +using WStringstream = BasicStringsteam; + +template +struct Hash : public std::hash{}; + +template +struct Hash> : public std::hash>{}; + template using Vector = std::vector>; @@ -23,22 +39,12 @@ using Map = std::map>>; template> using Set = std::set>; -template, class EQUAL = std::equal_to> +template, class EQUAL = std::equal_to> using UnorderedMap = std::unordered_map>>; -template, class EQUAL = std::equal_to> +template, class EQUAL = std::equal_to> using UnorderedSet = std::unordered_set>; -template> -using BasicString = std::basic_string>; -using String = BasicString; -using WString = BasicString; - -template> -using BasicStringsteam = std::basic_stringstream>; -using Stringstream = BasicStringsteam; -using WStringstream = BasicStringsteam; - template using Deque = std::deque>; diff --git a/Source/PlayFabSharedInternal/Source/Apple/PlatformUser_Apple.cpp b/Source/PlayFabSharedInternal/Source/Apple/PlatformUser_Apple.cpp new file mode 100644 index 0000000..44f0652 --- /dev/null +++ b/Source/PlayFabSharedInternal/Source/Apple/PlatformUser_Apple.cpp @@ -0,0 +1,31 @@ +#include "pch.h" +#include "PlatformUser_Apple.h" +#include + +namespace PlayFab +{ +namespace Platform +{ + +Result User::GetUserIdentityToken() const noexcept +{ + std::string identityToken = ""; + const char* token = GetIdentityToken(); + identityToken = token; + return String{ identityToken }; +} + +AsyncOp User::GetUserIdentityToken(RunContext rc) const noexcept +{ + auto asyncOpContext = MakeShared>(); + + rc.TaskQueueSubmitWork([asyncOpContext, this](void) + { + asyncOpContext->Complete(this->GetUserIdentityToken()); + }); + + return asyncOpContext; +} + +} +} diff --git a/Source/PlayFabSharedInternal/Source/Generated/Error.cpp b/Source/PlayFabSharedInternal/Source/Generated/Error.cpp index 99b7149..1d79b91 100644 --- a/Source/PlayFabSharedInternal/Source/Generated/Error.cpp +++ b/Source/PlayFabSharedInternal/Source/Generated/Error.cpp @@ -560,6 +560,11 @@ HRESULT ServiceErrorToHR(ServiceErrorCode errorCode) case ServiceErrorCode::InvalidNamespaceMismatch: return E_PF_INVALID_NAMESPACE_MISMATCH; case ServiceErrorCode::LeaderboardColumnLengthMismatch: return E_PF_LEADERBOARD_COLUMN_LENGTH_MISMATCH; case ServiceErrorCode::InvalidStatisticScore: return E_PF_INVALID_STATISTIC_SCORE; + case ServiceErrorCode::LeaderboardColumnsNotSpecified: return E_PF_LEADERBOARD_COLUMNS_NOT_SPECIFIED; + case ServiceErrorCode::LeaderboardMaxSizeTooLarge: return E_PF_LEADERBOARD_MAX_SIZE_TOO_LARGE; + case ServiceErrorCode::InvalidAttributeStatisticsSpecified: return E_PF_INVALID_ATTRIBUTE_STATISTICS_SPECIFIED; + case ServiceErrorCode::LeaderboardNotFound: return E_PF_LEADERBOARD_NOT_FOUND; + case ServiceErrorCode::TokenSigningKeyNotFound: return E_PF_TOKEN_SIGNING_KEY_NOT_FOUND; case ServiceErrorCode::MatchmakingEntityInvalid: return E_PF_MATCHMAKING_ENTITY_INVALID; case ServiceErrorCode::MatchmakingPlayerAttributesInvalid: return E_PF_MATCHMAKING_PLAYER_ATTRIBUTES_INVALID; case ServiceErrorCode::MatchmakingQueueNotFound: return E_PF_MATCHMAKING_QUEUE_NOT_FOUND; @@ -603,6 +608,7 @@ HRESULT ServiceErrorToHR(ServiceErrorCode errorCode) case ServiceErrorCode::CatalogItemTypeInvalid: return E_PF_CATALOG_ITEM_TYPE_INVALID; case ServiceErrorCode::CatalogBadRequest: return E_PF_CATALOG_BAD_REQUEST; case ServiceErrorCode::CatalogTooManyRequests: return E_PF_CATALOG_TOO_MANY_REQUESTS; + case ServiceErrorCode::InvalidCatalogItemConfiguration: return E_PF_INVALID_CATALOG_ITEM_CONFIGURATION; case ServiceErrorCode::ExportInvalidStatusUpdate: return E_PF_EXPORT_INVALID_STATUS_UPDATE; case ServiceErrorCode::ExportInvalidPrefix: return E_PF_EXPORT_INVALID_PREFIX; case ServiceErrorCode::ExportBlobContainerDoesNotExist: return E_PF_EXPORT_BLOB_CONTAINER_DOES_NOT_EXIST; @@ -704,6 +710,12 @@ HRESULT ServiceErrorToHR(ServiceErrorCode errorCode) case ServiceErrorCode::LobbyNewOwnerMustBeConnected: return E_PF_LOBBY_NEW_OWNER_MUST_BE_CONNECTED; case ServiceErrorCode::LobbyCurrentOwnerStillConnected: return E_PF_LOBBY_CURRENT_OWNER_STILL_CONNECTED; case ServiceErrorCode::LobbyMemberIsNotOwner: return E_PF_LOBBY_MEMBER_IS_NOT_OWNER; + case ServiceErrorCode::LobbyServerMismatch: return E_PF_LOBBY_SERVER_MISMATCH; + case ServiceErrorCode::LobbyServerNotFound: return E_PF_LOBBY_SERVER_NOT_FOUND; + case ServiceErrorCode::LobbyDifferentServerAlreadyJoined: return E_PF_LOBBY_DIFFERENT_SERVER_ALREADY_JOINED; + case ServiceErrorCode::LobbyServerAlreadyJoined: return E_PF_LOBBY_SERVER_ALREADY_JOINED; + case ServiceErrorCode::LobbyIsNotClientOwned: return E_PF_LOBBY_IS_NOT_CLIENT_OWNED; + case ServiceErrorCode::LobbyDoesNotUseConnections: return E_PF_LOBBY_DOES_NOT_USE_CONNECTIONS; case ServiceErrorCode::EventSamplingInvalidRatio: return E_PF_EVENT_SAMPLING_INVALID_RATIO; case ServiceErrorCode::EventSamplingInvalidEventNamespace: return E_PF_EVENT_SAMPLING_INVALID_EVENT_NAMESPACE; case ServiceErrorCode::EventSamplingInvalidEventName: return E_PF_EVENT_SAMPLING_INVALID_EVENT_NAME; @@ -727,6 +739,9 @@ HRESULT ServiceErrorToHR(ServiceErrorCode errorCode) case ServiceErrorCode::EventSinkTenantNotFound: return E_PF_EVENT_SINK_TENANT_NOT_FOUND; case ServiceErrorCode::EventSinkAadNotFound: return E_PF_EVENT_SINK_AAD_NOT_FOUND; case ServiceErrorCode::EventSinkDatabaseNotFound: return E_PF_EVENT_SINK_DATABASE_NOT_FOUND; + case ServiceErrorCode::EventSinkTitleUnauthorized: return E_PF_EVENT_SINK_TITLE_UNAUTHORIZED; + case ServiceErrorCode::EventSinkInsufficientRoleAssignment: return E_PF_EVENT_SINK_INSUFFICIENT_ROLE_ASSIGNMENT; + case ServiceErrorCode::EventSinkContainerNotFound: return E_PF_EVENT_SINK_CONTAINER_NOT_FOUND; case ServiceErrorCode::OperationCanceled: return E_PF_OPERATION_CANCELED; case ServiceErrorCode::InvalidDisplayNameRandomSuffixLength: return E_PF_INVALID_DISPLAY_NAME_RANDOM_SUFFIX_LENGTH; case ServiceErrorCode::AllowNonUniquePlayerDisplayNamesDisableNotAllowed: return E_PF_ALLOW_NON_UNIQUE_PLAYER_DISPLAY_NAMES_DISABLE_NOT_ALLOWED; @@ -747,6 +762,25 @@ HRESULT ServiceErrorToHR(ServiceErrorCode errorCode) case ServiceErrorCode::PlayerCustomPropertiesPropertyDoesNotExist: return E_PF_PLAYER_CUSTOM_PROPERTIES_PROPERTY_DOES_NOT_EXIST; case ServiceErrorCode::AddonAlreadyExists: return E_PF_ADDON_ALREADY_EXISTS; case ServiceErrorCode::AddonDoesntExist: return E_PF_ADDON_DOESNT_EXIST; + case ServiceErrorCode::CopilotDisabled: return E_PF_COPILOT_DISABLED; + case ServiceErrorCode::CopilotInvalidRequest: return E_PF_COPILOT_INVALID_REQUEST; + case ServiceErrorCode::TrueSkillUnauthorized: return E_PF_TRUE_SKILL_UNAUTHORIZED; + case ServiceErrorCode::TrueSkillBadRequest: return E_PF_TRUE_SKILL_BAD_REQUEST; + case ServiceErrorCode::TrueSkillMatchResultAlreadySubmitted: return E_PF_TRUE_SKILL_MATCH_RESULT_ALREADY_SUBMITTED; + case ServiceErrorCode::TrueSkillDuplicatePlayerInMatchResult: return E_PF_TRUE_SKILL_DUPLICATE_PLAYER_IN_MATCH_RESULT; + case ServiceErrorCode::TrueSkillInvalidRanksInMatchResult: return E_PF_TRUE_SKILL_INVALID_RANKS_IN_MATCH_RESULT; + case ServiceErrorCode::TrueSkillNoWinnerInMatchResult: return E_PF_TRUE_SKILL_NO_WINNER_IN_MATCH_RESULT; + case ServiceErrorCode::TrueSkillMissingRequiredConditionInMatchResult: return E_PF_TRUE_SKILL_MISSING_REQUIRED_CONDITION_IN_MATCH_RESULT; + case ServiceErrorCode::TrueSkillMissingRequiredEventInMatchResult: return E_PF_TRUE_SKILL_MISSING_REQUIRED_EVENT_IN_MATCH_RESULT; + case ServiceErrorCode::TrueSkillUnknownEventInMatchResult: return E_PF_TRUE_SKILL_UNKNOWN_EVENT_IN_MATCH_RESULT; + case ServiceErrorCode::TrueSkillUnknownConditionName: return E_PF_TRUE_SKILL_UNKNOWN_CONDITION_NAME; + case ServiceErrorCode::TrueSkillUnknownConditionValue: return E_PF_TRUE_SKILL_UNKNOWN_CONDITION_VALUE; + case ServiceErrorCode::TrueSkillUnknownScenarioId: return E_PF_TRUE_SKILL_UNKNOWN_SCENARIO_ID; + case ServiceErrorCode::TrueSkillUnknownModelId: return E_PF_TRUE_SKILL_UNKNOWN_MODEL_ID; + case ServiceErrorCode::TrueSkillNoActiveModelInScenario: return E_PF_TRUE_SKILL_NO_ACTIVE_MODEL_IN_SCENARIO; + case ServiceErrorCode::StateShareUnauthorized: return E_PF_STATE_SHARE_UNAUTHORIZED; + case ServiceErrorCode::StateShareStateNotFound: return E_PF_STATE_SHARE_STATE_NOT_FOUND; + case ServiceErrorCode::StateShareLinkNotFound: return E_PF_STATE_SHARE_LINK_NOT_FOUND; default: return E_PF_UNKNOWN_ERROR; } } diff --git a/Source/PlayFabSharedInternal/Source/HttpRequest.cpp b/Source/PlayFabSharedInternal/Source/HttpRequest.cpp index c70e5b9..8f9a7c3 100644 --- a/Source/PlayFabSharedInternal/Source/HttpRequest.cpp +++ b/Source/PlayFabSharedInternal/Source/HttpRequest.cpp @@ -113,7 +113,7 @@ HRESULT HCHttpCall::OnStarted(XAsyncBlock* async) noexcept RETURN_IF_FAILED(PFHCHttpCallRequestSetUrl(m_callHandle, m_method.data(), m_url.data())); RETURN_IF_FAILED(PFHCHttpCallResponseSetResponseBodyWriteFunction(m_callHandle, HCHttpCall::HCResponseBodyWrite, this)); -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC // Setup Compression level RETURN_IF_FAILED(PFHCHttpCallRequestEnableGzipCompression(m_callHandle, m_compressionLevel)); #else diff --git a/Source/PlayFabSharedInternal/Source/Linux/PlatformUser_Linux.cpp b/Source/PlayFabSharedInternal/Source/Linux/PlatformUser_Linux.cpp new file mode 100644 index 0000000..6c4fb42 --- /dev/null +++ b/Source/PlayFabSharedInternal/Source/Linux/PlatformUser_Linux.cpp @@ -0,0 +1,18 @@ +#include "pch.h" +#include "Linux/PlatformUser_Linux.h" + +namespace PlayFab +{ +namespace Platform +{ + +User::User() noexcept +{ +} + +User::~User() noexcept +{ +} + +} // namespace Platform +} // namespace PlayFab diff --git a/Source/PlayFabSharedInternal/Source/ModelBuffer.cpp b/Source/PlayFabSharedInternal/Source/ModelBuffer.cpp index 92b3511..1dbcfda 100644 --- a/Source/PlayFabSharedInternal/Source/ModelBuffer.cpp +++ b/Source/PlayFabSharedInternal/Source/ModelBuffer.cpp @@ -33,7 +33,7 @@ Result ModelBuffer::CopyTo(const char* input) auto error = strcpy_s(outputPtr, bytesNeeded, input); RETURN_HR_IF(E_FAIL, error); - return outputPtr; + return std::move(outputPtr); #else return std::strcpy(outputPtr, input); #endif @@ -60,7 +60,7 @@ Result ModelBuffer::CopyToArray(const char* const* input, si RETURN_IF_FAILED(copyResult.hr); outputPtr[i] = copyResult.ExtractPayload(); } - return outputPtr; + return std::move(outputPtr); } else { @@ -88,7 +88,7 @@ Result ModelBuffer::CopyToDictionary(PFStringDic RETURN_IF_FAILED(copyValueResult.hr); outputPtr[i].value = copyValueResult.ExtractPayload(); } - return outputPtr; + return std::move(outputPtr); } else { diff --git a/Test/PlayFabCore.UnitTests/Tests/EventPipelineTests.cpp b/Test/PlayFabCore.UnitTests/Tests/EventPipelineTests.cpp index 6e9cba7..095f317 100644 --- a/Test/PlayFabCore.UnitTests/Tests/EventPipelineTests.cpp +++ b/Test/PlayFabCore.UnitTests/Tests/EventPipelineTests.cpp @@ -26,31 +26,46 @@ TEST_CLASS(EventPipelineTests) //PlayFabServiceMock loginMock{serviceConfig, "LoginWithCustomID"}; + ////const char* titleId = "AADE6"; + ////const char* endpoint = "https://AADE6.playfabapi.com"; + ////const char* customId = "TestIntegrationLoginCustomId"; + + ////PFServiceConfigHandle serviceConfigHandle{ nullptr }; + ////HRESULT hr = PFServiceConfigCreateHandle( + //// endpoint, + //// titleId, + //// &serviceConfigHandle); + ////std::cout << hr; + //// Synchronously authenticate //XAsyncBlock async{}; //PFAuthenticationLoginWithCustomIDRequest request{}; + ////request.createAccount = true; + ////request.customId = customId; //VERIFY_SUCCEEDED(PFAuthenticationLoginWithCustomIDAsync(serviceConfig.Handle(), &request, &async)); //VERIFY_SUCCEEDED(XAsyncGetStatus(&async, true)); //PFEntityHandle entityHandle{ nullptr }; //VERIFY_SUCCEEDED(PFAuthenticationLoginWithCustomIDGetResult(&async, &entityHandle, 0, nullptr, nullptr, nullptr)); //auto entity = Wrappers::Entity<>::Wrap(entityHandle); - //Wrappers::TelemetryPipeline pipeline{ entity.Handle(), nullptr }; - //PlayFabServiceMock writeEventsMock{ serviceConfig, "WriteEvents" }; //AsyncTestContext tc; //writeEventsMock.SetCallback([&](PlayFabServiceMock& mock, std::string url, std::string requestBody, uint32_t hitCount) - //{ - // rapidjson::Document requestJson; - // requestJson.Parse(requestBody.data()); - // rapidjson::Document payloadJson; - // payloadJson.Parse(requestJson["Events"][0]["PayloadJSON"].GetString()); - // tc.Assert(payloadJson["eventId"].GetInt() == 0); - // tc.Complete(); - //}); - - //PFTelemetryEvent event + // { + // rapidjson::Document requestJson; + // requestJson.Parse(requestBody.data()); + // rapidjson::Document payloadJson; + // payloadJson.Parse(requestJson["Events"][0]["PayloadJSON"].GetString()); + // tc.Assert(payloadJson["eventId"].GetInt() == 0); + // std::cout << hitCount << url; + // mock.JsonAllocator(); + // tc.Complete(); + // }); + // + //PFEventPipelineHandle eventsHandle; + //VERIFY_SUCCEEDED(PFEventPipelineCreateTelemetryPipelineHandleWithEntity(entityHandle, nullptr, nullptr, nullptr, nullptr, &eventsHandle)); + //PFEvent event //{ // nullptr, // "playfab.core", @@ -59,7 +74,7 @@ TEST_CLASS(EventPipelineTests) // kTestEventTemplate //}; - //pipeline.EmitEvent(&event); + //VERIFY_SUCCEEDED(PFEventPipelineEmitEvent(eventsHandle, &event)); //tc.AwaitResult(); } diff --git a/Test/PlayFabServices.GeneratedApiWrappers/AccountManagementOperations.cpp b/Test/PlayFabServices.GeneratedApiWrappers/AccountManagementOperations.cpp index f656127..e0a1917 100644 --- a/Test/PlayFabServices.GeneratedApiWrappers/AccountManagementOperations.cpp +++ b/Test/PlayFabServices.GeneratedApiWrappers/AccountManagementOperations.cpp @@ -7,7 +7,7 @@ namespace PlayFab namespace Test { -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ClientAddOrUpdateContactEmailOperation::ClientAddOrUpdateContactEmailOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -28,7 +28,7 @@ HRESULT ClientAddOrUpdateContactEmailOperation::OnStarted(XAsyncBlock* async) no #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ClientAddUsernamePasswordOperation::ClientAddUsernamePasswordOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -142,7 +142,7 @@ Result ClientGetPlayerProfileOperat return ResultType{ *result }; } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC ClientGetPlayFabIDsFromFacebookIDsOperation::ClientGetPlayFabIDsFromFacebookIDsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -172,7 +172,7 @@ Result ClientGetPlayFab } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ClientGetPlayFabIDsFromFacebookInstantGamesIdsOperation::ClientGetPlayFabIDsFromFacebookInstantGamesIdsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -202,7 +202,7 @@ Result Clie } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC ClientGetPlayFabIDsFromGameCenterIDsOperation::ClientGetPlayFabIDsFromGameCenterIDsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -232,7 +232,7 @@ Result ClientGetPlayF } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC ClientGetPlayFabIDsFromGoogleIDsOperation::ClientGetPlayFabIDsFromGoogleIDsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -262,7 +262,7 @@ Result ClientGetPlayFabID } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC ClientGetPlayFabIDsFromGooglePlayGamesPlayerIDsOperation::ClientGetPlayFabIDsFromGooglePlayGamesPlayerIDsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -292,7 +292,7 @@ Result Cli } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ClientGetPlayFabIDsFromKongregateIDsOperation::ClientGetPlayFabIDsFromKongregateIDsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -322,7 +322,7 @@ Result ClientGetPlayF } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ClientGetPlayFabIDsFromNintendoServiceAccountIdsOperation::ClientGetPlayFabIDsFromNintendoServiceAccountIdsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -352,7 +352,7 @@ Result Cl } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ClientGetPlayFabIDsFromNintendoSwitchDeviceIdsOperation::ClientGetPlayFabIDsFromNintendoSwitchDeviceIdsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -382,7 +382,7 @@ Result Clie } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ClientGetPlayFabIDsFromPSNAccountIDsOperation::ClientGetPlayFabIDsFromPSNAccountIDsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -412,7 +412,37 @@ Result ClientGetPlayF } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if 0 + +ClientGetPlayFabIDsFromPSNOnlineIDsOperation::ClientGetPlayFabIDsFromPSNOnlineIDsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : + XAsyncOperation{ std::move(rc) }, + m_entity{ std::move(entity) }, + m_request{ std::move(request) } +{ +} + +AsyncOp ClientGetPlayFabIDsFromPSNOnlineIDsOperation::Run(Entity entity, RequestType request, PlayFab::RunContext rc) noexcept +{ + return RunOperation(MakeUnique(std::move(entity), std::move(request), std::move(rc))); +} + +HRESULT ClientGetPlayFabIDsFromPSNOnlineIDsOperation::OnStarted(XAsyncBlock* async) noexcept +{ + return PFAccountManagementClientGetPlayFabIDsFromPSNOnlineIDsAsync(m_entity.Handle(), &m_request.Model(), async); +} + +Result ClientGetPlayFabIDsFromPSNOnlineIDsOperation::GetResult(XAsyncBlock* async) noexcept +{ + size_t resultSize; + RETURN_IF_FAILED(PFAccountManagementClientGetPlayFabIDsFromPSNOnlineIDsGetResultSize(async, &resultSize)); + Vector resultBuffer(resultSize); + PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResult* result; + RETURN_IF_FAILED(PFAccountManagementClientGetPlayFabIDsFromPSNOnlineIDsGetResult(async, resultBuffer.size(), resultBuffer.data(), &result, nullptr)); + return ResultType{ *result }; +} +#endif + +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ClientGetPlayFabIDsFromSteamIDsOperation::ClientGetPlayFabIDsFromSteamIDsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -442,7 +472,7 @@ Result ClientGetPlayFabIDs } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ClientGetPlayFabIDsFromTwitchIDsOperation::ClientGetPlayFabIDsFromTwitchIDsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -472,7 +502,7 @@ Result ClientGetPlayFabID } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ClientGetPlayFabIDsFromXboxLiveIDsOperation::ClientGetPlayFabIDsFromXboxLiveIDsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -502,7 +532,7 @@ Result ClientGetPlayFab } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC ClientLinkAndroidDeviceIDOperation::ClientLinkAndroidDeviceIDOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -523,7 +553,7 @@ HRESULT ClientLinkAndroidDeviceIDOperation::OnStarted(XAsyncBlock* async) noexce #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC ClientLinkAppleOperation::ClientLinkAppleOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -563,7 +593,7 @@ HRESULT ClientLinkCustomIDOperation::OnStarted(XAsyncBlock* async) noexcept } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC ClientLinkFacebookAccountOperation::ClientLinkFacebookAccountOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -584,7 +614,7 @@ HRESULT ClientLinkFacebookAccountOperation::OnStarted(XAsyncBlock* async) noexce #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ClientLinkFacebookInstantGamesIdOperation::ClientLinkFacebookInstantGamesIdOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -605,7 +635,7 @@ HRESULT ClientLinkFacebookInstantGamesIdOperation::OnStarted(XAsyncBlock* async) #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC ClientLinkGameCenterAccountOperation::ClientLinkGameCenterAccountOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -626,7 +656,7 @@ HRESULT ClientLinkGameCenterAccountOperation::OnStarted(XAsyncBlock* async) noex #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC ClientLinkGoogleAccountOperation::ClientLinkGoogleAccountOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -647,7 +677,7 @@ HRESULT ClientLinkGoogleAccountOperation::OnStarted(XAsyncBlock* async) noexcept #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC ClientLinkGooglePlayGamesServicesAccountOperation::ClientLinkGooglePlayGamesServicesAccountOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -668,7 +698,7 @@ HRESULT ClientLinkGooglePlayGamesServicesAccountOperation::OnStarted(XAsyncBlock #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ClientLinkIOSDeviceIDOperation::ClientLinkIOSDeviceIDOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -689,7 +719,7 @@ HRESULT ClientLinkIOSDeviceIDOperation::OnStarted(XAsyncBlock* async) noexcept #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ClientLinkKongregateOperation::ClientLinkKongregateOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -710,7 +740,7 @@ HRESULT ClientLinkKongregateOperation::OnStarted(XAsyncBlock* async) noexcept #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ClientLinkNintendoServiceAccountOperation::ClientLinkNintendoServiceAccountOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -731,7 +761,7 @@ HRESULT ClientLinkNintendoServiceAccountOperation::OnStarted(XAsyncBlock* async) #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ClientLinkNintendoSwitchDeviceIdOperation::ClientLinkNintendoSwitchDeviceIdOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -771,7 +801,7 @@ HRESULT ClientLinkOpenIdConnectOperation::OnStarted(XAsyncBlock* async) noexcept } -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 || HC_PLATFORM == HC_PLATFORM_MAC ClientLinkPSNAccountOperation::ClientLinkPSNAccountOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -792,7 +822,7 @@ HRESULT ClientLinkPSNAccountOperation::OnStarted(XAsyncBlock* async) noexcept #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ClientLinkSteamAccountOperation::ClientLinkSteamAccountOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -813,7 +843,7 @@ HRESULT ClientLinkSteamAccountOperation::OnStarted(XAsyncBlock* async) noexcept #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ClientLinkTwitchOperation::ClientLinkTwitchOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -834,7 +864,7 @@ HRESULT ClientLinkTwitchOperation::OnStarted(XAsyncBlock* async) noexcept #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ClientLinkXboxAccountOperation::ClientLinkXboxAccountOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -855,7 +885,7 @@ HRESULT ClientLinkXboxAccountOperation::OnStarted(XAsyncBlock* async) noexcept #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ClientRemoveContactEmailOperation::ClientRemoveContactEmailOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -901,7 +931,7 @@ Result ClientReportPlayerOperation::Get return ResultType{ result }; } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ClientSendAccountRecoveryEmailOperation::ClientSendAccountRecoveryEmailOperation(ServiceConfig serviceConfig, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -922,7 +952,7 @@ HRESULT ClientSendAccountRecoveryEmailOperation::OnStarted(XAsyncBlock* async) n #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC ClientUnlinkAndroidDeviceIDOperation::ClientUnlinkAndroidDeviceIDOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -943,7 +973,7 @@ HRESULT ClientUnlinkAndroidDeviceIDOperation::OnStarted(XAsyncBlock* async) noex #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC ClientUnlinkAppleOperation::ClientUnlinkAppleOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -983,7 +1013,7 @@ HRESULT ClientUnlinkCustomIDOperation::OnStarted(XAsyncBlock* async) noexcept } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC ClientUnlinkFacebookAccountOperation::ClientUnlinkFacebookAccountOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1004,7 +1034,7 @@ HRESULT ClientUnlinkFacebookAccountOperation::OnStarted(XAsyncBlock* async) noex #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ClientUnlinkFacebookInstantGamesIdOperation::ClientUnlinkFacebookInstantGamesIdOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1025,7 +1055,7 @@ HRESULT ClientUnlinkFacebookInstantGamesIdOperation::OnStarted(XAsyncBlock* asyn #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC ClientUnlinkGameCenterAccountOperation::ClientUnlinkGameCenterAccountOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1046,7 +1076,7 @@ HRESULT ClientUnlinkGameCenterAccountOperation::OnStarted(XAsyncBlock* async) no #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC ClientUnlinkGoogleAccountOperation::ClientUnlinkGoogleAccountOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1067,7 +1097,7 @@ HRESULT ClientUnlinkGoogleAccountOperation::OnStarted(XAsyncBlock* async) noexce #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC ClientUnlinkGooglePlayGamesServicesAccountOperation::ClientUnlinkGooglePlayGamesServicesAccountOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1088,7 +1118,7 @@ HRESULT ClientUnlinkGooglePlayGamesServicesAccountOperation::OnStarted(XAsyncBlo #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ClientUnlinkIOSDeviceIDOperation::ClientUnlinkIOSDeviceIDOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1109,7 +1139,7 @@ HRESULT ClientUnlinkIOSDeviceIDOperation::OnStarted(XAsyncBlock* async) noexcept #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ClientUnlinkKongregateOperation::ClientUnlinkKongregateOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1130,7 +1160,7 @@ HRESULT ClientUnlinkKongregateOperation::OnStarted(XAsyncBlock* async) noexcept #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ClientUnlinkNintendoServiceAccountOperation::ClientUnlinkNintendoServiceAccountOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1151,7 +1181,7 @@ HRESULT ClientUnlinkNintendoServiceAccountOperation::OnStarted(XAsyncBlock* asyn #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ClientUnlinkNintendoSwitchDeviceIdOperation::ClientUnlinkNintendoSwitchDeviceIdOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1191,7 +1221,7 @@ HRESULT ClientUnlinkOpenIdConnectOperation::OnStarted(XAsyncBlock* async) noexce } -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ClientUnlinkPSNAccountOperation::ClientUnlinkPSNAccountOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1212,7 +1242,7 @@ HRESULT ClientUnlinkPSNAccountOperation::OnStarted(XAsyncBlock* async) noexcept #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ClientUnlinkSteamAccountOperation::ClientUnlinkSteamAccountOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1233,7 +1263,7 @@ HRESULT ClientUnlinkSteamAccountOperation::OnStarted(XAsyncBlock* async) noexcep #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ClientUnlinkTwitchOperation::ClientUnlinkTwitchOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1254,7 +1284,7 @@ HRESULT ClientUnlinkTwitchOperation::OnStarted(XAsyncBlock* async) noexcept #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ClientUnlinkXboxAccountOperation::ClientUnlinkXboxAccountOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1294,7 +1324,7 @@ HRESULT ClientUpdateAvatarUrlOperation::OnStarted(XAsyncBlock* async) noexcept } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ClientUpdateUserTitleDisplayNameOperation::ClientUpdateUserTitleDisplayNameOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1324,7 +1354,7 @@ Result ClientUpdateUserTi } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerBanUsersOperation::ServerBanUsersOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1354,7 +1384,7 @@ Result ServerBanUsersOperation::GetResult(X } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerDeletePlayerOperation::ServerDeletePlayerOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1375,7 +1405,7 @@ HRESULT ServerDeletePlayerOperation::OnStarted(XAsyncBlock* async) noexcept #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerGetPlayerCombinedInfoOperation::ServerGetPlayerCombinedInfoOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1405,7 +1435,7 @@ Result ServerGetPlayerCombined } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerGetPlayerProfileOperation::ServerGetPlayerProfileOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1435,7 +1465,7 @@ Result ServerGetPlayerProfileOperat } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerGetPlayFabIDsFromFacebookIDsOperation::ServerGetPlayFabIDsFromFacebookIDsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1465,7 +1495,7 @@ Result ServerGetPlayFab } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerGetPlayFabIDsFromFacebookInstantGamesIdsOperation::ServerGetPlayFabIDsFromFacebookInstantGamesIdsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1495,7 +1525,7 @@ Result Serv } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerGetPlayFabIDsFromNintendoServiceAccountIdsOperation::ServerGetPlayFabIDsFromNintendoServiceAccountIdsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1525,7 +1555,7 @@ Result Se } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerGetPlayFabIDsFromNintendoSwitchDeviceIdsOperation::ServerGetPlayFabIDsFromNintendoSwitchDeviceIdsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1555,7 +1585,7 @@ Result Serv } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerGetPlayFabIDsFromPSNAccountIDsOperation::ServerGetPlayFabIDsFromPSNAccountIDsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1585,7 +1615,37 @@ Result ServerGetPlayF } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if 0 + +ServerGetPlayFabIDsFromPSNOnlineIDsOperation::ServerGetPlayFabIDsFromPSNOnlineIDsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : + XAsyncOperation{ std::move(rc) }, + m_entity{ std::move(entity) }, + m_request{ std::move(request) } +{ +} + +AsyncOp ServerGetPlayFabIDsFromPSNOnlineIDsOperation::Run(Entity entity, RequestType request, PlayFab::RunContext rc) noexcept +{ + return RunOperation(MakeUnique(std::move(entity), std::move(request), std::move(rc))); +} + +HRESULT ServerGetPlayFabIDsFromPSNOnlineIDsOperation::OnStarted(XAsyncBlock* async) noexcept +{ + return PFAccountManagementServerGetPlayFabIDsFromPSNOnlineIDsAsync(m_entity.Handle(), &m_request.Model(), async); +} + +Result ServerGetPlayFabIDsFromPSNOnlineIDsOperation::GetResult(XAsyncBlock* async) noexcept +{ + size_t resultSize; + RETURN_IF_FAILED(PFAccountManagementServerGetPlayFabIDsFromPSNOnlineIDsGetResultSize(async, &resultSize)); + Vector resultBuffer(resultSize); + PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResult* result; + RETURN_IF_FAILED(PFAccountManagementServerGetPlayFabIDsFromPSNOnlineIDsGetResult(async, resultBuffer.size(), resultBuffer.data(), &result, nullptr)); + return ResultType{ *result }; +} +#endif + +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerGetPlayFabIDsFromSteamIDsOperation::ServerGetPlayFabIDsFromSteamIDsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1615,7 +1675,7 @@ Result ServerGetPlayFabIDs } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerGetPlayFabIDsFromTwitchIDsOperation::ServerGetPlayFabIDsFromTwitchIDsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1645,7 +1705,7 @@ Result ServerGetPlayFabID } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerGetPlayFabIDsFromXboxLiveIDsOperation::ServerGetPlayFabIDsFromXboxLiveIDsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1675,7 +1735,7 @@ Result ServerGetPlayFab } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerGetServerCustomIDsFromPlayFabIDsOperation::ServerGetServerCustomIDsFromPlayFabIDsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1705,7 +1765,7 @@ Result ServerGetSer } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerGetUserAccountInfoOperation::ServerGetUserAccountInfoOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1735,7 +1795,7 @@ Result ServerGetUserAccountInfoOp } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerGetUserBansOperation::ServerGetUserBansOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1765,7 +1825,7 @@ Result ServerGetUserBansOperation::GetRe } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerLinkNintendoServiceAccountOperation::ServerLinkNintendoServiceAccountOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1786,7 +1846,7 @@ HRESULT ServerLinkNintendoServiceAccountOperation::OnStarted(XAsyncBlock* async) #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerLinkNintendoServiceAccountSubjectOperation::ServerLinkNintendoServiceAccountSubjectOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1807,7 +1867,7 @@ HRESULT ServerLinkNintendoServiceAccountSubjectOperation::OnStarted(XAsyncBlock* #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerLinkNintendoSwitchDeviceIdOperation::ServerLinkNintendoSwitchDeviceIdOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1828,7 +1888,7 @@ HRESULT ServerLinkNintendoSwitchDeviceIdOperation::OnStarted(XAsyncBlock* async) #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerLinkPSNAccountOperation::ServerLinkPSNAccountOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1870,7 +1930,7 @@ HRESULT ServerLinkPSNIdOperation::OnStarted(XAsyncBlock* async) noexcept #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerLinkServerCustomIdOperation::ServerLinkServerCustomIdOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1891,7 +1951,7 @@ HRESULT ServerLinkServerCustomIdOperation::OnStarted(XAsyncBlock* async) noexcep #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerLinkSteamIdOperation::ServerLinkSteamIdOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1912,7 +1972,7 @@ HRESULT ServerLinkSteamIdOperation::OnStarted(XAsyncBlock* async) noexcept #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerLinkXboxAccountOperation::ServerLinkXboxAccountOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1933,7 +1993,7 @@ HRESULT ServerLinkXboxAccountOperation::OnStarted(XAsyncBlock* async) noexcept #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerRevokeAllBansForUserOperation::ServerRevokeAllBansForUserOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1963,7 +2023,7 @@ Result ServerRevokeAllBansForUs } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerRevokeBansOperation::ServerRevokeBansOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -1993,7 +2053,7 @@ Result ServerRevokeBansOperation::GetResu } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerSendCustomAccountRecoveryEmailOperation::ServerSendCustomAccountRecoveryEmailOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -2014,7 +2074,7 @@ HRESULT ServerSendCustomAccountRecoveryEmailOperation::OnStarted(XAsyncBlock* as #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerSendEmailFromTemplateOperation::ServerSendEmailFromTemplateOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -2035,7 +2095,7 @@ HRESULT ServerSendEmailFromTemplateOperation::OnStarted(XAsyncBlock* async) noex #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerUnlinkNintendoServiceAccountOperation::ServerUnlinkNintendoServiceAccountOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -2056,7 +2116,7 @@ HRESULT ServerUnlinkNintendoServiceAccountOperation::OnStarted(XAsyncBlock* asyn #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerUnlinkNintendoSwitchDeviceIdOperation::ServerUnlinkNintendoSwitchDeviceIdOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -2077,7 +2137,7 @@ HRESULT ServerUnlinkNintendoSwitchDeviceIdOperation::OnStarted(XAsyncBlock* asyn #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerUnlinkPSNAccountOperation::ServerUnlinkPSNAccountOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -2098,7 +2158,7 @@ HRESULT ServerUnlinkPSNAccountOperation::OnStarted(XAsyncBlock* async) noexcept #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerUnlinkServerCustomIdOperation::ServerUnlinkServerCustomIdOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -2119,7 +2179,7 @@ HRESULT ServerUnlinkServerCustomIdOperation::OnStarted(XAsyncBlock* async) noexc #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerUnlinkSteamIdOperation::ServerUnlinkSteamIdOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -2140,7 +2200,7 @@ HRESULT ServerUnlinkSteamIdOperation::OnStarted(XAsyncBlock* async) noexcept #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerUnlinkXboxAccountOperation::ServerUnlinkXboxAccountOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -2161,7 +2221,7 @@ HRESULT ServerUnlinkXboxAccountOperation::OnStarted(XAsyncBlock* async) noexcept #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerUpdateAvatarUrlOperation::ServerUpdateAvatarUrlOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -2182,7 +2242,7 @@ HRESULT ServerUpdateAvatarUrlOperation::OnStarted(XAsyncBlock* async) noexcept #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerUpdateBansOperation::ServerUpdateBansOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -2212,7 +2272,7 @@ Result ServerUpdateBansOperation::GetResu } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC GetTitlePlayersFromXboxLiveIDsOperation::GetTitlePlayersFromXboxLiveIDsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, diff --git a/Test/PlayFabServices.GeneratedApiWrappers/AccountManagementOperations.h b/Test/PlayFabServices.GeneratedApiWrappers/AccountManagementOperations.h index 81637f9..2f8ce59 100644 --- a/Test/PlayFabServices.GeneratedApiWrappers/AccountManagementOperations.h +++ b/Test/PlayFabServices.GeneratedApiWrappers/AccountManagementOperations.h @@ -8,7 +8,7 @@ namespace PlayFab namespace Test { -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ClientAddOrUpdateContactEmailOperation : public XAsyncOperation { public: @@ -26,7 +26,7 @@ class ClientAddOrUpdateContactEmailOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ClientAddUsernamePasswordOperation : public XAsyncOperation> { public: @@ -100,7 +100,7 @@ class ClientGetPlayerProfileOperation : public XAsyncOperation> { public: @@ -120,7 +120,7 @@ class ClientGetPlayFabIDsFromFacebookIDsOperation : public XAsyncOperation> { public: @@ -140,7 +140,7 @@ class ClientGetPlayFabIDsFromFacebookInstantGamesIdsOperation : public XAsyncOpe }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC class ClientGetPlayFabIDsFromGameCenterIDsOperation : public XAsyncOperation> { public: @@ -160,7 +160,7 @@ class ClientGetPlayFabIDsFromGameCenterIDsOperation : public XAsyncOperation> { public: @@ -180,7 +180,7 @@ class ClientGetPlayFabIDsFromGoogleIDsOperation : public XAsyncOperation> { public: @@ -200,7 +200,7 @@ class ClientGetPlayFabIDsFromGooglePlayGamesPlayerIDsOperation : public XAsyncOp }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ClientGetPlayFabIDsFromKongregateIDsOperation : public XAsyncOperation> { public: @@ -220,7 +220,7 @@ class ClientGetPlayFabIDsFromKongregateIDsOperation : public XAsyncOperation> { public: @@ -240,7 +240,7 @@ class ClientGetPlayFabIDsFromNintendoServiceAccountIdsOperation : public XAsyncO }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ClientGetPlayFabIDsFromNintendoSwitchDeviceIdsOperation : public XAsyncOperation> { public: @@ -260,7 +260,7 @@ class ClientGetPlayFabIDsFromNintendoSwitchDeviceIdsOperation : public XAsyncOpe }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ClientGetPlayFabIDsFromPSNAccountIDsOperation : public XAsyncOperation> { public: @@ -280,7 +280,27 @@ class ClientGetPlayFabIDsFromPSNAccountIDsOperation : public XAsyncOperation> +{ +public: + using RequestType = Wrappers::PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsRequestWrapper; + using ResultType = Wrappers::PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResultWrapper; + + ClientGetPlayFabIDsFromPSNOnlineIDsOperation(Entity entity, RequestType request, PlayFab::RunContext rc); + + static AsyncOp> Run(Entity entity, RequestType request, PlayFab::RunContext rc) noexcept; + +private: + HRESULT OnStarted(XAsyncBlock* async) noexcept override; + Result GetResult(XAsyncBlock* async) noexcept override; + + Entity m_entity; + RequestType m_request; +}; +#endif + +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ClientGetPlayFabIDsFromSteamIDsOperation : public XAsyncOperation> { public: @@ -300,7 +320,7 @@ class ClientGetPlayFabIDsFromSteamIDsOperation : public XAsyncOperation> { public: @@ -320,7 +340,7 @@ class ClientGetPlayFabIDsFromTwitchIDsOperation : public XAsyncOperation> { public: @@ -340,7 +360,7 @@ class ClientGetPlayFabIDsFromXboxLiveIDsOperation : public XAsyncOperation { public: @@ -358,7 +378,7 @@ class ClientLinkAndroidDeviceIDOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC class ClientLinkAppleOperation : public XAsyncOperation { public: @@ -392,7 +412,7 @@ class ClientLinkCustomIDOperation : public XAsyncOperation RequestType m_request; }; -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC class ClientLinkFacebookAccountOperation : public XAsyncOperation { public: @@ -410,7 +430,7 @@ class ClientLinkFacebookAccountOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ClientLinkFacebookInstantGamesIdOperation : public XAsyncOperation { public: @@ -428,7 +448,7 @@ class ClientLinkFacebookInstantGamesIdOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC class ClientLinkGameCenterAccountOperation : public XAsyncOperation { public: @@ -446,7 +466,7 @@ class ClientLinkGameCenterAccountOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC class ClientLinkGoogleAccountOperation : public XAsyncOperation { public: @@ -464,7 +484,7 @@ class ClientLinkGoogleAccountOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC class ClientLinkGooglePlayGamesServicesAccountOperation : public XAsyncOperation { public: @@ -482,7 +502,7 @@ class ClientLinkGooglePlayGamesServicesAccountOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ClientLinkIOSDeviceIDOperation : public XAsyncOperation { public: @@ -500,7 +520,7 @@ class ClientLinkIOSDeviceIDOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ClientLinkKongregateOperation : public XAsyncOperation { public: @@ -518,7 +538,7 @@ class ClientLinkKongregateOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ClientLinkNintendoServiceAccountOperation : public XAsyncOperation { public: @@ -536,7 +556,7 @@ class ClientLinkNintendoServiceAccountOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ClientLinkNintendoSwitchDeviceIdOperation : public XAsyncOperation { public: @@ -570,7 +590,7 @@ class ClientLinkOpenIdConnectOperation : public XAsyncOperation RequestType m_request; }; -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 || HC_PLATFORM == HC_PLATFORM_MAC class ClientLinkPSNAccountOperation : public XAsyncOperation { public: @@ -588,7 +608,7 @@ class ClientLinkPSNAccountOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ClientLinkSteamAccountOperation : public XAsyncOperation { public: @@ -606,7 +626,7 @@ class ClientLinkSteamAccountOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ClientLinkTwitchOperation : public XAsyncOperation { public: @@ -624,7 +644,7 @@ class ClientLinkTwitchOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ClientLinkXboxAccountOperation : public XAsyncOperation { public: @@ -642,7 +662,7 @@ class ClientLinkXboxAccountOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ClientRemoveContactEmailOperation : public XAsyncOperation { public: @@ -678,7 +698,7 @@ class ClientReportPlayerOperation : public XAsyncOperation { public: @@ -696,7 +716,7 @@ class ClientSendAccountRecoveryEmailOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC class ClientUnlinkAndroidDeviceIDOperation : public XAsyncOperation { public: @@ -714,7 +734,7 @@ class ClientUnlinkAndroidDeviceIDOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC class ClientUnlinkAppleOperation : public XAsyncOperation { public: @@ -748,7 +768,7 @@ class ClientUnlinkCustomIDOperation : public XAsyncOperation RequestType m_request; }; -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC class ClientUnlinkFacebookAccountOperation : public XAsyncOperation { public: @@ -766,7 +786,7 @@ class ClientUnlinkFacebookAccountOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ClientUnlinkFacebookInstantGamesIdOperation : public XAsyncOperation { public: @@ -784,7 +804,7 @@ class ClientUnlinkFacebookInstantGamesIdOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC class ClientUnlinkGameCenterAccountOperation : public XAsyncOperation { public: @@ -802,7 +822,7 @@ class ClientUnlinkGameCenterAccountOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC class ClientUnlinkGoogleAccountOperation : public XAsyncOperation { public: @@ -820,7 +840,7 @@ class ClientUnlinkGoogleAccountOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC class ClientUnlinkGooglePlayGamesServicesAccountOperation : public XAsyncOperation { public: @@ -838,7 +858,7 @@ class ClientUnlinkGooglePlayGamesServicesAccountOperation : public XAsyncOperati }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ClientUnlinkIOSDeviceIDOperation : public XAsyncOperation { public: @@ -856,7 +876,7 @@ class ClientUnlinkIOSDeviceIDOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ClientUnlinkKongregateOperation : public XAsyncOperation { public: @@ -874,7 +894,7 @@ class ClientUnlinkKongregateOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ClientUnlinkNintendoServiceAccountOperation : public XAsyncOperation { public: @@ -892,7 +912,7 @@ class ClientUnlinkNintendoServiceAccountOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ClientUnlinkNintendoSwitchDeviceIdOperation : public XAsyncOperation { public: @@ -926,7 +946,7 @@ class ClientUnlinkOpenIdConnectOperation : public XAsyncOperation RequestType m_request; }; -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ClientUnlinkPSNAccountOperation : public XAsyncOperation { public: @@ -944,7 +964,7 @@ class ClientUnlinkPSNAccountOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ClientUnlinkSteamAccountOperation : public XAsyncOperation { public: @@ -962,7 +982,7 @@ class ClientUnlinkSteamAccountOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ClientUnlinkTwitchOperation : public XAsyncOperation { public: @@ -980,7 +1000,7 @@ class ClientUnlinkTwitchOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ClientUnlinkXboxAccountOperation : public XAsyncOperation { public: @@ -1014,7 +1034,7 @@ class ClientUpdateAvatarUrlOperation : public XAsyncOperation RequestType m_request; }; -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ClientUpdateUserTitleDisplayNameOperation : public XAsyncOperation> { public: @@ -1034,7 +1054,7 @@ class ClientUpdateUserTitleDisplayNameOperation : public XAsyncOperation> { public: @@ -1054,7 +1074,7 @@ class ServerBanUsersOperation : public XAsyncOperation { public: @@ -1072,7 +1092,7 @@ class ServerDeletePlayerOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ServerGetPlayerCombinedInfoOperation : public XAsyncOperation> { public: @@ -1092,7 +1112,7 @@ class ServerGetPlayerCombinedInfoOperation : public XAsyncOperation> { public: @@ -1112,7 +1132,7 @@ class ServerGetPlayerProfileOperation : public XAsyncOperation> { public: @@ -1132,7 +1152,7 @@ class ServerGetPlayFabIDsFromFacebookIDsOperation : public XAsyncOperation> { public: @@ -1152,7 +1172,7 @@ class ServerGetPlayFabIDsFromFacebookInstantGamesIdsOperation : public XAsyncOpe }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ServerGetPlayFabIDsFromNintendoServiceAccountIdsOperation : public XAsyncOperation> { public: @@ -1172,7 +1192,7 @@ class ServerGetPlayFabIDsFromNintendoServiceAccountIdsOperation : public XAsyncO }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ServerGetPlayFabIDsFromNintendoSwitchDeviceIdsOperation : public XAsyncOperation> { public: @@ -1192,7 +1212,7 @@ class ServerGetPlayFabIDsFromNintendoSwitchDeviceIdsOperation : public XAsyncOpe }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ServerGetPlayFabIDsFromPSNAccountIDsOperation : public XAsyncOperation> { public: @@ -1212,7 +1232,27 @@ class ServerGetPlayFabIDsFromPSNAccountIDsOperation : public XAsyncOperation> +{ +public: + using RequestType = Wrappers::PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsRequestWrapper; + using ResultType = Wrappers::PFAccountManagementGetPlayFabIDsFromPSNOnlineIDsResultWrapper; + + ServerGetPlayFabIDsFromPSNOnlineIDsOperation(Entity entity, RequestType request, PlayFab::RunContext rc); + + static AsyncOp> Run(Entity entity, RequestType request, PlayFab::RunContext rc) noexcept; + +private: + HRESULT OnStarted(XAsyncBlock* async) noexcept override; + Result GetResult(XAsyncBlock* async) noexcept override; + + Entity m_entity; + RequestType m_request; +}; +#endif + +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ServerGetPlayFabIDsFromSteamIDsOperation : public XAsyncOperation> { public: @@ -1232,7 +1272,7 @@ class ServerGetPlayFabIDsFromSteamIDsOperation : public XAsyncOperation> { public: @@ -1252,7 +1292,7 @@ class ServerGetPlayFabIDsFromTwitchIDsOperation : public XAsyncOperation> { public: @@ -1272,7 +1312,7 @@ class ServerGetPlayFabIDsFromXboxLiveIDsOperation : public XAsyncOperation> { public: @@ -1292,7 +1332,7 @@ class ServerGetServerCustomIDsFromPlayFabIDsOperation : public XAsyncOperation> { public: @@ -1312,7 +1352,7 @@ class ServerGetUserAccountInfoOperation : public XAsyncOperation> { public: @@ -1332,7 +1372,7 @@ class ServerGetUserBansOperation : public XAsyncOperation { public: @@ -1350,7 +1390,7 @@ class ServerLinkNintendoServiceAccountOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ServerLinkNintendoServiceAccountSubjectOperation : public XAsyncOperation { public: @@ -1368,7 +1408,7 @@ class ServerLinkNintendoServiceAccountSubjectOperation : public XAsyncOperation< }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ServerLinkNintendoSwitchDeviceIdOperation : public XAsyncOperation { public: @@ -1386,7 +1426,7 @@ class ServerLinkNintendoSwitchDeviceIdOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ServerLinkPSNAccountOperation : public XAsyncOperation { public: @@ -1422,7 +1462,7 @@ class ServerLinkPSNIdOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ServerLinkServerCustomIdOperation : public XAsyncOperation { public: @@ -1440,7 +1480,7 @@ class ServerLinkServerCustomIdOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ServerLinkSteamIdOperation : public XAsyncOperation { public: @@ -1458,7 +1498,7 @@ class ServerLinkSteamIdOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ServerLinkXboxAccountOperation : public XAsyncOperation { public: @@ -1476,7 +1516,7 @@ class ServerLinkXboxAccountOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ServerRevokeAllBansForUserOperation : public XAsyncOperation> { public: @@ -1496,7 +1536,7 @@ class ServerRevokeAllBansForUserOperation : public XAsyncOperation> { public: @@ -1516,7 +1556,7 @@ class ServerRevokeBansOperation : public XAsyncOperation { public: @@ -1534,7 +1574,7 @@ class ServerSendCustomAccountRecoveryEmailOperation : public XAsyncOperation { public: @@ -1552,7 +1592,7 @@ class ServerSendEmailFromTemplateOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ServerUnlinkNintendoServiceAccountOperation : public XAsyncOperation { public: @@ -1570,7 +1610,7 @@ class ServerUnlinkNintendoServiceAccountOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ServerUnlinkNintendoSwitchDeviceIdOperation : public XAsyncOperation { public: @@ -1588,7 +1628,7 @@ class ServerUnlinkNintendoSwitchDeviceIdOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ServerUnlinkPSNAccountOperation : public XAsyncOperation { public: @@ -1606,7 +1646,7 @@ class ServerUnlinkPSNAccountOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ServerUnlinkServerCustomIdOperation : public XAsyncOperation { public: @@ -1624,7 +1664,7 @@ class ServerUnlinkServerCustomIdOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ServerUnlinkSteamIdOperation : public XAsyncOperation { public: @@ -1642,7 +1682,7 @@ class ServerUnlinkSteamIdOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ServerUnlinkXboxAccountOperation : public XAsyncOperation { public: @@ -1660,7 +1700,7 @@ class ServerUnlinkXboxAccountOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ServerUpdateAvatarUrlOperation : public XAsyncOperation { public: @@ -1678,7 +1718,7 @@ class ServerUpdateAvatarUrlOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ServerUpdateBansOperation : public XAsyncOperation> { public: @@ -1698,7 +1738,7 @@ class ServerUpdateBansOperation : public XAsyncOperation> { public: diff --git a/Test/PlayFabServices.GeneratedApiWrappers/CloudScriptOperations.cpp b/Test/PlayFabServices.GeneratedApiWrappers/CloudScriptOperations.cpp index e2b73fb..c2ff210 100644 --- a/Test/PlayFabServices.GeneratedApiWrappers/CloudScriptOperations.cpp +++ b/Test/PlayFabServices.GeneratedApiWrappers/CloudScriptOperations.cpp @@ -35,7 +35,7 @@ Result ClientExecuteCloudScriptOp return ResultType{ *result }; } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerExecuteCloudScriptOperation::ServerExecuteCloudScriptOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, diff --git a/Test/PlayFabServices.GeneratedApiWrappers/CloudScriptOperations.h b/Test/PlayFabServices.GeneratedApiWrappers/CloudScriptOperations.h index cddaebf..c0df3ff 100644 --- a/Test/PlayFabServices.GeneratedApiWrappers/CloudScriptOperations.h +++ b/Test/PlayFabServices.GeneratedApiWrappers/CloudScriptOperations.h @@ -26,7 +26,7 @@ class ClientExecuteCloudScriptOperation : public XAsyncOperation> { public: diff --git a/Test/PlayFabServices.GeneratedApiWrappers/FriendsOperations.cpp b/Test/PlayFabServices.GeneratedApiWrappers/FriendsOperations.cpp index 4aa60c6..0ecb373 100644 --- a/Test/PlayFabServices.GeneratedApiWrappers/FriendsOperations.cpp +++ b/Test/PlayFabServices.GeneratedApiWrappers/FriendsOperations.cpp @@ -98,7 +98,7 @@ HRESULT ClientSetFriendTagsOperation::OnStarted(XAsyncBlock* async) noexcept } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerAddFriendOperation::ServerAddFriendOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -119,7 +119,7 @@ HRESULT ServerAddFriendOperation::OnStarted(XAsyncBlock* async) noexcept #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerGetFriendsListOperation::ServerGetFriendsListOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -149,7 +149,7 @@ Result ServerGetFriendsListOperation: } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerRemoveFriendOperation::ServerRemoveFriendOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -170,7 +170,7 @@ HRESULT ServerRemoveFriendOperation::OnStarted(XAsyncBlock* async) noexcept #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerSetFriendTagsOperation::ServerSetFriendTagsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, diff --git a/Test/PlayFabServices.GeneratedApiWrappers/FriendsOperations.h b/Test/PlayFabServices.GeneratedApiWrappers/FriendsOperations.h index 1c0992f..9079f38 100644 --- a/Test/PlayFabServices.GeneratedApiWrappers/FriendsOperations.h +++ b/Test/PlayFabServices.GeneratedApiWrappers/FriendsOperations.h @@ -76,7 +76,7 @@ class ClientSetFriendTagsOperation : public XAsyncOperation RequestType m_request; }; -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ServerAddFriendOperation : public XAsyncOperation { public: @@ -94,7 +94,7 @@ class ServerAddFriendOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ServerGetFriendsListOperation : public XAsyncOperation> { public: @@ -114,7 +114,7 @@ class ServerGetFriendsListOperation : public XAsyncOperation { public: @@ -132,7 +132,7 @@ class ServerRemoveFriendOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ServerSetFriendTagsOperation : public XAsyncOperation { public: diff --git a/Test/PlayFabServices.GeneratedApiWrappers/GetGeneratedApiWrappers.cmake b/Test/PlayFabServices.GeneratedApiWrappers/GetGeneratedApiWrappers.cmake new file mode 100644 index 0000000..289958d --- /dev/null +++ b/Test/PlayFabServices.GeneratedApiWrappers/GetGeneratedApiWrappers.cmake @@ -0,0 +1,45 @@ +cmake_minimum_required(VERSION 3.6) + +# file list similar to PlayFabServices.GeneratedApiWrappers.vcxitems +function(GET_PLAYFAB_SERVICES_GENERATED_API_WRAPPERS_FILES + OUT_PLAYFAB_SERVICES_GENERATED_API_WRAPPERS_FILES + PATH_TO_SOURCE + ) + + set(${OUT_PLAYFAB_SERVICES_GENERATED_API_WRAPPERS_FILES} + "${PATH_TO_SOURCE}/FriendsOperations.h" + "${PATH_TO_SOURCE}/FriendsOperations.cpp" + "${PATH_TO_SOURCE}/AccountManagementOperations.h" + "${PATH_TO_SOURCE}/AccountManagementOperations.cpp" + "${PATH_TO_SOURCE}/PlatformSpecificOperations.h" + "${PATH_TO_SOURCE}/PlatformSpecificOperations.cpp" + "${PATH_TO_SOURCE}/CloudScriptOperations.h" + "${PATH_TO_SOURCE}/CloudScriptOperations.cpp" + "${PATH_TO_SOURCE}/SegmentsOperations.h" + "${PATH_TO_SOURCE}/SegmentsOperations.cpp" + "${PATH_TO_SOURCE}/TitleDataManagementOperations.h" + "${PATH_TO_SOURCE}/TitleDataManagementOperations.cpp" + "${PATH_TO_SOURCE}/PlayerDataManagementOperations.h" + "${PATH_TO_SOURCE}/PlayerDataManagementOperations.cpp" + "${PATH_TO_SOURCE}/PushNotificationsOperations.h" + "${PATH_TO_SOURCE}/PushNotificationsOperations.cpp" + "${PATH_TO_SOURCE}/DataOperations.h" + "${PATH_TO_SOURCE}/DataOperations.cpp" + "${PATH_TO_SOURCE}/InventoryOperations.h" + "${PATH_TO_SOURCE}/InventoryOperations.cpp" + "${PATH_TO_SOURCE}/CatalogOperations.h" + "${PATH_TO_SOURCE}/CatalogOperations.cpp" + "${PATH_TO_SOURCE}/ExperimentationOperations.h" + "${PATH_TO_SOURCE}/ExperimentationOperations.cpp" + "${PATH_TO_SOURCE}/GroupsOperations.h" + "${PATH_TO_SOURCE}/GroupsOperations.cpp" + "${PATH_TO_SOURCE}/LocalizationOperations.h" + "${PATH_TO_SOURCE}/LocalizationOperations.cpp" + "${PATH_TO_SOURCE}/MultiplayerServerOperations.h" + "${PATH_TO_SOURCE}/MultiplayerServerOperations.cpp" + "${PATH_TO_SOURCE}/ProfilesOperations.h" + "${PATH_TO_SOURCE}/ProfilesOperations.cpp" + PARENT_SCOPE + ) + +endfunction() diff --git a/Test/PlayFabServices.GeneratedApiWrappers/InventoryOperations.cpp b/Test/PlayFabServices.GeneratedApiWrappers/InventoryOperations.cpp index 7fa01e3..fbaf7d0 100644 --- a/Test/PlayFabServices.GeneratedApiWrappers/InventoryOperations.cpp +++ b/Test/PlayFabServices.GeneratedApiWrappers/InventoryOperations.cpp @@ -166,7 +166,7 @@ Result GetInventoryItemsOperation::GetRe return ResultType{ *result }; } -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC GetMicrosoftStoreAccessTokensOperation::GetMicrosoftStoreAccessTokensOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -196,7 +196,7 @@ Result GetMicrosoftStoreAcce } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC GetTransactionHistoryOperation::GetTransactionHistoryOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -254,7 +254,7 @@ Result PurchaseInventoryItemsOperat return ResultType{ *result }; } -#if 0 +#if HC_PLATFORM == HC_PLATFORM_IOS RedeemAppleAppStoreInventoryItemsOperation::RedeemAppleAppStoreInventoryItemsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -284,7 +284,7 @@ Result RedeemAppleAppSto } #endif -#if 0 +#if HC_PLATFORM == HC_PLATFORM_ANDROID RedeemGooglePlayInventoryItemsOperation::RedeemGooglePlayInventoryItemsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -314,7 +314,7 @@ Result RedeemGooglePlayInve } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC RedeemMicrosoftStoreInventoryItemsOperation::RedeemMicrosoftStoreInventoryItemsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -344,7 +344,7 @@ Result RedeemMicrosoftS } #endif -#if HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC RedeemNintendoEShopInventoryItemsOperation::RedeemNintendoEShopInventoryItemsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -374,7 +374,7 @@ Result RedeemNintendoESh } #endif -#if HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC RedeemPlayStationStoreInventoryItemsOperation::RedeemPlayStationStoreInventoryItemsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -404,7 +404,7 @@ Result RedeemPlayStat } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_MAC RedeemSteamInventoryItemsOperation::RedeemSteamInventoryItemsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, diff --git a/Test/PlayFabServices.GeneratedApiWrappers/InventoryOperations.h b/Test/PlayFabServices.GeneratedApiWrappers/InventoryOperations.h index 732d8d8..01c1eaa 100644 --- a/Test/PlayFabServices.GeneratedApiWrappers/InventoryOperations.h +++ b/Test/PlayFabServices.GeneratedApiWrappers/InventoryOperations.h @@ -114,7 +114,7 @@ class GetInventoryItemsOperation : public XAsyncOperation> { public: @@ -134,7 +134,7 @@ class GetMicrosoftStoreAccessTokensOperation : public XAsyncOperation> { public: @@ -172,7 +172,7 @@ class PurchaseInventoryItemsOperation : public XAsyncOperation> { public: @@ -192,7 +192,7 @@ class RedeemAppleAppStoreInventoryItemsOperation : public XAsyncOperation> { public: @@ -212,7 +212,7 @@ class RedeemGooglePlayInventoryItemsOperation : public XAsyncOperation> { public: @@ -232,7 +232,7 @@ class RedeemMicrosoftStoreInventoryItemsOperation : public XAsyncOperation> { public: @@ -252,7 +252,7 @@ class RedeemNintendoEShopInventoryItemsOperation : public XAsyncOperation> { public: @@ -272,7 +272,7 @@ class RedeemPlayStationStoreInventoryItemsOperation : public XAsyncOperation> { public: diff --git a/Test/PlayFabServices.GeneratedApiWrappers/LocalizationOperations.cpp b/Test/PlayFabServices.GeneratedApiWrappers/LocalizationOperations.cpp index 41b6060..5f2554f 100644 --- a/Test/PlayFabServices.GeneratedApiWrappers/LocalizationOperations.cpp +++ b/Test/PlayFabServices.GeneratedApiWrappers/LocalizationOperations.cpp @@ -7,7 +7,7 @@ namespace PlayFab namespace Test { -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC GetLanguageListOperation::GetLanguageListOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, diff --git a/Test/PlayFabServices.GeneratedApiWrappers/LocalizationOperations.h b/Test/PlayFabServices.GeneratedApiWrappers/LocalizationOperations.h index 5de53e3..4e9bea4 100644 --- a/Test/PlayFabServices.GeneratedApiWrappers/LocalizationOperations.h +++ b/Test/PlayFabServices.GeneratedApiWrappers/LocalizationOperations.h @@ -8,7 +8,7 @@ namespace PlayFab namespace Test { -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class GetLanguageListOperation : public XAsyncOperation> { public: diff --git a/Test/PlayFabServices.GeneratedApiWrappers/PlatformSpecificOperations.cpp b/Test/PlayFabServices.GeneratedApiWrappers/PlatformSpecificOperations.cpp index bbcc1bc..9be8606 100644 --- a/Test/PlayFabServices.GeneratedApiWrappers/PlatformSpecificOperations.cpp +++ b/Test/PlayFabServices.GeneratedApiWrappers/PlatformSpecificOperations.cpp @@ -7,7 +7,7 @@ namespace PlayFab namespace Test { -#if 0 +#if HC_PLATFORM == HC_PLATFORM_ANDROID ClientAndroidDevicePushNotificationRegistrationOperation::ClientAndroidDevicePushNotificationRegistrationOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -49,7 +49,7 @@ HRESULT ClientRefreshPSNAuthTokenOperation::OnStarted(XAsyncBlock* async) noexce #endif -#if 0 +#if HC_PLATFORM == HC_PLATFORM_IOS ClientRegisterForIOSPushNotificationOperation::ClientRegisterForIOSPushNotificationOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -70,7 +70,7 @@ HRESULT ClientRegisterForIOSPushNotificationOperation::OnStarted(XAsyncBlock* as #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerAwardSteamAchievementOperation::ServerAwardSteamAchievementOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, diff --git a/Test/PlayFabServices.GeneratedApiWrappers/PlatformSpecificOperations.h b/Test/PlayFabServices.GeneratedApiWrappers/PlatformSpecificOperations.h index 57272ed..bf39394 100644 --- a/Test/PlayFabServices.GeneratedApiWrappers/PlatformSpecificOperations.h +++ b/Test/PlayFabServices.GeneratedApiWrappers/PlatformSpecificOperations.h @@ -8,7 +8,7 @@ namespace PlayFab namespace Test { -#if 0 +#if HC_PLATFORM == HC_PLATFORM_ANDROID class ClientAndroidDevicePushNotificationRegistrationOperation : public XAsyncOperation { public: @@ -44,7 +44,7 @@ class ClientRefreshPSNAuthTokenOperation : public XAsyncOperation }; #endif -#if 0 +#if HC_PLATFORM == HC_PLATFORM_IOS class ClientRegisterForIOSPushNotificationOperation : public XAsyncOperation { public: @@ -62,7 +62,7 @@ class ClientRegisterForIOSPushNotificationOperation : public XAsyncOperation> { public: diff --git a/Test/PlayFabServices.GeneratedApiWrappers/PlayerDataManagementOperations.cpp b/Test/PlayFabServices.GeneratedApiWrappers/PlayerDataManagementOperations.cpp index b606bee..3685597 100644 --- a/Test/PlayFabServices.GeneratedApiWrappers/PlayerDataManagementOperations.cpp +++ b/Test/PlayFabServices.GeneratedApiWrappers/PlayerDataManagementOperations.cpp @@ -169,7 +169,7 @@ Result ClientUpdateUserPubli return ResultType{ result }; } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerGetUserDataOperation::ServerGetUserDataOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -199,7 +199,7 @@ Result ServerGetUserDataOperation::GetRe } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerGetUserInternalDataOperation::ServerGetUserInternalDataOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -229,7 +229,7 @@ Result ServerGetUserInternalData } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerGetUserPublisherDataOperation::ServerGetUserPublisherDataOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -259,7 +259,7 @@ Result ServerGetUserPublisherDa } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerGetUserPublisherInternalDataOperation::ServerGetUserPublisherInternalDataOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -289,7 +289,7 @@ Result ServerGetUserPub } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerGetUserPublisherReadOnlyDataOperation::ServerGetUserPublisherReadOnlyDataOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -319,7 +319,7 @@ Result ServerGetUserPub } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerGetUserReadOnlyDataOperation::ServerGetUserReadOnlyDataOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -349,7 +349,7 @@ Result ServerGetUserReadOnlyData } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerUpdateUserDataOperation::ServerUpdateUserDataOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -376,7 +376,7 @@ Result ServerUpdateUserDataOperation: } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerUpdateUserInternalDataOperation::ServerUpdateUserInternalDataOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -403,7 +403,7 @@ Result ServerUpdateUserIntern } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerUpdateUserPublisherDataOperation::ServerUpdateUserPublisherDataOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -430,7 +430,7 @@ Result ServerUpdateUserPubli } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerUpdateUserPublisherInternalDataOperation::ServerUpdateUserPublisherInternalDataOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -457,7 +457,7 @@ Result ServerUpdateU } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerUpdateUserPublisherReadOnlyDataOperation::ServerUpdateUserPublisherReadOnlyDataOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -484,7 +484,7 @@ Result ServerUpdateU } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerUpdateUserReadOnlyDataOperation::ServerUpdateUserReadOnlyDataOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, diff --git a/Test/PlayFabServices.GeneratedApiWrappers/PlayerDataManagementOperations.h b/Test/PlayFabServices.GeneratedApiWrappers/PlayerDataManagementOperations.h index 5907594..024d889 100644 --- a/Test/PlayFabServices.GeneratedApiWrappers/PlayerDataManagementOperations.h +++ b/Test/PlayFabServices.GeneratedApiWrappers/PlayerDataManagementOperations.h @@ -116,7 +116,7 @@ class ClientUpdateUserPublisherDataOperation : public XAsyncOperation> { public: @@ -136,7 +136,7 @@ class ServerGetUserDataOperation : public XAsyncOperation> { public: @@ -156,7 +156,7 @@ class ServerGetUserInternalDataOperation : public XAsyncOperation> { public: @@ -176,7 +176,7 @@ class ServerGetUserPublisherDataOperation : public XAsyncOperation> { public: @@ -196,7 +196,7 @@ class ServerGetUserPublisherInternalDataOperation : public XAsyncOperation> { public: @@ -216,7 +216,7 @@ class ServerGetUserPublisherReadOnlyDataOperation : public XAsyncOperation> { public: @@ -236,7 +236,7 @@ class ServerGetUserReadOnlyDataOperation : public XAsyncOperation> { public: @@ -256,7 +256,7 @@ class ServerUpdateUserDataOperation : public XAsyncOperation> { public: @@ -276,7 +276,7 @@ class ServerUpdateUserInternalDataOperation : public XAsyncOperation> { public: @@ -296,7 +296,7 @@ class ServerUpdateUserPublisherDataOperation : public XAsyncOperation> { public: @@ -316,7 +316,7 @@ class ServerUpdateUserPublisherInternalDataOperation : public XAsyncOperation> { public: @@ -336,7 +336,7 @@ class ServerUpdateUserPublisherReadOnlyDataOperation : public XAsyncOperation> { public: diff --git a/Test/PlayFabServices.GeneratedApiWrappers/PushNotificationsOperations.cpp b/Test/PlayFabServices.GeneratedApiWrappers/PushNotificationsOperations.cpp index d3dbec8..a3d986b 100644 --- a/Test/PlayFabServices.GeneratedApiWrappers/PushNotificationsOperations.cpp +++ b/Test/PlayFabServices.GeneratedApiWrappers/PushNotificationsOperations.cpp @@ -7,7 +7,7 @@ namespace PlayFab namespace Test { -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerSendPushNotificationOperation::ServerSendPushNotificationOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -28,7 +28,7 @@ HRESULT ServerSendPushNotificationOperation::OnStarted(XAsyncBlock* async) noexc #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerSendPushNotificationFromTemplateOperation::ServerSendPushNotificationFromTemplateOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, diff --git a/Test/PlayFabServices.GeneratedApiWrappers/PushNotificationsOperations.h b/Test/PlayFabServices.GeneratedApiWrappers/PushNotificationsOperations.h index eb3e688..017de93 100644 --- a/Test/PlayFabServices.GeneratedApiWrappers/PushNotificationsOperations.h +++ b/Test/PlayFabServices.GeneratedApiWrappers/PushNotificationsOperations.h @@ -8,7 +8,7 @@ namespace PlayFab namespace Test { -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ServerSendPushNotificationOperation : public XAsyncOperation { public: @@ -26,7 +26,7 @@ class ServerSendPushNotificationOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ServerSendPushNotificationFromTemplateOperation : public XAsyncOperation { public: diff --git a/Test/PlayFabServices.GeneratedApiWrappers/SegmentsOperations.cpp b/Test/PlayFabServices.GeneratedApiWrappers/SegmentsOperations.cpp index ffe0018..e6b0bab 100644 --- a/Test/PlayFabServices.GeneratedApiWrappers/SegmentsOperations.cpp +++ b/Test/PlayFabServices.GeneratedApiWrappers/SegmentsOperations.cpp @@ -62,7 +62,7 @@ Result ClientGetPlayerTagsOperation::G return ResultType{ *result }; } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerAddPlayerTagOperation::ServerAddPlayerTagOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -83,7 +83,7 @@ HRESULT ServerAddPlayerTagOperation::OnStarted(XAsyncBlock* async) noexcept #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerGetAllSegmentsOperation::ServerGetAllSegmentsOperation(Entity entity, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -112,7 +112,7 @@ Result ServerGetAllSegmentsOperation: } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerGetPlayerSegmentsOperation::ServerGetPlayerSegmentsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -142,7 +142,7 @@ Result ServerGetPlayerSegmentsOper } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerGetPlayersInSegmentOperation::ServerGetPlayersInSegmentOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -172,7 +172,7 @@ Result ServerGetPlayersInSegment } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerGetPlayerTagsOperation::ServerGetPlayerTagsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -202,7 +202,7 @@ Result ServerGetPlayerTagsOperation::G } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerRemovePlayerTagOperation::ServerRemovePlayerTagOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, diff --git a/Test/PlayFabServices.GeneratedApiWrappers/SegmentsOperations.h b/Test/PlayFabServices.GeneratedApiWrappers/SegmentsOperations.h index b10d1b4..78337f2 100644 --- a/Test/PlayFabServices.GeneratedApiWrappers/SegmentsOperations.h +++ b/Test/PlayFabServices.GeneratedApiWrappers/SegmentsOperations.h @@ -42,7 +42,7 @@ class ClientGetPlayerTagsOperation : public XAsyncOperation { public: @@ -60,7 +60,7 @@ class ServerAddPlayerTagOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ServerGetAllSegmentsOperation : public XAsyncOperation> { public: @@ -78,7 +78,7 @@ class ServerGetAllSegmentsOperation : public XAsyncOperation> { public: @@ -98,7 +98,7 @@ class ServerGetPlayerSegmentsOperation : public XAsyncOperation> { public: @@ -118,7 +118,7 @@ class ServerGetPlayersInSegmentOperation : public XAsyncOperation> { public: @@ -138,7 +138,7 @@ class ServerGetPlayerTagsOperation : public XAsyncOperation { public: diff --git a/Test/PlayFabServices.GeneratedApiWrappers/TitleDataManagementOperations.cpp b/Test/PlayFabServices.GeneratedApiWrappers/TitleDataManagementOperations.cpp index 3d52cd7..f21efbb 100644 --- a/Test/PlayFabServices.GeneratedApiWrappers/TitleDataManagementOperations.cpp +++ b/Test/PlayFabServices.GeneratedApiWrappers/TitleDataManagementOperations.cpp @@ -115,7 +115,7 @@ Result ClientGetTitleNewsOperation::Get return ResultType{ *result }; } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerGetPublisherDataOperation::ServerGetPublisherDataOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -145,7 +145,7 @@ Result ServerGetPublisherDataOperat } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerGetTimeOperation::ServerGetTimeOperation(Entity entity, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -171,7 +171,7 @@ Result ServerGetTimeOperation::GetResult(XAs } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerGetTitleDataOperation::ServerGetTitleDataOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -201,7 +201,7 @@ Result ServerGetTitleDataOperation::Get } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerGetTitleInternalDataOperation::ServerGetTitleInternalDataOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -231,7 +231,7 @@ Result ServerGetTitleInternalDa } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerGetTitleNewsOperation::ServerGetTitleNewsOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -261,7 +261,7 @@ Result ServerGetTitleNewsOperation::Get } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerSetPublisherDataOperation::ServerSetPublisherDataOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -282,7 +282,7 @@ HRESULT ServerSetPublisherDataOperation::OnStarted(XAsyncBlock* async) noexcept #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerSetTitleDataOperation::ServerSetTitleDataOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, @@ -303,7 +303,7 @@ HRESULT ServerSetTitleDataOperation::OnStarted(XAsyncBlock* async) noexcept #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC ServerSetTitleInternalDataOperation::ServerSetTitleInternalDataOperation(Entity entity, RequestType request, PlayFab::RunContext rc) : XAsyncOperation{ std::move(rc) }, diff --git a/Test/PlayFabServices.GeneratedApiWrappers/TitleDataManagementOperations.h b/Test/PlayFabServices.GeneratedApiWrappers/TitleDataManagementOperations.h index 1420543..a9702ed 100644 --- a/Test/PlayFabServices.GeneratedApiWrappers/TitleDataManagementOperations.h +++ b/Test/PlayFabServices.GeneratedApiWrappers/TitleDataManagementOperations.h @@ -78,7 +78,7 @@ class ClientGetTitleNewsOperation : public XAsyncOperation> { public: @@ -98,7 +98,7 @@ class ServerGetPublisherDataOperation : public XAsyncOperation> { public: @@ -116,7 +116,7 @@ class ServerGetTimeOperation : public XAsyncOperation> { public: @@ -136,7 +136,7 @@ class ServerGetTitleDataOperation : public XAsyncOperation> { public: @@ -156,7 +156,7 @@ class ServerGetTitleInternalDataOperation : public XAsyncOperation> { public: @@ -176,7 +176,7 @@ class ServerGetTitleNewsOperation : public XAsyncOperation { public: @@ -194,7 +194,7 @@ class ServerSetPublisherDataOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ServerSetTitleDataOperation : public XAsyncOperation { public: @@ -212,7 +212,7 @@ class ServerSetTitleDataOperation : public XAsyncOperation }; #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC class ServerSetTitleInternalDataOperation : public XAsyncOperation { public: diff --git a/Test/PlayFabServices.GeneratedTests/AccountManagementTests.cpp b/Test/PlayFabServices.GeneratedTests/AccountManagementTests.cpp index d6de754..6b43f90 100644 --- a/Test/PlayFabServices.GeneratedTests/AccountManagementTests.cpp +++ b/Test/PlayFabServices.GeneratedTests/AccountManagementTests.cpp @@ -8,262 +8,268 @@ namespace Test void AccountManagementTests::AddTests() { -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientAddOrUpdateContactEmail", &AccountManagementTests::TestClientAddOrUpdateContactEmail); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientAddUsernamePassword", &AccountManagementTests::TestClientAddUsernamePassword); #endif AddTest("TestClientGetAccountInfo", &AccountManagementTests::TestClientGetAccountInfo); AddTest("TestClientGetPlayerCombinedInfo", &AccountManagementTests::TestClientGetPlayerCombinedInfo); AddTest("TestClientGetPlayerProfile", &AccountManagementTests::TestClientGetPlayerProfile); -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientGetPlayFabIDsFromFacebookIDs", &AccountManagementTests::TestClientGetPlayFabIDsFromFacebookIDs); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientGetPlayFabIDsFromFacebookInstantGamesIds", &AccountManagementTests::TestClientGetPlayFabIDsFromFacebookInstantGamesIds); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientGetPlayFabIDsFromGameCenterIDs", &AccountManagementTests::TestClientGetPlayFabIDsFromGameCenterIDs); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientGetPlayFabIDsFromGoogleIDs", &AccountManagementTests::TestClientGetPlayFabIDsFromGoogleIDs); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientGetPlayFabIDsFromGooglePlayGamesPlayerIDs", &AccountManagementTests::TestClientGetPlayFabIDsFromGooglePlayGamesPlayerIDs); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientGetPlayFabIDsFromKongregateIDs", &AccountManagementTests::TestClientGetPlayFabIDsFromKongregateIDs); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientGetPlayFabIDsFromNintendoServiceAccountIds", &AccountManagementTests::TestClientGetPlayFabIDsFromNintendoServiceAccountIds); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientGetPlayFabIDsFromNintendoSwitchDeviceIds", &AccountManagementTests::TestClientGetPlayFabIDsFromNintendoSwitchDeviceIds); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientGetPlayFabIDsFromPSNAccountIDs", &AccountManagementTests::TestClientGetPlayFabIDsFromPSNAccountIDs); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if 0 + AddTest("TestClientGetPlayFabIDsFromPSNOnlineIDs", &AccountManagementTests::TestClientGetPlayFabIDsFromPSNOnlineIDs); +#endif +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientGetPlayFabIDsFromSteamIDs", &AccountManagementTests::TestClientGetPlayFabIDsFromSteamIDs); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientGetPlayFabIDsFromTwitchIDs", &AccountManagementTests::TestClientGetPlayFabIDsFromTwitchIDs); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientGetPlayFabIDsFromXboxLiveIDs", &AccountManagementTests::TestClientGetPlayFabIDsFromXboxLiveIDs); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientLinkAndroidDeviceID", &AccountManagementTests::TestClientLinkAndroidDeviceID); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientLinkApple", &AccountManagementTests::TestClientLinkApple); #endif AddTest("TestClientLinkCustomID", &AccountManagementTests::TestClientLinkCustomID); -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientLinkFacebookAccount", &AccountManagementTests::TestClientLinkFacebookAccount); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientLinkFacebookInstantGamesId", &AccountManagementTests::TestClientLinkFacebookInstantGamesId); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientLinkGameCenterAccount", &AccountManagementTests::TestClientLinkGameCenterAccount); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientLinkGoogleAccount", &AccountManagementTests::TestClientLinkGoogleAccount); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientLinkGooglePlayGamesServicesAccount", &AccountManagementTests::TestClientLinkGooglePlayGamesServicesAccount); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientLinkIOSDeviceID", &AccountManagementTests::TestClientLinkIOSDeviceID); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientLinkKongregate", &AccountManagementTests::TestClientLinkKongregate); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientLinkNintendoServiceAccount", &AccountManagementTests::TestClientLinkNintendoServiceAccount); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientLinkNintendoSwitchDeviceId", &AccountManagementTests::TestClientLinkNintendoSwitchDeviceId); #endif AddTest("TestClientLinkOpenIdConnect", &AccountManagementTests::TestClientLinkOpenIdConnect); -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientLinkPSNAccount", &AccountManagementTests::TestClientLinkPSNAccount); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientLinkSteamAccount", &AccountManagementTests::TestClientLinkSteamAccount); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientLinkTwitch", &AccountManagementTests::TestClientLinkTwitch); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientLinkXboxAccount", &AccountManagementTests::TestClientLinkXboxAccount); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientRemoveContactEmail", &AccountManagementTests::TestClientRemoveContactEmail); #endif AddTest("TestClientReportPlayer", &AccountManagementTests::TestClientReportPlayer); -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientSendAccountRecoveryEmail", &AccountManagementTests::TestClientSendAccountRecoveryEmail); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientUnlinkAndroidDeviceID", &AccountManagementTests::TestClientUnlinkAndroidDeviceID); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientUnlinkApple", &AccountManagementTests::TestClientUnlinkApple); #endif AddTest("TestClientUnlinkCustomID", &AccountManagementTests::TestClientUnlinkCustomID); -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientUnlinkFacebookAccount", &AccountManagementTests::TestClientUnlinkFacebookAccount); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientUnlinkFacebookInstantGamesId", &AccountManagementTests::TestClientUnlinkFacebookInstantGamesId); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientUnlinkGameCenterAccount", &AccountManagementTests::TestClientUnlinkGameCenterAccount); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientUnlinkGoogleAccount", &AccountManagementTests::TestClientUnlinkGoogleAccount); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientUnlinkGooglePlayGamesServicesAccount", &AccountManagementTests::TestClientUnlinkGooglePlayGamesServicesAccount); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientUnlinkIOSDeviceID", &AccountManagementTests::TestClientUnlinkIOSDeviceID); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientUnlinkKongregate", &AccountManagementTests::TestClientUnlinkKongregate); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientUnlinkNintendoServiceAccount", &AccountManagementTests::TestClientUnlinkNintendoServiceAccount); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientUnlinkNintendoSwitchDeviceId", &AccountManagementTests::TestClientUnlinkNintendoSwitchDeviceId); #endif AddTest("TestClientUnlinkOpenIdConnect", &AccountManagementTests::TestClientUnlinkOpenIdConnect); -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientUnlinkPSNAccount", &AccountManagementTests::TestClientUnlinkPSNAccount); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientUnlinkSteamAccount", &AccountManagementTests::TestClientUnlinkSteamAccount); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientUnlinkTwitch", &AccountManagementTests::TestClientUnlinkTwitch); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientUnlinkXboxAccount", &AccountManagementTests::TestClientUnlinkXboxAccount); #endif AddTest("TestClientUpdateAvatarUrl", &AccountManagementTests::TestClientUpdateAvatarUrl); -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestClientUpdateUserTitleDisplayName", &AccountManagementTests::TestClientUpdateUserTitleDisplayName); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerBanUsers", &AccountManagementTests::TestServerBanUsers); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerDeletePlayer", &AccountManagementTests::TestServerDeletePlayer); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerGetPlayerCombinedInfo", &AccountManagementTests::TestServerGetPlayerCombinedInfo); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerGetPlayerProfile", &AccountManagementTests::TestServerGetPlayerProfile); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerGetPlayFabIDsFromFacebookIDs", &AccountManagementTests::TestServerGetPlayFabIDsFromFacebookIDs); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerGetPlayFabIDsFromFacebookInstantGamesIds", &AccountManagementTests::TestServerGetPlayFabIDsFromFacebookInstantGamesIds); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerGetPlayFabIDsFromNintendoServiceAccountIds", &AccountManagementTests::TestServerGetPlayFabIDsFromNintendoServiceAccountIds); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerGetPlayFabIDsFromNintendoSwitchDeviceIds", &AccountManagementTests::TestServerGetPlayFabIDsFromNintendoSwitchDeviceIds); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerGetPlayFabIDsFromPSNAccountIDs", &AccountManagementTests::TestServerGetPlayFabIDsFromPSNAccountIDs); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if 0 + AddTest("TestServerGetPlayFabIDsFromPSNOnlineIDs", &AccountManagementTests::TestServerGetPlayFabIDsFromPSNOnlineIDs); +#endif +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerGetPlayFabIDsFromSteamIDs", &AccountManagementTests::TestServerGetPlayFabIDsFromSteamIDs); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerGetPlayFabIDsFromTwitchIDs", &AccountManagementTests::TestServerGetPlayFabIDsFromTwitchIDs); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerGetPlayFabIDsFromXboxLiveIDs", &AccountManagementTests::TestServerGetPlayFabIDsFromXboxLiveIDs); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerGetServerCustomIDsFromPlayFabIDs", &AccountManagementTests::TestServerGetServerCustomIDsFromPlayFabIDs); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerGetUserAccountInfo", &AccountManagementTests::TestServerGetUserAccountInfo); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerGetUserBans", &AccountManagementTests::TestServerGetUserBans); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerLinkNintendoServiceAccount", &AccountManagementTests::TestServerLinkNintendoServiceAccount); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerLinkNintendoServiceAccountSubject", &AccountManagementTests::TestServerLinkNintendoServiceAccountSubject); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerLinkNintendoSwitchDeviceId", &AccountManagementTests::TestServerLinkNintendoSwitchDeviceId); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerLinkPSNAccount", &AccountManagementTests::TestServerLinkPSNAccount); #endif #if 0 AddTest("TestServerLinkPSNId", &AccountManagementTests::TestServerLinkPSNId); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerLinkServerCustomId", &AccountManagementTests::TestServerLinkServerCustomId); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerLinkSteamId", &AccountManagementTests::TestServerLinkSteamId); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerLinkXboxAccount", &AccountManagementTests::TestServerLinkXboxAccount); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerRevokeAllBansForUser", &AccountManagementTests::TestServerRevokeAllBansForUser); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerRevokeBans", &AccountManagementTests::TestServerRevokeBans); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerSendCustomAccountRecoveryEmail", &AccountManagementTests::TestServerSendCustomAccountRecoveryEmail); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerSendEmailFromTemplate", &AccountManagementTests::TestServerSendEmailFromTemplate); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerUnlinkNintendoServiceAccount", &AccountManagementTests::TestServerUnlinkNintendoServiceAccount); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerUnlinkNintendoSwitchDeviceId", &AccountManagementTests::TestServerUnlinkNintendoSwitchDeviceId); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerUnlinkPSNAccount", &AccountManagementTests::TestServerUnlinkPSNAccount); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerUnlinkServerCustomId", &AccountManagementTests::TestServerUnlinkServerCustomId); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerUnlinkSteamId", &AccountManagementTests::TestServerUnlinkSteamId); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerUnlinkXboxAccount", &AccountManagementTests::TestServerUnlinkXboxAccount); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerUpdateAvatarUrl", &AccountManagementTests::TestServerUpdateAvatarUrl); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerUpdateBans", &AccountManagementTests::TestServerUpdateBans); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestGetTitlePlayersFromXboxLiveIDs", &AccountManagementTests::TestGetTitlePlayersFromXboxLiveIDs); #endif diff --git a/Test/PlayFabServices.GeneratedTests/AccountManagementTests.h b/Test/PlayFabServices.GeneratedTests/AccountManagementTests.h index c281a11..8480993 100644 --- a/Test/PlayFabServices.GeneratedTests/AccountManagementTests.h +++ b/Test/PlayFabServices.GeneratedTests/AccountManagementTests.h @@ -22,262 +22,268 @@ class AccountManagementTests : public ServicesTestClass private: // Autogenerated tests -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestClientAddOrUpdateContactEmail(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestClientAddUsernamePassword(TestContext& testContext); #endif void TestClientGetAccountInfo(TestContext& testContext); void TestClientGetPlayerCombinedInfo(TestContext& testContext); void TestClientGetPlayerProfile(TestContext& testContext); -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC void TestClientGetPlayFabIDsFromFacebookIDs(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestClientGetPlayFabIDsFromFacebookInstantGamesIds(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC void TestClientGetPlayFabIDsFromGameCenterIDs(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC void TestClientGetPlayFabIDsFromGoogleIDs(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC void TestClientGetPlayFabIDsFromGooglePlayGamesPlayerIDs(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestClientGetPlayFabIDsFromKongregateIDs(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestClientGetPlayFabIDsFromNintendoServiceAccountIds(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestClientGetPlayFabIDsFromNintendoSwitchDeviceIds(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestClientGetPlayFabIDsFromPSNAccountIDs(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if 0 + void TestClientGetPlayFabIDsFromPSNOnlineIDs(TestContext& testContext); +#endif +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestClientGetPlayFabIDsFromSteamIDs(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestClientGetPlayFabIDsFromTwitchIDs(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestClientGetPlayFabIDsFromXboxLiveIDs(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC void TestClientLinkAndroidDeviceID(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC void TestClientLinkApple(TestContext& testContext); #endif void TestClientLinkCustomID(TestContext& testContext); -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC void TestClientLinkFacebookAccount(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestClientLinkFacebookInstantGamesId(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC void TestClientLinkGameCenterAccount(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC void TestClientLinkGoogleAccount(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC void TestClientLinkGooglePlayGamesServicesAccount(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestClientLinkIOSDeviceID(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestClientLinkKongregate(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestClientLinkNintendoServiceAccount(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestClientLinkNintendoSwitchDeviceId(TestContext& testContext); #endif void TestClientLinkOpenIdConnect(TestContext& testContext); -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 || HC_PLATFORM == HC_PLATFORM_MAC void TestClientLinkPSNAccount(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestClientLinkSteamAccount(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestClientLinkTwitch(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestClientLinkXboxAccount(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestClientRemoveContactEmail(TestContext& testContext); #endif void TestClientReportPlayer(TestContext& testContext); -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestClientSendAccountRecoveryEmail(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC void TestClientUnlinkAndroidDeviceID(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC void TestClientUnlinkApple(TestContext& testContext); #endif void TestClientUnlinkCustomID(TestContext& testContext); -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC void TestClientUnlinkFacebookAccount(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestClientUnlinkFacebookInstantGamesId(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC void TestClientUnlinkGameCenterAccount(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC void TestClientUnlinkGoogleAccount(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC void TestClientUnlinkGooglePlayGamesServicesAccount(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestClientUnlinkIOSDeviceID(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestClientUnlinkKongregate(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestClientUnlinkNintendoServiceAccount(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestClientUnlinkNintendoSwitchDeviceId(TestContext& testContext); #endif void TestClientUnlinkOpenIdConnect(TestContext& testContext); -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestClientUnlinkPSNAccount(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestClientUnlinkSteamAccount(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestClientUnlinkTwitch(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestClientUnlinkXboxAccount(TestContext& testContext); #endif void TestClientUpdateAvatarUrl(TestContext& testContext); -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestClientUpdateUserTitleDisplayName(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerBanUsers(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerDeletePlayer(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerGetPlayerCombinedInfo(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerGetPlayerProfile(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerGetPlayFabIDsFromFacebookIDs(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerGetPlayFabIDsFromFacebookInstantGamesIds(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerGetPlayFabIDsFromNintendoServiceAccountIds(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerGetPlayFabIDsFromNintendoSwitchDeviceIds(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerGetPlayFabIDsFromPSNAccountIDs(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if 0 + void TestServerGetPlayFabIDsFromPSNOnlineIDs(TestContext& testContext); +#endif +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerGetPlayFabIDsFromSteamIDs(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerGetPlayFabIDsFromTwitchIDs(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerGetPlayFabIDsFromXboxLiveIDs(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerGetServerCustomIDsFromPlayFabIDs(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerGetUserAccountInfo(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerGetUserBans(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerLinkNintendoServiceAccount(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerLinkNintendoServiceAccountSubject(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerLinkNintendoSwitchDeviceId(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerLinkPSNAccount(TestContext& testContext); #endif #if 0 void TestServerLinkPSNId(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerLinkServerCustomId(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerLinkSteamId(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerLinkXboxAccount(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerRevokeAllBansForUser(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerRevokeBans(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerSendCustomAccountRecoveryEmail(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerSendEmailFromTemplate(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerUnlinkNintendoServiceAccount(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerUnlinkNintendoSwitchDeviceId(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerUnlinkPSNAccount(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerUnlinkServerCustomId(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerUnlinkSteamId(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerUnlinkXboxAccount(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerUpdateAvatarUrl(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerUpdateBans(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestGetTitlePlayersFromXboxLiveIDs(TestContext& testContext); #endif diff --git a/Test/PlayFabServices.GeneratedTests/AccountManagementTestsImpl.stubs b/Test/PlayFabServices.GeneratedTests/AccountManagementTestsImpl.stubs index 2f3694e..52336ee 100644 --- a/Test/PlayFabServices.GeneratedTests/AccountManagementTestsImpl.stubs +++ b/Test/PlayFabServices.GeneratedTests/AccountManagementTestsImpl.stubs @@ -17,14 +17,14 @@ AsyncOp AccountManagementTests::Uninitialize() return ServicesTestClass::Uninitialize(); } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientAddOrUpdateContactEmail(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientAddUsernamePassword(TestContext& tc) { tc.Skip(); @@ -46,98 +46,105 @@ void AccountManagementTests::TestClientGetPlayerProfile(TestContext& tc) tc.Skip(); } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientGetPlayFabIDsFromFacebookIDs(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientGetPlayFabIDsFromFacebookInstantGamesIds(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientGetPlayFabIDsFromGameCenterIDs(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientGetPlayFabIDsFromGoogleIDs(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientGetPlayFabIDsFromGooglePlayGamesPlayerIDs(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientGetPlayFabIDsFromKongregateIDs(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientGetPlayFabIDsFromNintendoServiceAccountIds(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientGetPlayFabIDsFromNintendoSwitchDeviceIds(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientGetPlayFabIDsFromPSNAccountIDs(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if 0 +void AccountManagementTests::TestClientGetPlayFabIDsFromPSNOnlineIDs(TestContext& tc) +{ + tc.Skip(); +} +#endif + +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientGetPlayFabIDsFromSteamIDs(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientGetPlayFabIDsFromTwitchIDs(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientGetPlayFabIDsFromXboxLiveIDs(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientLinkAndroidDeviceID(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientLinkApple(TestContext& tc) { tc.Skip(); @@ -149,63 +156,63 @@ void AccountManagementTests::TestClientLinkCustomID(TestContext& tc) tc.Skip(); } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientLinkFacebookAccount(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientLinkFacebookInstantGamesId(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientLinkGameCenterAccount(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientLinkGoogleAccount(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientLinkGooglePlayGamesServicesAccount(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientLinkIOSDeviceID(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientLinkKongregate(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientLinkNintendoServiceAccount(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientLinkNintendoSwitchDeviceId(TestContext& tc) { tc.Skip(); @@ -217,35 +224,35 @@ void AccountManagementTests::TestClientLinkOpenIdConnect(TestContext& tc) tc.Skip(); } -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientLinkPSNAccount(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientLinkSteamAccount(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientLinkTwitch(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientLinkXboxAccount(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientRemoveContactEmail(TestContext& tc) { tc.Skip(); @@ -257,21 +264,21 @@ void AccountManagementTests::TestClientReportPlayer(TestContext& tc) tc.Skip(); } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientSendAccountRecoveryEmail(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientUnlinkAndroidDeviceID(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientUnlinkApple(TestContext& tc) { tc.Skip(); @@ -283,63 +290,63 @@ void AccountManagementTests::TestClientUnlinkCustomID(TestContext& tc) tc.Skip(); } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientUnlinkFacebookAccount(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientUnlinkFacebookInstantGamesId(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_IOS || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientUnlinkGameCenterAccount(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientUnlinkGoogleAccount(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_ANDROID || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientUnlinkGooglePlayGamesServicesAccount(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientUnlinkIOSDeviceID(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientUnlinkKongregate(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientUnlinkNintendoServiceAccount(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientUnlinkNintendoSwitchDeviceId(TestContext& tc) { tc.Skip(); @@ -351,28 +358,28 @@ void AccountManagementTests::TestClientUnlinkOpenIdConnect(TestContext& tc) tc.Skip(); } -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientUnlinkPSNAccount(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientUnlinkSteamAccount(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientUnlinkTwitch(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientUnlinkXboxAccount(TestContext& tc) { tc.Skip(); @@ -384,140 +391,147 @@ void AccountManagementTests::TestClientUpdateAvatarUrl(TestContext& tc) tc.Skip(); } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestClientUpdateUserTitleDisplayName(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerBanUsers(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerDeletePlayer(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerGetPlayerCombinedInfo(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerGetPlayerProfile(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerGetPlayFabIDsFromFacebookIDs(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerGetPlayFabIDsFromFacebookInstantGamesIds(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerGetPlayFabIDsFromNintendoServiceAccountIds(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerGetPlayFabIDsFromNintendoSwitchDeviceIds(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerGetPlayFabIDsFromPSNAccountIDs(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if 0 +void AccountManagementTests::TestServerGetPlayFabIDsFromPSNOnlineIDs(TestContext& tc) +{ + tc.Skip(); +} +#endif + +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerGetPlayFabIDsFromSteamIDs(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerGetPlayFabIDsFromTwitchIDs(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerGetPlayFabIDsFromXboxLiveIDs(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerGetServerCustomIDsFromPlayFabIDs(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerGetUserAccountInfo(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerGetUserBans(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerLinkNintendoServiceAccount(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerLinkNintendoServiceAccountSubject(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerLinkNintendoSwitchDeviceId(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerLinkPSNAccount(TestContext& tc) { tc.Skip(); @@ -531,112 +545,112 @@ void AccountManagementTests::TestServerLinkPSNId(TestContext& tc) } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerLinkServerCustomId(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerLinkSteamId(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerLinkXboxAccount(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerRevokeAllBansForUser(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerRevokeBans(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerSendCustomAccountRecoveryEmail(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerSendEmailFromTemplate(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerUnlinkNintendoServiceAccount(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerUnlinkNintendoSwitchDeviceId(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerUnlinkPSNAccount(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerUnlinkServerCustomId(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerUnlinkSteamId(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerUnlinkXboxAccount(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerUpdateAvatarUrl(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestServerUpdateBans(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void AccountManagementTests::TestGetTitlePlayersFromXboxLiveIDs(TestContext& tc) { tc.Skip(); diff --git a/Test/PlayFabServices.GeneratedTests/CloudScriptTests.cpp b/Test/PlayFabServices.GeneratedTests/CloudScriptTests.cpp index eaae1a4..84b9692 100644 --- a/Test/PlayFabServices.GeneratedTests/CloudScriptTests.cpp +++ b/Test/PlayFabServices.GeneratedTests/CloudScriptTests.cpp @@ -9,7 +9,7 @@ namespace Test void CloudScriptTests::AddTests() { AddTest("TestClientExecuteCloudScript", &CloudScriptTests::TestClientExecuteCloudScript); -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerExecuteCloudScript", &CloudScriptTests::TestServerExecuteCloudScript); #endif AddTest("TestExecuteEntityCloudScript", &CloudScriptTests::TestExecuteEntityCloudScript); diff --git a/Test/PlayFabServices.GeneratedTests/CloudScriptTests.h b/Test/PlayFabServices.GeneratedTests/CloudScriptTests.h index 6829764..1c04003 100644 --- a/Test/PlayFabServices.GeneratedTests/CloudScriptTests.h +++ b/Test/PlayFabServices.GeneratedTests/CloudScriptTests.h @@ -23,7 +23,7 @@ class CloudScriptTests : public ServicesTestClass private: // Autogenerated tests void TestClientExecuteCloudScript(TestContext& testContext); -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerExecuteCloudScript(TestContext& testContext); #endif void TestExecuteEntityCloudScript(TestContext& testContext); diff --git a/Test/PlayFabServices.GeneratedTests/CloudScriptTestsImpl.stubs b/Test/PlayFabServices.GeneratedTests/CloudScriptTestsImpl.stubs index 8d20d4d..f8754c5 100644 --- a/Test/PlayFabServices.GeneratedTests/CloudScriptTestsImpl.stubs +++ b/Test/PlayFabServices.GeneratedTests/CloudScriptTestsImpl.stubs @@ -22,7 +22,7 @@ void CloudScriptTests::TestClientExecuteCloudScript(TestContext& tc) tc.Skip(); } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void CloudScriptTests::TestServerExecuteCloudScript(TestContext& tc) { tc.Skip(); diff --git a/Test/PlayFabServices.GeneratedTests/FriendsTests.cpp b/Test/PlayFabServices.GeneratedTests/FriendsTests.cpp index 9923eb8..1865d32 100644 --- a/Test/PlayFabServices.GeneratedTests/FriendsTests.cpp +++ b/Test/PlayFabServices.GeneratedTests/FriendsTests.cpp @@ -12,16 +12,16 @@ void FriendsTests::AddTests() AddTest("TestClientGetFriendsList", &FriendsTests::TestClientGetFriendsList); AddTest("TestClientRemoveFriend", &FriendsTests::TestClientRemoveFriend); AddTest("TestClientSetFriendTags", &FriendsTests::TestClientSetFriendTags); -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerAddFriend", &FriendsTests::TestServerAddFriend); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerGetFriendsList", &FriendsTests::TestServerGetFriendsList); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerRemoveFriend", &FriendsTests::TestServerRemoveFriend); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerSetFriendTags", &FriendsTests::TestServerSetFriendTags); #endif diff --git a/Test/PlayFabServices.GeneratedTests/FriendsTests.h b/Test/PlayFabServices.GeneratedTests/FriendsTests.h index b7db7f4..2e2df39 100644 --- a/Test/PlayFabServices.GeneratedTests/FriendsTests.h +++ b/Test/PlayFabServices.GeneratedTests/FriendsTests.h @@ -26,16 +26,16 @@ class FriendsTests : public ServicesTestClass void TestClientGetFriendsList(TestContext& testContext); void TestClientRemoveFriend(TestContext& testContext); void TestClientSetFriendTags(TestContext& testContext); -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerAddFriend(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerGetFriendsList(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerRemoveFriend(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerSetFriendTags(TestContext& testContext); #endif diff --git a/Test/PlayFabServices.GeneratedTests/FriendsTestsImpl.stubs b/Test/PlayFabServices.GeneratedTests/FriendsTestsImpl.stubs index 3711c68..9eeb876 100644 --- a/Test/PlayFabServices.GeneratedTests/FriendsTestsImpl.stubs +++ b/Test/PlayFabServices.GeneratedTests/FriendsTestsImpl.stubs @@ -37,28 +37,28 @@ void FriendsTests::TestClientSetFriendTags(TestContext& tc) tc.Skip(); } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void FriendsTests::TestServerAddFriend(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void FriendsTests::TestServerGetFriendsList(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void FriendsTests::TestServerRemoveFriend(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void FriendsTests::TestServerSetFriendTags(TestContext& tc) { tc.Skip(); diff --git a/Test/PlayFabServices.GeneratedTests/GetGeneratedTestsFiles.cmake b/Test/PlayFabServices.GeneratedTests/GetGeneratedTestsFiles.cmake new file mode 100644 index 0000000..52da114 --- /dev/null +++ b/Test/PlayFabServices.GeneratedTests/GetGeneratedTestsFiles.cmake @@ -0,0 +1,45 @@ +cmake_minimum_required(VERSION 3.6) + +# file list similar to PlayFabServices.GeneratedTests.vcxitems +function(GET_PLAYFAB_SERVICES_GENERATED_TESTS_SOURCE_FILES + OUT_PLAYFAB_SERVICES_GENERATED_TESTS_SOURCE_FILES + PATH_TO_SOURCE + ) + + set(${OUT_PLAYFAB_SERVICES_GENERATED_TESTS_SOURCE_FILES} + "${PATH_TO_SOURCE}/AccountManagementTests.cpp" + "${PATH_TO_SOURCE}/CatalogTests.cpp" + "${PATH_TO_SOURCE}/CloudScriptTests.cpp" + "${PATH_TO_SOURCE}/DataTests.cpp" + "${PATH_TO_SOURCE}/ExperimentationTests.cpp" + "${PATH_TO_SOURCE}/FriendsTests.cpp" + "${PATH_TO_SOURCE}/GroupsTests.cpp" + "${PATH_TO_SOURCE}/InventoryTests.cpp" + "${PATH_TO_SOURCE}/LocalizationTests.cpp" + "${PATH_TO_SOURCE}/MultiplayerServerTests.cpp" + "${PATH_TO_SOURCE}/PlatformSpecificTests.cpp" + "${PATH_TO_SOURCE}/PlayerDataManagementTests.cpp" + "${PATH_TO_SOURCE}/ProfilesTests.cpp" + "${PATH_TO_SOURCE}/PushNotificationsTests.cpp" + "${PATH_TO_SOURCE}/SegmentsTests.cpp" + "${PATH_TO_SOURCE}/TitleDataManagementTests.cpp" + "${PATH_TO_SOURCE}/AccountManagementTests.h" + "${PATH_TO_SOURCE}/CatalogTests.h" + "${PATH_TO_SOURCE}/CloudScriptTests.h" + "${PATH_TO_SOURCE}/DataTests.h" + "${PATH_TO_SOURCE}/ExperimentationTests.h" + "${PATH_TO_SOURCE}/FriendsTests.h" + "${PATH_TO_SOURCE}/GroupsTests.h" + "${PATH_TO_SOURCE}/InventoryTests.h" + "${PATH_TO_SOURCE}/LocalizationTests.h" + "${PATH_TO_SOURCE}/MultiplayerServerTests.h" + "${PATH_TO_SOURCE}/PlatformSpecificTests.h" + "${PATH_TO_SOURCE}/PlayerDataManagementTests.h" + "${PATH_TO_SOURCE}/ProfilesTests.h" + "${PATH_TO_SOURCE}/PushNotificationsTests.h" + "${PATH_TO_SOURCE}/SegmentsTests.h" + "${PATH_TO_SOURCE}/TitleDataManagementTests.h" + PARENT_SCOPE + ) + +endfunction() diff --git a/Test/PlayFabServices.GeneratedTests/InventoryTests.cpp b/Test/PlayFabServices.GeneratedTests/InventoryTests.cpp index 8efa180..6d9bce1 100644 --- a/Test/PlayFabServices.GeneratedTests/InventoryTests.cpp +++ b/Test/PlayFabServices.GeneratedTests/InventoryTests.cpp @@ -14,29 +14,29 @@ void InventoryTests::AddTests() AddTest("TestExecuteInventoryOperations", &InventoryTests::TestExecuteInventoryOperations); AddTest("TestGetInventoryCollectionIds", &InventoryTests::TestGetInventoryCollectionIds); AddTest("TestGetInventoryItems", &InventoryTests::TestGetInventoryItems); -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestGetMicrosoftStoreAccessTokens", &InventoryTests::TestGetMicrosoftStoreAccessTokens); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestGetTransactionHistory", &InventoryTests::TestGetTransactionHistory); #endif AddTest("TestPurchaseInventoryItems", &InventoryTests::TestPurchaseInventoryItems); -#if 0 +#if HC_PLATFORM == HC_PLATFORM_IOS AddTest("TestRedeemAppleAppStoreInventoryItems", &InventoryTests::TestRedeemAppleAppStoreInventoryItems); #endif -#if 0 +#if HC_PLATFORM == HC_PLATFORM_ANDROID AddTest("TestRedeemGooglePlayInventoryItems", &InventoryTests::TestRedeemGooglePlayInventoryItems); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestRedeemMicrosoftStoreInventoryItems", &InventoryTests::TestRedeemMicrosoftStoreInventoryItems); #endif -#if HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestRedeemNintendoEShopInventoryItems", &InventoryTests::TestRedeemNintendoEShopInventoryItems); #endif -#if HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestRedeemPlayStationStoreInventoryItems", &InventoryTests::TestRedeemPlayStationStoreInventoryItems); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestRedeemSteamInventoryItems", &InventoryTests::TestRedeemSteamInventoryItems); #endif AddTest("TestSubtractInventoryItems", &InventoryTests::TestSubtractInventoryItems); diff --git a/Test/PlayFabServices.GeneratedTests/InventoryTests.h b/Test/PlayFabServices.GeneratedTests/InventoryTests.h index 0b53a98..cd238b5 100644 --- a/Test/PlayFabServices.GeneratedTests/InventoryTests.h +++ b/Test/PlayFabServices.GeneratedTests/InventoryTests.h @@ -28,29 +28,29 @@ class InventoryTests : public ServicesTestClass void TestExecuteInventoryOperations(TestContext& testContext); void TestGetInventoryCollectionIds(TestContext& testContext); void TestGetInventoryItems(TestContext& testContext); -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestGetMicrosoftStoreAccessTokens(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestGetTransactionHistory(TestContext& testContext); #endif void TestPurchaseInventoryItems(TestContext& testContext); -#if 0 +#if HC_PLATFORM == HC_PLATFORM_IOS void TestRedeemAppleAppStoreInventoryItems(TestContext& testContext); #endif -#if 0 +#if HC_PLATFORM == HC_PLATFORM_ANDROID void TestRedeemGooglePlayInventoryItems(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestRedeemMicrosoftStoreInventoryItems(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestRedeemNintendoEShopInventoryItems(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestRedeemPlayStationStoreInventoryItems(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_MAC void TestRedeemSteamInventoryItems(TestContext& testContext); #endif void TestSubtractInventoryItems(TestContext& testContext); diff --git a/Test/PlayFabServices.GeneratedTests/InventoryTestsImpl.stubs b/Test/PlayFabServices.GeneratedTests/InventoryTestsImpl.stubs index fa418b1..7125690 100644 --- a/Test/PlayFabServices.GeneratedTests/InventoryTestsImpl.stubs +++ b/Test/PlayFabServices.GeneratedTests/InventoryTestsImpl.stubs @@ -47,14 +47,14 @@ void InventoryTests::TestGetInventoryItems(TestContext& tc) tc.Skip(); } -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void InventoryTests::TestGetMicrosoftStoreAccessTokens(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void InventoryTests::TestGetTransactionHistory(TestContext& tc) { tc.Skip(); @@ -66,42 +66,42 @@ void InventoryTests::TestPurchaseInventoryItems(TestContext& tc) tc.Skip(); } -#if 0 +#if HC_PLATFORM == HC_PLATFORM_IOS void InventoryTests::TestRedeemAppleAppStoreInventoryItems(TestContext& tc) { tc.Skip(); } #endif -#if 0 +#if HC_PLATFORM == HC_PLATFORM_ANDROID void InventoryTests::TestRedeemGooglePlayInventoryItems(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_GDK || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void InventoryTests::TestRedeemMicrosoftStoreInventoryItems(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_NINTENDO_SWITCH || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void InventoryTests::TestRedeemNintendoEShopInventoryItems(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_4 || HC_PLATFORM == HC_PLATFORM_SONY_PLAYSTATION_5 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void InventoryTests::TestRedeemPlayStationStoreInventoryItems(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_MAC void InventoryTests::TestRedeemSteamInventoryItems(TestContext& tc) { tc.Skip(); diff --git a/Test/PlayFabServices.GeneratedTests/LocalizationTests.cpp b/Test/PlayFabServices.GeneratedTests/LocalizationTests.cpp index a131f48..db8c486 100644 --- a/Test/PlayFabServices.GeneratedTests/LocalizationTests.cpp +++ b/Test/PlayFabServices.GeneratedTests/LocalizationTests.cpp @@ -8,7 +8,7 @@ namespace Test void LocalizationTests::AddTests() { -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestGetLanguageList", &LocalizationTests::TestGetLanguageList); #endif diff --git a/Test/PlayFabServices.GeneratedTests/LocalizationTests.h b/Test/PlayFabServices.GeneratedTests/LocalizationTests.h index 79d2901..3d2351e 100644 --- a/Test/PlayFabServices.GeneratedTests/LocalizationTests.h +++ b/Test/PlayFabServices.GeneratedTests/LocalizationTests.h @@ -22,7 +22,7 @@ class LocalizationTests : public ServicesTestClass private: // Autogenerated tests -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestGetLanguageList(TestContext& testContext); #endif diff --git a/Test/PlayFabServices.GeneratedTests/LocalizationTestsImpl.stubs b/Test/PlayFabServices.GeneratedTests/LocalizationTestsImpl.stubs index b5991bd..aa6e82f 100644 --- a/Test/PlayFabServices.GeneratedTests/LocalizationTestsImpl.stubs +++ b/Test/PlayFabServices.GeneratedTests/LocalizationTestsImpl.stubs @@ -17,7 +17,7 @@ AsyncOp LocalizationTests::Uninitialize() return ServicesTestClass::Uninitialize(); } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void LocalizationTests::TestGetLanguageList(TestContext& tc) { tc.Skip(); diff --git a/Test/PlayFabServices.GeneratedTests/PlatformSpecificTests.cpp b/Test/PlayFabServices.GeneratedTests/PlatformSpecificTests.cpp index 861c535..e7cab8c 100644 --- a/Test/PlayFabServices.GeneratedTests/PlatformSpecificTests.cpp +++ b/Test/PlayFabServices.GeneratedTests/PlatformSpecificTests.cpp @@ -8,16 +8,16 @@ namespace Test void PlatformSpecificTests::AddTests() { -#if 0 +#if HC_PLATFORM == HC_PLATFORM_ANDROID AddTest("TestClientAndroidDevicePushNotificationRegistration", &PlatformSpecificTests::TestClientAndroidDevicePushNotificationRegistration); #endif #if 0 AddTest("TestClientRefreshPSNAuthToken", &PlatformSpecificTests::TestClientRefreshPSNAuthToken); #endif -#if 0 +#if HC_PLATFORM == HC_PLATFORM_IOS AddTest("TestClientRegisterForIOSPushNotification", &PlatformSpecificTests::TestClientRegisterForIOSPushNotification); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerAwardSteamAchievement", &PlatformSpecificTests::TestServerAwardSteamAchievement); #endif diff --git a/Test/PlayFabServices.GeneratedTests/PlatformSpecificTests.h b/Test/PlayFabServices.GeneratedTests/PlatformSpecificTests.h index 6927996..aee6253 100644 --- a/Test/PlayFabServices.GeneratedTests/PlatformSpecificTests.h +++ b/Test/PlayFabServices.GeneratedTests/PlatformSpecificTests.h @@ -22,16 +22,16 @@ class PlatformSpecificTests : public ServicesTestClass private: // Autogenerated tests -#if 0 +#if HC_PLATFORM == HC_PLATFORM_ANDROID void TestClientAndroidDevicePushNotificationRegistration(TestContext& testContext); #endif #if 0 void TestClientRefreshPSNAuthToken(TestContext& testContext); #endif -#if 0 +#if HC_PLATFORM == HC_PLATFORM_IOS void TestClientRegisterForIOSPushNotification(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerAwardSteamAchievement(TestContext& testContext); #endif diff --git a/Test/PlayFabServices.GeneratedTests/PlatformSpecificTestsImpl.stubs b/Test/PlayFabServices.GeneratedTests/PlatformSpecificTestsImpl.stubs index 4a2e72f..ff7dede 100644 --- a/Test/PlayFabServices.GeneratedTests/PlatformSpecificTestsImpl.stubs +++ b/Test/PlayFabServices.GeneratedTests/PlatformSpecificTestsImpl.stubs @@ -17,7 +17,7 @@ AsyncOp PlatformSpecificTests::Uninitialize() return ServicesTestClass::Uninitialize(); } -#if 0 +#if HC_PLATFORM == HC_PLATFORM_ANDROID void PlatformSpecificTests::TestClientAndroidDevicePushNotificationRegistration(TestContext& tc) { tc.Skip(); @@ -31,14 +31,14 @@ void PlatformSpecificTests::TestClientRefreshPSNAuthToken(TestContext& tc) } #endif -#if 0 +#if HC_PLATFORM == HC_PLATFORM_IOS void PlatformSpecificTests::TestClientRegisterForIOSPushNotification(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void PlatformSpecificTests::TestServerAwardSteamAchievement(TestContext& tc) { tc.Skip(); diff --git a/Test/PlayFabServices.GeneratedTests/PlayerDataManagementTests.cpp b/Test/PlayFabServices.GeneratedTests/PlayerDataManagementTests.cpp index cd6cd3d..a87408c 100644 --- a/Test/PlayFabServices.GeneratedTests/PlayerDataManagementTests.cpp +++ b/Test/PlayFabServices.GeneratedTests/PlayerDataManagementTests.cpp @@ -14,40 +14,40 @@ void PlayerDataManagementTests::AddTests() AddTest("TestClientGetUserReadOnlyData", &PlayerDataManagementTests::TestClientGetUserReadOnlyData); AddTest("TestClientUpdateUserData", &PlayerDataManagementTests::TestClientUpdateUserData); AddTest("TestClientUpdateUserPublisherData", &PlayerDataManagementTests::TestClientUpdateUserPublisherData); -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerGetUserData", &PlayerDataManagementTests::TestServerGetUserData); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerGetUserInternalData", &PlayerDataManagementTests::TestServerGetUserInternalData); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerGetUserPublisherData", &PlayerDataManagementTests::TestServerGetUserPublisherData); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerGetUserPublisherInternalData", &PlayerDataManagementTests::TestServerGetUserPublisherInternalData); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerGetUserPublisherReadOnlyData", &PlayerDataManagementTests::TestServerGetUserPublisherReadOnlyData); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerGetUserReadOnlyData", &PlayerDataManagementTests::TestServerGetUserReadOnlyData); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerUpdateUserData", &PlayerDataManagementTests::TestServerUpdateUserData); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerUpdateUserInternalData", &PlayerDataManagementTests::TestServerUpdateUserInternalData); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerUpdateUserPublisherData", &PlayerDataManagementTests::TestServerUpdateUserPublisherData); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerUpdateUserPublisherInternalData", &PlayerDataManagementTests::TestServerUpdateUserPublisherInternalData); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerUpdateUserPublisherReadOnlyData", &PlayerDataManagementTests::TestServerUpdateUserPublisherReadOnlyData); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerUpdateUserReadOnlyData", &PlayerDataManagementTests::TestServerUpdateUserReadOnlyData); #endif diff --git a/Test/PlayFabServices.GeneratedTests/PlayerDataManagementTests.h b/Test/PlayFabServices.GeneratedTests/PlayerDataManagementTests.h index de752f7..eeef71c 100644 --- a/Test/PlayFabServices.GeneratedTests/PlayerDataManagementTests.h +++ b/Test/PlayFabServices.GeneratedTests/PlayerDataManagementTests.h @@ -28,40 +28,40 @@ class PlayerDataManagementTests : public ServicesTestClass void TestClientGetUserReadOnlyData(TestContext& testContext); void TestClientUpdateUserData(TestContext& testContext); void TestClientUpdateUserPublisherData(TestContext& testContext); -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerGetUserData(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerGetUserInternalData(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerGetUserPublisherData(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerGetUserPublisherInternalData(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerGetUserPublisherReadOnlyData(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerGetUserReadOnlyData(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerUpdateUserData(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerUpdateUserInternalData(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerUpdateUserPublisherData(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerUpdateUserPublisherInternalData(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerUpdateUserPublisherReadOnlyData(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerUpdateUserReadOnlyData(TestContext& testContext); #endif diff --git a/Test/PlayFabServices.GeneratedTests/PlayerDataManagementTestsImpl.stubs b/Test/PlayFabServices.GeneratedTests/PlayerDataManagementTestsImpl.stubs index f8f6af8..20979e0 100644 --- a/Test/PlayFabServices.GeneratedTests/PlayerDataManagementTestsImpl.stubs +++ b/Test/PlayFabServices.GeneratedTests/PlayerDataManagementTestsImpl.stubs @@ -47,84 +47,84 @@ void PlayerDataManagementTests::TestClientUpdateUserPublisherData(TestContext& t tc.Skip(); } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void PlayerDataManagementTests::TestServerGetUserData(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void PlayerDataManagementTests::TestServerGetUserInternalData(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void PlayerDataManagementTests::TestServerGetUserPublisherData(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void PlayerDataManagementTests::TestServerGetUserPublisherInternalData(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void PlayerDataManagementTests::TestServerGetUserPublisherReadOnlyData(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void PlayerDataManagementTests::TestServerGetUserReadOnlyData(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void PlayerDataManagementTests::TestServerUpdateUserData(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void PlayerDataManagementTests::TestServerUpdateUserInternalData(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void PlayerDataManagementTests::TestServerUpdateUserPublisherData(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void PlayerDataManagementTests::TestServerUpdateUserPublisherInternalData(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void PlayerDataManagementTests::TestServerUpdateUserPublisherReadOnlyData(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void PlayerDataManagementTests::TestServerUpdateUserReadOnlyData(TestContext& tc) { tc.Skip(); diff --git a/Test/PlayFabServices.GeneratedTests/PushNotificationsTests.cpp b/Test/PlayFabServices.GeneratedTests/PushNotificationsTests.cpp index 62b92f0..343dfd5 100644 --- a/Test/PlayFabServices.GeneratedTests/PushNotificationsTests.cpp +++ b/Test/PlayFabServices.GeneratedTests/PushNotificationsTests.cpp @@ -8,10 +8,10 @@ namespace Test void PushNotificationsTests::AddTests() { -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerSendPushNotification", &PushNotificationsTests::TestServerSendPushNotification); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerSendPushNotificationFromTemplate", &PushNotificationsTests::TestServerSendPushNotificationFromTemplate); #endif diff --git a/Test/PlayFabServices.GeneratedTests/PushNotificationsTests.h b/Test/PlayFabServices.GeneratedTests/PushNotificationsTests.h index 9c5ef57..0866780 100644 --- a/Test/PlayFabServices.GeneratedTests/PushNotificationsTests.h +++ b/Test/PlayFabServices.GeneratedTests/PushNotificationsTests.h @@ -22,10 +22,10 @@ class PushNotificationsTests : public ServicesTestClass private: // Autogenerated tests -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerSendPushNotification(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerSendPushNotificationFromTemplate(TestContext& testContext); #endif diff --git a/Test/PlayFabServices.GeneratedTests/PushNotificationsTestsImpl.stubs b/Test/PlayFabServices.GeneratedTests/PushNotificationsTestsImpl.stubs index e2f494b..d94aa4e 100644 --- a/Test/PlayFabServices.GeneratedTests/PushNotificationsTestsImpl.stubs +++ b/Test/PlayFabServices.GeneratedTests/PushNotificationsTestsImpl.stubs @@ -17,14 +17,14 @@ AsyncOp PushNotificationsTests::Uninitialize() return ServicesTestClass::Uninitialize(); } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void PushNotificationsTests::TestServerSendPushNotification(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void PushNotificationsTests::TestServerSendPushNotificationFromTemplate(TestContext& tc) { tc.Skip(); diff --git a/Test/PlayFabServices.GeneratedTests/SegmentsTests.cpp b/Test/PlayFabServices.GeneratedTests/SegmentsTests.cpp index 0b07194..ce9dc48 100644 --- a/Test/PlayFabServices.GeneratedTests/SegmentsTests.cpp +++ b/Test/PlayFabServices.GeneratedTests/SegmentsTests.cpp @@ -10,22 +10,22 @@ void SegmentsTests::AddTests() { AddTest("TestClientGetPlayerSegments", &SegmentsTests::TestClientGetPlayerSegments); AddTest("TestClientGetPlayerTags", &SegmentsTests::TestClientGetPlayerTags); -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerAddPlayerTag", &SegmentsTests::TestServerAddPlayerTag); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerGetAllSegments", &SegmentsTests::TestServerGetAllSegments); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerGetPlayerSegments", &SegmentsTests::TestServerGetPlayerSegments); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerGetPlayersInSegment", &SegmentsTests::TestServerGetPlayersInSegment); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerGetPlayerTags", &SegmentsTests::TestServerGetPlayerTags); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerRemovePlayerTag", &SegmentsTests::TestServerRemovePlayerTag); #endif diff --git a/Test/PlayFabServices.GeneratedTests/SegmentsTests.h b/Test/PlayFabServices.GeneratedTests/SegmentsTests.h index a92ec02..0fbf613 100644 --- a/Test/PlayFabServices.GeneratedTests/SegmentsTests.h +++ b/Test/PlayFabServices.GeneratedTests/SegmentsTests.h @@ -24,22 +24,22 @@ class SegmentsTests : public ServicesTestClass // Autogenerated tests void TestClientGetPlayerSegments(TestContext& testContext); void TestClientGetPlayerTags(TestContext& testContext); -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerAddPlayerTag(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerGetAllSegments(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerGetPlayerSegments(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerGetPlayersInSegment(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerGetPlayerTags(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerRemovePlayerTag(TestContext& testContext); #endif diff --git a/Test/PlayFabServices.GeneratedTests/SegmentsTestsImpl.stubs b/Test/PlayFabServices.GeneratedTests/SegmentsTestsImpl.stubs index 7862413..492f259 100644 --- a/Test/PlayFabServices.GeneratedTests/SegmentsTestsImpl.stubs +++ b/Test/PlayFabServices.GeneratedTests/SegmentsTestsImpl.stubs @@ -27,42 +27,42 @@ void SegmentsTests::TestClientGetPlayerTags(TestContext& tc) tc.Skip(); } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void SegmentsTests::TestServerAddPlayerTag(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void SegmentsTests::TestServerGetAllSegments(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void SegmentsTests::TestServerGetPlayerSegments(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void SegmentsTests::TestServerGetPlayersInSegment(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void SegmentsTests::TestServerGetPlayerTags(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void SegmentsTests::TestServerRemovePlayerTag(TestContext& tc) { tc.Skip(); diff --git a/Test/PlayFabServices.GeneratedTests/TitleDataManagementTests.cpp b/Test/PlayFabServices.GeneratedTests/TitleDataManagementTests.cpp index f7c6743..bf1bfd5 100644 --- a/Test/PlayFabServices.GeneratedTests/TitleDataManagementTests.cpp +++ b/Test/PlayFabServices.GeneratedTests/TitleDataManagementTests.cpp @@ -12,28 +12,28 @@ void TitleDataManagementTests::AddTests() AddTest("TestClientGetTime", &TitleDataManagementTests::TestClientGetTime); AddTest("TestClientGetTitleData", &TitleDataManagementTests::TestClientGetTitleData); AddTest("TestClientGetTitleNews", &TitleDataManagementTests::TestClientGetTitleNews); -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerGetPublisherData", &TitleDataManagementTests::TestServerGetPublisherData); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerGetTime", &TitleDataManagementTests::TestServerGetTime); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerGetTitleData", &TitleDataManagementTests::TestServerGetTitleData); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerGetTitleInternalData", &TitleDataManagementTests::TestServerGetTitleInternalData); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerGetTitleNews", &TitleDataManagementTests::TestServerGetTitleNews); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerSetPublisherData", &TitleDataManagementTests::TestServerSetPublisherData); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerSetTitleData", &TitleDataManagementTests::TestServerSetTitleData); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC AddTest("TestServerSetTitleInternalData", &TitleDataManagementTests::TestServerSetTitleInternalData); #endif diff --git a/Test/PlayFabServices.GeneratedTests/TitleDataManagementTests.h b/Test/PlayFabServices.GeneratedTests/TitleDataManagementTests.h index 64483f4..874d485 100644 --- a/Test/PlayFabServices.GeneratedTests/TitleDataManagementTests.h +++ b/Test/PlayFabServices.GeneratedTests/TitleDataManagementTests.h @@ -26,28 +26,28 @@ class TitleDataManagementTests : public ServicesTestClass void TestClientGetTime(TestContext& testContext); void TestClientGetTitleData(TestContext& testContext); void TestClientGetTitleNews(TestContext& testContext); -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerGetPublisherData(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerGetTime(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerGetTitleData(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerGetTitleInternalData(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerGetTitleNews(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerSetPublisherData(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerSetTitleData(TestContext& testContext); #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TestServerSetTitleInternalData(TestContext& testContext); #endif diff --git a/Test/PlayFabServices.GeneratedTests/TitleDataManagementTestsImpl.stubs b/Test/PlayFabServices.GeneratedTests/TitleDataManagementTestsImpl.stubs index c2791ec..e124350 100644 --- a/Test/PlayFabServices.GeneratedTests/TitleDataManagementTestsImpl.stubs +++ b/Test/PlayFabServices.GeneratedTests/TitleDataManagementTestsImpl.stubs @@ -37,56 +37,56 @@ void TitleDataManagementTests::TestClientGetTitleNews(TestContext& tc) tc.Skip(); } -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TitleDataManagementTests::TestServerGetPublisherData(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TitleDataManagementTests::TestServerGetTime(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TitleDataManagementTests::TestServerGetTitleData(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TitleDataManagementTests::TestServerGetTitleInternalData(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TitleDataManagementTests::TestServerGetTitleNews(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TitleDataManagementTests::TestServerSetPublisherData(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TitleDataManagementTests::TestServerSetTitleData(TestContext& tc) { tc.Skip(); } #endif -#if HC_PLATFORM == HC_PLATFORM_WIN32 +#if HC_PLATFORM == HC_PLATFORM_WIN32 || HC_PLATFORM == HC_PLATFORM_LINUX || HC_PLATFORM == HC_PLATFORM_MAC void TitleDataManagementTests::TestServerSetTitleInternalData(TestContext& tc) { tc.Skip(); diff --git a/Test/PlayFabServicesManualTestApp/Linux/.gitignore b/Test/PlayFabServicesManualTestApp/Linux/.gitignore new file mode 100644 index 0000000..5fa12a3 --- /dev/null +++ b/Test/PlayFabServicesManualTestApp/Linux/.gitignore @@ -0,0 +1 @@ +CMakeOut \ No newline at end of file diff --git a/Test/PlayFabServicesManualTestApp/Linux/BuildTest.bash b/Test/PlayFabServicesManualTestApp/Linux/BuildTest.bash new file mode 100644 index 0000000..3fc32f3 --- /dev/null +++ b/Test/PlayFabServicesManualTestApp/Linux/BuildTest.bash @@ -0,0 +1,52 @@ +#!/bin/bash +log () { + echo "***** $1 *****" +} + +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) + +POSITIONAL_ARGS=() + +# Default configurations +CONFIGURATION="Release" +if [ "$LHC_PATH" == "" ]; then + LHC_PATH="$SCRIPT_DIR/../../../../libHttpClient" +fi + +while [[ $# -gt 0 ]]; do + case $1 in + -c|--config) + CONFIGURATION="$2" + shift # past argument + shift # past value + ;; + -lhc|--libHttpClientPath) + LHC_PATH="$2" + shift # past argument + shift # past value + ;; + -sg|--skipaptget) + DO_APTGET=false + shift + ;; + -*|--*) + echo "Unknown option $1" + exit 1 + ;; + *) + POSITIONAL_ARGS+=("$1") # save positional arg + shift # past argument + ;; + esac +done + +set -- "${POSITIONAL_ARGS[@]}" # restore positional parameters + +log "#### Building TestApp ####" +log "CONFIGURATION = ${CONFIGURATION}" +log "LHC_PATH = ${LHC_PATH}" + +make TestApp +sudo cmake -S "$SCRIPT_DIR" -B "$SCRIPT_DIR/CMakeOut" -D LHC_PATH=$LHC_PATH +sudo make -C "$SCRIPT_DIR/CMakeOut" + diff --git a/Test/PlayFabServicesManualTestApp/Linux/CMakeLists.txt b/Test/PlayFabServicesManualTestApp/Linux/CMakeLists.txt new file mode 100644 index 0000000..68ac5e6 --- /dev/null +++ b/Test/PlayFabServicesManualTestApp/Linux/CMakeLists.txt @@ -0,0 +1,102 @@ +cmake_minimum_required(VERSION 3.6) + +get_filename_component(PATH_TO_ROOT "../../.." ABSOLUTE) + +project("TestApp") + +set(CMAKE_C_COMPILER clang) +set(CMAKE_CXX_COMPILER clang++) +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_POSITION_INDEPENDENT_CODE ON) +set(CMAKE_CXX_VISIBILITY_PRESET hidden) + +message(STATUS "CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}") +if (CMAKE_BUILD_TYPE STREQUAL "Debug") + add_definitions("-DDBG -D_DBG -DDEBUG -D_DEBUG") +endif() + +########################################### +### Set up paths for source and include ### +########################################### + +# Set final output folder +SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG Out/TestApp) +SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE Out/TestApp) +SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG Out/TestApp) +SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE Out/TestApp) +SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG Out/TestApp) +SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE Out/TestApp) +set(BINARY_DIR Int/TestApp) + +######################### +### Set up exe ### +######################### + +message(STATUS "PROJECT_NAME: ${PROJECT_NAME}") + +add_executable("${PROJECT_NAME}") + +# ------------------------------------------------------------------------------------------------- +# Build against binaries built from source. This will still require PlayFabServices.Linux and its dependencies +# to be built separately. See ${PATH_TO_ROOT}/Build/PlayFabServices.Linux/README.md for details. + +set(libHttpClient.Linux_DIR "${LHC_PATH}/Int/CMake/libHttpClient.Linux") +set(PlayFabCore.Linux_DIR "${PATH_TO_ROOT}/Int/CMake/PlayFabCore.Linux") +set(PlayFabServices.Linux_DIR "${PATH_TO_ROOT}/Int/CMake/PlayFabServices.Linux") + +find_package(PlayFabServices.Linux REQUIRED) +find_package(PlayFabCore.Linux REQUIRED) +find_package(libHttpClient.Linux REQUIRED) +target_link_libraries(${PROJECT_NAME} + PRIVATE libHttpClient.Linux + PRIVATE PlayFabCore.Linux + PRIVATE PlayFabServices.Linux + ) + +# Set up include directories. Using rapidjson so needed to add that include path +target_include_directories( + "${PROJECT_NAME}" + PRIVATE + "${PATH_TO_ROOT}/External/rapidjson/include" + "${PATH_TO_ROOT}/../PlayFabServicesLinuxSDK/include" # Required if building against release package + ) +# ------------------------------------------------------------------------------------------------- + + +# ------------------------------------------------------------------------------------------------- +# Building against a binary release at ${PATH_TO_ROOT}/../PlayFabServicesLinuxSDK/ +# Use the following section rather than the "build from source" section above. + +#target_link_libraries(${PROJECT_NAME} +# PRIVATE ${PATH_TO_ROOT}/../PlayFabServicesLinuxSDK/bin/libHttpClient.Linux.so +# PRIVATE ${PATH_TO_ROOT}/../PlayFabServicesLinuxSDK/bin/PlayFabCore.Linux.so +# PRIVATE ${PATH_TO_ROOT}/../PlayFabServicesLinuxSDK/bin/PlayFabServices.Linux.so +# ) + +# Set up include directories. Using rapidjson so needed to add that include path +#target_include_directories( +# "${PROJECT_NAME}" +# PRIVATE +# "${PATH_TO_ROOT}/External/rapidjson/include" +# "${PATH_TO_ROOT}/../PlayFabServicesLinuxSDK/include" # Required if building against release package +# ) +# ------------------------------------------------------------------------------------------------- + +target_sources( + "${PROJECT_NAME}" + PRIVATE + "main.cpp" +) + +include("${PATH_TO_ROOT}/Build/PlayFabSharedInternal.CMake/GetLinuxFlags.cmake") +get_linux_flags(FLAGS FLAGS_DEBUG FLAGS_RELEASE) + +include("${PATH_TO_ROOT}/Build/PlayFabSharedInternal.CMake/TargetSetFlags.cmake") +target_set_flags( + "${PROJECT_NAME}" + "${FLAGS}" + "${FLAGS_DEBUG}" + "${FLAGS_RELEASE}" + ) + diff --git a/Test/PlayFabServicesManualTestApp/Linux/main.cpp b/Test/PlayFabServicesManualTestApp/Linux/main.cpp new file mode 100644 index 0000000..c561b71 --- /dev/null +++ b/Test/PlayFabServicesManualTestApp/Linux/main.cpp @@ -0,0 +1,180 @@ +#include +#include +#include +#include +#include + +#include +#include + +using namespace std; + +void CALLBACK MyTraceCallback( + _In_z_ char const* areaName, + enum PFHCTraceLevel level, + uint64_t threadId, + uint64_t timestamp, + _In_z_ char const* message) +{ + cout << areaName << " " << message << endl; +} + +struct TestTitleData +{ + std::string titleId; + std::string secretKey; + std::string connectionString; +}; + + +std::vector readFileIntoVector(const std::string &filename) +{ + std::ifstream file(filename, std::ios::binary | std::ios::ate); + + if (!file.is_open()) { + std::cerr << "Error opening file" << std::endl; + exit(EXIT_FAILURE); + } + + std::streampos fileSize = file.tellg(); + if (fileSize > 10000) { + std::cerr << "File too large" << std::endl; + exit(EXIT_FAILURE); + } + + file.seekg(0, std::ios::beg); + + std::vector buffer(fileSize); + if (!file.read(buffer.data(), fileSize)) { + std::cerr << "Error reading file" << std::endl; + exit(EXIT_FAILURE); + } + + file.close(); + return buffer; +} + +HRESULT GetTestTitleData(TestTitleData& testTitleData) noexcept +{ + // the testTitleData JSON file looks something like this: + // { + // "titleId": "YOUR_TITLE_ID", + // "secretKey": "", + // "connectionString": "https://YOUR_TITLE_ID.playfabapi.com", + // } + + auto fileData = readFileIntoVector("../../testTitleData.json"); + + + // Parse JSON string into output TestTitleData. + rapidjson::Document titleDataJson; + titleDataJson.Parse(fileData.data()); + + if (titleDataJson.HasParseError()) + { + return E_FAIL; + } + + testTitleData.titleId = titleDataJson["titleId"].GetString(); + testTitleData.secretKey = titleDataJson["secretKey"].GetString(); + testTitleData.connectionString = titleDataJson["connectionString"].GetString(); + + return S_OK; +} + +int main() +{ + PFHCSettingsSetTraceLevel(PFHCTraceLevel::Verbose); + PFHCTraceSetClientCallback(MyTraceCallback); + + HRESULT hr = PFServicesInitialize(nullptr); + cout << "PFServicesInitialize: 0x" << setw(8) << setfill('0') << hex << hr << endl; + + PFServiceConfigHandle serviceConfigHandle{ nullptr }; + + TestTitleData testTitleData = {}; + hr = GetTestTitleData(testTitleData); + cout << "GetTestTitleData: 0x" << setw(8) << setfill('0') << hex << hr << endl; + + hr = PFServiceConfigCreateHandle( + testTitleData.connectionString.c_str(), + testTitleData.titleId.c_str(), + &serviceConfigHandle); + cout << "PFServiceConfigCreateHandle: 0x" << setw(8) << setfill('0') << hex << hr << endl; + + PFAuthenticationLoginWithCustomIDRequest request{}; + request.createAccount = true; + request.customId = "player1"; // change to per player custom ID + + XAsyncBlock async1{}; + hr = PFAuthenticationLoginWithCustomIDAsync(serviceConfigHandle, &request, &async1); // Add your own error handling when FAILED(hr) == true + cout << "PFAuthenticationLoginWithCustomIDAsync: 0x" << setw(8) << setfill('0') << hex << hr << endl; + hr = XAsyncGetStatus(&async1, true); // This is doing a blocking wait for completion, but you can use the XAsyncBlock to set a callback instead for async style usage + cout << "PFAuthenticationLoginWithCustomIDAsync XAsyncGetStatus: 0x" << setw(8) << setfill('0') << hex << hr << endl; + + if( SUCCEEDED(hr) ) + { + std::vector loginResultBuffer; + PFAuthenticationLoginResult const* loginResult; + size_t bufferSize; + hr = PFAuthenticationLoginWithCustomIDGetResultSize(&async1, &bufferSize); + cout << "PFAuthenticationLoginWithCustomIDGetResultSize: 0x" << setw(8) << setfill('0') << hex << hr << endl; + loginResultBuffer.resize(bufferSize); + + PFEntityHandle entityHandle{ nullptr }; + hr = PFAuthenticationLoginWithCustomIDGetResult(&async1, &entityHandle, loginResultBuffer.size(), loginResultBuffer.data(), &loginResult, nullptr); + cout << "PFAuthenticationLoginWithCustomIDGetResult: 0x" << setw(8) << setfill('0') << hex << hr << endl; + + PFEntityKey const* pEntityKey{}; + std::vector entityKeyBuffer; + size_t size{}; + hr = PFEntityGetEntityKeySize(entityHandle, &size); // Add your own error handling when FAILED(hr) == true + cout << "PFEntityGetEntityKeySize: 0x" << setw(8) << setfill('0') << hex << hr << endl; + + entityKeyBuffer.resize(size); + hr = PFEntityGetEntityKey(entityHandle, entityKeyBuffer.size(), entityKeyBuffer.data(), &pEntityKey, nullptr); + cout << "PFEntityGetEntityKey: 0x" << setw(8) << setfill('0') << hex << hr << endl; + + if (SUCCEEDED(hr)) + { + XAsyncBlock async2{}; + PFDataGetFilesRequest requestFiles{}; + requestFiles.entity = pEntityKey; + + hr = PFDataGetFilesAsync(entityHandle, &requestFiles, &async2); // Add your own error handling when FAILED(hr) == true + cout << "PFDataGetFilesAsync: 0x" << setw(8) << setfill('0') << hex << hr << endl; + hr = XAsyncGetStatus(&async2, true); // This is doing a blocking wait for completion, but you can use the XAsyncBlock to set a callback instead for async style usage + cout << "PFDataGetFilesAsync XAsyncGetStatus: 0x" << setw(8) << setfill('0') << hex << hr << endl; + + size_t resultSize; + hr = PFDataGetFilesGetResultSize(&async2, &resultSize); + cout << "PFDataGetFilesGetResultSize: 0x" << setw(8) << setfill('0') << hex << hr << endl; + + std::vector getFilesResultBuffer(resultSize); + PFDataGetFilesResponse* getFilesResponseResult{ nullptr }; + hr = PFDataGetFilesGetResult(&async2, getFilesResultBuffer.size(), getFilesResultBuffer.data(), &getFilesResponseResult, nullptr); + cout << "PFDataGetFilesGetResult: 0x" << setw(8) << setfill('0') << hex << hr << endl; + } + + if (entityHandle) + { + PFEntityCloseHandle(entityHandle); + entityHandle = nullptr; + } + } + + if (serviceConfigHandle) + { + PFServiceConfigCloseHandle(serviceConfigHandle); + serviceConfigHandle = nullptr; + } + + XAsyncBlock async3{}; + hr = PFServicesUninitializeAsync(&async3); // Add your own error handling when FAILED(hr) == true + cout << "PFServicesUninitializeAsync: 0x" << setw(8) << setfill('0') << hex << hr << endl; + + hr = XAsyncGetStatus(&async3, true); // This is doing a blocking wait for completion, but you can use the XAsyncBlock to set a callback instead for async style usage + cout << "XAsyncGetStatus: 0x" << setw(8) << setfill('0') << hex << hr << endl; + + return 0; +} diff --git a/Test/PlayFabServicesManualTestApp/TestFramework/TestRunner.cpp b/Test/PlayFabServicesManualTestApp/TestFramework/TestRunner.cpp index e50517e..fb13492 100644 --- a/Test/PlayFabServicesManualTestApp/TestFramework/TestRunner.cpp +++ b/Test/PlayFabServicesManualTestApp/TestFramework/TestRunner.cpp @@ -31,8 +31,8 @@ void SetClearColor(float r, float g, float b) // private debug functions. only defined with _DEBUG #if _DEBUG -//extern "C" __declspec(dllimport) void PFDebugSetTokenRefreshDebugState(bool expireToken); -//extern "C" __declspec(dllimport) void PFDebugSetSetInterval(uint32_t interval); +//extern "C" PF_API_ATTRIBUTES void PFDebugSetTokenRefreshDebugState(bool expireToken); +//extern "C" PF_API_ATTRIBUTES void PFDebugSetSetInterval(uint32_t interval); #endif namespace PlayFab diff --git a/Test/PlayFabServicesTestApp/Android/app/CMakeLists.txt b/Test/PlayFabServicesTestApp/Android/app/CMakeLists.txt new file mode 100644 index 0000000..a582fdd --- /dev/null +++ b/Test/PlayFabServicesTestApp/Android/app/CMakeLists.txt @@ -0,0 +1,127 @@ +cmake_minimum_required(VERSION 3.6) + +get_filename_component(PATH_TO_ROOT "../../../.." ABSOLUTE) +get_filename_component(PATH_TO_SOURCE "../../../../Source" ABSOLUTE) +get_filename_component(PATH_TO_TEST "../../.." ABSOLUTE) + +set(PATH_TO_LHC ${PATH_TO_ROOT}/../libHttpClient) + +project("PlayFabSDKTestApp.Android") + +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_STATIC_LIBRARY_PREFIX "") + +########################################### +### Set up paths for source and include ### +########################################### + +# Set final output folder +SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${PATH_TO_ROOT}/Out/Debug/x64/PlayFabTestApp.Android) +SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${PATH_TO_ROOT}/Out/Release/x64/PlayFabTestApp.Android) +SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${PATH_TO_ROOT}/Out/Debug/x64/PlayFabTestApp.Android) +SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${PATH_TO_ROOT}/Out/Release/x64/PlayFabTestApp.Android) +SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${PATH_TO_ROOT}/Out/Debug/x64/PlayFabTestApp.Android) +SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${PATH_TO_ROOT}/Out/Release/x64/PlayFabTestApp.Android) + +# BINARY_DIR is a temp folder used by cmake itself. +# Binary folder can be remove freely. +# See more details: https://cmake.org/cmake/help/v3.4/command/add_subdirectory.html +set(BINARY_DIR ${PATH_TO_ROOT}/Int/CMake/PlayFabTestApp.Android) + +include("../../GetPlayFabServicesTestAppCommon.cmake") +get_playfab_services_test_app_commmon_files( + TEST_APP_COMMON_SOURCE_FILES + "${PATH_TO_TEST}/PlayFabServicesTestApp" + ) + +include("../../../PlayFabServices.GeneratedTests/GetGeneratedTestsFiles.cmake") +get_playfab_services_generated_tests_source_files( + GENERATED_TESTS_SOURCE_FILES + "${PATH_TO_TEST}/PlayFabServices.GeneratedTests" + ) + +include("../../../PlayFabServices.GeneratedApiWrappers/GetGeneratedApiWrappers.cmake") +get_playfab_services_generated_api_wrappers_files( + GENERATED_API_WRAPPER_FILES + "${PATH_TO_TEST}/PlayFabServices.GeneratedApiWrappers" + ) + +set(COMMON_INCLUDE_DIRS + "${PATH_TO_SOURCE}/PlayFabCore/Include" + "${PATH_TO_SOURCE}/PlayFabCore/Include/Generated" + "${PATH_TO_SOURCE}/PlayFabServices/Include" + "${PATH_TO_SOURCE}/PlayFabServices/Include/Generated" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include" + "${PATH_TO_SOURCE}/PlayFabSharedInternal/Include/Generated" + "${PATH_TO_LHC}/Include" + "${PATH_TO_ROOT}/External/rapidjson/include" + "${PATH_TO_TEST}/PlayFabServicesTestApp" + "${PATH_TO_TEST}/PlayFabServicesTestApp/TestFramework" + "${PATH_TO_TEST}/PlayFabServices.GeneratedApiWrappers" + "${PATH_TO_TEST}/PlayFabServices.GeneratedTests" +) + +######################### +### Set up exe ### +######################### + +add_library( + "${PROJECT_NAME}" + SHARED + "${TEST_APP_COMMON_SOURCE_FILES}" + "${GENERATED_TESTS_SOURCE_FILES}" + "${GENERATED_API_WRAPPER_FILES}" + "${PATH_TO_TEST}/PlayFabServicesTestApp/Platform/Android/AndroidTestApp.cpp" + "${PATH_TO_TEST}/PlayFabServicesTestApp/Platform/Android/AndroidTestApp.h" + "${PATH_TO_TEST}/PlayFabServicesTestApp/Platform/Android/AndroidTestAppJni.cpp" + "${PATH_TO_TEST}/PlayFabServicesTestApp/Platform/Android/AndroidTestAppJni.h" + "${PATH_TO_TEST}/PlayFabServicesTestApp/Platform/Android/PlatformUtilsAndroid.cpp" + "${PATH_TO_TEST}/PlayFabServicesTestApp/Platform/Android/PlatformUtilsAndroid.h" + "${PATH_TO_TEST}/PlayFabServicesTestApp/Platform/Android/PlayFabAndroid.cpp" +) + +if (${ANDROID_ABI} STREQUAL "x86_64") + set(ANDROID_ABI_DIRECTORY "x86_64") +else() + set(ANDROID_ABI_DIRECTORY "arm8") +endif() + +IF (EXISTS "${PATH_TO_ROOT}/Out/Android/PlayFabServices.Android/intermediates/cmake/full${CMAKE_BUILD_TYPE}") + set(ANDROID_ABI_DIRECTORY "full") +endif() + +string(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_LOWER) + +set(PLAYFAB_SERVICES_PATH "${PATH_TO_ROOT}/Out/Android/PlayFabServices.Android/intermediates/cmake/${ANDROID_ABI_DIRECTORY}${CMAKE_BUILD_TYPE}/obj/${ANDROID_ABI}/libPlayFabServices.Android.so") + +set(PLAYFAB_CORE_PATH "${PATH_TO_ROOT}/Out/Android/PlayFabServices.Android/intermediates/cmake/${ANDROID_ABI_DIRECTORY}${CMAKE_BUILD_TYPE}/obj/${ANDROID_ABI}/libPlayFabCore.Android.so") + +set(LIBHTTPCLIENT_PATH "${PATH_TO_LHC}/Binaries/Android/libHttpClient.Android/intermediates/cmake/${CMAKE_BUILD_TYPE}/obj/${ANDROID_ABI}/libHttpClient.Android.so") + +find_library(ANDROID_LOG_PATH log) # Android log library + +target_link_libraries( + ${PROJECT_NAME} + ${PLAYFAB_SERVICES_PATH} + ${PLAYFAB_CORE_PATH} + ${LIBHTTPCLIENT_PATH} + ${ANDROID_LOG_PATH} +) + +target_include_directories( + ${PROJECT_NAME} + PRIVATE + ${COMMON_INCLUDE_DIRS} +) + +include("${PATH_TO_ROOT}/Build/PlayFabSharedInternal.CMake/GetLinuxFlags.cmake") +get_linux_flags(FLAGS FLAGS_DEBUG FLAGS_RELEASE) + +include("${PATH_TO_ROOT}/Build/PlayFabSharedInternal.CMake/TargetSetFlags.cmake") +target_set_flags( + ${PROJECT_NAME} + ${FLAGS} + ${FLAGS_DEBUG} + ${FLAGS_RELEASE} +) diff --git a/Test/PlayFabServicesTestApp/Android/app/build.gradle b/Test/PlayFabServicesTestApp/Android/app/build.gradle new file mode 100644 index 0000000..5a1b6d3 --- /dev/null +++ b/Test/PlayFabServicesTestApp/Android/app/build.gradle @@ -0,0 +1,116 @@ +apply plugin: 'com.android.application' + +android { + compileSdk 34 + ndkVersion "26.1.10909125" + + defaultConfig { + applicationId "com.microsoft.playfab.sdk.AndroidTestClient" + minSdk 21 + targetSdk 34 + versionCode 1 + versionName "1.0" + + externalNativeBuild { + cmake { + // externalNativeBuild normally skips static + // lib targets. This forces it to build. + targets "PlayFabSDKTestApp.Android" + arguments "-DANDROID_STL=c++_shared" + } + } + + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + } + + if (project.hasProperty("testRelease")) { + testBuildType "release" + } + + externalNativeBuild { + cmake { + version "3.18.1" + path "CMakeLists.txt" + buildStagingDirectory "${project.buildDir.getParentFile().getAbsolutePath()}/.cxx/${project.name}" + } + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + debuggable true + jniDebuggable true + signingConfig signingConfigs.debug + } + } + + packagingOptions { + doNotStrip "**/*.so" + pickFirst '**/*.so' + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + flavorDimensions "ABI" + + productFlavors { + arm8 { + dimension "ABI" + ndk.abiFilters "arm64-v8a" + } + x86_64 { + dimension "ABI" + ndk.abiFilters "x86_64" + } + } + + // Custom task to copy test json file for test app + task copyTestFiles(type: Copy) { + from '../../..' + into 'src/main/assets' + include '*.json' + } + + // Custom task to copy aar files for test app + task copyAars(type: Copy) { + println("Copying aars...") + into 'libs' + + into("") { + from '../../../../Out/Android/PlayFabServices.Android/outputs/aar' + include '*.aar' + } + + into("") { + from '../../../../../libHttpClient/Binaries/Android/libHttpClient.Android/outputs/aar' + include '*.aar' + } + } +} + +// Put all the Gradle build files under the /Out directory +def binariesDir = project.file("../../../../Out/Android/${project.name}").getAbsolutePath() +project.buildDir(new File(binariesDir)) + +dependencies { + // Uncomment these if you want to build these along with the test app + // Don't forget to pass -DBUILD_SHARED_LIBS=1 + // implementation project(":libHttpClient.Android") + // implementation project(":PlayFabServices.Android") + + debugImplementation files('libs/libHttpClient.Android-debug.aar') + releaseImplementation files('libs/libHttpClient.Android-release.aar') + debugImplementation files('libs/PlayFabServices.Android-full-debug.aar') + releaseImplementation files('libs/PlayFabServices.Android-full-release.aar') + implementation "com.squareup.okhttp3:okhttp:4.9.1" + + implementation "com.google.android.material:material:1.6.0" + + androidTestImplementation "androidx.test:core:1.4.0" + androidTestImplementation "androidx.test:rules:1.4.0" + androidTestImplementation "androidx.test.ext:junit:1.1.3" +} \ No newline at end of file diff --git a/Test/PlayFabServicesTestApp/Android/app/proguard-rules.pro b/Test/PlayFabServicesTestApp/Android/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/Test/PlayFabServicesTestApp/Android/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/Test/PlayFabServicesTestApp/Android/app/src/androidTest/java/com/microsoft/playfab/sdk/AndroidAutomatedTest.java b/Test/PlayFabServicesTestApp/Android/app/src/androidTest/java/com/microsoft/playfab/sdk/AndroidAutomatedTest.java new file mode 100644 index 0000000..1883dbc --- /dev/null +++ b/Test/PlayFabServicesTestApp/Android/app/src/androidTest/java/com/microsoft/playfab/sdk/AndroidAutomatedTest.java @@ -0,0 +1,49 @@ +package com.microsoft.playfab.sdk; + +import android.os.Handler; +import android.os.Looper; +import android.os.SystemClock; +import android.util.Log; +import androidx.test.core.app.ActivityScenario; +import androidx.test.ext.junit.runners.AndroidJUnit4; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; + +@RunWith(AndroidJUnit4.class) +public class AndroidAutomatedTest { + ActivityScenario activity; + boolean testsPassed; + boolean testsFinished = false; + + @Before + public void Initialize() { + activity = ActivityScenario.launch(AndroidTestClient.class); + } + + @Test + public void RunAllTests() { + new Handler(Looper.getMainLooper()).post(new Runnable() { + @Override + public void run() { + activity.onActivity(a -> { + testsPassed = a.StartTests(); + } + ); + } + }); + + try { + while (!testsFinished) { + SystemClock.sleep(1000); + activity.onActivity(a -> { + testsFinished = a.isDestroyed(); + }); + } + } + catch (Exception e) {} + + Assert.assertTrue(testsPassed); + } +} \ No newline at end of file diff --git a/Test/PlayFabServicesTestApp/Android/app/src/main/AndroidManifest.xml b/Test/PlayFabServicesTestApp/Android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..eac5403 --- /dev/null +++ b/Test/PlayFabServicesTestApp/Android/app/src/main/AndroidManifest.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Test/PlayFabServicesTestApp/Android/app/src/main/java/com/microsoft/playfab/sdk/AndroidTestClient.java b/Test/PlayFabServicesTestApp/Android/app/src/main/java/com/microsoft/playfab/sdk/AndroidTestClient.java new file mode 100644 index 0000000..175b21a --- /dev/null +++ b/Test/PlayFabServicesTestApp/Android/app/src/main/java/com/microsoft/playfab/sdk/AndroidTestClient.java @@ -0,0 +1,75 @@ +package com.microsoft.playfab.sdk; + +import android.app.Activity; +import android.content.Context; +import android.content.res.AssetManager; +import android.os.Bundle; +import android.provider.Settings.Secure; +import android.util.Log; +import android.view.View; +import android.widget.Button; +import java.io.*; + +public class AndroidTestClient extends Activity { + private static final String TAG = "AndroidTestClient"; + +@Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + if (savedInstanceState == null) + { + System.loadLibrary("PlayFabSDKTestApp.Android"); + Log.i(TAG, "Loaded PlayFabSDKTestApp.Android Library"); + + InitializeApp(getApplicationContext()); + } + else + { + // Our JNI code holds a reference to this instance. If we were + // destroyed and recreated, we should update those references. + // Really, we should update those references when we are + // deinitialized here...but this is a test app :) + UpdateInstances(getApplicationContext()); + } + + Button button = this.findViewById(R.id.button_startTool); + button.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + RunTests(); + } + }); + } + + public boolean StartTests() { + boolean ret = RunTests(); + finish(); + return ret; + } + + public byte[] GetBufferFromFile(String filename) throws IOException { + try { + AssetManager manager = getApplicationContext().getAssets(); + InputStream is = manager.open(filename); + int size = is.available(); + byte[] buffer = new byte[size]; + is.read(buffer); + is.close(); + return buffer; + } + catch (IOException e) { + return null; + } + } + + public String GetDeviceToken() { + return Secure.getString(getApplicationContext().getContentResolver(),Secure.ANDROID_ID); + } + + private native void InitializeApp(Context context); + private native void UpdateInstances(Context context); + + private native boolean RunTests(); +} \ No newline at end of file diff --git a/Test/PlayFabServicesTestApp/Android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/Test/PlayFabServicesTestApp/Android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/Test/PlayFabServicesTestApp/Android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Test/PlayFabServicesTestApp/Android/app/src/main/res/drawable/ic_launcher_background.xml b/Test/PlayFabServicesTestApp/Android/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..07d5da9 --- /dev/null +++ b/Test/PlayFabServicesTestApp/Android/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Test/PlayFabServicesTestApp/Android/app/src/main/res/layout/activity_main.xml b/Test/PlayFabServicesTestApp/Android/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..2afc920 --- /dev/null +++ b/Test/PlayFabServicesTestApp/Android/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,18 @@ + + + +