8- Création d'une "Application Core"

previoustopnext


    Pour créer et utiliser du code natif  à partir de javascript il faut :

        - Définir une interface en IDL
        - Générer l'interface et le stub en utilisant le compilateur de l'IDL
        - Ecrire L'implémentation en code natif (probablement en C++)
        - Ajouter la référence de l'objet dans le "registry" du gestionnaire des service de Mozilla
 
 
interface MailCore : BaseAclass nsMailCore : public nsBaseAppCore,ppCore
{
/* IID: { 0x18c2f980, 0xb09f, 0x11d2, 
{0xbc, 0xde, 0x00, 0x80, 0x5f, 0x0e, 0x13,  0x53}} */

    void MailCore();
    void SendMail(in wstring addrTo, in wstring subject, in wstring msg);
    void MailCompleteCallback(in wstring script);
     void SetWindow(in Window win);
   };

Fig 6
class nsMailCore : public nsBaseAppCore,
                public nsIDOMMailCore
{
  public:
    nsMailCore();
    ~nsMailCore();
    NS_DECL_ISUPPORTS
    NS_IMETHOD    GetScriptObject(nsIScriptContext *aContext, void** aScriptObject);
    NS_IMETHOD    Init(const nsString& aId);
    NS_IMETHOD    GetId(nsString& aId) { return nsBaseAppCore::GetId(aId); }

    NS_IMETHOD    MailCompleteCallback(const nsString& aScript);
    NS_IMETHOD    SetWindow(nsIDOMWindow* aWin);

    NS_IMETHOD    SendMail(const nsString& aAddrTo, const nsString& aSubject,
const nsString& aMsg);

  protected:

    nsString            mScript;
    nsIScriptContext   *mScriptContext;
    nsIDOMWindow       *mWindow;
};


Fadel TOURKMANI

W3C