// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices { public sealed partial class ProductUserId : Handle { public ProductUserId() { } public ProductUserId(System.IntPtr innerHandle) : base(innerHandle) { } /// /// A character buffer of this size is large enough to fit a successful output of . This length does not include the null-terminator. /// public const int ProductuseridMaxLength = 32; /// /// Retrieve an from a raw string representing an Epic Online Services Product User ID. The input string must be null-terminated. /// NOTE: There is no validation on the string format, this should only be used with values serialized from legitimate sources such as /// /// The stringified product user ID for which to retrieve the Epic Online Services Product User ID /// /// The that corresponds to the ProductUserIdString /// public static ProductUserId FromString(Utf8String productUserIdString) { var productUserIdStringAddress = System.IntPtr.Zero; Helper.Set(productUserIdString, ref productUserIdStringAddress); var funcResult = Bindings.EOS_ProductUserId_FromString(productUserIdStringAddress); Helper.Dispose(ref productUserIdStringAddress); ProductUserId funcResultReturn; Helper.Get(funcResult, out funcResultReturn); return funcResultReturn; } public static explicit operator ProductUserId(Utf8String value) { return FromString(value); } /// /// Check whether or not the given account unique ID is considered valid /// NOTE: This will return true for any created with as there is no validation /// /// The Product User ID to check for validity /// /// if the is valid, otherwise /// public bool IsValid() { var funcResult = Bindings.EOS_ProductUserId_IsValid(InnerHandle); bool funcResultReturn; Helper.Get(funcResult, out funcResultReturn); return funcResultReturn; } /// /// Retrieve a null-terminated stringified Product User ID from an . This is useful for replication of Product User IDs in multiplayer games. /// This string will be no larger than + 1 and will only contain UTF8-encoded printable characters as well as the null-terminator. /// /// The Product User ID for which to retrieve the stringified version. /// The buffer into which the character data should be written /// /// The size of the OutBuffer in characters. /// The input buffer should include enough space to be null-terminated. /// When the function returns, this parameter will be filled with the length of the string copied into OutBuffer including the null-termination character. /// /// /// An that indicates whether the Product User ID string was copied into the OutBuffer. /// - The OutBuffer was filled, and InOutBufferLength contains the number of characters copied into OutBuffer including the null-terminator. /// - Either OutBuffer or InOutBufferLength were passed as parameters. /// - The AccountId is invalid and cannot be stringified. /// - The OutBuffer is not large enough to receive the Product User ID string. InOutBufferLength contains the required minimum length to perform the operation successfully. /// public Result ToString(out Utf8String outBuffer) { int inOutBufferLength = ProductuseridMaxLength + 1; System.IntPtr outBufferAddress = Helper.AddAllocation(inOutBufferLength); var funcResult = Bindings.EOS_ProductUserId_ToString(InnerHandle, outBufferAddress, ref inOutBufferLength); Helper.Get(outBufferAddress, out outBuffer); Helper.Dispose(ref outBufferAddress); return funcResult; } public override string ToString() { Utf8String funcResult; ToString(out funcResult); return funcResult; } public override string ToString(string format, System.IFormatProvider formatProvider) { if (format != null) { return string.Format(format, ToString()); } return ToString(); } public static explicit operator Utf8String(ProductUserId value) { Utf8String result = null; if (value != null) { value.ToString(out result); } return result; } } }