Package org.jivesoftware.smack.packet

Examples of org.jivesoftware.smack.packet.Presence


  }

  public static void updateRosterEntryPresence(FormToolkit tk,final GOIMAccount account, String id, Control entry) {
    RosterEntry rosterEntry = (RosterEntry)entry.getData("rosterEntry");
    String jid = rosterEntry == null ? id : rosterEntry.getUser();
    Presence presence = account.xmpp.getRoster().getPresence(jid);
    ((Label)entry.getData("label")).setImage(GOIMIcons.getImageForPresence(rosterEntry,presence));
    //if(roster.)
    Composite games = (Composite)entry.getData("gamesComposite");
    if(presence != null) updateRosterEntryPresenceExtensions(tk, presence, games);
    if(entry instanceof Section) {
View Full Code Here


      MenuItem authRemove = new MenuItem(authMenu,SWT.PUSH);
      authRemove.setText("Remove Subscribe Authorization");
     
      authSendTo.addListener(SWT.Selection,new Listener() {
        public void handleEvent(Event event) {
          Presence presence = new Presence(Presence.Type.SUBSCRIBED);
          presence.setTo(StringUtils.parseBareAddress(selectedEntry.getUser()));
          activeAccount.xmpp.getConnection().sendPacket(presence);
        }
      });
      authRequestFrom.addListener(SWT.Selection,new Listener() {
        public void handleEvent(Event event) {
          Presence presence = new Presence(Presence.Type.SUBSCRIBE);
          presence.setTo(StringUtils.parseBareAddress(selectedEntry.getUser()));
          activeAccount.xmpp.getConnection().sendPacket(presence);
        }
      });
      authRemove.addListener(SWT.Selection,new Listener() {
        public void handleEvent(Event event) {
          Presence presence = new Presence(Presence.Type.UNSUBSCRIBED);
          presence.setTo(StringUtils.parseBareAddress(selectedEntry.getUser()));
          activeAccount.xmpp.getConnection().sendPacket(presence);
        }
      });
     
      addToGroupItem = new MenuItem(entryMenu,SWT.CASCADE);
View Full Code Here

   */
  private void addUser(final String occupant) {
    userList.getDisplay().asyncExec(new Runnable() {

      public void run() {
        Presence presence = getPresence(occupant);
        MUCUser mucUser = (MUCUser) presence.getExtension("x",
            "http://jabber.org/protocol/muc#user");
        MUCUser.Item item = mucUser.getItem();
        final String nick = StringUtils.parseResource(presence.getFrom());
        String role = item.getRole();
        TreeItem occupantItem;
        //Do this here so the suubtrees are in the right order
        getModeratorsItem();
        getParticipantsItem();
View Full Code Here

        public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
          monitor.beginTask("Adding Contact",3);
          monitor.worked(1);

          if(sendAuth) {
            Presence presence = new Presence(Presence.Type.SUBSCRIBED);
            presence.setTo(jid);
            account.xmpp.getConnection().sendPacket(presence);
          }
          monitor.worked(1);
          if(requestAuth) {
            Presence presence = new Presence(Presence.Type.SUBSCRIBE);
            presence.setTo(jid);
            account.xmpp.getConnection().sendPacket(presence);
          }
          if(askForAddition) {
            RosterEntry entry = account.xmpp.getRoster().getEntry(jid);
            if(entry == null) {
View Full Code Here

    public void processPacket(Packet packet) {
        if (!BuddyList.getInstance().checkConnection()) {
            return;
        }

        final Presence presence = (Presence) packet;
        String from = presence.getFrom();

        ParsedBuddyInfo info = new ParsedBuddyInfo(from);
        final String userId = info.getUserId();
        final String resource = info.getResource();
        final String server = info.getServer();

        // if the user is blocked, ignore this packet
        if (BuddyList.getInstance().getBlockedUsers().containsKey(userId)) {
            return;
        }

        // if this is a groupchat packet, then we don't care about it in this
        // class
        if (BuddyList.getInstance().getTabFrame() != null
                 && (BuddyList.getInstance().getTabFrame().getChatPanel(userId) != null || BuddyList.getInstance().getTabFrame().getChatPanel(from) != null)) {
            return;
        }

        // if they are trying to subscribe, as if we want to let them subscribe
        if (presence.getType() == Presence.Type.SUBSCRIBE) {
            requestSubscription(userId);
            return;
        }

        // beyond this point, we don't care about anything but online and
        // offline packets
        if (presence.getType() != Presence.Type.AVAILABLE
                 && presence.getType() != Presence.Type.UNAVAILABLE) {
            return;
        }

        final BuddyStatus buddy = BuddyList.getInstance()
                .getBuddyStatus(userId);

        SwingUtilities.invokeLater(
            new Runnable() {
                public void run() {
                    boolean isSelf = false;
                    if (buddy.getUser().equals(
                            BuddyList.getInstance().getConnection().getUser()
                            .replaceAll("/.*", ""))) {
                        isSelf = true;
                    }

                    // if it's unavailable, check to see if they have any resources
                    // still online
                    // if they do, set the packet to available, and minus one
                    // resource
                    if (presence.getType() == Presence.Type.UNAVAILABLE) {
                        buddy.removeResource(resource);
                        if (buddy.size() > 0) {
                            presence.setType(Presence.Type.AVAILABLE);
                        }
                    } else {
                        int priority = presence.getPriority();
                        if (priority < 0) {
                            priority = 0;
                        }

                        buddy.addResource(resource, priority, presence.getMode(),
                                presence.getStatus());
                    }

                    performPresenceTasks(buddy, presence.getType());

                    if (!BuddyList.getInstance().checkConnection()) {
                        return;
                    }

                    if (isSelf) {
                        BuddyList.getInstance().getStatusMenu()
                                .loadSelfStatuses();
                    }

                    BuddyList.getInstance().getBuddyListTree().removeBuddy(buddy,
                            buddy.getGroup(), false);

                    Roster roster = ConnectorThread.getInstance().getRoster();
                    if (roster == null) {
                        return;
                    }
                    if (!isSelf
                             && (roster.getEntry(userId) != null || roster.getEntry(userId + "/" + resource) != null)) {
                        if (presence.getType() == Presence.Type.AVAILABLE
                                 || Settings.getInstance().getBoolean(
                                "showOfflineBuddies")) {
                            BuddyList.getInstance().getBuddyListTree().addBuddy(
                                    buddy);
                        }
View Full Code Here

                    d.addOptionListener(
                        new NMOptionListener() {
                            public void buttonClicked(int num) {
                                currentlyRequesting.remove(userId);
                                if (num == 1) {
                                    Presence packet = new Presence(
                                            Presence.Type.SUBSCRIBED);
                                    packet.setTo(userId);

                                    BuddyList.getInstance().getConnection().sendPacket(
                                            packet);
                                    BuddyStatus buddy = BuddyList.getInstance()
                                            .getBuddyStatus(userId);
View Full Code Here

                }
              }});
            } else {
              if(stats.getType() == RosterPacket.ItemType.NONE ||
                  stats.getType() == RosterPacket.ItemType.FROM) {
                Presence p = new Presence(Presence.Type.SUBSCRIBE);
                p.setTo(stats.getUser());
                xmpp.getConnection().sendPacket(p);
              }
            }
          }
        }
View Full Code Here

      Iterator i = roster.getPresences(entry.getUser());
      if (i == null)
        buf.append("\n\nOffline");
      else
        while (i.hasNext()) {
          Presence p = (Presence) i.next();
          buf.append("\n\nPresence: ").append(p.getFrom()).append(
              "\n").append(p.getType().toString()).append(" ")
              .append(p.getMode().toString()).append("\n");
          if (p.getStatus() != null)
            buf.append(p.getStatus());
        }
    }
    return buf.toString();
  }
View Full Code Here

    setActiveAccount(account);
    SpheneListener<StatusChangedEvent> ownPresenceChangedListener = new SpheneListener<StatusChangedEvent>() {
      public void handleEvent(StatusChangedEvent arg0) {
        presence.getDisplay().asyncExec(new Runnable() {
          public void run() {
            Presence p = account.xmpp.getOwnPresence();
            presence.setImage(GOIMIcons
                .getImageForPresence(null, p));
            presenceLabel.setText(GOIMIcons
                .getShowTextForPresence(account.xmpp
                    .getOwnPresence()));
View Full Code Here

                  for(TreeGroup treeGroup : groupTreeItems.values())
                    if(treeGroup.item != null)
                      treeGroup.item.dispose();
                  groupTreeItems.clear();
                }
                Presence p = account.xmpp.getOwnPresence();
                if(accItem != null) {
                  accItem.setImage(GOIMIcons
                      .getImageForPresence(null,p));
                }
                for (TreeItem item : (accItem == null ? contactList.getItems() : accItem.getItems())) {
View Full Code Here

TOP

Related Classes of org.jivesoftware.smack.packet.Presence

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.