yb.p2pim
Interface plugin


public interface plugin

Interface que les plugins de PIM doivent implémenter. Cette interface définis les méthodes auxquelles un plugin doit répondre afin d'être utlisable par PIM. La classe pim définit les méthodes de PIM accessibles aux plugins.

Voici quelques points à respecter pour développer un plugin :

Par exemple :
Le plugin 'PIM Messenger' se trouve dans le dossier 'plugins/messenger'. Il est implémenté par la classe 'messenger.class' définie à l'intérieur du paquetage 'plugins.messenger'. Le dossier du plugin contient un fichier 'plugin.pim' qui indique "plugins.messenger.messenger" comme classe de démarrage.

Author:
Yves Bresson
See Also:
yb.p2pim, pim

Field Summary
static int EVENTS_BOTH
          mode moitié/moitié : le plugin reçois une annonce d'événement et l'événement est signalé "à cliquer" à l'utilisateur.
static int EVENTS_DIRECT
          mode direct : le plugin reçois l'événement sans que l'utilisateur en soit informé au préalable
static int EVENTS_USER
          mode utilisateur : l'utilisateur doit 'cliquer' l'événement avant que le plugin ne le recoive
static int TYPE_BOTH
          mode contact et système (liste des contacts et menu des plugins)
static int TYPE_CONTACT
          mode contact : le plugin est accessible depuis le menu contextuel de la liste des contacts
static int TYPE_SYSTEM
          mode système : le plugin est accessible depuis le menu des plugins
 
Method Summary
 void action()
          événement local système, càd que l'utilisateur a activé ce plugin seul (pas de contact associé)
 void action(contact c)
          événement local, càd que l'utilisateur a activé ce plugin sur le contact c
 void action(contact c, java.lang.String cat, java.lang.String msg, boolean user)
          événement distant, càd que pim à reçu un message destiné à ce plugin
 void actionConfigure()
          affiche l'écran de configuration de ce plugin (si applicable)
 void alert(contact c, java.lang.String cat)
          signale l'arrivée d'un événement (cas des plugins inscrits en mode EVENTS_BOTH)
 void end()
          l'application se termine, le plugin à l'occasion d'enregistrer des valeurs etc
 javax.swing.ImageIcon getIcon()
          le plugin doit retourner l'icone à utiliser pour signaler un événement lui étant associé remarque : peut retourner 'null', auquel cas l'icone par défaut de pim est utilisée
 java.lang.String getNameConfigure()
          le plugin doit retourner son nom.
 java.lang.String getNameContact()
          le plugin doit retourner son nom.
 java.lang.String getNameSystem()
          le plugin doit retourner son nom.
 java.applet.AudioClip getSound()
          le plugin doit retourner un objet son qui sera utilisé pour signaler les événements liés.
 int getType()
          le plugin doit indiquer son type. une des options plugin.TYPE_XXX
 boolean init(pim p, java.lang.String path)
          initialisation (typiquement le plugin enregistre ses abonnements auprès de pim lors de l'initialisation)
 void result(int id, boolean ok, java.lang.String msg)
          code de retour suite à l'envoi d'un message par pim pour le compte de ce plugin
 

Field Detail

TYPE_CONTACT

public static final int TYPE_CONTACT
mode contact : le plugin est accessible depuis le menu contextuel de la liste des contacts

See Also:
Constant Field Values

TYPE_SYSTEM

public static final int TYPE_SYSTEM
mode système : le plugin est accessible depuis le menu des plugins

See Also:
Constant Field Values

TYPE_BOTH

public static final int TYPE_BOTH
mode contact et système (liste des contacts et menu des plugins)

See Also:
Constant Field Values

EVENTS_USER

public static final int EVENTS_USER
mode utilisateur : l'utilisateur doit 'cliquer' l'événement avant que le plugin ne le recoive

See Also:
Constant Field Values

EVENTS_DIRECT

public static final int EVENTS_DIRECT
mode direct : le plugin reçois l'événement sans que l'utilisateur en soit informé au préalable

See Also:
Constant Field Values

EVENTS_BOTH

public static final int EVENTS_BOTH
mode moitié/moitié : le plugin reçois une annonce d'événement et l'événement est signalé "à cliquer" à l'utilisateur. l'événement sera consommé lorsque le plugin le demande ou lorsque l'utilisateur le 'clique' (ce qui arrive en premier)

See Also:
Constant Field Values
Method Detail

init

public boolean init(pim p,
                    java.lang.String path)
initialisation (typiquement le plugin enregistre ses abonnements auprès de pim lors de l'initialisation)

Parameters:
p - objet parent de type pim
path - chemin d'accès jusque au répértoire où se trouve le plugin
Returns:
indique si le plugin est prêt (utilisable) ou pas

end

public void end()
l'application se termine, le plugin à l'occasion d'enregistrer des valeurs etc


actionConfigure

public void actionConfigure()
affiche l'écran de configuration de ce plugin (si applicable)


action

public void action()
événement local système, càd que l'utilisateur a activé ce plugin seul (pas de contact associé)


action

public void action(contact c)
événement local, càd que l'utilisateur a activé ce plugin sur le contact c

Parameters:
c - objet contact sur lequel appliquer l'action du plugin

action

public void action(contact c,
                   java.lang.String cat,
                   java.lang.String msg,
                   boolean user)
événement distant, càd que pim à reçu un message destiné à ce plugin

Parameters:
c - le contact source de cet événement
cat - la catégorie du message reçu
msg - le message reçu
user - indique si c'est l'utilisateur qui a activé cet événement

alert

public void alert(contact c,
                  java.lang.String cat)
signale l'arrivée d'un événement (cas des plugins inscrits en mode EVENTS_BOTH)

Parameters:
c - le contact source de cet événement
cat - la catégorie du message reçu

result

public void result(int id,
                   boolean ok,
                   java.lang.String msg)
code de retour suite à l'envoi d'un message par pim pour le compte de ce plugin

Parameters:
id - identifiant associé à la demande d'envoi de message
ok - indique si le message a été transmis avec succès ou non
msg - éventuel message d'erreur

getIcon

public javax.swing.ImageIcon getIcon()
le plugin doit retourner l'icone à utiliser pour signaler un événement lui étant associé remarque : peut retourner 'null', auquel cas l'icone par défaut de pim est utilisée

Returns:
l'icone associée à ce plugin

getNameContact

public java.lang.String getNameContact()
le plugin doit retourner son nom. (qui sera affiché dans le menu contextuel des contacts)

Returns:
le nom à afficher

getNameSystem

public java.lang.String getNameSystem()
le plugin doit retourner son nom. (qui sera affiché dans le menu des plugins)

Returns:
le nom à afficher

getNameConfigure

public java.lang.String getNameConfigure()
le plugin doit retourner son nom. (qui sera affiché dans le menu de configuration des plugins)

Returns:
le nom à afficher

getSound

public java.applet.AudioClip getSound()
le plugin doit retourner un objet son qui sera utilisé pour signaler les événements liés. remarque : peut retourner null, auquel cas le son par défaut de pim est utilisée

Returns:
le son à utiliser pour signaler les événements de ce plugin

getType

public int getType()
le plugin doit indiquer son type. une des options plugin.TYPE_XXX

Returns:
le type de plugin