Ejemplo n.º 1
0
  public void setCurrentContact(Contact contact, String resourceName) {
    if (contact == null) {
      this.otrContact = null;
      this.setPolicy(null);
      this.setStatus(ScSessionStatus.PLAINTEXT);
      return;
    }

    if (resourceName == null) {
      OtrContact otrContact = OtrContactManager.getOtrContact(contact, null);
      if (this.otrContact == otrContact) return;
      this.otrContact = otrContact;
      this.setStatus(OtrActivator.scOtrEngine.getSessionStatus(otrContact));
      this.setPolicy(OtrActivator.scOtrEngine.getContactPolicy(contact));
      return;
    }
    for (ContactResource resource : contact.getResources()) {
      if (resource.getResourceName().equals(resourceName)) {
        OtrContact otrContact = OtrContactManager.getOtrContact(contact, resource);
        if (this.otrContact == otrContact) return;
        this.otrContact = otrContact;
        this.setStatus(OtrActivator.scOtrEngine.getSessionStatus(otrContact));
        this.setPolicy(OtrActivator.scOtrEngine.getContactPolicy(contact));
        return;
      }
    }
    logger.debug("Could not find resource for contact " + contact);
  }
Ejemplo n.º 2
0
 /**
  * Returns the presence status of this transport.
  *
  * @return the presence status of this transport.
  */
 public PresenceStatus getStatus() {
   if (contactResource != null) return contactResource.getPresenceStatus();
   else return contact.getPresenceStatus();
 }
Ejemplo n.º 3
0
  /**
   * Returns the resource name of this chat transport. This is for example the name of the user
   * agent from which the contact is logged.
   *
   * @return The display name of this chat transport resource.
   */
  public String getResourceName() {
    if (contactResource != null) return contactResource.getResourceName();

    return null;
  }