From 0647aeda9e4b0128f145afb80e5096a6d8451459 Mon Sep 17 00:00:00 2001 From: PlayFab SDK Team Date: Mon, 16 Sep 2024 22:48:13 +0000 Subject: [PATCH] https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#240913 --- code/include/playfab/PlayFabAddonDataModels.h | 1 + code/include/playfab/PlayFabAdminDataModels.h | 27 ++- .../playfab/PlayFabAuthenticationDataModels.h | 14 +- .../include/playfab/PlayFabClientDataModels.h | 27 ++- .../playfab/PlayFabCloudScriptDataModels.h | 14 +- code/include/playfab/PlayFabDataDataModels.h | 1 + .../playfab/PlayFabEconomyDataModels.h | 1 + .../include/playfab/PlayFabEventsDataModels.h | 1 + .../PlayFabExperimentationDataModels.h | 1 + .../include/playfab/PlayFabGroupsDataModels.h | 1 + .../playfab/PlayFabInsightsDataModels.h | 1 + .../playfab/PlayFabLocalizationDataModels.h | 1 + code/include/playfab/PlayFabMatchmakerApi.h | 43 ++++ .../playfab/PlayFabMatchmakerDataModels.h | 18 ++ .../playfab/PlayFabMatchmakerInstanceApi.h | 55 ++++++ .../playfab/PlayFabMultiplayerDataModels.h | 1 + code/include/playfab/PlayFabProfilesApi.h | 2 + .../playfab/PlayFabProfilesDataModels.h | 79 ++++++++ .../playfab/PlayFabProfilesInstanceApi.h | 2 + code/include/playfab/PlayFabProgressionApi.h | 2 - .../playfab/PlayFabProgressionDataModels.h | 187 ++++++------------ .../playfab/PlayFabProgressionInstanceApi.h | 2 - .../include/playfab/PlayFabServerDataModels.h | 27 ++- code/source/playfab/PlayFabMatchmakerApi.cpp | 59 ++++++ .../playfab/PlayFabMatchmakerInstanceApi.cpp | 90 +++++++++ code/source/playfab/PlayFabProfilesApi.cpp | 49 +++++ .../playfab/PlayFabProfilesInstanceApi.cpp | 50 +++++ code/source/playfab/PlayFabProgressionApi.cpp | 49 ----- .../playfab/PlayFabProgressionInstanceApi.cpp | 50 ----- code/source/playfab/PlayFabSettings.cpp | 4 +- com.playfab.xplatcppsdk.v141.autopkg | 4 +- com.playfab.xplatcppsdk.v141.nuspec | 4 +- com.playfab.xplatcppsdk.v142.autopkg | 4 +- com.playfab.xplatcppsdk.v142.nuspec | 4 +- com.playfab.xplatxboxsdk.v141.autopkg | 4 +- 35 files changed, 634 insertions(+), 245 deletions(-) create mode 100644 code/include/playfab/PlayFabMatchmakerApi.h create mode 100644 code/include/playfab/PlayFabMatchmakerDataModels.h create mode 100644 code/include/playfab/PlayFabMatchmakerInstanceApi.h create mode 100644 code/source/playfab/PlayFabMatchmakerApi.cpp create mode 100644 code/source/playfab/PlayFabMatchmakerInstanceApi.cpp diff --git a/code/include/playfab/PlayFabAddonDataModels.h b/code/include/playfab/PlayFabAddonDataModels.h index e840cc6c..b676c3c1 100644 --- a/code/include/playfab/PlayFabAddonDataModels.h +++ b/code/include/playfab/PlayFabAddonDataModels.h @@ -4,6 +4,7 @@ #include #include +#include namespace PlayFab { diff --git a/code/include/playfab/PlayFabAdminDataModels.h b/code/include/playfab/PlayFabAdminDataModels.h index 33bdc142..2c5400c0 100644 --- a/code/include/playfab/PlayFabAdminDataModels.h +++ b/code/include/playfab/PlayFabAdminDataModels.h @@ -4,6 +4,7 @@ #include #include +#include namespace PlayFab { @@ -14445,7 +14446,8 @@ namespace PlayFab LoginIdentityProviderApple, LoginIdentityProviderNintendoSwitchAccount, LoginIdentityProviderGooglePlayGames, - LoginIdentityProviderXboxMobileStore + LoginIdentityProviderXboxMobileStore, + LoginIdentityProviderKing }; inline void ToJsonEnum(const LoginIdentityProvider input, Json::Value& output) @@ -14565,6 +14567,11 @@ namespace PlayFab output = Json::Value("XboxMobileStore"); return; } + if (input == LoginIdentityProvider::LoginIdentityProviderKing) + { + output = Json::Value("King"); + return; + } } inline void FromJsonEnum(const Json::Value& input, LoginIdentityProvider& output) { @@ -14688,6 +14695,11 @@ namespace PlayFab output = LoginIdentityProvider::LoginIdentityProviderXboxMobileStore; return; } + if (inputStr == "King") + { + output = LoginIdentityProvider::LoginIdentityProviderKing; + return; + } } enum class PushNotificationPlatform @@ -20624,7 +20636,8 @@ namespace PlayFab UserOriginationApple, UserOriginationNintendoSwitchAccount, UserOriginationGooglePlayGames, - UserOriginationXboxMobileStore + UserOriginationXboxMobileStore, + UserOriginationKing }; inline void ToJsonEnum(const UserOrigination input, Json::Value& output) @@ -20754,6 +20767,11 @@ namespace PlayFab output = Json::Value("XboxMobileStore"); return; } + if (input == UserOrigination::UserOriginationKing) + { + output = Json::Value("King"); + return; + } } inline void FromJsonEnum(const Json::Value& input, UserOrigination& output) { @@ -20887,6 +20905,11 @@ namespace PlayFab output = UserOrigination::UserOriginationXboxMobileStore; return; } + if (inputStr == "King") + { + output = UserOrigination::UserOriginationKing; + return; + } } // Admin Classes diff --git a/code/include/playfab/PlayFabAuthenticationDataModels.h b/code/include/playfab/PlayFabAuthenticationDataModels.h index eba18fb1..8ec95ba6 100644 --- a/code/include/playfab/PlayFabAuthenticationDataModels.h +++ b/code/include/playfab/PlayFabAuthenticationDataModels.h @@ -4,6 +4,7 @@ #include #include +#include namespace PlayFab { @@ -160,7 +161,8 @@ namespace PlayFab LoginIdentityProviderApple, LoginIdentityProviderNintendoSwitchAccount, LoginIdentityProviderGooglePlayGames, - LoginIdentityProviderXboxMobileStore + LoginIdentityProviderXboxMobileStore, + LoginIdentityProviderKing }; inline void ToJsonEnum(const LoginIdentityProvider input, Json::Value& output) @@ -280,6 +282,11 @@ namespace PlayFab output = Json::Value("XboxMobileStore"); return; } + if (input == LoginIdentityProvider::LoginIdentityProviderKing) + { + output = Json::Value("King"); + return; + } } inline void FromJsonEnum(const Json::Value& input, LoginIdentityProvider& output) { @@ -403,6 +410,11 @@ namespace PlayFab output = LoginIdentityProvider::LoginIdentityProviderXboxMobileStore; return; } + if (inputStr == "King") + { + output = LoginIdentityProvider::LoginIdentityProviderKing; + return; + } } // Authentication Classes diff --git a/code/include/playfab/PlayFabClientDataModels.h b/code/include/playfab/PlayFabClientDataModels.h index db234276..c1ebaf9f 100644 --- a/code/include/playfab/PlayFabClientDataModels.h +++ b/code/include/playfab/PlayFabClientDataModels.h @@ -4,6 +4,7 @@ #include #include +#include namespace PlayFab { @@ -4949,7 +4950,8 @@ namespace PlayFab LoginIdentityProviderApple, LoginIdentityProviderNintendoSwitchAccount, LoginIdentityProviderGooglePlayGames, - LoginIdentityProviderXboxMobileStore + LoginIdentityProviderXboxMobileStore, + LoginIdentityProviderKing }; inline void ToJsonEnum(const LoginIdentityProvider input, Json::Value& output) @@ -5069,6 +5071,11 @@ namespace PlayFab output = Json::Value("XboxMobileStore"); return; } + if (input == LoginIdentityProvider::LoginIdentityProviderKing) + { + output = Json::Value("King"); + return; + } } inline void FromJsonEnum(const Json::Value& input, LoginIdentityProvider& output) { @@ -5192,6 +5199,11 @@ namespace PlayFab output = LoginIdentityProvider::LoginIdentityProviderXboxMobileStore; return; } + if (inputStr == "King") + { + output = LoginIdentityProvider::LoginIdentityProviderKing; + return; + } } enum class PushNotificationPlatform @@ -5893,7 +5905,8 @@ namespace PlayFab UserOriginationApple, UserOriginationNintendoSwitchAccount, UserOriginationGooglePlayGames, - UserOriginationXboxMobileStore + UserOriginationXboxMobileStore, + UserOriginationKing }; inline void ToJsonEnum(const UserOrigination input, Json::Value& output) @@ -6023,6 +6036,11 @@ namespace PlayFab output = Json::Value("XboxMobileStore"); return; } + if (input == UserOrigination::UserOriginationKing) + { + output = Json::Value("King"); + return; + } } inline void FromJsonEnum(const Json::Value& input, UserOrigination& output) { @@ -6156,6 +6174,11 @@ namespace PlayFab output = UserOrigination::UserOriginationXboxMobileStore; return; } + if (inputStr == "King") + { + output = UserOrigination::UserOriginationKing; + return; + } } // Client Classes diff --git a/code/include/playfab/PlayFabCloudScriptDataModels.h b/code/include/playfab/PlayFabCloudScriptDataModels.h index 2474d61a..b3069062 100644 --- a/code/include/playfab/PlayFabCloudScriptDataModels.h +++ b/code/include/playfab/PlayFabCloudScriptDataModels.h @@ -4,6 +4,7 @@ #include #include +#include namespace PlayFab { @@ -3002,7 +3003,8 @@ namespace PlayFab LoginIdentityProviderApple, LoginIdentityProviderNintendoSwitchAccount, LoginIdentityProviderGooglePlayGames, - LoginIdentityProviderXboxMobileStore + LoginIdentityProviderXboxMobileStore, + LoginIdentityProviderKing }; inline void ToJsonEnum(const LoginIdentityProvider input, Json::Value& output) @@ -3122,6 +3124,11 @@ namespace PlayFab output = Json::Value("XboxMobileStore"); return; } + if (input == LoginIdentityProvider::LoginIdentityProviderKing) + { + output = Json::Value("King"); + return; + } } inline void FromJsonEnum(const Json::Value& input, LoginIdentityProvider& output) { @@ -3245,6 +3252,11 @@ namespace PlayFab output = LoginIdentityProvider::LoginIdentityProviderXboxMobileStore; return; } + if (inputStr == "King") + { + output = LoginIdentityProvider::LoginIdentityProviderKing; + return; + } } enum class PushNotificationPlatform diff --git a/code/include/playfab/PlayFabDataDataModels.h b/code/include/playfab/PlayFabDataDataModels.h index b983b870..53999809 100644 --- a/code/include/playfab/PlayFabDataDataModels.h +++ b/code/include/playfab/PlayFabDataDataModels.h @@ -4,6 +4,7 @@ #include #include +#include namespace PlayFab { diff --git a/code/include/playfab/PlayFabEconomyDataModels.h b/code/include/playfab/PlayFabEconomyDataModels.h index e78e7444..57cabe57 100644 --- a/code/include/playfab/PlayFabEconomyDataModels.h +++ b/code/include/playfab/PlayFabEconomyDataModels.h @@ -4,6 +4,7 @@ #include #include +#include namespace PlayFab { diff --git a/code/include/playfab/PlayFabEventsDataModels.h b/code/include/playfab/PlayFabEventsDataModels.h index 05ed0204..a903be7c 100644 --- a/code/include/playfab/PlayFabEventsDataModels.h +++ b/code/include/playfab/PlayFabEventsDataModels.h @@ -4,6 +4,7 @@ #include #include +#include namespace PlayFab { diff --git a/code/include/playfab/PlayFabExperimentationDataModels.h b/code/include/playfab/PlayFabExperimentationDataModels.h index f179b5d7..ab9c0243 100644 --- a/code/include/playfab/PlayFabExperimentationDataModels.h +++ b/code/include/playfab/PlayFabExperimentationDataModels.h @@ -4,6 +4,7 @@ #include #include +#include namespace PlayFab { diff --git a/code/include/playfab/PlayFabGroupsDataModels.h b/code/include/playfab/PlayFabGroupsDataModels.h index c031567b..c4b12768 100644 --- a/code/include/playfab/PlayFabGroupsDataModels.h +++ b/code/include/playfab/PlayFabGroupsDataModels.h @@ -4,6 +4,7 @@ #include #include +#include namespace PlayFab { diff --git a/code/include/playfab/PlayFabInsightsDataModels.h b/code/include/playfab/PlayFabInsightsDataModels.h index 9b0a385b..7d320a8b 100644 --- a/code/include/playfab/PlayFabInsightsDataModels.h +++ b/code/include/playfab/PlayFabInsightsDataModels.h @@ -4,6 +4,7 @@ #include #include +#include namespace PlayFab { diff --git a/code/include/playfab/PlayFabLocalizationDataModels.h b/code/include/playfab/PlayFabLocalizationDataModels.h index 4bae7f70..47f0c503 100644 --- a/code/include/playfab/PlayFabLocalizationDataModels.h +++ b/code/include/playfab/PlayFabLocalizationDataModels.h @@ -4,6 +4,7 @@ #include #include +#include namespace PlayFab { diff --git a/code/include/playfab/PlayFabMatchmakerApi.h b/code/include/playfab/PlayFabMatchmakerApi.h new file mode 100644 index 00000000..8829fd6e --- /dev/null +++ b/code/include/playfab/PlayFabMatchmakerApi.h @@ -0,0 +1,43 @@ +#pragma once + +#if defined(ENABLE_PLAYFABSERVER_API) + +#include +#include + +namespace PlayFab +{ + class CallRequestContainerBase; + class CallRequestContainer; + + /// + /// Main interface for PlayFab Sdk, specifically all Matchmaker APIs + /// + class PlayFabMatchmakerAPI + { + public: + /// + /// Calls the Update function on your implementation of the IHttpPlugin to check for responses to HTTP requests. + /// All api's (Client, Server, Admin etc.) share the same IHttpPlugin. + /// This means that you only need to call Update() on one API to retrieve the responses for all APIs. + /// Additional calls to Update (on any API) during the same tick are unlikely to retrieve additional responses. + /// Call Update when your game ticks as follows: + /// Matchmaker.Update(); + /// + static size_t Update(); + static void ForgetAllCredentials(); + + + // ------------ Generated API calls + + private: + PlayFabMatchmakerAPI(); // Private constructor, static class should never have an instance + PlayFabMatchmakerAPI(const PlayFabMatchmakerAPI& other); // Private copy-constructor, static class should never have an instance + + // ------------ Generated result handlers + + static bool ValidateResult(PlayFabResultCommon& resultCommon, const CallRequestContainer& container); + }; +} + +#endif // #if defined(ENABLE_PLAYFABSERVER_API) diff --git a/code/include/playfab/PlayFabMatchmakerDataModels.h b/code/include/playfab/PlayFabMatchmakerDataModels.h new file mode 100644 index 00000000..3ba3a3e9 --- /dev/null +++ b/code/include/playfab/PlayFabMatchmakerDataModels.h @@ -0,0 +1,18 @@ +#pragma once + +#if defined(ENABLE_PLAYFABSERVER_API) + +#include +#include +#include + +namespace PlayFab +{ + namespace MatchmakerModels + { + // Matchmaker Enums + // Matchmaker Classes + } +} + +#endif diff --git a/code/include/playfab/PlayFabMatchmakerInstanceApi.h b/code/include/playfab/PlayFabMatchmakerInstanceApi.h new file mode 100644 index 00000000..f783b526 --- /dev/null +++ b/code/include/playfab/PlayFabMatchmakerInstanceApi.h @@ -0,0 +1,55 @@ +#pragma once + +#if defined(ENABLE_PLAYFABSERVER_API) + +#include +#include + +namespace PlayFab +{ + class CallRequestContainerBase; + class CallRequestContainer; + class PlayFabApiSettings; + class PlayFabAuthenticationContext; + + /// + /// Main interface for PlayFab Sdk, specifically all Matchmaker APIs + /// + class PlayFabMatchmakerInstanceAPI + { + private: + std::shared_ptr m_settings; + std::shared_ptr m_context; + + public: + PlayFabMatchmakerInstanceAPI(const std::shared_ptr& authenticationContext); + PlayFabMatchmakerInstanceAPI(const std::shared_ptr& apiSettings, const std::shared_ptr& authenticationContext); + + ~PlayFabMatchmakerInstanceAPI() = default; + PlayFabMatchmakerInstanceAPI(const PlayFabMatchmakerInstanceAPI& source) = delete; // disable copy + PlayFabMatchmakerInstanceAPI(PlayFabMatchmakerInstanceAPI&&) = delete; // disable move + PlayFabMatchmakerInstanceAPI& operator=(const PlayFabMatchmakerInstanceAPI& source) = delete; // disable assignment + PlayFabMatchmakerInstanceAPI& operator=(PlayFabMatchmakerInstanceAPI&& other) = delete; // disable move assignment + + std::shared_ptr GetSettings() const; + std::shared_ptr GetAuthenticationContext() const; + /// + /// Calls the Update function on your implementation of the IHttpPlugin to check for responses to HTTP requests. + /// All api's (Client, Server, Admin etc.) share the same IHttpPlugin. + /// This means that you only need to call Update() on one API to retrieve the responses for all APIs. + /// Additional calls to Update (on any API) during the same tick are unlikely to retrieve additional responses. + /// Call Update when your game ticks as follows: + /// Matchmaker.Update(); + /// + size_t Update(); + void ForgetAllCredentials(); + + // ------------ Generated API calls + + // ------------ Generated result handlers + + bool ValidateResult(PlayFabResultCommon& resultCommon, const CallRequestContainer& container); + }; +} + +#endif diff --git a/code/include/playfab/PlayFabMultiplayerDataModels.h b/code/include/playfab/PlayFabMultiplayerDataModels.h index 0f35b7c8..cffb7fe3 100644 --- a/code/include/playfab/PlayFabMultiplayerDataModels.h +++ b/code/include/playfab/PlayFabMultiplayerDataModels.h @@ -4,6 +4,7 @@ #include #include +#include namespace PlayFab { diff --git a/code/include/playfab/PlayFabProfilesApi.h b/code/include/playfab/PlayFabProfilesApi.h index 406adce8..160f5a13 100644 --- a/code/include/playfab/PlayFabProfilesApi.h +++ b/code/include/playfab/PlayFabProfilesApi.h @@ -34,6 +34,7 @@ namespace PlayFab static void GetProfiles(ProfilesModels::GetEntityProfilesRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void GetTitlePlayersFromMasterPlayerAccountIds(ProfilesModels::GetTitlePlayersFromMasterPlayerAccountIdsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void GetTitlePlayersFromXboxLiveIDs(ProfilesModels::GetTitlePlayersFromXboxLiveIDsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); + static void SetDisplayName(ProfilesModels::SetDisplayNameRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void SetGlobalPolicy(ProfilesModels::SetGlobalPolicyRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void SetProfileLanguage(ProfilesModels::SetProfileLanguageRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void SetProfilePolicy(ProfilesModels::SetEntityProfilePolicyRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); @@ -48,6 +49,7 @@ namespace PlayFab static void OnGetProfilesResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnGetTitlePlayersFromMasterPlayerAccountIdsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnGetTitlePlayersFromXboxLiveIDsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); + static void OnSetDisplayNameResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnSetGlobalPolicyResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnSetProfileLanguageResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnSetProfilePolicyResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); diff --git a/code/include/playfab/PlayFabProfilesDataModels.h b/code/include/playfab/PlayFabProfilesDataModels.h index 130983b8..ad36324c 100644 --- a/code/include/playfab/PlayFabProfilesDataModels.h +++ b/code/include/playfab/PlayFabProfilesDataModels.h @@ -4,6 +4,7 @@ #include #include +#include namespace PlayFab { @@ -812,6 +813,84 @@ namespace PlayFab } }; + struct SetDisplayNameRequest : public PlayFabRequestCommon + { + std::map CustomTags; + std::string DisplayName; + Boxed Entity; + Boxed ExpectedVersion; + + SetDisplayNameRequest() : + PlayFabRequestCommon(), + CustomTags(), + DisplayName(), + Entity(), + ExpectedVersion() + {} + + SetDisplayNameRequest(const SetDisplayNameRequest& src) : + PlayFabRequestCommon(), + CustomTags(src.CustomTags), + DisplayName(src.DisplayName), + Entity(src.Entity), + ExpectedVersion(src.ExpectedVersion) + {} + + ~SetDisplayNameRequest() = default; + + void FromJson(const Json::Value& input) override + { + FromJsonUtilS(input["CustomTags"], CustomTags); + FromJsonUtilS(input["DisplayName"], DisplayName); + FromJsonUtilO(input["Entity"], Entity); + FromJsonUtilP(input["ExpectedVersion"], ExpectedVersion); + } + + Json::Value ToJson() const override + { + Json::Value output; + Json::Value each_CustomTags; ToJsonUtilS(CustomTags, each_CustomTags); output["CustomTags"] = each_CustomTags; + Json::Value each_DisplayName; ToJsonUtilS(DisplayName, each_DisplayName); output["DisplayName"] = each_DisplayName; + Json::Value each_Entity; ToJsonUtilO(Entity, each_Entity); output["Entity"] = each_Entity; + Json::Value each_ExpectedVersion; ToJsonUtilP(ExpectedVersion, each_ExpectedVersion); output["ExpectedVersion"] = each_ExpectedVersion; + return output; + } + }; + + struct SetDisplayNameResponse : public PlayFabResultCommon + { + Boxed OperationResult; + Boxed VersionNumber; + + SetDisplayNameResponse() : + PlayFabResultCommon(), + OperationResult(), + VersionNumber() + {} + + SetDisplayNameResponse(const SetDisplayNameResponse& src) : + PlayFabResultCommon(), + OperationResult(src.OperationResult), + VersionNumber(src.VersionNumber) + {} + + ~SetDisplayNameResponse() = default; + + void FromJson(const Json::Value& input) override + { + FromJsonUtilE(input["OperationResult"], OperationResult); + FromJsonUtilP(input["VersionNumber"], VersionNumber); + } + + Json::Value ToJson() const override + { + Json::Value output; + Json::Value each_OperationResult; ToJsonUtilE(OperationResult, each_OperationResult); output["OperationResult"] = each_OperationResult; + Json::Value each_VersionNumber; ToJsonUtilP(VersionNumber, each_VersionNumber); output["VersionNumber"] = each_VersionNumber; + return output; + } + }; + struct SetEntityProfilePolicyRequest : public PlayFabRequestCommon { std::map CustomTags; diff --git a/code/include/playfab/PlayFabProfilesInstanceApi.h b/code/include/playfab/PlayFabProfilesInstanceApi.h index 810c9499..479004d1 100644 --- a/code/include/playfab/PlayFabProfilesInstanceApi.h +++ b/code/include/playfab/PlayFabProfilesInstanceApi.h @@ -50,6 +50,7 @@ namespace PlayFab void GetProfiles(ProfilesModels::GetEntityProfilesRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void GetTitlePlayersFromMasterPlayerAccountIds(ProfilesModels::GetTitlePlayersFromMasterPlayerAccountIdsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void GetTitlePlayersFromXboxLiveIDs(ProfilesModels::GetTitlePlayersFromXboxLiveIDsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); + void SetDisplayName(ProfilesModels::SetDisplayNameRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void SetGlobalPolicy(ProfilesModels::SetGlobalPolicyRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void SetProfileLanguage(ProfilesModels::SetProfileLanguageRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void SetProfilePolicy(ProfilesModels::SetEntityProfilePolicyRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); @@ -60,6 +61,7 @@ namespace PlayFab void OnGetProfilesResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnGetTitlePlayersFromMasterPlayerAccountIdsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnGetTitlePlayersFromXboxLiveIDsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); + void OnSetDisplayNameResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnSetGlobalPolicyResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnSetProfileLanguageResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnSetProfilePolicyResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); diff --git a/code/include/playfab/PlayFabProgressionApi.h b/code/include/playfab/PlayFabProgressionApi.h index 8fddfa0d..c6442eb1 100644 --- a/code/include/playfab/PlayFabProgressionApi.h +++ b/code/include/playfab/PlayFabProgressionApi.h @@ -41,7 +41,6 @@ namespace PlayFab static void GetLeaderboardDefinition(ProgressionModels::GetLeaderboardDefinitionRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void GetLeaderboardForEntities(ProgressionModels::GetLeaderboardForEntitiesRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void GetStatisticDefinition(ProgressionModels::GetStatisticDefinitionRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); - static void GetStatisticDefinitions(ProgressionModels::GetStatisticDefinitionsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void GetStatistics(ProgressionModels::GetStatisticsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void GetStatisticsForEntities(ProgressionModels::GetStatisticsForEntitiesRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void IncrementLeaderboardVersion(ProgressionModels::IncrementLeaderboardVersionRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); @@ -69,7 +68,6 @@ namespace PlayFab static void OnGetLeaderboardDefinitionResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnGetLeaderboardForEntitiesResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnGetStatisticDefinitionResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); - static void OnGetStatisticDefinitionsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnGetStatisticsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnGetStatisticsForEntitiesResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnIncrementLeaderboardVersionResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); diff --git a/code/include/playfab/PlayFabProgressionDataModels.h b/code/include/playfab/PlayFabProgressionDataModels.h index 79d21619..45a3f49b 100644 --- a/code/include/playfab/PlayFabProgressionDataModels.h +++ b/code/include/playfab/PlayFabProgressionDataModels.h @@ -4,6 +4,7 @@ #include #include +#include namespace PlayFab { @@ -1338,128 +1339,6 @@ namespace PlayFab } }; - struct GetStatisticDefinitionsRequest : public PlayFabRequestCommon - { - std::map CustomTags; - - GetStatisticDefinitionsRequest() : - PlayFabRequestCommon(), - CustomTags() - {} - - GetStatisticDefinitionsRequest(const GetStatisticDefinitionsRequest& src) : - PlayFabRequestCommon(), - CustomTags(src.CustomTags) - {} - - ~GetStatisticDefinitionsRequest() = default; - - void FromJson(const Json::Value& input) override - { - FromJsonUtilS(input["CustomTags"], CustomTags); - } - - Json::Value ToJson() const override - { - Json::Value output; - Json::Value each_CustomTags; ToJsonUtilS(CustomTags, each_CustomTags); output["CustomTags"] = each_CustomTags; - return output; - } - }; - - struct StatisticDefinition : public PlayFabBaseModel - { - std::list Columns; - time_t Created; - std::string EntityType; - Boxed LastResetTime; - std::list LinkedLeaderboardNames; - std::string Name; - Uint32 Version; - Boxed pfVersionConfiguration; - - StatisticDefinition() : - PlayFabBaseModel(), - Columns(), - Created(), - EntityType(), - LastResetTime(), - LinkedLeaderboardNames(), - Name(), - Version(), - pfVersionConfiguration() - {} - - StatisticDefinition(const StatisticDefinition& src) : - PlayFabBaseModel(), - Columns(src.Columns), - Created(src.Created), - EntityType(src.EntityType), - LastResetTime(src.LastResetTime), - LinkedLeaderboardNames(src.LinkedLeaderboardNames), - Name(src.Name), - Version(src.Version), - pfVersionConfiguration(src.pfVersionConfiguration) - {} - - ~StatisticDefinition() = default; - - void FromJson(const Json::Value& input) override - { - FromJsonUtilO(input["Columns"], Columns); - FromJsonUtilT(input["Created"], Created); - FromJsonUtilS(input["EntityType"], EntityType); - FromJsonUtilT(input["LastResetTime"], LastResetTime); - FromJsonUtilS(input["LinkedLeaderboardNames"], LinkedLeaderboardNames); - FromJsonUtilS(input["Name"], Name); - FromJsonUtilP(input["Version"], Version); - FromJsonUtilO(input["VersionConfiguration"], pfVersionConfiguration); - } - - Json::Value ToJson() const override - { - Json::Value output; - Json::Value each_Columns; ToJsonUtilO(Columns, each_Columns); output["Columns"] = each_Columns; - Json::Value each_Created; ToJsonUtilT(Created, each_Created); output["Created"] = each_Created; - Json::Value each_EntityType; ToJsonUtilS(EntityType, each_EntityType); output["EntityType"] = each_EntityType; - Json::Value each_LastResetTime; ToJsonUtilT(LastResetTime, each_LastResetTime); output["LastResetTime"] = each_LastResetTime; - Json::Value each_LinkedLeaderboardNames; ToJsonUtilS(LinkedLeaderboardNames, each_LinkedLeaderboardNames); output["LinkedLeaderboardNames"] = each_LinkedLeaderboardNames; - Json::Value each_Name; ToJsonUtilS(Name, each_Name); output["Name"] = each_Name; - Json::Value each_Version; ToJsonUtilP(Version, each_Version); output["Version"] = each_Version; - Json::Value each_pfVersionConfiguration; ToJsonUtilO(pfVersionConfiguration, each_pfVersionConfiguration); output["VersionConfiguration"] = each_pfVersionConfiguration; - return output; - } - }; - - struct GetStatisticDefinitionsResponse : public PlayFabResultCommon - { - std::list StatisticDefinitions; - - GetStatisticDefinitionsResponse() : - PlayFabResultCommon(), - StatisticDefinitions() - {} - - GetStatisticDefinitionsResponse(const GetStatisticDefinitionsResponse& src) : - PlayFabResultCommon(), - StatisticDefinitions(src.StatisticDefinitions) - {} - - ~GetStatisticDefinitionsResponse() = default; - - void FromJson(const Json::Value& input) override - { - FromJsonUtilO(input["StatisticDefinitions"], StatisticDefinitions); - } - - Json::Value ToJson() const override - { - Json::Value output; - Json::Value each_StatisticDefinitions; ToJsonUtilO(StatisticDefinitions, each_StatisticDefinitions); output["StatisticDefinitions"] = each_StatisticDefinitions; - return output; - } - }; - struct GetStatisticsForEntitiesRequest : public PlayFabRequestCommon { std::map CustomTags; @@ -1946,6 +1825,70 @@ namespace PlayFab } }; + struct StatisticDefinition : public PlayFabBaseModel + { + std::list Columns; + time_t Created; + std::string EntityType; + Boxed LastResetTime; + std::list LinkedLeaderboardNames; + std::string Name; + Uint32 Version; + Boxed pfVersionConfiguration; + + StatisticDefinition() : + PlayFabBaseModel(), + Columns(), + Created(), + EntityType(), + LastResetTime(), + LinkedLeaderboardNames(), + Name(), + Version(), + pfVersionConfiguration() + {} + + StatisticDefinition(const StatisticDefinition& src) : + PlayFabBaseModel(), + Columns(src.Columns), + Created(src.Created), + EntityType(src.EntityType), + LastResetTime(src.LastResetTime), + LinkedLeaderboardNames(src.LinkedLeaderboardNames), + Name(src.Name), + Version(src.Version), + pfVersionConfiguration(src.pfVersionConfiguration) + {} + + ~StatisticDefinition() = default; + + void FromJson(const Json::Value& input) override + { + FromJsonUtilO(input["Columns"], Columns); + FromJsonUtilT(input["Created"], Created); + FromJsonUtilS(input["EntityType"], EntityType); + FromJsonUtilT(input["LastResetTime"], LastResetTime); + FromJsonUtilS(input["LinkedLeaderboardNames"], LinkedLeaderboardNames); + FromJsonUtilS(input["Name"], Name); + FromJsonUtilP(input["Version"], Version); + FromJsonUtilO(input["VersionConfiguration"], pfVersionConfiguration); + } + + Json::Value ToJson() const override + { + Json::Value output; + Json::Value each_Columns; ToJsonUtilO(Columns, each_Columns); output["Columns"] = each_Columns; + Json::Value each_Created; ToJsonUtilT(Created, each_Created); output["Created"] = each_Created; + Json::Value each_EntityType; ToJsonUtilS(EntityType, each_EntityType); output["EntityType"] = each_EntityType; + Json::Value each_LastResetTime; ToJsonUtilT(LastResetTime, each_LastResetTime); output["LastResetTime"] = each_LastResetTime; + Json::Value each_LinkedLeaderboardNames; ToJsonUtilS(LinkedLeaderboardNames, each_LinkedLeaderboardNames); output["LinkedLeaderboardNames"] = each_LinkedLeaderboardNames; + Json::Value each_Name; ToJsonUtilS(Name, each_Name); output["Name"] = each_Name; + Json::Value each_Version; ToJsonUtilP(Version, each_Version); output["Version"] = each_Version; + Json::Value each_pfVersionConfiguration; ToJsonUtilO(pfVersionConfiguration, each_pfVersionConfiguration); output["VersionConfiguration"] = each_pfVersionConfiguration; + return output; + } + }; + struct ListStatisticDefinitionsResponse : public PlayFabResultCommon { std::map CustomTags; diff --git a/code/include/playfab/PlayFabProgressionInstanceApi.h b/code/include/playfab/PlayFabProgressionInstanceApi.h index fff9c75a..6e0321ad 100644 --- a/code/include/playfab/PlayFabProgressionInstanceApi.h +++ b/code/include/playfab/PlayFabProgressionInstanceApi.h @@ -57,7 +57,6 @@ namespace PlayFab void GetLeaderboardDefinition(ProgressionModels::GetLeaderboardDefinitionRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void GetLeaderboardForEntities(ProgressionModels::GetLeaderboardForEntitiesRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void GetStatisticDefinition(ProgressionModels::GetStatisticDefinitionRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); - void GetStatisticDefinitions(ProgressionModels::GetStatisticDefinitionsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void GetStatistics(ProgressionModels::GetStatisticsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void GetStatisticsForEntities(ProgressionModels::GetStatisticsForEntitiesRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void IncrementLeaderboardVersion(ProgressionModels::IncrementLeaderboardVersionRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); @@ -81,7 +80,6 @@ namespace PlayFab void OnGetLeaderboardDefinitionResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnGetLeaderboardForEntitiesResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnGetStatisticDefinitionResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); - void OnGetStatisticDefinitionsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnGetStatisticsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnGetStatisticsForEntitiesResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnIncrementLeaderboardVersionResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); diff --git a/code/include/playfab/PlayFabServerDataModels.h b/code/include/playfab/PlayFabServerDataModels.h index dadeb3b2..9db0d44f 100644 --- a/code/include/playfab/PlayFabServerDataModels.h +++ b/code/include/playfab/PlayFabServerDataModels.h @@ -4,6 +4,7 @@ #include #include +#include namespace PlayFab { @@ -14469,7 +14470,8 @@ namespace PlayFab LoginIdentityProviderApple, LoginIdentityProviderNintendoSwitchAccount, LoginIdentityProviderGooglePlayGames, - LoginIdentityProviderXboxMobileStore + LoginIdentityProviderXboxMobileStore, + LoginIdentityProviderKing }; inline void ToJsonEnum(const LoginIdentityProvider input, Json::Value& output) @@ -14589,6 +14591,11 @@ namespace PlayFab output = Json::Value("XboxMobileStore"); return; } + if (input == LoginIdentityProvider::LoginIdentityProviderKing) + { + output = Json::Value("King"); + return; + } } inline void FromJsonEnum(const Json::Value& input, LoginIdentityProvider& output) { @@ -14712,6 +14719,11 @@ namespace PlayFab output = LoginIdentityProvider::LoginIdentityProviderXboxMobileStore; return; } + if (inputStr == "King") + { + output = LoginIdentityProvider::LoginIdentityProviderKing; + return; + } } enum class PushNotificationPlatform @@ -15171,7 +15183,8 @@ namespace PlayFab UserOriginationApple, UserOriginationNintendoSwitchAccount, UserOriginationGooglePlayGames, - UserOriginationXboxMobileStore + UserOriginationXboxMobileStore, + UserOriginationKing }; inline void ToJsonEnum(const UserOrigination input, Json::Value& output) @@ -15301,6 +15314,11 @@ namespace PlayFab output = Json::Value("XboxMobileStore"); return; } + if (input == UserOrigination::UserOriginationKing) + { + output = Json::Value("King"); + return; + } } inline void FromJsonEnum(const Json::Value& input, UserOrigination& output) { @@ -15434,6 +15452,11 @@ namespace PlayFab output = UserOrigination::UserOriginationXboxMobileStore; return; } + if (inputStr == "King") + { + output = UserOrigination::UserOriginationKing; + return; + } } // Server Classes diff --git a/code/source/playfab/PlayFabMatchmakerApi.cpp b/code/source/playfab/PlayFabMatchmakerApi.cpp new file mode 100644 index 00000000..450c597a --- /dev/null +++ b/code/source/playfab/PlayFabMatchmakerApi.cpp @@ -0,0 +1,59 @@ +#include + +#if defined(ENABLE_PLAYFABSERVER_API) + +#include +#include +#include +#include +#include + +#if defined(PLAYFAB_PLATFORM_WINDOWS) +#pragma warning (disable: 4100) // formal parameters are part of a public interface +#endif // defined(PLAYFAB_PLATFORM_WINDOWS) + +namespace PlayFab +{ + using namespace MatchmakerModels; + + size_t PlayFabMatchmakerAPI::Update() + { + IPlayFabHttpPlugin& http = *PlayFabPluginManager::GetPlugin(PlayFabPluginContract::PlayFab_Transport); + return http.Update(); + } + + void PlayFabMatchmakerAPI::ForgetAllCredentials() + { + return PlayFabSettings::ForgetAllCredentials(); + } + + // PlayFabMatchmaker APIs + + bool PlayFabMatchmakerAPI::ValidateResult(PlayFabResultCommon& resultCommon, const CallRequestContainer& container) + { + if (container.errorWrapper.HttpCode == 200) + { + resultCommon.FromJson(container.errorWrapper.Data); + resultCommon.Request = container.errorWrapper.Request; + return true; + } + else // Process the error case + { + if (PlayFabSettings::globalErrorHandler != nullptr) + { + PlayFabSettings::globalErrorHandler(container.errorWrapper, container.GetCustomData()); + } + if (container.errorCallback != nullptr) + { + container.errorCallback(container.errorWrapper, container.GetCustomData()); + } + return false; + } + } +} + +#endif // #if defined(ENABLE_PLAYFABSERVER_API) + +#if defined(PLAYFAB_PLATFORM_WINDOWS) +#pragma warning (default: 4100) // formal parameters are part of a public interface +#endif // defined(PLAYFAB_PLATFORM_WINDOWS) diff --git a/code/source/playfab/PlayFabMatchmakerInstanceApi.cpp b/code/source/playfab/PlayFabMatchmakerInstanceApi.cpp new file mode 100644 index 00000000..6ab19b15 --- /dev/null +++ b/code/source/playfab/PlayFabMatchmakerInstanceApi.cpp @@ -0,0 +1,90 @@ +#include + +#if defined(ENABLE_PLAYFABSERVER_API) + +#include +#include +#include + +#if defined(PLAYFAB_PLATFORM_WINDOWS) +#pragma warning (disable: 4100) // formal parameters are part of a public interface +#endif // defined(PLAYFAB_PLATFORM_WINDOWS) + +namespace PlayFab +{ + using namespace MatchmakerModels; + + PlayFabMatchmakerInstanceAPI::PlayFabMatchmakerInstanceAPI(const std::shared_ptr& authenticationContext) + { + if (authenticationContext == nullptr) + { + throw PlayFabException(PlayFabExceptionCode::AuthContextRequired, "Context cannot be null, create a PlayFabAuthenticationContext for each player in advance, or get .authenticationContext"); + } + this->m_context = authenticationContext; + } + + PlayFabMatchmakerInstanceAPI::PlayFabMatchmakerInstanceAPI(const std::shared_ptr& apiSettings, const std::shared_ptr& authenticationContext) + { + if (authenticationContext == nullptr) + { + throw PlayFabException(PlayFabExceptionCode::AuthContextRequired, "Context cannot be null, create a PlayFabAuthenticationContext for each player in advance, or get .authenticationContext"); + } + this->m_settings = apiSettings; + this->m_context = authenticationContext; + } + + std::shared_ptr PlayFabMatchmakerInstanceAPI::GetSettings() const + { + return this->m_settings; + } + + std::shared_ptr PlayFabMatchmakerInstanceAPI::GetAuthenticationContext() const + { + return this->m_context; + } + + size_t PlayFabMatchmakerInstanceAPI::Update() + { + IPlayFabHttpPlugin& http = *PlayFabPluginManager::GetPlugin(PlayFabPluginContract::PlayFab_Transport); + return http.Update(); + } + + void PlayFabMatchmakerInstanceAPI::ForgetAllCredentials() + { + if (this->m_context != nullptr) + { + this->m_context->ForgetAllCredentials(); + } + } + + // PlayFabMatchmaker instance APIs + + bool PlayFabMatchmakerInstanceAPI::ValidateResult(PlayFabResultCommon& resultCommon, const CallRequestContainer& container) + { + if (container.errorWrapper.HttpCode == 200) + { + resultCommon.FromJson(container.errorWrapper.Data); + resultCommon.Request = container.errorWrapper.Request; + return true; + } + else // Process the error case + { + if (PlayFabSettings::globalErrorHandler != nullptr) + { + PlayFabSettings::globalErrorHandler(container.errorWrapper, container.GetCustomData()); + } + + if (container.errorCallback != nullptr) + { + container.errorCallback(container.errorWrapper, container.GetCustomData()); + } + return false; + } + } +} + +#endif + +#if defined(PLAYFAB_PLATFORM_WINDOWS) +#pragma warning (default: 4100) // formal parameters are part of a public interface +#endif // defined(PLAYFAB_PLATFORM_WINDOWS) diff --git a/code/source/playfab/PlayFabProfilesApi.cpp b/code/source/playfab/PlayFabProfilesApi.cpp index d39a0a8e..9f8df601 100644 --- a/code/source/playfab/PlayFabProfilesApi.cpp +++ b/code/source/playfab/PlayFabProfilesApi.cpp @@ -274,6 +274,55 @@ namespace PlayFab } } + void PlayFabProfilesAPI::SetDisplayName( + SetDisplayNameRequest& request, + const ProcessApiCallback callback, + const ErrorCallback errorCallback, + void* customData + ) + { + std::shared_ptr context = request.authenticationContext != nullptr ? request.authenticationContext : PlayFabSettings::staticPlayer; + std::shared_ptr settings = PlayFabSettings::staticSettings; + + IPlayFabHttpPlugin& http = *PlayFabPluginManager::GetPlugin(PlayFabPluginContract::PlayFab_Transport); + const Json::Value requestJson = request.ToJson(); + std::string jsonAsString = requestJson.toStyledString(); + + std::unordered_map headers; + headers.emplace("X-EntityToken", context->entityToken); + + auto reqContainer = std::unique_ptr(new CallRequestContainer( + "/Profile/SetDisplayName", + headers, + jsonAsString, + OnSetDisplayNameResult, + settings, + context, + customData)); + + reqContainer->successCallback = std::shared_ptr((callback == nullptr) ? nullptr : new ProcessApiCallback(callback)); + reqContainer->errorCallback = errorCallback; + + http.MakePostRequest(std::unique_ptr(static_cast(reqContainer.release()))); + } + + void PlayFabProfilesAPI::OnSetDisplayNameResult(int /*httpCode*/, const std::string& /*result*/, const std::shared_ptr& reqContainer) + { + CallRequestContainer& container = static_cast(*reqContainer); + std::shared_ptr context = container.GetContext(); + + SetDisplayNameResponse outResult; + if (ValidateResult(outResult, container)) + { + std::shared_ptr internalPtr = container.successCallback; + if (internalPtr.get() != nullptr) + { + const auto& callback = (*static_cast *>(internalPtr.get())); + callback(outResult, container.GetCustomData()); + } + } + } + void PlayFabProfilesAPI::SetGlobalPolicy( SetGlobalPolicyRequest& request, const ProcessApiCallback callback, diff --git a/code/source/playfab/PlayFabProfilesInstanceApi.cpp b/code/source/playfab/PlayFabProfilesInstanceApi.cpp index dd862a8d..b9c3cbb4 100644 --- a/code/source/playfab/PlayFabProfilesInstanceApi.cpp +++ b/code/source/playfab/PlayFabProfilesInstanceApi.cpp @@ -309,6 +309,56 @@ namespace PlayFab } } + void PlayFabProfilesInstanceAPI::SetDisplayName( + SetDisplayNameRequest& request, + const ProcessApiCallback callback, + const ErrorCallback errorCallback, + void* customData + ) + { + std::shared_ptr context = request.authenticationContext != nullptr ? request.authenticationContext : this->m_context; + std::shared_ptr settings = this->m_settings != nullptr ? this->m_settings : PlayFabSettings::staticSettings; + + IPlayFabHttpPlugin& http = *PlayFabPluginManager::GetPlugin(PlayFabPluginContract::PlayFab_Transport); + const Json::Value requestJson = request.ToJson(); + std::string jsonAsString = requestJson.toStyledString(); + + std::shared_ptr authenticationContext = request.authenticationContext == nullptr ? this->m_context : request.authenticationContext; + std::unordered_map headers; + headers.emplace("X-EntityToken", context->entityToken); + + auto reqContainer = std::unique_ptr(new CallRequestContainer( + "/Profile/SetDisplayName", + headers, + jsonAsString, + std::bind(&PlayFabProfilesInstanceAPI::OnSetDisplayNameResult, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3), + settings, + context, + customData)); + + reqContainer->successCallback = std::shared_ptr((callback == nullptr) ? nullptr : new ProcessApiCallback(callback)); + reqContainer->errorCallback = errorCallback; + + http.MakePostRequest(std::unique_ptr(static_cast(reqContainer.release()))); + } + + void PlayFabProfilesInstanceAPI::OnSetDisplayNameResult(int /*httpCode*/, const std::string& /*result*/, const std::shared_ptr& reqContainer) + { + CallRequestContainer& container = static_cast(*reqContainer); + std::shared_ptr context = container.GetContext(); + + SetDisplayNameResponse outResult; + if (ValidateResult(outResult, container)) + { + std::shared_ptr internalPtr = container.successCallback; + if (internalPtr.get() != nullptr) + { + const auto& callback = *static_cast *>(internalPtr.get()); + callback(outResult, container.GetCustomData()); + } + } + } + void PlayFabProfilesInstanceAPI::SetGlobalPolicy( SetGlobalPolicyRequest& request, const ProcessApiCallback callback, diff --git a/code/source/playfab/PlayFabProgressionApi.cpp b/code/source/playfab/PlayFabProgressionApi.cpp index d7956767..1a71bb00 100644 --- a/code/source/playfab/PlayFabProgressionApi.cpp +++ b/code/source/playfab/PlayFabProgressionApi.cpp @@ -617,55 +617,6 @@ namespace PlayFab } } - void PlayFabProgressionAPI::GetStatisticDefinitions( - GetStatisticDefinitionsRequest& request, - const ProcessApiCallback callback, - const ErrorCallback errorCallback, - void* customData - ) - { - std::shared_ptr context = request.authenticationContext != nullptr ? request.authenticationContext : PlayFabSettings::staticPlayer; - std::shared_ptr settings = PlayFabSettings::staticSettings; - - IPlayFabHttpPlugin& http = *PlayFabPluginManager::GetPlugin(PlayFabPluginContract::PlayFab_Transport); - const Json::Value requestJson = request.ToJson(); - std::string jsonAsString = requestJson.toStyledString(); - - std::unordered_map headers; - headers.emplace("X-EntityToken", context->entityToken); - - auto reqContainer = std::unique_ptr(new CallRequestContainer( - "/Statistic/GetStatisticDefinitions", - headers, - jsonAsString, - OnGetStatisticDefinitionsResult, - settings, - context, - customData)); - - reqContainer->successCallback = std::shared_ptr((callback == nullptr) ? nullptr : new ProcessApiCallback(callback)); - reqContainer->errorCallback = errorCallback; - - http.MakePostRequest(std::unique_ptr(static_cast(reqContainer.release()))); - } - - void PlayFabProgressionAPI::OnGetStatisticDefinitionsResult(int /*httpCode*/, const std::string& /*result*/, const std::shared_ptr& reqContainer) - { - CallRequestContainer& container = static_cast(*reqContainer); - std::shared_ptr context = container.GetContext(); - - GetStatisticDefinitionsResponse outResult; - if (ValidateResult(outResult, container)) - { - std::shared_ptr internalPtr = container.successCallback; - if (internalPtr.get() != nullptr) - { - const auto& callback = (*static_cast *>(internalPtr.get())); - callback(outResult, container.GetCustomData()); - } - } - } - void PlayFabProgressionAPI::GetStatistics( GetStatisticsRequest& request, const ProcessApiCallback callback, diff --git a/code/source/playfab/PlayFabProgressionInstanceApi.cpp b/code/source/playfab/PlayFabProgressionInstanceApi.cpp index 749aca0d..ab70e4b7 100644 --- a/code/source/playfab/PlayFabProgressionInstanceApi.cpp +++ b/code/source/playfab/PlayFabProgressionInstanceApi.cpp @@ -659,56 +659,6 @@ namespace PlayFab } } - void PlayFabProgressionInstanceAPI::GetStatisticDefinitions( - GetStatisticDefinitionsRequest& request, - const ProcessApiCallback callback, - const ErrorCallback errorCallback, - void* customData - ) - { - std::shared_ptr context = request.authenticationContext != nullptr ? request.authenticationContext : this->m_context; - std::shared_ptr settings = this->m_settings != nullptr ? this->m_settings : PlayFabSettings::staticSettings; - - IPlayFabHttpPlugin& http = *PlayFabPluginManager::GetPlugin(PlayFabPluginContract::PlayFab_Transport); - const Json::Value requestJson = request.ToJson(); - std::string jsonAsString = requestJson.toStyledString(); - - std::shared_ptr authenticationContext = request.authenticationContext == nullptr ? this->m_context : request.authenticationContext; - std::unordered_map headers; - headers.emplace("X-EntityToken", context->entityToken); - - auto reqContainer = std::unique_ptr(new CallRequestContainer( - "/Statistic/GetStatisticDefinitions", - headers, - jsonAsString, - std::bind(&PlayFabProgressionInstanceAPI::OnGetStatisticDefinitionsResult, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3), - settings, - context, - customData)); - - reqContainer->successCallback = std::shared_ptr((callback == nullptr) ? nullptr : new ProcessApiCallback(callback)); - reqContainer->errorCallback = errorCallback; - - http.MakePostRequest(std::unique_ptr(static_cast(reqContainer.release()))); - } - - void PlayFabProgressionInstanceAPI::OnGetStatisticDefinitionsResult(int /*httpCode*/, const std::string& /*result*/, const std::shared_ptr& reqContainer) - { - CallRequestContainer& container = static_cast(*reqContainer); - std::shared_ptr context = container.GetContext(); - - GetStatisticDefinitionsResponse outResult; - if (ValidateResult(outResult, container)) - { - std::shared_ptr internalPtr = container.successCallback; - if (internalPtr.get() != nullptr) - { - const auto& callback = *static_cast *>(internalPtr.get()); - callback(outResult, container.GetCustomData()); - } - } - } - void PlayFabProgressionInstanceAPI::GetStatistics( GetStatisticsRequest& request, const ProcessApiCallback callback, diff --git a/code/source/playfab/PlayFabSettings.cpp b/code/source/playfab/PlayFabSettings.cpp index 3f1667fa..79448ab1 100644 --- a/code/source/playfab/PlayFabSettings.cpp +++ b/code/source/playfab/PlayFabSettings.cpp @@ -7,9 +7,9 @@ namespace PlayFab // Control whether all callbacks are threaded or whether the user manually controls callback timing from their main-thread // Note ANY api call may synchronously throw an exception if the title id is not set bool PlayFabSettings::threadedCallbacks = false; - const std::string PlayFabSettings::sdkVersion = "3.144.240830"; + const std::string PlayFabSettings::sdkVersion = "3.145.240913"; const std::string PlayFabSettings::buildIdentifier = "adobuild_xplatcppsdk_166"; - const std::string PlayFabSettings::versionString = "XPlatCppSdk-3.144.240830"; + const std::string PlayFabSettings::versionString = "XPlatCppSdk-3.145.240913"; std::string PlayFabSettings::productionEnvironmentURL = ".playfabapi.com"; ErrorCallback PlayFabSettings::globalErrorHandler = nullptr; diff --git a/com.playfab.xplatcppsdk.v141.autopkg b/com.playfab.xplatcppsdk.v141.autopkg index 1e42bf27..a784ad90 100644 --- a/com.playfab.xplatcppsdk.v141.autopkg +++ b/com.playfab.xplatcppsdk.v141.autopkg @@ -8,7 +8,7 @@ configurations { nuget { nuspec { id = "com.playfab.xplatcppsdk.v141"; - version : 3.144.240830; + version : 3.145.240913; title: "PlayFab Cross Platform C++ Sdk for Visual Studio 2017"; summary: "PlayFab is the unified backend platform for games and everything you need to build and operate your game, all in one place, so you can focus on creating and delivering a great player experience."; authors: "PlayFab"; @@ -18,7 +18,7 @@ nuget { iconUrl: "https://playfab.com/assets/img/playfab-mark.png"; requireLicenseAcceptance: false; description: "Authentication, in-game commerce, player data, title data, inventory, characters, statistics, leaderboards, analytics and reporting, friends, multiplayer, matchmaking, tournaments, cloud script, trading, real-time event handling, player management, live ops, and server hosting for all major platforms/devices and games of any scale. This sdk gives your game the ability log into PlayFab and access cloud data and services."; - releaseNotes: "https://api.playfab.com/releaseNotes/#240830"; + releaseNotes: "https://api.playfab.com/releaseNotes/#240913"; copyright: "Copyright 2024"; language: "C++"; tags: { PlayFab, Baas, Paas, JSON, REST, HTTP, SSL, API, cloud, liveops, game, gamedev, native }; diff --git a/com.playfab.xplatcppsdk.v141.nuspec b/com.playfab.xplatcppsdk.v141.nuspec index 7037eba6..fef43320 100644 --- a/com.playfab.xplatcppsdk.v141.nuspec +++ b/com.playfab.xplatcppsdk.v141.nuspec @@ -2,14 +2,14 @@ com.playfab.xplatcppsdk.v141 - 3.144.240830 + 3.145.240913 Microsoft Microsoft http://github.com/PlayFab/XPlatCppSdk Apache-2.0 ./images/icon.png false - https://api.playfab.com/releaseNotes/#3.144.240830 + https://api.playfab.com/releaseNotes/#3.145.240913 Microsoft Azure PlayFab XPlatCppSdk © Microsoft Corporation. All rights reserved. Microsoft Azure PlayFab Baas Paas JSON REST HTTP SSL API cloud liveops game gamedev native nativepackage diff --git a/com.playfab.xplatcppsdk.v142.autopkg b/com.playfab.xplatcppsdk.v142.autopkg index 081cb13b..c392b2de 100644 --- a/com.playfab.xplatcppsdk.v142.autopkg +++ b/com.playfab.xplatcppsdk.v142.autopkg @@ -8,7 +8,7 @@ configurations { nuget { nuspec { id = "com.playfab.xplatcppsdk.v142"; - version : 3.144.240830; + version : 3.145.240913; title: "PlayFab Cross Platform C++ Sdk for Visual Studio 2019+"; summary: "PlayFab is the unified backend platform for games and everything you need to build and operate your game, all in one place, so you can focus on creating and delivering a great player experience."; authors: "PlayFab"; @@ -18,7 +18,7 @@ nuget { iconUrl: "https://playfab.com/assets/img/playfab-mark.png"; requireLicenseAcceptance: false; description: "Authentication, in-game commerce, player data, title data, inventory, characters, statistics, leaderboards, analytics and reporting, friends, multiplayer, matchmaking, tournaments, cloud script, trading, real-time event handling, player management, live ops, and server hosting for all major platforms/devices and games of any scale. This sdk gives your game the ability log into PlayFab and access cloud data and services."; - releaseNotes: "https://api.playfab.com/releaseNotes/#240830"; + releaseNotes: "https://api.playfab.com/releaseNotes/#240913"; copyright: "Copyright 2024"; language: "C++"; tags: { PlayFab, Baas, Paas, JSON, REST, HTTP, SSL, API, cloud, liveops, game, gamedev, native }; diff --git a/com.playfab.xplatcppsdk.v142.nuspec b/com.playfab.xplatcppsdk.v142.nuspec index 6249416b..0eda581e 100644 --- a/com.playfab.xplatcppsdk.v142.nuspec +++ b/com.playfab.xplatcppsdk.v142.nuspec @@ -2,14 +2,14 @@ com.playfab.xplatcppsdk.v142 - 3.144.240830 + 3.145.240913 Microsoft Microsoft http://github.com/PlayFab/XPlatCppSdk Apache-2.0 ./images/icon.png false - https://api.playfab.com/releaseNotes/#3.144.240830 + https://api.playfab.com/releaseNotes/#3.145.240913 Microsoft Azure PlayFab XPlatCppSdk © Microsoft Corporation. All rights reserved. Microsoft Azure PlayFab Baas Paas JSON REST HTTP SSL API cloud liveops game gamedev native nativepackage diff --git a/com.playfab.xplatxboxsdk.v141.autopkg b/com.playfab.xplatxboxsdk.v141.autopkg index e2dc8ac2..7270c4bf 100644 --- a/com.playfab.xplatxboxsdk.v141.autopkg +++ b/com.playfab.xplatxboxsdk.v141.autopkg @@ -18,7 +18,7 @@ configurations { nuget { nuspec { id = "com.playfab.xplatxboxsdk.v141"; - version : 3.144.240830; + version : 3.145.240913; title: "PlayFab Xbox Platform C++ Sdk for Visual Studio 2017"; summary: "PlayFab is the unified backend platform for games and everything you need to build and operate your game, all in one place, so you can focus on creating and delivering a great player experience."; authors: "PlayFab"; @@ -28,7 +28,7 @@ nuget { iconUrl: "https://playfab.com/assets/img/playfab-mark.png"; requireLicenseAcceptance: false; description: "Authentication, in-game commerce, player data, title data, inventory, characters, statistics, leaderboards, analytics and reporting, friends, multiplayer, matchmaking, tournaments, cloud script, trading, real-time event handling, player management, live ops, and server hosting for all major platforms/devices and games of any scale. This sdk gives your game the ability log into PlayFab and access cloud data and services."; - releaseNotes: "https://api.playfab.com/releaseNotes/#240830"; + releaseNotes: "https://api.playfab.com/releaseNotes/#240913"; copyright: "Copyright 2024"; language: "C++"; tags: { PlayFab, Baas, Paas, JSON, REST, HTTP, SSL, API, cloud, liveops, game, gamedev, native, xbox };