Beispiel #1
0
        /// <summary>
        /// Sets parameters to values in a control form
        /// </summary>
        /// <param name="Jid">JID of controller</param>
        /// <param name="Form">XMPP Data Form.</param>
        /// <param name="Nodes">Node references.</param>
        /// <param name="ServiceToken">Service token.</param>
        /// <param name="DeviceToken">Device token.</param>
        /// <param name="UserToken">User token.</param>
        public void Set(string Jid, XmppDataForm Form, NodeReference[] Nodes, string ServiceToken, string DeviceToken, string UserToken)
        {
            StringBuilder sb = new StringBuilder();
            XmlWriter     w  = XmlWriter.Create(sb, XmlUtilities.GetXmlWriterSettings(false, true, true));

            w.WriteStartElement("set", "urn:xmpp:iot:control");

            if (!string.IsNullOrEmpty(ServiceToken))
            {
                w.WriteAttributeString("serviceToken", ServiceToken);
            }

            if (!string.IsNullOrEmpty(DeviceToken))
            {
                w.WriteAttributeString("deviceToken", DeviceToken);
            }

            if (!string.IsNullOrEmpty(UserToken))
            {
                w.WriteAttributeString("userToken", UserToken);
            }

            ProvisioningServer.WriteNodes(w, Nodes);

            w.WriteStartElement("x", XmppClient.NamespaceData);
            w.WriteAttributeString("type", "submit");

            foreach (XmppDataField Field in Form.Ordered)
            {
                w.WriteStartElement("field");
                w.WriteAttributeString("var", Field.Var);
                w.WriteAttributeString("type", XmppDataField.ToString(Field.Type));
                w.WriteElementString("value", Field.Value);
                w.WriteEndElement();
            }

            w.WriteEndElement();

            w.WriteEndElement();
            w.Flush();

            client.SendMessage(Jid, string.Empty, MessageType.Normal, sb.ToString());
        }
Beispiel #2
0
 /// <summary>
 /// Sets parameters to values in a control form
 /// </summary>
 /// <param name="Jid">JID of controller</param>
 /// <param name="Form">XMPP Data Form.</param>
 /// <param name="ServiceToken">Service token.</param>
 /// <param name="DeviceToken">Device token.</param>
 /// <param name="UserToken">User token.</param>
 public void Set(string Jid, XmppDataForm Form, string ServiceToken, string DeviceToken, string UserToken)
 {
     this.Set(Jid, Form, (NodeReference[])null, ServiceToken, DeviceToken, UserToken);
 }
Beispiel #3
0
 /// <summary>
 /// Sets parameters to values in a control form
 /// </summary>
 /// <param name="Jid">JID of controller</param>
 /// <param name="Form">XMPP Data Form.</param>
 /// <param name="Node">Node reference.</param>
 /// <param name="ServiceToken">Service token.</param>
 /// <param name="DeviceToken">Device token.</param>
 /// <param name="UserToken">User token.</param>
 public void Set(string Jid, XmppDataForm Form, NodeReference Node, string ServiceToken, string DeviceToken, string UserToken)
 {
     this.Set(Jid, Form, new NodeReference[] { Node }, ServiceToken, DeviceToken, UserToken);
 }
Beispiel #4
0
 /// <summary>
 /// Sets parameters to values in a control form
 /// </summary>
 /// <param name="Jid">JID of controller</param>
 /// <param name="Form">XMPP Data Form.</param>
 public void Set(string Jid, XmppDataForm Form)
 {
     this.Set(Jid, Form, (NodeReference[])null, string.Empty, string.Empty, string.Empty);
 }