// Copyright Epic Games, Inc. All Rights Reserved.
// This file is automatically generated. Changes to this file may be overwritten.
namespace Epic.OnlineServices.Presence
{
public sealed partial class PresenceModification : Handle
{
public PresenceModification()
{
}
public PresenceModification(System.IntPtr innerHandle) : base(innerHandle)
{
}
public const int PresencemodificationDatarecordidApiLatest = 1;
///
/// Most recent version of the API.
///
public const int PresencemodificationDeletedataApiLatest = 1;
public const int PresencemodificationJoininfoMaxLength = PresenceInterface.DataMaxValueLength;
///
/// The most recent version of the API.
///
public const int PresencemodificationSetdataApiLatest = 1;
public const int PresencemodificationSetjoininfoApiLatest = 1;
///
/// The most recent version of the function.
///
public const int PresencemodificationSetrawrichtextApiLatest = 1;
///
/// The most recent version of the API.
///
public const int PresencemodificationSetstatusApiLatest = 1;
///
/// Removes one or more rows of user-defined presence data for a local user. At least one DeleteDataInfo object
/// must be specified.
///
///
///
///
/// Object containing an array of new presence data.
///
/// Success if modification was added successfully, otherwise an error code related to the problem
///
public Result DeleteData(PresenceModificationDeleteDataOptions options)
{
var optionsAddress = System.IntPtr.Zero;
Helper.TryMarshalSet(ref optionsAddress, options);
var funcResult = Bindings.EOS_PresenceModification_DeleteData(InnerHandle, optionsAddress);
Helper.TryMarshalDispose(ref optionsAddress);
return funcResult;
}
///
/// Release the memory associated with an handle. This must be called on Handles retrieved from .
/// This can be safely called on a NULL presence modification handle. This also may be safely called while a call to SetPresence is still pending.
///
///
/// The presence modification handle to release
public void Release()
{
Bindings.EOS_PresenceModification_Release(InnerHandle);
}
///
/// Modifies one or more rows of user-defined presence data for a local user. At least one InfoData object
/// must be specified.
///
///
///
///
/// Object containing an array of new presence data.
///
/// Success if modification was added successfully, otherwise an error code related to the problem
///
public Result SetData(PresenceModificationSetDataOptions options)
{
var optionsAddress = System.IntPtr.Zero;
Helper.TryMarshalSet(ref optionsAddress, options);
var funcResult = Bindings.EOS_PresenceModification_SetData(InnerHandle, optionsAddress);
Helper.TryMarshalDispose(ref optionsAddress);
return funcResult;
}
///
/// Sets your new join info custom game-data string. This is a helper function for reading the presence data related to how a user can be joined.
/// Its meaning is entirely application dependent.
///
///
/// Object containing a join info string and associated user data
///
/// Success if modification was added successfully, otherwise an error code related to the problem
///
public Result SetJoinInfo(PresenceModificationSetJoinInfoOptions options)
{
var optionsAddress = System.IntPtr.Zero;
Helper.TryMarshalSet(ref optionsAddress, options);
var funcResult = Bindings.EOS_PresenceModification_SetJoinInfo(InnerHandle, optionsAddress);
Helper.TryMarshalDispose(ref optionsAddress);
return funcResult;
}
///
/// Modifies a user's Rich Presence string to a new state. This is the exact value other users will see
/// when they query the local user's presence.
///
///
/// Object containing properties related to setting a user's RichText string
///
/// Success if modification was added successfully, otherwise an error code related to the problem
///
public Result SetRawRichText(PresenceModificationSetRawRichTextOptions options)
{
var optionsAddress = System.IntPtr.Zero;
Helper.TryMarshalSet(ref optionsAddress, options);
var funcResult = Bindings.EOS_PresenceModification_SetRawRichText(InnerHandle, optionsAddress);
Helper.TryMarshalDispose(ref optionsAddress);
return funcResult;
}
///
/// Modifies a user's online status to be the new state.
///
/// Object containing properties related to setting a user's Status
///
/// Success if modification was added successfully, otherwise an error code related to the problem
///
public Result SetStatus(PresenceModificationSetStatusOptions options)
{
var optionsAddress = System.IntPtr.Zero;
Helper.TryMarshalSet(ref optionsAddress, options);
var funcResult = Bindings.EOS_PresenceModification_SetStatus(InnerHandle, optionsAddress);
Helper.TryMarshalDispose(ref optionsAddress);
return funcResult;
}
}
}