/* * Use this interface as a service. */ #include "nsISupports.idl" interface nsIMutableArray; [scriptable, uuid(9F5C59F4-7D05-4A6B-ACED-145D243DB48D)] interface nsIYBookmarkSyncCallback: nsISupports { void syncDone(); }; [scriptable, uuid(46DDCD00-6F68-456A-8199-5EA0C25765E0)] interface nsIYBookmarkSyncService: nsISupports { /** * Sync the local store with the remote repository. * This is done periodically by the service but this requests * an immediate update. * * @param periodicSyn a boolean to inidicate whether we should run a * periodic sync or not. */ void sync(in boolean periodicSync); /** * Send all the local transactions (e.g add, edit and delete bookmarks) to the remote. * This is called periodically by the syn service but this should also be called * when a new transaction is added to the transaction store. */ void processTransactions(); /** * Cancels all current and future sync operations. */ void cancelSync(); /** * Allows future sync operations. */ void allowSync(); /** * Returns true is a sync is in progress. */ boolean isSyncing(); };