public static Inbox PostTracks( SpotifySession session, string username, Track[] tracks, string message, InboxPostComplete callback, object userdata) { using (var utf8_username = SpotifyMarshalling.StringToUtf8(username)) using (var utf8_message = SpotifyMarshalling.StringToUtf8(message)) using (var track_array = SpotifyMarshalling.ArrayToNativeArray(tracks.Select(x => x._handle).ToArray())) { IntPtr listenerToken = ListenerTable.PutUniqueObject(callback, userdata); IntPtr ptr = NativeMethods.sp_inbox_post_tracks( session._handle, utf8_username.IntPtr, track_array.IntPtr, track_array.Length, utf8_message.IntPtr, InboxPostCompleteDelegate, listenerToken); Inbox search = InboxTable.GetUniqueObject(ptr); search.ListenerToken = listenerToken; return(search); } }
public static Inbox PostTracks( SpotifySession session, string username, Track[] tracks, string message, InboxPostComplete callback, object userdata) { using (var utf8_username = SpotifyMarshalling.StringToUtf8(username)) using (var utf8_message = SpotifyMarshalling.StringToUtf8(message)) using (var track_array = SpotifyMarshalling.ArrayToNativeArray(tracks.Select(x=>x._handle).ToArray())) { IntPtr listenerToken = ListenerTable.PutUniqueObject(callback, userdata); IntPtr ptr = NativeMethods.sp_inbox_post_tracks( session._handle, utf8_username.IntPtr, track_array.IntPtr, track_array.Length, utf8_message.IntPtr, InboxPostCompleteDelegate, listenerToken); Inbox search = InboxTable.GetUniqueObject(ptr); search.ListenerToken = listenerToken; return search; } }