public void Set(CopyPresenceOptions other) { if (other != null) { m_ApiVersion = PresenceInterface.CopypresenceApiLatest; LocalUserId = other.LocalUserId; TargetUserId = other.TargetUserId; } }
/// <summary> /// Get a user's cached presence object. If successful, this data must be released by calling <see cref="Release" /> /// <seealso cref="Release" /> /// </summary> /// <param name="options">Object containing properties related to who is requesting presence and for what user</param> /// <param name="outPresence">A pointer to a pointer of Presence Info. If the returned result is success, this will be set to data that must be later released, otherwise this will be set to NULL</param> /// <returns> /// Success if we have cached data, or an error result if the request was invalid or we do not have cached data. /// </returns> public Result CopyPresence(CopyPresenceOptions options, out Info outPresence) { System.IntPtr optionsAddress = new System.IntPtr(); Helper.TryMarshalSet <CopyPresenceOptionsInternal, CopyPresenceOptions>(ref optionsAddress, options); var outPresenceAddress = System.IntPtr.Zero; var funcResult = EOS_Presence_CopyPresence(InnerHandle, optionsAddress, ref outPresenceAddress); Helper.TryMarshalDispose(ref optionsAddress); if (Helper.TryMarshalGet <InfoInternal, Info>(outPresenceAddress, out outPresence)) { EOS_Presence_Info_Release(outPresenceAddress); } return(funcResult); }