public void UnPinWebApp(string webAppId, ResponseListener listener) { if (string.IsNullOrEmpty(webAppId)) { if (listener != null) { listener.OnError(new ServiceCommandError(-1, "You must provide a valid web app id")); } return; } const string uri = "ssap://webapp/removePinnedWebApp"; var payload = new JsonObject(); try { payload.Add("webAppId", JsonValue.CreateStringValue(webAppId)); } // ReSharper disable once EmptyGeneralCatchClause catch (Exception) { } var responseListener = new ResponseListener ( loadEventArg => { var loadEventArgs = loadEventArg as LoadEventArgs; if (loadEventArgs == null) return; var jsonObj = (JsonObject)(loadEventArgs.Load.GetPayload()); if (jsonObj.ContainsKey("pairingType")) { NotifyPairingRequired(); } else { listener.OnSuccess(loadEventArg); } }, serviceCommandError => Util.PostError(listener, serviceCommandError) ); ServiceCommand request = new UrlServiceSubscription(this, uri, payload, true, responseListener); request.Send(); }
public UrlServiceSubscription Connect(ResponseListener listener) { var responseListener = new ResponseListener ( loadEventArg => { var jsonObj = LoadEventArgs.GetValue<JsonObject>(loadEventArg); var keyboard = parseRawKeyboardData(jsonObj); Util.PostSuccess(listener, keyboard); }, serviceCommandError => Util.PostError(listener, serviceCommandError) ); var subscription = new UrlServiceSubscription(service, KeyboardInputUrl, null, true, responseListener); subscription.Send(); return subscription; }