#include "nsISupports.idl" interface nsIFoxmarksService; // All of the communications functions are asynchronous: they typically // return immediately passing back a boolean value of false if the service // is unable to service the request (typically because another request is // already in progress. // Returned values are passed back asynchronously via notifications. // The convention is to pass back a JSON object whose members contain // appropriate return values. [scriptable, uuid(49ace257-6111-48b2-a988-f9eb38b0fa58)] interface nsIFoxmarksService : nsISupports { // these fucntions pass { code: integer error code, msg: msg to display } boolean synchronize(); boolean synchronizeInitial(in boolean remoteIsMaster, in boolean doMerge); boolean download(); boolean upload(); // this passes back nothing void cancel(); // passes back { code, isempty } boolean status(); void logWrite(in wstring str); wstring getState(); // centralized password management wstring getPassword(in boolean prompt); void setPassword(in wstring password); // returns error code from last transaction (0 for success) long getLastError(); // when was native datasource last modified? long getLastModified(); };