/// <summary> /// Send message to HarmonyHub to request Configuration. /// Result is parsed by OnIq based on ClientCommandType /// </summary> public void GetConfig() { EnsureConnection(); var iqToSend = new IQ { Type = IqType.get, Namespace = "", From = "1", To = "guest" }; iqToSend.AddChild(HarmonyDocuments.ConfigDocument()); iqToSend.GenerateId(); var iqGrabber = new IqGrabber(Xmpp); var iq = iqGrabber.SendIq(iqToSend, 10000); if (iq != null) { var match = IdentityRegex.Match(iq.InnerXml); if (match.Success) { RawConfig = match.Groups[1].ToString(); Config = null; try { Config = new JavaScriptSerializer().Deserialize <HarmonyConfigResult>(RawConfig); } catch { } } } }
/// <summary> /// Send message to HarmonyHub with UserAuthToken, wait for SessionToken /// </summary> /// <param name="userAuthToken"></param> /// <returns></returns> public string SwapAuthToken(string userAuthToken) { EnsureConnection(); var iqToSend = new IQ { Type = IqType.get, Namespace = "", From = "1", To = "guest" }; iqToSend.AddChild(HarmonyDocuments.LogitechPairDocument(userAuthToken)); iqToSend.GenerateId(); var iqGrabber = new IqGrabber(Xmpp); var iq = iqGrabber.SendIq(iqToSend, 5000); if (iq != null) { var match = IdentityRegex.Match(iq.InnerXml); if (match.Success) { return(match.Groups[1].ToString()); } } return(null); }
/// <summary> /// 请求好友列表 /// </summary> public void RequestRoster() { RosterIq iq = new RosterIq(IqType.get); //Send(iq); IqGrabber.SendIq(iq, IqResult, null); }
/// <summary> /// Send message to HarmonyHub to start a given activity /// Result is parsed by OnIq based on ClientCommandType /// </summary> /// <param name="activityId"></param> public void StartActivity(string activityId) { _clientCommand = ClientCommandType.StartActivity; var iqToSend = new IQ { Type = IqType.get, Namespace = "", From = "1", To = "guest" }; iqToSend.AddChild(HarmonyDocuments.StartActivityDocument(activityId)); iqToSend.GenerateId(); var iqGrabber = new IqGrabber(Xmpp); iqGrabber.SendIq(iqToSend, 10); WaitForData(5); }
/// <summary> /// Send message to HarmonyHub to request Configuration. /// Result is parsed by OnIq based on ClientCommandType /// </summary> public void GetConfig() { _clientCommand = ClientCommandType.GetConfig; var iqToSend = new IQ { Type = IqType.get, Namespace = "", From = "1", To = "guest" }; iqToSend.AddChild(HarmonyDocuments.ConfigDocument()); iqToSend.GenerateId(); var iqGrabber = new IqGrabber(Xmpp); iqGrabber.SendIq(iqToSend, 10); WaitForData(5); }
/// <summary> /// Send message to HarmonyHub to request to press a button /// Result is parsed by OnIq based on ClientCommandType /// </summary> /// <param name="deviceId"></param> /// <param name="command"></param> public void PressButton(string deviceId, string command) { _clientCommand = ClientCommandType.PressButton; var iqToSend = new IQ { Type = IqType.get, Namespace = "", From = "1", To = "guest" }; iqToSend.AddChild(HarmonyDocuments.IrCommandDocument(deviceId, command)); iqToSend.GenerateId(); var iqGrabber = new IqGrabber(Xmpp); iqGrabber.SendIq(iqToSend, 5); WaitForData(5); }
/// <summary> /// Send message to HarmonyHub with UserAuthToken, wait for SessionToken /// </summary> /// <param name="userAuthToken"></param> /// <returns></returns> public string SwapAuthToken(string userAuthToken) { var iqToSend = new IQ { Type = IqType.get, Namespace = "", From = "1", To = "guest" }; iqToSend.AddChild(HarmonyDocuments.LogitechPairDocument(userAuthToken)); iqToSend.GenerateId(); var iqGrabber = new IqGrabber(Xmpp); iqGrabber.SendIq(iqToSend, 10); WaitForData(5); return(_sessionToken); }
/// <summary> /// Send message to HarmonyHub to request current activity /// Result is parsed by OnIq based on ClientCommandType /// </summary> public void GetCurrentActivity() { EnsureConnection(); _clientCommand = ClientCommandType.GetCurrentActivity; var iqToSend = new IQ { Type = IqType.get, Namespace = "", From = "1", To = "guest" }; iqToSend.AddChild(HarmonyDocuments.GetCurrentActivityDocument()); iqToSend.GenerateId(); var iqGrabber = new IqGrabber(Xmpp); iqGrabber.SendIq(iqToSend, 10); WaitForData(5); }
/// <summary> /// Send message to HarmonyHub to request current activity /// Result is parsed by OnIq based on ClientCommandType /// </summary> public void GetCurrentActivity() { EnsureConnection(); var iqToSend = new IQ { Type = IqType.get, Namespace = "", From = "1", To = "guest" }; iqToSend.AddChild(HarmonyDocuments.GetCurrentActivityDocument()); iqToSend.GenerateId(); var iqGrabber = new IqGrabber(Xmpp); var iq = iqGrabber.SendIq(iqToSend, 5000); if (iq != null) { var match = IdentityRegex.Match(iq.InnerXml); if (match.Success) { CurrentActivity = match.Groups[1].ToString().Split('=')[1]; } } }