yb.p2pim
Class pim

java.lang.Object
  extended byyb.p2pim.pim

public class pim
extends java.lang.Object

Application graphique construite au-dessus du réseau crée par le paquetage yb.pdp. PIM offre une gestion visuelle des peers auxquels l'utilisateur s'interesse. Les peers peuvent ensuite être "utilisés" au travers de l'un des plug-ins installés (les plug-ins sont des classes qui implémentent l'interface plugin).

Author:
Yves Bresson
See Also:
yb.p2pim, yb.pdp, plugin

Constructor Summary
pim(java.lang.String id, java.lang.String sid)
          crée une nouvelle instance de pim
 
Method Summary
 void addContact(pdpPeerSimple p)
          demande l'ajout du peer donné comme contact
 void addContact(java.lang.String id)
          demande l'ajout du contact d'id donnée. peut-être déjà présent mais comme unknown
static void debug(java.lang.String msg)
          affichage d'un message (debug)
 java.util.Vector getContacts()
          retourne le liste des contacts.
 contact getLocal()
          retourne le contact local.
 java.lang.String getNetworkProperty(java.lang.String name)
          retourne l'option demandée concernant le réseau
 boolean getNextEvent(java.lang.String cat, contact c, plugin p)
          demande le prochain événement de la catégorie spécifiée destiné au contact donné.
 java.lang.String getPath()
          retourne le chemin d'accès au répértoire PIM de l'utilisateur actuellement connecté.
 java.util.Vector getPeers()
          retourne la liste des peers du module PDP sous-jacent.
 java.lang.String getProperty(java.lang.String key)
          retourne l'option demandée
 int getStatus()
          retourne le statut du contact local.
static void main(java.lang.String[] args)
          point d'entrée en mode application
 void register(java.lang.String cat, plugin source, int mode)
          abonne un plugin
 void removeContact(contact c)
          demande la suppression du contact donné
 void repaint()
          ordonne le re-affichage de l'interface
 void saveContacts()
          sauve la liste des contacts
 int send(contact dest, java.lang.String cat, java.lang.String msg, plugin source)
          envois un message à un peer
 void setNetworkProperty(java.lang.String name, java.lang.String value)
          définit l'option indiquée concernant le réseau
 void setProperty(java.lang.String key, java.lang.String value)
          définit l'option indiquée.
 void setStatus(int status)
          change le statut du client local
 void unregister(java.lang.String cat, plugin source, int mode)
          supprime un abonnement
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

pim

public pim(java.lang.String id,
           java.lang.String sid)
crée une nouvelle instance de pim

Parameters:
id - identifiant public
sid - identifiant privé
Method Detail

getPath

public java.lang.String getPath()
retourne le chemin d'accès au répértoire PIM de l'utilisateur actuellement connecté. La forme est "{user}/.pim/{id}/". Les plugins peuvent par ex. sauver leurs fichiers d'options ici.


getLocal

public contact getLocal()
retourne le contact local. la seule opération d'écriture autorisée est setProperty (définir une propriété) qui permet aux plugins de sauver des options dans le contact (si ils ne veulent pas devoir gérer leur propre fichier de config séparé)


getContacts

public java.util.Vector getContacts()
retourne le liste des contacts. (vaut mieux éviter de la magouiller)


getPeers

public java.util.Vector getPeers()
retourne la liste des peers du module PDP sous-jacent.


getStatus

public int getStatus()
retourne le statut du contact local. (statut de PIM)


setStatus

public void setStatus(int status)
change le statut du client local

Parameters:
status - le nouveau mode

register

public void register(java.lang.String cat,
                     plugin source,
                     int mode)
abonne un plugin

Parameters:
cat - la categorie de messages auxquels ce plugin s'interesse
source - le plugin qui s'inscrit
mode - mode de transmission des événements (plugin.EVENTS_XXX)

unregister

public void unregister(java.lang.String cat,
                       plugin source,
                       int mode)
supprime un abonnement

Parameters:
cat - la categorie de messages auxquels ce plugin ne s'interesse plus
source - le plugin qui se désinscrit
mode - mode de transmission des événements (plugin.EVENTS_XXX)

send

public int send(contact dest,
                java.lang.String cat,
                java.lang.String msg,
                plugin source)
envois un message à un peer

Parameters:
dest - le contact destinataire
cat - le type de message
msg - le message
source - le plugin source
Returns:
l'identifiant du message envoyé (qui sera accompagné du code de résultat de transmission), <= 0 en cas d'erreur

getProperty

public java.lang.String getProperty(java.lang.String key)
retourne l'option demandée

Parameters:
key - nom de l'option demandée
Returns:
la valeur de l'option demandée, ou "" si non trouvée

setProperty

public void setProperty(java.lang.String key,
                        java.lang.String value)
définit l'option indiquée. Les options définies et utilisées par PIM sont :

Parameters:
key - nom de l'option à définir
value - la valeur de l'option à définir

getNetworkProperty

public java.lang.String getNetworkProperty(java.lang.String name)
retourne l'option demandée concernant le réseau

Parameters:
name - nom de l'option demandée
Returns:
la valeur de l'option demandée, ou "" si non trouvée

setNetworkProperty

public void setNetworkProperty(java.lang.String name,
                               java.lang.String value)
définit l'option indiquée concernant le réseau

Parameters:
name - nom de l'option à définir
value - la valeur de l'option à définir

repaint

public void repaint()
ordonne le re-affichage de l'interface


addContact

public void addContact(java.lang.String id)
demande l'ajout du contact d'id donnée. peut-être déjà présent mais comme unknown

Parameters:
id - id du contact à ajouter

addContact

public void addContact(pdpPeerSimple p)
demande l'ajout du peer donné comme contact

Parameters:
p - le peer à ajouter

removeContact

public void removeContact(contact c)
demande la suppression du contact donné

Parameters:
c - le contact à supprimer

getNextEvent

public boolean getNextEvent(java.lang.String cat,
                            contact c,
                            plugin p)
demande le prochain événement de la catégorie spécifiée destiné au contact donné. permet à un plugin activé sur un contact X de demander les éventuels autres événements de même type qui sont également destinés à ce contact X.

Parameters:
cat - la catégorie de l'événement
c - le contact concerné (null = tous)
p - le plugin à qui remettre l'événement
Returns:
true si il y'avait bien un événement à remettre (et appel le plugin concerné)

saveContacts

public void saveContacts()
sauve la liste des contacts


main

public static void main(java.lang.String[] args)
point d'entrée en mode application

Parameters:
args - les arguments de la ligne de commande (interprêtés comme ID et SID)

debug

public static void debug(java.lang.String msg)
affichage d'un message (debug)

Parameters:
msg - message à traiter