RdioClient() { rdioDelegate = new RdioDelegate(); rdioDelegate.RequestComplete += state => { AuthorizeState = state; AuthorizeRequestCompleted(state); }; rdio = new Rdio("45uk6pq7vbxdb2zunug9r7mu", "Vbe54ghj2N", rdioDelegate); observer = new CurrentTrackObserver(); rdio.RdioPlayer.AddObserver(observer, (NSString)"currentTrack", NSKeyValueObservingOptions.New, context: IntPtr.Zero); }
public static async Task <NSObject> CallApiMethodAsync(this Rdio rdio, string method, NSDictionary parameters) { var handler = new AsyncRequestHandler(); Handlers.Add(handler); rdio.CallApiMethod(method, parameters, handler); var data = await handler.Data; Handlers.Remove(handler); return(data); }