public IAsyncResult BeginArtistBrowse(Artist artist, ArtistBrowseType browseType, AsyncCallback userCallback, object state) { AsyncArtistBrowseResult result = new AsyncArtistBrowseResult(userCallback, state); LibSpotify.sp_artistbrowse_create_r(Handle, artist.Handle, browseType, result.HandleBrowseComplete, IntPtr.Zero); return(result); }
public static ArtistBrowse Create(SpotifySession session, Artist artist, ArtistBrowseType type, ArtistBrowseComplete callback, object userdata) { IntPtr listenerToken = ListenerTable.PutUniqueObject(callback, userdata); IntPtr ptr = NativeMethods.sp_artistbrowse_create(session._handle, artist._handle, type, ArtistBrowseCompleteDelegate, listenerToken); ArtistBrowse browse = BrowseTable.GetUniqueObject(ptr); browse.ListenerToken = listenerToken; return browse; }
public static ArtistBrowse Create(SpotifySession session, Artist artist, ArtistBrowseType type, ArtistBrowseComplete callback, object userdata) { IntPtr listenerToken = ListenerTable.PutUniqueObject(callback, userdata); IntPtr ptr = NativeMethods.sp_artistbrowse_create(session._handle, artist._handle, type, ArtistBrowseCompleteDelegate, listenerToken); ArtistBrowse browse = BrowseTable.GetUniqueObject(ptr); browse.ListenerToken = listenerToken; return(browse); }
public static Task<IArtistBrowse> BrowseAsync( this ISession session, IArtist artist, ArtistBrowseType type, object userState = null) { var tcs = new TaskCompletionSource<IArtistBrowse>(); var browse = session.Browse(artist, type, userState); browse.Completed += (sender, args) => tcs.SetResult(browse); return tcs.Task; }
public IArtistBrowse Browse(IArtist artist, ArtistBrowseType browseType, object userData = null) { if (!(artist is INativeObject)) { throw new ArgumentException("Invalid type"); } AssertHandle(); var browse = new NativeArtistBrowse(this, artist.GetHandle(), browseType); browse.Initialize(); return(browse); }
public static Task <IArtistBrowse> BrowseAsync( this ISession session, IArtist artist, ArtistBrowseType type, object userState = null) { var tcs = new TaskCompletionSource <IArtistBrowse>(); var browse = session.Browse(artist, type, userState); if (browse.IsComplete) { tcs.SetResult(browse); } browse.Completed += (sender, args) => tcs.SetResult(browse); return(tcs.Task); }
public NativeArtistBrowse(ISession session, IntPtr artistToBrowse, ArtistBrowseType browseType) : base(session, IntPtr.Zero) { _artistToBrowse = artistToBrowse; _browseType = browseType; }
public static IArtistBrowse Browse(this IArtist artist, ArtistBrowseType browseType, object userData = null) { return(artist.Session.Browse(artist, browseType, userData)); }
public static IArtistBrowse Browse(this IArtist artist, ArtistBrowseType browseType, object userData = null) { return artist.Session.Browse(artist, browseType, userData); }
public IArtistBrowse Browse(IArtist artist, ArtistBrowseType browseType, object userData = null) { if (!(artist is INativeObject)) { throw new ArgumentException("Invalid type"); } AssertHandle(); var browse = new NativeArtistBrowse(this, artist.GetHandle(), browseType); browse.Initialize(); return browse; }
public Task <ArtistBrowse> BrowseAristAsync(Artist artist, ArtistBrowseType browseType, object state) { return(Task.Factory.FromAsync <Artist, ArtistBrowseType, ArtistBrowse>(BeginArtistBrowse, EndArtistBrowse, artist, browseType, state)); }
internal static extern IntPtr sp_artistbrowse_create(IntPtr sessionPtr, IntPtr artistPtr, ArtistBrowseType type, ArtistBrowseCompleteCallback callback, IntPtr userDataPtr);