packagemanager.js 2.62 KB
/*
 *
 * ADOBE CONFIDENTIAL
 * __________________
 *
 *  Copyright 2017 Adobe Systems Incorporated
 *  All Rights Reserved.
 *
 * NOTICE:  All information contained herein is, and remains
 * the property of Adobe Systems Incorporated and its suppliers,
 * if any.  The intellectual and technical concepts contained
 * herein are proprietary to Adobe Systems Incorporated and its
 * suppliers and are protected by trade secret or copyright law.
 * Dissemination of this information or reproduction of this material
 * is strictly forbidden unless prior written permission is obtained
 * from Adobe Systems Incorporated.
 */
/* istanbul ignore next */
define('screens/player/firmware/packagemanager/packagemanager', function() {
    'use strict';

    /**
     * Defines the Package Manager API.
     *
     * @interface PackageManager
     */
    return Object.freeze({

        /**
         * The service name
         * @property serviceName
         * @memberof Reboot
         * @constant
         */
        serviceName: 'com.adobe.cq.screens.player.packagemanager.packagemanager',

        /**
         * The various events for this service
         * @memberof PackageManager
         * @type {Map}
         */
        EVENTS: Object.freeze({

            /**
             * Sync started event is triggered when content sync is started.
             * TODO: Deprecate event and store progress in application state.
             * @event packmgr-sync-started
             */
            SYNC_STARTED: 'packmgr-sync-started',

            /**
             * Sync started event is triggered when content sync is in progress.
             * TODO: Deprecate event and store progress in application state.
             * @event packmgr-sync-progress
             */
            SYNC_PROGRESS: 'packmgr-sync-progress'
        }),

        /**
         * Package un-packing mode (see ContextSync modes)
         */
        MODES: {
            MERGE: 'merge',
            REPLACE: 'replace'
        },

        /**
         * Update the specified package.
         * @memberof PackageManager
         *
         * @param {String} url The url to the update package
         * @param {String} path The path to extract the package to
         * @param {Number} expiration Only update if older than expiration time.
         * @param {String} mode Un-packing mode
         * @param {String} title Friendly package title
         * @param {String?} uid Package unique id
         *
         * @return {Promise} A Promise that an updated package was downloaded
         */
        updatePackage: function(url, path, expiration, mode, title, uid) { return Promise.reject(); }
    });

});