Esempio n. 1
0
 private OnceForThisStanza(XMPPTCPConnection xMPPTCPConnection, Stanza stanza) {
   this.connection = xMPPTCPConnection;
   this.id = stanza.getStanzaId();
   if (StringUtils.isNullOrEmpty(this.id)) {
     throw new IllegalArgumentException("Stanza ID must be set");
   }
 }
Esempio n. 2
0
 public boolean accept(Stanza stanza) {
   CharSequence stanzaId = stanza.getStanzaId();
   if (StringUtils.isNullOrEmpty(stanzaId) || !this.id.equals(stanzaId)) {
     return false;
   }
   this.connection.removeRequestAckPredicate(this);
   return true;
 }
Esempio n. 3
0
  protected Stanza(Stanza p) {
    id = p.getStanzaId();
    to = p.getTo();
    from = p.getFrom();
    error = p.error;

    // Copy extensions
    for (ExtensionElement pe : p.getExtensions()) {
      addExtension(pe);
    }
  }
Esempio n. 4
0
 public static Presence parsePresence(XmlPullParser xmlPullParser)
     throws XmlPullParserException, IOException, SmackException {
   ParserUtils.assertAtStartTag(xmlPullParser);
   int depth = xmlPullParser.getDepth();
   Presence.Type type = Presence.Type.available;
   String attributeValue = xmlPullParser.getAttributeValue("", "type");
   if (!(attributeValue == null || attributeValue.equals(""))) {
     type = Presence.Type.fromString(attributeValue);
   }
   Stanza presence = new Presence(type);
   presence.setTo(xmlPullParser.getAttributeValue("", PrivacyItem.SUBSCRIPTION_TO));
   presence.setFrom(xmlPullParser.getAttributeValue("", PrivacyItem.SUBSCRIPTION_FROM));
   presence.setStanzaId(xmlPullParser.getAttributeValue("", "id"));
   String languageAttribute = getLanguageAttribute(xmlPullParser);
   if (!(languageAttribute == null || "".equals(languageAttribute.trim()))) {
     presence.setLanguage(languageAttribute);
   }
   while (true) {
     switch (xmlPullParser.next()) {
       case VideoSize.HVGA /*2*/:
         String name = xmlPullParser.getName();
         String namespace = xmlPullParser.getNamespace();
         Object obj = -1;
         switch (name.hashCode()) {
           case -1165461084:
             if (name.equals("priority")) {
               obj = 1;
               break;
             }
             break;
           case -892481550:
             if (name.equals(Status.ELEMENT)) {
               obj = null;
               break;
             }
             break;
           case 3529469:
             if (name.equals("show")) {
               obj = 2;
               break;
             }
             break;
           case 96784904:
             if (name.equals(XMPPError.ERROR)) {
               obj = 3;
               break;
             }
             break;
         }
         switch (obj) {
           case VideoSize.QCIF /*0*/:
             presence.setStatus(xmlPullParser.nextText());
             break;
           case VideoSize.CIF /*1*/:
             presence.setPriority(Integer.parseInt(xmlPullParser.nextText()));
             break;
           case VideoSize.HVGA /*2*/:
             obj = xmlPullParser.nextText();
             if (!StringUtils.isNotEmpty(obj)) {
               LOGGER.warning(
                   "Empty or null mode text in presence show element form "
                       + presence.getFrom()
                       + " with id '"
                       + presence.getStanzaId()
                       + "' which is invalid according to RFC6121 4.7.2.1");
               break;
             }
             presence.setMode(Mode.fromString(obj));
             break;
           case Version.API03_CUPCAKE_15 /*3*/:
             presence.setError(parseError(xmlPullParser));
             break;
           default:
             try {
               addExtensionElement(presence, xmlPullParser, name, namespace);
               break;
             } catch (Throwable e) {
               LOGGER.log(
                   Level.WARNING,
                   "Failed to parse extension packet in Presence packet. Attributes: from="
                       + presence.getFrom()
                       + " id="
                       + presence.getStanzaId(),
                   e);
               break;
             }
         }
       case Version.API03_CUPCAKE_15 /*3*/:
         if (xmlPullParser.getDepth() != depth) {
           break;
         }
         return presence;
       default:
         break;
     }
   }
 }