From 8ae498d4f53dbb211a64235bd706cb48bd217afc Mon Sep 17 00:00:00 2001 From: PlayFab SDK Team Date: Mon, 25 Nov 2024 21:02:29 +0000 Subject: [PATCH] https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#241122 --- code/include/playfab/PlayFabAdminDataModels.h | 44 ++++++ code/include/playfab/PlayFabClientApi.h | 2 + .../include/playfab/PlayFabClientDataModels.h | 92 ++++++++++++ .../playfab/PlayFabClientInstanceApi.h | 2 + code/include/playfab/PlayFabError.h | 4 + .../playfab/PlayFabMultiplayerDataModels.h | 24 +++- code/include/playfab/PlayFabServerApi.h | 2 + .../include/playfab/PlayFabServerDataModels.h | 136 ++++++++++++++++++ .../playfab/PlayFabServerInstanceApi.h | 2 + code/source/playfab/PlayFabClientApi.cpp | 49 +++++++ .../playfab/PlayFabClientInstanceApi.cpp | 50 +++++++ code/source/playfab/PlayFabServerApi.cpp | 49 +++++++ .../playfab/PlayFabServerInstanceApi.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 +- 19 files changed, 517 insertions(+), 13 deletions(-) diff --git a/code/include/playfab/PlayFabAdminDataModels.h b/code/include/playfab/PlayFabAdminDataModels.h index 44cde36d..fac5338a 100644 --- a/code/include/playfab/PlayFabAdminDataModels.h +++ b/code/include/playfab/PlayFabAdminDataModels.h @@ -5486,6 +5486,8 @@ namespace PlayFab GenericErrorCodesStatisticColumnLengthMismatch, GenericErrorCodesInvalidExternalEntityId, GenericErrorCodesUpdatingStatisticsUsingTransactionIdNotAvailableForFreeTier, + GenericErrorCodesTransactionAlreadyApplied, + GenericErrorCodesReportDataNotRetrievedSuccessfully, GenericErrorCodesMatchmakingEntityInvalid, GenericErrorCodesMatchmakingPlayerAttributesInvalid, GenericErrorCodesMatchmakingQueueNotFound, @@ -5765,6 +5767,8 @@ namespace PlayFab GenericErrorCodesGameSaveFileNotUploaded, GenericErrorCodesGameSaveBadRequest, GenericErrorCodesGameSaveOperationNotAllowed, + GenericErrorCodesGameSaveDataStorageQuotaExceeded, + GenericErrorCodesGameSaveNewerManifestExists, GenericErrorCodesStateShareForbidden, GenericErrorCodesStateShareTitleNotInFlight, GenericErrorCodesStateShareStateNotFound, @@ -8692,6 +8696,16 @@ namespace PlayFab output = Json::Value("UpdatingStatisticsUsingTransactionIdNotAvailableForFreeTier"); return; } + if (input == GenericErrorCodes::GenericErrorCodesTransactionAlreadyApplied) + { + output = Json::Value("TransactionAlreadyApplied"); + return; + } + if (input == GenericErrorCodes::GenericErrorCodesReportDataNotRetrievedSuccessfully) + { + output = Json::Value("ReportDataNotRetrievedSuccessfully"); + return; + } if (input == GenericErrorCodes::GenericErrorCodesMatchmakingEntityInvalid) { output = Json::Value("MatchmakingEntityInvalid"); @@ -10087,6 +10101,16 @@ namespace PlayFab output = Json::Value("GameSaveOperationNotAllowed"); return; } + if (input == GenericErrorCodes::GenericErrorCodesGameSaveDataStorageQuotaExceeded) + { + output = Json::Value("GameSaveDataStorageQuotaExceeded"); + return; + } + if (input == GenericErrorCodes::GenericErrorCodesGameSaveNewerManifestExists) + { + output = Json::Value("GameSaveNewerManifestExists"); + return; + } if (input == GenericErrorCodes::GenericErrorCodesStateShareForbidden) { output = Json::Value("StateShareForbidden"); @@ -13050,6 +13074,16 @@ namespace PlayFab output = GenericErrorCodes::GenericErrorCodesUpdatingStatisticsUsingTransactionIdNotAvailableForFreeTier; return; } + if (inputStr == "TransactionAlreadyApplied") + { + output = GenericErrorCodes::GenericErrorCodesTransactionAlreadyApplied; + return; + } + if (inputStr == "ReportDataNotRetrievedSuccessfully") + { + output = GenericErrorCodes::GenericErrorCodesReportDataNotRetrievedSuccessfully; + return; + } if (inputStr == "MatchmakingEntityInvalid") { output = GenericErrorCodes::GenericErrorCodesMatchmakingEntityInvalid; @@ -14445,6 +14479,16 @@ namespace PlayFab output = GenericErrorCodes::GenericErrorCodesGameSaveOperationNotAllowed; return; } + if (inputStr == "GameSaveDataStorageQuotaExceeded") + { + output = GenericErrorCodes::GenericErrorCodesGameSaveDataStorageQuotaExceeded; + return; + } + if (inputStr == "GameSaveNewerManifestExists") + { + output = GenericErrorCodes::GenericErrorCodesGameSaveNewerManifestExists; + return; + } if (inputStr == "StateShareForbidden") { output = GenericErrorCodes::GenericErrorCodesStateShareForbidden; diff --git a/code/include/playfab/PlayFabClientApi.h b/code/include/playfab/PlayFabClientApi.h index a0ca48c7..e3e7a545 100644 --- a/code/include/playfab/PlayFabClientApi.h +++ b/code/include/playfab/PlayFabClientApi.h @@ -88,6 +88,7 @@ namespace PlayFab static void GetPlayFabIDsFromPSNAccountIDs(ClientModels::GetPlayFabIDsFromPSNAccountIDsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void GetPlayFabIDsFromPSNOnlineIDs(ClientModels::GetPlayFabIDsFromPSNOnlineIDsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void GetPlayFabIDsFromSteamIDs(ClientModels::GetPlayFabIDsFromSteamIDsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); + static void GetPlayFabIDsFromSteamNames(ClientModels::GetPlayFabIDsFromSteamNamesRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void GetPlayFabIDsFromTwitchIDs(ClientModels::GetPlayFabIDsFromTwitchIDsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void GetPlayFabIDsFromXboxLiveIDs(ClientModels::GetPlayFabIDsFromXboxLiveIDsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void GetPublisherData(ClientModels::GetPublisherDataRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); @@ -258,6 +259,7 @@ namespace PlayFab static void OnGetPlayFabIDsFromPSNAccountIDsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnGetPlayFabIDsFromPSNOnlineIDsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnGetPlayFabIDsFromSteamIDsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); + static void OnGetPlayFabIDsFromSteamNamesResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnGetPlayFabIDsFromTwitchIDsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnGetPlayFabIDsFromXboxLiveIDsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnGetPublisherDataResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); diff --git a/code/include/playfab/PlayFabClientDataModels.h b/code/include/playfab/PlayFabClientDataModels.h index e5782c29..933ed939 100644 --- a/code/include/playfab/PlayFabClientDataModels.h +++ b/code/include/playfab/PlayFabClientDataModels.h @@ -13386,6 +13386,98 @@ namespace PlayFab } }; + struct GetPlayFabIDsFromSteamNamesRequest : public PlayFabRequestCommon + { + std::list SteamNames; + + GetPlayFabIDsFromSteamNamesRequest() : + PlayFabRequestCommon(), + SteamNames() + {} + + GetPlayFabIDsFromSteamNamesRequest(const GetPlayFabIDsFromSteamNamesRequest& src) : + PlayFabRequestCommon(), + SteamNames(src.SteamNames) + {} + + ~GetPlayFabIDsFromSteamNamesRequest() = default; + + void FromJson(const Json::Value& input) override + { + FromJsonUtilS(input["SteamNames"], SteamNames); + } + + Json::Value ToJson() const override + { + Json::Value output; + Json::Value each_SteamNames; ToJsonUtilS(SteamNames, each_SteamNames); output["SteamNames"] = each_SteamNames; + return output; + } + }; + + struct SteamNamePlayFabIdPair : public PlayFabBaseModel + { + std::string PlayFabId; + std::string SteamName; + + SteamNamePlayFabIdPair() : + PlayFabBaseModel(), + PlayFabId(), + SteamName() + {} + + SteamNamePlayFabIdPair(const SteamNamePlayFabIdPair& src) : + PlayFabBaseModel(), + PlayFabId(src.PlayFabId), + SteamName(src.SteamName) + {} + + ~SteamNamePlayFabIdPair() = default; + + void FromJson(const Json::Value& input) override + { + FromJsonUtilS(input["PlayFabId"], PlayFabId); + FromJsonUtilS(input["SteamName"], SteamName); + } + + Json::Value ToJson() const override + { + Json::Value output; + Json::Value each_PlayFabId; ToJsonUtilS(PlayFabId, each_PlayFabId); output["PlayFabId"] = each_PlayFabId; + Json::Value each_SteamName; ToJsonUtilS(SteamName, each_SteamName); output["SteamName"] = each_SteamName; + return output; + } + }; + + struct GetPlayFabIDsFromSteamNamesResult : public PlayFabResultCommon + { + std::list Data; + + GetPlayFabIDsFromSteamNamesResult() : + PlayFabResultCommon(), + Data() + {} + + GetPlayFabIDsFromSteamNamesResult(const GetPlayFabIDsFromSteamNamesResult& src) : + PlayFabResultCommon(), + Data(src.Data) + {} + + ~GetPlayFabIDsFromSteamNamesResult() = default; + + void FromJson(const Json::Value& input) override + { + FromJsonUtilO(input["Data"], Data); + } + + Json::Value ToJson() const override + { + Json::Value output; + Json::Value each_Data; ToJsonUtilO(Data, each_Data); output["Data"] = each_Data; + return output; + } + }; + struct GetPlayFabIDsFromTwitchIDsRequest : public PlayFabRequestCommon { std::list TwitchIds; diff --git a/code/include/playfab/PlayFabClientInstanceApi.h b/code/include/playfab/PlayFabClientInstanceApi.h index 6477f94a..2412122a 100644 --- a/code/include/playfab/PlayFabClientInstanceApi.h +++ b/code/include/playfab/PlayFabClientInstanceApi.h @@ -106,6 +106,7 @@ namespace PlayFab void GetPlayFabIDsFromPSNAccountIDs(ClientModels::GetPlayFabIDsFromPSNAccountIDsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void GetPlayFabIDsFromPSNOnlineIDs(ClientModels::GetPlayFabIDsFromPSNOnlineIDsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void GetPlayFabIDsFromSteamIDs(ClientModels::GetPlayFabIDsFromSteamIDsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); + void GetPlayFabIDsFromSteamNames(ClientModels::GetPlayFabIDsFromSteamNamesRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void GetPlayFabIDsFromTwitchIDs(ClientModels::GetPlayFabIDsFromTwitchIDsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void GetPlayFabIDsFromXboxLiveIDs(ClientModels::GetPlayFabIDsFromXboxLiveIDsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void GetPublisherData(ClientModels::GetPublisherDataRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); @@ -272,6 +273,7 @@ namespace PlayFab void OnGetPlayFabIDsFromPSNAccountIDsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnGetPlayFabIDsFromPSNOnlineIDsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnGetPlayFabIDsFromSteamIDsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); + void OnGetPlayFabIDsFromSteamNamesResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnGetPlayFabIDsFromTwitchIDsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnGetPlayFabIDsFromXboxLiveIDsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnGetPublisherDataResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); diff --git a/code/include/playfab/PlayFabError.h b/code/include/playfab/PlayFabError.h index cced9747..83959f54 100644 --- a/code/include/playfab/PlayFabError.h +++ b/code/include/playfab/PlayFabError.h @@ -594,6 +594,8 @@ namespace PlayFab PlayFabErrorStatisticColumnLengthMismatch = 1593, PlayFabErrorInvalidExternalEntityId = 1594, PlayFabErrorUpdatingStatisticsUsingTransactionIdNotAvailableForFreeTier = 1595, + PlayFabErrorTransactionAlreadyApplied = 1596, + PlayFabErrorReportDataNotRetrievedSuccessfully = 1597, PlayFabErrorMatchmakingEntityInvalid = 2001, PlayFabErrorMatchmakingPlayerAttributesInvalid = 2002, PlayFabErrorMatchmakingQueueNotFound = 2016, @@ -873,6 +875,8 @@ namespace PlayFab PlayFabErrorGameSaveFileNotUploaded = 20308, PlayFabErrorGameSaveBadRequest = 20309, PlayFabErrorGameSaveOperationNotAllowed = 20310, + PlayFabErrorGameSaveDataStorageQuotaExceeded = 20311, + PlayFabErrorGameSaveNewerManifestExists = 20312, PlayFabErrorStateShareForbidden = 21000, PlayFabErrorStateShareTitleNotInFlight = 21001, PlayFabErrorStateShareStateNotFound = 21002, diff --git a/code/include/playfab/PlayFabMultiplayerDataModels.h b/code/include/playfab/PlayFabMultiplayerDataModels.h index 0f35b7c8..2148a231 100644 --- a/code/include/playfab/PlayFabMultiplayerDataModels.h +++ b/code/include/playfab/PlayFabMultiplayerDataModels.h @@ -84,7 +84,9 @@ namespace PlayFab AzureRegionCentralIndia, AzureRegionUaeNorth, AzureRegionUkSouth, - AzureRegionSwedenCentral + AzureRegionSwedenCentral, + AzureRegionCanadaCentral, + AzureRegionMexicoCentral }; inline void ToJsonEnum(const AzureRegion input, Json::Value& output) @@ -209,6 +211,16 @@ namespace PlayFab output = Json::Value("SwedenCentral"); return; } + if (input == AzureRegion::AzureRegionCanadaCentral) + { + output = Json::Value("CanadaCentral"); + return; + } + if (input == AzureRegion::AzureRegionMexicoCentral) + { + output = Json::Value("MexicoCentral"); + return; + } } inline void FromJsonEnum(const Json::Value& input, AzureRegion& output) { @@ -337,6 +349,16 @@ namespace PlayFab output = AzureRegion::AzureRegionSwedenCentral; return; } + if (inputStr == "CanadaCentral") + { + output = AzureRegion::AzureRegionCanadaCentral; + return; + } + if (inputStr == "MexicoCentral") + { + output = AzureRegion::AzureRegionMexicoCentral; + return; + } } enum class AzureVmFamily diff --git a/code/include/playfab/PlayFabServerApi.h b/code/include/playfab/PlayFabServerApi.h index e2d7b1d5..ac915f2d 100644 --- a/code/include/playfab/PlayFabServerApi.h +++ b/code/include/playfab/PlayFabServerApi.h @@ -77,6 +77,7 @@ namespace PlayFab static void GetPlayFabIDsFromPSNAccountIDs(ServerModels::GetPlayFabIDsFromPSNAccountIDsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void GetPlayFabIDsFromPSNOnlineIDs(ServerModels::GetPlayFabIDsFromPSNOnlineIDsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void GetPlayFabIDsFromSteamIDs(ServerModels::GetPlayFabIDsFromSteamIDsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); + static void GetPlayFabIDsFromSteamNames(ServerModels::GetPlayFabIDsFromSteamNamesRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void GetPlayFabIDsFromTwitchIDs(ServerModels::GetPlayFabIDsFromTwitchIDsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void GetPlayFabIDsFromXboxLiveIDs(ServerModels::GetPlayFabIDsFromXboxLiveIDsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); static void GetPublisherData(ServerModels::GetPublisherDataRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); @@ -220,6 +221,7 @@ namespace PlayFab static void OnGetPlayFabIDsFromPSNAccountIDsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnGetPlayFabIDsFromPSNOnlineIDsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnGetPlayFabIDsFromSteamIDsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); + static void OnGetPlayFabIDsFromSteamNamesResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnGetPlayFabIDsFromTwitchIDsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnGetPlayFabIDsFromXboxLiveIDsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); static void OnGetPublisherDataResult(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 5348c919..07224075 100644 --- a/code/include/playfab/PlayFabServerDataModels.h +++ b/code/include/playfab/PlayFabServerDataModels.h @@ -5510,6 +5510,8 @@ namespace PlayFab GenericErrorCodesStatisticColumnLengthMismatch, GenericErrorCodesInvalidExternalEntityId, GenericErrorCodesUpdatingStatisticsUsingTransactionIdNotAvailableForFreeTier, + GenericErrorCodesTransactionAlreadyApplied, + GenericErrorCodesReportDataNotRetrievedSuccessfully, GenericErrorCodesMatchmakingEntityInvalid, GenericErrorCodesMatchmakingPlayerAttributesInvalid, GenericErrorCodesMatchmakingQueueNotFound, @@ -5789,6 +5791,8 @@ namespace PlayFab GenericErrorCodesGameSaveFileNotUploaded, GenericErrorCodesGameSaveBadRequest, GenericErrorCodesGameSaveOperationNotAllowed, + GenericErrorCodesGameSaveDataStorageQuotaExceeded, + GenericErrorCodesGameSaveNewerManifestExists, GenericErrorCodesStateShareForbidden, GenericErrorCodesStateShareTitleNotInFlight, GenericErrorCodesStateShareStateNotFound, @@ -8716,6 +8720,16 @@ namespace PlayFab output = Json::Value("UpdatingStatisticsUsingTransactionIdNotAvailableForFreeTier"); return; } + if (input == GenericErrorCodes::GenericErrorCodesTransactionAlreadyApplied) + { + output = Json::Value("TransactionAlreadyApplied"); + return; + } + if (input == GenericErrorCodes::GenericErrorCodesReportDataNotRetrievedSuccessfully) + { + output = Json::Value("ReportDataNotRetrievedSuccessfully"); + return; + } if (input == GenericErrorCodes::GenericErrorCodesMatchmakingEntityInvalid) { output = Json::Value("MatchmakingEntityInvalid"); @@ -10111,6 +10125,16 @@ namespace PlayFab output = Json::Value("GameSaveOperationNotAllowed"); return; } + if (input == GenericErrorCodes::GenericErrorCodesGameSaveDataStorageQuotaExceeded) + { + output = Json::Value("GameSaveDataStorageQuotaExceeded"); + return; + } + if (input == GenericErrorCodes::GenericErrorCodesGameSaveNewerManifestExists) + { + output = Json::Value("GameSaveNewerManifestExists"); + return; + } if (input == GenericErrorCodes::GenericErrorCodesStateShareForbidden) { output = Json::Value("StateShareForbidden"); @@ -13074,6 +13098,16 @@ namespace PlayFab output = GenericErrorCodes::GenericErrorCodesUpdatingStatisticsUsingTransactionIdNotAvailableForFreeTier; return; } + if (inputStr == "TransactionAlreadyApplied") + { + output = GenericErrorCodes::GenericErrorCodesTransactionAlreadyApplied; + return; + } + if (inputStr == "ReportDataNotRetrievedSuccessfully") + { + output = GenericErrorCodes::GenericErrorCodesReportDataNotRetrievedSuccessfully; + return; + } if (inputStr == "MatchmakingEntityInvalid") { output = GenericErrorCodes::GenericErrorCodesMatchmakingEntityInvalid; @@ -14469,6 +14503,16 @@ namespace PlayFab output = GenericErrorCodes::GenericErrorCodesGameSaveOperationNotAllowed; return; } + if (inputStr == "GameSaveDataStorageQuotaExceeded") + { + output = GenericErrorCodes::GenericErrorCodesGameSaveDataStorageQuotaExceeded; + return; + } + if (inputStr == "GameSaveNewerManifestExists") + { + output = GenericErrorCodes::GenericErrorCodesGameSaveNewerManifestExists; + return; + } if (inputStr == "StateShareForbidden") { output = GenericErrorCodes::GenericErrorCodesStateShareForbidden; @@ -22104,6 +22148,98 @@ namespace PlayFab } }; + struct GetPlayFabIDsFromSteamNamesRequest : public PlayFabRequestCommon + { + std::list SteamNames; + + GetPlayFabIDsFromSteamNamesRequest() : + PlayFabRequestCommon(), + SteamNames() + {} + + GetPlayFabIDsFromSteamNamesRequest(const GetPlayFabIDsFromSteamNamesRequest& src) : + PlayFabRequestCommon(), + SteamNames(src.SteamNames) + {} + + ~GetPlayFabIDsFromSteamNamesRequest() = default; + + void FromJson(const Json::Value& input) override + { + FromJsonUtilS(input["SteamNames"], SteamNames); + } + + Json::Value ToJson() const override + { + Json::Value output; + Json::Value each_SteamNames; ToJsonUtilS(SteamNames, each_SteamNames); output["SteamNames"] = each_SteamNames; + return output; + } + }; + + struct SteamNamePlayFabIdPair : public PlayFabBaseModel + { + std::string PlayFabId; + std::string SteamName; + + SteamNamePlayFabIdPair() : + PlayFabBaseModel(), + PlayFabId(), + SteamName() + {} + + SteamNamePlayFabIdPair(const SteamNamePlayFabIdPair& src) : + PlayFabBaseModel(), + PlayFabId(src.PlayFabId), + SteamName(src.SteamName) + {} + + ~SteamNamePlayFabIdPair() = default; + + void FromJson(const Json::Value& input) override + { + FromJsonUtilS(input["PlayFabId"], PlayFabId); + FromJsonUtilS(input["SteamName"], SteamName); + } + + Json::Value ToJson() const override + { + Json::Value output; + Json::Value each_PlayFabId; ToJsonUtilS(PlayFabId, each_PlayFabId); output["PlayFabId"] = each_PlayFabId; + Json::Value each_SteamName; ToJsonUtilS(SteamName, each_SteamName); output["SteamName"] = each_SteamName; + return output; + } + }; + + struct GetPlayFabIDsFromSteamNamesResult : public PlayFabResultCommon + { + std::list Data; + + GetPlayFabIDsFromSteamNamesResult() : + PlayFabResultCommon(), + Data() + {} + + GetPlayFabIDsFromSteamNamesResult(const GetPlayFabIDsFromSteamNamesResult& src) : + PlayFabResultCommon(), + Data(src.Data) + {} + + ~GetPlayFabIDsFromSteamNamesResult() = default; + + void FromJson(const Json::Value& input) override + { + FromJsonUtilO(input["Data"], Data); + } + + Json::Value ToJson() const override + { + Json::Value output; + Json::Value each_Data; ToJsonUtilO(Data, each_Data); output["Data"] = each_Data; + return output; + } + }; + struct GetPlayFabIDsFromTwitchIDsRequest : public PlayFabRequestCommon { std::list TwitchIds; diff --git a/code/include/playfab/PlayFabServerInstanceApi.h b/code/include/playfab/PlayFabServerInstanceApi.h index a833cecf..2e7895f4 100644 --- a/code/include/playfab/PlayFabServerInstanceApi.h +++ b/code/include/playfab/PlayFabServerInstanceApi.h @@ -95,6 +95,7 @@ namespace PlayFab void GetPlayFabIDsFromPSNAccountIDs(ServerModels::GetPlayFabIDsFromPSNAccountIDsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void GetPlayFabIDsFromPSNOnlineIDs(ServerModels::GetPlayFabIDsFromPSNOnlineIDsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void GetPlayFabIDsFromSteamIDs(ServerModels::GetPlayFabIDsFromSteamIDsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); + void GetPlayFabIDsFromSteamNames(ServerModels::GetPlayFabIDsFromSteamNamesRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void GetPlayFabIDsFromTwitchIDs(ServerModels::GetPlayFabIDsFromTwitchIDsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void GetPlayFabIDsFromXboxLiveIDs(ServerModels::GetPlayFabIDsFromXboxLiveIDsRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); void GetPublisherData(ServerModels::GetPublisherDataRequest& request, const ProcessApiCallback callback, const ErrorCallback errorCallback = nullptr, void* customData = nullptr); @@ -234,6 +235,7 @@ namespace PlayFab void OnGetPlayFabIDsFromPSNAccountIDsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnGetPlayFabIDsFromPSNOnlineIDsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnGetPlayFabIDsFromSteamIDsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); + void OnGetPlayFabIDsFromSteamNamesResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnGetPlayFabIDsFromTwitchIDsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnGetPlayFabIDsFromXboxLiveIDsResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); void OnGetPublisherDataResult(int httpCode, const std::string& result, const std::shared_ptr& reqContainer); diff --git a/code/source/playfab/PlayFabClientApi.cpp b/code/source/playfab/PlayFabClientApi.cpp index 67af2830..28a743e0 100644 --- a/code/source/playfab/PlayFabClientApi.cpp +++ b/code/source/playfab/PlayFabClientApi.cpp @@ -2773,6 +2773,55 @@ namespace PlayFab } } + void PlayFabClientAPI::GetPlayFabIDsFromSteamNames( + GetPlayFabIDsFromSteamNamesRequest& 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-Authorization", context->clientSessionTicket); + + auto reqContainer = std::unique_ptr(new CallRequestContainer( + "/Client/GetPlayFabIDsFromSteamNames", + headers, + jsonAsString, + OnGetPlayFabIDsFromSteamNamesResult, + 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 PlayFabClientAPI::OnGetPlayFabIDsFromSteamNamesResult(int /*httpCode*/, const std::string& /*result*/, const std::shared_ptr& reqContainer) + { + CallRequestContainer& container = static_cast(*reqContainer); + std::shared_ptr context = container.GetContext(); + + GetPlayFabIDsFromSteamNamesResult 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 PlayFabClientAPI::GetPlayFabIDsFromTwitchIDs( GetPlayFabIDsFromTwitchIDsRequest& request, const ProcessApiCallback callback, diff --git a/code/source/playfab/PlayFabClientInstanceApi.cpp b/code/source/playfab/PlayFabClientInstanceApi.cpp index 8418b563..f2a73ce4 100644 --- a/code/source/playfab/PlayFabClientInstanceApi.cpp +++ b/code/source/playfab/PlayFabClientInstanceApi.cpp @@ -2862,6 +2862,56 @@ namespace PlayFab } } + void PlayFabClientInstanceAPI::GetPlayFabIDsFromSteamNames( + GetPlayFabIDsFromSteamNamesRequest& 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-Authorization", context->clientSessionTicket); + + auto reqContainer = std::unique_ptr(new CallRequestContainer( + "/Client/GetPlayFabIDsFromSteamNames", + headers, + jsonAsString, + std::bind(&PlayFabClientInstanceAPI::OnGetPlayFabIDsFromSteamNamesResult, 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 PlayFabClientInstanceAPI::OnGetPlayFabIDsFromSteamNamesResult(int /*httpCode*/, const std::string& /*result*/, const std::shared_ptr& reqContainer) + { + CallRequestContainer& container = static_cast(*reqContainer); + std::shared_ptr context = container.GetContext(); + + GetPlayFabIDsFromSteamNamesResult 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 PlayFabClientInstanceAPI::GetPlayFabIDsFromTwitchIDs( GetPlayFabIDsFromTwitchIDsRequest& request, const ProcessApiCallback callback, diff --git a/code/source/playfab/PlayFabServerApi.cpp b/code/source/playfab/PlayFabServerApi.cpp index 677e5d19..05e791b8 100644 --- a/code/source/playfab/PlayFabServerApi.cpp +++ b/code/source/playfab/PlayFabServerApi.cpp @@ -2381,6 +2381,55 @@ namespace PlayFab } } + void PlayFabServerAPI::GetPlayFabIDsFromSteamNames( + GetPlayFabIDsFromSteamNamesRequest& 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-SecretKey", settings->developerSecretKey); + + auto reqContainer = std::unique_ptr(new CallRequestContainer( + "/Server/GetPlayFabIDsFromSteamNames", + headers, + jsonAsString, + OnGetPlayFabIDsFromSteamNamesResult, + 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 PlayFabServerAPI::OnGetPlayFabIDsFromSteamNamesResult(int /*httpCode*/, const std::string& /*result*/, const std::shared_ptr& reqContainer) + { + CallRequestContainer& container = static_cast(*reqContainer); + std::shared_ptr context = container.GetContext(); + + GetPlayFabIDsFromSteamNamesResult 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 PlayFabServerAPI::GetPlayFabIDsFromTwitchIDs( GetPlayFabIDsFromTwitchIDsRequest& request, const ProcessApiCallback callback, diff --git a/code/source/playfab/PlayFabServerInstanceApi.cpp b/code/source/playfab/PlayFabServerInstanceApi.cpp index 124e1331..356699b8 100644 --- a/code/source/playfab/PlayFabServerInstanceApi.cpp +++ b/code/source/playfab/PlayFabServerInstanceApi.cpp @@ -2460,6 +2460,56 @@ namespace PlayFab } } + void PlayFabServerInstanceAPI::GetPlayFabIDsFromSteamNames( + GetPlayFabIDsFromSteamNamesRequest& 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-SecretKey", settings->developerSecretKey); + + auto reqContainer = std::unique_ptr(new CallRequestContainer( + "/Server/GetPlayFabIDsFromSteamNames", + headers, + jsonAsString, + std::bind(&PlayFabServerInstanceAPI::OnGetPlayFabIDsFromSteamNamesResult, 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 PlayFabServerInstanceAPI::OnGetPlayFabIDsFromSteamNamesResult(int /*httpCode*/, const std::string& /*result*/, const std::shared_ptr& reqContainer) + { + CallRequestContainer& container = static_cast(*reqContainer); + std::shared_ptr context = container.GetContext(); + + GetPlayFabIDsFromSteamNamesResult 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 PlayFabServerInstanceAPI::GetPlayFabIDsFromTwitchIDs( GetPlayFabIDsFromTwitchIDsRequest& request, const ProcessApiCallback callback, diff --git a/code/source/playfab/PlayFabSettings.cpp b/code/source/playfab/PlayFabSettings.cpp index 000b215a..70f3f3fd 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.148.241108"; + const std::string PlayFabSettings::sdkVersion = "3.149.241122"; const std::string PlayFabSettings::buildIdentifier = "adobuild_xplatcppsdk_166"; - const std::string PlayFabSettings::versionString = "XPlatCppSdk-3.148.241108"; + const std::string PlayFabSettings::versionString = "XPlatCppSdk-3.149.241122"; 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 2fdaf2d5..8afc398a 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.148.241108; + version : 3.149.241122; 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/#241108"; + releaseNotes: "https://api.playfab.com/releaseNotes/#241122"; 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 8d039532..cee40b56 100644 --- a/com.playfab.xplatcppsdk.v141.nuspec +++ b/com.playfab.xplatcppsdk.v141.nuspec @@ -2,14 +2,14 @@ com.playfab.xplatcppsdk.v141 - 3.148.241108 + 3.149.241122 Microsoft Microsoft http://github.com/PlayFab/XPlatCppSdk Apache-2.0 ./images/icon.png false - https://api.playfab.com/releaseNotes/#3.148.241108 + https://api.playfab.com/releaseNotes/#3.149.241122 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 f9fd2325..226a4c31 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.148.241108; + version : 3.149.241122; 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/#241108"; + releaseNotes: "https://api.playfab.com/releaseNotes/#241122"; 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 ce3ebcd5..1501f52a 100644 --- a/com.playfab.xplatcppsdk.v142.nuspec +++ b/com.playfab.xplatcppsdk.v142.nuspec @@ -2,14 +2,14 @@ com.playfab.xplatcppsdk.v142 - 3.148.241108 + 3.149.241122 Microsoft Microsoft http://github.com/PlayFab/XPlatCppSdk Apache-2.0 ./images/icon.png false - https://api.playfab.com/releaseNotes/#3.148.241108 + https://api.playfab.com/releaseNotes/#3.149.241122 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 ed063dc0..0ea98548 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.148.241108; + version : 3.149.241122; 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/#241108"; + releaseNotes: "https://api.playfab.com/releaseNotes/#241122"; copyright: "Copyright 2024"; language: "C++"; tags: { PlayFab, Baas, Paas, JSON, REST, HTTP, SSL, API, cloud, liveops, game, gamedev, native, xbox };