Example #1
0
 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);
             }
 }
Example #2
0
 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;
     }
 }