https://bugs.documentfoundation.org/show_bug.cgi?id=68274

--- Comment #22 from Nathan Yee <[email protected]> ---
I have started looking for code pointers relevant to this bug. Here is what I
have currently found:

The files that we are interested in are primarily nsUpdateService.js,
nsIUpdateService.idl, and possibly nsUpdateServiceStub.idl.

How updates are created:
- select best update from a list of updates:
    IDL: nsIUpdate selectUpdate([array,
                                 size_is(updateCount)] in nsIUpdate updates,
                                 in unsigned long updateCount)
    JS:
      /**
       * Determine the update from the specified updates that should be
offered.
       * If both valid major and minor updates are available the minor update
will
       * be offered.
       * @param   updates
       *          An array of available nsIUpdate items
       * @return  The nsIUpdate to offer.
       */
      selectUpdate: function AUS_selectUpdate(updates) {...}
- download the update:
    IDL: AString downloadUpdate(in nsIUpdate update, in boolean background)
    JS:
      /**
       * Download and stage the given update.
       * @param   update
       *          A nsIUpdate object to download a patch for. Cannot be null.
       */
    downloadUpdate: function Downloader_downloadUpdate(update) {...}
    - lines 4232-4252 in nsUpdateService.js are significant

- apply the update:
    IDL: void applyOsUpdate(in nsIUpdate update)
For more info on the update service check nsIUpdateService.idl (lines 350-456).

The functions appear to rely on an nsIUpdate object. It's interface is in
nsIUpdateService.idl as 'nsIUpdate'.

Infra needed:
- general information about updates: https://wiki.mozilla.org/Software_Update
- information about Windows Silent Update Service:
https://wiki.mozilla.org/Windows_Service_Silent_Update
- XML format for determining updates:
https://wiki.mozilla.org/Software_Update:updates.xml_Format
We will need to look further into this later.

Misc:
- code performing check:
    In the Checker prototype, getUpdateURL(force) gets the URL to the XML
update details file on a server, checkForUpdates(listener, force) checks for
updates.
- code triggering update install is detailed in the "How updates are created"
section

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to